@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@300;400;500;700&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');


/*===================================
基本設定
===================================*/

/*html*/

html {
    color: #333333;
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 1.5px;
}

/* fead */

.fead-mv.mv {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

.fead-up.mv {
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

.fead-order>* {
    opacity: 0;
}

.fead-order>.mv {
    opacity: 1;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

.fead-text>* {
    opacity: 0;
}

.fead-text .mv {
    opacity: 1;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

/* show hide */

.show\@pc {
    display: block;
}

.hide\@pc {
    display: none;
}

[data-element-id] .show\@tb {
    display: block;
    border: solid 4px #ffa378;
    position: relative;
}

[data-element-id] .show\@tb:after {
    display: block;
    content: "モバイル用";
    font-family: "M PLUS Rounded 1c", sans-serif;
    color: #fff;
    font-weight: 700;
    background: #ffa378;
    padding: 5px;
    text-align: center;
    text-shadow: none;
}

[data-element-id] .show\@tb.indention:after {
    content: "モバイル用はここで改行";
    font-size:14px;
}

[data-element-id] .show\@pc.indention:after {
    content: "PC用はここで改行";
    display: block;
    color: #fff;
    font-weight: 700;
    background: #eb3b3b;
    padding: 5px;
    text-align: center;
    text-shadow: none;
    font-size: 12px;
}

[data-element-id] .hide\@pc {
    display: block;
    border: solid 4px #ffa378;
    position: relative;
}

[data-element-id] .show-abs.hide\@pc:after {
    display: block;
    content: "電話番号（公開時非表示）";
    font-family: "M PLUS Rounded 1c", sans-serif;
    color: #fff;
    font-weight: 700;
    background: #ffa378;
    padding: 5px 5px;
    text-align: center;
    text-shadow: none;
    font-size: 10px;
}

[data-element-id] .show\@sp {
    display: block;
    border: solid 4px #ffa378;
    position: relative;
}

[data-element-id] .show\@sp:after {
    display: block;
    content: "モバイル用";
    font-family: "M PLUS Rounded 1c", sans-serif;
    color: #fff;
    font-weight: 700;
    background: #ffa378;
    padding: 5px;
    text-align: center;
    text-shadow: none;
}

[data-element-id] .show\@sp.indention:after {
    content: "モバイル用はここで改行";
    font-size:14px;
}

@media (max-width: 1024px) {
    .show\@tb {
        display: block;
    }

    .hide\@tb {
        display: none;
    }
}

@media (max-width: 599px) {
    .show\@sp {
        display: block;
    }

    .hide\@sp {
        display: none;
    }
}

/* ##### パンくずリスト breadcrumbs ##### */
.breadcrumbs {
    padding: 30px 0;
    background-color: white;
}

.breadcrumbs-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.breadcrumbs-list li {
    display: inline;
    font-size: 14px;
    letter-spacing: 1px;
}

.breadcrumbs-list li.breadcrumbs-home,
.breadcrumbs-list li.breadcrumbs-prevpage {
    font-weight: bold;
    color: #15569d;
}

.breadcrumbs-list li+li::before {
    content: "";
    width: 8px;
    height: 8px;
    display: inline-block;
    margin: 0 10px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media (max-width: 1024px) {
    .breadcrumbs {
        padding: 20px 0;
        font-size: 14px;
    }

    .breadcrumbs-box {
        flex-direction: column;
        align-items: flex-start;
    }

    .breadcrumbs li {
        font-size: 12px;
    }

    .breadcrumbs li+li::before {
        width: 8px;
        height: 8px;
        margin: 0 5px 1px;
    }
}

@media (max-width: 599px) {
    .breadcrumbs {
        padding: 15px 0;
        font-size: 12px;
    }

    .breadcrumbs li+li::before {
        width: 6px;
        height: 6px;
    }
}

/* ##### パンくずリスト breadcrumbs ここまで ##### */

/*画像*/

.pic {
    text-align: center;
}

.pic img {
    width: 100%;
}

.radius10 img {
    border-radius: 10px;
    overflow: hidden;
}



/*フォント*/

.font-cmn-sans {
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', YuGothic, 'Yu Gothic', sans-serif;
}

.font-cmn-serif {
    font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'YuMincho', 'Yu Mincho', '游明朝体', serif;
}

.font-cmn-mplus {
    font-family: "M PLUS Rounded 1c", sans-serif;
}

/* up- */
.up-fw-500 {
    font-weight: 500;
}

.up-w-fit {
    width: fit-content;
}

.up-fz-80% {
  font-size: 80%;
}

/*カラー*/

.color-cmn-blue {
    color: #0d4086;
}

.color-cmn-white {
    color: #fff;
}

/*pink*/
.color-cmn-01 {
    color: #e38198;
}

/*yellow*/
.color-cmn-02 {
    color: #ffd674;
}



/*背景カラー*/
.bg-cmn-blue {
    background: #0d4086;
}


.curve01 {
    width: 100%;
    height: 150px;
    background: #0d4086;
    position: relative;
    z-index: 0;
    overflow: hidden;
    margin-bottom: -1px;
}

.curve01::before {
    content: "";
    position: absolute;
    top: -110%;
    left: 50%;
    transform: translate(-50%, 0);
    width: 130%;
    margin: 0 auto;
    height: 300px;
    border-radius: 0 0 50% 50% /0 0 100% 100%;
    background: #ffffff;
}

@media(max-width:599px) {
    .curve01 {
        height: 80px;
    }

    .curve01::before {
        top: -190%;
        width: 200%;
        height: 200px;
    }
}

/* ボタン */
.btn-cmn01 {
    width: fit-content;
}

.btn-cmn01 a {
    width: 250px;
    max-width: 100%;
    background: #0d4086;
    border: 2px solid #0d4086;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.8em 2em;
    border-radius: 30px;
    position: relative;
}

.btn-cmn01.rev a {
    background: #fff;
    border: 2px solid #fff;
    color: #0d4086;
}

.btn-cmn01 a::before {
    content: "";
    border-bottom: 2px solid;
    border-right: 2px solid;
    width: 10px;
    height: 10px;
    transform: translate(0, -50%) rotate(-45deg);
    position: absolute;
    top: 50%;
    right: 15px;
}

.btn-cmn01.back a::before {
    transform: translate(0, -50%) rotate(135deg);
    right: auto;
    left: 15px;
}

.btn-cmn01 a:hover {
    background: #fff;
    border: 2px solid #0d4086;
    color: #0d4086;
    opacity: 1;
}

.btn-cmn01.rev a:hover {
    background: #0d4086;
    border: 2px solid #fff;
    color: #fff;
    opacity: 1;
}

/* 角丸 */
.cmn-br-2em {
    border-radius: 2em;
    overflow: hidden;
}

.cmn-br-20 {
    border-radius: 20px;
    overflow: hidden;
}

.cmn-br-10 {
    border-radius: 10px;
    overflow: hidden;
}

/* ニューモニズム */
.nm-cmn-box {
    background: #fff;
    overflow: hidden;
    padding: 4em;
    border-radius: 4em;
    box-shadow: 20px 20px 60px #dcdcdc, -20px -20px 60px white;
}

@media(max-width:1024px) {
    .nm-cmn-box {
        padding: 2em;
        border-radius: 3em;
    }
}

@media(max-width:599px) {
    .nm-cmn-box {
        padding: 2em 1em;
        border-radius: 2em;
    }
}

/* rowr-box */
.rowr-box .item:nth-of-type(odd) .box {
    flex-direction: row-reverse;
}

/* 共通コンテンツ間隔 */

[class*="section-m"],
[class*="section-p"] {
    --section-xlarge: 150px;
    --section-large: 120px;
    --section-medium: 100px;
    --section-small: 80px;
    --section-xsmall: 60px;
}

.section-my-xlarge {
    margin-top: var(--section-xlarge);
    margin-bottom: var(--section-xlarge);
}

.section-mt-xlarge {
    margin-top: var(--section-xlarge);
}

.section-mb-xlarge {
    margin-bottom: var(--section-xlarge);
}

.section-my-large {
    margin-top: var(--section-large);
    margin-bottom: var(--section-large);
}

.section-mt-large {
    margin-top: var(--section-large);
}

.section-mb-large {
    margin-bottom: var(--section-large);
}

.section-my-medium {
    margin-top: var(--section-medium);
    margin-bottom: var(--section-medium);
}

.section-mt-medium {
    margin-top: var(--section-medium);
}

.section-mb-medium {
    margin-bottom: var(--section-medium);
}

.section-my-small {
    margin-top: var(--section-small);
    margin-bottom: var(--section-small);
}

.section-mt-small {
    margin-top: var(--section-small);
}

.section-mb-small {
    margin-bottom: var(--section-small);
}

.section-my-xsmall {
    margin-top: var(--section-xsmall);
    margin-bottom: var(--section-xsmall);
}

.section-mt-xsmall {
    margin-top: var(--section-xsmall);
}

.section-mb-xsmall {
    margin-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
    .section-my-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.8);
        margin-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-mt-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.8);
    }

    .section-mb-xlarge {
        margin-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-my-large {
        margin-top: calc(var(--section-large) * 0.8);
        margin-bottom: calc(var(--section-large) * 0.8);
    }

    .section-mt-large {
        margin-top: calc(var(--section-large) * 0.8);
    }

    .section-mb-large {
        margin-bottom: calc(var(--section-large) * 0.8);
    }

    .section-my-medium {
        margin-top: calc(var(--section-medium) * 0.8);
        margin-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-mt-medium {
        margin-top: calc(var(--section-medium) * 0.8);
    }

    .section-mb-medium {
        margin-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-my-small {
        margin-top: calc(var(--section-small) * 0.8);
        margin-bottom: calc(var(--section-small) * 0.8);
    }

    .section-mt-small {
        margin-top: calc(var(--section-small) * 0.8);
    }

    .section-mb-small {
        margin-bottom: calc(var(--section-small) * 0.8);
    }

    .section-my-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.8);
        margin-bottom: calc(var(--section-xsmall) * 0.8);
    }

    .section-mt-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.8);
    }

    .section-mb-xsmall {
        margin-bottom: calc(var(--section-xsmall) * 0.8);
    }
}

@media (max-width: 599px) {
    .section-my-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.6);
        margin-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-mt-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.6);
    }

    .section-mb-xlarge {
        margin-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-my-large {
        margin-top: calc(var(--section-large) * 0.6);
        margin-bottom: calc(var(--section-large) * 0.6);
    }

    .section-mt-large {
        margin-top: calc(var(--section-large) * 0.6);
    }

    .section-mb-large {
        margin-bottom: calc(var(--section-large) * 0.6);
    }

    .section-my-medium {
        margin-top: calc(var(--section-medium) * 0.6);
        margin-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-mt-medium {
        margin-top: calc(var(--section-medium) * 0.6);
    }

    .section-mb-medium {
        margin-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-my-small {
        margin-top: calc(var(--section-small) * 0.6);
        margin-bottom: calc(var(--section-small) * 0.6);
    }

    .section-mt-small {
        margin-top: calc(var(--section-small) * 0.6);
    }

    .section-mb-small {
        margin-bottom: calc(var(--section-small) * 0.6);
    }

    .section-my-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.6);
        margin-bottom: calc(var(--section-xsmall) * 0.6);
    }

    .section-mt-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.6);
    }

    .section-mb-xsmall {
        margin-bottom: calc(var(--section-xsmall) * 0.6);
    }
}

