:root { --width: 1 / 1280 * 100vw; --gold: #DFC494; --gold-10: #DFC4941A; --black: #3F3830; --white: #FFFFFF; --cream: #e4dfcc; --cream02: #eddcc0; --cream03: #dcbb8e; --black02: #302825; --black03: #1f2222; --black04: #1d2121; --black05: #222424; --black06: #2C2C2C; --gold02: #B7AB93; --black07: #211D1C; --black08: #1d1f1c; --black09: #195AFE40;}
@media (max-width: 780px) { :root { --width: 1 / 780 * 100vw; } }
.pc{display: block;} .sp{display: none;}
@media (max-width: 780px) {.pc{display: none;} .sp{display: block;}}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Noto Serif JP", serif;
}
html,body {
    scroll-behavior: smooth;
    scroll-padding-top: 120px !important;
}
header,
main,
footer {
    margin: 0 auto;
}
main {
    overflow: hidden;
}
img {
    width: 100%;
    height: auto;
    display: block;
}
section {
    position: relative;
}
.scroll {
    opacity: 0;
    transition: all 0.6s ease-in-out;
    transform: translateY(40px);
}
.scroll.left {
    transform: translateX(-40px);
}
.scroll.right {
    transform: translateX(40px);
}
.scroll.top {
    transform: translateY(-40px);
}
.scroll.bottom {
    transform: translateY(40px);
}
.scroll.active,
.scroll.left.active,
.scroll.right.active,
.scroll.top.active,
.scroll.bottom.active {
    opacity: 1;
    transform: translateY(0);
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background-color: var(--black08);
    padding: calc(7 * var(--width)) calc(56 * var(--width)) calc(7 * var(--width)) calc(75 * var(--width));
}
header::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, var(--gold-10) 0%, var(--gold) 50%, var(--gold-10) 100% );
}
.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-inner-logo {
    width: calc(113 * var(--width));
}
.header-inner-logo h1 {
    width: 100%;
    height: 100%;
}
.header-inner-logo h1 img {
    width: 100%;
    height: auto;
    display: block;
}
.header-inner-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: calc(24 * var(--width));
}
.header-inner-nav-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: calc(24 * var(--width));
}
.header-inner-nav-wrapper a {
    color: var(--gold);
    text-decoration: none;
    font-size: calc(14 * var(--width));
    font-weight: 600;
    position: relative;
}
.btn {
    background-color: var(--cream);
    color: var(--black);
    padding: calc(11 * var(--width)) 0;
    width: calc(186 * var(--width));
    border-radius: calc(1 * var(--width));
    text-decoration: none;
    font-size: calc(16 * var(--width));
    font-weight: 700;
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
.btn::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - calc(6 * var(--width)));
    height: calc(100% - calc(6 * var(--width)));
    content: '';
    border: 1px solid var(--black);
    border-radius: calc(1 * var(--width));
}
.fv-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.fv-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.fv {
    width: 100%;
    padding: calc(104 * var(--width)) 0 0;
}
.fv:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(360 * var(--width));
    background: linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 10;
}
.fv-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transform: translateY(40px);
    animation: fv-inner 1s ease;
    animation-delay: 0.5s;
    animation-fill-mode: forwards;
}
@keyframes fv-inner {
    0% {
        opacity: 0;
        transform: translateY(40px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
.fv-inner h2 {
    color: var(--gold);
    font-size: calc(64 * var(--width));
    font-weight: 600;
    text-align: center;
    text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.50);
}
.line {
    display: flex;
    justify-content: center;
    align-items: center;
    padding:  calc(8 * var(--width)) 0;
}
.line01 {
    width: calc(33 * var(--width));
    opacity: 0;
}
.line02 {
    width: 0;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.line03 {
    width: calc(33 * var(--width));
    opacity: 0;
}
.line04 {
    width: calc(33 * var(--width));
    opacity: 0;
}
.line05 {
    width: 0;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.line06 {
    width: calc(33 * var(--width));
    opacity: 0;
}
.line01.active {
    animation: lineSide01 1s ease;
    animation-delay: 1.5s;
    animation-fill-mode: forwards;
}
.line02.active {
    animation: lineMiddle01 1s ease;
    animation-delay: 0.5s;
    animation-fill-mode: forwards;
}
.line03.active {
    animation: lineSide02 1s ease;
    animation-delay: 1.5s;
    animation-fill-mode: forwards;
}
.line04.active {
    animation: lineSide01 1s ease;
    animation-delay: 1.5s;
    animation-fill-mode: forwards;
}
.line05.active {
    animation: lineMiddle02 1s ease;
    animation-delay: 0.5s;
    animation-fill-mode: forwards;
}
.line06.active {
    animation: lineSide02 1s ease;
    animation-delay: 1.5s;
    animation-fill-mode: forwards;
}
@keyframes lineMiddle01 {
    0% {
        width: 0;
    }
    100% {
        width: calc(997 * var(--width));
    }
}
@keyframes lineMiddle02 {
    0% {
        width: 0;
    }
    100% {
        width: calc(185 * var(--width));
    }
}
@keyframes lineSide01 {
    0% {
        opacity: 0;
        transform: translateX(-20%);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes lineSide02 {
    0% {
        opacity: 0;
        transform: translateX(20%);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
.fv-inner-text {
    color: var(--gold);
    font-size: calc(20 * var(--width));
    font-weight: 600;
    text-align: center;
    line-height: 1.5;
    padding: calc(2 * var(--width)) 0 calc(24 * var(--width));
}
.swiper { width: 100%; }
.swiper-slide { display: flex; justify-content: center; align-items: center; }
.fv-inner-slider {
    padding: calc(60 * var(--width)) 0;
}
.fv-inner-slider-item {
    width: calc(686 * var(--width));
    height: auto;
    padding: 0 calc(56 * var(--width));
    transition: all 0.3s ease;
}
.fv-inner-slider-item.swiper-slide-active {
    transform: scale(1.15);
}
.fv-inner-slider-item-inner {
    width: 100%;
    height: 100%;
    border-radius: calc(1 * var(--width));
    padding: calc(16 * var(--width));
    border: 1px solid var(--white);
    border-radius: calc(16 * var(--width));
    display: flex;
    justify-content: center;
    align-items: center;
}
.fv-inner-slider-item-inner img {
    box-shadow: 0.22px 5.38px 19.68px 0px var(--black09);
    backdrop-filter: blur(12px)
}

.bg {
    position: absolute;
}
.youtube {
    padding-top: calc(12 * var(--width));
    padding-left: calc(46 * var(--width));
    padding-right: calc(72 * var(--width));
    z-index: 1;
}
.icon01 {
    position: absolute;
    left: 0;
    top: calc(15 * var(--width));
    width: calc(191 * var(--width));
    height: auto;
    z-index: -1;
}
.icon02 {
    position: absolute;
    right: 0;
    top: calc(204 * var(--width));
    width: calc(224 * var(--width));
    height: auto;
    z-index: -1;
}
.youtube-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    height: calc(410 * var(--width));
    padding-top: calc(66 * var(--width));
    padding-left: calc(157 * var(--width));
    padding-right: calc(131 * var(--width));
    z-index: 1;
    position: relative;
}
.youtube-inner::after {
    position: absolute;
    content: '';
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: url(../images/bg01-01.webp) no-repeat top left / contain;
    z-index: -1;
}
.youtube-inner::before {
    position: absolute;
    content: '';
    top: calc(15 * var(--width));
    left: calc(-16 * var(--width));
    width: 100%;
    height: 100%;
    background: url(../images/bg01-02.webp) no-repeat top left / contain;
    opacity: 0.6;
    z-index: -1;
    filter: brightness(30%);
}
.youtube-inner-left {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.youtube-inner-left h2 {
    color: var(--black02);
    font-size: calc(32 * var(--width));
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: calc(8 * var(--width));
}
.youtube-inner-left p {
    color: var(--black02);
    font-size: calc(16 * var(--width));
    font-weight: 500;
    line-height: 1.8;
    padding-bottom: calc(24 * var(--width));
}
.youtube-inner-right {
    width: calc(392 * var(--width));
}
.youtube-inner-right img ,
.youtube-inner-right iframe {
    width: 100%;
    height: calc(230 * var(--width));
    object-fit: cover;
    object-position: center;
    border-radius: calc(16 * var(--width));
}

.problem {
    z-index: 1;
}
.icon03 {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(310 * var(--width));
    height: auto;
    z-index: -1;
}
.icon04 {
    position: absolute;
    right: 0;
    top: calc(371 * var(--width));
    width: calc(277 * var(--width));
    height: auto;
    z-index: -1;
}
.title {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}
.title-inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: calc(250 * var(--width));
}
.title-en {
    color: var(--black02);
    font-size: calc(24 * var(--width));
    font-weight: 600;
    text-align: center;
    font-family: "Orbitron", sans-serif;
    letter-spacing: 0.05em;
}
.title-jp {
    color: var(--black02);
    font-size: calc(40 * var(--width));
    font-weight: 600;
    text-align: center;
}
.problem-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(12 * var(--width));
    padding-top: calc(40 * var(--width));
}
.problem-inner-item {
    width: calc(400 * var(--width));
    height: calc(312 * var(--width));
    background: url(../images/bg02.webp) no-repeat center center / cover;
    padding-bottom: calc(32 * var(--width));
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
}
.problem-inner-item img {
    width: 65%;
    padding-bottom: calc(30 * var(--width));
    height: calc(180 * var(--width));
    object-fit: contain;
    object-position: top;
}
.problem-inner-item p {
    color: var(--black02);
    font-size: calc(22 * var(--width));
    font-weight: 600;
    text-align: center;
    line-height: 1.5;
    white-space: nowrap;
}
.arrow01 {
    width: calc(73 * var(--width));
    height: auto;
    margin: calc(24 * var(--width)) auto calc(24 * var(--width));
}
.problem-text {
    color: var(--black02);
    font-size: calc(40 * var(--width));
    font-weight: 600;
    text-align: center;
    line-height: 1.5;
}
.about {
    padding-top: calc(120 * var(--width));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: calc(120 * var(--width)) calc(60 * var(--width)) calc(70 * var(--width)) calc(80 * var(--width));
}
.about .title {
    align-items: flex-start;
}
.about .title-en,
.benefits .title-en,
.plan .title-en,
.faq .title-en,
.voice .title-en {
    color: var(--gold);
}
.about .title-jp,
.benefits .title-jp,
.plan .title-jp,
.faq .title-jp,
.voice .title-jp {
    color: var(--gold);
}
.about-inner {
    display: flex;
    justify-content: space-between ;
    align-items: flex-start;
    width: 100%;
    padding-top: calc(24 * var(--width));
}
.about-inner-left {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(24 * var(--width));
}
.about-inner-left h3 {
    color: var(--gold);
    font-size: calc(40 * var(--width));
    font-weight: 600;
    line-height: 1.5;
}
.about-inner-left p {
    color: var(--gold);
    font-size: calc(16 * var(--width));
    font-weight: 500;
    line-height: 1.8;
}
.about-inner-right {
    width: calc(466 * var(--width));
    height: auto;
}
.about-inner-right img {
    width: 100%;
    height: auto;
}

.point {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
}
.point-inner {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-left: auto;
    width: calc(100% - calc(40 * var(--width)));
    padding-top: calc(108 * var(--width));
    margin-bottom: calc(10 * var(--width));
    background: url(../images/bg-scroll01.webp) no-repeat left top / contain;
}
.point-inner:nth-of-type(even) {
    background: url(../images/bg-scroll02.webp) no-repeat right top / contain;
    margin-right: auto;
    margin-left: 0;
    flex-direction: row-reverse;
}
.point-inner-text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: calc(570 * var(--width));
}
.point-inner:nth-of-type(1) .point-inner-text {
    margin-left: calc(85 * var(--width));
}
.point-inner:nth-of-type(3) .point-inner-text {
    margin-left: calc(85 * var(--width));
}
.point-inner:nth-of-type(even) .point-inner-text {
    padding-left: calc(15 * var(--width));
}
.point-inner-text-title {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.point-inner-text-title p {
    color: var(--black02);
    font-size: calc(16 * var(--width));
    font-weight: 700;
    line-height: 1;
    margin-right: calc(8 * var(--width));
    padding: calc(8 * var(--width)) calc(12 * var(--width));
    border: 2px solid var(--black02);
    font-family: "Orbitron", sans-serif;
    white-space: nowrap;
}
.point-inner-text-title h2 {
    color: var(--black02);
    font-size: calc(32 * var(--width));
    font-weight: 600;
    line-height: 1.5;
}
.line08 {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: left;
    margin: calc(16 * var(--width)) 0;
}
.point-inner-text-detail {
    color: var(--black02);
    font-size: calc(20 * var(--width));
    font-weight: 600;
    line-height: 2;
    padding-left: calc(45 * var(--width));
}
.point-inner-img {
    width: calc(531 * var(--width));
    height: calc(470 * var(--width));
    position: relative;
    overflow: hidden;
    border-top-left-radius: calc(10 * var(--width));
    border-bottom-left-radius: calc(10 * var(--width));
}
.point-inner:nth-of-type(even) .point-inner-img {
    border-top-left-radius: calc(10 * var(--width));
    border-bottom-left-radius: calc(10 * var(--width));
    border-top-right-radius: calc(10 * var(--width));
    border-bottom-right-radius: calc(10 * var(--width));
}
.point-inner-img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: right;
    opacity: 0;
}
.point-inner-img .frame-img {
    position: absolute;
    top: calc(0 * var(--width));
    left: calc(0 * var(--width));
    width: calc(531 * var(--width));
    height: calc(336 * var(--width));
    object-fit: cover;
    object-position: center;
    border-radius: calc(8 * var(--width));
}
.point-inner:nth-of-type(even) .point-inner-img .frame-img {
    right: auto;
    left: auto;
    object-position: center;
}
.trial {
    background: url(../images/trial.webp) no-repeat center center / cover;
    width: calc(1230 * var(--width));
    height: calc(347 * var(--width));
    margin: calc(64 * var(--width)) auto calc(100 * var(--width));
    border-radius: calc(16 * var(--width));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding-top: calc(64 * var(--width));
    border: 2px solid var(--gold);
}
.trial .title-jp {
    color: var(--gold);
    font-size: calc(32 * var(--width));
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.50);
}
.trial-text {
    color: var(--gold);
    font-size: calc(16 * var(--width));
    font-weight: 600;
    line-height: 1.8;
    text-align: center;
    margin-top: calc(16 * var(--width));
    margin-bottom: calc(32 * var(--width));
}

.benefits {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding-bottom: calc(87 * var(--width));
}
.benefits .title-jp {
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.50);
}
.benefits-inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(16 * var(--width)) calc(32 * var(--width));
    width: calc(1120 * var(--width));
    margin: 0 auto;
    padding-top: calc(40 * var(--width));
}
.benefits-inner-item {
    width: calc(544 * var(--width));
    padding: calc(15 * var(--width)) calc(10 * var(--width));
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(8 * var(--width));
    border: 1px solid var(--gold);
    background-color: var(--black03);
}
.benefits-inner-item img {
    width: calc(62 * var(--width));
    height: auto;
}
.benefits-inner-item-text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.benefits-inner-item-text h3 {
    color: var(--gold);
    font-size: calc(24 * var(--width));
    font-weight: 600;
    line-height: 1.5;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.50);
}
.benefits-inner-item-text p {
    color: var(--gold);
    font-size: calc(16 * var(--width));
    font-weight: 500;
    line-height: 1.5;
}

.plan {
    padding-bottom: calc(228 * var(--width));
    z-index: 1;
}
.plan .title-jp {
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.50);
}
.plan-bg {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(810 * var(--width));
    height: auto;
    z-index: -1;
}
.plan-inner {
    display: flex;
    justify-content: center;
    width: 100%;
    padding-top: calc(110 * var(--width));
    gap: calc(16 * var(--width));
}
.plan-inner-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    z-index: 1;
    width: calc(270 * var(--width));
    opacity: 0.9;
}
.plan-inner-item.active {
    opacity: 0.9;
}
.plan-inner-item::before {
    content: '';
    position: absolute;
    width: calc(130 * var(--width));
    height: calc(130 * var(--width));
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid var(--gold);
    background: var(--black04);
    z-index: -1;
}
.plan-inner-item::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: var(--black04);
    border: 1px solid var(--gold);
    z-index: -1;
}
.plan-inner-item-img {
    width: calc(130 * var(--width));
    height: calc(130 * var(--width));
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: calc(16 * var(--width));
    z-index: 2;
}
.plan-inner-item:nth-of-type(1) .plan-inner-item-img img {
    width: calc(63 * var(--width));
    height: auto;
}
.plan-inner-item:nth-of-type(2) .plan-inner-item-img img {
    width: calc(62 * var(--width));
    height: auto;
}
.plan-inner-item:nth-of-type(3) .plan-inner-item-img img {
    width: calc(61 * var(--width));
    height: auto;
}
.plan-inner-item:nth-of-type(4) .plan-inner-item-img img {
    width: calc(70 * var(--width));
    height: auto;
}
.plan-inner-item-content {
    position: relative;
    z-index: 1;
    padding: calc(24 * var(--width)) calc(16 * var(--width));
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}
.plan-inner-item-content::before {
    content: '';
    position: absolute;
    width: calc(130 * var(--width));
    height: 2px;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--black03);
    z-index: -1;
}
.plan-inner .title-inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: calc(250 * var(--width));
}
.plan-inner .title-en {
    font-size: calc(16 * var(--width));
    font-weight: 600;
    text-align: center;
    font-family: "Noto Serif JP", serif;
}
.plan-inner .title-en.plan-title-en {
    color: var(--gold);
    font-size: calc(48 * var(--width));
    font-weight: 600;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    padding-bottom: calc(8 * var(--width));
}
.plan-inner-item-content-list {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
}
.plan-inner-item-content-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: calc(10 * var(--width)) 0;
    position: relative;
    z-index: 1;
}
.plan-inner-item-content-list-item::before {
    position: absolute;
    content: '';
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(248 * var(--width));
    height: 2px;
    background: url('../images/line09.webp') no-repeat center center / contain;
    z-index: -1;
}
.plan-inner-item-content-list-item p {
    color: var(--gold);
    font-size: calc(16 * var(--width));
    font-weight: 600;
    line-height: 1.8;
    font-family: "Noto Serif JP", serif;
}
.plan-inner-item-content-list-item p span {
    color: var(--gold);
    font-size: calc(24 * var(--width));
    font-weight: 600;
    line-height: 1.8;
    font-family: "Noto Serif JP", serif;
}
.plan-title-en-flex {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: calc(6 * var(--width)) 0;
}
.plan-title-en-flex > p {
    color: var(--gold);
    font-size: calc(16 * var(--width));
    font-weight: 600;
    line-height: 1.0;
    font-family: "Noto Serif JP", serif;
}
.plan-title-en-flex-price {
    display: flex;
    justify-content: center;
    align-items: baseline;
}
.plan-title-en-flex-price p:nth-of-type(1) {
    color: var(--gold);
    font-size: calc(20 * var(--width));
    font-weight: 500;
    line-height: 1.1;
    font-family: "Noto Serif JP", serif;
    writing-mode: vertical-rl;
    text-orientation: upright;
    margin-right: calc(8 * var(--width));
}
.plan-title-en-flex-price p:nth-of-type(2) {
    color: var(--gold);
    font-size: calc(48 * var(--width));
    font-weight: 500;
    line-height: 1.1;
    font-family: "Noto Serif JP", serif;
}
.plan-title-en-flex-price p:nth-of-type(3) {
    color: var(--gold);
    font-size: calc(16 * var(--width));
    font-weight: 500;
    line-height: 1.1;
    font-family: "Noto Serif JP", serif;
}
.plan-inner-item-content-list-item p.plan-inner-item-content-list-item-text02 {
    line-height: 1;
    text-align: center;
    font-size: calc(16 * var(--width));
}

