@charset "utf-8";

/* # root1 START # */
:root {
    --color-01: #9b8c6c;
    --color-02: #f4f1eb;
    --color-03: rgb(244 241 234 / 80%);
    --color-04: #dacfbc;
}
/* # root1 END # */

/* # root2 START # */
/* :root {
    --color-01: #e56a54;
    --color-02: #f6eeee;
    --color-03: rgb(246 238 238 / 80%);
    --color-04: #efd8d4;
} */
/* # root2 END # */

/* # root3 START # */
/* :root {
    --color-01: #6a8079;
    --color-02: #e2ede8;
    --color-03: rgb(226 237 232 / 80%);
    --color-04: #fff;
} */
/* # root3 END # */

/* ##### 色付き画像変更用 ##### */
/* color-version-1 */
.color-version-1 .insta-img-02,
.color-version-1 .insta-img-03 {
    display: none;
}

.color-version-1 .blog-img-02,
.color-version-1 .blog-img-03 {
    display: none;
}

/* color-version-1 */
.color-version-2 .insta-img-01,
.color-version-2 .insta-img-03 {
    display: none;
}

.color-version-2 .blog-img-01,
.color-version-2 .blog-img-03 {
    display: none;
}

/* color-version-3 */
.color-version-3 .insta-img-01,
.color-version-3 .insta-img-02 {
    display: none;
}

.color-version-3 .blog-img-01,
.color-version-3 .blog-img-02 {
    display: none;
}

.cinzel {
    font-family: 'Cinzel', serif;
    font-weight: 400;
    letter-spacing: 0.2em;
}

@font-face {
    font-family: '';
    /* お好きな名前に */
    src: url("../images/font/eot");
    /* IE9以上用 */
    src: url("../images/font/eot") format('embedded-opentype'),
        /* IE8以前用 */
        url("../images/font/woff") format('woff'),
        /* モダンブラウザ用 */
        url("../images/font/ttf") format('truetype');
    /* iOS, Android用 */
    font-weight: normal;
    font-style: normal;
}


html {
    -webkit-text-size-adjust: 100%;
}


body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
p {
    margin: 0px;
    padding: 0px;
    font-size: 16px;
    /*    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;*/
    font-family: "游ゴシック", YuGothic, Hiragino Sans, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    /*font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;*/
    font-weight: 500;
    line-height: 160%;
    color: #464646;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    word-break: break-all;
}

.yugo {
    font-family: "游ゴシック", YuGothic, Hiragino Sans, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

.yumin {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
}


/*フォント系*/
.h1-area {
    width: calc(100% - 10px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: absolute;
    top: 5px;
    left: 10px;
}

.h1-area h1 {
    font-weight: 600;
    font-size: 14px;
    width: calc(100% - 300px);
}

.h1-area .h1-add {
    font-weight: 600;
    font-size: 14px;
    width: 300px;
    text-align: right;
}

.fs120 {
    font-size: 120%;
}

.fs140 {
    font-size: 140%;
}

.fs160 {
    font-size: 160%;
}

.fs180 {
    font-size: 180%;
}

.fs200 {
    font-size: 200%;
}

.fs220 {
    font-size: 220%;
}

.fs240 {
    font-size: 240%;
}

.fs260 {
    font-size: 260%;
}

.fs280 {
    font-size: 280%;
}

.fs300 {
    font-size: 300%;
}

.fs12 {
    font-size: 12px;
}

.fs14 {
    font-size: 14px;
}

.fs16 {
    font-size: 16px;
}

.fs18 {
    font-size: 18px;
}

.fs20 {
    font-size: 20px;
}

.fs22 {
    font-size: 22px;
}

.fs24 {
    font-size: 24px;
}

.fs26 {
    font-size: 26px;
}

.fs28 {
    font-size: 28px;
}

.fs30 {
    font-size: 30px;
}

.fs32 {
    font-size: 32px;
}

.fs34 {
    font-size: 34px;
}

.fs36 {
    font-size: 36px;
}

.fs38 {
    font-size: 38px;
}

.fs40 {
    font-size: 40px;
}

.fs42 {
    font-size: 42px;
}

.fs44 {
    font-size: 44px;
}

.fs46 {
    font-size: 46px;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mt60 {
    margin-top: 60px;
}

.bold {
    font-weight: bold;
}

.normal {
    font-weight: normal;
}

.red {
    color: red;
}

.blue {
    color: blue;
}

.white {
    color: #fff;
}

.txt-color-01 {
    color: var(--color-01);
}

.txt-color-02 {
    color: var(--color-02);
}

.txt-color-03 {
    color: var(--color-01);
}

.txt-color-04 {
    color: var(--color-04);
}

.back-color-01 {
    background-color: var(--color-01);
}

.back-color-02 {
    background-color: var(--color-02);
}

.back-color-03 {
    background-color: var(--color-01);
}

.back-color-04 {
    background-color: var(--color-04);
}

@media (max-width:1024px) {

    body,
    div,
    dl,
    dt,
    dd,
    ul,
    ol,
    li,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    form,
    input,
    button,
    p {
        font-size: 16px;
    }

    .h1-area {
        width: calc(100% - 60px);
        display: block;
        font-size: 12px;
        position: relative;
    }

    .h1-area h1 {
        font-size: 12px;
        width: 100%;
    }

    .h1-area .h1-add {
        display: none;
    }
}

/*クリアフィックス*/

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.clearfix:before {
    display: block;
    content: "";
    clear: both;
}

.clearfix {
    display: block;
}

.clear {
    clear: both;
}

iframe {
    max-width: 100%;
}

img {
    vertical-align: top;
    border: none;
    max-width: 100% !important;
    height: auto !important;
}

img:not([src*="."]) {
    display: none;
}

[data-element-id] .filter:before,
[data-element-id] .filterT:before,
[data-element-id] .filterR:before,
[data-element-id] .filterB:before,
[data-element-id] .filterL:before,
[data-element-id] .filterRad:before {
    display: none;
}

.filter,
.filterT,
.filterR,
.filterB,
.filterL,
.filterRad {
    position: relative;
}

.filter:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: rgba(255, 255, 255, 0.6);
}

.filterT:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: linear-gradient(to top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
}

.filterR:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
}

.filterB:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
}

.filterL:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
}

.filterRad:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 80%);
}

.lb-outerContainer {
    width: 80% !important;
    max-width: 500px !important;
    height: auto !important;
}

.lightbox .lb-image {
    width: 100% !important;
    height: auto !important;
    border: none !important;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    max-width: initial !important;
}

[data-element-id] .fead-mv {
    opacity: 1;
}

.fead-mv {
    opacity: 0;
    transition: 0.5s;
    -webkit-transition: 0.5s;
    -ms-transition: 0.5s;
}

.mv {
    opacity: 1;
}

a {
    text-decoration: none;
    /*    color: #464646;*/
}


a:hover {
    opacity: 0.6;
    color: inherit;
    text-decoration: none;
}

a.brown:hover {
    color: var(--color-01);
}

[data-element-id] a:hover {
    opacity: 1;
}

a[href*="tel:"] {
    pointer-events: none;
}

ul,
li {
    list-style: none;
    text-align: left;
    padding: 0;
    margin: 0;
}

dl,
dt,
dd {
    text-align: left;
    padding: 0;
    margin: 0;
}

span {
    line-height: 160%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    word-break: break-all;
}

p {
    text-align: left;
}

/*フレックス*/

/*align-item*/