.section-py-xlarge {
    padding-top: var(--section-xlarge);
    padding-bottom: var(--section-xlarge);
}

.section-pt-xlarge {
    padding-top: var(--section-xlarge);
}

.section-pb-xlarge {
    padding-bottom: var(--section-xlarge);
}

.section-py-large {
    padding-top: var(--section-large);
    padding-bottom: var(--section-large);
}

.section-pt-large {
    padding-top: var(--section-large);
}

.section-pb-large {
    padding-bottom: var(--section-large);
}

.section-py-medium {
    padding-top: var(--section-medium);
    padding-bottom: var(--section-medium);
}

.section-pt-medium {
    padding-top: var(--section-medium);
}

.section-pb-medium {
    padding-bottom: var(--section-medium);
}

.section-py-small {
    padding-top: var(--section-small);
    padding-bottom: var(--section-small);
}

.section-pt-small {
    padding-top: var(--section-small);
}

.section-pb-small {
    padding-bottom: var(--section-small);
}

.section-py-xsmall {
    padding-top: var(--section-xsmall);
    padding-bottom: var(--section-xsmall);
}

.section-pt-xsmall {
    padding-top: var(--section-xsmall);
}

.section-pb-xsmall {
    padding-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
    .section-py-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.8);
        padding-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-pt-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.8);
    }

    .section-pb-xlarge {
        padding-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-py-large {
        padding-top: calc(var(--section-large) * 0.8);
        padding-bottom: calc(var(--section-large) * 0.8);
    }

    .section-pt-large {
        padding-top: calc(var(--section-large) * 0.8);
    }

    .section-pb-large {
        padding-bottom: calc(var(--section-large) * 0.8);
    }

    .section-py-medium {
        padding-top: calc(var(--section-medium) * 0.8);
        padding-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-pt-medium {
        padding-top: calc(var(--section-medium) * 0.8);
    }

    .section-pb-medium {
        padding-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-py-small {
        padding-top: calc(var(--section-small) * 0.8);
        padding-bottom: calc(var(--section-small) * 0.8);
    }

    .section-pt-small {
        padding-top: calc(var(--section-small) * 0.8);
    }

    .section-pb-small {
        padding-bottom: calc(var(--section-small) * 0.8);
    }

    .section-py-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.8);
        padding-bottom: calc(var(--section-xsmall) * 0.8);
    }

    .section-pt-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.8);
    }

    .section-pb-xsmall {
        padding-bottom: calc(var(--section-xsmall) * 0.8);
    }
}

@media (max-width: 599px) {
    .section-py-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.6);
        padding-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-pt-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.6);
    }

    .section-pb-xlarge {
        padding-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-py-large {
        padding-top: calc(var(--section-large) * 0.6);
        padding-bottom: calc(var(--section-large) * 0.6);
    }

    .section-pt-large {
        padding-top: calc(var(--section-large) * 0.6);
    }

    .section-pb-large {
        padding-bottom: calc(var(--section-large) * 0.6);
    }

    .section-py-medium {
        padding-top: calc(var(--section-medium) * 0.6);
        padding-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-pt-medium {
        padding-top: calc(var(--section-medium) * 0.6);
    }

    .section-pb-medium {
        padding-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-py-small {
        padding-top: calc(var(--section-small) * 0.6);
        padding-bottom: calc(var(--section-small) * 0.6);
    }

    .section-pt-small {
        padding-top: calc(var(--section-small) * 0.6);
    }

    .section-pb-small {
        padding-bottom: calc(var(--section-small) * 0.6);
    }

    .section-py-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.6);
        padding-bottom: calc(var(--section-xsmall) * 0.6);
    }

    .section-pt-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.6);
    }

    .section-pb-xsmall {
        padding-bottom: calc(var(--section-xsmall) * 0.6);
    }
}



/*===================================
共通ブロック　block-cmn
==================================*/

/* 共通ブロック1 */

.block-cmn-01 .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.block-cmn-01 .flex:not(:last-of-type) {
    margin-bottom: 50px;
}

@media only screen and (max-width: 1024px) {
    .block-cmn-01 .flex:not(:last-of-type) {
        margin-bottom: 40px;
    }
}

@media only screen and (max-width: 599px) {
    .block-cmn-01 .flex:not(:last-of-type) {
        margin-bottom: 30px;
    }
}



/* 共通ブロック2 */

.block-cmn-02 .flex:nth-of-type(2n+1) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.block-cmn-02 .flex:not(:last-of-type) {
    margin-bottom: 50px;
}

@media only screen and (max-width: 1024px) {
    .block-cmn-02 .flex:not(:last-of-type) {
        margin-bottom: 40px;
    }
}

@media only screen and (max-width: 599px) {
    .block-cmn-02 .flex:not(:last-of-type) {
        margin-bottom: 30px;
    }
}



/* 共通ブロック3 */

.block-cmn-03 .flex:nth-of-type(2n+2) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.block-cmn-03 .flex:not(:last-of-type) {
    margin-bottom: 50px;
}

@media only screen and (max-width: 1024px) {
    .block-cmn-03 .flex:not(:last-of-type) {
        margin-bottom: 40px;
    }
}

@media only screen and (max-width: 599px) {
    .block-cmn-03 .flex:not(:last-of-type) {
        margin-bottom: 30px;
    }
}



/*===================================
共通タイトル　ttl-cmn
===================================*/

/* 共通タイトル1 */

.ttl-cmn-01 {
    font-size: 45px;
    color: #0d4086;
    font-weight: 700;
    font-family: "M PLUS Rounded 1c", sans-serif;
    letter-spacing: 3px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    width: fit-content;
}

.ttl-cmn-01::before {
    content: "";
    position: absolute;
    top: 0px;
    left: -20px;
    width: 80px;
    height: 80px;
    display: block;
    border-radius: 100%;
    background-color: #d8b5ed;
    opacity: 0.5;
    z-index: 0;
}

.ttl-cmn-01 .ja {
    position: relative;
    z-index: 1;
}

.ttl-cmn-01 .en {
    font-size: 50%;
    line-height: 1.5;
    color: #666;
    position: relative;
    z-index: 1;
}

@media only screen and (max-width: 1024px) {
    .ttl-cmn-01 {
        font-size: 32px;
    }

    .ttl-cmn-01::before {
        width: 65px;
        height: 65px;
    }
}

@media only screen and (max-width: 599px) {
    .ttl-cmn-01 {
        font-size: 28px;
    }

    .ttl-cmn-01::before {
        top: -2px;
        left: -12px;
        width: 50px;
        height: 50px;
    }
}



/* 共通タイトル2 */

.ttl-cmn-02 {
    font-size: 45px;
    color: #fff;
    font-weight: 700;
    font-family: "M PLUS Rounded 1c", sans-serif;
    letter-spacing: 3px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    width: fit-content;
}

.ttl-cmn-02 .ja::before {
    content: "";
    position: absolute;
    top: -2px;
    left: -20px;
    width: 80px;
    height: 80px;
    display: block;
    border-radius: 100%;
    background-color: #fff;
    opacity: 0.5;
    z-index: 0;
}

.ttl-cmn-02 .ja {
    position: relative;
    z-index: 1;
}

.ttl-cmn-02 .en {
    font-size: 50%;
    line-height: 1.5;
    position: relative;
    z-index: 1;
}

@media only screen and (max-width: 1024px) {
    .ttl-cmn-02 {
        font-size: 32px;
    }

    .ttl-cmn-02 .ja::before {
        width: 65px;
        height: 65px;
    }
}

@media only screen and (max-width: 599px) {
    .ttl-cmn-02 {
        font-size: 28px;
    }

    .ttl-cmn-02 .ja::before {
        left: -13px;
        width: 50px;
        height: 50px;
    }
}


/* 共通タイトル3 */

.ttl-cmn-03 {
    font-size: 26px;
    border-bottom: 4px solid #d8b5ed;
    padding: 0 0.2em;
    font-family: 'M PLUS Rounded 1c';
    font-weight: 500;
    color: #0d4086;
}

@media only screen and (max-width: 599px) {
    .ttl-cmn-03 {
        font-size: 22px;
    }
}



/* 共通タイトル4 */

.ttl-cmn-04 {
    background: #3d669e;
    color: #fff;
    padding: 0.2em 1em;
    font-size: 22px;
    border-radius: 10px;
    font-family: 'M PLUS Rounded 1c';
}



/* 共通タイトル5 */

.ttl-cmn-05 {
    border-left: 10px solid#0e4087;
    color: #0e4087;
    background: #e7f1ff;
    padding: 0.5em 1em;
    font-size: 22px;
    font-weight: 600;
    font-family: 'M PLUS Rounded 1c';
}

@media (max-width:599px) {
    .ttl-cmn-05 {
        font-size: 18px;
    }
}



/* 共通タイトル6 */

.ttl-cmn-06 {
    color: #fff;
    background: #d8b5ed;
    font-family: 'M PLUS Rounded 1c';
    margin-bottom: 20px;
    letter-spacing: 3px;
    text-align: center;
    padding: 0.5em 1em;
    font-size: 22px;
    font-weight: 600;
    border-radius: 30px;
}

@media (max-width:599px) {
    .ttl-cmn-06 {
        font-size: 18px;
    }
}


/* 共通タイトル7 */
.ttl-cmn-07 {
    color: #0d4086;
    font-family: 'M PLUS Rounded 1c';
    margin-bottom: 20px;
    letter-spacing: 3px;
    font-size: 22px;
    font-weight: 600;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding: 0 0.2em;
}

.ttl-cmn-07::before {
    content: "";
    display: block;
    background: #0d4086;
    width: 100%;
    height: 4px;
    border-radius: 5px;
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translate(-50%, 0);
}

@media (max-width:599px) {
    .ttl-cmn-07 {
        font-size: 18px;
    }
}

/*===================================
共通リスト　list-cmn
==================================*/

/* 共通リスト1 */

.list-cmn-01 li {
    font-size: 16px;
    padding: 0 0 5px 25px;
    color: #fff;
    position: relative;
}

.list-cmn-01 li:before {
    display: block;
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 0;
    left: 0;
}



/* 共通リスト2 */

.list-cmn-02 li {
    padding-left: 15px;
    position: relative;
}