.faq {
    width: calc(1200 * var(--width));
    margin: calc(170 * var(--width)) auto 0;
    background: var(--black05);
    padding: calc(40 * var(--width)) calc(50 * var(--width)) calc(50 * var(--width));
    background-color: var(--black05);
    border: 1px solid var(--gold);
}
.faq .title-jp {
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.50);
}
.faq-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: calc(8 * var(--width));
    padding-top: calc(40 * var(--width));
}
.faq-inner-item {
    padding: calc(24 * var(--width)) calc(40 * var(--width));
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    background: linear-gradient(90deg, #272725 0%, #313332 50%, #272725 100%);
    overflow: hidden;
    transition: height 0.3s ease;
    height: auto;
    border: 2px solid #3F3830;
}
.faq-inner-item-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: calc(30 * var(--width));
    width: 100%;
    position: relative;
    padding-right: calc(65 * var(--width));
}
.faq-inner-item-title p:nth-of-type(1) {
    color: var(--gold);
    font-size: calc(32 * var(--width));
    font-weight: 600;
    line-height: 1;
    font-family: "Orbitron", sans-serif;
    width: calc(42 * var(--width));
    height: calc(42 * var(--width));
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid var(--gold);
    border-radius: calc(3 * var(--width));
}
.faq-inner-item-title p:nth-of-type(2) {
    color: var(--gold);
    font-size: calc(20 * var(--width));
    font-weight: 600;
    line-height: 1.5;
    font-family: "Noto Serif JP", serif;
    margin-left: auto;
    padding-top: calc(6 * var(--width));
    width: calc(885 * var(--width));
}
.faq-inner-item-title-arrow {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: calc(42 * var(--width));
    height: calc(42 * var(--width));
    position: absolute;
    right: 0;
    top: 0;
    background: var(--black02);
    border-radius: calc(3 * var(--width));
    cursor: pointer;
}
.faq-inner-item-title-arrow::before {
    position: absolute;
    content: '';
    width: calc(36 * var(--width));
    height: calc(36 * var(--width));
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: calc(3 * var(--width));
    border: 2px solid var(--gold);
}
.faq-inner-item-title-arrow span {
    position: absolute;
    width: calc(18 * var(--width));
    height: 2px;
    background: var(--gold);
}
.faq-inner-item-title-arrow span:nth-of-type(1) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform 0.3s ease;
}
.faq-inner-item.open .faq-inner-item-title-arrow span:nth-of-type(1) {
    transform: translate(-50%, -50%) rotate(0deg);
}
.faq-inner-item-title-arrow span:nth-of-type(2) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.faq-inner-item-content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    padding-right: calc(65 * var(--width));
}
.faq-inner-item-content > p:nth-of-type(1) {
    color: var(--black06);
    font-size: calc(32 * var(--width));
    font-weight: 600;
    line-height: 1;
    font-family: "Orbitron", sans-serif;
    width: calc(42 * var(--width));
    height: calc(42 * var(--width));
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--gold);
    border: 2px solid var(--gold);
    border-radius: calc(3 * var(--width));
}
.faq-inner-item-content > p:nth-of-type(2) ,
.faq-inner-item-content .faq-inner-item-content-text {
    color: var(--gold);
    font-size: calc(16 * var(--width));
    font-weight: 600;
    line-height: 1.8;
    font-family: "Noto Serif JP", serif;
    margin-left: auto;
    padding-top: calc(6 * var(--width));
    width: calc(885 * var(--width));
}