.itemstart {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.itemcenter {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.itemend {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

/*align-content*/

.contentstart {
    -ms-flex-line-pack: start;
    align-content: flex-start;
}

.contentcenter {
    -ms-flex-line-pack: center;
    align-content: center;
}

.contentend {
    -ms-flex-line-pack: end;
    align-content: flex-end;
}

/*align-self*/

.selfstart {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.selfcenter {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.selfend {
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
}

@media (max-width:1024px) {
    .flexn1024 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

@media (max-width:599px) {
    .flexn599 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

/* 見たまま編集バリデーション */

.flex>div[data-collection-list-content],
.flexc>div[data-collection-list-content],
.flexs>div[data-collection-list-content],
.flexb>div[data-collection-list-content] {
    width: 100%;
}

.flex>div[data-recommend-collection-list-content],
.flexc>div[data-recommend-collection-list-content],
.flexs>div[data-recommend-collection-list-content],
.flexb>div[data-recommend-collection-list-content] {
    width: 100%;
}

.flex>div[data-collection-filtered-content],
.flexc>div[data-collection-filtered-content],
.flexs>div[data-collection-filtered-content],
.flexb>div[data-collection-filtered-content] {
    width: 100%;
}

.flex>div[data-collection-archive-content],
.flexc>div[data-collection-archive-content],
.flexs>div[data-collection-archive-content],
.flexb>div[data-collection-archive-content] {
    width: 100%;
}

.flex>div[data-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flexc>div[data-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: justify;
    justify-content: center;
}

.flexs>div[data-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.flexb>div[data-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.flex>div[data-recommend-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flexc>div[data-recommend-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: justify;
    justify-content: center;
}

.flexs>div[data-recommend-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.flexb>div[data-recommend-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.flex>div[data-collection-filtered-content] {
    display: -webkit-box;
    display: -ms-flexsbox;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flexc>div[data-collection-filtered-content] {
    display: -webkit-box;
    display: -ms-flexsbox;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: justify;
    justify-content: center;
}

.flexs>div[data-collection-filtered-content] {
    display: -webkit-box;
    display: -ms-flexsbox;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.flexb>div[data-collection-filtered-content] {
    display: -webkit-box;
    display: -ms-flexsbox;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.flex>div[data-collection-archive-content] {
    display: -webkit-box;
    display: -ms-flexsbox;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flexc>div[data-collection-archive-content] {
    display: -webkit-box;
    display: -ms-flexsbox;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: justify;
    justify-content: center;
}

.flexs>div[data-collection-archive-content] {
    display: -webkit-box;
    display: -ms-flexsbox;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.flexb>div[data-collection-archive-content] {
    display: -webkit-box;
    display: -ms-flexsbox;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

[data-element-id] .imgalt {
    position: relative;
    color: orange;
    font-size: 14px;
    background: #333;
    padding: 2px 4px;
    text-align: left;
    max-height: 70px;
    overflow: hidden;
    z-index: 50;
}

[data-element-id] .altcolor {
    color: red;
}

[data-common-area] {
    position: relative;
}

[data-common-area]:hover:before {
    content: "共通要素です。";
    position: absolute !important;
    width: 100%;
    min-width: 200px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    bottom: 100%;
    color: #FDC44F;
    font-weight: bold;
    background: #555;
    padding: 5px;
    font-size: 12px;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a[data-href="#"] {
    border: solid red 5px !important;
    display: block;
    position: relative !important;
    opacity: 1;
}

a[data-href="#"]:hover:before {
    content: "リンクが設定されていない可能性があります。";
    position: absolute !important;
    width: 100%;
    min-width: 200px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    bottom: 100%;
    color: red;
    font-weight: bold;
    background: #555;
    padding: 5px;
    font-size: 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a[data-href*="."] {
    border: solid red 5px !important;
    display: block;
    position: relative !important;
    opacity: 1;
}

a[data-href*="."]:hover:before {
    content: "外部リンクの可能性があります。リンクが飛ばない可能性がありますので注意してください。";
    position: absolute !important;
    width: 100%;
    min-width: 200px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    bottom: 100%;
    color: red;
    font-weight: bold;
    background: #555;
    padding: 5px;
    font-size: 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

[data-element-id][data-uk-slideshow]:hover:before {
    content: "※こちらは見たまま編集ができません。①画像をダブルクリック、②変更（歯車マーク）、③スライドショーから編集してください。";
    display: block;
    line-height: 1.8;
    font-weight: bold;
    color: red;
    clear: both;
    background: #4c4c4c;
    padding: 5px;
    text-align: left;
    position: absolute;
    letter-spacing: 1px;
    z-index: 1000;
    font-size: 12px;
    width: 100%;
}

[data-collection-list-content]:hover:before {
    content: "※こちらは見たまま編集ができません。①ページのどこかをダブルクリック、②左下（もしくは左上）のCMSロゴをクリック、③画面右上のメニュー（三本線マーク）から「カスタムコンテンツ管理」をクリック、④編集したいカスタムコンテンツの一覧（三本線マーク）から記事投稿・記事編集ができます。";
    display: block;
    line-height: 1.8;
    font-weight: bold;
    color: red;
    clear: both;
    background: #4c4c4c;
    padding: 5px;
    text-align: left;
    position: absolute;
    letter-spacing: 1px;
    z-index: 1000;
    font-size: 12px;
    width: 100%;
}

/*カラム*/


@media (max-width: 1024px) {
    .fs20 {
        font-size: 18px;
    }

    .fs22 {
        font-size: 20px;
    }

    .fs24 {
        font-size: 20px;
    }

    .fs26 {
        font-size: 22px;
    }

    .fs28 {
        font-size: 22px;
    }

    .fs30 {
        font-size: 24px;
    }

    .fs32 {
        font-size: 24px;
    }

    .fs34 {
        font-size: 26px;
    }

    .fs36 {
        font-size: 26px;
    }

    .fs38 {
        font-size: 28px;
    }

    .fs40 {
        font-size: 28px;
    }

    .fs42 {
        font-size: 30px;
    }

    .fs44 {
        font-size: 30px;
    }

    .fs46 {
        font-size: 32px;
    }

    a[href*="tel:"] {
        pointer-events: initial !important;
    }
}

@media (max-width: 599px) {

    .fs18 {
        font-size: 16px;
    }

    .fs20 {
        font-size: 18px;
    }

    .fs22 {
        font-size: 18px;
    }

    .fs24 {
        font-size: 20px;
    }

    .fs26 {
        font-size: 20px;
    }

    .fs28 {
        font-size: 22px;
    }

    .fs30 {
        font-size: 22px;
    }

    .fs32 {
        font-size: 24px;
    }

    .fs34 {
        font-size: 24px;
    }

    .fs36 {
        font-size: 26px;
    }

    .fs38 {
        font-size: 26px;
    }

    .fs40 {
        font-size: 28px;
    }

    .fs42 {
        font-size: 28px;
    }

    .fs44 {
        font-size: 30px;
    }

    .fs46 {
        font-size: 32px;
    }
}

/*altlist*/

.altlist01 .alt01 {
    display: none;
}



/*ofiImg*/
.ofiImg.b {
    position: relative;
}

.ofiImg.b:after {
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.ofiImg img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100% !important;
    font-family: 'object-fit: cover;';
    /*IE対策*/
}

.ofiImg.tc {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    height: 100%;
    width: 100%;
}

.ofiImg.t100 {
    position: relative;
    padding-top: 100%;
    display: block;
}

.ofiImg.t100 img {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    -o-object-position: top center;
    object-position: top center;
}

.ofiImg.t90 {
    position: relative;
    padding-top: 90%;
    display: block;
}

.ofiImg.t90 img {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    -o-object-position: top center;
    object-position: top center;
}

.ofiImg.t80 {
    position: relative;
    padding-top: 80%;
    display: block;
}

.ofiImg.t80 img {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    -o-object-position: top center;
    object-position: top center;
}

.ofiImg.t70 {
    position: relative;
    padding-top: 70%;
    display: block;
}

.ofiImg.t70 img {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    -o-object-position: top center;
    object-position: top center;
}

.ofiImg.t60 {
    position: relative;
    padding-top: 60%;
    display: block;
}

.ofiImg.t60 img {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    -o-object-position: top center;
    object-position: top center;
}

.ofiImg.t55 {
    position: relative;
    padding-top: 55%;
    display: block;
}

.ofiImg.t55 img {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    -o-object-position: top center;
    object-position: top center;
}

.ofiImg.t50 {
    position: relative;
    padding-top: 50%;
    display: block;
}

.ofiImg.t50 img {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    -o-object-position: top center;
    object-position: top center;
}

.ofiImg.t35 {
    position: relative;
    padding-top: 35%;
    display: block;
}

.ofiImg.t35 img {
    position: absolute;
    top: 0;
    left: 35%;
    -webkit-transform: translate(-35%, 0);
    transform: translate(-35%, 0);
    -o-object-position: top center;
    object-position: top center;
}


/*wrap*/

#wrapper {
    overflow: hidden;
    min-width: 320px;
    margin: 0 auto;
}

/*common*/

.odd>*:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.even>*:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.ul>li {
    padding-left: 1.5em;
    position: relative;
}

.ul>li:before {
    content: "■";
    position: absolute;
    color: #acacac;
    left: 0;
    font-size: 10px;
}


.z1 {
    position: relative;
    z-index: 1;
}

.z2 {
    position: relative;
    z-index: 2;
}

.fw300 {
    font-weight: 500;
}

.fw400 {
    font-weight: 400;
}

.fw500 {
    font-weight: 500;
}

.fw600 {
    font-weight: 600;
}

.fw700 {
    font-weight: 700;
}

.w100 {
    width: 100%;
    display: block;
}

.w20 {
    width: 20%;
    margin: 1% 0;
}

.w25 {
    width: 25%;
    margin: 1% 0;
}

.w26 {
    width: 26%;
    margin: 1% 0;
}

.w30 {
    width: 30%;
    margin: 1% 0;
}

.w35 {
    width: 35%;
    margin: 1% 0 0;
}

.w36 {
    width: 36%;
    margin: 1% 0;
}

.w40 {
    width: 40%;
    margin: 1% 0;
}

.w46 {
    width: 46%;
    margin: 1% 0;
}

.w48 {
    width: 48%;
    margin: 1% 0;
}

.w50 {
    width: 50%;
    margin: 1% 0;
}

.w56 {
    width: 56%;
    margin: 1% 0;
}

.w60 {
    width: 60%;
    margin: 1% 0;
}

.w65 {
    width: 65%;
    margin: 1% 0 0;
}

.w66 {
    width: 66%;
    margin: 1% 0;
}

.w70 {
    width: 70%;
    margin: 1% 0;
}

.w76 {
    width: 76%;
    margin: 1% 0;
}

.w80 {
    width: 80%;
    margin: 1% 0;
}

.w86 {
    width: 86%;
    margin: 1% 0;
}

.m600 {
    max-width: 600px;
    margin: auto;
}

.m700 {
    max-width: 700px;
    margin: auto;
}

.m800 {
    max-width: 800px;
    margin: auto;
}

.m860 {
    max-width: 860px;
    margin: auto;
}

.m900 {
    max-width: 900px;
    margin: auto;
}

.m960 {
    max-width: 960px;
    margin: auto;
}

.m1000 {
    max-width: 1020px;
    margin: auto;
    width: 98%;
}

.m1200 {
    max-width: 1250px;
    width: 96%;
    margin: auto;
}

.area80 {
    padding: 80px 0;
}

.area60 {
    padding: 60px 0;
}

.area40 {
    padding: 40px 0;
}

.area30 {
    padding: 40px 0;
}

.area20 {
    padding: 20px 0;
}

.area10 {
    padding: 10px 0;
}

.areat60 {
    padding-top: 60px;
}

.areat40 {
    padding-top: 40px;
}

.areat30 {
    padding-top: 30px;
}

.areat20 {
    padding-top: 20px;
}

.areat10 {
    padding-top: 10px;
}

.m80 {
    margin: 80px 0;
}

.m60 {
    margin: 60px 0;
}

.m40 {
    margin: 40px 0;
}

.m20 {
    margin: 20px 0;
}

.mb80 {
    margin-bottom: 80px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb10 {
    margin-bottom: 10px;
}

.mtb20 {
    margin: 20px 0;
}


.pic {
    text-align: center;
}

.pic img {
    width: 100%;
}

.pix {
    text-align: center;
}

.tac {
    text-align: center;
}

.tal {
    text-align: left;
}

.tar {
    text-align: right;
}

.tac599 {
    text-align: center;
}


.tar599 {
    text-align: right;
}

.tarc599 {
    text-align: right;
}

.txt {
    line-height: 200%;
}

.lh160 {
    line-height: 160%;
}

.lh200 {
    line-height: 200%;
}

.uk-lb img {
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
}

.uk-lb img:hover {
    cursor: pointer;
    opacity: 0.6;
}


@media (max-width:1024px) {
    .m600 {
        width: 96%;
    }

    .m700 {
        width: 96%;
    }

    .m800 {
        width: 96%;
    }

    .m860 {
        width: 96%;
    }

    .m900 {
        width: 96%;
    }

    .m960 {
        width: 96%;
    }

    .m1000 {
        width: 96%;
    }

    .area80 {
        padding: 60px 0;
    }

    .area60 {
        padding: 50px 0;
    }

    .area40 {
        padding: 30px 0;
    }

    .mb80 {
        margin-bottom: 60px;
    }

    .mb60 {
        margin-bottom: 50px;
    }

    .mb40 {
        margin-bottom: 30px;
    }

    .w35 {
        width: 100%;
        margin: 2% auto;
    }

    .w65 {
        width: 100%;
        margin: 2% auto;
    }

}

@media (max-width:599px) {
    .w20 {
        width: 100%;
        margin: 2% auto;
    }

    .pic.w20 {
        max-width: 400px;
    }

    .w26 {
        width: 100%;
        margin: 2% auto;
    }

    .pic.w26 {
        max-width: 400px;
    }

    .w30 {
        width: 100%;
        margin: 2% auto;
    }

    .pic.w30 {
        max-width: 400px;
    }



    .w36 {
        width: 100%;
        margin: 2% auto;
    }

    .pic.w36 {
        max-width: 400px;
    }

    .w40 {
        width: 100%;
        margin: 2% auto;
    }

    .pic.w40 {
        max-width: 400px;
    }

    .w46 {
        width: 100%;
        margin: 2% auto;
    }

    .w48 {
        width: 100%;
        margin: 2% auto;
    }

    .w50 {
        width: 100%;
        margin: 2% auto;
    }

    .w56 {
        width: 100%;
        margin: 2% auto;
    }

    .w60 {
        width: 100%;
        margin: 2% auto;
    }


    .w66 {
        width: 100%;
        margin: 2% auto;
    }

    .w70 {
        width: 100%;
        margin: 2% auto;
    }

    .w76 {
        width: 100%;
        margin: 2% auto;
    }

    .w80 {
        width: 100%;
        margin: 2% auto;
    }

    .w86 {
        width: 100%;
        margin: 2% auto;
    }

    .m600 {
        width: 94%;
    }

    .m700 {
        width: 94%;
    }

    .m800 {
        width: 94%;
    }

    .m860 {
        width: 94%;
    }

    .m900 {
        width: 94%;
    }

    .m960 {
        width: 94%;
    }

    .m1000 {
        width: 94%;
    }

    .m1200 {
        width: 94%;
    }

    .area80 {
        padding: 40px 0;
    }

    .area60 {
        padding: 40px 0;
    }

    .area40 {
        padding: 20px 0;
    }

    .row2 {
        width: 98%;
    }

    .row3 {
        width: 48%;
    }

    .row4 {
        width: 48%;
    }

    .row5 {
        width: 31.333%;
    }

    .mb80 {
        margin-bottom: 40px;
    }

    .mb60 {
        margin-bottom: 40px;
    }

    .mb40 {
        margin-bottom: 20px;
    }

    .tac599 {
        text-align: left;
    }

    .tar599 {
        text-align: left;
    }

    .tarc599 {
        text-align: center;
    }

    .tal599 {
        text-align: left;
    }

}

/*iframe*/

.embed {
    position: relative;
    overflow: hidden;
}

.embed:after {
    display: block;
    content: "";
    padding-top: 50%;
}

.embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: inherit;
    width: 100%;
    height: 100%;
}

/*map*/

.map {
    position: relative;
    overflow: hidden;
    padding-top: 0;
}

.map:after {
    display: block;
    content: "";
    padding-top: 30%;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: inherit;
    width: 100%;
    height: 100%;
}

@media (max-width:1024px) {
    .map:after {
        padding-top: 50%;
    }

}

@media (max-width:599px) {
    .map:after {
        padding-top: 70%;
    }

}

html {
    font-weight: 600;
}


/*スライドショー mainImg*/

.mainimg {
    position: relative;
    overflow: hidden;
}

.mainimg img {
    width: 100%;
}

.mainimg .uk-slidenav-position {
    position: relative;
    overflow: hidden;
}

.mainimg .uk-slidenav-position:after {
    padding-top: 45%;
    content: '';
    display: block;
}

.mainimg .uk-slideshow {
    position: absolute;
    top: 0;
}

.mainImg {
    position: relative;
    overflow: hidden;
}

.mainImg h2 {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 90%;
    margin: auto;
}

.mainImg .pic {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-width: 600px;
}

.mainImg .pic img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}

.mainImg .pic:before {
    content: "";
    display: block;
    padding-top: 21%;
}


/*totop*/

/*
#totop {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 99;
  text-align: center;
}
*/

/*
#totop a {
  display: block;
}

#totop a:before {
  content: "\f106";
  font-family: FontAwesome;
  display: block;
  height: 50px;
  width: 50px;
  line-height: 50px;
  font-size: 30px;
  background: #000000;
}

#totop a {
  background: #000000;
  display: block;
  color: #fff;
}



*/

@media (max-width:1024px) {
    #totop a:before {
        height: 45px;
        width: 45px;
        line-height: 45px;
        font-size: 28px;
    }
}

@media (max-width:599px) {
    #totop a:before {
        height: 40px;
        width: 40px;
        line-height: 40px;
        font-size: 26px;
    }
}


/*blog*/

.pagenav ul {
    /*    max-width: 300px;*/
    margin: 60px 0 0;
}

.pagenav li {
    text-align: center;
}

.pagenav li.pagebtn {
    margin: 0 25px;
}

.pagenav li.prev {
    margin-right: 25px;
}

.pagenav li.next {
    margin-left: 25px;
}

.pagenav li>* {
    display: block;
    font-size: 24px;
    color: #464646;
}

.pagenav li>.now {
    display: block;
    font-size: 24px;
    color: #fff;
    background-color:#9b8c6c;
    padding: 0 .5em;
    border-radius:50%;
}

.pagenav li.prev>*,
.pagenav li.next>* {
    width: 30px;
    height: 30px;
    font-size: 14px;
    color: #fff;
    background-color: var(--color-01);
    line-height: 30px;
    text-align: center;
    border-radius: 50%;
}

.pagenav li.prev>*:after {
    content: "＜";
}

.pagenav li.next>*:after {
    content: "＞";
}

@media (max-width:1024px) {
    .pagenav ul {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 100px 0;
    }

    .pagenav li.pagebtn {
        margin: 0 20px;
    }

    .pagenav li.prev {
        margin-right: 20px;
    }

    .pagenav li.next {
        margin-left: 20px;
    }

    .pagenav li>* {
        font-size: 20px;
    }
}

@media (max-width:599px) {
    .pagenav ul {
        margin: 80px 0;
    }

    .pagenav li.pagebtn {
        margin: 0 10px;
    }

    .pagenav li.prev {
        margin-right: 10px;
    }

    .pagenav li.next {
        margin-left: 10px;
    }

    .pagenav li>* {
        font-size: 18px;
    }
}

/*contact*/

.form dl {
    padding: 20px 0;
    /*    border-bottom: 1px solid #fff;*/
}



.form dt {
    width: 30%;
    color: var(--color-01);
    font-size: 18px;
    font-weight: 500;
    position: relative;
    margin-top: 7px;
}

.form dt .reqw {
    font-size: 14px;
    text-align: center;
    padding: 0 10px;
    background: var(--color-01);
    color: #fff;
    position: absolute;
    top: 0;
    right: 0;
}

.form dd {
    width: 65%;
}

.form dd input {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px;
    border: none;
    border: 1px solid var(--color-01);
}

.form dd select {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px;
}



.form dd textarea {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px;
    font-size: 16px;
    border: 1px solid var(--color-01);
    /*
    font-family: "游ゴシック",
        YuGothic,
        Hiragino Sans,
        "ヒラギノ角ゴ ProN W3",
        "Hiragino Kaku Gothic Pro",
        Hiragino Kaku Gothic ProN,
        "メイリオ",
        Meiryo,
        'ＭＳ Ｐゴシック',
        sans-serif;
*/
    height: 300px;
}


.formbtn li button {
    text-align: center;
    color: #fff;
    display: block;
    background: var(--color-01);
    font-size: 18px;
    padding: 25px 0;
    position: relative;
    z-index: 1;
    opacity: 1;
    overflow: hidden;
    border: none;
    border-radius: 40px;
    width: 100%;
    margin: 50px auto;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
    position: relative;
}

.formbtn li button:before {
    content: "";
    width: 30px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.formbtn li button:after {
    content: "";
    width: 10px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    right: 15px;
    top: 46%;
    -webkit-transform: rotate(30deg) translateY(-50%);
    transform: rotate(30deg) translateY(-50%);
}

.formbtn li.formback button:before {
    right: auto;
    left: 15px;
}

.formbtn li.formback button:after {
    right: auto;
    left: 15px;
    -webkit-transform: rotate(-30deg) translateY(-50%);
    transform: rotate(-30deg) translateY(-50%);
}


/*
.formbtn li button:after {
    position: absolute;
    font-family: FontAwesome;
    content: "\f105";
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 20px;
}
*/

/*
.formbtn2 li:nth-of-type(odd) button:after {
    right: auto;
    left: 20px;
    content: "\f104";
}
*/

.formbtn li button:hover {
    opacity: 0.6;
    cursor: pointer;
}

.formbtn li {
    width: 100%;
    max-width: 330px;
    margin: auto;
}

.formbtn2 li {
    max-width: 250px;
}

.form .addressbox .post {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.form .addressbox .post .icon {
    margin-right: 10px;
}

.form .addressbox .post input {
    width: 200px;
}

.form .addressbox .address {
    margin-top: 10px;
}

@media (max-width:1024px) {
    .form dt {
        width: 100%;
        padding-bottom: 1em;
        font-size: 16px;
    }

    .form dd {
        width: 100%;
    }

    .form dl {
        padding: 15px 0;
    }

    .formbtn li button {
        margin: 60px auto;
        padding: 15px 40px;
    }

    .formbtn2 li {
        max-width: 200px;
    }

}

@media (max-width:599px) {
    .formbtn li button {
        margin: 40px auto;
        padding: 10px 40px;
        max-width: 250px;
    }

    .formbtn2 li {
        max-width: 130px;
    }
}

/*ここまでreset*/


/*common*/
.brown {
    color: var(--color-01);
}

.bgbrown {
    background-color: var(--color-01);
}

.beige {
    color: var(--color-02);
}

.bgbeige {
    background-color: var(--color-02);
}

.lightbeige {
    color: #f8f7f3;
}

.bglightbeige {
    background-color: #f8f7f3;
}

.m1450 {
    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
}

.dib {
    display: inline-block;
}

.more a {
    color: var(--color-01);
    font-family: 'Cinzel', serif;
    font-weight: 400;
    letter-spacing: 0.3em;
    position: relative;
    padding-right: 35px;
    display: block;
}

.more a:before {
    content: "";
    width: 30px;
    height: 1px;
    background-color: var(--color-01);
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.more a:after {
    content: "";
    width: 10px;
    height: 1px;
    background-color: var(--color-01);
    position: absolute;
    right: 0;
    top: 42%;
    -webkit-transform: rotate(30deg) translateY(-50%);
    transform: rotate(30deg) translateY(-50%);
}

.b15 {
    position: relative;
    padding-bottom: 10px;
}

.b15:after {
    content: "";
    width: 1em;
    min-width: 15px;
    height: 1px;
    background-color: var(--color-01);
    position: absolute;
    left: 0;
    bottom: 0;
}

/*scroll*/
@-webkit-keyframes Move {
    0% {
        top: 0;
    }

    100% {
        top: 100%;
    }
}

@keyframes Move {
    0% {
        top: 0;
    }

    100% {
        top: 100%;
    }
}

.scroll {
    position: absolute;
    top: -18%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.scroll a {
    font-size: 10px;
    position: relative;
    z-index: 9;
    display: inline-block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    height: 130px;
    ;
}

.scroll a:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 30px;
    content: "";
    -webkit-animation-name: Move;
    animation-name: Move;
    -webkit-animation-duration: 2.5s;
    animation-duration: 2.5s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    background: var(--color-01);
    z-index: 2;
}

.scroll a:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 160px;
    content: "";
    background: #dacfbc;
    z-index: 1;
}

.sp {
    display: none !important;
}

@media (max-width: 1024px) {
    .m1450 {
        width: 96%;
    }

    /*scroll*/
    .scroll {
        top: -8%;
    }

    .scroll a {
        height: 80px;
    }

    .scroll a:before {
        height: 20px;
    }

    .scroll a:after {
        height: 100px;
    }
}

@media (max-width: 599px) {
    .m1450 {
        width: 94%;
    }

    .b15:after {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    /*    scroll*/
    .scroll {
        top: -15%;
    }

    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }
}

/*header*/
header {
    padding: 30px 0 215px;
}

header .head {
    padding: 20px 30px;
}

header .head.fix {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 100;
    -webkit-box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.2);
    background-color: var(--color-03);
}

header .logo {
    width: 300px;
    height: auto;
    display: flex;
    align-items: center;
}

header .logo a {
    display: block;
}

header #gnav {
    width: calc(100% - 300px);
}

@media (max-width: 1024px) {
    header {
        padding: 0 0 80px;
    }

    header .headwrap {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    header .logo {
        width: 200px;
    }

    header #gnav {
        width: calc(100% - 200px);
    }
}

@media (max-width: 599px) {
    header {
        padding: 0 0 60px;
    }


    header .head {
        padding: 10px 5px;
    }
}

/*gnav*/

#gnav div.toggle span.n {
    display: none;
}

#gnav {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 200;
    width: 100%;
}


#gnav li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    margin-bottom: 0;
    display: inline-block;
    margin-left: 35px;
}

#gnav li.up-d-none {
    display: none;
}

#gnav li:first-of-type {
    margin-left: 0;
}

[data-element-id] #gnav li.sp {
    display: inline-block !important;
}

#gnav li.pcnone {
    display: none;
}

#gnav li a,
#gnav li span {
    width: 100%;
    height: 100%;
    display: block;
    font-size: 18px;
    font-family: 'Cinzel', serif;
    font-weight: 400;
    letter-spacing: 0.3em;
    line-height: 1;
    color: var(--color-01);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#gnav li span {
    cursor: pointer;
}

#gnav.fix {
    position: fixed;
    z-index: 200;
    top: 0;
    background: #eee;
}

.fix .accordion-toggle {
    opacity: 0.8;
}



#gnav .ddbox .dd {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: 0.6s all ease;
    transition: 0.6s all ease;
    position: absolute;
    -webkit-transform: translate(0, -20px);
    transform: translate(0, -20px);
    right: 0;
    width: 100%;
    z-index: 10;
    padding: 30px 0 0;
    -webkit-transition: all .6s cubic-bezier(0.22, 1, 0.36, 1);
    transition: all .6s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
}

#gnav .ddbox .dd>ul {
    background: #f8f7f3;
    padding: 30px 10px;
}

[data-element-id] #gnav .ddbox .dd {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate(0, 30px);
    transform: translate(0, 30px);
}

#gnav .ddbox:hover .dd {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate(0, -5px);
    transform: translate(0, -5px);
    pointer-events: auto;
}

[data-element-id] #gnav .ddbox:hover .dd {
    -webkit-transform: translate(0, 30px);
    transform: translate(0, 30px);
}

#gnav .ddbox .dd li {
    margin: 20px;
}

#gnav .ddbox .dd li a {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
}


#gnav .telbox dt {
    line-height: 1;
    letter-spacing: 0.16em;
}


#gnav .telbox .tel a {
    font-family: 'Cinzel', serif;
    font-weight: 400;
    color: var(--color-01);
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0em;
}

@media (max-width: 1024px) {

    #gnav .ddbox .dd>ul {
        padding: 0;
    }

    #gnav .gnavinn>ul>.up-d-none.up-d-block\@tb {
        padding: 0;
    }

    #gnav .gnavinn>ul .in-logo a {
        padding: 0;
        margin-bottom: 5px;
    }

    #gnav .gnavinn {
        position: fixed;
        top: 0;
        right: -600px;
        width: 600px;
        height: 100vh;
        opacity: 1;
        -webkit-transition: all ease 0.5s;
        transition: all ease 0.5s;
        padding: 0;
        border: none;
        padding-bottom: 0;
        background: var(--color-02);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
        z-index: -10;
    }

    #gnav.action .gnavinn {
        right: 0;
        z-index: 250;
    }

    #gnav ul li {
        display: block !important;
        width: 100%;
        color: #000;
        text-align: left;
        position: static;
        padding: 0.5em;
        margin-left: 0;
    }

    #gnav div.toggle {
        display: block !important;
        position: fixed;
        width: 38px;
        height: 38px;
        top: 6px;
        right: 10px;
        cursor: pointer;
        opacity: 0.8;
        margin: 2px;
        z-index: 251;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
    }

    #gnav li {
        float: none;
        width: auto;
        padding: 0;
        margin-top: 0;
        display: block !important;
    }


    #gnav div.toggle span.n {
        display: block;
        background: var(--color-01);
        height: 2px;
        width: 26px;
        text-indent: 9999px;
        padding: 0;
        top: 50%;
        left: 6px;
        margin-top: -1px;
        position: absolute;
        -webkit-transition: ease .30s;
        transition: ease .30s;
    }

    #gnav div.toggle span.n:before {
        display: block;
        content: "";
        background: var(--color-01);
        height: 2px;
        width: 26px;
        position: absolute;
        top: -8px;
        left: 0;
        -webkit-transition: ease .30s;
        transition: ease .30s;
    }

    #gnav div.toggle span.n:after {
        display: block;
        content: "";
        background: var(--color-01);
        height: 2px;
        width: 26px;
        position: absolute;
        top: 8px;
        left: 0;
        -webkit-transition: ease .30s;
        transition: ease .30s;
    }

    #gnav.action div.toggle span.n {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transition: ease .30s;
        transition: ease .30s;
    }

    #gnav.action div.toggle span.n:after,
    #gnav.action div.toggle span.n:before {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        top: 0;
        left: 0;
        -webkit-transition: ease .30s;
        transition: ease .30s;
    }

    #gnav .gnavinn>ul {
        width: 100%;
        padding: 60px 3% 80px;
    }

    #gnav .gnavinn>ul a,
    #gnav .gnavinn>ul span {
        height: auto;
        display: block;
        text-align: left;
        padding: 5px 5px 5px 5px;
        border: none !important;
    }

    #gnav.fix {
        padding: 0;
    }

    .overlay {
        height: 100%;
        overflow: hidden;
    }

    .overlay:after {
        content: "";
        width: 100%;
        height: 100%;
        background: #000;
        position: fixed;
        top: 0;
        left: 0;
        opacity: 0.3;
        z-index: 100;
    }

    #gnav .ddbox .dd {
        position: relative;
        width: calc(100% - 40px);
        -webkit-transform: none !important;
        transform: none !important;
        position: relative;
        left: 25px;
        right: auto;
        visibility: visible;
        opacity: 1;
        margin: 10px 0;
        padding: 20px 0;
        background: #f8f7f3;
        border: 1px solid #c3b295;
        border-radius: 30px;
        max-width: 540px;
    }

    #gnav .ddbox .dd li {
        margin: 0;
    }

    #gnav .telbox {
        text-align: left;
        margin-left: 20px;
    }

    #gnav .telbox dt {
        font-size: 14px;
    }

    #gnav .telbox .tel {
        margin-bottom: 0;
    }

    #gnav .telbox .tel a {
        font-size: 24px;
    }

}