.list-cmn-02 li:not(:last-of-type) {
    margin-bottom: 5px;
}

.list-cmn-02 li:before {
    display: block;
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 100%;
    background: #333;
    position: absolute;
    top: 4px;
    left: 0;
}



/* 共通リスト3 */

.list-cmn-03 dl:not(:last-of-type) {
    margin-bottom: 15px;
}

.list-cmn-03 dt {
    font-weight: bold;
    margin-bottom: 5px;
}



/* 共通リスト4 */

.list-cmn-04 .flex:nth-of-type(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}

/*===================================
共通ボタン btn-cmn
===================================*/

/* 共通ボタン1 */



/*===================================
共通要素
===================================*/

/*ヘッダー*/

#header .inner {
    max-width: 1000px;
    margin: 0 auto;
}

#header h1 {
    width: 100%;
    font-size: 12px;
    margin-left: 0.2em;
    margin-bottom: 5px;
    font-family: "M PLUS Rounded 1c", sans-serif;
}

#header .logo {
    max-width: 200px;
}

#header .info {
    margin-bottom: 5px;
}

#header .info .tit {
    color: #e38198;
    font-size: 12px;
    font-weight: bold;
    margin-right: 10px;
    text-align: center;
}

#header .info .tel a {
    color: #e38198;
    font-size: 34px;
    text-align: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

#header .info .tel a:before {
    display: block;
    content: "\f879";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    width: 40px;
    height: 40px;
    line-height: 36px;
    font-size: 20px;
    border: solid 3px;
    border-radius: 100%;
    margin-right: 5px;
    text-align: center;
}

@media only screen and (max-width: 1024px) {
    #header {
        background: none;
        padding-right: 40px;
    }

    #header .right {
        display: none;
    }
}

@media only screen and (max-width: 599px) {
    #header {
        width: 150px;
        padding: 0;
        position: fixed;
        top: 10px;
        left: 10px;
        z-index: 10;
    }

    #header h1 {
        display: none;
    }
}



/*logo-wrap*/

.gnav-wrap {
    position: relative;
    z-index: 250;
}

.logo-wrap {
    margin-bottom: 30px;
    text-align: center;
}

.logo-wrap a {
    display: inline-block;
}

.logo-wrap .logo {
    margin-bottom: 20px;
}

.logo-wrap .name {
    margin-bottom: 0;
}

@media only screen and (max-width: 1024px) {
    .logo-wrap {
        margin-bottom: 0;
    }
}



/*gnav*/

#gnav.fixed {
    width: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 101;
}

[data-element-id]#gnav.fixed{
  position: relative;
}

#gnav h1 {
    transition: 0.5s;
    opacity: 0;
    font-family: "M PLUS Rounded 1c", sans-serif;
    color: #0d4086;
    margin-top: 5px;
}

#gnav.fixed h1 {
    opacity: 1;
}

[data-element-id]#gnav h1 {
    opacity: 1;
}

#gnav ul {
    max-width: 1100px;
    margin: 0 auto;
}

[data-element-id]#gnav ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}


[data-element-id]#gnav ul .barger-logo{
  width: 15%;
}

#gnav .item {
    position: relative;
    /* width: 16.66%; */
    min-width: 15%;
    text-align: center;
}

#gnav .item>* {
    display: block;
    color: #0d4086;
    font-size: 16px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: bold;
    padding: 10px 15px;
    white-space: nowrap;
}

#gnav .item+.item:before {
    display: block;
    content: "";
    width: 1px;
    height: 100%;
    background: #0d4086;
    position: absolute;
    top: 0;
    left: 0;
}

@media only screen and (max-width: 1024px) {
  #gnav h1{
    display: none;
  }
  
    #gnav .item {
        width: 100%;
    }

    #gnav .barger-logo {
        width: 90%;
        max-width: 250px;
        margin-bottom: 30px;
        text-align: center;
    }

    #gnav .item>* {
        padding: 0.5em 0;
        text-align: left;
    }

    #gnav .item+.item:before {
        content: none;
    }
}

@media(max-width:599px) {}

/* dropdown */

#gnav .dropdown {
    position: relative;
}

[data-element-id] #gnav .dropdown>ul {
    width: 100%;
    text-align: center;
    opacity: 1;
    visibility: visible;
    position: relative;
    transform: none;
    top: auto;
    left: auto;
    display: flex;
    flex-direction: column;
}

#gnav .dropdown>ul {
    width: 100%;
    min-width: 200px;
    background: #3d669e;
    color: #fff;
    padding: 10px;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transition: 0.2s;
    transition: 0.2s;
    border-radius: 10px;
    text-align: center;
}

#gnav .dropdown:hover>ul {
    opacity: 1;
    visibility: visible;
}

#gnav .dropdown>ul li {
    margin: 0;
}

[data-element-id]#gnav .dropdown>ul li {
    margin: 0 auto;
}

#gnav .dropdown>ul li+li {
    margin-top: 10px;
}

#gnav .dropdown>ul li a {
    font-size: 90%;
}

@media (max-width: 1024px) {
    #gnav .dropdown>ul {
        width: 100%;
        background: none;
        padding: 0;
        position: static;
        opacity: 1;
        visibility: visible;
        text-align: left;
        transform: none;
    }

    #gnav .dropdown>ul li+li {
        margin-top: 0px;
    }

    #gnav .dropdown>ul li a {
        color: #666;
        padding: 0.5em 1.5em;
        position: relative;
        display: block;
    }

    #gnav .dropdown>ul li a:before {
        content: "ー";
        font-weight: 100;
        line-height: 1.5;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translate(0px, -50%);
    }
}

/*ハンバーガー*/

@media only screen and (max-width: 1024px) {
    .toggle {
        position: fixed !important;
        top: 0;
        right: 0;
        z-index: 251;
        width: 50px;
        height: 50px;
        background: #0d4086;
        opacity: 1;
        cursor: pointer;
        display: block;
    }

    .toggle .bar {
        position: absolute;
        top: 50%;
        left: 11px;
        display: block;
        margin-top: -1px;
        padding: 0;
        width: 28px;
        height: 3px;
        border-radius: 2px;
        background: #fff;
        text-indent: 9999px;
        transition: ease 0.4s;
        -webkit-transition: ease 0.4s;
    }

    .toggle .bar:before,
    .toggle .bar:after {
        position: absolute;
        left: 0;
        display: block;
        width: 28px;
        height: 3px;
        border-radius: 2px;
        background: #fff;
        content: '';
    }

    .toggle .bar:before {
        top: -10px;
    }

    .toggle .bar:after {
        top: 10px;
    }

    .barger-body.active+* .bar {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
    }

    .barger-body.active+* .bar:after,
    .barger-body.active+* .bar:before {
        top: 0;
        left: 0;
        transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
    }

    .barger-body {
        width: 80%;
        max-width: 350px;
        height: 100%;
        background: #fff;
        position: fixed;
        top: 0;
        right: 0;
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
        -webkit-transition: 0.4s -webkit-transform;
        transition: 0.4s -webkit-transform;
        transition: 0.4s transform;
        transition: 0.4s transform, 0.4s -webkit-transform;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        z-index: 250;
    }

    .barger-body.active {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }

    .barger-inner {
        padding: 70px 15px 100px;
    }

    .overlay {
        width: 100%;
        height: 100vh;
        background: #000;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 249;
        opacity: 0;
        visibility: hidden;
        transform: translate3d(0, 0, 0) !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
    }

    .overlay.active {
        opacity: 0.3;
        visibility: visible;
    }
}



/*フッター*/

#footer {
    background: #0d4086;
}

#footer .map {
    width: 100%;
    height: 280px;
}

#footer .logo {
    width: 80%;
    max-width: 450px;
    filter: brightness(0) invert(1);
    margin-bottom: 30px;
}

#footer .info .time-table table {
    border: 2px solid #fff;
    width: 100%;
}

#footer .info .time-table table tr {
    border-bottom: 1px solid #fff;
}

#footer .info .time-table table tr:nth-of-type(2) {
    border-bottom: 1px solid #0d4086;
}

#footer .info .time-table table tr th {
    background: #0d4086;
    color: #fff;
    padding: 10px;
    border-right: 1px solid #fff;
}

#footer .info .time-table table th:last-child {
    border-right: none;
}

#footer .info .time-table table tr td {
    padding: 10px;
    color: #0d4086;
    font-weight: 700;
    font-size: 12px;
    text-align: center;
    background: #fff;
    border-right: 1px solid;
}

#footer .info .time-table table td:last-child {
    border-right: none;
}

#footer .footnav .flex a {
    display: block;
    color: #fff;
    padding: 10px;
    font-weight: 700;
}

#footer .footnav .flex.sub a {
    font-size: 14px;
    font-weight: 500;
}

#footer .copy {
    color: #ffffff;
    text-align: center;
    font-size: 12px;
    margin-top: 50px;
}

.totop {
    background: #fff;
    border-radius: 5px;
    padding: 10px;
    position: fixed;
    z-index: 99;
    bottom: 2%;
    right: 2%;
    box-shadow: 2px 2px 2px #ccc;
}

.totop img {
    width: 60px;
}

.ftel {
    position: fixed;
    min-width: 200px;
    left: 0;
    top: 22%;
    z-index: 300;
    border-radius: 0 30px 30px 0;
    overflow: hidden;
    box-shadow: 2px 2px 2px #ccc;
}

[data-element-id].ftel{
  position: relative;
  width: 200px;
}

.ftel .fixbtn a {
    padding: 15px 10px 15px 20px;
    text-align: center;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

[data-element-id] .ftel .fixbtn a{
  flex-direction: column;
}

.ftel .fixbtn a:hover {
opacity: 1;
}

.ftel .fixbtn:nth-of-type(even) a {
    color: #fff;
    background: #0e4087;
    border: 1px solid #0e4087;
}

.ftel .fixbtn:nth-of-type(odd) a {
    color: #053e87;
    background: #ffffff;
}

.ftel .fixbtn:nth-of-type(even) a:hover{
  color: #053e87;
    background: #ffffff;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
}

.ftel .fixbtn:nth-of-type(odd) a:hover {
    color: #fff;
    background: #053e87;
    border:none;
}

.abtest-a, .abtest-b{
  height: 100%;
}

.ftel .fixbtn .abtest-b a {
  background: #ce9bed;
  border: 1px solid #ce9bed;
}

.ftel .fixbtn a:before {
    display: flex;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 30px;
    margin-right: 10px;
    line-height: 1;
    width: 32px;
    justify-content: center;
    align-items: center;
}

.ftel .fixbtn.contact a:before {
    content: "\f0e0";
}

.ftel .fixbtn.reserve a:before {
    content: "\f109";
    font-size: 24px;
}

.ftel .fixbtn.tel a:before {
    content: "\f879";
    font-size: 24px;
}

.ftel .fixbtn.time a:before {
    content: "\f017";
    font-weight: 500;
}

.ftel .fixbtn.access a:before {
    content: "\f276";
    transform: rotate(30deg);
}

.ftel .fixbtn a .txt {
    flex-shrink: 0;
    font-family: 'M PLUS Rounded 1c';
    font-weight: 500;
}

@media only screen and (max-width: 1024px) {
    #footer {
        padding-bottom: 80px;
    }

    .totop {
        bottom: 90px;
    }

    .ftel {
        min-width: unset;
        width: 100%;
        top: auto;
        bottom: 0;
        border-radius: 0;
        box-shadow: none;
        display: flex;
    }

    .ftel>* {
        width: 20%;
    }

    .ftel .fixbtn a {
        padding: 15px;
        justify-content: center;
        height: 100%;
    }

    .ftel .fixbtn a:before {
        margin-right: 0;
    }

    #footer .info .time-table table tr {
        font-size: 14px;
    }

    #footer .info .time-table table tr td {
        padding: 5px;
        font-size: 11px;
    }

    #footer .footnav .flex a {
        font-size: 14px;
        padding: 7px;
    }

    #footer .footnav .flex.sub a {
        font-size: 12px;
    }
}