.voice {
    padding-top: calc(80 * var(--width));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
}
.voice .title-jp {
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.50);
}
.voice-slider {
    padding-top: calc(40 * var(--width));
}
.voice-slider-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    /* width: calc(333 * var(--width)); */
    height: calc(506 * var(--width));
    padding: calc(32 * var(--width));
    transition: all 0.3s ease;
    background: url('../images/voice-bg.webp') no-repeat center center / contain;
}
.voice-slider-item-img {
    width: 100%;
    height: auto;
    padding-bottom: calc(16 * var(--width));
    border-bottom: 1px solid var(--black02);
    display: flex;
    justify-content: center;
    align-items: center;
}
.voice-slider-item-img img {
    width: calc(126 * var(--width));
    height: auto;
}
.voice-slider-item-title {
    font-size: calc(24 * var(--width));
    font-weight: 600;
    line-height: 1.5;
    font-family: "Noto Sans JP", serif;
    margin-top: calc(13 * var(--width));
    margin-bottom: calc(8 * var(--width));
    height: calc(108 * var(--width));
}
.voice-slider-item-text {
    font-size: calc(14 * var(--width));
    font-weight: 300;
    line-height: 1.5;
    font-family: "Noto Sans JP", serif;
    height: calc(168 * var(--width));
    margin-bottom: calc(16 * var(--width));
}
.voice-slider-item-text p {
    font-family: "Noto Sans JP", serif;
}
.voice-slider-item-info {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
}
.voice-slider-item-info img {
    width: calc(48 * var(--width));
    height: calc(48 * var(--width));
    object-fit: cover;
    object-position: center;
    border-radius: calc(3 * var(--width));
}
.voice-slider-item-info-text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-left: calc(10 * var(--width));
}
.voice-slider-item-info-text p:nth-of-type(1) {
    color: var(--black02);
    font-size: calc(14 * var(--width));
    font-weight: 300;
    line-height: 1.5;
    font-family: "Noto Sans JP", serif;
}
.voice-slider-item-info-text p:nth-of-type(2) {
    color: var(--black02);
    font-size: calc(14 * var(--width));
    font-weight:300;
    line-height: 1.5;
    font-family: "Noto Sans JP", serif;
}
.swiper-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding-top: calc(45 * var(--width));
    gap: calc(30 * var(--width));
}
.swiper-arrow-prev,
.swiper-arrow-next {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(42 * var(--width));
    height: calc(42 * var(--width));
    background: var(--black02);
    border-radius: calc(3 * var(--width));
    cursor: pointer;
    position: relative;
}
.swiper-arrow-prev::before,
.swiper-arrow-next::before {
    position: absolute;
    content: '';
    width: calc(36 * var(--width));
    height: calc(36 * var(--width));
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: calc(3 * var(--width));
    border: 2px solid var(--gold02);
}
.swiper-arrow-prev img,
.swiper-arrow-next img {
    width: calc(20 * var(--width));
    height: auto;
}