@media (max-width:599px) {
    #gnav .gnavinn {
        width: 100%;
        right: -100%;
    }

    #gnav .gnavinn>ul {
        padding: 40px 3% 33%;
    }

    #gnav .ddbox .dd li a {
        font-size: 16px;
    }

    #gnav .telbox {
        /*  position: fixed;
       width: 100%;
       display: block;
       left: 0;
       bottom: 0;
       text-align: center;
       margin-left: 0;
       padding: 10px 0;
       background-color: var(--color-02);
       border-top: 1px solid var(--color-01); */
        display: none !important;
    }
}


/*footer*/
footer {
    background-color: var(--color-02);
    padding: 100px 0 50px;
}

footer .copy {
    letter-spacing: 0.1em;
    padding-top: 100px;
}

.footbox {
    padding: 15px 0;
}

.footbox .info {
    width: 25%;
    padding: 15px 0;
    position: relative;
}

.footbox .info:after {
    content: "";
    width: 2px;
    height: 100%;
    background-color: var(--color-01);
    position: absolute;
    top: 0;
    right: 0;
}

.footbox .info .footlogo {
    width: 100%
}

.footbox .info .footlogo a {
    display: block;
}

.footbox .info .adress * {
    color: var(--color-01);
    font-size: 14px;
}

.footbox .info .adress {
    padding-top: 45px;
}

.footbox .info .telbox * {
    color: var(--color-01);
}

.footbox .info .telbox {
    padding-top: 30px;
}


.footbox .info .telbox .tel a {
    font-size: 24px;
    font-family: 'Cinzel', serif;
    font-weight: 400;
}

.footbox .footnav * {
    color: var(--color-01);
}

.footbox .footnav {
    width: 73%;
    padding: 15px 0;
}

.footbox .footnav .list {
    width: 21%;
}

.footbox .footnav .list.medical {
    width: 37%;
}

.footbox .footnav .list .item {
    margin-bottom: 40px;
}

.footbox .footnav .list .item:last-of-type {
    margin-bottom: 0;
}

.footbox .footnav .list.medical dd {
    margin-bottom: 10px;
}

.footbox .footnav .list.medical dd:last-of-type {
    margin-bottom: 0;
}

.footbox .footnav .item a {
    display: block;
}

.footbox .footnav .tit {
    font-size: 18px;
}

.footbox .footnav .subtit {
    font-size: 14px;
}

@media (max-width:1024px) {
    .footbox .info {
        width: 100%;
        text-align: center;
    }

    .footbox .info {
        padding: 0 0 40px;
    }

    .footbox .info .infowrap {
        display: inline-block;
    }

    .footbox .info:after {
        height: 2px;
        width: 500px;
        top: auto;
        bottom: 0;
        right: 50%;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
    }

    .footbox .footnav {
        width: 100%;
        max-width: 900px;
        margin: 0 auto;
        padding: 40px 0 0;
    }

    .footbox .footnav .list {
        width: 30%;
    }

    .footbox .footnav .list dl * {
        text-align: center;
    }

    /*
    .footbox .footnav .tit {
        font-size: 16px;
    }
    .footbox .footnav .subtit {
        font-size: 12px;
    }
*/
    .footbox .footnav .list.medical {
        width: 100%;
        margin-top: 40px;
    }

    .footbox .footnav .list.medical dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .footbox .footnav .list.medical .item .tit {
        width: 100%;
    }

    .footbox .footnav .list.medical .item dd.subtit {
        margin: 0 15px 10px;
    }

    footer .copy {
        padding-top: 80px;
    }

}