@media only screen and (max-width: 599px) {
    #footer {
        padding-bottom: 70px;
    }

    .totop {
        bottom: 70px;
    }

    .footnav li {
        margin: 10px 0;
    }

    .footnav a {
        font-size: 14px;
        padding: 2px 10px;
    }
}



/* A-BiSUスライダー用 */

.mainimg {
    position: relative;
    overflow: hidden;
}

.mainimg .uk-slidenav-position {
    position: relative;
    overflow: hidden;
}

.mainimg .uk-slideshow {
    height: 100% !important;
}

.mainimg .uk-slideshow>li {
    height: 100% !important;
}

.mainimg .uk-slideshow>li>div {
    height: 100% !important;
}

@media(max-width:599px){
  .uk-slideshow{
    width: 200%;
  }
}



/*===================================
トップページ
===================================*/

/*header*/

#header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    display: flex;
    width: 80%;
    border-radius: 0 0 70px 0;
    overflow: hidden;
    box-shadow: 2px 2px 2px #ccc;
}

[data-element-id]#header{
  position: relative;
}

#header .left {
    width: 50%;
    background: #fff;
    padding: 20px;
    display: flex;
    align-items: center;
}

#header .left .logo-img {
    width: 350px;
    margin: 0 auto;
}

#header .right {
    width: 50%;
    color: #fff;
    background: #0d4086;
    padding: 20px;
}

#header .right .flex .tel-txt {
    font-size: 12px;
    font-weight: 700;
}

#header .right .flex .tel-box .tel-icon {
    font-size: 70%;
    margin-right: 5px;
}

#header .logo {
    display: none;
}

@media only screen and (max-width: 1024px) {
    #header {
        padding: 0px;
    }

    #header .left {
        width: 100%;
        padding: 10px;
    }
}

@media only screen and (max-width: 599px) {
    #header {
        padding: 0;
        position: fixed;
        top: 0;
        left: 0;
        width: 70%;
        border-radius: 0 0 40px 0;
    }

    #header .left .logo-img {
        width: 200px;
        margin: 0 auto;
    }

    #header .logo {
        display: block;
    }
}



/*home-slide*/

.mainimg {
    overflow: hidden;
}

.mainimg .pic>* {
    width: 120%;
    height: 700px;
    position: relative;
    overflow: hidden;
    border-bottom-left-radius: 2000px 600px;
    border-bottom-right-radius: 2000px 600px;
    margin-left: -10%;
    margin-right: -10%;
    padding-left: 10%;
    padding-right: 10%;
    filter: brightness(0.9);
}

[data-element-id].mainimg .pic>*{
  margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}
.mainimg .head {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    font-family: "M PLUS Rounded 1c", sans-serif;
    color: #0d4086;
    text-shadow: 1px 1px 0px white, -1px 1px 0px white, 1px -1px 0px white, -1px -1px 0px white, 1px 0px 0px white, 0px 1px 0px white, -1px 0px 0px white, 0px -1px 0px white;
    font-weight: 700;
    font-size: 22px;
    text-align: center;
}

.mainimg .head .catch {
    display: block;
    font-size: 260%;
}

@media only screen and (max-width: 1024px) {
}

@media only screen and (max-width: 599px) {
  .mainimg .pic>* {
        height: 90dvh;
    }
    
    .mainimg .head {
        width: 80%;
        font-size: 14px;
    }
}



/*home-intro*/

.home-intro .item {
    padding: 0 20px 5px 25px;
}

.home-intro .item>* {
    position: relative;
    box-shadow: 5px 5px 1px #3d669e;
    border-radius: 20px;
    overflow: hidden;
}

.home-intro .item>* .tit {
    position: absolute;
    bottom: 0px;
    left: 0px;
    background: #fff;
    border-radius: 0 20px 0 0;
    padding: 10px 20px;
    min-width: 170px;
    text-align: center;
    font-weight: 700;
    color: #0d4086;
    font-size: 20px;
    font-family: 'M PLUS Rounded 1c';
    letter-spacing: 2px;
}

[data-element-id].home-intro-slider {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 40px;
}

[data-element-id].home-intro-slider .item{
    width: 30%;
}

@media(max-width:599px) {}