footer {
    padding: calc(56 * var(--width)) calc(80 * var(--width)) 0;
    background: var(--black07);
}
.footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding-bottom: calc(100 * var(--width));
}
.footer-inner-left {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.footer-inner-left-logo {
    width: calc(113 * var(--width));
}
.footer-inner-left-logo img {
    width: 100%;
    height: auto;
    display: block;
}
.footer-inner-left-text {
    color: var(--gold);
    font-size: calc(16 * var(--width));
    font-weight: 400;
    line-height: 2.0;
    font-family: "Noto Serif JP", serif;
    padding: calc(26 * var(--width)) calc(10 * var(--width));
}
.footer-inner-right {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    padding-top: calc(106 * var(--width));
}
.footer-inner-right-item {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding-left: calc(30 * var(--width));
    position: relative;
    margin-left: calc(140 * var(--width));
    gap: calc(37 * var(--width));
}
.footer-inner-right-item::before {
    position: absolute;
    content: '';
    width: 2px;
    height: 100%;
    left: 0;
    top: 0;
    background: url('../images/footer-line01.webp') no-repeat center center / contain;
}
.footer-inner-right-item li {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding-top: calc(5 * var(--width));
}
.footer-inner-right-item-link {
    color: var(--gold);
    font-size: calc(16 * var(--width));
    font-weight: 400;
    line-height: 1.0;
    font-family: "Noto Serif JP", serif;
    text-decoration: none;
    position: relative;
    padding-left: calc(20 * var(--width));
    margin-bottom: calc(16 * var(--width));
}
.footer-inner-right-item-link::before {
    position: absolute;
    content: '';
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: calc(12 * var(--width));
    height: 1px;
    background: var(--gold);
}
.footer-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding-top: calc(26 * var(--width));
    padding-bottom: calc(26 * var(--width));
    position: relative;
}
.footer-bottom::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: url('../images/footer-line02.webp') no-repeat center center / contain;
}
.footer-bottom p {
    color: var(--white);
    font-size: calc(16 * var(--width));
    font-weight: 400;
    line-height: 1.0;
    letter-spacing: 0.05em;
    font-family: "Noto Sans JP", serif;
}
.menu-btn {
    display: none;
}
.menu {
    display: none;
}