@media (max-width:599px) {
    .footbox .footnav .list {
        width: 48%;
        margin-bottom: 20px;
    }

    .footbox .footnav .list:nth-of-type(3) {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .footbox .footnav .list .item {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #9b8c6c;
    }

    .footbox .footnav .list:nth-of-type(3) .item {
        width: 48%;
    }

    .footbox .footnav .list dl * {
        text-align: left;
    }

    .footbox .footnav .list.medical {
        margin-top: 0;
    }

    .footbox .footnav .list.medical .item dd.subtit {
        width: 100%;
        margin: 0 0 10px;
    }

    footer .copy {
        padding-bottom: 40px;
        font-size: 10px;
    }

    .footbox .footnav .list.medical .item .tit {
        border-bottom: 1px solid #9b8c6c;
        padding-bottom: 10px;
        margin-bottom: 10px;
    }
}


/*top*/
/*top-common*/
.top h3.tit {
    color: var(--color-01);
    font-size: 30px;
}

/*mv*/
.top .mv {
    position: relative;
}

[data-element-id] .top .mv {
    margin-top: 130px;
}

.top .mvbox .titbox {
    padding: 110px 0 270px;
    font-weight: bold;
}

.top .mvbox .titbox h2.tit {
    font-size: 40px;
    line-height: 1.8em;
}

.top .mvbox .titbox div.subtit {
    font-size: 26px;
    line-height: 2.3em;
    letter-spacing: 0.5em;
}

.top .mvbox .sliderbox.ofiImg {
    right: 0;
    position: absolute;
    top: -180px;
    height: 120%;
    width: 65%;
}

/*スライドショー*/
.uk-slidenav-position {
    height: 100% !important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.uk-slideshow {
    height: 100% !important;
}

.uk-slideshow>li {
    height: 100% !important;
}

.uk-slideshow>li>* {
    height: 100%;
}

.uk-flex.uk-flex-middle.uk-flex-center {
    height: 100% !important;
}

.uk-flex.uk-flex-middle.uk-flex-center img {
    height: 100% !important;
}

@media (max-width:1024px) {
    .top h3.tit {
        font-size: 26px;
    }

    .top .mvbox .titbox {
        padding: 90px 0 190px;
    }

    .top .mvbox .titbox h2.tit {
        font-size: 30px;
    }

    .top .mvbox .titbox div.subtit {
        font-size: 18px;
    }

    .top .mvbox .sliderbox.ofiImg {
        top: -60px;
        width: 80%;
        height: 140%;
    }
}

@media (max-width:599px) {
    .top h3.tit {
        font-size: 20px;
    }

    .top .mvbox .titbox {
        padding: 90px 0 0;
    }

    .top .mvbox .titbox h2.tit {
        font-size: 22px;
    }

    .top .mvbox .titbox div.subtit {
        font-size: 12px;
    }

    .top .mvbox .sliderbox.ofiImg {
        top: -50px;
        width: 85%;
    }
}

/*top01*/


.top01 .newsbox {
    width: 100%;
    max-width:700px;
}

.top01 .titbox {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    margin-bottom: 30px;
}

.top01 .newsbox .more a {
    font-size: 14px;
}

.top01 .newsbox .item {
    margin-bottom: 20px;
}

.top01 .newsbox .item a {
    display: block;
}

.top01 .newsbox .item .tit {
    margin-top: 5px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--color-01);
}

.top01 .schebox * {
    color: var(--color-01);
}

.top01 .schebox {
    width: 50%;
}

.top01 .schebox .schelist dl {
    border-bottom: 2px solid var(--color-01);
}

.top01 .schebox .schelist dl:first-of-type {
    border-top: 2px solid var(--color-01);
    background-color: var(--color-02);
}

.top01 .schebox .schelist dt.tit {
    width: 34%;
    padding: 20px 5px;
}

.top01 .schebox .schelist dd {
    border-left: 2px solid var(--color-01);
    text-align: center;
    width: 11%;
    padding: 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.top01 .schebox p {
    width: 100%;
    text-align: right;
    padding-top: 10px;
}

@media (max-width:1024px) {
    .top01 .titbox h3.tit {
        width: 100%;
    }

    .top01 .titbox .more {
        width: 100%;
        text-align: right;
    }

    .top01 .titbox dl {
        width: 100%;
        text-align: right;
    }

    .top01 .schebox {
        width: 54%;
    }

    .top01 .schebox .schelist dt.tit {
        font-size: 13px;
        padding: 20px 3px;
    }
}

@media (max-width:599px) {
    .top01 {
        padding: 60px 0 90px;
    }

    .top01 .titbox {
        margin-bottom: 20px;
    }

    .top01 .titbox .more {
        padding-top: 10px;
    }

    .top01 .titbox dl {
        padding-top: 30px;
    }

    .top01 .newsbox {
        width: 100%;
    }

    .top01 .schebox {
        width: 100%;
        padding-top: 40px;
    }

    .top01 .schebox .titbox {
        margin-bottom: 0;
    }

    .top01 .schebox .schelist dt.tit {
        font-size: 12px;
        padding: 20px 0;
        text-align: center;
    }
}

/*top02*/
.top02 .box {
    padding-bottom: 150px;
}

.top02 .txtboxwrap {
    width: 70%;
    margin-right: auto;
}

.top02 .txtbox h3 {
    color: var(--color-01);
    font-size: 110px;
    line-height: 1;
    letter-spacing: 0.12em;
    margin-bottom: 110px;
    position: relative;
}

.top02 .txtbox dt.tit {
    width: 8%;
    font-size: 34px;
    letter-spacing: 0.16em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.top02 .txtbox dt.tit span {
    display: block;
}

.top02 .txtbox dd {
    width: 70%;
    margin-left: 70px;
    line-height: 2.8em;
}

@media (max-width:1024px) {
    .top02 .box {
        padding-bottom: 70px;
    }

    .top02 .txtboxwrap {
        width: 100%;
        max-width: 600px;
    }

    .top02 .txtbox h3 {
        font-size: 98px;
        margin-bottom: 60px;
    }

    .top02 .txtbox dt.tit {
        font-size: 28px;
    }

    .top02 .txtbox dd {
        margin-left: 50px;
    }

}

@media (max-width:599px) {
    .top02 .box {
        padding-bottom: 50px;
    }

    .top02 .txtbox h3 {
        font-size: 52px;
        top: -4px;
        margin-bottom: 40px;
        width: 100vw;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .top02 .txtbox dt.tit {
        font-size: 22px;
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .top02 .txtbox dd {
        width: 100%;
        margin-left: 0;
        padding-top: 30px;
    }
}

/*top03*/
.top03 .list {
    counter-reset: section;
}

.top03 .item {
    margin-bottom: 60px;
}

.top03 .item:first-of-type {
    margin-top: -145px;
}

.top03 .item:last-of-type {
    margin-bottom: 0;
}

.top03 .pic {
    width: 50%;
    position: relative;
    z-index: 2;
}

.top03 .picwrap {
    position: absolute;
    top: 20%;
    right: 0;
    z-index: 2;
    width: 50vw;
    height: 87%;
}

.top03 .item:nth-of-type(even) .picwrap {
    right: auto;
    left: 0;
}

.top03 .contentbox {
    width: 48%;
    padding: 60px 0 60px;
    position: relative;
    z-index: 1;
    counter-increment: section;
}

/*.top03 .contentbox:before {
    content: counter(section, decimal-leading-zero);
    position: absolute;
    color: rgb(78 78 78 / 24%);
    top: -8%;
    right: 0;
    font-size: 190px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
    letter-spacing: -0.06em;
    line-height: 1;
}*/

.top03 .item:nth-of-type(even) .contentbox:before {
    right: auto;
    left: 0;
    color: rgb(78 78 78 / 24%);
}

.top03 .contentbox:after {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: #f8f7f3;
    top: 0;
    left: -110%;
    position: absolute;
    z-index: -1;
}

.top03 .item:nth-of-type(even) .contentbox:after {
    left: auto;
    right: -110%;
}

.top03 .contentbox h4 {
    font-size: 13px;
    line-height: 1;
    position: relative;
    display: inline-block;
    padding-right: 2em;
}

/*.top03 .contentbox h4:before {
    content: counter(section, decimal-leading-zero);
    position: absolute;
    top: 48%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}*/

.top03 .contentbox h4:after {
    content: "";
    width: 100vw;
    height: 1px;
    background-color: #dacfbc;
    position: absolute;
    left: 120%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.top03 .contentbox dl {
    padding-top: 60px;
}

.top03 .contentbox dt .tit {
    letter-spacing: 0.2em;
}

.top03 .contentbox dd {
    padding-top: 40px;
    line-height: 2.5em;
}

@media (max-width:1024px) {
    .top03 .item {
        margin-bottom: 100px;
    }

    .top03 .item:first-of-type {
        margin-top: -90px;
    }

    .top03 .pic {
        width: 46%;
    }

    .top03 .picwrap {
        top: 16%;
        height: 90%;
    }

    .top03 .contentbox {
        padding: 100px 0 60px;
        width: 50%;
    }

    .top03 .contentbox:before {
        font-size: 140px;
    }

    .top03 .contentbox:after {
        left: -60%;
    }

    .top03 .item:nth-of-type(even) .contentbox:after {
        right: -60%;
    }

    .top03 .contentbox dt .tit {
        font-size: 20px;
    }
}

@media (max-width:599px) {

    .top03 .item:first-of-type {
        margin-top: -60px;
    }

    .top03 .contentbox {
        width: 100%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        padding: 40px 20px;
    }

    .top03 .contentbox:before {
        font-size: 100px;
    }

    .top03 .contentbox:after {
        left: 0;
        width: 100%;
    }

    .top03 .item:nth-of-type(even) .contentbox:after {
        right: 0;
    }

    .top03 .contentbox h4:after {
        width: 135%;
    }

    .top03 .contentbox dl {
        padding-top: 0px;
    }

    .top03 .contentbox dd {
        padding-top: 30px;
    }

    .top03 .pic {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        background-color: #f8f7f3;
        width: 100%;
    }

    .top03 .picwrap {
        top: 0;
        height: auto;
        width: calc(100% - 40px);
        position: relative;
        margin: 0 auto;
        padding-bottom: 40px;
    }
}

/*top04*/
.top04 {
    padding: 230px 0 70px;
}

.top04 .titbox {
    margin-bottom: 80px;
}

.top04 h3.tit {
    margin-bottom: 15px;
}

.top04 h3.tit.b15:after {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.top04 .subtit {
    font-size: 20px;
}

.top04 .list {
    counter-reset: section;
}

.top04 .item {
    width: 23.5%;
    margin: 0 1% 5% 0;
}

.top04 .item:nth-of-type(4n+4) {
    margin-right: 0;
}

.top04 .item a {
    display: block;
}

.top04 .item dl {
    position: relative;
    counter-increment: section;
}

/*.top04 .item dl:before {
    content: counter(section, decimal-leading-zero);
    position: absolute;
    top: -18px;
    left: 10px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
    color: var(--color-01);
    font-size: 48px;
    letter-spacing: -0.06em;
    line-height: 1;
    z-index: 1;
    text-shadow: 0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1);
}*/

.top04 .item .tit {
    width: 86%;
    letter-spacing: 0em;
    background-color: #fff;
    padding: 20px 5px;
    margin: -20px auto 0;
    position: relative;
    z-index: 1;
    -webkit-box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.2);
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

@media (max-width:1024px) {
    .top04 {
        padding: 100px 0 70px;
    }

    .top04 .item {
        width: 32%;
    }

    .top04 .item:nth-of-type(4n+4) {
        margin-right: 2%;
    }

    .top04 .item:nth-of-type(3n+3) {
        margin-right: 0;
    }

    .top04 .titbox {
        margin-bottom: 60px;
    }

}

@media (max-width:599px) {
    .top04 .subtit {
        font-size: 16px;
    }

    .top04 {
        padding: 50px 0 20px;
    }

    .top04 .titbox {
        margin-bottom: 30px;
    }

    .top04 .item {
        width: 100%;
        max-width: 300px;
        margin: 0 auto 40px;
    }

    .top04 .item:nth-of-type(3n+3) {
        margin-right: auto;
    }

    .top04 .item:nth-of-type(4n+4) {
        margin-right: auto;
    }
}

/*top05*/
.top05 .box a {
    display: block;
}

.top05 .titbox {
    padding: 130px 0 100px;
}

.top05 .titbox h3 {
    line-height: 1;
}

.top05 .titbox .subtit {
    font-size: 20px;
    padding-top: 10px;
}

.top05 .faqbox {
    width: 50%;
}

.top05 .faqbox .ofiImg {
    width: 50vw;
    left: auto;
    right: 0;
    -webkit-transform: none;
    transform: none;
}

.top05 .recruitbox {
    width: 50%;
}

.top05 .recruitbox .ofiImg {
    width: 50vw;
    left: 0;
    -webkit-transform: none;
    transform: none;
}

@media (max-width:1024px) {
    .top05 .titbox {
        padding: 70px 0 50px;
    }

    .top05 .titbox h3 {
        text-align: center;
    }

    .top05 .titbox .subtit {
        font-size: 16px;
        text-align: center;
    }
}

@media (max-width:599px) {
    .top05 .faqbox {
        width: 100%;
    }

    .top05 .faqbox .pic {
        width: 100vw;
        right: 50%;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
    }

    .top05 .recruitbox {
        width: 100%;
    }

    .top05 .recruitbox .pic {
        width: 100vw;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .top05 .recruitbox .pic img {
        height: 100% !important;
    }
}


/*top06*/
.top06 {
    padding: 120px 0;
    position: relative;
}

.top06area {
    position: absolute;
    bottom: -180px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.top06 .titbox {
    margin-bottom: 30px;
}

.top06 .titbox .more {
    margin-right: 60px;
}

.top06 .titbox .more a {
    padding-right: 0;
}

.top06 .titbox .more a:before {
    display: none;
}

.top06 .titbox .more a:after {
    display: none;
}

.top06 .flexb {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}

[data-element-id] .top06 .list div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.top06 .item {
    width: 30%;
    /*    margin: 0 5% 0 0;*/
}

[data-element-id] .top06 .item {
    width: 30%;
    margin: 0 5% 0 0;
}

[data-element-id] .top06 .item:nth-child(n + 4) {
    display: none;
}

[data-element-id] .top06 .item:nth-of-type(3) {
    margin-right: 0;
}

.top06 .item:last-of-type {
    margin-right: 0;
}

.top06 .item a {
    display: block;
    width: 90%;
    margin: 0 auto;
}

.top06 .item .pic {
    -webkit-box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.2);
}


/*slickjbtn*/
.slick-prev {
    width: 36px;
    height: 36px;
    line-height: 36px;
    left: auto;
    right: 150px;
    top: -60px;
}

.slick-prev:before {
    text-align: center;
    line-height: 30px;
}

.slick-next {
    width: 36px;
    height: 36px;
    line-height: 36px;
    right: 10px;
    top: -60px;
}

.slick-next:before {
    text-align: center;
    line-height: 30px;
}

.slick-next:before,
.slick-prev:before {
    color: var(--color-01);
    font-size: 36px;
    opacity: 1;
}

@media (max-width:1024px) {}

@media (max-width:599px) {
    .top06 {
        padding: 50px 0;
    }

    .top06 .titbox h3.tit {
        width: 100%;
    }

    .top06 .titbox .more {
        width: 100%;
        text-align: right;
        padding-top: 10px;
    }

    /*    slick*/
    .top06 .titbox .more {
        margin-right: 0;
        margin-top: 20px;
    }

    .top06 .titbox .more a {
        text-align: center;
    }

    .top06 .list {
        max-width: 400px;
        margin: 0 auto;
    }

    .slick-prev {
        right: 70%;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
        top: -55px;
    }

    .slick-next {
        right: 30%;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
        top: -55px;
    }
}


/*top07*/
.top07 {
    /*padding: 330px 0 100px;*/
    padding: 100px 0;
}

.top07 .infobox * {
    color: var(--color-01);
}

.top07 .infobox {
    padding: 60px;
    background-color: #fff;
    -webkit-box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
}

.top07 .titbox h3 {
    margin-bottom: 15px;
}

.top07 h3.b15:after {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.top07 .infobox {
    position: relative;
    margin-top: -100px;
    z-index: 1;
}

.top07 .titbox .subtit {
    font-size: 20px;
}

.top07 .infolist {
    padding-top: 50px;
}

.top07 .infolist .item {
    width: 50%;
    padding: 20px 10px;
    border-left: 1px solid #dacfbc;
}

.top07 .infolist .item:last-of-type {
    border-right: 1px solid #dacfbc;
}

.top07 .infolist .tit {
    font-size: 22px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.top07 .infolist dd {
    font-size: 18px;
    padding-top: 15px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.top07 .infolist dd.tel a {
    display: block;
    color: var(--color-01);
    font-size: 28px;
    text-align: center;
}

.top07 .timebox {
    padding-top: 50px;
}

.top07 .timebox .titbox {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    margin-bottom: 20px;
}

.top07 .timebox h4 {
    font-size: 22px;
}

.top07 .timebox .titbox .subtit {
    font-size: 16px;
}

.top07 .schelist dl {
    border-bottom: 2px solid var(--color-01);
}

.top07 .schelist dl:first-of-type {
    border-top: 2px solid var(--color-01);
    background-color: var(--color-02);
}

.top07 .schelist dt.tit {
    width: 34%;
    padding: 20px 25px;
    font-size: 18px;
}

.top07 .schelist dd {
    border-left: 2px solid var(--color-01);
    text-align: center;
    width: 11%;
    padding: 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media (max-width:1024px) {
    .top07 {
        /*padding: 250px 0 100px;*/
        padding: 50px 0;
    }

    .top07 .infobox {
        width: 80%;
        min-width: 550px;
        padding: 50px;
        margin-top: -60px;
    }

    .top07 .titbox .subtit {
        font-size: 16px;
    }

    .top07 .infolist {
        width: 65%;
        margin: 0 auto;
    }

    .top07 .infolist .item {
        width: 100%;
        border-left: none;
        border-top: 1px solid #dacfbc;
    }

    .top07 .infolist .item:last-of-type {
        border-right: none;
        border-bottom: 1px solid #dacfbc;
    }

    .top07 .infolist .tit {
        font-size: 20px;
    }

    .top07 .infolist dd {
        font-size: 16px;
    }

    .top07 .infolist dd.tel a {
        font-size: 24px;
    }

    .top07 .schelist dt.tit {
        font-size: 12px;
        padding: 20px 15px;
    }

    .top07 .timebox h4 {
        font-size: 20px;
    }
}

@media (max-width:599px) {
    .top07 .infobox {
        margin-top: 40px;
        min-width: auto;
        width: 94%;
        padding: 30px 10px;
    }



    .top07 .infolist {
        width: 100%;
        padding-top: 30px;
    }

    .top07 .infolist .tit {
        font-size: 18px;
    }

    .top07 .infolist dd {
        font-size: 14px;
    }

    .top07 .infolist dd.tel a {
        font-size: 22px;
    }

    .top07 .timebox h4 {
        font-size: 18px;
    }

    .top07 .timebox .titbox .subtit {
        font-size: 14px;
    }

    .top07 .schelist dt.tit {
        width: 40%;
        padding: 20px 5px;
        text-align: center;
    }

    .top07 .schelist dd {
        width: 10%;
    }

    .top07 .infolist .item {
        padding: 10px 0px;
    }

    .top07 .infolist dd {
        padding-top: 10px;
    }

    .top07 .timebox {
        padding-top: 30px;
    }
}


/*top08*/
.top08 .titbox a {
    display: block;
    padding: 70px 0;
    background-color: var(--color-01);
}

.top08 .titbox h3.tit {
    color: #fff;
    margin-bottom: 0;
}

.top08 .titbox .subtit {
    color: #fff;
}

@media (max-width:1024px) {
    .top08 .titbox .subtit {
        font-size: 16px;
    }

    .top08 .titbox a {
        padding: 40px 0;
    }
}

@media (max-width:599px) {}



/*下層common*/
.btn {
    text-align: center;
}

.btn a {
    display: inline-block;
    width: 300px;
    color: #fff;
    background-color: var(--color-01);
    font-size: 18px;
    line-height: 1;
    padding: 20px 0;
    border-radius: 30px;
    position: relative;
}

.btn.long a {
    width: 400px;
}

.btn a:before {
    content: "";
    width: 30px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.btn a:after {
    content: "";
    width: 10px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    right: 15px;
    top: 45%;
    -webkit-transform: rotate(30deg) translateY(-50%);
    transform: rotate(30deg) translateY(-50%);
}

.btn.back a:before {
    content: "";
    width: 30px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.btn.back a:after {
    content: "";
    width: 10px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 15px;
    top: 45%;
    -webkit-transform: rotate(-30deg) translateY(-50%);
    transform: rotate(-30deg) translateY(-50%);
}

.centertitbox {
    margin-bottom: 60px;
}

.centertitbox .subtit {
    text-align: center;
}

.centertitbox .subtit span {
    font-size: 13px;
    position: relative;
    display: inline-block;
    padding: 0 80px;
    line-height: 1;
}

.centertitbox .subtit span:before {
    content: "";
    width: 50px;
    height: 1px;
    background-color: var(--color-01);
    position: absolute;
    left: 0;
    top: 48%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.centertitbox .subtit span:after {
    content: "";
    width: 50px;
    height: 1px;
    background-color: var(--color-01);
    position: absolute;
    right: 0;
    top: 48%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.centertitbox h3.tit {
    font-size: 32px;
    text-align: center;
    padding-top: 10px;
}

.bl-lightbeige {
    padding-left: 10px;
    border-left: 10px solid var(--color-02);
}

.bl-brown {
    padding-left: 10px;
    border-left: 10px solid var(--color-01);
}

/*breadcrumbs*/

.breadcrumbs {
    padding: 30px 10px;
}

.breadcrumbs li {
    color: var(--color-01);
    display: inline;
    font-size: 14px;
    font-weight: bold;
}

.breadcrumbs li a {
    color: var(--color-01);
}

.breadcrumbs ol li:after {
    content: "\f054";
    font-family: FontAwesome;
    font-size: 12px;
    vertical-align: bottom;
    margin: 0 20px;
}

.breadcrumbs ol li:last-of-type:after {
    display: none;
}

/*mv*/
.under .mv {
    position: relative;
}

[data-element-id] .under .mv {
    margin-top: 130px;
}

.under .mvbox .titbox {
    padding: 110px 0 270px;
}

.under .mvbox .titbox h2.tit {
    font-size: 42px;
    line-height: 1.8em;
    text-shadow: 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff;
}

.under .mvbox .titbox h2.tit span.lightblue {
    color: #95d4df;
}

.under .mvbox .titbox div.subtit {
    font-size: 18px;
    line-height: 2.3em;
    letter-spacing: 0.12em;
    text-shadow: 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff;
}

[data-element-id] .under .mvbox .titbox div.subtit {
    text-shadow: none;
}

.under .mvbox .pic.ofiImg {
    right: 0;
    position: absolute;
    top: -180px;
    height: 123%;
    width: 65%;
}

@media (max-width:1024px) {
    .breadcrumbs {
        padding: 20px 0;
    }

    .under .mvbox .titbox {
        padding: 90px 0 190px;
    }

    .under .mvbox .titbox h2.tit {
        font-size: 32px;
    }

    .under .mvbox .titbox div.subtit {
        font-size: 20px;
    }

    .under .mvbox .pic.ofiImg {
        top: -60px;
        width: 80%;
        height: 100%;
    }

    .btn a {
        font-size: 16px;
    }

    .centertitbox {
        margin-bottom: 40px;
    }

    .centertitbox h3.tit {
        font-size: 26px;
    }
}

@media (max-width:599px) {
    .breadcrumbs {
        padding: 15px 0;
    }

    .under .mvbox .titbox {
        padding: 130px 0 0;
    }

    .under .mvbox .titbox h2.tit {
        font-size: 22px;
    }

    .under .mvbox .titbox div.subtit {
        font-size: 14px;
    }

    .under .mvbox .pic.ofiImg {
        top: -50px;
        width: 85%;
        height: 124%;
    }

    .centertitbox h3.tit {
        font-size: 20px;
    }

    .centertitbox .subtit span {
        font-size: 10px;
        line-height: 1.6em;
    }

    .btn.long a {
        max-width: 100%;
    }
}

/*clinic*/

.clinic01area {
    overflow: hidden;
}

.clinic01 .pic {
    width: 65vw;
    right: 35%;
    left: auto;
    -webkit-transform: none;
    transform: none;
}

.clinic01 .infobox {
    width: 52%;
    position: relative;
    padding: 60px 30px 40px 0;
    margin: 150px 0 50px auto;
    z-index: 2;
}

.clinic01 .infobox:after {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: var(--color-02);
    position: absolute;
    top: 0;
    left: -100px;
    z-index: -1;
}

.clinic01 .infobox .titbox h3.tit {
    font-size: 32px;
    padding-top: 10px;
    letter-spacing: 0.2em;
}

.clinic01 .infobox .titbox .subtit {
    font-size: 13px;
    position: relative;
    padding-right: 1em;

}

.clinic01 .infobox .titbox .subtit:after {
    content: "";
    width: 75%;
    height: 1px;
    background-color: #dacfbc;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.clinic01 .infobox .infolist {
    padding-top: 60px;
}

.clinic01 .infobox .infolist .item {
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #dacfbc;
}

.clinic01 .infobox .infolist .item .tit {
    font-size: 18px;
    letter-spacing: 0.2em;
    width: 32%;
}

.clinic01 .infobox .infolist .item dd {
    width: 65%;
}

.clinic01 .infobox .infolist .item dd.tel a {
    color: #000;
}

@media (max-width:1024px) {
    .clinic01 .infobox {
        width: 65%;
        margin: 100px 0 50px auto;
    }

    .clinic01 .infobox:after {
        left: -50px;
    }

    .clinic01 .infobox .titbox h3.tit {
        font-size: 26px;
    }

    .clinic01 .infobox .infolist {
        padding-top: 40px;
    }

    .clinic01 .infobox .infolist .item .tit {
        font-size: 16px;
        width: 23%;
    }

    .clinic01 .infobox .infolist .item dd {
        width: 75%;
    }
}

@media (max-width:599px) {
    .clinic01 .pic {
        width: 100vw;
        right: 50%;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
    }

    .clinic01 .infobox {
        width: 100%;
        margin: 60px auto;
        padding: 30px 15px 30px;
    }

    .clinic01 .infobox:after {
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        background-color: rgba(238, 231, 223, 0.9);
    }

    .clinic01 .infobox .titbox h3.tit {
        font-size: 22px;
    }

    .clinic01 .infobox .titbox .subtit:after {
        width: 50%;
    }

    .clinic01 .infobox .infolist .item .tit {
        width: 100%;
    }

    .clinic01 .infobox .infolist .item dd {
        width: 100%;
        padding-top: 10px;
    }
}

/*clinic02*/
.clinic02 {
    padding: 120px 0 120px;
}

.clinic02 .titbox h3.tit {
    font-size: 24px;
}

.clinic02 .titbox .txtbox {
    padding-top: 20px;
    line-height: 2em;
}

.clinic02 .descbox {
    padding: 50px 60px 60px;
    margin-top: 80px;
    background-color: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    counter-reset: number;
}

.clinic02 .descbox .tit {
    font-size: 24px;
    margin-bottom: 40px;
}

.clinic02 .descbox dd {
    margin-bottom: 30px;
    padding-left: 40px;
    position: relative;
    line-height: 2em;
}

.clinic02 .descbox dd:last-of-type {
    margin-bottom: 0;
}

.clinic02 .descbox dd:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--color-01);
    color: #fff;
    content: counter(number);
    counter-increment: number;
    text-align: center;
    font-size: 20px;
    line-height: 30px;
}

.clinic02 .btn {
    margin-top: 65px;
}

@media (max-width:1024px) {
    .clinic02 {
        padding: 80px 0 120px;
    }

    .clinic02 .descbox {
        margin-top: 60px;
        padding: 40px 40px 50px;
    }

    .clinic02 .descbox .tit {
        font-size: 20px;
        margin-bottom: 30px;
    }

    .clinic02 .descbox dd:before {
        font-size: 16px;
        width: 26px;
        height: 26px;
        line-height: 26px;
        font-weight: bold;
        padding-left: 3px;
        padding-top: 1px;
    }
}

@media (max-width:599px) {
    .clinic02.mk2 {
        padding: 0px 0 60px;
    }

    .feature .clinic02.mk2 {
        padding: 10px 0 60px;
    }

    .clinic02 .titbox h3.tit {
        font-size: 20px;
    }

    .clinic02 .descbox {
        padding: 30px 10px 30px;
    }

    .clinic02 .descbox .tit {
        font-size: 18px;
    }


}

/*clinic03*/
.clinic03 {
    padding: 100px 0 120px;
}

.clinic03 .map {
    z-index: 1;
}

.clinic03 .map:after {
    padding-top: 50%;
}

.clinic03 .info {
    padding-bottom: 30px;
    border-bottom: 1px solid #dacfbc;
}

.clinic03 .info .left {
    width: 44%;
}

.clinic03 .info .left dt {
    font-size: 24px;
}

.clinic03 .info .left dd.adress {
    padding-top: 30px;
}

.clinic03 .info .left dd.telbox {
    padding-top: 40px;
}

.clinic03 .info .left dd.telbox a {
    font-size: 32px;
    color: var(--color-01);
}

.clinic03 .infobox {
    background-color: #fff;
    padding: 120px 0 110px;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    position: relative;
    margin-top: -65px;
}

.clinic03 .info .right {
    width: 50%;
}

.clinic03 .info .right .schelist dl {
    border-bottom: 2px solid var(--color-01);
}

.clinic03 .info .right .schelist dl:first-of-type {
    border-top: 2px solid var(--color-01);
    background-color: var(--color-02);
}

.clinic03 .info .right .schelist dt.tit {
    width: 34%;
    padding: 20px 5px;
    color: var(--color-01);
}

.clinic03 .info .right .schelist dd {
    border-left: 2px solid var(--color-01);
    text-align: center;
    width: 11%;
    padding: 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--color-01);
}

.clinic03 .info .right p {
    width: 100%;
    text-align: right;
    padding-top: 10px;
    color: var(--color-01);
}

.clinic03 .access dt {
    font-size: 18px;
    font-weight: 500;
}

.clinic03 .access {
    padding-top: 30px;
}

.clinic03 .access dt {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.clinic03 .access .txtbox {
    padding-top: 30px;
}

.clinic03 .access .left {
    width: 44%;
}

.clinic03 .access .right {
    width: 44%;
}

@media (max-width:1024px) {
    .clinic03 .infobox {
        margin-top: 40px;
        padding: 100px 0 80px;
    }


    .clinic03 .info .left {
        width: 45%;
    }

    .clinic03 .info .left dt {
        font-size: 18px;
    }

    .clinic03 .info .left dd.telbox a {
        font-size: 26px;
    }

    .clinic03 .info .right {
        width: 53%;
    }

    .clinic03 .info .right .schelist dt.tit {
        font-size: 12px;
    }

    .clinic03 .access {
        padding-top: 0;
    }

    .clinic03 .access dt {
        font-size: 16px;
    }
}

@media (max-width:599px) {
    .clinic03 {
        padding: 80px 0;
    }

    .clinic03 .map:after {
        padding-top: 70%;
    }

    .clinic03 .infobox {
        padding: 60px 0;
    }

    .clinic03 .info .left {
        width: 100%
    }

    .clinic03 .info .right {
        width: 100%;
        margin-top: 40px;
    }

    .clinic03 .access .left {
        width: 100%;
    }

    .clinic03 .access .right {
        width: 100%;
        margin-top: 40px;
    }

    .clinic03 .access .txtbox {
        padding-top: 20px;
    }
}


/*clinic04*/
.clinic04 {
    padding: 120px 0 100px;
}

.clinic04 .item {
    width: 46%;
}

.clinic04 .item .tit {
    margin-top: 30px;
    font-size: 20px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.clinic04 .item .txtbox {
    margin-top: 30px;
}

@media (max-width:1024px) {
    .clinic04 {
        padding: 100px 0 40px;
    }

    .clinic04 .item {
        margin-bottom: 80px;
    }

    .clinic04 .item .tit {
        font-size: 18px;
    }

    .clinic04 .item .txtbox {
        margin-top: 20px;
    }

    .footbox .info .adress {
        padding-top: 15px;
    }

    .footbox .info .telbox {
        padding-top: 15px;
    }

    .footbox {
        padding: 0px 0;
    }
}

@media (max-width:599px) {
    .clinic04 {
        padding: 80px 0;
    }

    .clinic04 .item {
        width: 100%;
        margin-bottom: 40px;
    }

    .clinic04 .item:last-of-type {
        margin-bottom: 0;
    }

    .clinic04 .item .tit {
        font-size: 16px;
    }
}



/*guide*/
.guide01 {
    padding: 30px 0 120px;
}

.guide01 .pic {
    width: 60%;
    position: relative;
}

.guide01 .picwrap {
    position: absolute;
    width: 60vw;
    height: 100%;
    right: 0;
    top: 0;
}

.guide01 .infobox {
    width: 40%;
    position: relative;
    padding: 110px 0 0 70px;
    z-index: 2;
}

.guide01 .infobox .titbox h3.tit {
    font-size: 32px;
    padding-top: 10px;
    letter-spacing: 0.2em;
}

.guide01 .infobox .titbox .subtit {
    font-size: 13px;
    position: relative;
    padding-right: 1em;
}

.guide01 .infobox .txtbox {
    padding-top: 50px;
    line-height: 2em;
}

@media (max-width:1024px) {
    .guide01 {
        padding: 0 0 120px;
    }

    .guide01 .infobox .titbox h3.tit {
        font-size: 26px;
    }

    .guide01 .infobox .txtbox {
        padding-top: 40px;
    }

    .guide01 .pic {
        width: 50%;
    }

    .guide01 .infobox {
        width: 50%;
        padding: 70px 0 0 50px;
    }
}

@media (max-width:599px) {
    .guide01 {
        padding: 60px 0 60px;
    }

    .guide01 .infobox {
        width: 100%;
        padding: 0;
    }

    .guide01 .infobox .titbox h3.tit {
        font-size: 22px;
        text-align: center;
    }

    .guide01 .infobox .titbox .subtit {
        text-align: center;
    }

    .guide01 .pic {
        width: 100%;
        padding-top: 40px;
    }

    .guide01 .picwrap {
        width: 100vw;
        right: auto;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        position: relative;
    }
}


/*guide02*/
.guide02 {
    padding: 100px 0 120px;
}

.guide02 .item {
    margin-bottom: 100px;
}

.guide02 .item:last-of-type {
    margin-bottom: 0;
}

.guide02 .item .txtarea {
    width: 50%
}

.guide02 .item .tit {
    font-size: 26px;
}

.guide02 .item .txtbox {
    padding-top: 30px;
    line-height: 2em;
}

.guide02 .item .pic {
    width: 46%;
}

@media (max-width:1024px) {
    .guide02 {
        padding: 80px 0 100px;
    }

    .guide02 .item .tit {
        font-size: 20px;
    }

    .guide02 .item .txtbox {
        padding-top: 20px;
    }
}

@media (max-width:599px) {
    .guide02 {
        padding: 60px 0 60px;
    }

    .guide02 .item .txtarea {
        width: 100%;
    }

    .guide02 .item .tit {
        font-size: 18px;
    }

    .guide02 .item .pic {
        width: 100%;
        padding-top: 40px;
    }
}


/*guide03*/
.guide03 {
    padding: 120px 0 120px;
}

.guide03 .list {
    counter-reset: section;
}

.guide03 .item {
    padding-bottom: 70px;
    padding-left: 90px;
    position: relative;
    counter-increment: section;
}

.guide03 .item:last-of-type {
    padding-bottom: 0;
}

.guide03 .item:before {
    content: counter(section, decimal-leading-zero);
    width: 54px;
    height: 54px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
    font-size: 40px;
    text-align: center;
    line-height: 54px;
    letter-spacing: 0;
    color: #fff;
    background-color: var(--color-01);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.guide03 .item:after {
    content: "";
    width: 4px;
    height: 100%;
    background-color: var(--color-02);
    position: absolute;
    top: 0;
    left: 27px;
}

.guide03 .item:last-of-type:after {
    display: none;
}

.guide03 .item .txtarea {
    width: 55%;
    position: relative;
}

.guide03 .item .tit {
    font-size: 24px;
}

.guide03 .item .txtbox {
    padding-top: 20px;
}

.guide03 .item .pic {
    width: 40%;
}

.guide03 .btn {
    margin-top: 100px;
}

.guide03 .btn a {
    width: 330px;
}

@media (max-width:1024px) {
    .guide03 {
        padding: 100px 0 120px;
    }

    .guide03 .item {
        padding-left: 70px;
    }

    .guide03 .item:before {
        width: 44px;
        height: 44px;
        font-size: 34px;
        line-height: 44px;
    }

    .guide03 .item:after {
        left: 22px;
    }

    .guide03 .item .tit {
        font-size: 20px;
    }
}

@media (max-width:599px) {
    .guide03 {
        padding: 60px 0 60px;
    }

    .guide03 .item .txtarea {
        width: 100%;
    }

    .guide03 .item:before {
        width: 40px;
        height: 40px;
        font-size: 30px;
        line-height: 40px;
    }

    .guide03 .item:after {
        left: 20px;
        width: 2px;
    }

    .guide03 .item .tit {
        font-size: 18px;
    }

    .guide03 .item .tit.b15:after {
        left: 0;
        -webkit-transform: none;
        transform: none;
    }

    .guide03 .item .pic {
        width: 100%;
        padding-top: 40px;
    }

    .guide03 .btn {
        margin-top: 80px;
    }

    .guide03 .btn a {
        width: 300px;
        font-size: 14px;
    }
}


/*about*/
.about01 {
    padding-bottom: 120px;
}

.about01area {
    position: relative;
}

.about01area:after {
    content: "";
    width: 100vw;
    height: 140%;
    background-color: var(--color-02);
    position: absolute;
    top: -60px;
    left: 35%;
}

.about01 .txtbox {
    padding: 100px 0 110px;
}

.about01 .titbox .subtit {
    font-size: 13px;
    display: inline-block;
    position: relative;
    padding-right: 20px;
    line-height: 1;
}

.about01 .titbox .subtit:after {
    content: "";
    width: 400px;
    height: 1px;
    background-color: var(--color-01);
    position: absolute;
    left: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.about01 .titbox h3.tit {
    font-size: 40px;
}

.about01 .txtbox .list {
    counter-reset: number;
}

.about01 .txtbox .item {
    font-size: 24px;
    margin-bottom: 30px;
    position: relative;
    padding-left: 1.5em;
}

.about01 .txtbox .item:last-of-type {
    margin-bottom: 0;
}

.about01 .txtbox .item:before {
    counter-increment: number;
    content: counter(number)"-";
    left: 0;
    top: 0;
    position: absolute;
}

@media (max-width:1024px) {
    .about01 {
        padding-bottom: 120px;
    }

    .about01 .txtbox {
        padding: 80px 0 90px;
    }

    .about01 .titbox h3.tit {
        font-size: 34px;
    }

    .about01 .txtbox .list {
        padding-top: 40px;
    }

    .about01 .txtbox .item {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .about01area:after {
        height: 120%;
        top: -30px;
        left: 25%;
    }
}

@media (max-width:599px) {
    .about01 {
        padding-bottom: 120px;
    }

    .about01 .txtbox {
        padding: 60px 0 0px;
    }

    .about01 .titbox .subtit:after {
        width: 200px;
    }

    .about01 .titbox h3.tit {
        font-size: 24px;
    }

    .about01 .txtbox .list {
        padding-top: 30px;
    }

    .about01 .txtbox .item {
        font-size: 16px;
    }
}

/*about02*/
.about02 .txtbox {
    padding-top: 50px;
    line-height: 2em;
}

@media (max-width:1024px) {
    .about02 .txtbox {
        padding-top: 40px;
    }
}


/*about03*/
.about03 {
    padding: 120px 0 120px;
}

.about03 .infobox {
    width: 50%;
    padding: 50px 0 40px;
    position: relative;
    z-index: 1;
}

.about03 .infobox:after {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: var(--color-02);
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}

.about03 .infobox .titbox .subtit {
    font-size: 13px;
}

.about03 .infobox .titbox h3.tit {
    font-size: 32px;
}

.about03 .infobox .namebox {
    padding-top: 20px;
}

.about03 .infobox .namebox .position {
    font-size: 24px;
}

.about03 .infobox .namebox .name {
    font-size: 48px;
    margin-left: 35px;
}

.about03 .infobox .careerbox {
    padding-top: 40px;
}

.about03 .infobox .careerbox .tit {
    font-size: 22px;
}

.about03 .infobox .careerbox .list {
    padding-top: 30px;
}

.about03 .infobox .careerbox .item {
    margin-bottom: 15px;
}

.about03 .infobox .careerbox .year {
    width: 80px;
}

.about03 .infobox .careerbox .career {
    width: calc(100% - 80px - 20px);
}

.about03 .pic {
    width: 50%;
    position: relative;
}

.about03 .picwrap {
    position: absolute;
    width: 25vw;
    height: 100%;
    margin: 0 0 0 0;
}

@media (max-width:1024px) {
    .about03 {
        padding: 100px 120px;
    }

    .about03 .infobox {
        width: 70%;
        padding: 40px 0 60px;
    }

    .about03 .infobox:after {
        background-color: rgba(238, 231, 223, 0.9);
    }

    .about03 .infobox .titbox h3.tit {
        font-size: 24px;
    }

    .about03 .infobox .namebox {
        padding-top: 30px;
    }

    .about03 .infobox .namebox .position {
        font-size: 22px;
    }

    .about03 .infobox .namebox .name {
        font-size: 30px;
    }

    .about03 .infobox .careerbox {
        padding-top: 30px;
    }

    .about03 .infobox .careerbox .tit {
        font-size: 20px;
    }

    .about03 .infobox .careerbox .list {
        padding-top: 20px;
    }

    .about03 .infobox .careerbox .item {
        margin-bottom: 10px;
    }

    .about03 .pic {
        width: 30%;
    }

    .about03 .picwrap {
        height: 116%;
        margin: 170px 0 0 -110px;
    }

}

@media (max-width:599px) {
    .about03 {
        padding: 100px 0;
    }

    .about03 .infobox {
        width: 100%;
        padding: 30px 0;
    }

    .about03 .infobox:after {
        background-color: var(--color-02);
        right: 50%;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
    }

    .about03 .infobox .titbox .subtit {
        text-align: center;
    }

    .about03 .infobox .titbox h3.tit {
        text-align: center;
        font-size: 22px;
    }

    .about03 .infobox .namebox {
        padding-top: 20px;
    }

    .about03 .infobox .namebox .position {
        display: block;
        text-align: center;
        font-size: 18px;
    }

    .about03 .infobox .namebox .name {
        display: block;
        font-size: 24px;
        text-align: center;
        padding-top: 10px;
        margin-left: 0;
    }

    .about03 .infobox .careerbox .tit {
        font-size: 16px;
        text-align: center;
    }

    .about03 .infobox .careerbox .item {
        margin-bottom: 15px;
    }

    .about03 .infobox .careerbox .year {
        width: 100%;
    }

    .about03 .infobox .careerbox .career {
        width: 100%;
        padding-top: 5px;
    }

    .about03 .pic {
        width: 100%;
        padding: 10px 0 60px;
        position: relative;
    }

    .about03 .pic:after {
        content: "";
        width: 100vw;
        height: 100%;
        background-color: var(--color-02);
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .about03 .picwrap {
        position: relative;
        width: 100%;
        height: auto;
        margin: 0;
        z-index: 1;
    }

    .about03 .picwrap .ofiImg {
        position: relative;
        padding-top: 90%;
        display: block;
    }

    .about03 .picwrap .ofiImg img {
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        -o-object-position: top center;
        object-position: top center;
    }
}


/*staff*/
.staff01 {
    padding: 70px 0 120px;
}

.staff01 .item {
    margin-bottom: 120px;
}

.staff01 .item:last-of-type {
    margin-bottom: 0;
}

.staff01 .item .infobox {
    width: 36%;
    padding: 60px 0;
}

.staff01 .infobox .position {
    font-size: 20px;
}

.staff01 .infobox .name {
    font-size: 40px;
    padding-top: 20px;
}

.staff01 .infobox .txtbox {
    padding-top: 50px;
    line-height: 2em;
}

.staff01 .item .pic {
    width: 54%;
    position: relative;
}

.staff01 .item .picwrap {
    position: absolute;
    width: 60vw;
    height: 100%;
    left: 0;
    top: 0;
}

.staff01 .item:nth-of-type(even) .picwrap {
    left: auto;
    right: 0;
}

@media (max-width:1024px) {
    .staff01 {
        padding: 0 0 120px;
    }

    .staff01 .item {
        margin-bottom: 130px;
    }

    .staff01 .item .infobox {
        padding: 40px 0;
    }

    .staff01 .infobox .position {
        font-size: 16px;
    }

    .staff01 .infobox .name {
        font-size: 30px;
        padding-top: 10px;
    }

    .staff01 .infobox .txtbox {
        padding-top: 30px;
    }

    .staff01 .item .pic {
        width: 58%;
    }
}

@media (max-width:599px) {
    .staff01 {
        padding: 0 0 50px;
    }

    .staff01 .item {
        margin-bottom: 50px;
    }

    .staff01 .item .infobox {
        width: 100%;
        padding: 0;
    }

    .staff01 .infobox .name {
        font-size: 22px;
    }

    .staff01 .infobox .name.b15:after {
        left: 0;
        -webkit-transform: none;
        transform: none;
    }

    .staff01 .infobox .txtbox {
        padding-top: 20px;
    }

    .staff01 .item .pic {
        width: 100%;
        padding-top: 40px;
    }

    .staff01 .item .picwrap {
        position: relative;
        width: 100%;
        height: auto;
        padding-top: 70%;
        display: block;
    }

    .staff01 .item .picwrap img {
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        -o-object-position: top center;
        object-position: top center;
    }
}

.chiryotbl {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #a1611e;
    background: #fff;
}

.chiryotbl tbody tr th {
    padding: 8px 10px;
    border: 1px solid #cccccc;
    text-align: center;
    background: var(--color-01);
    color: #fff;
}

.chiryotbl tbody tr td {
    border: 1px solid #aaa;
    padding: 6px 10px;
}


.clb .txtbox b {
    color: var(--color-01);
    font-size: 20px;
    margin: 0 0 8px;
    display: block;
    padding-left: 20px;
    position: relative;
}

.clb .txtbox b::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 5px solid var(--color-01);
    position: absolute;
    top: 4px;
    left: 0;
}

.clb .txtbox.mini b::before {
    top: 8px;
}

/*common-layout-box*/
/*clb01*/
.clb01 {
    padding: 30px 0 120px;
}

.clb01 .pic {
    width: 50%;
    position: relative;
}

.clb01 .picwrap {
    position: absolute;
    width: 50vw;
    height: 100%;
    right: 0;
    top: 0;
}

.clb01 .infobox {
    width: 50%;
    position: relative;
    padding: 110px 0 0 50px;
    z-index: 2;
}

.clb01 .infobox .titbox h3.tit {
    font-size: 32px;
    letter-spacing: 0.2em;
}

.clb01 .infobox .txtbox {
    padding-top: 50px;
    line-height: 2em;
}

@media (max-width:1024px) {
    .clb01 {
        padding: 0 0 120px;
    }

    .clb01 .infobox .titbox h3.tit {
        font-size: 26px;
    }

    .clb01 .infobox .txtbox {
        padding-top: 40px;
    }

    .clb01 .pic {
        width: 50%;
    }

    .clb01 .infobox {
        width: 50%;
        padding: 70px 0 0 50px;
    }
}

@media (max-width:599px) {
    .clb01 {
        padding: 40px 0 60px;
    }

    .clb01 .infobox {
        width: 100%;
        padding: 0;
    }

    .clb01 .infobox .titbox h3.tit {
        font-size: 22px;
        text-align: center;
        letter-spacing:0;
    }

    .clb01 .infobox .titbox .subtit {
        text-align: center;
    }

    .clb01 .pic {
        width: 100%;
        padding-top: 40px;
    }

    .clb01 .picwrap {
        width: 100vw;
        right: auto;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        position: relative;
    }
}

/*clb02*/
.clb02 {
    padding: 90px 0 80px;
}

.clb02 h3.tit {
    font-size: 32px;
    padding-bottom: 30px;
    text-align: center;
    margin-bottom: 50px;
    position: relative;
}

.clb02 h3.tit:after {
    content: "";
    width: 50px;
    height: 1px;
    background-color: var(--color-01);
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.clb02 .txtarea .tit {
    font-size: 26px;
}

.clb02 .txtarea .txtbox {
    padding-top: 30px;
    line-height: 2em;
}

@media (max-width:1024px) {
    .clb02 {
        padding: 70px 0 60px;
    }

    .clb02 h3.tit {
        font-size: 26px;
        margin-bottom: 40px;
    }

    .clb02 .txtarea .tit {
        font-size: 22px;
    }

    .clb02 .txtarea .txtbox {
        padding-top: 20px;
    }
}

@media (max-width:599px) {
    .clb02 {
        padding: 60px 0 60px;
    }

    .clb02 h3.tit {
        font-size: 20px;
    }

    .clb02 .txtarea .tit {
        font-size: 20px;
    }
}

/*clb03*/
.clb03 {
    padding-top: 120px;
}

.clb03.pbon {
    padding-bottom: 120px;
}

.clb04 .clb03 {
    padding-top: 60px;
}

.clb04.mbnone {
    padding-bottom: 0;
}

.clb03 .item {
    margin-bottom: 140px;
}

.feature .clb03 .item {
    margin-bottom: 60px;
}

.clb03 .item:last-of-type {
    margin-bottom: 0;
}

.clb03 .item .infobox {
    width: 50%;
}

.clb03 .item .tit {
    font-size: 24px;
}

.clb03 .item .txtbox {
    padding-top: 30px;
    line-height: 2em;
}

.feature .clb03 .item .txtbox {
    padding-top: 0px;
}

.clb03 .item .pic {
    width: 40%;
}

@media (max-width:1024px) {
    .clb03 {
        padding-top: 80px;
    }

    .clb03 .item {
        margin-bottom: 100px;
    }

    .clb03 .item .tit {
        font-size: 22px;
    }

    .clb03 .item .txtbox {
        padding-top: 20px;
    }
}

@media (max-width:599px) {
    .clb03 {
        padding-top: 0px;
    }

    .clb03.mk2 {
        padding-top: 60px;
    }

    .clb03 .item {
        margin-bottom: 50px;
    }

    .feature .clb03 .item {
        margin-bottom: 30px;
    }

    .clb03 .item .infobox {
        width: 100%;
    }

    .clb03 .item .tit {
        font-size: 20px;
        text-align: center;
    }

    .clb03 .item .pic {
        width: 100%;
        padding-top: 20px;
    }

    .clb03 .item .ofiImg {
        width: 100vw;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .feature .clb03 .item .txtbox {
        padding-top: 0px;
    }

    .clb03.pbon {
        padding-bottom: 60px;
    }

    .feature .clb03 .item:last-child {
        margin-bottom: 0px;
    }
}

/*clb04*/
.clb04 {
    padding: 120px 0 120px;
}

.clb04 .pic {
    width: 50%;
    position: relative;
}

.clb04 .picwrap {
    position: absolute;
    width: 60vw;
    height: 100%;
    left: 0;
    top: 0;
}

.clb04 .infobox {
    width: 50%;
    position: relative;
    padding: 110px 50px 0 0;
    z-index: 2;
}

.clb04 .infobox .titbox h3.tit {
    font-size: 30px;
    letter-spacing: 0em;
}

.clb04 .infobox .txtbox {
    /*padding-top: 50px;*/
    line-height: 2em;
}

@media (max-width:1024px) {
    .clb04 {
        padding: 100px 0 120px;
    }

    .clb04 .infobox .titbox h3.tit {
        font-size: 26px;
    }

    .clb04 .infobox .txtbox {
        padding-top: 40px;
    }

    .clb04 .pic {
        width: 50%;
    }

    .clb04 .infobox {
        width: 50%;
        padding: 70px 50px 0 0;
    }
}

@media (max-width:599px) {
    .clb04 {
        padding: 60px 0;
    }

    .clb04.mk2 {
        padding: 0px 0;
    }

    .clb04 .infobox {
        width: 100%;
        padding: 0;
    }

    .clb04 .infobox .titbox h3.tit {
        font-size: 22px;
        text-align: center;
    }

    .clb04 .infobox .titbox .subtit {
        text-align: center;
    }

    .clb04 .pic {
        width: 100%;
        padding-top: 40px;
    }

    .clb04 .picwrap {
        width: 100vw;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        position: relative;
    }
}

/*recruit*/
/*recruit01*/
.recruit01 {
    padding: 60px 0 120px;
}

.recruit01 h3.tit {
    font-size: 42px;
}

.recruit01 .txtbox {
    padding-top: 70px;
    font-size: 18px;
    line-height: 2em;
}

@media (max-width:1024px) {
    .recruit01 {
        padding: 60px 0 120px;
    }

    .recruit01 h3.tit {
        font-size: 30px;
    }

    .recruit01 .txtbox {
        font-size: 16px;
    }
}

@media (max-width:599px) {
    .recruit01 {
        padding: 60px 0 60px;
    }

    .recruit01 h3.tit {
        font-size: 18px;
    }

    .recruit01 .txtbox {
        font-size: 14px;
        text-align: left;
        padding-top: 40px;
    }
}

/*recruit01*/
.recruit02 {
    padding: 120px 0 120px;
}

.recruit02 .list {
    padding-top: 100px;
    counter-reset: section;
}

.recruit02 .item {
    margin-bottom: 120px;
}

.recruit02 .item:last-of-type {
    margin-bottom: 0;
}

.recruit02 .item .infobox {
    width: 54%;
    margin-top: 60px;
    padding: 70px 60px 75px 45px;
    position: relative;
    counter-increment: section;
}

.recruit02 .item:nth-of-type(even) .infobox {
    padding: 70px 45px 75px 60px;
}

.recruit02 .item .infobox:before {
    content: counter(section, decimal-leading-zero);
    position: absolute;
    color: rgb(78 78 78 / 24%);
    top: -25%;
    left: 35px;
    font-size: 180px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
    letter-spacing: -0.06em;
    line-height: 1;
    z-index: 2;
}

.recruit02 .item .infobox:after {
    content: "";
    width: 160%;
    height: 100%;
    background-color: #f8f7f3;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.recruit02 .item:nth-of-type(even) .infobox:after {
    left: auto;
    right: 0;
}

.recruit02 .item .infobox .tit {
    font-size: 24px;
    padding-bottom: 25px;
    z-index: 1;
}

.recruit02 .item .infobox .txtbox {
    padding-top: 40px;
    line-height: 2em;
    z-index: 1;
    position: relative;
}

.recruit02 .item .pic {
    width: 46%;
    z-index: 1;
}

@media (max-width:1024px) {
    .recruit02 .list {
        padding-top: 80px;
    }

    .recruit02 .item {
        margin-bottom: 140px;
    }

    .recruit02 .item .infobox {
        padding: 50px 40px 55px 25px;
    }

    .recruit02 .item:nth-of-type(even) .infobox {
        padding: 50px 25px 55px 40px;
    }

    .recruit02 .item .infobox:before {
        font-size: 130px;
        top: -22%;
        left: 20px;
    }

    .recruit02 .item .infobox .tit {
        font-size: 20px;
        padding-bottom: 20px;
    }

    .recruit02 .item .infobox .txtbox {
        padding-top: 30px;
    }
}

@media (max-width:599px) {
    .recruit02 {
        padding: 60px 0 60px;
    }

    .recruit02 .list {
        padding-top: 0px;
    }

    .recruit02 .item .infobox {
        width: 100%;
        padding: 50px 0 40px;
    }

    .recruit02 .item:nth-of-type(even) .infobox {
        padding: 50px 0 40px;
    }

    .recruit02 .item .infobox:before {
        font-size: 100px;
        top: -16%;
        left: 10px;
    }

    .recruit02 .item .infobox:after {
        width: 100vw;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .recruit02 .item:nth-of-type(even) .infobox:after {
        right: 50%;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
    }

    .recruit02 .item {
        margin-bottom: 0px;
    }

    .recruit02 .item .infobox .tit {
        font-size: 18px;
        text-align: center;
    }

    .recruit02 .item .pic {
        width: 100%;
        padding-bottom: 50px;
        position: relative;
        z-index: 1;
    }

    .recruit02 .item .pic .ofiImg {
        z-index: 1;
    }

    .recruit02 .item .pic:after {
        display: none;
    }
}

/*recruit03*/
.recruit03 .infoboxwrap {
    width: 53%;
    background-color: rgba(255, 255, 255, 0.88);
    padding: 90px 60px 65px;
    height: 585px;
}

.recruit03 h3.tit {
    width: 30px;
    font-size: 30px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin-left: 50px;
    letter-spacing: 0.2em;
}

.recruit03 .txtbox {
    width: calc(100% - 30px - 50px);
    font-size: 17px;
    line-height: 1.7em;
   -ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
text-orientation: upright;
}

@media (max-width:1024px) {
    .recruit03 .infobox {
        width: 100%;
    }

    .recruit03 .infoboxwrap {
        width: 80%;
        max-width: 500px;
        margin: 0 auto;
    }

    .recruit03 h3.tit {
        font-size: 24px;
    }

    .recruit03 .txtbox {
        font-size: 16px;
    }
}

@media (max-width:599px) {
    .recruit03 .infoboxwrap {
        width: 100%;
        max-width: 100%;
        height: 600px;
        padding: 40px 10px;
        background-color: rgba(255, 255, 255, 0.8);
    }
}

/*recruit04*/
.recruit04 {
    padding: 100px 0 120px;
}

.recruit04 .box {
    width: 80%;
    margin: 0 auto;
    background-color: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    padding: 40px 20px;
}

.recruit04 .box .tit {
    font-size: 20px;
}

.recruit04 .box .telbox {
    font-size: 22px;
    padding-top: 30px;
}

.recruit04 .box .tel a {
    font-size: 42px;
    color: var(--color-01);
    font-family: 'Cinzel', serif;
    font-weight: 400;
    letter-spacing: 0.12em;
}

.recruit04 .box .btn {
    margin-top: 40px;
}

.recruit04 .box .btn a {
    width: 400px;
}

@media (max-width:1024px) {
    .recruit04 {
        padding: 80px 0 140px;
    }

    .recruit04 .box {
        padding: 30px 20px;
    }

    .recruit04 .box .tit {
        font-size: 18px;
    }

    .recruit04 .box .telbox {
        padding-top: 20px;
        font-size: 20px;
    }

    .recruit04 .box .tel a {
        font-size: 36px;
    }

    .recruit04 .box .btn {
        margin-top: 30px;
    }
}

@media (max-width:599px) {
    .recruit04 {
        padding: 60px 0 100px;
    }

    .recruit04 .box {
        width: 100%;
        padding: 30px 10px;
    }

    .recruit04 .box .tit {
        font-size: 16px;
        text-align: left;
    }

    .recruit04 .box .telbox {
        padding-top: 15px;
        font-size: 18px;
    }

    .recruit04 .box .tel a {
        font-size: 28px;
    }

    .recruit04 .box .btn {
        margin-top: 20px;
    }

    .recruit04 .box .btn a {
        font-size: 14px;
        width: 100%;
        max-width: 320px;
    }
}

/*recruit05*/
.recruit05 .list {
    padding-top: 100px;
}

.recruit05 .item {
    width: 45%;
    margin: 0 10% 160px 0;
    position: relative;
}

.recruit05 .item:nth-of-type(even) {
    margin-right: 0;
}

.recruit05 .item .namearea {
    padding: 15px;
    background-color: #fff;
    width: 75%;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    position: absolute;
    top: -60px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1;
}

.recruit05 .item .namearea .tit {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.recruit05 .item .namearea .name {
    font-size: 24px;
    padding-top: 5px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.recruit05 .item .txtarea .tit {
    font-size: 21px;
    font-weight: 500;
    padding-top: 30px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.recruit05 .item .txtarea .txtbox {
    line-height: 2em;
    padding-top: 20px;
}

@media (max-width:1024px) {
    .recruit05 .list {
        padding-top: 80px;
    }

    .recruit05 .item {
        margin-bottom: 100px;
    }

    .recruit05 .item .namearea {
        min-width: 240px;
        padding: 10px;
        top: -50px;
    }

    .recruit05 .item .namearea .tit {
        font-size: 14px;
    }

    .recruit05 .item .namearea .name {
        font-size: 20px;
    }

    .recruit05 .item .txtarea .tit {
        font-size: 18px;
        padding-top: 20px;
    }
}

@media (max-width:599px) {
    .recruit05 .item {
        width: 100%;
        margin: 0 0 120px 0;
    }

    .recruit05 .item .txtarea .tit {
        padding-top: 10px;
    }

    .recruit05 .item .txtarea .txtbox {
        padding-top: 10px;
    }
}

/*recruit06*/
.recruit06 {
    padding: 100px 0;
}

.recruit06 .list {
    padding-top: 100px;
}

.recruit06 .list dl {
    padding: 30px 0;
    border-bottom: 1px solid var(--color-01);
}

.recruit06 .list .tit {
    width: 40%;
    font-size: 18px;
    padding-left: 155px;
}

.recruit06 .list .itemlist {
    width: 60%;
}

.recruit06 .list .itemlist .item {
    margin-bottom: 10px;
}

.recruit06 .list .itemlist .item:last-of-type {
    margin-bottom: 0;
}

.recruit06 .list .itemlist .item .tel a {
    color: #000;
}

@media (max-width:1024px) {
    .recruit06 .list {
        padding-top: 30px;
    }

    .recruit06 .list dl {
        padding: 20px 0;
    }

    .recruit06 .list .tit {
        font-size: 16px;
        padding-left: 50px;
    }
}

@media (max-width:599px) {
    .recruit06 {
        padding: 80px 0;
    }

    .recruit06 .list {
        padding-top: 0;
    }

    .recruit06 .list dl {
        padding: 30px 0;
    }

    .recruit06 .list .tit {
        width: 100%;
        padding-left: 0;
        text-align: center;
    }

    .recruit06 .list .itemlist {
        width: 100%;
        padding-top: 20px;
    }
}

/*recruit07*/
.recruit07 {
    padding: 130px 0 160px;
}

.recruit07.application-form {
    padding: 0 0 160px;
}

.recruit07.application-form .atte {
    padding-top: 20px;
    font-size: 20px;
}

.recruit07 .txtbox {
    line-height: 2em;
}

.recruit07 .btn.back {
    margin: 100px 0;
}

@media (max-width:1024px) {
    .recruit07 {
        padding: 100px 0 120px;
    }

    .recruit07.application-form {
        padding: 0 0 120px;
    }

    .recruit07.application-form .atte {
        padding-top: 20px;
        font-size: 18px;
    }
}

@media (max-width:599px) {
    .recruit07 {
        padding: 80px 0 100px;
    }

    .recruit07.application-form {
        padding: 0 0 100px;
    }

    .recruit07.application-form .atte {
        padding-top: 10px;
        font-size: 16px;
    }
}


/*faq*/
/*faq01*/


.faq01 .item {
    margin-bottom: 100px;
}

[data-element-id] .faq01 .item:nth-child(n + 4) {
    display: none;
}

.faq01 .item:last-of-type {
    margin-bottom: 0;
}

.faq01 .item .q {
    font-size: 20px;
    padding-left: 70px;
    position: relative;
}

.faq01 .item .q:after {
    content: "Q";
    font-family: 'Cinzel', serif;
    font-weight: 400;
    letter-spacing: 0.3em;
    font-size: 24px;
    width: 53px;
    height: 53px;
    color: #fff;
    background-color: var(--color-01);
    line-height: 53px;
    text-align: center;
    position: absolute;
    left: 0;
    top: -10px;
    ;
}

.faq01 .item .answer {
    padding-left: 70px;
    padding-top: 40px;
}

@media (max-width:1024px) {

    .faq01 .item {
        margin-bottom: 60px;
    }

    .faq01 .item .q {
        font-size: 18px;
    }
}

@media (max-width:599px) {

    .faq01 .item {
        margin-bottom: 60px;
    }

    .faq01 .item .q {
        font-size: 16px;
        padding-left: 50px;
    }

    .faq01 .item .q:after {
        font-size: 20px;
        width: 40px;
        height: 40px;
        line-height: 40px;
    }

    .faq01 .item .answer {
        padding-left: 50px;
        padding-top: 20px;
    }
}

/*blog*/
.blog01 {
    padding: 100px 0;
}


.blog01 .sidebox {
    width: 25.5%;
}

.blog01 .contentbox {
    width: 67.5%;
}

.blog01.pattern-01 .contentbox {
    width: 100%;
}

.blog01 .contentbox .item {
    padding: 45px 0;
    border-bottom: 1px solid var(--color-01);
}

.blog01 .contentbox .item:first-of-type {
    padding-top: 0;
}

.blog01 .contentbox .item:last-of-type {
    border-bottom: none;
}

.blog01 .contentbox .pic {
    width: 28%;
}

.blog01 .contentbox .up-col-2 .pic {
    width: 100%;
}

.blog01 .contentbox .up-col-2 a {
    display: block;
}

.blog01 .contentbox .txtarea {
    width: 67%;
}

.blog01 .contentbox .date {
    line-height: 1;
}

.blog01 .contentbox .c {
    display: inline-block;
    font-size: 14px;
    color: #fff;
    background-color: var(--color-01);
    line-height: 1;
    padding: 10px 20px;
    margin-top: 20px;
}

.blog01 .contentbox .tit {
    margin-top: 20px;
}

.blog01 .contentbox .tit a {
    display: block;
    font-size: 24px;
}

@media (max-width:1024px) {
    .blog01 {
        padding: 80px 0;
    }

    .blog01 .sidebox {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .blog01 .contentbox {
        width: 100%;
    }

    .blog01 .contentbox .item {
        padding: 30px 0;
    }

    .blog01 .contentbox .c {
        font-size: 12px;
        padding: 5px 15px;
        margin-top: 10px;
    }

    .blog01 .contentbox .tit {
        margin-top: 20px;
    }

    .blog01 .contentbox .tit a {
        font-size: 20px;
    }
}

@media (max-width:599px) {
    .blog01 {
        padding: 60px 0;
    }

    .blog01 .contentbox .pic {
        width: 100%;
    }

    .blog01 .contentbox .txtarea {
        width: 100%;
        padding-top: 10px;
    }

    .blog01 .contentbox .tit a {
        font-size: 18px;
    }
}

/*category*/
.catebox {
    padding: 50px 35px;
    margin-bottom: 50px;
}

.catebox h3.tit {
    font-size: 23px;
    padding-bottom: 20px;
}

.catebox .list {
    padding-top: 50px;
}

.catebox .item {
    margin-bottom: 20px;
}

.catebox .item:last-of-type {
    margin-bottom: 0;
}

.catebox .item a {
    display: block;
    font-size: 18px;
    padding-left: 20px;
    position: relative;
}

.catebox .item a:before {
    content: "＞";
    font-family: FontAwesome;
    font-size: 12px;
    vertical-align: bottom;
    position: absolute;
    left: 0;
    top: 0;
}

@media (max-width:1024px) {
    .catebox {
        width: 48%;
        margin-bottom: 0;
    }

    .catebox h3.tit {
        font-size: 20px;
    }

    .catebox .list {
        padding-top: 40px;
    }

    .catebox .item a {
        font-size: 16px;
    }
}

@media (max-width:599px) {
    .catebox {
        width: 100%;
        margin-bottom: 40px;
    }

    .catebox h3.tit.b15:after {
        left: 0;
        -webkit-transform: none;
        transform: none;
    }
}

/*ARCHIVE*/
.arcbox {
    padding: 50px 35px;
}

.arcbox h3.tit {
    font-size: 23px;
    padding-bottom: 20px;
}

.arcbox .list {
    padding-top: 50px;
}

.arcbox .item {
    margin-bottom: 20px;
}

.arcbox .item:last-of-type {
    margin-bottom: 0;
}

.arcbox .item a {
    display: block;
    font-size: 18px;
    padding-left: 20px;
    position: relative;
}

.arcbox .item a:before {
    content: "＞";
    font-family: FontAwesome;
    font-size: 12px;
    vertical-align: bottom;
    position: absolute;
    left: 0;
    top: 0;
}

@media (max-width:1024px) {
    .arcbox {
        width: 48%;
    }

    .arcbox h3.tit {
        font-size: 20px;
    }

    .arcbox .list {
        padding-top: 40px;
    }

    .arcbox .item a {
        font-size: 16px;
    }
}

@media (max-width:599px) {
    .arcbox {
        width: 100%;
    }

    .arcbox h3.tit.b15:after {
        left: 0;
        -webkit-transform: none;
        transform: none;
    }
}

/*blogdetail*/
.blogdetail01 .titbox {
    padding-bottom: 30px;
    border-bottom: 1px solid var(--color-01);
}

.blogdetail01 .titbox .tit {
    font-size: 24px;
    margin-top: 50px;
}

.blogdetail01 .content {
    padding: 40px 0 0;
}

.blogdetail01 .btn {
    text-align: left;
    margin: 60px 0 60px;
}

.blogdetail01 .btn a {
    width: 240px;
    text-align: center;
}

@media (max-width:1024px) {
    .blogdetail01 .titbox {
        padding-bottom: 20px;
    }

    .blogdetail01 .titbox .tit {
        font-size: 20px;
        margin-top: 20px;
    }

    .blogdetail01 .btn {
        margin: 80px 0;
    }
}

@media (max-width:599px) {
    .blogdetail01 .btn {
        text-align: center;
        margin: 60px 0 80px;
        ;
    }
}

/*recommend*/
.recobox .recotitbox .subtit {
    font-size: 13px;
}

.recobox .recotitbox h3.tit {
    font-size: 32px;
}

.recobox .list {
    padding-top: 50px;
}

.recobox .c {
    margin-top: 0 !important;
}

@media (max-width:1024px) {
    .recobox {
        margin-bottom: 40px;
    }

    .recobox .recotitbox h3.tit {
        font-size: 28px;
        margin-top: 10px;
    }
}

@media (max-width:599px) {
    .recobox .recotitbox .subtit {
        text-align: center;
    }

    .recobox .recotitbox h3.tit {
        font-size: 22px;
        text-align: center;
    }
}


/*contact*/
.contact01 dl {
    width: 33.33333%;
    padding: 35px 0 50px;
}

.contact01 .number {
    font-size: 23px;
    line-height: 1;
    padding-bottom: 30px;
    border-bottom: 1px solid #dacfbc;
    position: relative;
}

.contact01 dl.on .number:after {
    content: "";
    width: 165px;
    height: 1px;
    background-color: var(--color-01);
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 2;
}

.contact01 .txtbox {
    font-size: 20px;
    line-height: 1;
    padding-top: 30px;
    position: relative;
}

.contact01 dl.on .txtbox:after {
    content: "\f078";
    font-family: FontAwesome;
    font-size: 12px;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: -30px;
}

@media (max-width:1024px) {
    .contact01 .number {
        font-size: 20px;
    }

    .contact01 .txtbox {
        font-size: 16px;
    }
}

@media (max-width:599px) {
    .contact01 {
        padding: 20px 0;
    }

    .contact01 .box {
        width: 90%;
        margin-left: auto;
    }

    .contact01 dl {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 30px 0;
        border-left: 1px solid #dacfbc;

    }

    .contact01 .number {
        width: 60px;
        text-align: center;
        padding-bottom: 0;
        border-bottom: none;
        padding-left: 20px;
    }

    .contact01 dl.on .number:after {
        width: 1px;
        height: 40px;
        bottom: auto;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .contact01 .txtbox {
        width: calc(100% - 60px);
        padding-top: 0;
        text-align: left;
    }

    .contact01 dl.on .txtbox:after {
        bottom: auto;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: auto;
        right: 10px;
    }

}

/*contact02*/
.contact02 {
    padding: 110px 0 160px;
}

.contact02 .txtbox {
    line-height: 2em;
}

.contact02 .btn.back {
    margin: 100px 0;
}

@media (max-width:599px) {
    .contact02 {
        padding: 80px 0 120px;
    }
}

/*sidenav*/
#header .sidenav {
    width: 60px;
    position: fixed;
    right: 0;
    top: 200px;
    z-index: 200;
}

#header .sidenav>div{
    width: 80px;
    max-height: 220px;
}

#header .sidenav>div>div{
    display:block;
}

#header .sidenav li {
    width: 80px;
    max-height: 220px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    /*     border-radius: 5px 0 0px 5px; */
    overflow: hidden;
    margin-bottom: 8px;
}

#header .sidenav li a {
    display: block;
    width:100%;
    color: #fff;
    font-size: 15px;
    min-width: 70px;
    text-align: center;
    padding: 20px 30px 20px 0px;
        background: var(--color-01);
}

#header .sidenav li a img {
    vertical-align: middle;
    margin-top: -5px;
    margin-right: 5px;
    margin-bottom: 12px;
}

[data-element-id] #header .sidenav li.sp_telbtn {
    display: block;
    background: #fff;
    color: #71c8d0;
}

#header .sidenav li.sp_telbtn a {
    background: #fff;
    color: #71c8d0;
}

#header .sidenav li.sp_telbtn {
    display: none;
}

[data-element-id] #header .sidenav li a {
    pointer-events: none;
}

@media (max-width:1024px) {
    #header .sidenav {
        bottom: 0;
        width: 100%;
        position: fixed;
        right: auto;
        left: 0;
        top: auto;
        z-index: 190;
    }

    #header .sidenav li {
        width: 47%;
        border-radius: 0;
        -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
        writing-mode: initial;
        margin-bottom: 0;
    }
    
    #header .sidenav>div li{
      width:100%;
      height:100%;
    }
    
    #header .sidenav>div{
      width: 47%;
        border-radius: 0;
        -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
        writing-mode: initial;
        margin-bottom: 0;
    }
    
    #header .sidenav>div>div{
        height:100%;
    }

    #header .sidenav li a {
        padding: 10px;
        height:100%;
    }

    #header .sidenav li.sp_telbtn {
        display: block;
        width: 53%;
    }

    #header .sidenav li a img {
        margin-bottom: 2px;
    }

    #header .sidenav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media (max-width:599px) {
    #header .sidenav li .dt {
        display: none;
    }
}

.top08 .titbox.testb a {
    background: #71c8d0;
}

.corona {
    padding-bottom: 60px;
}

.corona a {
    width: 415px;
}

@media (max-width:599px) {
    .corona a {
        width: 350px;
    }
}

/*2021/03/09*/
.pt250 {
    padding-top: 250px;
}

.pt50 {
    padding-top: 50px;
}

.pb50 {
    padding-bottom: 50px;
}

/*****ピックアップ*****/

.top04 .item.pu {
    width: 46%;
    margin: 0 2% 5%;
}

@media (max-width:599px) {
    .top04 .item.pu {
        width: 96%;
        margin: 0 auto 10px;
    }
}

div.btn02.corona {
    color: #fff;
    line-height: 1;
    padding: 20px 0 40px;
    text-align: center;
}

div.btn02 a {
    margin: 0 auto;

}



.keireki01 {
    padding-bottom: 1px !important;
    padding-top: 0 !important;
}


.invisaline01 {
    font-size: 17px;
    text-align: center;
    margin-bottom: -17px;
}

.invisaline02 {
    width: 47%;
    margin: auto;
}

.rinenn01 {
    margin-bottom: 30px;
}

.incho01 {
    font-size: 35px !important;
}

.incho02 {
    font-size: 20px !important;
}

.incho03 {
    font-size: 25px !important;
}

.incho04 {
    font-size: 18px !important;
}

.incho05 {
    padding-top: 10px !important;
}

.incho06 {
    padding-top: 7px !important;
}

.incho07 {
    padding-top: 3px !important;
}



@media (max-width:599px) {
    .invisaline02 {
        width: 80%;
        margin: auto;
    }
}


.bangouinsutayou01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.bangouinsutayou01 a {
    display: block;
}

.bangouinsutayou01>*+* {
    margin-left: 20px;
}

.nakajimabanar01 {
    margin-bottom: 40px !important;
    width: 80%;
    margin: auto;
}

.inchokeireki01 {
    width: 64% !important;
}

.inchokeireki02 {
    width: 36% !important;
}

.inchoaisatsu01 {
    padding-top: 300px !important;
}



.inchoaisatsu02 {
    width: 78%;
    margin: 0 auto -30px;
}

.rinen01 {
    height: 72% !important;
}

.rinen02 {
    padding-bottom: 70px !important;
}

.inchoaisatsu03 {
    margin-bottom: 40px !important;
}

.inchoaisatsu04 {
    padding-bottom: 200px !important;
}



.snsaikon01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 20px;
}

.youtubeaikon01 {
    margin-left: 20px;
}

.kyosei0101 {
    width: 62%;
    margin: auto;
}

.kyosei0102 {
    width: 33%;
    margin: auto;
}

.mushiba0101 {
    width: 48%;
    margin: auto;
}

.shounishika01 {
    width: 52%;
    margin: auto;
}

.shounishika02 {
    padding: 0 0 140px !important;
}


@media (max-width:1024px) {
    .bangouinsutayou01 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        margin-left: auto;
        -ms-flex-pack: distribute;
        justify-content: space-around;
        margin-top: 12px;
    }

    .nakajimatel01 {
        font-size: 20px;
    }

    .nakajimabanar01 {
        margin-bottom: 40px !important;
        width: 95%;
        margin: auto;
    }

    .about03 .picwrap {
        position: absolute;
        width: 40vw;
        height: 100%;
        margin: 0 0 0 0;
    }

    .rinen02 {
        padding-bottom: 30px !important;
    }

    .snsaikon01 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .snsaikon01 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        margin-top: 15px;
    }

    .youtubeaikon01 {
        margin-left: 20px;
    }

    .instaaikon01 {
        margin-left: 40px;
    }

    .kyosei0102 {
        width: 38%;
        margin: auto;
    }

    .kyosei0101 {
        width: 100%;
        margin: auto;
    }

    .mushiba0101 {
        width: 65%;
        margin: auto;
    }

    .shounishika01 {
        width: 62%;
        margin: auto;
    }

    header .head {
        padding: 10px 50px 0px 10px;
    }

    .bangouinsutayou01>*+* {
        margin-left: 0px;
    }

    .top01 {
        position: relative;
        z-index: 1;
    }
}


@media (max-width:599px) {
    .inchoaisatsu02 {
        font-size: 14px;
    }

    .corona {
        padding-bottom: 10px !important;
    }

    .top01 {
        padding: 40px 0 30px;
    }

    .inchokeireki01 {
        width: 100% !important;
    }

    .keireki05 {
        font-size: 14px !important;
    }

    .inchokeireki02 {
        width: 100% !important;
    }

    .ofiImg img {
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%;
        /*height: 122% !important;*/
        font-family: 'object-fit: cover;';
    }

    .inchogazo01 {
        width: 70vw !important;
        margin-left: 51px !important;
    }

    .rinen02 {
        padding-bottom: 30px !important;
        padding-top: 0px;
    }

    .inchokeireki01 {
        padding: 50px 0 10px !important;
    }

    .incho07 {
        padding-top: 0;
    }

    .rinenn01 {
        margin-top: 30px;
    }

    .bangouinsutayou01 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        margin-left: 0;
        -ms-flex-pack: distribute;
        -webkit-box-pack: end;
        justify-content: flex-end;
        margin-top: 10;
    }

    .instaaikon02 {
        width: 30%;
        margin: 0;
        max-width: 30px;
        margin-left: 10px;
    }

    .youtubeaikon02 {
        width: 30%;
        margin: 0 0 0 10px;
        max-width: 30px;
    }

    .kyosei0102 {
        width: 70%;
        margin: auto;
    }

    .mushiba0101 {
        width: 94%;
        margin: auto;
    }

    .mushiba0102 {
        margin: auto;
        width: 70%;
    }

    .shounishika01 {
        width: 100%;
        margin: auto;
        font-size: 18px !important;

    }

    .rinen01 {
        height: 100% !important;
    }

    header .headwrap {
        width: 100%;
    }


}


/* 2022.03.04 */

.hanarabi01 {
    width: 60%;
    margin: 40px auto;
    padding-left: 50px;
}


.hanarabi02 {
    width: 65%;
    margin: auto;
    margin-top: 40px;
    margin-bottom: 30px;
}


.hanarabi03 {
    width: 55%;
    margin: auto;
    margin-bottom: 30px;
}

.hanarabi04 {
    padding-bottom: 140px !important;
}

.hanarabi05 {
    padding-top: 60px !important;
    padding-bottom: 100px;
}

.hanarabi06 {
    padding: 0 !important;
}

.hanarabi07 {
    padding-top: 130px !important;
}

.hanarabi08 {
    width: 28%;
    margin: 35px auto 48px;
}

.jihiryokin01 {
    margin: 20px auto 20px;
    padding-left: 0 !important;
}

.hanarabi09 {
    width: 37%;
    margin: auto;
    padding-left: 0 !important;
}

.hanarabi09 img {
    margin-bottom: 20px;
}

.hanarabii {
    width: 26%;
    margin: auto;
    padding-top: 120px;
    padding-bottom: 60px;
}

.hanarabii img {
    margin-bottom: 20px;
}



@media (max-width:1024px) {
    .hanarabi01 {
        width: 95%;
        margin: 40px auto;
        padding-left: 4px;
    }

    .hanarabi05 {
        padding-top: 60px !important;
        padding-bottom: 57px;
    }

    .hanarabi02 {
        width: 96%;
        margin: auto;
        margin-top: 40px;
        margin-bottom: 30px;
    }

    .hanarabi03 {
        width: 87%;
        margin: auto;
        margin-bottom: 30px;
    }

    .hanarabi07 {
        padding-top: 0 !important;
    }

    .hanarabi08 {
        width: 55%;
        margin: 28px auto 44px;
    }

    .hanarabii {
        width: 55%;
        margin: auto;
        padding-top: 120px;
        padding-bottom: 60px;
    }

    .okosama01 {
        padding-bottom: 0 !important;
    }

    .hanarabi09 {
        width: 42%;
        margin: auto;
        padding-left: 0 !important;
    }
}


@media (max-width:599px) {

    .hanarabi03 {
        width: 93%;
        margin: auto;
        margin-bottom: 30px;
    }


    .hanarabi08 {
        width: 90%;
        margin: 102px auto 37px;
    }

    .sukejuru01 {
        margin-bottom: 30px;
    }

    .hanarabi09 {
        width: 82%;
        margin: auto;
        padding-left: 22px !important;
    }

    .hanarabi09 img {
        margin-bottom: 12px;
    }

    .hanarabii {
        width: 85%;
        margin: auto;
        padding-top: 120px;
        padding-bottom: 60px;
    }
}


/* 2022.03.15 */

.kyoseiinvisa {
    width: 29%;
    margin: auto;
    text-align: center;
}


@media (max-width:599px) {
    .kyoseiinvisa01 {
        margin-top: 70px !important;
    }

    .kyoseiinvisa {
        width: 78%;
        margin: auto;
        text-align: center;
        margin-top: 57px;
    }
}


/* 2022.03.18 */

.whiteningprace {
    margin-top: 120px;
    margin-bottom: 10px;
}

.gishi {
    margin-top: 30px;
}


/* 02/07 作成 */

.top01area .movie-outer {
    position: relative;
    width: 60%;
    aspect-ratio: 8/5;
    margin: 0 auto 50px;
}

.top01area .movie-outer iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
}

@media (max-width: 1024px) {
    .top01area .movie-outer {
        width: 75%;
    }
}

@media (max-width: 599px) {
    .top01area .movie-outer {
        width: 96%;
        margin-bottom: 45px;
        margin-top: 20px;
    }
}

.top01 .clinic02area .invisaline02 {
    width: 100% !important;
}

.top01 .clinic02area .invisaline02 .benner-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.top01 .clinic02area .invisaline02 .benner-flex div {
    width: 48%;
}

.top01 .clinic02area .invisaline02 .benner-flex img {
    width: 100%;
}

@media (max-width: 599px) {
    .top01 .clinic02area .invisaline02 .benner-flex {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .top01 .clinic02area .invisaline02 .benner-flex div {
        width: 100%;
    }



    .top01 .clinic02area .invisaline02 .nakajimabanar01 a {
        width: 350px;
        margin: auto;
    }
}

@media (min-width: 1025px) {
    .top01 .clinic02area .btn-flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .top01 .clinic02area .btn.corona {
        width: 30%;
    }

    .top01 .clinic02area .btn.corona a {
        width: 100%;
    }
}

.design01 {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
}

.design01 th {
    padding: 10px;
    background: #e9faf9;
    border: solid 1px #778ca3;
}

.design01 td {
    padding: 10px;
    border: solid 1px #778ca3;
}


.design01 .bgc-beju {
    background: #f7e8c1;
}

.design01 .bgc-white {
    background: #fff;
}

.design01 .bgc-green {
    background-color: #dbe7ce;
}

.design01 .border-none {
    border-top: none !important;
    border-bottom: none !important;
}

.design01 .border-bb-none {
    border-bottom: none !important;
}

.design01 .bgc-green.w11 {
    width: 11%;
}

.another-btn-flex .btn a::before {
    content: "";
    display: none;
}

.another-btn-flex .btn a::after {
    content: "";
    display: none;
}


@media (min-width: 1025px) {
    .another-benner-flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }

    .another-benner-flex .btn02.corona {
        margin-bottom: 40px;
        padding: 0px;
    }
}

.top-contents {
    padding: 0px 0px 80px;
}

.top-contents .descbox {
    margin-top: 0px !important;
}

#top-page .flex-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#top-page .director-content .staff-img {
    width: 30%;
}

#top-page .director-content .infobox {
    width: 100% !important;
}