/* home-content */
.home-content .col {
    border-radius: 3.5em;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.home-content .col>* {
    position: relative;
}

.home-content .col>*::before {
    content: "";
    background: #0d4086;
    height: 3px;
    width: 100%;
    position: absolute;
    bottom: -1.5px;
    right: 0;
    z-index: 1;
}

.home-content .col>*::after {
    content: "";
    background: #0d4086;
    height: 101%;
    width: 3px;
    position: absolute;
    bottom: 0;
    right: -1.5px;
    z-index: 1;
}

.home-content .col>*:nth-last-of-type(-n+4)::before {
    content: none;
}

.home-content .col>*:nth-of-type(4n+4)::after {
    content: none;
}

.home-content .col a {
    background: #fff;
    display: block;
    padding: 2em 1.5em 1.5em;
    height: 100%;
}

.home-content .col a .pic {
    border-radius: 1.75em;
    overflow: hidden;
}

.home-content .col a .tit {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 20px;
    color: #0d4086 !important;
    letter-spacing: 2px;
    font-weight: 700;
    text-align: center;
    margin-top: 10px;
    line-height: 1;
}

.home-content .col a .btn {
    background: #0d4086;
    color: #fff;
    font-family: 'M PLUS Rounded 1c';
    font-weight: 500;
    font-size: 14px;
    text-align: center;
    padding: 4px 10px;
    width: 80%;
    border-radius: 20px;
    margin: 15px auto 0;
}

@media(max-width:1024px) {

    .home-content .col {
        border-radius: 2.5em;
    }

    .home-content .col a {
        padding: 1.5em 1em 1em;
    }

    .home-content .col a .pic {
        border-radius: 1em;
    }

    .home-content .col a .tit {
        font-size: 18px;
    }
}

@media(max-width:599px) {
    .home-content .col a {
        padding: 1.5em 1em;
    }

    .home-content .col>*:nth-of-type(2n+2):after {
        content: none;
    }

    .home-content .col>*:nth-last-of-type(-n+4)::before {
        content: "";
    }

    .home-content .col>*:nth-last-of-type(-n+2)::before {
        content: none;
    }
}


/*home-reason*/

.home-reason .item {
    position: relative;
}

.home-reason .item .num {
    width: 85px;
    height: 85px;
    display: flex;
    line-height: 1;
    color: #fff;
    font-size: 40px;
    background: #d8b5ed;
    font-family: "Montserrat", sans-serif;
    border-radius: 100%;
    text-align: center;
    position: absolute;
    z-index: 1;
    top: -20px;
    left: -20px;
    align-items: center;
    justify-content: center;
}

.home-reason.other .item .num {
    width: 65px;
    height: 65px;
    font-size: 30px;
}

.home-reason .item .pic {
    border-radius: 2em;
    overflow: hidden;
}

.home-reason .item .tit {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #0d4086;
    text-align: center;
    margin-top: 10px;
}

.home-reason.other .item .tit {
    font-size: 18px;
    text-align: left;
    font-weight: 500;
    color: #fff;
}

.home-reason .item .txt {
    font-size: 14px;
    margin-top: 10px;
}

@media (max-width:599px) {
    .home-reason .col .wid {
        width: 90%;
    }

    .home-reason .item .num {
        width: 65px;
        height: 65px;
        font-size: 30px;
        top: -10px;
        left: -10px;
    }

    .home-reason .item .tit {
        font-size: 18px;
    }
}

/* home-reserve */

.home-reserve .flex .tel-box .tel>* {
    font-size: 54px;
    line-height: 1;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    display: flex;
    align-items: center;
}

.home-reserve .flex .tel-box .tel a>* {
    flex-shrink: 0;
}

.home-reserve .flex .tel-box .tel a .tel-icon {
    font-size: 70%;
    margin-right: 10px;
}

.home-reserve .flex .res-btn>* {
    background: #fff;
    color: #0d4086;
    font-family: "M PLUS Rounded 1c", sans-serif;
    border-radius: 50px;
    font-weight: 700;
    font-size: 30px;
    padding: 0.3em 1em;
    display: flex;
    align-items: center;
    column-gap: 10px;
}

@media (max-width:1024px) {
    .home-reserve .flex .tel-box .tel>* {
        font-size: 44px;
    }

    .home-reserve .flex .res-btn>* {
        font-size: 24px;
    }
}

@media (max-width:599px) {
    .home-reserve .flex .tel-box .tel>* {
        font-size: 34px;
        display: flex;
        justify-content: center;
    }

    .home-reserve .flex .res-btn>* {
        font-size: 20px;
    }
}

/* home-flow */
[data-element-id].home-flow .home-flow-list{
  flex-wrap: wrap;
}

.home-flow .home-flow-list .item {
    padding: 1em;
    position: relative;
}

[data-element-id].home-flow .home-flow-list .item{
    width: 100%;
}

.home-flow .home-flow-list .item .clip {
    background-color: #ecdaf6;
    padding: 2em;
    border-radius: 30px;
}

.home-flow .home-flow-list .item .clip .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.home-flow .home-flow-list .item .clip .tit {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.2;
    color: #0d4086;
    margin-bottom: 20px;
    display: flex;
    column-gap: 5px;
    justify-content: center;
}

.home-flow .home-flow-list .item .clip .tit .num {
    flex-shrink: 0;
}

.home-flow .home-flow-list .item .clip .img {
    width: 33%;
}

.home-flow .home-flow-list .item .clip .img img {
    border-radius: 20px;
    overflow: hidden;
}

.home-flow .home-flow-list .item .clip .txt {
    line-height: 2;
    margin-top: 10px;
    width: 62%;
    color: #0d4086;
}

.home-flow .home-flow-list .fa-chevron-right:hover:before,
.home-flow .home-flow-list .fa-chevron-left:hover:before {
    opacity: 1;
    background: #0d4086;
    color: #fff;
}

.home-flow .home-flow-list .fa-chevron-right:before,
.home-flow .home-flow-list .fa-chevron-left:before {
    color: #0d4086;
    background: #ffffff;
    border: 2px solid;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.home-flow .home-flow-list .btn-next,
.home-flow .home-flow-list .btn-back {
    height: 40px;
}

.home-flow .home-flow-list .fa-chevron-right:before {
    content: "\f054";
    padding-left: 4px;
}

.home-flow .home-flow-list .fa-chevron-left:before {
    content: "\f053";
}

.home-flow .home-flow-list .item .clip .txt .btn-box .btn>* {
    background: #0d4086;
    color: #fff;
    padding: 5px 10px;
    border-radius: 30px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #0d4086;
    font-family: 'M PLUS Rounded 1c';
}

.home-flow .home-flow-list .item .clip .txt .btn-box .btn.tel>*::before {
    content: "\f879";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 5px;
}

.home-flow .home-flow-list .item .clip .txt .btn-box .btn a:hover {
    background: none;
    color: #0d4086;
    border: 2px solid;
    opacity: 1;
}

@media(max-width:1024px) {
    .home-flow .home-flow-list .item .clip {
        padding: 1em;
        border-radius: 20px;
    }

    .home-flow .home-flow-list .item .clip .tit {
        margin-bottom: 10px;
    }

    .home-flow .home-flow-list .item .clip .txt .btn-box .btn>* {
        font-size: 12px;
    }
}

@media(max-width:599px) {
    .home-flow .home-flow-list .item {
        padding: 0.3em;
    }

    .home-flow .home-flow-list .item .clip {
        padding: 1em;
        border-radius: 20px;
    }

    .home-flow .home-flow-list .item .clip .tit {
        font-size: 18px;
    }

    .home-flow .home-flow-list .item .clip .img {
        width: 100%;
    }

    .home-flow .home-flow-list .item .clip .txt {
        width: 100%;
    }

    .home-flow .home-flow-list .item .clip .txt .btn-box .btn>* {
        font-size: 14px;
        padding: 0px 5px;
    }

    .home-flow .home-flow-list .fa-chevron-right:before,
    .home-flow .home-flow-list .fa-chevron-left:before {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }
}

/* home-article */
/* home-news */

.home-news .ttlbox {
    margin-bottom: 10px;
}

.home-news .ttlbox .ttl {
    margin-bottom: 0;
}

.home-article .home-news .ttlbox .ttl {
    font-size: 32px;
    font-weight: 700;
    border: none;
    font-family: "M PLUS Rounded 1c", sans-serif;
    color: #0d4086 !important;
    letter-spacing: 2px;
}

.home-news .ttlbox .more a {
    padding: 5px 0;
}

.home-news .item {
    border-bottom: 1px solid #e8e8e8;
    padding: 10px 10px;
    height: 100%;
    display: flex;
    align-items: center;
}

.home-news .width {
    height: 110px;
}

.home-news.news .width .item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.home-news .width:first-of-type .item {
    border: none;
}

.home-news .width:nth-child(1) .item,
.home-news .width:nth-child(2) .item {
    position: relative;
    border-top: 1px solid #e8e8e8;
    height: 100%;
}

.home-news .width:nth-child(1) .item:before,
.home-news .width:nth-child(2) .item:before {
    content: "";
    width: 145px;
    height: 1px;
    background: #a3d8f6;
    position: absolute;
    top: -1px;
    left: 0;
}

.home-news .item .date {
    color: #666;
    font-size: 12px;
    line-height: 1;
    margin-bottom: 5px;
}

.home-news .item .cate span {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 5px;
    margin: 0 5px 5px 0;
    color: #0d4086;
    border: 1px solid #0d4086;
    border-radius: 3px;
    line-height: 1;
}

.home-news .width .item .tit{
  width: 100%;
}

@media (max-width:1024px) {
    .home-article .home-news .ttlbox .ttl {
        font-size: 28px;
    }
}

@media only screen and (max-width: 599px) {
    .home-news .item {
        width: 100%;
        margin-right: 0;
    }

    .home-news .width:nth-child(2) .item {
        border-top: none;
    }

    .home-news .width:nth-child(2) .item:before {
        display: none;
    }

    .home-news .width:first-of-type .item {
        border-bottom: 1px solid #e8e8e8;
    }

    .home-article .home-news .ttlbox .ttl {
        font-size: 24px;
    }

    .home-news .ttlbox .more a {
        font-size: 14px;
    }
}

/* home-banner */
.home-banner .box .item>* {
    position: relative;
    overflow: hidden;
    background: #3d649b;
    border-radius: 20px;
    border: 2px solid #fff;
    min-height: 150px;
    display: flex;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-banner .box .item .img {
    position: absolute;
    width: 60%;
    height: 100%;
    transform: skewX(-15deg);
    left: -12%;
    top: 0%;
    overflow: hidden;
}

.home-banner .box .item .img img {
    transform: skewX(15deg);
    scale: 1.5;
}

.home-banner .box .item .tit {
    font-weight: 700;
    width: 50%;
    height: 100%;
    text-align: center;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: 'M PLUS Rounded 1c';
    flex-direction: column;
}

@media(max-width:1024px) {
    .home-banner .box .item .img {
        left: -20%;
    }

    .home-banner .box .item .tit {
        width: 60%;
    }
}

/*home-rec*/

.home-rec .item {
    display: block;
    max-width: 750px;
    background: #e38198;
    margin: 0 auto;
    position: relative;
}

.home-rec .pic {
    position: relative;
    opacity: 0.4;
}

.home-rec .tit {
    width: 95%;
    max-width: 250px;
    color: #fff;
    font-size: 20px;
    font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'YuMincho', 'Yu Mincho', '游明朝体', serif;
    font-weight: bold;
    border: 1px solid #fff;
    padding: 16px 0;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}



/*===================================
下層ページ
===================================*/

/*subimg*/

.subimg {
    overflow: hidden;
    position: relative;
    height: 340px;
    background: #0d4086;
}

.subimg .pic {
    width: 90%;
    height: 200%;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(0, -50%);
    border-radius: 0 500px 500px 0;
    overflow: hidden;
    z-index: 1;
    opacity: 0.5;
}

.subimg .catch {
    width: 100%;
    height: 100%;
    margin-left: auto;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 50px;
}

@media only screen and (max-width: 1024px) {
    .subimg {
    height: 250px;
}
}

@media only screen and (max-width: 599px) {
    .subimg {
        height: 230px;
    }

    .subimg .pic {
    height: 400px;
}
}

/* first */
.first-attention .info-list .item {
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.first-attention .info-list .item .datattl {
    font-size: 20px;
    font-family: 'M PLUS Rounded 1c';
    font-weight: 500;
    color: #fff;
    padding: 5px 10px;
    background: #d8b5ed;
    margin-bottom: 10px;
}

.first-attention .info-list .item .datattl::before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 5px;
    color: #fff;
}

.first-flow .item {
    background: #fff;
    padding: 3em;
    border-radius: 2em;
    position: relative;
    margin-top: 100px;
}

.first-flow .item .num {
    position: absolute;
    top: -42px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 85px;
    height: 85px;
    background: #d8b5ed;
    color: #fff;
    font-size: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    font-family: "Montserrat", sans-serif;
}

.first-flow .item .tit {
    font-family: 'M PLUS Rounded 1c';
    font-size: 26px;
    color: #0d4086;
    font-weight: 600;
    text-align: center;
}

.first-flow .item .txt {
    margin-top: 20px;
}

@media(max-width:1024px) {
    .first-flow .item {
        padding: 2em;
        margin-top: 70px;
    }

    .first-flow .item .num {
        top: -35px;
        width: 70px;
        height: 70px;
    }

    .first-flow .item .tit {
        font-size: 24px;
    }
}

@media(max-width:599px) {
    .first-flow .item {
        padding: 2em 1em 2em;
        border-radius: 1em;
        margin-top: 50px;
    }

    .first-flow .item .tit {
        font-size: 20px;
    }

    .first-flow .item .num {
        top: -30px;
        width: 60px;
        height: 60px;
        font-size: 30px;
    }

    .first-flow .item .txt {
        margin-top: 10px;
    }
}

/* about */

.about-concept .item .box .txt ul li {
    display: flex;
    align-items: baseline;
    margin-bottom: 10px;
}

.about-concept .item .box .txt ul li:last-child {
    margin-bottom: 0;
}

.about-concept .item .box .txt ul li::before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    margin-right: 10px;
    background: #0d4086;
    color: #fff;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 4px;
    border-radius: 5px;
    flex-shrink: 0;
}

.about-concept .item .box .sub-box {
    background: #e9e9e9;
    border-radius: 10px;
    padding: 20px;
}

.about-concept.bg-cmn-blue .item .box .sub-box {
    background: #fff;
}

.about-concept .item .box .sub-box .sub-tit {
    font-size: 18px;
    color: #0e4087;
    font-weight: 600;
    font-family: 'M PLUS Rounded 1c';
    display: flex;
}

.about-concept .item .box .sub-box .sub-tit .num {
    margin-right: 5px;
}

.about-staff .tit {
    color: #0d4086;
    font-size: 24px;
    background: #fff;
    padding: 0 1em;
    font-family: 'M PLUS Rounded 1c';
    font-weight: 500;
    border-radius: 10px;
    letter-spacing: 2px;
    margin-right: 30px;
}

.about-staff .name {
    font-size: 30px;
    font-family: 'M PLUS Rounded 1c';
    color: #fff;
    font-weight: 500;
}

.about-staff .history {
    background: #fff;
    padding: 2em;
    border-radius: 20px;
    font-family: 'M PLUS Rounded 1c';
    font-weight: 500;
}

.about-staff .history .tit {
    padding: 0;
}

.about-staff .history dl>* {
    display: flex;
}

.about-staff.other .name02{
    font-size: 24px;
    text-align: center;
    color: #0d4086;
    font-weight: 500;
    font-family: 'M PLUS Rounded 1c';
}
.about-staff.other .name03{
    text-align: center;
    color: #0d4086;
    font-weight: 500;
    font-family: 'M PLUS Rounded 1c';
}


.history dl dt {
    width: 20%;
    flex-shrink: 0;
}

.history dl dd {
    position: relative;
}

.history dl dd::before {
    content: "";
    background: #666;
    width: 1em;
    height: 1px;
    display: block;
    position: absolute;
    top: 12px;
    left: -25px;
}

@media(max-width:599px) {

    .about-staff .history {
        padding: 1.5em;
    }

    .history dl dt {
        width: 30%;
    }
}

/*access*/
.access-map .map-box {
    width: 100%;
    height: 300px;
    margin: 50px auto 0;
    border-radius: 20px;
    overflow: hidden;
}

.access-map .map-box iframe {
    width: 100%;
    height: 100%;
}

.clinic-info .info-list .item {
    border-bottom: 2px solid #0e4087;
    padding-bottom: 20px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}

.clinic-info .info-list .item .datattl {
    font-size: 18px;
    font-family: 'M PLUS Rounded 1c';
    font-weight: 600;
    color: #0e4087;
    width: 20%;
    text-align: center;
    flex-shrink: 0;
}

@media(max-width:599px) {
    .clinic-info .info-list .item .datattl {
        width: 25%;
        font-size: 14px;
    }

    .clinic-info .info-list .item .data {
        font-size: 14px;
    }
}

/* bite */
.bite-example .example-list .tit {
    font-size: 20px;
    color: #fff;
    font-family: 'M PLUS Rounded 1c';
    text-align: center;
    background: #0d4086;
    border-radius: 20px;
    margin: 30px auto 0;
    padding: 0.2em;
    width: 55%;
    min-width: 230px;
    font-weight: 600;
}

.bite-example .example-list .img.min {
    height: 220px;
    width: 100%;
}

@media (max-width:599px) {
    .bite-example .example-list .tit {
        font-size: 16px;
        margin: 20px auto 0;
    }

    .bite-example .example-list .img.min {
        height: 140px;
    }
}

/* cavity */
.symptoms-area .txt-box .list li {
    margin-bottom: 10px;
    font-family: 'M PLUS Rounded 1c';
    color: #0d4086;
    font-weight: 500;
    display: flex;
}

.symptoms-area .txt-box .list li::before {
    content: "●";
    margin-right: 5px;
}

.cavity-progression .prog-list .tit {
    font-size: 20px;
    font-family: 'M PLUS Rounded 1c';
    text-align: center;
    color: #0d4086;
    font-weight: 600;
    margin-bottom: 10px;
    line-height: 1;
}

.cavity-progression .prog-list .tit span {
    font-size: 60%;
}

.cavity-progression .prog-list .txt {
    margin-top: 10px;
    font-size: 14px;
}

/* whitening */
.whitening-area .txt-box .fees-table {
    background: #0d4086;
    color: #fff;
    border-radius: 30px;
    margin-top: 30px;
    font-family: 'M PLUS Rounded 1c';
}

.whitening-area .txt-box .fees-table>* {
    display: flex;
}

.whitening-area .txt-box .fees-table>*:first-child {
    border-bottom: 1px solid;
}

.whitening-area .txt-box .fees-table dt {
    width: 30%;
    text-align: center;
    border-right: 1px solid;
    padding: 20px;
    font-weight: 500;
}

.whitening-area .txt-box .fees-table dd {
    width: 70%;
    text-align: center;
    padding: 20px;
}

@media (max-width:599px) {
    .whitening-area .txt-box .fees-table {
        font-size: 14px;
        border-radius: 20px;
    }

    .whitening-area .txt-box .fees-table dt {
        width: 60%;
        padding: 10px;
    }

    .whitening-area .txt-box .fees-table dd {
        width: 40%;
        padding: 10px;
    }
}

/*guide*/

.guide1 .tbox dt {
    padding: 0 0 15px 30px;
    position: relative;
}

.guide1 .tbox dt:before {
    display: block;
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    width: 20px;
    height: 20px;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    background: #ffd674;
    border-radius: 5px;
    text-align: center;
    position: absolute;
    top: 5px;
    left: 0;
}

.guide1 .tbox .table {
    border-top: #7f7f7f 1px dotted;
    padding-top: 20px;
}

.guide1 .tbox table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e8e8e8;
    margin-bottom: 10px;
}

.guide1 .tbox thead th {
    color: #fff;
    font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'YuMincho', 'Yu Mincho', '游明朝体', serif;
    background: #f4bfc9;
}

.guide1 .tbox thead td {
    color: #fff;
    font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'YuMincho', 'Yu Mincho', '游明朝体', serif;
    background: #f4bfc9;
}

.guide1 .tbox th {
    width: 120px;
    border: solid 1px #e8e8e8;
}

.guide1 .tbox td {
    width: 50px;
    text-align: center;
    border: solid 1px #e8e8e8;
}

.guide1 .tbox td .r {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

@media only screen and (max-width: 1024px) {
    .guide1 .tbox h4 .s {
        font-size: 16px;
    }
}

@media only screen and (max-width: 599px) {
    .guide1 .pic {
        width: 100%;
        text-align: center;
    }

    .guide1 .pic img {
        width: auto;
    }

    .guide1 .tbox {
        width: 100%;
    }

    .guide1 .tbox th {
        font-size: 12px;
    }

    .guide1 .tbox td {
        font-size: 12px;
    }
}

.guide2 li {
    padding: 0 0 34px 0;
}

.guide3 .wrap {
    max-width: 600px;
    margin: 0 auto;
}

.guide3 .wrap .img {
    padding: 0 0 20px 0;
}



/*concept*/

.concept1 .tbox .txt {
    line-height: 2;
    text-align: center;
}



/*staff*/

.staff1 .tbox h3 {
    font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'YuMincho', 'Yu Mincho', '游明朝体', serif;
    border-bottom: 1px dotted #7f7f7f;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.staff1 .tbox h3 .en {
    color: #727171;
    font-size: 12px;
}

.staff2 .flex {
    background: #fff0f3;
    padding: 40px 20px;
    border-radius: 10px;
}

.staff2 dd {
    padding: 0 0 0 15px;
    position: relative;
}

.staff2 dd:before {
    display: block;
    content: "";
    width: 6px;
    height: 6px;
    background: #e38198;
    border-radius: 100%;
    position: absolute;
    top: 6px;
    left: 0;
}

@media only screen and (max-width: 599px) {
    .staff2 .flex {
        padding: 20px;
    }
}



/*recruit*/

.rec2 .list {
    border-radius: 10px;
    overflow: hidden;
}

.rec2 .list dl {
    width: 14%;
    background: #f4bfc9;
    padding: 20px;
    position: relative;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.rec2 .list dl+dl:before,
.rec2 .list dl+dl:after {
    content: "";
    width: 2px;
    height: 50.5%;
    background: #fff;
    position: absolute;
}

.rec2 .list dl+dl:before {
    top: 0;
    left: 0;
    -webkit-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    transform: rotate(-10deg);
}

.rec2 .list dl+dl:after {
    bottom: 0;
    left: 0;
    -webkit-transform: rotate(10deg);
    -ms-transform: rotate(10deg);
    transform: rotate(10deg);
}

.rec2 .list dt {
    color: #fff;
    font-size: 24px;
    margin-bottom: 10px;
    text-align: center;
}

.rec2 .list dt:after {
    content: "";
    width: 40px;
    height: 2px;
    background: #fff;
    display: block;
    margin: 5px auto 0 auto;
}

.rec2 .list dd {
    color: #fff;
    font-size: 16px;
    text-align: center;
}

.rec3 .box {
    max-width: 720px;
    margin: 0 auto;
}

.rec3 dl {
    border-bottom: 1px dotted #7f7f7f;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.rec3 dt {
    width: 200px;
    font-weight: bold;
    padding: 0 0 0 20px;
    position: relative;
}

.rec3 dt:before {
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    background: #f5bfc9;
    border-radius: 2px;
    position: absolute;
    top: 5px;
    left: 0;
}

.rec3 dd {
    width: calc(100% - 250px);
}

@media only screen and (max-width: 1024px) {
    .rec2 .list dt {
        font-size: 20px;
    }

    .rec2 .list dd {
        font-size: 14px;
    }
}

@media only screen and (max-width: 599px) {
    .rec2 .list dl {
        width: 100%;
    }

    .rec2 .list dl+dl:before,
    .rec2 .list dl+dl:after {
        width: 15%;
        height: 2px;
    }

    .rec2 .list dl+dl:before {
        left: auto;
        right: 49.8%;
        -webkit-transform: rotate(10deg);
        -ms-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    .rec2 .list dl+dl:after {
        top: 0;
        bottom: auto;
        left: 49.8%;
        -webkit-transform: rotate(-10deg);
        -ms-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    .rec3 dt {
        width: 100%;
        margin-bottom: 5px;
    }

    .rec3 dd {
        width: 100%;
        padding-left: 20px;
    }
}



/*menu*/

.menu1 .table {
    border: 1px solid #e8e8e8;
}

.menu1 dl:not(:last-of-type) {
    border-bottom: 1px solid #e8e8e8;
}

.menu1 dt {
    font-weight: bold;
    background: #fff0f3;
    padding: 15px;
}

.menu1 dd {
    border-left: 1px solid #e8e8e8;
}

.menu1 .col3 dt {
    width: 35%;
}

.menu1 .col3 dd {
    width: 65%;
}

.menu1 .col3 dd ul:not(:last-of-type) {
    border-bottom: 1px solid #e8e8e8;
}

.menu1 .col3 dd .flex01 li {
    width: 60%;
    padding: 15px;
}

.menu1 .col3 dd .flex01 li:nth-child(2) {
    width: 40%;
    border-left: 1px solid #e8e8e8;
    text-align: right;
}

.menu1 .col3 dd .flex02>li {
    width: 60%;
    padding: 15px;
}

.menu1 .col3 dd .flex02>li:nth-of-type(2) {
    width: 40%;
    border-left: 1px solid #e8e8e8;
    padding: 0;
    text-align: right;
}

.menu1 .col3 dd .flex02 li li {
    padding: 15px;
}

.menu1 .col3 dd .flex02 li li:not(:last-of-type) {
    border-bottom: 1px solid #e8e8e8;
}

.menu1 .col2 dt {
    width: 65%;
}

.menu1 .col2 dd {
    width: 35%;
    padding: 15px;
    text-align: right;
}

@media only screen and (max-width: 599px) {
    .menu1 .col3 dt {
        width: 100%;
        padding: 10px;
    }

    .menu1 .col3 dd {
        width: 100%;
        border: none;
    }

    .menu1 .col3 dd .flex01 li {
        padding: 10px;
    }

    .menu1 .col3 dd .flex02>li {
        padding: 10px;
    }

    .menu1 .col3 dd .flex02 li li {
        padding: 10px;
    }

    .menu1 .col2 dt {
        width: 100%;
        padding: 10px;
    }

    .menu1 .col2 dd {
        width: 100%;
        border: none;
        padding: 10px;
    }
}



/*ippan*/

.ippan2 {
    background: -webkit-linear-gradient(335deg, rgba(244, 191, 201, 1) 0%, rgba(244, 191, 201, 1) 50%, rgba(241, 177, 188, 1) 50%, rgba(241, 177, 188, 1) 50%, rgba(244, 191, 201, 1) 50%, rgba(241, 177, 188, 1) 50%, rgba(241, 177, 188, 1) 100%);
    background: linear-gradient(115deg, rgba(244, 191, 201, 1) 0%, rgba(244, 191, 201, 1) 50%, rgba(241, 177, 188, 1) 50%, rgba(241, 177, 188, 1) 50%, rgba(244, 191, 201, 1) 50%, rgba(241, 177, 188, 1) 50%, rgba(241, 177, 188, 1) 100%);
    position: relative;
    overflow: hidden;
}

.ippan2 .ttl {
    color: #fff;
    font-size: 24px;
    font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'YuMincho', 'Yu Mincho', '游明朝体', serif;
    padding-bottom: 10px;
    padding-right: 55%;
    position: relative;
}

.ippan2 .ttl:before {
    content: "";
    width: 400%;
    height: 1px;
    background: #fff;
    position: absolute;
    bottom: 0;
    left: -200%;
}

.ippan2 .pic {
    margin-top: -40px;
    position: relative;
    z-index: 1;
}

.ippan2 .tbox {
    margin-top: 20px;
}

@media only screen and (max-width: 599px) {
    .ippan2 .ttl {
        padding-right: 0;
        margin-bottom: 20px;
    }

    .ippan2 .pic {
        margin-top: 0;
    }
}

.ippan3 .flex:not(:last-of-type) {
    margin-bottom: 50px;
}

@media only screen and (max-width: 1024px) {
    .ippan3 .flex:not(:last-of-type) {
        margin-bottom: 40px;
    }
}

@media only screen and (max-width: 599px) {
    .ippan3 .flex:not(:last-of-type) {
        margin-bottom: 30px;
    }
}

.ippan4 .flex:not(:last-of-type) {
    margin-bottom: 50px;
}

.ippan4 .tbox .label {
    color: #fff;
    background: #f4bfc9;
    border-radius: 15px;
    padding: 0 1.5em;
    margin-right: 1em;
}

.ippan4 .tbox .ttl02 {
    font-size: 16px;
    margin-bottom: 20px;
}

@media only screen and (max-width: 1024px) {
    .ippan4 .flex:not(:last-of-type) {
        margin-bottom: 40px;
    }
}

@media only screen and (max-width: 599px) {
    .ippan4 .flex:not(:last-of-type) {
        margin-bottom: 30px;
    }
}

.ippan5 .txt {
    margin-bottom: 30px;
}

.ippan5 .table {
    max-width: 700px;
    border: 1px solid #e8e8e8;
    margin: 0 auto;
}

.ippan5 .table dl:not(:last-of-type) {
    border-bottom: 1px solid #e8e8e8;
}

.ippan5 .table dt {
    padding: 10px;
    text-align: center;
}

.ippan5 .table dt img {
    width: 80%;
    max-width: 120px;
}

.ippan5 .table dt strong {
    display: block;
    color: #e38198;
    margin-top: 5px;
}

.ippan5 .table dd {
    border-left: 1px solid #e8e8e8;
    padding: 10px;
}

.ippan5 .table .th dt {
    color: #fff;
    font-size: 16px;
    background: #f4bfc9;
    text-align: center;
}

.ippan5 .table .th dd {
    color: #fff;
    font-size: 16px;
    background: #f4bfc9;
    border-color: #fff;
    text-align: center;
}

@media only screen and (max-width: 599px) {
    .ippan5 .table dt {
        font-size: 12px;
        padding: 5px;
    }

    .ippan5 .table dd {
        font-size: 12px;
        padding: 5px;
    }

    .ippan5 .table .th dt {
        font-size: 14px;
    }

    .ippan5 .table .th dd {
        font-size: 14px;
    }
}

.ippan6 .table {
    max-width: 600px;
    border: 1px solid #e8e8e8;
    margin: 0 auto;
}

.ippan6 .table dl:not(:last-of-type) {
    border-bottom: 1px solid #e8e8e8;
}

.ippan6 .table dt {
    text-align: center;
    padding: 10px;
}

.ippan6 .table dd {
    border-left: 1px solid #e8e8e8;
    padding: 10px;
}

.ippan6 .table dt img {
    width: 80%;
    max-width: 120px;
}

.ippan6 .table dt strong {
    display: block;
    color: #e38198;
    font-size: 16px;
    margin-top: 5px;
}

.ippan6 .table .th dt {
    color: #fff;
    font-size: 16px;
    background: #f4bfc9;
    border-color: #fff;
    text-align: center;
}

.ippan6 .table .th dd {
    color: #fff;
    font-size: 16px;
    background: #f4bfc9;
    border-color: #fff;
    text-align: center;
}

@media only screen and (max-width: 599px) {
    .ippan6 .table dt {
        padding: 5px;
    }

    .ippan6 .table dt strong {
        font-size: 14px;
    }

    .ippan6 .table dd {
        font-size: 12px;
        padding: 5px;
    }

    .ippan6 .table .th dt {
        font-size: 14px;
    }

    .ippan6 .table .th dd {
        font-size: 14px;
    }
}



/* index-faq（トップ） */
.index-faq.common-bgi04 {
    position: relative;
}

.index-faq .bgi-bear {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.2;
    z-index: 1;
}

.index-faq .accordion .list-cmp09 {
    border-radius: 50px;
    background: #fff;
    row-gap: 30px;
    display: flex;
    flex-direction: column;
}

.index-faq .accordion .list-cmp09 .item:last-child .data {
    border-radius: 0 0 50px 50px;
}

.index-faq .accordion .list-cmp09 .item {
    position: relative;
    background: #fff;
    overflow: hidden;
    border-radius: 4em;
    box-shadow: 20px 20px 60px #dcdcdc,
        -20px -20px 60px white;
}

[data-element-id].index-faq .accordion .list-cmp09 .item{
  margin-bottom: 20px;
}

.index-faq .accordion .list-cmp09 .item .datattl {
    position: relative;
}

.index-faq .accordion .list-cmp09 .item .datattl::before,
.index-faq .accordion .list-cmp09 .item .datattl::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translate(0, -50%);
    width: 1.5em;
    height: 1px;
    display: block;
    background: #666;
    transition: .5s;
}

.index-faq .accordion .list-cmp09 .item .datattl.is-parent::after {
    transform: rotate(90deg) translate(0, -50%);
}

.index-faq .accordion .list-cmp09 .item .data {
    background: #f8f2fb;
    display: none;
}

[data-element-id].index-faq .accordion .list-cmp09 .item .data{
  display: block;
}

.index-faq.detail .accordion .list-cmp09 .item .data .link {
    padding: 20px 10% 10px;
}

.index-faq.detail.vc .accordion .list-cmp09 .item .data .link {
    padding: 20px 9% 10px;
}

.index-faq.detail .accordion .list-cmp09 .item .data .link li a {
    background: #e4ab76;
    color: #fff;
    min-width: 170px;
    margin: 0 auto;
    display: block;
    border: 2px solid #fff;
    padding: 10px 5px;
    font-size: 14px;
    border-radius: 10px;
    text-align: center;
}

.index-faq .accordion .list-cmp09 .item .txt {
    display: flex;
    align-items: baseline;
    width: 95%;
    margin: 0 auto;
    padding: 30px 10%;
}

.index-faq .accordion .list-cmp09 .item:last-child .txt {
    border: none;
}

.index-faq .accordion .list-cmp09 .item .tit {
    padding: 20px 10%;
    font-size: 20px;
    font-family: 'Kiwi Maru';
    color: #355f99;
    text-align: center;
}

.index-faq .accordion .list-cmp09 .item .txt .q,
.index-faq .accordion .list-cmp09 .item .txt .a {
    font-family: "Montserrat", sans-serif;
    font-size: 36px;
    font-weight: 700;
    width: 80px;
    flex-shrink: 0;
}

.index-faq .accordion .list-cmp09 .item .txt .q {
    color: #0e4087;
}

.index-faq .accordion .list-cmp09 .item .txt .a {
    color: #d8b5ed;
}

@media (max-width:1024px) {
    .index-faq .accordion .list-cmp09 .item .txt {
        padding: 20px 10%;
    }
}

@media (max-width:599px) {
    .index-faq .accordion .list-cmp09 {
        border-radius: 30px;
    }

    .index-faq .accordion .list-cmp09 .item {
        border-radius: 2em;
    }

    .index-faq .accordion .list-cmp09 .item:last-child .data {
        border-radius: 0 0 30px 30px;
    }

    .index-faq .accordion .list-cmp09 .item .txt {
        width: 90%;
        margin: 0 auto 0;
        padding: 20px 20px 20px 20px;
    }

    .index-faq .accordion .list-cmp09 .item .txt .q,
    .index-faq .accordion .list-cmp09 .item .txt .a {
        width: 40px;
        font-size: 30px;
    }

    .index-faq .accordion .list-cmp09 .item .datattl::before,
    .index-faq .accordion .list-cmp09 .item .datattl::after {
        right: 20px;
        width: 1.2em;
    }
}


/*contact*/
.contact-info {
    width: 80%;
    margin: 50px auto 0;
    /* border: 2px solid #0e4087; */
    color: #0e4087;
    /* padding: 20px; */
    border-radius: 20px;
}

.contact-info .box .item {
    display: flex;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.contact-info .box .item dt {
    width: 30%;
}

.contact-info .tel {
    font-size: 34px;
    font-family: "Montserrat", sans-serif;
    color: #0d4086;
    margin-top: 10px;
}

.contactwrap .wrap {
    max-width: 760px;
    margin: 0 auto;
    width: 95%;
}

.contactwrap .wrap .ch {
    color: #ac3b3b;
    margin-bottom: 10px;
}

.contactwrap .table {
    background: #fff;
    border: 1px solid #e8e8e8;
    padding: 20px 40px;
}

.form dl {
    border-bottom: 1px dotted #7f7f7f;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.form dl:last-of-type {
    border: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.form dt {
    width: 200px;
    font-weight: bold;
}

.form dt strong {
    color: #ac3b3b;
}

.form dd {
    width: calc(100% - 200px);
}

.form dd li {
    margin-right: 10px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.form dd li label {
    line-height: 1;
    margin-left: 5px;
}

.form dd dl {
    border: none;
    padding-bottom: 0;
    margin-bottom: 10px;
}

.form dd dt {
    width: 70px;
    text-align: right;
    font-weight: normal;
}

.form dd dd {
    width: calc(100% - 80px);
}

.form dd .size1,
.form dd .size2 {
    border: #e8e8e8 1px solid;
    padding: 5px;
}

.form dd .size1 {
    width: 100%;
}

.form dd .size2 {
    width: 80%;
    max-width: 200px;
}

.form dd textarea {
    width: 100%;
    height: 180px;
    border: #e8e8e8 1px solid;
}

.form .formbtn {
    text-align: center;
}

.form .formbtn li {
    width: 45%;
    max-width: 200px;
    display: inline-block;
    margin: 0 2%;
    vertical-align: middle;
}

.form .formbtn button {
    width: 100%;
    color: #fff;
    font-size: 20px;
    font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'YuMincho', 'Yu Mincho', '游明朝体', serif;
    background: #e38198;
    border: none;
    padding: 10px;
    cursor: pointer;
}

@media only screen and (max-width: 599px) {
    .contact-info {
        width: 100%;
    }

    .contact-info .tel {
        font-size: 28px;
        margin-top: 5px;
    }

    .contactwrap .table {
        padding: 15px;
    }

    .form dt {
        width: 100%;
        margin-bottom: 5px;
    }

    .form dd {
        width: 100%;
    }

    .form dd dt {
        text-align: left;
    }

    .form .formbtn button {
        font-size: 18px;
    }
}



/*blog*/

.side dl:not(:last-of-type) {
    margin-bottom: 50px;
}

.side dt {
    color: #053e87;
    font-size: 30px;
    font-family: 'M PLUS Rounded 1c';
    font-weight: 600;
    margin-bottom: 10px;
    text-align: center;
}

.side dd {
    font-size: 18px;
    font-weight: 500;
    font-family: 'M PLUS Rounded 1c';
}

.side .dd {
    border-bottom: 1px solid;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.side .dd>*::before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 5px;
    color: #666;
}

.side dd a {
    color: #666;
}

@media only screen and (max-width: 1024px) {

    .side {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .side dl {
        width: 48%;
    }

    .news .side dl {
        width: 100%;
    }

    .side dl:not(:last-of-type) {
        margin-bottom: 30px;
    }

    .side dt {
        font-size: 26px;
    }

    .side dd {
        font-size: 16px;
    }
}

@media only screen and (max-width: 599px) {
    .side dl {
        width: 100%;
    }

    .side dt {
        font-size: 24px;
    }
}

.bloglist .item>* {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: #fff;
    height: 100%;
    padding: 1em;
    border-radius: 1em;
    box-shadow: 5px 5px 20px #dcdcdc,
        -5px -5px 20px #ffffff;
}

.bloglist.news .item>* {
    padding: 1em 3em;
    border-radius: 5em;
}

.bloglist .item>*:hover {
    opacity: 1;
    background: #f7f7f7;
    box-shadow: inset 5px 5px 20px #e1e1e1, inset -5px -5px 20px #ffffff;
}

.bloglist .item .date {
    color: #666;
    font-size: 14px;
}

[data-element-id].bloglist .item .date{
  width: 100%;
}

.bloglist .item .cate span {
    display: inline-block;
    color: #053e87;
    font-size: 12px;
    border: 1px solid;
    border-radius: 5px;
    padding: 0 10px;
    margin: 0 5px 5px 0;
}

.bloglist .item .tit {
    font-weight: 500;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media only screen and (max-width: 599px) {

    .bloglist.news .item>* {
        padding: 0.5em 1em;
        border-radius: 1em;
    }
}

.pagenav li {
    font-family: "Montserrat", sans-serif;
    font-size: 30px;
}

.pagenav li a {
    color: #c2c2c2;
    padding: 5px 15px;
}

.pagenav li a:hover {
    opacity: 1;
    color: #666;
}

.pagenav .prev a,
.pagenav .next a {
    color: #0e4087;
}

.pagenav .prev a:hover,
.pagenav .next a:hover {
    color: #0e4087;
    opacity: 0.6;
}

.pagenav .now {
    color: #666;
    padding: 5px 15px;
}

@media only screen and (max-width: 1024px) {
    .pagenav li {
        font-size: 26px;
    }
}

@media only screen and (max-width: 599px) {
    .pagenav li {
        font-size: 22px;
    }
}

.single {
    padding-left: 30px;
    border-left: 1px solid #e38198;
}

.single .meta .date {
    color: #b3b3b3;
    font-size: 12px;
}

.single .meta .cate span {
    display: inline-block;
    color: #fff;
    font-size: 12px;
    background: #f4bfc9;
    padding: 0 10px;
    margin: 0 10px 10px 0;
}

.single .tit {
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px solid #e8e8e8;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.single .back {
    text-align: right;
    margin-top: 30px;
}

.single .back a {
    display: inline-block !important;
    border: 1px solid #f4bfc9;
    color: #f4bfc9;
    padding: 3px 17px;
}

@media only screen and (max-width: 1024px) {
    .single {
        padding-left: 20px;
    }
}

@media only screen and (max-width: 599px) {
    .single {
        padding-left: 10px;
    }
}

.recommend .item {
    border-bottom: 1px solid #e8e8e8;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.recommend .item .date {
    color: #b3b3b3;
    font-size: 12px;
}

.recommend .item .cate span {
    display: inline-block;
    color: #fff;
    font-size: 12px;
    background: #f4bfc9;
    padding: 0 10px;
    margin: 0 10px 10px 0;
}

.recommend .item .tit {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}



/* blog_detail */
.bloglist.html-detail .box {
    background: #fff;
    overflow: hidden;
    padding: 1em 2em 2em;
    border-radius: 2em;
    box-shadow: 10px 10px 40px #dcdcdc,
        -10px -10px 30px white;
}

.bloglist.html-detail .box .date {
    color: #666;
    text-align: right;
}

.bloglist.html-detail .box .cate {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-top: 5px;
}

.bloglist.html-detail .box .cate span {
    display: inline-block;
    color: #053e87;
    font-size: 14px;
    border: 1px solid;
    border-radius: 5px;
    padding: 0 10px;
    margin: 0 5px 5px 0;
}

.bloglist.html-detail .box .cate span:last-child {
    margin: 0 0 5px 0;
}

.bloglist.html-detail .box .tit {
    font-size: 22px;
    font-family: 'M PLUS Rounded 1c';
    color: #0e4087;
    font-weight: 600;
    border-bottom: 2px solid;
    padding-bottom: 5px;
    margin-bottom: 20px;
}

.bloglist.html-detail .box .txt h2 {
    color: #fff;
    font-size: 22px;
    background: #0e4087;
    font-family: 'M PLUS Rounded 1c';
    line-height: 1;
    padding: 0.5em;
    margin: 1em 0;
    font-weight: 600;
    letter-spacing: 2px;
}

.bloglist.html-detail .box .txt h3 {
    font-size: 20px;
    font-family: 'M PLUS Rounded 1c';
    border-left: solid 10px #ecdaf6;
    line-height: 1;
    padding: 0.5em;
    margin: 1em 0;
    font-weight: 600;

}

.bloglist.html-detail .box .txt h4 {
    font-size: 18px;
    font-family: 'M PLUS Rounded 1c';
    border-bottom: dotted 2px #0e4087;
    padding-bottom: 0.5em;
    margin: 1em 0;
    font-weight: 600;
}

@media(max-width:599px) {
    .bloglist.html-detail .box {
        padding: 1em;
        border-radius: 1.5em;
    }
}

/* contact */
.form .box {
    display: flex;
    flex-wrap: nowrap;
    padding: 20px 0;
}

.form .datattl {
    display: flex;
    flex-shrink: 0;
    justify-content: space-between;
    width: 220px;
    font-weight: 600;
    font-size: 18px;
    font-family: 'M PLUS Rounded 1c';
    align-items: baseline;
}

.form .require {
    display: inline-block;
    margin-left: 10px;
    padding: 0.1em 0.5em;
    background: #0e4087;
    color: #fff;
    font-size: 14px;
    line-height: 1.6em;
    font-weight: 500;
}

.form .data {
    padding-left: 50px;
    width: 100%;
}

.form .data>*{
  display: flex;
  flex-wrap:wrap;
}

.form .data input {
    box-sizing: border-box;
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 10px 20px;
    border-radius: 20px;
    width: 100%;
    border: 2px solid #0e4087;
    color: #0e4087;
}

.form .data input[type='radio'] {
    display: none;
}

.form .data input[type='radio']+label {
    position: relative;
    box-sizing: border-box;
    margin-right: 20px;
    padding-left: 20px;
    line-height: 200%;
    font-weight: 500;
    flex-shrink: 0;
    width: 30%;
}

.form .data input[type='radio']+label::before {
    position: absolute;
    top: 7px;
    left: 0;
    display: block;
    width: 13px;
    height: 13px;
    border: 2px solid #0e4087;
    border-radius: 50%;
    background: #fff;
    content: '';
}

.form .data input[type='radio']:checked+label::after {
    position: absolute;
    top: 7px;
    left: 0px;
    display: block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #0e4087;
    content: '';
}

.form .data input[type='radio']:checked+label {
    -webkit-transition: 0.6s;
    transition: 0.6s;
}

.form .data input[type='number'] {
    margin-right: 10px;
    width: 70px;
}

.form .data select {
    box-sizing: border-box;
    padding: 5px;
    border: 2px solid #999;
    color: inherit;
}

.form .data textarea {
    box-sizing: border-box;
    border-radius: 20px;
    padding: 20px;
    width: 100%;
    height: 170px;
    border: 2px solid #0e4087;
    color: #0e4087;
    font-size: inherit;
    font-family: inherit;
}

.form .data01 div {
    display: inline-block;
}

.form .form-btn {
    margin-top: 50px;
}

.form .form-btn button {
    width: 100%;
    display: block;
    padding: 15px 20px;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    background: #0e4087;
    border: 2px solid #0e4087;
    border-radius: 30px;
    text-align: center;
    position: relative;
}

.form .form-btn button:hover {
    opacity: 1;
    color: #0e4087;
    background: #fff;
    border: 2px solid #0e4087;
}

.form .form-btn button::after {
    content: "";
    border-bottom: 2px solid;
    border-right: 2px solid;
    width: 10px;
    height: 10px;
    transform: translate(0, -50%) rotate(-45deg);
    position: absolute;
    top: 50%;
    right: 15px;
}

.form .form-btn button.back::after {
    transform: translate(0, -50%) rotate(135deg);
    right: auto;
    left: 15px;
}

input[type="text"]:focus,
.form .data textarea:focus {
    outline: none;
}

@media only screen and (max-width: 1024px) {
    .form .item {
        flex-wrap: wrap;
    }

    .form .datattl {
        display: block;
        margin-bottom: 10px;
        font-weight: 500;
        font-size: 16px;
    }

    .form .data {
        padding-left: 30px;
    }
    
    .form .data input[type='radio']+label{
      width: 40%;
    }
}

@media (max-width:599px) {
    .form .box {
        flex-wrap: wrap;
    }

    .form .data {
        padding-left: 0px;
    }
    
    .form .form-btn button{
      padding: 10px;
    }
    
    .form .data input[type='radio']+label{
      width: 100%;
    }
}

[data-ab-test-block] [data-ab-test-contents]+[data-ab-test-contents] {
  display: none;
}
