/*
Theme Name: ASUKA2024
Author: lime.inc
Author URI: https://lime-inc.co.jp
Version: 1.0.0
*/

@charset "utf-8";
html { scroll-behavior: smooth; }
body {
    width: 100%;
    margin: 0 auto;
    color: rgba(23, 23, 23, 1);
    text-align: center;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    overflow-x: hidden;
    background-color: rgba(255, 252, 245, 1);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
img {
    width: 100%;
    max-width: none;
}
ul, li {
    padding: 0;
    margin: 0;
    list-style-type: none;
}
a {
    text-decoration: none;
    color: rgba(0, 0, 0, 1);
}
:root {
    --pc: 1472 * 100vw;
    --sp: 375 * 100vw;
}
.f-zkgn { font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif; }
.f-lexend { font-family: "Lexend", sans-serif; }

.logo img { width: calc(315 / var(--pc)); }
.outer1152 {
    width: calc(1152 / var(--pc));
    margin: 0 auto;
}

/*アニメーション*/
.fade,
.slideup,
.eachTextAnime span { opacity: 0; }
.fade.active { animation: fade 0.8s ease-in-out forwards; }
.eachTextAnime.active span { animation: fade 1.2s ease-in-out forwards; }
.slideup.active { animation: slideup 0.5s ease-in-out forwards; }
@keyframes fade {
    0% { opacity: 0;  }
    100% { opacity: 1; }
}
@keyframes slideup {
    0% { transform: translateY(10px); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
}
@keyframes slidedown {
    0% { transform: translateY(-10px); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
}
@keyframes scale {
    0% { transform: scale(50%); opacity: 0; }
    100% { transform: scale(100%); opacity: 1; }
}
@keyframes slide {
    0% { transform: translateX(0) }
    100% { transform: translateX(100%) }
}
@keyframes arrowSlide {
    0% { transform: translate3d(-50%, -50%, 0); opacity: 1; }
    50.0% { transform: translate3d(10%, -50%, 0); opacity: 0; }
    50.1% { transform: translate3d(-110%, -50%, 0); opacity: 0; }
    100% { transform: translate3d(-50%, -50%, 0); opacity: 1; }
}
@keyframes arrowSlide2 {
    0% { transform: translate3d(-50%, -50%, 0); opacity: 1; }
    50.0% { transform: translate3d(-10%, -90%, 0); opacity: 0; }
    50.1% { transform: translate3d(-110%, 10%, 0); opacity: 0; }
    100% { transform: translate3d(-50%, -50%, 0); opacity: 1; }
}
.delay-anime1 { animation-delay: 0.5s !important; }
.delay-anime2 { animation-delay: 1s !important; }
.delay-anime3 { animation-delay: 1.5s !important; }
.delay-anime4 { animation-delay: 2s !important; }
header { padding-top: calc(100 / var(--pc)); }

/* グローバルナビ */
.grobalmenu {
    width: 100%;
    padding: calc(20 / var(--pc)) calc(50 / var(--pc));
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: .5s;
    z-index: 3;
    position: fixed;
    top: 0;
}
.grobalmenu.upmove {
    animation: upmove 0.5s forwards;
    background: rgba(255, 252, 245, 1);
}
.grobalmenu.downmove {
    animation: downmove 0.5s forwards;
    background: rgba(255, 252, 245, 1);
}
@keyframes upmove {
    0% { transform: translateY(0); }
    100% { transform: translateY(-100%); }
}
@keyframes downmove {
    0% { transform: translateY(-100%); }
    100% { transform: translateY(0); }
}
.grobalmenu .logo {
    display: block;
    width: calc(315 / var(--pc));
    height: calc(29 / var(--pc));
    background: url(../img/header/header-logo.svg) no-repeat;
    background-size: cover;
}
.grobalmenu .logo2 { display: none; } /*スマホ用のロゴ（タグラインあり）非表示*/
.grobalmenu .contact-btn-hidden { display: none; } /*スマホ用の問い合わせボタン非表示*/
.grobalmenu .gnav .gnav-menu {
    display: flex;
    column-gap: calc(32 / var(--pc));
    align-items: baseline;
}
.grobalmenu .gnav .gnav-menu li { position: relative; }
.grobalmenu .gnav .gnav-menu li a {
    font-size: calc(14 / var(--pc));
    line-height: calc(22.4 / var(--pc));
}
.grobalmenu .gnav .gnav-menu li a:hover::before,
.grobalmenu .gnav .gnav-menu li a.current::before,
.grobalmenu .gnav .gnav-menu li a:has(+ .child-menu:hover)::before {
    display: block;
    content: "";
    height: calc(2 / var(--pc));
    width: 100%;
    background: rgba(255, 203, 0, 1);
    position: absolute;
    bottom: calc(-12 / var(--pc));
    animation: fade 0.3s ease-in-out forwards;
}
.grobalmenu .gnav .gnav-menu li.arrow-rightup a::after {
    display: inline-block;
    content: "";
    background: url(../img/header/recruite-arrow.png) no-repeat;
    background-size: cover;
    width: calc(7 / var(--pc));
    height: calc(7 / var(--pc));
    margin-left: calc(4 / var(--pc));
    vertical-align: super;
    transition: .3s;
}
.grobalmenu .gnav .gnav-menu li.arrow-rightup a:hover::after { transform: translate(2px, -2px); }
.grobalmenu .gnav .gnav-menu li.arrow-rightup a:hover::before { display: none; }
.grobalmenu .gnav .gnav-menu li.contact-btn a {
    background: rgba(27, 136, 203, 1);
    color: #FFF;
    padding: calc(13 / var(--pc)) calc(21 / var(--pc)) calc(13 / var(--pc)) calc(23 / var(--pc));
    border-radius: 50px;
    display: block;
    transition: .3s;
    font-weight: 500;
}
.grobalmenu .gnav .gnav-menu li.contact-btn a:hover {
    border-bottom: none;
    background: rgba(42, 151, 218, 1);
}
.grobalmenu .gnav .gnav-menu li.contact-btn a:hover::before { display: none; }
.btn-gnav { display: none; } /*ハンバーガーメニューボタン非表示*/
.grobalmenu .gnav .gnav-menu li .child-menu { /*子メニュー本体*/
    width: calc(190 / var(--pc));
    position: absolute;
    top: 100%;
    left: 0;
    padding-top: 0;
    visibility: hidden;
    z-index: 2;
}
.grobalmenu .gnav .gnav-menu li .child-menu.wide { width: calc(250 / var(--pc)); } /*子メニュー（幅広）*/
.grobalmenu .gnav .gnav-menu li .child-menu ul { /* 子メニューのスタイル */
    padding: calc(32 / var(--pc));
    border-radius: calc(12 / var(--pc));
    background: #FFF;
    text-align: left;
    box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, .05);
    margin-top: calc(20 / var(--pc));
}
.grobalmenu .gnav .gnav-menu li:hover .child-menu {
    visibility: visible;
    animation: fade 0.3s ease-in-out forwards;
} /*親メニューホバー時子メニュー出現*/
.grobalmenu .gnav .gnav-menu li .child-menu li {
    margin-bottom: calc(15 / var(--pc));
    line-height: 0;
} /*子メニュー各項目*/
.grobalmenu .gnav .gnav-menu li .child-menu li:last-child { margin-bottom: 0; } /*子メニュー最後だけ下のマージンなし*/
.grobalmenu .gnav .gnav-menu li .child-menu li a { /*子メニューの文字*/
    line-height: calc(19.04 / var(--pc));
    padding-bottom: 0;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
}
.grobalmenu .gnav .gnav-menu li .child-menu li a:hover { color: rgba(140, 140, 140, 1); } /*子メニューホバー時*/
.grobalmenu .gnav .gnav-menu li .child-menu li a:hover::before { display: none; }
.grobalmenu .gnav .contact-sp { display: none; }

/*スマホ用メニュー*/
@media screen and (max-width: 736px) {
    header { padding-top: calc(72 / var(--sp)); }
    .grobalmenu {
        padding: calc(16 / var(--sp)) calc(16 / var(--sp)) calc(16 / var(--sp)) calc(16 / var(--sp));
        position: fixed;
        top: 0;
        z-index: 12;
        transition: .3s;
        animation: none;
    }
    .grobalmenu.open { /*背景色を設定して、ボタンを右に寄せる*/
        background: rgba(248, 241, 227, 1);
        justify-content: end;
    }
    .grobalmenu .logo { /*スマホ用のタグラインがないロゴ（最初は非表示）*/
        display: none;
        background: url(../img/header/header-logo2.svg);
        background-size: cover;
        width: calc(110 / var(--sp));
        height: calc(21 / var(--sp));
    }
    .grobalmenu.logo-change .logo { display: block; } /*スクロールしたら表示*/
    .grobalmenu.open .logo { display: none; } /*メニュー開いたら非表示*/
    .grobalmenu .logo2 { /*タグラインありのロゴ*/
        display: block;
        width: calc(240 / var(--sp));
        height: calc(21 / var(--sp));
        background: url(../img/header/header-logo_sp.svg) no-repeat;
        background-size: cover;
    }
    .grobalmenu.logo-change .logo2,
    .grobalmenu.open .logo2 { display: none; } /*タグラインありのロゴをスクロールした時とメニューを開いたときに非表示*/
    .grobalmenu .contact-btn-hidden { /*スマホ用のヘッダーの問い合わせボタン（最初は非表示）*/
        font-size: calc(12 / var(--sp));
        font-weight: 500;
        line-height: calc(17.38 / var(--sp));
        color: #FFF;
        background: rgba(27, 136, 203, 1);
        border-radius: calc(44 / var(--sp));
        padding: calc(11.52 / var(--sp)) calc(23 / var(--sp));
        margin-right: calc(-40 / var(--sp));
    }
    .grobalmenu.logo-change .contact-btn-hidden { display: block; } /*スクロールしたら問い合わせボタン表示*/
    .grobalmenu.open .contact-btn-hidden { display: none; } /*メニューを開いたら非表示*/
    .grobalmenu .gnav { /*メニュー本体*/
        width: 100%;
        height: 100vh;
        background: rgba(248, 241, 227, 1);
        display: none;
        position: absolute;
        top: calc(72 / var(--sp));
        transform: translateY(-100%);
        left: 0;
        transition: .3s;
        overflow: scroll;
        padding-bottom: calc(140 / var(--sp));
    }
    .grobalmenu.open .gnav { /*ボタンを押したらメニューを開く*/
        display: block;
        transform: translateY(0);
    }
    .grobalmenu .gnav .gnav-menu {
        flex-direction: column;
        padding: 0 calc(32 / var(--sp)) calc(40 / var(--sp)) calc(32 / var(--sp));
    }
    .grobalmenu .gnav .gnav-menu li {
        width: 100%;
        margin: 0;
        border-bottom: 1px solid rgba(226, 222, 208, 1);
    }
    .grobalmenu .gnav .gnav-menu li a {
        font-size: calc(16 / var(--sp));
        line-height: calc(25.6 / var(--sp));
        padding-bottom: calc(12 / var(--pc));
        padding: calc(18 / var(--sp)) 0;
        display: block;
        text-align: left;
        letter-spacing: .06em;
        font-weight: 500;
        margin-top: 0;
        font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    }
    .grobalmenu .gnav .gnav-menu li a:hover::before,
    .grobalmenu .gnav .gnav-menu li a.current::before { display: none; }
    .grobalmenu .gnav .gnav-menu li.arrow-rightup a::after {
        width: calc(7 / var(--sp));
        height: calc(7 / var(--sp));
        margin-left: calc(4 / var(--sp));
    }
    .grobalmenu .gnav .gnav-menu li.contact-btn { display: none; }
    .btn-gnav {
        display: block;
        width: calc(40 / var(--sp));
        height: calc(40 / var(--sp));
        background: url(../img/menu-btn.png) no-repeat;
        background-size: cover;
        cursor: pointer;
        transition: .3s;
    }
    .grobalmenu.open .gnav + .btn-gnav { /*メニューを開いたら閉じるボタンに変更*/
        background: url(../img/menu-btn-close.png) no-repeat;
        background-size: contain;
    }
    /*子メニューをスマホ用にリセット*/
    .grobalmenu .gnav .gnav-menu li .child-menu {
        width: 100%;
        position: static;
        visibility: unset;
    }
    .grobalmenu .gnav .gnav-menu li .child-menu.wide { width: 100%; } /*子メニュー（幅広）*/
    .grobalmenu .gnav .gnav-menu li .child-menu ul { /* 子メニューのスタイル */
        padding: calc(10 / var(--sp)) 0 calc(24 / var(--sp)) 0;
        border-radius: 0;
        background: none;
        box-shadow: none;
        margin-top: 0;
    }
    .grobalmenu .gnav .gnav-menu li:hover .child-menu { visibility: unset; }
    .grobalmenu .gnav .gnav-menu li .child-menu li { /*子メニュー各項目*/
        margin: 0 0 calc(20 / var(--sp)) 0;
        border-bottom: none;
        padding: 0;
    }
    .grobalmenu .gnav .gnav-menu li .child-menu li:last-child { margin-bottom: 0; } /*子メニュー最後だけ下のマージンなし*/
    .grobalmenu .gnav .gnav-menu li .child-menu li a { /*子メニューの文字*/
        line-height: calc(16.08 / var(--sp));
        font-size: calc(14 / var(--sp));
        padding-top: 0;
        font-family: YakuHanJP, "Noto Sans JP", sans-serif;
        font-weight: 400;
    }
    .grobalmenu .gnav .gnav-menu li .child-menu li a:hover { /*子メニューホバー時*/
        border-bottom: none;
        color: inherit;
    }
    /*アコーディオン用*/
    .grobalmenu .gnav .gnav-menu li.acordion-item .acordion-item-content { display: none; }
    .grobalmenu .gnav .gnav-menu li.acordion-item .acordion-item-content li.t-blank::after  {
        width: calc(8 / var(--sp));
        height: calc(8 / var(--sp));
        margin-left: calc(4 / var(--sp));
    }
    .grobalmenu .gnav .gnav-menu li.acordion-item .acordion-item-title::after {
        display: block;
        content: "";
        background: url(../img/acordion-btn-open.png);
        background-size: cover;
        width: calc(16 / var(--sp));
        height: calc(16 / var(--sp));
        position: absolute;
        right: 0;
        top: calc(23 / var(--sp));
    }
    .grobalmenu .gnav .gnav-menu li.acordion-item .acordion-item-title.is-active::after {
        background: url(../img/acordion-btn-close.png);
        background-size: cover;
        width: calc(11.5 / var(--sp));
        height: calc(3 / var(--sp));
        top: calc(28 / var(--sp));
        right: calc(1 / var(--sp));
    }
    /*お問い合わせ部分*/
    .grobalmenu .gnav .contact-sp {
        width: 100%;
        padding: 0 calc(16 / var(--sp));
        display: block;
        text-align: left;
        letter-spacing: .06em;
    }
    .grobalmenu .gnav .contact-sp dl dt {
        background: rgba(27, 136, 203, 1);
        border-radius: calc(16 / var(--sp)) calc(32 / var(--sp)) 0px 0px;
        color: #FFF;
        font-size: calc(13 / var(--sp));
        font-weight: 500;
        line-height: calc(26 / var(--sp));
        position: relative;
    }
    .grobalmenu .gnav .contact-sp dl dt::after {
        content: "";
        width: calc(28 / var(--sp));
        height: calc(28 / var(--sp));
        background: url(../img/btn-arrow4.png) no-repeat;
        background-size: cover;
        position: absolute;
        right: calc(32 / var(--sp));
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }
    .grobalmenu .gnav .contact-sp dl dt a {
        display: block;
        padding: calc(32 / var(--sp));
    }
    .grobalmenu .gnav .contact-sp dl dd {
        background: #FFF;
        padding: calc(16 / var(--sp)) calc(32 / var(--sp)) calc(32 / var(--sp)) calc(32 / var(--sp));
        border-radius: 0 0 calc(16 / var(--sp)) calc(16 / var(--sp));
    }
    .grobalmenu .gnav .contact-sp dl dd p {
        font-size: calc(13 / var(--sp));
        font-weight: 500;
        line-height: calc(26 / var(--sp));
    }
    .grobalmenu .gnav .contact-sp dl dd ul { margin: calc(8 / var(--sp)) 0 calc(16 / var(--sp)); }
    .grobalmenu .gnav .contact-sp dl dd ul li {
        font-family: "Lexend", sans-serif;
        font-size: calc(24 / var(--sp));
        font-weight: 500;
        line-height: calc(28.8 / var(--sp));
        color: rgba(27, 136, 203, 1);
        margin-bottom: calc(8 / var(--sp));
    }
    .grobalmenu .gnav .contact-sp dl dd ul li i { font-style: normal;}
    .grobalmenu .gnav .contact-sp dl dd ul li:nth-of-type(1) i { letter-spacing: .03em; }
    .grobalmenu .gnav .contact-sp dl dd ul li:nth-of-type(2) i { letter-spacing: .09em; }
    .grobalmenu .gnav .contact-sp dl dd ul li:last-child { margin-bottom: 0; }
    .grobalmenu .gnav .contact-sp dl dd ul li span {
        font-family: YakuHanJP, "Noto Sans JP", sans-serif;
        font-size: calc(11 / var(--sp));
        font-weight: 500;
        line-height: calc(13.2 / var(--sp));
        text-align: center;
        background: rgba(248, 241, 227, 1);
        border-radius: calc(30 / var(--sp));
        padding: calc(6 / var(--sp)) 0;
        width: calc(80 / var(--sp));
        display: inline-block;
        margin-right: calc(12 / var(--sp));
        color: rgba(23, 23, 23, 1);
    }
    .grobalmenu .gnav .contact-sp dl dd p:last-of-type {
        font-size: calc(12 / var(--sp));
        line-height: calc(14.4 / var(--sp));
    }
}

/* お問い合わせ */
.contact {
    width: 100%;
    background: rgba(249, 218, 115, 1);
    border-radius: 60px 60px 0 0;
    padding: calc(80 / var(--pc)) calc(160 / var(--pc));
    position: relative;
    display: flex;
    column-gap: calc(93 / var(--pc));
    text-align: left;
}
.contact .contact-left-block {
    width: calc(387 / var(--pc));
    flex-shrink: 0;
    margin-top: calc(121 / var(--pc));
}
.contact .contact-left-block p {
    font-size: calc(16 / var(--pc));
    line-height: calc(32 / var(--pc));
    letter-spacing: .06em;
    margin-top: calc(47 / var(--pc));
}
.contact .contact-left-block h2.beside span.eng::before {
    background: url(../img/hl-decoration2.png);
    background-size: cover;
}
.contact .contact-right-block {
    width: calc(672 / var(--pc));
    flex-shrink: 0;
}
.contact .contact-right-block .contact-to-form,
.contact .contact-right-block .contact-to-tel {
    background: #FFF;
    border-radius: calc(20 / var(--pc)) calc(60 / var(--pc)) calc(20 / var(--pc)) calc(20 / var(--pc));
    padding: calc(35 / var(--pc)) calc(40 / var(--pc)) calc(40 / var(--pc)) calc(40 / var(--pc));
    display: flex;
    align-items: center;
    column-gap: calc(84 / var(--pc));
}
.contact .contact-right-block .contact-to-tel {
    margin-top: calc(24 / var(--pc));
    column-gap: calc(139 / var(--pc));
}
.contact .contact-right-block .contact-to-form h3,
.contact .contact-right-block .contact-to-tel h3 { flex-shrink: 0; }
.contact .contact-right-block .contact-to-form .btn5 {
    width: calc(308 / var(--pc));
    flex-shrink: 0;
}
.contact .contact-right-block .contact-to-tel ul li {
    font-family: "Lexend", sans-serif;
    font-size: calc(24 / var(--pc));
    font-weight: 500;
    line-height: calc(28.8 / var(--pc));
    letter-spacing: .06em;
    color: rgba(27, 136, 203, 1);
    margin-bottom: calc(14 / var(--pc));
}
.contact .contact-right-block .contact-to-tel ul li i { font-style: normal;}
.contact .contact-right-block .contact-to-tel ul li:nth-of-type(1) i { letter-spacing: .03em; }
.contact .contact-right-block .contact-to-tel ul li:nth-of-type(2) i { letter-spacing: .09em; }
.contact .contact-right-block .contact-to-tel ul li:last-child { margin-bottom: 0; }
.contact .contact-right-block .contact-to-tel ul li span {
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
    font-size: calc(12 / var(--pc));
    font-weight: 500;
    background: rgba(248, 241, 227, 1);
    line-height: calc(14.4 / var(--pc));
    color: rgba(23, 23, 23, 1);
    padding: calc(6 / var(--pc)) calc(8 / var(--pc));
    border-radius: calc(30 / var(--pc));
    width: calc(80 / var(--pc));
    display: inline-block;
    text-align: center;
    margin-right: calc(12 / var(--pc));
    vertical-align: bottom;
}
.contact .contact-right-block .contact-to-tel p {
    font-size: calc(12 / var(--pc));
    line-height: calc(14.4 / var(--pc));
    letter-spacing: .06em;
    margin-top: calc(20 / var(--pc));
}
.contact::before {
    display: block;
    content: "";
    background: url(../img/contact-decoration.png);
    background-size: cover;
    width: calc(135 / var(--pc));
    height: calc(138 / var(--pc));
    position: absolute;
    left: calc(159 / var(--pc));
    top: calc(-116 / var(--pc));
}

/* 運営サービス */
.service {
    width: 100%;
    background: rgba(255, 247, 228, 1);
    padding: calc(64 / var(--pc)) calc(160 / var(--pc)) calc(73 / var(--pc)) calc(160 / var(--pc));
    text-align: left;
}
.service ul {
    display: flex;
    margin-top: calc(40 / var(--pc));
    column-gap: calc(31 / var(--pc));
}
.service ul li { width: calc(363 / var(--pc)); }

/* フッター */
footer { background: rgba(255, 252, 245, 1); }
footer .footer-link-container {
    width: 100%;
    padding: calc(96 / var(--pc)) calc(80 / var(--pc)) calc(32 / var(--pc)) calc(80 / var(--pc));
    display: flex;
    justify-content: space-between;
}
footer .footer-link-container .footer-logo {
    width: calc(101 / var(--pc));
    height: calc(143 / var(--pc));
}
footer .footer-link-container .footer-link-rightblock {
    display: flex;
    text-align: left;
    margin-top: calc(27 / var(--pc));
}
footer .footer-link-container .footer-link-rightblock .footer-link1 { margin-right: calc(212 / var(--pc)); }
footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-title {
    font-size: calc(15 / var(--pc));
    font-weight: 500;
    line-height: calc(21.72 / var(--pc));
    color: rgba(0, 0, 0, 1);
}
footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-title h4 { font-weight: 500; }
footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-content { margin: calc(16 / var(--pc)) 0 calc(37 / var(--pc)) 0; }
footer .footer-link-container .footer-link-rightblock .footer-link1 .acordion-item:nth-of-type(2) .acordion-item-content { margin-bottom: 0; }
footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-content li {
    margin-bottom: calc(14 / var(--pc));
    line-height: 0;
}
footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-content li:last-child { margin-bottom: 0; }
footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-content li.t-blank::after  {
    display: inline-block;
    content: "";
    background: url(../img/arrow-blank.png);
    background-size: cover;
    width: calc(7 / var(--pc));
    height: calc(7 / var(--pc));
    margin-left: calc(4 / var(--pc));
    vertical-align: super;
}
footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-content li a {
    font-size: calc(14 / var(--pc));
    line-height: calc(16.8 / var(--pc));
    color: rgba(140, 140, 140, 1);
}
footer .footer-link-container .footer-link-rightblock .footer-link2 { margin-right: calc(138 / var(--pc)); }
footer .footer-link-container .footer-link-rightblock .footer-link3 {
    width: calc(192 / var(--pc));
    flex-shrink: 0;
}
footer .footer-link-container .footer-link-rightblock .footer-link3 .btn5,
footer .footer-link-container .footer-link-rightblock .footer-link3 .btn6 {
    padding: calc(9 / 1472* 100vw) calc(21 / 1472* 100vw);
    font-weight: 700;
    margin-bottom: calc(16 / var(--pc));
}
footer .footer-link-container .footer-link-rightblock h4.no-acordion {
    font-size: calc(15 / var(--pc));
    font-weight: 500;
    line-height: calc(21.72 / var(--pc));
    color: rgba(0, 0, 0, 1);
}
footer .footer-link-container .footer-link-rightblock .footer-link3 .btn6 { margin-top: calc(37 / var(--pc)); }
footer .footer-link-container .footer-link-rightblock .footer-link3 .btn5 span,
footer .footer-link-container .footer-link-rightblock .footer-link3 .btn6 span { right: calc(11 / 1472* 100vw); }
footer .footer-bottom-container,
footer .footer-bottom-container2 {
    display: flex;
    justify-content: space-between;
    padding: 0 calc(80 / var(--pc)) 0 calc(80 / var(--pc));
}
footer .footer-bottom-container2 { padding-bottom: calc(40 / 1742 * 100vw); }
footer .footer-bottom-leftblock {
    text-align: left;
    display: flex;
    align-items: center;
}
footer .footer-bottom-leftblock img:nth-of-type(1) {
    width: calc(53 / var(--pc));
    vertical-align: top;
    margin-right: calc(16 / var(--pc));
}
footer .footer-bottom-leftblock img:nth-of-type(2) { width: calc(63 / var(--pc)); }
footer .footer-bottom-leftblock ul {
    display: flex;
    margin-top: calc(17 / var(--pc));
}
footer .footer-bottom-leftblock ul li {
    padding-right: calc(20 / var(--pc));
    font-size: calc(12 / var(--pc));
}
footer .footer-bottom-leftblock ul li span {
    margin-left: calc(20 / var(--pc));
    color: rgba(140, 140, 140, 1);
}
footer .footer-bottom-leftblock ul li a { color: rgba(140, 140, 140, 1); }
footer .footer-bottom-rightblock { text-align: right; }
footer .footer-bottom-rightblock img {
    width: calc(45 / var(--pc));
    margin-top: calc(26 / var(--pc));
}
footer .footer-bottom-rightblock p {
    font-size: calc(12 / var(--pc));
    margin-top: calc(17 / var(--pc));
    color: rgba(140, 140, 140, 1);
}

/* タイトル部分 */
.title-area {
    margin: calc(18 / var(--pc)) auto 0 auto;
    padding-bottom: calc(159 / var(--pc));
    width: calc(1312 / var(--pc));
    position: relative;
}
.title-menu {
    position: absolute;
    right: calc(111 / var(--pc));
    top: calc(159 / var(--pc));
    display: flex;
    column-gap: calc(67 / var(--pc));
}
.title-menu ul {
    text-align: left;
    font-size: calc(14 / var(--pc));
    font-weight: 500;
    line-height: calc(16.8 / var(--pc));
    letter-spacing: .06em;
}
.title-menu ul li { margin-bottom: calc(20 / var(--pc)); }
.title-menu ul li::after {
    display: inline-block;
    content: "";
    background: url(../img/arrow-bottom.png) no-repeat;
    background-size: cover;
    width: calc(12 / var(--pc));
    height: calc(12 / var(--pc));
    margin-left: calc(8 / var(--pc));
}
.modal-video-close-btn {
    z-index: 2;
    top: 0;
    right: calc(24 / var(--pc));
    display: inline-block;
    width: calc(40 / var(--pc));
    height: calc(40 / var(--pc));
    overflow: hidden;
    border: none;
    background: url(../img/video_close.png) no-repeat;
    background-size: cover;
    cursor: pointer;
}
.modal-video-close-btn:before,
.modal-video-close-btn:after { display: none; }

/* ページネーション（記事ページ） */
.post-pagination {
    width: calc(928 / var(--pc));
    height: calc(84 / var(--pc));
    margin: calc(40 /var(--pc)) auto 0 auto;
    position: relative;
}
.post-pagination .prev-link,
.post-pagination .next-link {
    font-size: calc(16 / var(--pc));
    line-height: calc(28.8 / var(--pc));
    letter-spacing: .06em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.post-pagination .prev-link { left: 0; }
.post-pagination .next-link { right: 0; }
.post-pagination .prev-link span,
.post-pagination .next-link span {
    display: inline-block;
    content: "";
    width: calc(48 / 1472* 100vw);
    height: calc(48 / 1472* 100vw);
    background: #FFF;
    border-radius: 100%;
    box-shadow: 0px 0px 11px -1px rgba(0, 0, 0, .1);
    position: relative;
    vertical-align: middle;
}
.post-pagination .prev-link span { margin-right: calc(16 / var(--pc)); }
.post-pagination .next-link span { margin-left: calc(16 /var(--pc)); }
.post-pagination .prev-link span::after,
.post-pagination .next-link span::after {
    display: block;
    content: "";
    width: calc(8.5 / 1472* 100vw);
    height: calc(17.5 / 1472* 100vw);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.post-pagination .prev-link span::after {
    background: url(../img/swiper-arrow-left.png) no-repeat;
    background-size: cover;
}
.post-pagination .next-link span::after {
    background: url(../img/swiper-arrow-right.png) no-repeat;
    background-size: cover;
}
.btn-return {
    display: block;
    width: calc(304 / var(--pc));
    font-size: calc(14 / var(--pc));
    font-weight: 700;
    border: 3px solid rgba(245, 239, 225, 1);
    border-radius: calc(44 / var(--pc));
    padding: calc(28/ var(--pc));
    position: relative;
    line-height: calc(16.8 / var(--pc));
    text-align: left;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transition: .3s;
}
.btn-return span {
    display: block;
    content: "";
    width: calc(28 / var(--pc));
    height: calc(28 / var(--pc));
    position: absolute;
    right: calc(28 / var(--pc));
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background: url(../img/circle.png) no-repeat;
    background-size: cover;
}
.btn-return span::before {
    content: "";
    width: calc(12 / var(--pc));
    height: calc(11 / var(--pc));
    background: url(../img/arrow-return.png) no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translateY(-50%, -50%);
    -ms-transform: translateY(-50%, -50%);
}
@media (any-hover: hover) {
    .btn-return:hover {
        background: rgba(27, 136, 203, 1);
        border: 3px solid rgba(27, 136, 203, 1);
        color: #FFF;
    }
    .btn-return:hover span {
        background: url(../img/circle_white.png) no-repeat;
        background-size: cover;
    }
    .btn-return:hover span::before {
        background: url(../img/arrow-return_white.png) no-repeat;
        background-size: cover;
        animation: arrowSlide 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s 1 forwards;
        animation-direction: reverse;
    }
}

/* パンくずリスト */
.breadcrumb {
    text-align: left;
    font-size: calc(12 / var(--pc));
    line-height: calc(16 / var(--pc));
    letter-spacing: .06em;
}
.breadcrumb__item { display: inline; }
.breadcrumb__item a {
    color: rgba(140, 140, 140, 1) !important;
    transition: .3s;
}
.breadcrumb__item a::after {
    display: inline-block;
    content: '';
    width: calc(7 / var(--pc));
    height: calc(7 / var(--pc));
    border-top: solid calc(2 / var(--pc)) rgba(226, 222, 208, 1);
    border-right: solid calc(2 / var(--pc)) rgba(226, 222, 208, 1);
    transform: rotate(45deg);
    margin: 0 calc(5.4 / var(--pc)) 0  calc(5.38 / var(--pc));
}
.breadcrumb__item a:hover { opacity: .6; }

/* 見出し類 */
h1.main-title {
    font-size: calc(44 / var(--pc));
    font-weight: 500;
    line-height: calc(61.6 / var(--pc));
    text-align: left;
    margin-top: calc(119 / var(--pc));
    text-wrap: inherit;
}
h1.main-title span.eng {
    display: block;
    font-family: "Lexend", sans-serif;
    font-size: calc(14 / var(--pc));
    font-weight: 300;
    line-height: calc(16.8 / var(--pc));
    letter-spacing: .04em;
    margin-bottom: calc(24 / var(--pc));
}
h1.main-title span.eng::before {
    display: inline-block;
    content: "";
    background: url(../img/hl-decoration.png);
    background-size: cover;
    width: calc(11 / var(--pc));
    height: calc(14 / var(--pc));
    transform-origin: 100% 25%;
    transform: rotate(-90deg);
    margin-right: calc(21 / var(--pc));
    margin: 0 calc(20 / var(--pc)) 0 calc(-8 / var(--pc));
}
h2.headline {
    font-size: calc(28 / var(--pc));
    font-weight: 500;
    line-height: calc(39.2 / var(--pc));
    text-align: left;
}
h2.headline span { display: block; }
h2.headline span.eng {
    font-family: "Lexend", sans-serif;
    font-size: calc(14 / var(--pc));
    font-weight: 300;
    line-height: calc(16.8 / var(--pc));
    letter-spacing: .04em;
    margin-bottom: calc(20 / var(--pc));
}
h2.headline span.eng::before {
    display: inline-block;
    content: "";
    background: url(../img/hl-decoration.png);
    background-size: cover;
    width: calc(11 / var(--pc));
    height: calc(14 / var(--pc));
    transform-origin: 100% 25%;
    transform: rotate(-90deg);
    margin-right: calc(19 / var(--pc));
    margin: 0 calc(19 / var(--pc)) 0 calc(-8 / var(--pc));
}
h2.vertical {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: calc(27 / var(--pc));
    font-weight: 500;
    text-align: left;
    line-height: calc(24.4 / var(--pc));
    letter-spacing: 0.18em;
}
h2.beside {
    font-size: calc(28 / var(--pc));
    text-align: left;
    font-weight: 500;
    line-height: calc(33.6 / var(--pc));
    letter-spacing: .06em;
}
h2.beside span { display: block; }
h2.vertical span.eng,
h2.beside span.eng {
    display: block;
    font-size: calc(14 / var(--pc));
    letter-spacing: .04em;
    font-family: "Lexend", sans-serif;
    line-height: calc(16.8 / 1472 *100vw);
    font-weight: 300;
}
h2.vertical span.eng { margin-left: calc(12 / var(--pc)); }
h2.beside span.eng { margin-bottom: calc(16 / var(--pc)); }
h2.vertical span.eng::before,
h2.beside span.eng::before {
    display: inline-block;
    content: "";
    width: calc(11 / var(--pc));
    height: calc(14 / var(--pc));
    background: url(../img/hl-decoration.png) no-repeat;
    background-size: cover;
}
h2.vertical span.eng::before { margin: calc(2 / var(--pc)) 0 calc(10 / var(--pc)); }
h2.beside span.eng::before { margin-right: calc(7 / var(--pc)); }
h2.underline {
    font-size: calc(16 / var(--pc));
    font-weight: 500;
    line-height: calc(32 / var(--pc));
    letter-spacing: .06em;
    text-align: left;
}
h2.underline::after {
    display: block;
    content: "";
    background: url(../img/h2-line.png) no-repeat;
    background-size: cover;
    width: calc(27 / var(--pc));
    height: calc(2 / var(--pc));
    margin-top: calc(5 / var(--pc));
}
h2.underline-full {
    font-size: calc(28 / var(--pc));
    font-weight: 500;
    line-height: calc(39.2 / var(--pc));
    position: relative;
    text-align: left;
    padding-bottom: calc(16 / var(--pc));
}
h2.underline-full::after,
h2.underline-full::before {
    display: block;
    content: "";
    width: calc(576 / var(--pc));
    height: calc(2 / var(--pc));
    position: absolute;
    bottom: 0;
}
h2.underline-full::after { background: rgba(255, 203, 0, 1); }
h2.underline-full::before {
    background: rgba(27, 136, 203, 1);
    right: 0;
}
h3.underline,
h3.underline2 {
    font-size: calc(16 / var(--pc));
    font-weight: 500;
    line-height: calc(40 / var(--pc));
    letter-spacing: .06em;
    text-align: left;
}
h3.underline2 {
    font-size: calc(20 / var(--pc));
    line-height: calc(59 / var(--pc));
    letter-spacing: 0;
}
h3.underline::after,
h3.underline2::after {
    display: block;
    content: "";
    background: url(../img/h3-line.png) no-repeat;
    background-size: cover;
    width: calc(26 / var(--pc));
    height: calc(2 / var(--pc));
}

/* ボタン類 */
.btn1,
.btn3,
.btn4,
.btn5,
.btn6 {
    display: block;
    width: 100%;
    font-size: calc(14 / var(--pc));
    font-weight: 700;
    border: calc(3 / var(--pc)) solid rgba(245, 239, 225, 1);
    border-radius: calc(44 / var(--pc));
    padding: calc(28/ var(--pc));
    position: relative;
    line-height: calc(16.8 / var(--pc));
    text-align: left;
    transition: .3s;
}
/* 青背景 */
.btn5,
.btn6 {
    background: rgba(27, 136, 203, 1);
    color: #FFF;
    line-height: calc(28 / var(--pc));
    border: none;
}
/* 矢印 */
.btn1::after,
.btn3 span,
.btn4 span,
.btn5 span,
.btn6 span {
    display: block;
    content: "";
    width: calc(28 / var(--pc));
    height: calc(28 / var(--pc));
    overflow: hidden;
    position: absolute;
    right: calc(24 / var(--pc));
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
/* 色付きの矢印 */
.btn3 span,
.btn4 span {
    background: url(../img/circle.png) no-repeat;
    background-size: cover;
}
/* 白矢印 */
.btn5 span,
.btn6 span {
    background: url(../img/circle_white.png) no-repeat;
    background-size: cover;
}
.btn3 span::before,
.btn4 span::before,
.btn5 span::before,
.btn6 span::before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.btn3 span::before {
    background: url(../img/arrow-only.png) no-repeat;
    background-size: cover;
    width: calc(8.34 / 1472* 100vw);
    height: calc(9 / 1472* 100vw);
}
.btn4 span::before {
    background: url(../img/arrow-only2.png) no-repeat;
    background-size: cover;
    width: calc(7 / 1472* 100vw);
    height: calc(6 / 1472* 100vw);
}
.btn5 span::before {
    background: url(../img/arrow-only_white.png) no-repeat;
    background-size: cover;
    width: calc(8.34 / 1472* 100vw);
    height: calc(9 / 1472* 100vw);
}
.btn6 span::before {
    background: url(../img/arrow-only2_white.png) no-repeat;
    background-size: cover;
    width: calc(7 / 1472* 100vw);
    height: calc(6 / 1472* 100vw);
}
/* 三角矢印 */
.btn1::after {
    background: url(../img/btn-arrow1.png) no-repeat;
    background-size: cover;
}
/* 枠なし動く矢印 */
.btn2 {
    font-size: calc(14 / var(--pc));
    font-weight: 500;
    text-align: right;
    line-height: calc(16.8 / var(--pc));
    transition: .3s;
}
.btn2 span {
    width: calc(28 / var(--pc));
    height: calc(28 / var(--pc));
    overflow: hidden;
    margin-left: calc(8 / var(--pc));
    display: inline-block;
    vertical-align: middle;
    background: url(../img/circle.png) no-repeat;
    background-size: cover;
    position: relative;
}
.btn2 span::after {
    display: block;
    content: "";
    width: calc(8.34 / var(--pc));
    height: calc(9 / var(--pc));
    background: url(../img/arrow-only.png) no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
@media (any-hover: hover) {
    /* ホバーで青背景に */
    .btn1:hover,
    .btn3:hover,
    .btn4:hover {
        color: #FFF;
        background: rgba(27, 136, 203, 1);
        border: calc(3 / var(--pc)) solid rgba(27, 136, 203, 1);
    }
    /* ホバーで明るい青に（元から青背景） */
    .btn5:hover,
    .btn6:hover { background: rgba(42, 151, 218, 1); }
    .btn1:hover::after {
        background: url(../img/btn-arrow1-on.png) no-repeat;
        background-size: cover;
    }
    .btn2:hover { color: rgba(27, 136, 203, 1); }
    .btn2:hover span::after { animation: arrowSlide 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s 1 forwards; }
    .btn3:hover span,
    .btn4:hover span,
    .btn5:hover span {
        background: url(../img/circle_white.png) no-repeat;
        background-size: cover;
    }
    .btn3:hover span::before,
    .btn5:hover span::before {
        background: url(../img/arrow-only_white.png) no-repeat;
        background-size: cover;
        animation: arrowSlide 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s 1 forwards;
    }
    .btn4:hover span::before,
    .btn6:hover span::before {
        background: url(../img/arrow-only2_white.png) no-repeat;
        background-size: cover;
        animation: arrowSlide2 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s 1 forwards;
    }
}

/*ページネーション（一覧用）*/
.pagination { margin: calc(40 / var(--pc)) auto 0 auto; }
.pagination .prev,
.pagination .next {
    width: calc(48 / 1472* 100vw);
    height: calc(48 / 1472* 100vw);
    background: #FFF;
    border-radius: 100%;
    box-shadow: 0px 0px 11px -1px rgba(0, 0, 0, .1);
    position: relative;
    display: inline-block;
    vertical-align: middle;
    text-indent: -9999px;
}
.pagination .prev { margin-right: calc(7 / var(--pc)); }
.pagination .next { margin-left: calc(7 / var(--pc)); }
.pagination .prev::after,
.pagination .next::after {
    display: block;
    content: "";
    width: calc(8.5 / 1472* 100vw);
    height: calc(17.5 / 1472* 100vw);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.pagination .prev::after {
    background: url(../img/swiper-arrow-left.png) no-repeat;
    background-size: cover;
}
.pagination .next::after {
    background: url(../img/swiper-arrow-right.png) no-repeat;
    background-size: cover;
}
.pagination .page-numbers {
    font-family: "Lexend", sans-serif;
    font-size: calc(12 / var(--pc));
    font-weight: 400;
    line-height: calc(21.6 / var(--pc));
    letter-spacing: .06em;
    margin-left: calc(23 / var(--pc));
    color: rgba(140, 140, 140, 1);
}
.pagination .page-numbers.current {
    color: rgba(23, 23, 23, 1);
    font-weight: 600;
}
.pc { display: block; }
.sp { display: none ;}
.mobile-scrool { width: 100%; }

/* ローディング画面 */
.loading {
    width: 100vw;
    height: 100vh;
    transition: all 1s;
    background-color: #FFF;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    opacity: 1;
    visibility: visible;
}
.loading.is-active {
    opacity: 0;
    visibility: hidden;
}
.loading-animation {
    width: calc(395 / 1472* 100vw);
    height: calc(131 / 1472* 100vw);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: all 4s;
    opacity: 0;
    visibility: hidden;
}
.loading-animation.is-active {
    opacity: 1;
    visibility: visible;
}

/* 電話番号リンク */
a[href*="tel:"] { pointer-events: none; }

/* comingsoon */
.comingsoon {
    background: #FCF6EC;
    border-radius: calc(12 / var(--pc)) calc(60 / var(--pc)) calc(12 / var(--pc)) calc(12 / var(--pc));
    width: 100%;
    height: 100%;
    padding: calc(141 / var(--pc)) 0 calc(136 / var(--pc)) 0;
}
.comingsoon p {
    font-family: "Lexend", sans-serif;
    font-size: calc(18 / var(--pc));
    font-weight: 500;
    line-height: calc(28.8 / var(--pc));
    letter-spacing: .06em;
    text-align: center;
    color: rgba(226, 222, 208, 1);
}

/*-----------------------------------------
レスポンシブ
-----------------------------------------*/
@media screen and (max-width : 736px) {
    .logo img {
        width: calc(240 / var(--sp));
        position: absolute;
        bottom: 0;
        left: calc(26 / var(--sp));
    }
    .outer1152 { width: calc(343 / var(--sp)); }

    /* お問い合わせ */
    .contact {
        border-radius: calc(40 / var(--sp)) calc(40 / var(--sp)) 0 0;
        padding: calc(60 / var(--sp)) calc(16 / var(--sp));
        flex-direction: column;
        column-gap: 0;
    }
    .contact .contact-left-block {
        width: 100%;
        padding: 0 calc(16 / var(--sp)) calc(32 / var(--sp)) calc(16 / var(--sp));
        margin-top: 0;
    }
    .contact .contact-left-block p {
        font-size: calc(15 / var(--sp));
        line-height: calc(32 / var(--sp));
        margin-top: calc(32 / var(--sp));
    }
    .contact .contact-right-block { width: 100%; }
    .contact .contact-right-block .contact-to-form,
    .contact .contact-right-block .contact-to-tel {
        border-radius: calc(12 / var(--sp)) calc(36 / var(--sp)) calc(12 / var(--sp)) calc(12 / var(--sp));
        padding: calc(32 / var(--sp));
        flex-direction: column;
        gap: calc(32 / var(--sp)) 0;
        align-items: normal;
    }
    .contact .contact-right-block .contact-to-tel {
        margin-top: calc(16 / var(--sp));
        gap: calc(32 / var(--sp)) 0;
    }
    .contact .contact-right-block .contact-to-form .btn5 {
        width: 100%;
        padding: calc(31 / var(--sp));
        border-radius: calc(44 / var(--sp));
    }
    .contact .contact-right-block .contact-to-tel ul li {
        font-size: calc(24 / var(--sp));
        line-height: calc(28.8 / var(--sp));
        margin-bottom: calc(20 / var(--sp));
    }
    .contact .contact-right-block .contact-to-tel ul li:last-child { margin-bottom: 0; }
    .contact .contact-right-block .contact-to-tel ul li span {
        font-size: calc(12 / var(--sp));
        line-height: calc(14.4 / var(--sp));
        padding: calc(6 / var(--sp)) calc(8 / var(--sp));
        border-radius: calc(30 / var(--sp));
        width: calc(80 / var(--sp));
        margin-right: calc(12 / var(--sp));
    }
    .contact .contact-right-block .contact-to-tel p {
        font-size: calc(13 / var(--sp));
        line-height: calc(15.6 / var(--sp));
        margin-top: calc(32 / var(--sp));
    }
    .contact::before {
        width: calc(82 / var(--sp));
        height: calc(82.72 / var(--sp));
        left: calc(41 / var(--sp));
        top: calc(-70 / var(--sp));
    }

    /* 運営サービス */
    .service { padding: calc(60 / var(--sp)) calc(32 / var(--sp)) calc(60 / var(--sp)) calc(32 / var(--sp)); }
    .service ul {
        flex-direction: column;
        margin-top: calc(32 / var(--sp));
        gap: calc(16 / var(--sp)) 0;
    }
    .service ul li { width: 100%; }

    /* フッター */
    footer .footer-link-container {
        padding: calc(60 / var(--sp)) calc(32 / var(--sp)) calc(32 / var(--sp)) calc(32 / var(--sp));
        flex-direction: column;
    }
    footer .footer-link-container .footer-logo {
        width: calc(57 / var(--sp));
        height: calc(81 / var(--sp));
    }
    footer .footer-link-container .footer-link-rightblock {
        display: block;
        margin-top: calc(60 / var(--sp));
    }
    footer .footer-link-container .footer-link-rightblock .footer-link1 { margin-right: 0; }
    footer .footer-link-container .footer-link-rightblock .acordion-item {
        border-bottom: 1px solid rgba(226, 222, 208, 1);
        padding-bottom: calc(20 / var(--sp));
        margin-top: calc(20 / var(--sp));
    }
    footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-title {
        width: 100%;
        font-size: calc(14 / var(--sp));
        line-height: calc(23.52 / var(--sp));
        position: relative;
    }
    footer .footer-link-container .footer-link-rightblock h4.no-acordion {
        font-size: calc(14 / var(--sp));
        padding: calc(24 / var(--sp)) 0;
        margin-top: 0;
        position: relative;
        border-bottom: 1px solid rgba(226, 222, 208, 1);
    }
    footer .footer-link-container .footer-link-rightblock h4.no-acordion a { display: block; }
    footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-content {
        margin: 0;
        padding: calc(24 / var(--sp)) 0 0 0;
        display: none;
    }
    footer .footer-link-container .footer-link-rightblock .footer-link1 .acordion-item:nth-of-type(2) .acordion-item-content { margin-bottom: inherit; }
    footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-content li { margin-bottom: calc(20 / var(--sp)); }
    footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-content li:last-child { margin-bottom: inherit; }
    footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-content li.t-blank::after  {
        width: calc(8 / var(--sp));
        height: calc(8 / var(--sp));
        margin-left: calc(4 / var(--sp));
    }
    footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-content li a {
        font-size: calc(12 / var(--sp));
        line-height: calc(14.4 / var(--sp));
        color: rgba(23, 23, 23, 1);
    }
    footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-title::after {
        display: block;
        content: "";
        background: url(../img/acordion-btn-open.png);
        background-size: cover;
        width: calc(14 / var(--sp));
        height: calc(14 / var(--sp));
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }
    footer .footer-link-container .footer-link-rightblock .acordion-item .acordion-item-title.is-active::after {
        background: url(../img/acordion-btn-close.png);
        background-size: cover;
        width: calc(11.5 / var(--sp));
        height: calc(3 / var(--sp));
        top: calc(9 / var(--sp));
        right: calc(1 / var(--sp));
    }
    footer .footer-link-container .footer-link-rightblock .footer-link2 { margin-right: 0; }
    footer .footer-link-container .footer-link-rightblock .footer-link2 .acordion-item:nth-of-type(1) h4 { margin-top: 0; }
    footer .footer-link-container .footer-link-rightblock .footer-link3 { width: 100%; }
    footer .footer-link-container .footer-link-rightblock .footer-link3 .btn5,
    footer .footer-link-container .footer-link-rightblock .footer-link3 .btn6 {
        padding: calc(32 / 375* 100vw);
        margin-bottom: calc(22 / var(--sp));
    }
    footer .footer-link-container .footer-link-rightblock .footer-link3 .btn6 { margin-top: calc(32 / var(--sp)); }
    footer .footer-link-container .footer-link-rightblock .footer-link3 .btn5 span,
    footer .footer-link-container .footer-link-rightblock .footer-link3 .btn6 span { right: calc(32 / var(--sp)); }
    footer .footer-bottom-container,
    footer .footer-bottom-container2 {
        justify-content: space-between;
        padding: 0 calc(39 / var(--sp)) 0 calc(32 / var(--sp));
    }
    footer .footer-bottom-container2 {
        flex-direction: column;
        padding-bottom: calc(40 / var(--sp));
    }
    footer .footer-bottom-leftblock img:nth-of-type(1) {
        width: calc(46 / var(--sp));
        margin-right: calc(14 / var(--sp));
    }
    footer .footer-bottom-leftblock img:nth-of-type(2) { width: calc(53 / var(--sp)); }
    footer .footer-bottom-leftblock ul {
        margin-top: calc(32 / var(--sp));
        justify-content: space-between;
        width: 100%;
    }
    footer .footer-bottom-leftblock ul li {
        padding-right: 0;
        font-size: calc(12 / var(--sp));
    }
    footer .footer-bottom-leftblock ul li span { margin-left: calc(20 / var(--sp)); }
    footer .footer-bottom-rightblock { text-align: left; }
    footer .footer-bottom-rightblock img {
        width: calc(45 / var(--sp));
        margin-top: 0;
    }
    footer .footer-bottom-rightblock p {
        font-size: calc(10 / var(--sp));
        margin-top: calc(32 / var(--sp));
    }

    /* タイトル部分 */
    .title-area {
        margin: calc(70 / var(--sp)) auto 0 auto;
        width: calc(343 / var(--sp));
    }
    .title-menu {
        width: calc(311 / var(--sp));
        margin: calc(80 / var(--sp)) auto 0 auto;
        position: static;
        column-gap: calc(57 / var(--sp));
    }
    .title-menu ul {
        font-size: calc(13 / var(--sp));
        line-height: calc(15.6 / var(--sp));
    }
    .title-menu ul li { margin-bottom: calc(20 / var(--sp)); }
    .title-menu ul li::after {
        width: calc(12 / var(--sp));
        height: calc(12 / var(--sp));
        margin-left: calc(6 / var(--sp));
    }
    .modal-video-close-btn {
        width: calc(40 / var(--sp));
        height: calc(40 / var(--sp));
        right: calc(16 / var(--sp));
    }

    /* ページネーション（記事ページ） */
    .post-pagination {
        width: calc(311 / var(--sp));
        height: calc(172 / var(--sp));
        margin-top: calc(40 / var(--sp));
    }
    .post-pagination .prev-link,
    .post-pagination .next-link {
        font-size: calc(14 / var(--sp));
        line-height: calc(25.2 / var(--sp));
        position: absolute;
        top: 0;
        transform: translateY(0);
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
    }
    .post-pagination .prev-link span,
    .post-pagination .next-link span {
        width: calc(48 / var(--sp));
        height: calc(48 / var(--sp));
    }
    .post-pagination .prev-link span { margin-right: calc(16 / var(--sp)); }
    .post-pagination .next-link span { margin-left: calc(16 / var(--sp)); }
    .post-pagination .prev-link span::after,
    .post-pagination .next-link span::after {
        width: calc(8.5 / var(--sp));
        height: calc(17.5 / var(--sp));
    }
    .btn-return {
        width: calc(311 / var(--sp));
        font-size: calc(13 / var(--sp));
        border-radius: calc(44 / var(--sp));
        padding: calc(32 / var(--sp));
        top: unset;
        bottom: 0;
    }
    .btn-return span {
        width: calc(28 / var(--sp));
        height: calc(28 / var(--sp));
        right: calc(33 / var(--sp));
    }
    .btn-return span::before {
        width: calc(12 / var(--sp));
        height: calc(11 / var(--sp));
    }

    /* パンくずリスト */
    .breadcrumb {
        font-size: calc(12 / var(--sp));
        line-height: calc(14.4 / var(--sp));
        padding: calc(16 / var(--sp));
        border-bottom: 1px solid rgba(248, 241, 227, 1);
        overflow-x: scroll;
        text-wrap: nowrap;
    }
    .breadcrumb__item a::after {
        width: calc(5 / var(--sp));
        height: calc(5 / var(--sp));
        border-top: solid calc(2 / var(--sp)) rgba(226, 222, 208, 1);
        border-right: solid calc(2 / var(--sp)) rgba(226, 222, 208, 1);
    }
    .breadcrumb ol li:last-child { margin-right: calc(16 / var(--sp)); }

    /* 見出し類 */
    h1.main-title {
        font-size: calc(24 / var(--sp));
        line-height: calc(38.4 / var(--sp));
        margin-top: calc(70 / var(--sp));
    }
    h1.main-title span.eng {
        font-size: calc(12 / var(--sp));
        line-height: calc(14.4 / var(--sp));
        margin-bottom: calc(9 / var(--sp));
    }
    h1.main-title span.eng::before {
        width: calc(11 / var(--sp));
        height: calc(14 / var(--sp));
        margin-right: calc(20 / var(--sp));
    }
    h2.headline {
        font-size: calc(18 / var(--sp));
        line-height: calc(20.16 / var(--sp));
    }
    h2.headline span { display: block; }
    h2.headline span.eng {
        font-size: calc(11 / var(--sp));
        line-height: calc(13.2 / var(--sp));
        margin-bottom: calc(13 / var(--sp));
    }
    h2.headline span.eng::before {
        width: calc(11 / var(--sp));
        height: calc(14 / var(--sp));
        margin: 0 calc(14 / var(--sp)) 0 calc(-4 / var(--sp));
    }
    h2.vertical {
        font-size: calc(18 / var(--sp));
        line-height: calc(18.4 / var(--sp));
        letter-spacing: 0.13em;
    }
    h2.beside {
        font-size: calc(18 / var(--sp));
        line-height: calc(33.6 / var(--sp));
    }
    h2.beside span { display: block; }
    h2.vertical span.eng,
    h2.beside span.eng {
        font-size: calc(14 / var(--sp));
        line-height: calc(16.8 / 375 *100vw);
        letter-spacing: .04em;
    }
    h2.vertical span.eng { margin-left: calc(10 / var(--sp)); }
    h2.beside span.eng  { margin-bottom: calc(10 / var(--sp)); }
    h2.vertical span.eng::before,
    h2.beside span.eng::before {
        width: calc(11 / var(--sp));
        height: calc(14 / var(--sp));
    }
    h2.vertical span.eng::before { margin: calc(2 / var(--sp)) 0 calc(7 / var(--sp)); }
    h2.beside span.eng::before {
        margin-right: calc(7 / var(--sp));
        transform: rotate(90deg);
    }
    h2.underline {
        font-size: calc(15 / var(--sp));
        line-height: calc(30 / var(--sp));
    }
    h2.underline::after {
        width: calc(24 / var(--sp));
        height: calc(2 / var(--sp));
        margin-top: calc(8 / var(--sp));
    }
    h2.underline-full {
        font-size: calc(18 / var(--sp));
        line-height: calc(25.2 / var(--sp));
        padding-bottom: calc(13 / var(--sp));
    }
    h2.underline-full::after,
    h2.underline-full::before { height: calc(2 / var(--sp)); }
    h2.underline-full::after { width: 50%; }
    h2.underline-full::before {
        width: 50%;
        right: 0;
    }
    h3.underline,
    h3.underline2 {
        font-size: calc(15 / var(--sp));
        line-height: calc(40 / var(--sp));
    }
    h3.underline2 {
        font-size: calc(15 / var(--sp));
        line-height: calc(59 / var(--sp));
    }
    h3.underline::after,
    h3.underline2::after {
        width: calc(26 / var(--sp));
        height: calc(2 / var(--sp));
    }

    /* ボタン類 */
    .btn1,
    .btn3,
    .btn4,
    .btn5,
    .btn6 {
        font-size: calc(13 / var(--sp));
        padding: calc(23/ var(--sp)) calc(24/ var(--sp));
        line-height: calc(16.8 / var(--sp));
        border-radius: calc(44 / var(--sp));
        border: calc(3 / var(--sp)) solid rgba(245, 239, 225, 1);
    }
    .btn1 { font-size: calc(12 / var(--sp)); }
    .btn3 { padding: calc(35 / var(--sp)) calc(30/ var(--sp)); }
    .btn5,
    .btn6 {
        line-height: calc(28 / var(--sp));
        border-radius: calc(60 / var(--sp));
        border: none;
    }
    .btn6 {
        font-size: calc(13 / var(--sp));
        padding: calc(13.5 / var(--sp)) calc(23 / var(--sp));
    }
    .btn1::after,
    .btn3 span,
    .btn4 span,
    .btn5 span,
    .btn6 span {
        width: calc(28 / var(--sp));
        height: calc(28 / var(--sp));
        right: calc(20 / var(--sp));
    }
    .btn3 span { right: calc(30 / var(--sp)); }
    .btn3 span::before,
    .btn5 span::before {
        width: calc(8.34 / var(--sp));
        height: calc(9 / var(--sp));
    }
    .btn4 span::before,
    .btn6 span::before {
        width: calc(7 / var(--sp));
        height: calc(6 / var(--sp));
    }
    .btn2 {
        font-size: calc(13 / var(--sp));
        line-height: calc(16.8 / var(--sp));
    }
    .btn2 span {
        width: calc(28 / var(--sp));
        height: calc(28 / var(--sp));
        margin-left: calc(8 / var(--sp));
    }
    .btn2 span::after {
        width: calc(8.34 / var(--sp));
        height: calc(9 / var(--sp));
    }
    .pc { display: none; }
    .sp { display: block;}
    .mobile-scrool { width: 100%; }
    .mobile-scrool::-webkit-scrollbar { display: none; } /* Chrome, Safari 対応 */
    ::-webkit-scrollbar {
        display: none;
        -webkit-appearance: none;
    }
    .simplebar-scrollbar::before {
        background: rgba(27, 136, 203, 1);
        border-radius: calc(50 / var(--sp));
        width: calc(26 / var(--sp));
        height: calc(4 / var(--sp)) !important;
        margin-top: 0 !important;
        margin-left: 0 !important;
    }
    .simplebar-scrollbar.simplebar-visible::before { opacity: 1; }
    .simplebar-track {
        width: calc(82 / var(--sp));
        background: rgba(242, 242, 242, 1);
        height: calc(4 / var(--sp)) !important;
        padding: 0 !important;
        border-radius: calc(50 / var(--sp));
        z-index: inherit;
        bottom: calc(-20 / var(--sp));
    }
    .simplebar-track.simplebar-horizontal .simplebar-scrollbar { top: 0; }
    /*ページネーション（一覧用）*/
    .pagination { margin: calc(24 / var(--sp)) 0 calc(110 / var(--sp)) 0; }
    .pagination .prev,
    .pagination .next {
        width: calc(48 / 375* 100vw);
        height: calc(48 / 375* 100vw);
    }
    .pagination .prev { margin-right: calc(7 / var(--sp)); }
    .pagination .next { margin-left: calc(7 / var(--sp)); }
    .pagination .prev::after,
    .pagination .next::after {
        width: calc(8.5 / var(--sp));
        height: calc(17.5 / var(--sp));
    }
    .pagination .page-numbers {
        font-size: calc(12 / var(--sp));
        line-height: calc(21.6 / var(--sp));
        margin-left: calc(23 / var(--sp));
    }

    /* ローディング画面 */
    .loading-animation {
        width: calc(188 / var(--sp));
        height: calc(119 / var(--sp));
    }

    /* 電話番号リンク */
    a[href*="tel:"] { pointer-events: visible; }

    /* comingsoon */
    .comingsoon {
        border-radius: calc(12 / var(--sp)) calc(60 / var(--sp)) calc(12 / var(--sp)) calc(12 / var(--sp));
        padding: calc(141 / var(--sp)) 0 calc(136 / var(--sp)) 0;
    }
    .comingsoon p {
        font-size: calc(16 / var(--sp));
        line-height: calc(28.8 / var(--sp));
    }

}