#top-page .director-content .item {
    margin-bottom: 10px;
}

#top-page .director-content .staff-coment {
    width: 65%;
}

#top-page .director-content .namebox {
    margin-bottom: 20px;
}

#top-page .director-content .flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}


#top-page .director-content .flexbox .box {
    width: 48%;
    margin-bottom: 30px;
}

#top-page .director-content .flexbox .box .hd {
    color: var(--color-01);
}

#top01 .clinic02 {
    padding: 10px 0 60px;
}

.top .clinic02 .descbox dd:before {
    display: none !important;
}

.top .clinic02 .descbox {
    margin-top: 0px !important;
}

@media (max-width: 599px) {
    .top .clinic02 .descbox dd {
        padding-left: 0px;
    }

    .top .clinic02 .descbox {
        margin-top: 0px !important;
    }

    #top01 .clinic02 {
        padding: 10px 0 20px;
    }

}

.top .clinic02area .btn a:before {
    display: none;
}

.top .clinic02area .btn a:after {
    display: none;
}

.ta-i-c {
    text-align: center !important;
    padding-left: 0px !important;
}

.director-content {
    margin-bottom: 100px;
}

.director-content .flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}


.director-content .flex-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;


}

.director-content .inchokeireki01 {
    width: auto !important;
}