/* お問い合わせ */
.fv.sub-fv {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}
.fv.sub-fv::before {
    display: none;
}
.sub-contact .title-en {
    color: var(--gold);
}
.sub-contact .title-jp {
    color: var(--gold);
}
.sub-contact-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    padding: calc(70 * var(--width)) 0;
    position: relative;
}
.sub-contact-inner-form {
    width: 80%;
    background: var(--cream02);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: calc(60 * var(--width)) calc(60 * var(--width));
    margin-top: calc(60 * var(--width));
}
.sub-contact-inner-form .wpcf7  {
    width: 100%;
}
.sub-contact-form-item {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 0 calc(20 * var(--width));
    gap: calc(10 * var(--width));
}
.sub-contact-form-item p {
    color: var(--black02);
    font-size: calc(20 * var(--width));
    font-weight: 500;
    line-height: 1.5;
    font-family: "Noto Sans JP", serif;
    width: 100%;
}
.sub-contact-form-item p span {
    color: #dc3232;
    font-size: calc(20 * var(--width));
    font-weight: 500;
    line-height: 1.5;
    font-family: "Noto Sans JP", serif;
}
.sub-contact-form-item input[type="text"],
.sub-contact-form-item input[type="email"],
.sub-contact-form-item input[type="tel"],
.sub-contact-form-item input[type="number"],
.sub-contact-form-item select {
    width: 100%;
    padding: calc(10 * var(--width));
    outline: none;
    border: 1px solid var(--black02);
    border-radius: calc(1 * var(--width));
    font-size: calc(20 * var(--width));
    font-weight: 400;
    line-height: 1.5;
    font-family: "Noto Sans JP", serif;
    background: var(--white);
}
.sub-contact-form-item textarea {
    width: 100%;
    height: calc(400 * var(--width));
    padding: calc(10 * var(--width));
    outline: none;
    border: 1px solid var(--black02);
    border-radius: calc(1 * var(--width));
    font-size: calc(20 * var(--width));
    font-weight: 400;
    line-height: 1.5;
    font-family: "Noto Sans JP", serif;
    background: var(--white);
}
.sub-contact-form-item-checkbox {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: calc(40 * var(--width)) 0;
}
.sub-contact-form-item p:nth-of-type(1), .sub-contact-form-item p:nth-of-type(1) span {
    display: flex;
    width: auto;
    padding: 0px;
}
.sub-contact-form-item p:nth-of-type(2), .sub-contact-form-item p:nth-of-type(2) span {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0px;
}
.sub-contact-form-item-checkbox p:nth-of-type(2), .sub-contact-form-item-checkbox p:nth-of-type(2) span {
    flex-direction: row;
    width: unset;
    padding: 0px;
}
.sub-contact-form-item p span.wpcf7-list-item-label {
    display: none;
}
.sub-contact-form-btn {
    width: calc(200 * var(--width));
    padding: calc(10 * var(--width));
    background: var(--black05);
    color: var(--white);
    font-size: calc(20 * var(--width));
    font-weight: 400;
    line-height: 1.5;
    font-family: "Noto Sans JP", serif;
    border-radius: calc(1 * var(--width));
    outline: none;
    border: none;
    cursor: pointer;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* プライバシーポリシー */
.sub-privacy .title-en {
    color: var(--gold);
}
.sub-privacy .title-jp {
    color: var(--gold);
}
.sub-privacy-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    padding: calc(70 * var(--width)) 0;
    position: relative;
}
.sub-privacy-inner-form {
    width: 80%;
    background: var(--cream02);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: calc(60 * var(--width)) calc(60 * var(--width));
    margin-top: calc(60 * var(--width));
}
.sub-privacy-inner-form p,
.sub-privacy-inner-form ol,
.sub-privacy-inner-form ul {
    padding-bottom: calc(40 * var(--width));
}
.sub-privacy-inner-form ol,
.sub-privacy-inner-form ul {
    padding-left: calc(20 * var(--width));
}
.sub-privacy-inner-form ol ol,
.sub-privacy-inner-form ol ul,
.sub-privacy-inner-form ul ol,
.sub-privacy-inner-form ul ul {
    padding-top: calc(20 * var(--width));
    padding-bottom: 0;
}
.sub-privacy-inner-form h2,
.sub-privacy-inner-form li {
    padding-bottom: calc(16 * var(--width));
}


