/* 見出し */
h1,h2,p.mv_top {
    font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
}

/* 本文 */
body {
    font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    color: #212121;
}

.en {
    font-family: "Crimson Text", serif;
}

a {
    display: block;
}

a:hover {
    opacity: .8;
}

button {
    background-color: unset;
}

img {
    width: 100%;
    vertical-align: bottom;
}

.header {
    height: 100%;
    width: 100%;
    position: relative;
}

.header_wrap {
    position: fixed;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 9999;
}

.only-sp {
    display: none;
}

.only-pc {
    display: block;
}

.logo {
    width: 142px;
    margin: 21px 20px;
}

div#mv {
    position: relative;
}

p.mv_top {
        color: var(--Neutral-White-000, #FFF);
        text-align: center;
}

.mv_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

h1 {
    text-align: center;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

p.mv_btm {
    color: var(--Neutral-White-000, #FFF);
    text-align: center;
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    }

.header_btn {
    display: flex;
}

.header_btn {
    display: flex;
    width: 318px;
    align-items: center;
    margin: 0 40px 0 0;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    display: none !important;
}

.sec11_ttl_wrap {
    margin-bottom: 32px;
}

.faq_wrap {
    margin: 0 auto 37px;
    text-align: left;
}

.cta2_btn_wrap {
    position: absolute;
    bottom: 43px;
    width: 90%;
    margin: 0 5%;
}

.section_5 {
    background: url(../img/top/sec5_bg.png);
    background-size: cover;
}

.flow {
    background: #fff;
}

/* FAQ *//* FAQ *//* FAQ */

.cp_qa .cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 0 20px 0;
    color: #fff;
}
.cp_qa .cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 0 20px 0;
    color: #fff;
}
.cp_qa .cp_actab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
    position: relative;
    display: block;
    margin: 0 0 0 0;
    padding: 1em 3em 1em 3.5em;
    cursor: pointer;
    border-bottom: 1px dashed var(--System-Gray-400, #BDBDBD);
    background: #fff;
    color: var(--System-Gray-900, #212121);
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 34px;
    letter-spacing: 0.5px;
}
.cp_qa .cp_actab label::before {
    width: 35px;
    height: 36px;
    content: '';
    background: url(../img/qa3.png);
    background-size: 100%;
    position: absolute;
    left: 1.465vw;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0,-50%);
}
.cp_qa .cp_actab label:hover {
    transition: all 0.3s;
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
    font-size: 1.7em;
    font-weight: bold;
    line-height: 2em;
    position: absolute;
    top: 50%;
    right: 10px;
    content: '';
    background: url(../img/qa1.png);
    background-size: contain;
    display: inline-block;
    width: 15px;
    height: 15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    background-repeat: no-repeat;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
	position: relative;
	overflow: hidden;
	max-height: 0;
	padding: 0 0 0 2.5em;
	-webkit-transition: max-height 0.2s;
	transition: max-height 0.2s;
}
.cp_qa .cp_actab .cp_actab-content::before {
    width: 20px;
    height: 20px;
    content: '';
    background: url(../img/qa4.png);
    background-size: 100%;
    position: absolute;
    left: 25px;
    top: 31px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}
.cp_qa .cp_actab .cp_actab-content p {
    margin: 1em 1em 1em 1.5em;
    color: #212121;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 1px;
    text-align: left;
}

p.qa_anc {
    color: #343434;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
    max-height: 40em;
    background: #fff;
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label {
    background: #fff;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
    background: url(../img/qa5.png);
    background-size: contain;
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
    background-repeat: no-repeat;
}

/* FAQ *//* FAQ *//* FAQ */

.footer .copyright {
    font-size: 14px;
}

@media (max-width: 767px) {

    .only-sp {
        display: block;
    }

    .only-pc {
        display: none;
    }

    div#mv {
        position: relative;
    }

    .mv_inner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
        width: 90%;
    }

    .contents {
        position: relative;
        margin: auto;
        z-index: 99;
        overflow: hidden;
    }

    .logo {
        width: 100px;
        margin: 16px 8px;
    }

    .header_btn {
        width: 219px;
        margin-right: 16px;
    }

    p.mv_top {
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.72px;
    }

    p.mv_btm {
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 0.56px;
        margin-bottom: 20px;
    }

    .mv_btn_wrap {
        width: 336px;
        margin: auto;
    }

    .h2_wrap {
        position: absolute;
        top: 54px;
        left: 50%;
        transform: translate(-50%, 0);
        width: 100%;
    }

    .section_5 .h2_wrap span,
    .section_3 .h2_wrap {
        width: 100%;
    }

    h2.top_h2 {
        position: relative;
        text-align: center;
        font-family: "Shippori Mincho B1";
        font-size: 32px;
        font-style: normal;
        font-weight: 600;
        line-height: 40px; /* 125% */
        letter-spacing: 0.64px;
    }

    h2.top_h2 span {
        position: absolute;
        text-align: center;
        font-family: "Crimson Text", serif;
        font-size: 40px;
        font-style: normal;
        font-weight: 400;
        line-height: 165px;
        letter-spacing: 0.8px;
        text-transform: uppercase;
        left: 50%;
        transform: translate(-50%, 0);
    }

    h2.top_h2.wht span {
        color: var(--Neutral-White-000, rgb(255 255 255 / 10%));
        top: -88px;
    }

    h2.top_h2.wht {
        color: var(--Neutral-White-000, #FFF);
    }

    .section_1,.section_2,.section_3,.section_4,.section_5,.section_6 {
        position: relative;
    }

    .section_2 h2 {
        margin: 50px auto 16px;
        width: 90%;
        border-bottom: solid;
        padding-bottom: 16px;
        margin-bottom: 16px;
        font-size: 32px;
    }

    .section_2 h2.top_h2 span,
    .section_3 h2.top_h2 span {
        font-size: 40px;
    }

    h2.top_h2.org span,
    h2.top_h2.blk span {
        background: var(--Gradient-gradient09, linear-gradient(90deg, rgb(230 92 0 / 40%) 0%, rgb(249 212 35 / 40%) 100%));
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        top: -94px;
    }

    h2.top_h2.org {
        color: var(--Neutral-White-000, #FFF);
    }

    .section_3 {
        position: relative;
        padding-top: 120px;
        padding-bottom: 40px;
    }

    .section_3 .flex {
        width: 87%;
        display: flex;
        margin: auto;
        flex-direction: column;
    }

    .int_item {
        width: 100%;
        position: relative;
        margin-bottom: 16px;
    }

    .int_inner {
        position: absolute;
        width: 100%;
        max-width: 415px;
        top: 50%;
        left: 50%;
        text-align: center;
        transform: translate(-50%, -50%);
        color: #fff;
    }

    .int_inner h3 {
        font-size: 24px;
    }

    .int_inner p {
        font-size: 14px;
    }

    .sec3_bg {
        position: absolute;
        top: 0;
    }

    .cta {
        position: relative;
        width: 100%;
        margin: 0 auto 0;
    }

    .cta_btn {
        position: absolute;
        width: 90%;
        top: 89vw;
        right: 5%;
    }

    h3 {
        color: #FFF;
        text-align: center;
        font-family: "Shippori Mincho B1";
        font-size: 26px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        letter-spacing: -1.28px;
        margin-bottom: 16px;
    }

    .section_4 {
        position: relative;
        background: #212121;
        padding: 135px 0 12px;
    }

    .section_4 .h2_wrap p {
        margin-top: 16px;
    }

    p {
        color: #fff;
        text-align: center;
    }

    .sec4_flex {
        display: flex;
        flex-wrap: wrap;
        width: 90%;
        margin: 100px auto 0;
    }

    .rea_item {
        width: 100%;
        margin: 0 auto 48px;
    }

    .rea_item img {
        position: relative;
        width: 80%;
        margin: 0 10%;
    }

    .circle_img {
        position: relative;
    }

    .rea_item h3 {
        position: relative;
        z-index: 5;
    }

    .rea_item h4 {
        position: relative;
        z-index: 5;
        color: #FFF;
        text-align: center;
        font-family: "Noto Sans JP";
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        margin: 24px 0 16px;
    }

    .rea_item p {
        position: relative;
        z-index: 5;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 24px;
        letter-spacing: 2px;
    }

    .circle_img:before {
        position: absolute;
        content: "";
        left: 50%;
        top: 50%;
        width: 254px;
        height: 254px;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
        filter: blur(53px);
        transform: translate(-50%, -50%);
    }

    .section_5 {
        padding: 100px 0;
    }

    .section_5 .h2_wrap {
        width: 100%;
        top: 100px;
    }

    .flow_wrap {
        margin-top: 100px;
    }

    .flow {
        position: relative;
        display: flex;
        flex-direction: column;
        width: 92%;
        padding: 28px 21px;
        margin: auto;
        align-items: center;
        border: solid 1px #E0E0E0;
        margin-bottom: 37px;
    }

    .flow:before {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -27px;
        transform: translateX(-50%);
        width: 102px;
        height: 27px;
        border-left: 51px solid transparent;
        border-right: 51px solid transparent;
        border-top: 27px solid #dfdfdf;
    }

    .flow:last-child:before {
        content: unset;
    }

    .no {
        position: absolute;
        text-align: center;
        top: 14px;
        left: auto;
        right: 5%;
        text-transform: uppercase;
        opacity: 0.4;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        font-size: 98px;
        font-style: normal;
        font-weight: 400;
        line-height: 80px;
        letter-spacing: 0.5px;
    }

    .flow_txt {
        margin: 0 9px;
    }

    .flow_txt h3 {
        color: var(--System-Gray-900, #212121);
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: 32px;
        text-align: left;
    }

    .flow_txt p {
        color: var(--System-Gray-900, #212121);
        text-align: left;
        margin: 4px 0 20px;
    }

    .flow img {
        width: 281px;
    }

    .section_5 {
        padding: 100px 0 23px;
    }

    .section_6 {
        background: #212121;
        padding: 100px 0;
    }

    .section_6 .h2_wrap {
        position: absolute;
        top: 80px;
        left: 50%;
        transform: translate(-50%, 0);
        width: 100%;
    }

    .acc_flex {
        display: flex;
        flex-direction: column;
        width: 87%;
        margin: 50px auto 0;
    }

    dl.shop-info {
        color: #fff;
    }

    .acc_tbl {
        width: 100%;
        margin-right: 0;
        margin-bottom: 60px;
    }

    .shop-info > div {
        display: grid;
        grid-template-columns: 1fr;
        align-items: start;
        border-bottom: solid 1px #424242;
    }

    .shop-info dt {
        margin: 0;
        font-weight: 600;
        white-space: nowrap; /* ← 折り返し防止（重要） */
        font-family: "Shippori Mincho B1";
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        letter-spacing: 1px;
        padding: 20px 0 20px;
    }

    .shop-info dd {
        padding: 0 0 20px;
        margin: 0;
    }

    .map {
        position: relative;
        width: 90%;
        margin: auto;
        z-index: 3;
    }

    /* Google Map を親にフィットさせる */
    .map iframe {
        width: 100%;
        height: 224px;
        aspect-ratio: 4 / 3;
        border: 0;
    }

    .map:before {
        position: absolute;
        content: "";
        top: 49.5%;
        left: 50%;
        width: 100%;
        height: 224px;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
        filter: blur(53px);
        transform: translate(-50%, -50%);
        z-index: -1;
    }

    .section_7 {
        position: relative;
        padding: 160px 0 20px;
    }

    .section_7 .h2_wrap {
        top: 100px; 
    }

    .acc_wrap {
        display: none;
    }

    .faq_wrap {
        width: 95%;
        max-width: 720px;
    }

    .cp_qa .cp_actab label {
        padding: 1em 3em 1em 5em;
    }

    .cp_qa .cp_actab label {
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 22px;
        letter-spacing: 0.5px;
        padding: 1em 3em 1em 4em;
    }

    .cp_qa .cp_actab .cp_actab-content p {
        margin: 1em 1em 1em 1.5em;
        color: #212121;
        font-family: "Noto Sans JP";
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 22px;
        letter-spacing: .5px;
        text-align: left;
    }

    .cp_qa .cp_actab .cp_actab-content::before {
        width: 20px;
        height: 20px;
        content: '';
        background: url(../img/qa4.png);
        background-size: 100%;
        position: absolute;
        left: 14px;
        top: 25px;
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
    }

    footer.footer {
        padding: 16px 0;
        text-align: center;
        color: #fff;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
    }
}

@media (min-width: 768px) and (max-width: 840px) {
    .logo {
        width: 98px;
        margin: 16px 8px;
    }

    .header_btn {
        width: 219px;
        margin-right: 16px;
    }

    .mv_inner {
        width: 674px;
    }

    .mv_btn_wrap a {
        width: 360px;
        margin: auto;
    }

    p.mv_top {
        color: var(--Neutral-White-000, #FFF);
        text-align: center;
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.96px;
    }

    h1 {
        font-size: 64px;
        margin: 22px 0;
    }

    p.mv_btm {
        color: var(--Neutral-White-000, #FFF);
        text-align: center;
        font-family: "Noto Sans JP";
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 26px;
        letter-spacing: 0.64px;
    }

    .mv_btn_wrap {
        margin-top: 60px;
    }

    .h2_wrap {
        position: absolute;
        top: 100px;
        left: 50%;
        transform: translate(-50%, 0);
    }

    .section_5 .h2_wrap span,
    .section_3 .h2_wrap {
        width: 100%;
    }

    h2.top_h2 {
        position: relative;
        text-align: center;
        font-size: 48px;
        font-style: normal;
        font-weight: 600;
        line-height: 54px;
        letter-spacing: 0.96px;
    }

    h2.top_h2 span {
        position: absolute;
        text-align: center;
        font-family: "Crimson Text", serif;
        font-size: 80px;
        font-style: normal;
        font-weight: 400;
        line-height: 165px;
        letter-spacing: 1.6px;
        text-transform: uppercase;
        left: 50%;
        transform: translate(-50%, 0);
    }

    h2.top_h2.wht span {
        color: var(--Neutral-White-000, rgb(255 255 255 / 10%));
        top: -102px;
    }

    h2.top_h2.wht {
        color: var(--Neutral-White-000, #FFF);
    }

    .section_1,.section_2,.section_3,.section_4,.section_5,.section_6 {
        position: relative;
    }

    .section_2 h2 {
        margin-top: 50px;
        width: 67vw;
        border-bottom: solid;
        padding-bottom: 16px;
        margin-bottom: 16px;
        font-size: 40px;
    }

    .section_2 h2.top_h2 span {
        font-size: 64px;
    }

    h2.top_h2.org span,
    h2.top_h2.blk span {
        background: var(--Gradient-gradient09, linear-gradient(90deg, rgb(230 92 0 / 40%) 0%, rgb(249 212 35 / 40%) 100%));
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        top: -94px;
    }

    h2.top_h2.org {
        color: var(--Neutral-White-000, #FFF);
    }

    .section_3 {
        position: relative;
        padding-top: 200px;
        padding-bottom: 40px;
    }

    .section_3 .flex {
        width: 760px;
        margin: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .int_item {
        width: 48.8%;
        position: relative;
        margin-bottom: 2.4%;
    }

    .int_inner {
        position: absolute;
        width: 100%;
        max-width: 415px;
        top: 50%;
        left: 50%;
        text-align: center;
        transform: translate(-50%, -50%);
        color: #fff;
    }

    .int_inner h3 {
        font-size: 24px;
    }

    .int_inner p {
        font-size: 14px;
    }

    .sec3_bg {
        position: absolute;
        top: 0;
    }

    .cta {
        position: relative;
        width: 100%;
        margin: 0 auto 0;
    }

    .cta_btn {
        position: absolute;
        width: 36.19vw;
        top: 4.762vw;
        right: 5.714vw;
    }

    h3 {
        color: #FFF;
        text-align: center;
        font-family: "Shippori Mincho B1";
        font-size: 32px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        letter-spacing: -1.28px;
        margin-bottom: 16px;
    }

    .section_4 {
        position: relative;
        background: #212121;
        padding: 150px 0 100px;
    }

    .section_4 .h2_wrap p {
        margin-top: 16px;
    }

    p {
        color: #fff;
        text-align: center;
    }

    .sec4_flex {
        display: flex;
        flex-wrap: wrap;
        width: 760px;
        margin: 100px auto 0;
    }

    .rea_item {
        width: 47.5%;
        margin: 0 auto 48px;
    }

    .rea_item img {
        position: relative;
        width: 80%;
        margin: 0 10%;
    }

    .circle_img {
        position: relative;
    }

    .rea_item h3 {
        position: relative;
        z-index: 5;
    }

    .rea_item h4 {
        position: relative;
        z-index: 5;
        color: #FFF;
        text-align: center;
        font-family: "Noto Sans JP";
        font-size: 24px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        margin: 24px 0 27px;
    }

    .rea_item p {
        position: relative;
        z-index: 5;
    }

    .circle_img:before {
        position: absolute;
        content: "";
        left: 50%;
        top: 50%;
        width: 254px;
        height: 254px;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
        filter: blur(53px);
        transform: translate(-50%, -50%);
    }

    .section_5 {
        padding: 100px 0;
    }

    .section_5 .h2_wrap {
        width: 100%;
    }

    .flow_wrap {
        margin-top: 100px;
    }

    .flow {
        position: relative;
        display: flex;
        width: 700px;
        padding: 28px 21px;
        margin: auto;
        align-items: center;
        border: solid 1px #E0E0E0;
        margin-bottom: 37px;
    }

    .flow:before {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -27px;
        transform: translateX(-50%);
        width: 102px;
        height: 27px;
        border-left: 51px solid transparent;
        border-right: 51px solid transparent;
        border-top: 27px solid #dfdfdf;
    }

    .flow:last-child:before {
        content: unset;
    }

    .no {
        position: absolute;
        text-align: center;
        font-size: 80px;
        top: -5px;
        left: 42%;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        opacity: 0.4;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .flow_txt {
        margin: 0 30px 0 18px;
    }

    .flow_txt h3 {
        color: var(--System-Gray-900, #212121);
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: 32px;
        text-align: left;
    }

    .flow_txt p {
        color: var(--System-Gray-900, #212121);
        text-align: left;
    }

    .flow img {
        width: 281px;
    }

    .section_5 {
        padding: 100px 0 23px;
    }

    .section_6 {
        background: #212121;
        padding: 100px 0;
    }

    .acc_flex {
        display: flex;
        flex-direction: column;
        width: 680px;
        margin: 100px auto 0;
    }

    dl.shop-info {
        color: #fff;
    }

    .acc_tbl {
        width: 100%;
        margin-right: 0;
        margin-bottom: 60px;
    }

    .shop-info > div {
        display: grid;
        grid-template-columns: 116px 1fr;
        align-items: start;
        border-bottom: solid 1px #424242;
    }

    .shop-info dt {
        margin: 0;
        font-weight: 600;
        white-space: nowrap; /* ← 折り返し防止（重要） */
        font-family: "Shippori Mincho B1";
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        letter-spacing: 1px;
        padding: 30px 0 20px;
    }

    .shop-info dd {
        padding: 30px 0 20px;
        margin: 0;
    }

    .map {
        position: relative;
        width: 90%;
        margin: auto;
        z-index: 3;
    }

    /* Google Map を親にフィットさせる */
    .map iframe {
        width: 100%;
        aspect-ratio: 4 / 3; /* 高さを維持したい場合 */
        border: 0;
    }

    .map:before {
        position: absolute;
        content: "";
        top: 49.5%;
        left: 50%;
        width: 100%;
        height: 362px;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
        filter: blur(53px);
        transform: translate(-50%, -50%);
        z-index: -1;
    }

    .section_7 {
        position: relative;
        padding: 200px 0 100px;
    }

    .acc_wrap {
        display: none;
    }

    .faq_wrap {
        width: 95%;
        max-width: 720px;
    }

    .cp_qa .cp_actab label {
        padding: 1em 3em 1em 3.5em;
    }

    footer.footer {
        padding: 16px 0;
        text-align: center;
        color: #fff;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
    }
    
}

@media (min-width: 841px) {

    .mv_inner {
        width: 50.515vw;
    }

    p.mv_top {
        font-size: 1.765vw;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.071vw;
    }

    h1 {
        font-size: 4.706vw;
        margin: 1.618vw 0;
    }

    p.mv_btm {
        font-size: 1.176vw;
        line-height: 1.912vw;
        letter-spacing: 0.047vw;
    }

    .mv_btn_wrap a {
        width: 31.618vw;
        margin: auto;
    }

    .mv_btn_wrap {
        margin-top: 4.412vw;
    }

    .h2_wrap {
        position: absolute;
        top: 7.353vw;
        left: 50%;
        transform: translate(-50%, 0);
    }

    h2.top_h2 {
        position: relative;
        text-align: center;
        font-size: 3.529vw;
        font-style: normal;
        font-weight: 600;
        line-height: 3.971vw;
        letter-spacing: 0.071vw;
    }

    h2.top_h2 span {
        position: absolute;
        text-align: center;
        font-family: "Crimson Text", serif;
        font-size: 5.882vw;
        font-style: normal;
        font-weight: 400;
        line-height: 12.132vw;
        letter-spacing: 0.118vw;
        text-transform: uppercase;
        left: 50%;
        transform: translate(-50%, 0);
    }

    h2.top_h2.wht span {
        color: var(--Neutral-White-000, rgb(255 255 255 / 10%));
        top: -7.5vw;
    }

    h2.top_h2.wht {
        color: var(--Neutral-White-000, #FFF);
    }

    .section_1,.section_2,.section_3,.section_4,.section_5,.section_6 {
        position: relative;
    }

    .section_2 h2 {
        margin-top: 6.912vw;
        width: 67vw;
        border-bottom: solid;
        padding-bottom: 1.176vw;
        margin-bottom: 1.176vw;
    }

    h2.top_h2.org span,
    h2.top_h2.blk span {
        background: var(--Gradient-gradient09, linear-gradient(90deg, rgb(230 92 0 / 40%) 0%, rgb(249 212 35 / 40%) 100%));
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        top: -6.912vw;
    }

    h2.top_h2.org {
        color: var(--Neutral-White-000, #FFF);
    }

    .section_3 {
        position: relative;
        padding-top: 14.706vw;
        padding-bottom: 2.941vw;
    }

    .section_3 .flex {
        width: 82.132vw;
        margin: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .int_item {
        width: 48.8%;
        position: relative;
        margin-bottom: 2.4%;
    }

    .int_inner {
        position: absolute;
        width: 100%;
        max-width: 30.515vw;
        top: 50%;
        left: 50%;
        text-align: center;
        transform: translate(-50%, -50%);
        color: #fff;
    }

    .sec3_bg {
        position: absolute;
        top: 0;
    }

    .cta {
        position: relative;
        width: 88.235vw;
        margin: 0 auto 100px;
    }

    .cta_btn {
        position: absolute;
        width: 22.353vw;
        bottom: 4.926vw;
        left: 2.941vw;
    }

    h3 {
        color: #FFF;
        text-align: center;
        font-family: "Shippori Mincho B1";
        font-size: 2.353vw;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        letter-spacing: -0.094vw;
        margin-bottom: 1.176vw;
    }

    .section_4 {
        position: relative;
        background: #212121;
        padding: 11.029vw 0 7.353vw;
    }

    p {
        color: #fff;
        text-align: center;
    }

    .section_4 .h2_wrap p {
        margin-top: 16px;
    }

    .sec4_flex {
        display: flex;
        flex-wrap: wrap;
        width: 88.235vw;
        margin: 100px auto 0;
    }

    .rea_item {
        width: 31%;
        margin: 0 auto 48px;
    }

    .rea_item img {
        position: relative;
        width: 80%;
        margin: 0 10%;
    }

    .circle_img {
        position: relative;
    }

    .rea_item h3 {
        position: relative;
        z-index: 5;
    }

    .rea_item h4 {
        position: relative;
        z-index: 5;
        color: #FFF;
        text-align: center;
        font-family: "Noto Sans JP";
        font-size: 1.765vw;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        margin: 1.765vw 0 1.985vw;
    }

    .rea_item p {
        position: relative;
        z-index: 5;
    }

    .circle_img:before {
        position: absolute;
        content: "";
        left: 50%;
        top: 50%;
        width: 18.676vw;
        height: 18.676vw;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
        filter: blur(53px);
        transform: translate(-50%, -50%);
    }

    .section_5 {
        padding: 7.353vw 0;
    }

    .section_5 .h2_wrap {
        width: 100%;
    }

    .flow_wrap {
        margin-top: 7.353vw;
    }

    .flow {
        position: relative;
        display: flex;
        width: 85.294vw;
        padding: 2.059vw 1.544vw;
        margin: auto;
        align-items: center;
        border: solid 1px #E0E0E0;
        margin-bottom: 2.721vw;
    }

    .flow:before {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -1.985vw;
        transform: translateX(-50%);
        width: 7.5vw;
        height: 1.985vw;
        border-left: 51px solid transparent;
        border-right: 51px solid transparent;
        border-top: 27px solid #dfdfdf;
    }

    .flow:last-child:before {
        content: unset;
    }

    .no {
        text-align: center;
        font-size: 10.441vw;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.037vw;
        text-transform: uppercase;
        opacity: 0.4;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .flow_txt {
        margin: 0 2.5vw;
    }

    .flow_txt h3 {
        color: var(--System-Gray-900, #212121);
        font-size: 1.765vw;
        font-style: normal;
        font-weight: 600;
        line-height: 2.353vw;
        text-align: left;
    }

    .flow_txt p {
        color: var(--System-Gray-900, #212121);
        text-align: left;
    }

    .flow img {
        width: 20.662vw;
    }

    .section_5 {
        padding: 7.353vw 0 1.691vw;
    }

    .section_6 {
        background: #212121;
        padding: 7.353vw 0;
    }

    .acc_flex {
        display: flex;
        width: 76.397vw;
        margin: 100px auto 0;
    }

    dl.shop-info {
        color: #fff;
    }

    .acc_tbl {
        width: 45%;
        margin-right: 5%;
    }

    .shop-info > div {
        display: grid;
        grid-template-columns: 116px 1fr;
        align-items: start;
        border-bottom: solid 1px #424242;
    }

    .shop-info dt {
        margin: 0;
        font-weight: 600;
        white-space: nowrap; /* ← 折り返し防止（重要） */
        font-family: "Shippori Mincho B1";
        font-size: 1.176vw;
        font-style: normal;
        font-weight: 500;
        letter-spacing: 0.074vw;
        padding: 2.206vw 0 1.471vw;
    }

    .shop-info dd {
        padding: 2.206vw 0 1.471vw;
        margin: 0;
    }

    .map {
        position: relative;
        width: 50%;
        z-index: 3;
    }

    /* Google Map を親にフィットさせる */
    .map iframe {
        width: 100%;
        aspect-ratio: 4 / 3; /* 高さを維持したい場合 */
        border: 0;
    }

    .map:before {
        position: absolute;
        content: "";
        top: 49.5%;
        left: 50%;
        width: 100%;
        height: 26.618vw;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
        filter: blur(53px);
        transform: translate(-50%, -50%);
        z-index: -1;
    }

    .section_7 {
        position: relative;
        padding: 14.706vw 0 7.353vw;
    }

    .acc_wrap {
        display: none;
    }

    .faq_wrap {
        width: 73.529vw;
        max-width: 100%;
    }

    .cp_qa .cp_actab label {
        padding: 1em 3em 1em 4em;
    }

    .cp_qa .cp_actab .cp_actab-content p {
        margin: 1em 1em 1em 2em;
    }

    .cp_qa .cp_actab .cp_actab-content::before {
        left: 2rem;
    }

    footer.footer {
        padding: 1.176vw 0;
        text-align: center;
        color: #fff;
        background: var(--Gradient-gradient09, linear-gradient(90deg, #E65C00 0%, #F9D423 100%));
    }
}