.director-content .flex-content .staff-img {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-right: 5%;
}

.director-content .staff-coment {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.director-content .hd {
    color: var(--color-01);
    font-size: 20px;
}

.director-content .namebox.incho07 {
    margin-bottom: 25px;
}

.director-content .name {
    padding-top: 0px !important;
}

.director-content .box.mb24 {
    width: 48%;
    margin-bottom: 3%;
}

.Commendation-flex {
    max-width: 1000px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 100px;
    margin-top: 50px;
}

.Commendation-flex li {
    width: 18%;
}

@media (max-width: 599px) {
    .director-content .flex-content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .director-content .box.mb24 {
        width: 100%;
        margin-bottom: 3%;
    }

    .Commendation-flex {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }


    .Commendation-flex li {
        width: 45%;
        margin-bottom: 5%;
    }
}

.test-staff-page .uk-open .uk-modal-dialog {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    top: 50% !important;
    right: 0;
    max-width: 50%;
    height: auto !important;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media (max-width: 599px) {
    .test-staff-page .uk-open .uk-modal-dialog {
        margin-left: auto;
        margin-right: auto;
        width: 100% !important;
        top: 50% !important;
        right: 0;
        max-width: 95%;
        height: auto !important;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .director-content .flexbox li {
        margin-bottom: 1.5%;
        font-size: 14px !important;
    }
}

@media (min-width: 1025px) {
    .pc-w100 {
        width: 100% !important;
        margin-bottom: 5% !important;
    }
}


.director-content .staff-img .picwrap {
    height: 100%;
}

.director-content .flexbox .box {
    width: 100%;
}

.director-content .flexbox .box .hd {
    border-bottom: 1px dashed;
    margin-bottom: 25px;
}


/* 03/09 追記 */

.award-box {
    margin-top: 50px;
    max-width: 1020px;
    margin: 50px auto 0;
    width: 98%;
}

.award-box .hd {
    text-align: lr;
    border-bottom: 1px dashed;
    padding-bottom: 10px;
    margin-bottom: 25px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.award-box ul.first-ul {
    width: 100%;
    margin: 25px auto;
    background: #fff;
    padding: 30px;
    border-radius: 25px;
}

.award-box ul.first-ul li {
    position: relative;

}


.award-box ul.award-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-column-gap: 2%;
    -moz-column-gap: 2%;
    column-gap: 2%;
    row-gap: 2%;
}

.award-box ul.award-flex li {
    width: 31%;
}

.award-box ul.award-flex li div.midashi {
    text-align: center;
    color: var(--color-01);
    font-size: 18px;
    margin-bottom: 10px;
}

.award-box ul.award-flex li div.text {
    text-align: left;
    color: #ffffff;
    font-size: 12px;
    margin-top: 10px;
}

.director-content .pb-10 {
    padding-bottom: 10px;
}


.director-content .box li {
    margin-bottom: 5px;
}

@media (max-width: 599px) {
    .award-box {
        margin: 25px auto 0;
    }

    .award-box ul.first-ul li {
        position: relative;
        font-size: 14px;
    }

    .award-box ul.first-ul {
        margin: 25px auto 50px;
    }
}


.grreting-block .txtbox.inchoaisatsu02 {
    margin-top: 25px !important;
    margin-left: 0 !important;
    width: 90%;
    margin: 0 auto -30px;
}


.grreting-block .btn {
    margin-top: 75px;
    margin-left: 0px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

@media (max-width: 599px) {
    .grreting-block .txtbox.inchoaisatsu02 {
        width: 100%;
    }

    .grreting-block .btn {
        margin-top: 60px;
        margin-left: auto;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
        margin-right: auto;
        margin-bottom: 30px;
    }
}

@media (min-width: 600px) and (max-width: 1024px) {
    .benner-flex .corona a {
        width: 100%;
    }
}

.another-blogarea {
    position: relative;
    left: 0px;
    bottom: 0px;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}

@media (min-width: 1025px) {
    .pc-pbi-90 {
        padding-bottom: 90px !important;
    }
}

.pti-0 {
    padding-top: 0px !important;
}


.v {
    display: block !important;
}

@media (max-width: 599px) {
    .v {
        display: none !important;
    }
}

/* 2023/04/11  */
@media (max-width: 599px) {
    .staff01area li.item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .staff01 .item .pic {
        margin-bottom: 20px;
        width: 100%;
        padding-top: 0px;
    }
}

/* 2023/08/07 */
.op-01 .pic img {
    -o-object-position: 50% 35%;
    object-position: 50% 35%;
}

@media (max-width:599px) {
    .staff01 .item.op-01 .picwrap img {
        -o-object-position: 50% 30%;
        object-position: 50% 30%;
    }

    footer {
        padding: 30px 0 30px;
    }

    .footbox .info .telbox {
        text-align: center;
    }

    footer .instaaikon02,
    footer .youtubeaikon02 {
        margin-left: 0px;
    }
}

/* 求人詳細 */
.cmn-recruit-01 .item {
    padding: 30px 0;
    border-bottom: 1px solid var(--color-01);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.cmn-recruit-01 .item dt {
    width: 40%;
    font-size: 18px;
    padding-left: 155px;
}

.cmn-recruit-01 .item dd {
    width: 60%;
}

.cmn-recruit-01 .item dd a {
    color: #464646;
}

@media (max-width: 1024px) {
    .cmn-recruit-01 .item dt {
        width: 30%;
        padding-left: 10px;
    }

    .cmn-recruit-01 .item dd {
        width: 70%;
    }
}

@media (max-width: 599px) {
    .cmn-recruit-01 .item dt {
        width: 100%;
        font-size: 16px;
        padding-bottom: 10px;
        padding-left: 0px;
    }

    .cmn-recruit-01 .item dd {
        width: 100%;
    }
}

/*記事内容見出し*/
.detail-content h2 {
    margin-top: 40px;
    margin-bottom: 20px;
    padding: 10px 20px 10px;
    font-weight: 500;
    font-size: 20px;
    color: #fff;
    background: var(--color-01);
}

.detail-content h3 {
    margin-top: 40px;
    margin-bottom: 20px;
    font-weight: 500;
    font-size: 30px;
    color: var(--color-01);
}

.detail-content h3:first-letter {
    color: var(--color-01);
}

.detail-content h4 {
    margin-top: 40px;
    margin-bottom: 20px;
    padding: 5px 0px 5px 15px;
    font-weight: 500;
    font-size: 20px;
    color: var(--color-01);
    border-left: 3px solid var(--color-01);
}

.detail-content ol {
    counter-reset: number 0;
}

.detail-content ol li {
    display: block;
    position: relative;
    padding-left: 25px;
}

.detail-content ol li+li {
    margin-top: 10px;
}

.detail-content ol li:before {
    counter-increment: number 1;
    content: counter(number);
    color: var(--color-01);
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: 0;
    font-size: 18px;
}

.detail-content ul li {
    display: block;
    position: relative;
    padding-left: 25px;
}

.detail-content ul li+li {
    margin-top: 10px;
}

.detail-content ul li:before {
    content: "";
    width: 10px;
    height: 10px;
    background: var(--color-01);
    border-radius: 50%;
    position: absolute;
    left: 0px;
    top: 7px;
    z-index: 0;
}

@media (max-width: 599px) {
    .detail-content h2 {
        padding: 8px 10px;
        font-size: 18px;
    }

    .detail-content h3 {
        padding: 0 5px 10px;
        font-size: 18px;
    }

    .detail-content h4 {
        padding: 5px 0px 5px 10px;
        font-size: 18px;
    }
}


.top .mvbox .titbox h2.tit.up-hide {
    font-size: 26px;
}

.top .mvbox .titbox div.subtit.up-hide {
    font-size: 16px;
}

.clinic02 .descbox .tit.up-hide {
    font-size: 18px;
    margin-bottom: 30px;
}

.up-hide .incho07 {
    padding-top: 0px !important;
}

.about03 .infobox .up-hide .namebox .name {
    margin-left: 0;
    display: inline-block;
    padding-top: 0;
}

.about03 .infobox .up-hide .namebox .position.incho02 {
    margin-right: 30px;
    display: inline-block;
}

.about01 .titbox.up-hide h3.tit {
    font-size: 24px;
    margin-bottom: 40px;
    top: 0;
    width: 100%;
    left: 0;
    -webkit-transform: none;
    transform: none;
}

.top .up-hide h3.tit {
    font-size: 20px;
}

.top04 .up-hide .subtit {
    font-size: 16px;
}

.top05 .titbox.up-hide {
    padding: 70px 0 50px;
}

.top05 .titbox.up-hide h3 {
    text-align: center;
    font-size: 20px;
}

.top05 .titbox.up-hide .subtit {
    font-size: 16px;
    text-align: center;
}


.txt-sdw {
    text-shadow: 0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1),
        0px 0px 2px rgba(255, 255, 255, 1);
}

.new-list li {
    padding-left: 20px;
    position: relative;
    margin: 5px 0;
}

.new-list.mk2 li {
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    margin: 5px 0;
    padding-bottom: 5px;
    border-bottom: 1px solid #dacfbc;
}

.new-list.mk2 .left {
    width: 90px;
    white-space: nowrap;
    color: var(--color-01);
    font-weight: bold;
}

.new-list.mk2 .right {
    width: calc(100% - 90px);
}

.new-list li::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-color: var(--color-01);
    border-radius: 50%;
    position: absolute;
    top: 6px;
    left: 0;
}

.new-list.mk2 li::before {
    display: none;
}

.cate-hulf {
    width: calc(100% - 80px);
}

.cate.js-split-tag>span {
    display: inline-block;
    background-color: var(--color-01);
    padding: 2px 10px;
    border-radius: 10px;
    line-height: 1em;
    font-size: 12px;
    letter-spacing: 0;
    margin: 3px;
    color: #fff;
    font-weight: bold;
}

.clinic01 .infobox .titbox.up-hide h3.tit {
    font-size: 22px;
}

.clinic02 .titbox.up-hide h3.tit {
    font-size: 20px;
}

.centertitbox.up-hide h3.tit {
    font-size: 20px;
}

.clinic04 .item .tit.up-hide {
    font-size: 16px;
}

.award-box ul.award-flex li div.midashi.up-hide {
    font-size: 16px;
}

.staff01 .infobox .up-hide .position {
    font-size: 16px;
}

.staff01 .infobox .up-hide .name {
    font-size: 22px;
    padding-top: 10px;
}

.guide01 .infobox .titbox.up-hide h3.tit {
    font-size: 22px;
    text-align: center;
}

.infobox .titbox.up-hide h3.tit {
    font-size: 22px;
}

.guide02 .item .tit.up-hide {
    font-size: 18px;
}

*>*>h3.tit.up-hide {
    font-size: 20px;
}

*>*>.item dt.tit.up-hide {
    font-size: 20px;
}

.udn-a>a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}


.up-content-area a:not([class]) {
    color: var(--color-01);
    text-decoration: underline;
}

.up-content-area h2 {
    margin: 1.5em 0 0.75em;
    padding: 0.1em 0.1em 0.2em 0.5em;
    font-size: clamp(1.75rem, 2.493rem, 2.25rem);
    font-weight: bold;
    color: #fff;
    background-color: var(--color-01);
}

.up-content-area h3 {
    margin: 1.5em 0 0.75em;
    font-size: clamp(1.688rem, 2.155rem, 2rem);
    font-weight: bold;
    border-bottom: 3px solid var(--color-01);
}

.up-content-area h4 {
    margin: 1.5em 0 0.75em;
    padding-left: 1.5em;
    font-size: clamp(1.375rem, 1.935rem, 1.75rem);
    font-weight: bold;
    position: relative;
}

.up-content-area h4::before {
    content: '';
    display: block;
    width: 1em;
    height: 1em;
    border-radius: 0.1em;
    background-color: var(--color-01);
    position: absolute;
    top: 0.25em;
    left: 0;
}

.up-content-area ul {
    margin: 1em 0;
}

.up-content-area ul>li {
    padding-left: 1.5em;
    position: relative;
}

.up-content-area ul>li::before {
    content: '';
    display: block;
    width: 1em;
    height: 1em;
    border-radius: 100%;
    background-color: var(--color-01);
    position: absolute;
    top: 0.25em;
    left: 0;
}

.up-content-area ul>li+li {
    margin-top: 0.5em;
}

.up-content-area ol {
    margin: 1em 0;
    counter-reset: number;
    list-style: none;
}

.up-content-area ol li {
    padding-left: 1.5em;
    position: relative;
}

.up-content-area ol li::before {
    counter-increment: number;
    content: counter(number) '.';
    color: var(--color-01);
    font-size: 120%;
    line-height: 1;
    position: absolute;
    top: 10%;
    left: 0;
}

.up-content-area ol li+li {
    margin-top: 0.5em;
}

.up-content-area iframe {
    max-width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    margin: 1em 0;
}

.check-boxer label {
    display: inline-block;
    margin: 0.5em 0;
    padding: 0 10px 0 24px;
    position: relative;
    margin-right: 15px;
}

.check-boxer label::before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    border: 2px solid #dcdcdc;
    border-radius: 3px;
    background-color: white;
    position: absolute;
    top: 1px;
    left: 0;
}

.check-boxer label:hover {
    text-decoration: underline;
    cursor: pointer;
}

.check-boxer input {
    display: none;
}

.check-boxer input:checked+label {
    text-decoration: underline;
}

.check-boxer input:checked+label::after {
    content: "\f00c";
    width: 0;
    height: 0;
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 20px;
    color: red;
    line-height: 1;
    background-color: transparent;
    position: absolute;
    top: 2px;
    left: 2px;
}

@media(max-width:599px) {
    .new-list.mk2 .left {
        width: 100%;
    }

    .new-list.mk2 .right {
        width: 100%;
    }

    .cinzel {
        letter-spacing: 0em;
    }

    .footbox .footnav .tit {
        line-height: 1;
    }
}







.feature .clinic02 .descbox {
    margin-top: 0px;
}








.clb03 .pdng-list .item .infobox {
    width: 57%;
}

.clb03 .pdng-list .item {
    background-color: #f4f1eb;
    padding: 40px;
    border-radius: 40px;
    border: 1px solid #9b8c6c;
}

.new-list.mk3 {
    width: 100%;
    background-color: #fff;
    border: 1px solid #f4f1eb;
}

.new-list.mk3 li {
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    margin: 0px 0;
    padding-bottom: 0px;
    padding-top: 0px;
    border-bottom: 1px solid #f4f1eb;
}

.new-list.mk3 li:last-child {
    border-bottom: none;
}

.new-list.mk3 .left {
    width: 120px;
    white-space: nowrap;
    color: var(--color-01);
    font-weight: bold;
    text-align: center;
    border-right: 1px solid #f4f1eb;
    padding: 10px 0;
}

.new-list.mk3 .right {
    width: calc(100% - 120px);
    padding: 10px 10px;
}

.new-list.mk3 li::before {
    display: none;
}

.clb03 .item .longbox .infobox {
    width: 100%;
}

.clb .txtbox.mini {
    margin-top: 60px;
}

.clb .txtbox.mini b {
    font-size: 18px;
}

.whitebox {
    background-color: #fff;
    padding: 40px;
    width: 100%;
}

.clb02 .clb03 {
    padding-top: 40px;
}

.clb02.mbnone {
    padding-bottom: 0;
}


@media(max-width:599px) {
    .clinic02 {
        padding: 50px 0 50px;
    }

    .clinic04 {
        padding: 50px 0;
    }

    .staff-coment .inchokeireki01 {
        padding: 0px 0 10px !important;
    }

    .feature .clinic02 .descbox {
        margin-top: 50px;
    }

    .clinic02 .btn {
        margin-top: 25px;
    }

    .guide03 .item {
        padding-bottom: 40px;
    }

    .guide03 .item .pic {
        padding-top: 20px;
    }

    .clb03 .pdng-list .item .infobox {
        width: 100%;
    }

    .clb03 .pdng-list .item {
        padding: 10px;
        border-radius: 10px;
    }

    .new-list.mk3 li {
        border-bottom: 10px solid #f4f1eb;
    }

    .new-list.mk3 .left {
        width: 100%;
        border-bottom: 1px solid #f4f1eb;
        padding: 5px 0;
    }

    .new-list.mk3 .right {
        width: 100%;
        padding: 10px 10px;
    }

    .clb .txtbox.mini {
        margin-top: 30px;
    }

    .whitebox {
        padding: 15px 10px;
    }

    .clb02 .clb03 {
        padding-top: 30px;
    }

}




.logotxt {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100%;

}

.logotxt .m {
    font-size: 14px !important;
    color: #464646 !important;
    font-family: 'Cinzel',
        serif !important;
    font-weight: 400 !important;
    letter-spacing: 0em !important;
    display: inline !important;
    padding: 0 !important;
    margin: 0 !important;
    white-space: nowrap;
}

.logotxt .l {
    font-size: 40px !important;
    color: #464646 !important;
    font-family: 'Cinzel',
        serif !important;
    font-weight: 400 !important;
    letter-spacing: 0em !important;
    line-height: .9em !important;
    display: inline !important;
    padding: 0 !important;
    margin: 0 !important;
    white-space: nowrap;
}

.footlogo .logotxt{
   justify-content: flex-start;
}

.footlogo .logotxt .l {
    font-size: 30px !important;
}

.h1-dummy {
    display: none;
}

.h1-add-copy {
    color: #9b8c6c;
    letter-spacing: .1em;
}

@media(max-width:1024px) {
    h1 {
        display: none;
    }

    .h1-dummy {
        display: block;
        padding: 10px 40px 0 10px;
        font-size: 12px;
        color: #9b8c6c;
    }

    .logotxt .m {
        font-size: 10px !important;
    }

    .logotxt .l {
        font-size: 30px !important;
    }

    .in-logo .logotxt>* {
        transform: scale(1.3);
    }

    #gnav .logotxt .l {
        padding-left: 20px !important;
    }

.footlogo .logotxt{
   justify-content: justify-content;
}

}