@media (max-width: 780px) {
    .btn {
        width: calc(290 * var(--width));
        font-size: calc(22 * var(--width));
    }
    header {
        padding: calc(10 * var(--width)) calc(35 * var(--width));
    }
    .header-inner-nav {
        display: none;
    }
    .header-inner-logo {
        width: calc(180 * var(--width));
    }
    .fv {
        width: 100%;
        padding: calc(175 * var(--width)) 0 0;
    }
    .fv-inner h2 {
        font-size: calc(48 * var(--width));
    }
    .fv-inner-text {
        font-size: calc(26 * var(--width));
        line-height: 1.8;
        padding-bottom: calc(60 * var(--width));
    }
    .fv-inner-slider {
        padding: calc(100 * var(--width)) 0 calc(60 * var(--width));
    }
    .line02 {
        animation: lineMiddle01Sp 1s ease;
        animation-delay: 0.5s;
        animation-fill-mode: forwards;
    }
    .line05 {
        animation: lineMiddle02Sp 1s ease;
        animation-delay: 0.5s;
        animation-fill-mode: forwards;
    }
    .bg {
        padding-top: calc(2375 * var(--width));
    }
    .bg::before {
        position: absolute;
        content: '';
        top: 0;
        left: 0;
        width: 100%;
        height: calc(2375 * var(--width));
        background: var(--cream02);
    }
    .youtube {
        padding-left: calc(0 * var(--width));
        padding-right: calc(0 * var(--width));
        padding-top: calc(125 * var(--width));
    }
    .youtube-inner {
        padding-top: calc(125 * var(--width));
        padding-bottom: calc(100 * var(--width));
        padding-left: calc(90 * var(--width));
        padding-right: calc(65 * var(--width));
        padding: 0;
        flex-direction: column-reverse;
        height: auto;
        /* background: url(../images/bg01.webp) no-repeat top right / 130%; */
        background: var(--cream03);
        margin: 0 auto;
        width: 75%;
        border-radius: calc(16 * var(--width));
        overflow: hidden;
    }
    .youtube-inner::after {
        display: none;
    }
    .youtube-inner::before {
        display: none;
    }
    .youtube-inner-left {
        flex-direction: row;
        flex-wrap: wrap;
        padding: calc(40 * var(--width));
    }
    .youtube-inner-left h2 {
        font-size: calc(34 * var(--width));
        margin-bottom: calc(20 * var(--width));
    }
    .youtube-inner-right {
        width: 100%;
        padding-bottom: calc(25 * var(--width));
        padding: calc(0 * var(--width));
    }
    .youtube-inner-right img,
    .youtube-inner-right iframe {
        height: calc(350 * var(--width));
        border-radius: calc(0 * var(--width));
    }
    .youtube-inner-left p {
        font-size: calc(26 * var(--width));
        line-height: 1.8;
        padding-bottom: calc(24 * var(--width));
    }
    .youtube-inner-left .btn {
        font-size: calc(24 * var(--width));
        width: 100%;
        padding: calc(20 * var(--width)) 0;
    }
    .problem {
        padding-top: calc(70 * var(--width));
    }
    .problem-inner {
        flex-direction: column;
        gap: 0;
    }
    .problem-inner-item {
        width: calc(660 * var(--width));
        height: calc(550 * var(--width));
        background: url(../images/bg02.webp) no-repeat center center / contain;
        padding-bottom: calc(80 * var(--width));
    }
    .problem-inner-item img {
        height: calc(280 * var(--width));
    }
    .problem-inner-item p {
        font-size: calc(36 * var(--width));
    }
    .about {
        align-items: center;
        padding: calc(140 * var(--width)) 0;
    }
    .about .title {
        align-items: center;
    }
    .about-inner {
        flex-direction: column-reverse;
        align-items: center;
    }
    .about-inner-left {
        width: 90%;
    }
    .about-inner-left p {
        font-size: calc(26 * var(--width));
    }
    .point-inner {
        background: url(../images/bg-scroll-sp.webp) no-repeat center top / cover;
        width: 100%;
        padding-top: calc(150 * var(--width));
        padding-bottom: calc(210 * var(--width));
    }
    .point-inner:nth-of-type(even) {
        background: url(../images/bg-scroll02-sp.webp) no-repeat center top / cover;
        width: 100%;
    }
    .point-inner-text {
        width: calc(750 * var(--width));
        width: 100%;
        align-items: flex-end;
    }
    .point-inner:nth-of-type(1) .point-inner-text {
        margin-left: 0;
    }
    .point-inner:nth-of-type(3) .point-inner-text {
        margin-left: 0;
    }
    .point-inner:nth-of-type(even) .point-inner-text {
        align-items: flex-start;
        padding-left: 0;
    }
    .point-inner-text-title {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        padding-left: calc(45 * var(--width));
        padding: 0 0 calc(40 * var(--width));
    }
    .point-inner-text-title p {
        font-size: calc(30 * var(--width));
        padding: calc(14 * var(--width)) calc(20 * var(--width));
    }
    .point-inner-text-title h2 {
        font-size: calc(38 * var(--width));
        padding-top: calc(40 * var(--width));
    }
    .point-inner-img {
        width: 97%;
        /* height: auto; */
        height: calc(470 * var(--width));
        position: relative;
        /* border-radius: calc(10 * var(--width)); */
        border-radius: calc(26 * var(--width));
        margin: 0 auto;
    }
    .point-inner:nth-of-type(even) .point-inner-img {
        /* 中央配置のため角丸は.point-inner-imgで統一 */
    }
    .point-inner-img .frame-img {
        top: 0;
        left: 0;
        width: 100%;
        height: calc(470 * var(--width));
        border-radius: calc(26 * var(--width));
    }
    .point-inner:nth-of-type(even) .point-inner-img .frame-img {
        /* 中央配置のため動画も全て統一 */
    }
    .point-inner-text-detail {
        font-size: calc(30 * var(--width));
        /* color: var(--gold); */
        width: 100%;
        padding-top: calc(30 * var(--width));
    }
    .line08 {
        padding-left: calc(45 * var(--width));
        padding-right: calc(45 * var(--width));
    }
    .trial {
        width: 90%;
        height: auto;
        padding-bottom: calc(64 * var(--width));
    }
    .trial-text {
        font-size: calc(26 * var(--width));
    }
    .benefits-inner {
        flex-direction: column;
        width: 100%;
    }
    .benefits-inner-item {
        width: calc(680 * var(--width));
        padding: calc(20 * var(--width)) calc(20 * var(--width));
        gap: calc(26 * var(--width));
    }
    .benefits-inner-item img {
        width: calc(80 * var(--width));
    }    
    .benefits-inner-item-text h3 {
        font-size: calc(30 * var(--width));
    }
    .benefits-inner-item-text p {
        font-size: calc(26 * var(--width));
    }
    .plan-inner {
        flex-wrap: wrap;
        gap: calc(90 * var(--width)) calc(16 * var(--width));
    }
    .plan-inner .title-en {
        font-size: calc(26 * var(--width));
    }
    .plan-inner-item {
        width: calc(340 * var(--width));
    }
    .plan-title-en-flex > p,
    .plan-inner-item-content-list-item p,
    .plan-inner-item-content-list-item p.plan-inner-item-content-list-item-text02 {
        font-size: calc(26 * var(--width));
    }
    .plan-inner-item-content-list-item p span {
        font-size: calc(32 * var(--width));
    }
    .plan-bg {
        width: 100%;
    }
    .faq {
        width: 90%;
    }
    .faq-inner-item-title {
        justify-content: flex-start;
    }
    .faq-inner-item-title p:nth-of-type(2) {
        width: auto;
        margin-left: calc(20 * var(--width));
        font-size: calc(26 * var(--width));
    }
    .faq-inner-item-content > p:nth-of-type(2),
    .faq-inner-item-content .faq-inner-item-content-text {
        width: auto;
        margin-left: calc(20 * var(--width));
        font-size: calc(26 * var(--width));
    }
    .voice-slider-item {
        height: auto;
        padding: calc(60 * var(--width));
    }
    .voice-slider-item-title {
        font-size: calc(26 * var(--width));
    }
    .voice-slider-item-text {
        font-size: calc(26 * var(--width));
        height: auto;
    }
    .voice-slider-item-info-text p:nth-of-type(1) {
        font-size: calc(26 * var(--width));
    }
    .voice-slider-item-info-text p:nth-of-type(2) {
        font-size: calc(26 * var(--width));
    }
    .swiper-arrow-prev, .swiper-arrow-next {
        width: calc(68 * var(--width));
        height: calc(68 * var(--width));
    }
    .swiper-arrow-prev::before, .swiper-arrow-next::before {
        width: calc(56 * var(--width));
        height: calc(56 * var(--width));
    }
    footer {
        padding: calc(56 * var(--width)) calc(50 * var(--width)) 0;
    }
    .footer-inner {
        flex-direction: column;
    }
    .footer-inner-left-logo {
        width: calc(180 * var(--width));
    }
    .footer-inner-left-text {
        font-size: calc(26 * var(--width));
    }
    .footer-inner-right {
        padding-top: calc(21 * var(--width));
        gap: calc(40 * var(--width));
        flex-direction: column;
    }
    .footer-inner-right-item {
        margin-left: 0;
    }
    .footer-inner-right-item-link {
        font-size: calc(26 * var(--width));
        margin-bottom: calc(26 * var(--width));
    }
    .menu-btn {
        display: flex;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: calc(16 * var(--width));
        right: calc(20 * var(--width));
        width: calc(80 * var(--width));
        height: calc(80 * var(--width));
        z-index: 100;
    }
    .menu-btn span {
        width: calc(60 * var(--width));
        height: 2px;
        background: var(--gold);
        margin-bottom: calc(5 * var(--width));
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        transition: all 0.3s ease;
    }
    .menu-btn span:nth-of-type(1) {
        top: calc(20 * var(--width));
    }
    .menu-btn span:nth-of-type(2) {
        top: calc(41 * var(--width));
    }
    .menu-btn span:nth-of-type(3) {
        top: calc(62 * var(--width));
    }
    .menu-btn.open span:nth-of-type(1) {
        transform: rotate(-45deg) translateX(-50%);
    }
    .menu-btn.open span:nth-of-type(2) {
        opacity: 0;
    }
    .menu-btn.open span:nth-of-type(3) {
        transform: rotate(45deg) translateX(-50%);
    }

    .menu {
        display: flex;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: var(--black08);
        z-index: 99;
        padding: calc(175 * var(--width)) calc(50 * var(--width)) 0;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }
    .menu.open {
        opacity: 1;
        visibility: visible;
    }
    .menu-inner {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: calc(46 * var(--width));
        width: 100%;
    }
    .menu-inner-wrapper {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: calc(24 * var(--width));
        padding: calc(100 * var(--width)) 0 0;
    }
    .menu-inner-wrapper a {
        color: var(--gold);
        text-decoration: none;
        font-size: calc(40 * var(--width));
        font-weight: 600;
        line-height: 1.5;
    }
    .menu-inner-contact {
        width: calc(490 * var(--width));
        font-size: calc(32 * var(--width));
        padding: calc(25 * var(--width)) 0;
    }
    .menu-inner-contact.btn::before {
        width: calc(100% - calc(6 * var(--width)));
        height: calc(100% - calc(6 * var(--width)));
    }

    @keyframes lineMiddle01Sp {
        0% {
            width: 0;
        }
        100% {
            width: calc(497 * var(--width));
        }
    }
    @keyframes lineMiddle02Sp {
        0% {
            width: 0;
        }
        100% {
            width: calc(185 * var(--width));
        }
    }

    /* お問い合わせ */
    .sub-contact-inner-form {
        width: 90%;
        padding: calc(45 * var(--width)) calc(45 * var(--width));
    }
    .sub-contact-form-item p {
        font-size: calc(26 * var(--width));
    }
    .sub-contact-form-item p span {
        font-size: calc(26 * var(--width));
    }
    .sub-contact-form-item input[type="text"],
    .sub-contact-form-item input[type="email"],
    .sub-contact-form-item input[type="tel"],
    .sub-contact-form-item input[type="number"],
    .sub-contact-form-item select {
        font-size: calc(26 * var(--width));
    }
    .sub-contact-form-item textarea {
        font-size: calc(26 * var(--width));
    }
    .sub-contact-form-item-checkbox {
        padding: calc(30 * var(--width)) 0;
    }
    .sub-contact-form-item-checkbox p:nth-of-type(2), .sub-contact-form-item-checkbox p:nth-of-type(2) span {
        font-size: calc(26 * var(--width));
    }
    .sub-contact-form-btn {
        width: calc(180 * var(--width));
        font-size: calc(26 * var(--width));
    }

    /* プライバシーポリシー */
    .sub-privacy-inner-form {
        width: 90%;
        padding: calc(45 * var(--width)) calc(45 * var(--width));
    }
    .sub-privacy-inner-form h2 {
        font-size: calc(36 * var(--width));
    }
    .sub-privacy-inner-form p {
        font-size: calc(26 * var(--width));
    }
    .sub-privacy-inner-form ol,
    .sub-privacy-inner-form ul {
        font-size: calc(26 * var(--width));
        padding-left: calc(30 * var(--width));
    }
}