.tit.yumin.brown.b15{
  margin-bottom:45px;
}

.udl .centertitbox h3.tit {
    font-size: 32px;
    padding-bottom: 30px;
    text-align: center;
    margin-bottom: 50px;
    position: relative;
}

.udl .centertitbox h3.tit:after {
    content: "";
    width: 50px;
    height: 1px;
    background-color: var(--color-01);
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

@media(max-width:1024px){
  .udl .centertitbox h3.tit{
    font-size: 26px;
        margin-bottom: 40px;
  }
}

@media(max-width:599px) {
  .tit.yumin.brown.b15{
  margin-bottom:30px;
}
    header .head {
        padding: 5px 55px 0px 10px;
    }

    .logotxt .l {
        font-size: 25px !important;
    }
    
      .udl .centertitbox h3.tit{
    font-size: 20px;
    }
}

[data-element-id] header {
    padding: 30px 0 415px;
}

[data-element-id] #gnav .ddbox .dd{
  z-index:3;
  pointer-events:auto;
  max-width:1000px;
  border:1px solid green;
}

[data-element-id] #gnav .ddbox .dd:before{
  content:"『ABOUT』内ドロップダウン";
  width:100%;
  text-align:center;
  display:block;
  color:#fff;
  background-color:green;
}

[data-element-id] #gnav li.ddbox:nth-child(4) .dd{
  -webkit-transform: translate(0, 150px);
    transform: translate(0, 150px);
}

[data-element-id] #gnav li.ddbox:nth-child(4) .dd:before{
  content:"『MENU』内ドロップダウン";
}

[data-element-id]#gnav li.up-d-none {
    display: block;
    border:2px solid blue;
    position:relative;
    margin-top:30px;
}

[data-element-id] #gnav li.up-d-none:before{
  content:"PC時非表示";
  width:100%;
  text-align:center;
  display:block;
  color:#fff;
  background-color:blue;
  position:absolute;
  bottom:100%;
  left:0;
}

.under .mvbox .titbox h2.tit.up-hide {
        font-size: 22px;
    }
    
    .under .mvbox .titbox div.subtit.up-hide {
        font-size: 14px;
    }
    
    
[data-element-id] *::after{
  text-shadow:none;
}

[data-element-id] .up-show\@sp{
  max-width:375px;
  margin-right:auto;
  margin-left:auto;
}

.TOPSlide img{
opacity:0.6;}

.tc img{
  opacity: 0.5;
}

.top .mvbox .titbox h2.tit.brown{
  color:#6f6756;
}

.type-a a{
  position:relative;
}

.type-a a:before {
    content: "";
    width: 40px;
    height: 100%;
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.5) 100%, rgba(255, 255, 255, 0) 0%);
    -webkit-transform: scale(2) rotate(20deg);
    transform: scale(2) rotate(20deg);
    -webkit-animation-name: shiny;
    animation-name: shiny;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    position: absolute;
    top: -10%;
    left: -20%;
}

@-webkit-keyframes shiny {
    0% {
        left: -20%;
    }

    10% {
        left: 150%;
    }

    100% {
        left: 150%;
    }
}

@keyframes shiny {
    0% {
        left: -20%;
    }

    10% {
        left: 150%;
    }

    100% {
        left: 150%;
    }
}





.detail-content iframe[src*="youtube"] {
    height: auto;
    margin-top: 30px;
    aspect-ratio: 16 / 9;
}

[data-element-id]#header .sidenav{
  position:absolute;
  top: 700px;
}

.contact01 .box {
    text-align: center;
    font-weight: bold;
    border-radius: 3px;
    padding: 5px;
    position: relative;
}

.contact01 li {
    cursor: pointer;
}

.btnc:hover {
    cursor: pointer;
}

.btnc.active {
    border: 2px solid var(--btn-color-02);
}

.btnc.active::before {
    display: inline-block;
}

.contact02 {
    display: none;
    padding: 30px;
    background-color: #fff;
    color: var(--c0lor05);
    border:2px solid var(--color-01)
}

.contact02 dl {
    padding: 11px 15px;
    border-bottom: 1px solid #3f200e;
}

.contact02.active {
    display: block;
}

[data-element-id].contact02 {
    display:block;
    margin-top:60px;
    border:5px solid orange;
}

.contact-set{
  display:flex;
  align-items: flex-end;
  position:relative;
  z-index:1;
}

.contact-set li{
  flex:1;
  display:block;
}

.contact-set li .btnc{
  width:100%;
  display:flex;
  justify-content: center;
  align-items: center;
  padding:10px 0;
  background-color:#aaa;
  border-left:2px solid var(--color-02);
  border-right:2px solid var(--color-02);
   border-top:2px solid var(--color-02);
  border-radius:30px 30px 0 0;
  font-size: 20px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
}

.contact-set li .btnc.active{
  padding:30px 0;
  background-color:#fff;
      color: var(--color-01);
      border-top:2px solid var(--color-01);
      border-left:2px solid var(--color-01);
      border-right:2px solid var(--color-01);
      margin-bottom:-2px;
}

[data-element-id].contact02::before {
    content:"ご質問・ご相談のお問い合わせフォーム";
    text-align:center;
    width:100%;
    display:block;
    background-color:orange;
    color:#fff;
    margin-bottom:30px;
}

[data-element-id].content-box .contact02:nth-child(2)::before{
   content:"医療関係の方のお問い合わせフォーム";
}

[data-element-id].content-box .contact02:nth-child(3)::before{
  content:"採用のご応募のお問い合わせフォーム";
}

[data-element-id].mkt .contact02{
  bordfer:0px solid #000;
}

[data-element-id].mkt .contact02::before{
  display:none;
}

@media(max-width:1024px){
  .contact-set li .btnc {
    font-size:18px;
    letter-spacing:0;
}

.contact02{
  padding:10px;
}
}

@media(max-width:1024px){
  .contact-set li .btnc {
    font-size:18px;
    letter-spacing:0;
}

.contact02{
  padding:10px;
}
}

@media(max-width:599px){
  .contact-set li .btnc {
    font-size:16px;
    letter-spacing:-.1em;
}

.contact02{
  padding:0px;
}

.contact01 {
        padding: 0px 0;
    }
    
    .contact-set li{
      flex:auto;
      flex-grow:1;
    }
    
    .contact-set li .btnc.active{
  padding:20px 0;
}
}

[data-hide-element] {
    padding-top:45px;
}

.sp_telbtn.tel .dd.up-fz-12{
  line-height:1.3em;
}

.sp_telbtn.tel .dd.up-d-iblock{
  font-weight:bold;
}

.sp_telbtn.tel .dd.up-fz-12{
  line-height:1.3em;
}

.sp_telbtn.tel .dd.up-fz-12.ts{
  letter-spacing:-.05em;
}

@media(max-width:1024px){
      #header .sidenav li.mcket a{
        padding-top:35px;
      } 
}

    
