﻿:root {
    --lp--black: #22242f;
    --lp--middle-gray: #595c64;
    --lp--navy-gradient: linear-gradient(315deg, #1d2537 0%, #5c6990 50%, #1d2537 100%);
    --lp--gray-gradient: linear-gradient(315deg, #353637 0%, #a1a2a2 50%, #353637 100%);
    --lp--primary: #0e234b
}

#martha-app,
.container,
.wrapper {
    width: 100%;
    max-width: none;
    padding: 0
}

.wrapper {
    margin-bottom: 0
}

.lp__wrap *,
.lp__wrap *::before,
.lp__wrap *::after {
    margin: 0;
    padding: 0;
    width: auto;
    height: auto;
    list-style: none;
    text-decoration: none;
    box-sizing: border-box;
    letter-spacing: .02em;
    font-family: Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "MS PGothic", sans-serif;
    font-weight: normal;
    float: none;
    color: var(--lp--black)
}

.lp__wrap *::before,
.lp__wrap *::after,
.lp__wrap *::before::before,
.lp__wrap *::before::after,
.lp__wrap *::after::before,
.lp__wrap *::after::after {
    content: "";
    display: block
}

.lp__wrap h2,
.lp__wrap h3 {
    letter-spacing: .04em
}

.lp__wrap a {
    cursor: pointer
}

.lp__wrap a:hover {
    text-decoration: none
}

.lp__wrap a:hover picture,
.lp__wrap a:hover img {
    opacity: 1
}

.lp__wrap a:has(picture),
.lp__wrap a:has(img) {
    display: block
}

.lp__wrap a:has(picture) picture,
.lp__wrap a:has(picture) img,
.lp__wrap a:has(img) picture,
.lp__wrap a:has(img) img {
    transition: inherit
}

.lp__wrap button {
    cursor: pointer;
    border: 0;
    background-color: rgba(0, 0, 0, 0)
}

.lp__wrap picture,
.lp__wrap img {
    display: block
}

.lp__wrap iframe {
    aspect-ratio: 16/9;
    background-color: #ccc
}

.lp__wrap {
    width: 100%;
    overflow-x: hidden;
    overflow-x: clip
}

.lp__wrap .lp__row {
    width: min(1230px, 100%);
    margin: 0 auto;
    padding: 0 15px
}

.lp__wrap .lp__kv picture {
    display: block;
    width: 100%
}

.lp__wrap .lp__kv picture img {
    height: 100%;
    width: 100%
}

.lp__wrap .lp__nav {
    background-color: #f7f7f7
}

.lp__wrap .lp__nav .lp__row {
    /*width: min(930px, 100%);*/
    display: flex;
    flex-direction: column
}

.lp__wrap .lp__nav ul {
    display: grid;
    width: 100%
}

.lp__wrap .lp__nav a {
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    font-weight: bold;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    position: relative;
    transition: .3s
}

.lp__wrap .lp__nav__main a {
    background-color: var(--lp--black);
    flex-direction: column
}

.lp__wrap .lp__nav__main a::after {
    content: "";
    display: block;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(45deg)
}

@media(hover: hover) {
    .lp__wrap .lp__nav__main a:hover {
        background-color: #3c4562
    }
}

/*.lp__wrap .lp__nav__sub {
    grid-template-columns: repeat(2, 1fr)
}

.lp__wrap .lp__nav__sub li:first-of-type a {
    background-color: #a09159
}

@media(hover: hover) {
    .lp__wrap .lp__nav__sub li:first-of-type a:hover {
        background-color: #907f40
    }
}

.lp__wrap .lp__nav__sub li:last-of-type a {
    background-color: #e293a1
}

@media(hover: hover) {
    .lp__wrap .lp__nav__sub li:last-of-type a:hover {
        background-color: #c76b7c
    }
}*/

/*20260723*/
.lp__wrap .lp__nav__sub {
    grid-template-columns: repeat(3, 1fr)
}

.lp__wrap .lp__nav__sub li:nth-of-type(1) a {
    background-color: #a09159
}

@media(hover: hover) {
    .lp__wrap .lp__nav__sub li:nth-of-type(1) a:hover {
        background-color: #907f40
    }
}

.lp__wrap .lp__nav__sub li:nth-of-type(2) a {
    background-color: #e293a1
}

@media(hover: hover) {
    .lp__wrap .lp__nav__sub li:nth-of-type(2) a:hover {
        background-color: #c76b7c
    }
}

.lp__wrap .lp__nav__sub li:nth-of-type(3) a {
    background-color: #745E48
}

@media(hover: hover) {
    .lp__wrap .lp__nav__sub li:nth-of-type(3) a:hover {
        background-color: #664525
    }
}

.lp__wrap .lp__nav__sub a::after {
    content: "";
    display: block;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg)
}

.lp__wrap .lp__lead {
    text-align: center
}

.lp__wrap .lp__lead h1 {
    font-weight: bold;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif
}

.lp__wrap .lp__styling {
    display: flex;
    flex-direction: column
}

.lp__wrap .lp__styling>div {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

.lp__wrap .lp__styling>div>div span {
    color: #fff;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center
}

.lp__wrap .lp__styling>div>div:first-of-type span {
    background-color: var(--lp--black)
}

.lp__wrap .lp__styling>div>div:last-of-type span {
    background-color: var(--lp--middle-gray)
}

.lp__wrap .lp__styling li {
    display: grid
}

.lp__wrap .lp__styling li::before {
    content: "※"
}

.lp__wrap .lp__features-list {
    display: flex;
    flex-direction: column
}

.lp__wrap .lp__features-list h2 {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    font-weight: bold;
    color: var(--lp--middle-gray);
    border-bottom: 1px solid var(--lp--middle-gray)
}

.lp__wrap .lp__features-list h3 {
    font-weight: bold;
    display: flex
}

.lp__wrap .lp__features-list ul {
    display: flex;
    flex-direction: column
}

.lp__wrap .lp__features-list li {
    display: flex;
    flex-direction: column
}

.lp__wrap .lp__service {
    text-align: center
}

.lp__wrap .lp__service h2 {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    font-weight: bold
}

.lp__wrap .lp__service a {
    font-weight: bold;
    color: #8b1111;
    text-decoration: underline
}

.lp__wrap .lp__tab-list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: min(900px, 100%);
    margin: 0 auto
}

.lp__wrap .lp__tab-list li:first-of-type button[aria-selected=false],
.lp__wrap .lp__tab-list li:first-of-type a {
    background: var(--lp--navy-gradient)
}

.lp__wrap .lp__tab-list li:nth-of-type(2) button[aria-selected=false],
.lp__wrap .lp__tab-list li:nth-of-type(2) a {
    background: var(--lp--gray-gradient)
}

.lp__wrap .lp__tab-list li:last-of-type button[aria-selected=false],
.lp__wrap .lp__tab-list li:last-of-type a {
    background-color: var(--lp--black)
}

.lp__wrap .lp__tab-list button,
.lp__wrap .lp__tab-list a {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%
}

.lp__wrap .lp__tab-list button[aria-selected=true],
.lp__wrap .lp__tab-list a[aria-selected=true] {
    background-color: #fff;
    position: relative
}

.lp__wrap .lp__tab-list button[aria-selected=true]::before,
.lp__wrap .lp__tab-list button[aria-selected=true]::after,
.lp__wrap .lp__tab-list a[aria-selected=true]::before,
.lp__wrap .lp__tab-list a[aria-selected=true]::after {
    content: "";
    display: block;
    height: 2px;
    width: 100vw;
    background-color: var(--lp--black);
    position: absolute;
    bottom: 0;
    z-index: -1
}

.lp__wrap .lp__tab-list button[aria-selected=true]::before,
.lp__wrap .lp__tab-list a[aria-selected=true]::before {
    left: -100vw
}

.lp__wrap .lp__tab-list button[aria-selected=true]::after,
.lp__wrap .lp__tab-list a[aria-selected=true]::after {
    right: -100vw
}

.lp__wrap .lp__tab-list button[aria-selected=false],
.lp__wrap .lp__tab-list a[aria-selected=false] {
    color: #fff
}

.lp__wrap .lp__tab-list button[aria-selected=false] img,
.lp__wrap .lp__tab-list a[aria-selected=false] img {
    filter: brightness(10)
}

.lp__wrap .lp__tab-list button {
    border: 2px solid var(--lp--black);
    border-bottom: none
}

.lp__wrap .lp__tab-list a {
    color: #fff;
    position: relative
}

.lp__wrap .lp__tab-list a::after {
    content: "";
    display: block;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    transform: rotate(-45deg);
    position: absolute
}

.lp__wrap .lp__tab-list a img {
    filter: brightness(10)
}

.lp__wrap .lp__panel-list {
    width: min(900px, 100%);
    position: relative
}

.lp__wrap .lp__panel-list .panel[aria-hidden=false] {
    position: relative
}

.lp__wrap .lp__panel-list .panel[aria-hidden=true] {
    position: absolute;
    height: 0;
    overflow-y: hidden
}

.lp__wrap .lp__panel-list li div:first-of-type {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

.lp__wrap .lp__panel-list li div:last-of-type {
    background-color: #f7f7f7
}

.lp__wrap .lp__panel-list button {
    display: flex;
    flex-direction: column;
    align-items: center
}

.lp__wrap .lp__panel-list button p {
    font-weight: bold;
    text-align: center
}

.lp__wrap .lp__panel-list button p:has(img) {
    display: flex;
    align-items: center;
    justify-content: center
}

.lp__wrap .lp__style__modalWindow {
    display: none;
    opacity: 0;
    position: relative
}

.lp__wrap .lp__style__modalWindow.is-active {
    display: flex;
    justify-content: center;
    align-items: center;
    animation: modalWindow .2s forwards;
    position: fixed;
    overscroll-behavior: contain;
    overflow-y: scroll;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(30, 30, 30, .84)
}

.lp__wrap .lp__style__modalWindow.is-active::before {
    content: "";
    display: block;
    width: 1px;
    height: calc(100vh + 1px);
    background-color: rgba(0, 0, 0, 0);
    overflow-y: scroll;
    opacity: 0
}

@keyframes modalWindow {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.lp__wrap .lp__style__modalWindow div[data-style-modal-item] {
    display: none;
    background-color: #fff
}

.lp__wrap .lp__style__modalWindow div[data-style-modal-item].is-active {
    display: block
}

.lp__wrap .lp__style__modalWindow div[data-style-modal-item].is-hidden {
    display: none
}

.lp__wrap .lp__style__modalWindow div[data-style-modal-item] span {
    font-weight: bold
}

.lp__wrap .lp__style__modalWindow div[data-style-modal-item]>span {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff
}

.lp__wrap .lp__style__modalWindow div[data-style-modal-item]:nth-of-type(odd)>span {
    background-color: var(--lp--middle-gray)
}

.lp__wrap .lp__style__modalWindow div[data-style-modal-item]:nth-of-type(even)>span {
    background-color: var(--lp--black)
}

.lp__wrap .lp__modalBtn {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 12px
}

.lp__wrap .lp__modalBtn span {
    background-color: #fff;
    height: 1px;
    width: 100%;
    transform-origin: center
}

.lp__wrap .lp__modalBtn span:first-of-type {
    transform: rotate(45deg)
}

.lp__wrap .lp__modalBtn span:last-of-type {
    transform: rotate(-45deg)
}

.lp__wrap .lp__set h2 {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    font-weight: bold;
    text-align: center
}

.lp__wrap .lp__set ul li {
    display: grid
}

.lp__wrap .lp__set ul li::before {
    content: "※"
}

.lp__wrap .lp__set__main {
    display: grid
}

.lp__wrap .lp__set__main p {
    background-color: var(--lp--black);
    color: #fff;
    text-align: center;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center
}

.lp__wrap .lp__set__main p span {
    color: inherit;
    font-family: inherit;
    font-weight: inherit
}

.lp__wrap .lp__plan {
    text-align: center
}

.lp__wrap .lp__plan h2 {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    font-weight: bold
}

.lp__wrap .lp__plan h2 span {
    font-family: inherit;
    font-weight: inherit
}

.lp__wrap .lp__plan picture {
    background-color: #efefef
}

.lp__wrap .lp__reasons {
    text-align: center
}

.lp__wrap .lp__reasons h2 {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    font-weight: bold
}

.lp__wrap .lp__reasons h2 span {
    font-family: inherit;
    font-weight: inherit
}

.lp__wrap .lp__reasons h3 {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    width: 100%;
    font-weight: bold;
    border: double 4px #a09159;
    display: flex;
    justify-content: center;
    align-items: center
}

.lp__wrap .lp__flow {
    background-color: #efefef
}

.lp__wrap .lp__flow h2 {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    font-weight: bold;
    text-align: center
}

.lp__wrap .lp__flow h3 {
    font-weight: bold
}

.lp__wrap .lp__shop {
    background-color: #efefef
}

.lp__wrap .lp__shop h2 {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    font-weight: bold;
    text-align: center
}

.lp__wrap .lp__terms-of-use {
    background-color: #efefef
}

.lp__wrap .lp__terms-of-use h2 {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    font-weight: bold;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    word-break: keep-all;
    white-space: pre
}

.lp__wrap .lp__terms-of-use h2::before,
.lp__wrap .lp__terms-of-use h2::after {
    content: "";
    display: block;
    border-bottom: double 4px #303242;
    height: 1px;
    width: 100%
}

.lp__wrap .lp__terms-of-use .lp__row>ul {
    display: flex;
    flex-direction: column
}

.lp__wrap .lp__terms-of-use .lp__row>ul>li {
    counter-increment: count;
    display: grid
}

.lp__wrap .lp__terms-of-use .lp__row>ul>li::before {
    content: counter(count) ".";
    text-align: right
}

.lp__wrap .lp__terms-of-use .lp__row>ul>li ul,
.lp__wrap .lp__terms-of-use .lp__row>ul>li p {
    grid-column: 2/3
}

.lp__wrap .lp__terms-of-use .lp__row>ul>li li {
    counter-increment: countSecond
}

.lp__wrap .lp__terms-of-use .lp__row>ul>li li::before {
    content: "（" counter(countSecond) "）"
}

.lp__wrap .lp__terms-of-use .date {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    text-align: right
}

.lp__wrap .lp__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 0 auto;
    border: 2px solid #a09159;
    border-radius: 50vw;
    font-weight: bold;
    text-decoration: none;
    transition: .3s ease-in
}

.lp__wrap .lp__btn::after {
    content: "";
    display: block;
    position: absolute;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    transition: inherit
}

.lp__wrap .lp__btn--fill {
    background-color: #a09159;
    color: #fff
}

.lp__wrap .lp__btn--fill::after {
    background-color: #fff
}

@media(hover: hover) {
    .lp__wrap .lp__btn--fill:hover {
        background-color: #fff;
        color: #a09159
    }

    .lp__wrap .lp__btn--fill:hover::after {
        background-color: #a09159
    }
}

@media screen and (min-width: 769px) {
    .lp__wrap .lp__kv {
        height: 500px
    }

    .lp__wrap .lp__kv picture,
    .lp__wrap .lp__kv img {
        height: 100%
    }

    .lp__wrap .lp__nav {
        padding: 20px 0
    }

    .lp__wrap .lp__nav .lp__row {
        gap: 12px
    }

    .lp__wrap .lp__nav ul {
        gap: 12px
    }

    .lp__wrap .lp__nav a {
        font-size: 15px;
        line-height: 130%
    }

    .lp__wrap .lp__nav a::after {
        width: 8px;
        height: 8px
    }

    .lp__wrap .lp__nav__main {
        grid-template-columns: repeat(6, 1fr)
    }

    .lp__wrap .lp__nav__main a {
        height: 80px;
        gap: 4px
    }

    .lp__wrap .lp__nav__sub a {
        height: 46px;
        position: relative
    }

    .lp__wrap .lp__nav__sub a::after {
        position: absolute;
        right: 22px
    }

    .lp__wrap .lp__lead {
        margin-top: 100px
    }

    .lp__wrap .lp__lead h1 {
        font-size: 40px
    }

    .lp__wrap .lp__lead p {
        font-size: 18px;
        line-height: 180%;
        margin-top: 22px
    }

    .lp__wrap .lp__lead .kome {
        font-size: 14px;
        color: #8b1111;
        margin-top: 10px
    }

    .lp__wrap .lp__features {
        width: min(1108px, 100%);
        margin: 90px auto 0;
        display: grid;
        grid-template-columns: 544px 532px;
        gap: 34px
    }

    .lp__wrap .lp__styling {
        gap: 12px
    }

    .lp__wrap .lp__styling>div {
        gap: 12px
    }

    .lp__wrap .lp__styling span {
        height: 36px;
        font-size: 16px
    }

    .lp__wrap .lp__styling li {
        font-size: 12px;
        grid-template-columns: 12px auto
    }

    .lp__wrap .lp__features-list {
        gap: 26px
    }

    .lp__wrap .lp__features-list h2 {
        font-size: 22px;
        padding-bottom: 4px
    }

    .lp__wrap .lp__features-list h3 {
        font-size: 17px;
        align-items: center;
        gap: 10px
    }

    .lp__wrap .lp__features-list p {
        font-size: 14px
    }

    .lp__wrap .lp__features-list ul {
        gap: 20px
    }

    .lp__wrap .lp__features-list li {
        gap: 8px
    }

    .lp__wrap .lp__service {
        margin-top: 120px
    }

    .lp__wrap .lp__service h2 {
        font-size: 44px
    }

    .lp__wrap .lp__service p {
        font-size: 14px;
        line-height: 180%;
        margin-top: 24px
    }

    .lp__wrap .lp__service a {
        font-size: 14px;
        margin-top: 8px
    }

    .lp__wrap .lp__item {
        margin-top: 70px
    }

    .lp__wrap .lp__tab-list ul {
        gap: 14px
    }

    .lp__wrap .lp__tab-list button,
    .lp__wrap .lp__tab-list a {
        font-size: 26px;
        line-height: 100%;
        gap: 9px
    }

    .lp__wrap .lp__tab-list button img,
    .lp__wrap .lp__tab-list a img {
        height: 7px
    }

    .lp__wrap .lp__tab-list button {
        height: 90px;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px
    }

    .lp__wrap .lp__tab-list a {
        height: 80px
    }

    .lp__wrap .lp__tab-list a::after {
        width: 8px;
        height: 8px;
        right: 22px
    }

    .lp__wrap .lp__tab-list.links {
        margin-top: 46px
    }

    .lp__wrap .lp__panel-list {
        margin: 46px auto 0
    }

    .lp__wrap .lp__panel-list ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 20px
    }

    .lp__wrap .lp__panel-list li>div:last-of-type {
        margin-top: 12px;
        padding: 10px
    }

    .lp__wrap .lp__panel-list li>div:last-of-type p {
        font-size: 12px;
        line-height: 170%
    }

    .lp__wrap .lp__panel-list picture {
        margin-bottom: 8px
    }

    .lp__wrap .lp__panel-list button p:has(img) {
        gap: 4px
    }

    .lp__wrap .lp__style__modalWindow div[data-style-modal-item]>span {
        font-size: 16px;
        height: 28px;
        margin: 12px 16px 6px
    }

    .lp__wrap .lp__style__modalWindow div[data-style-modal-item] div {
        margin: 0 16px 12px
    }

    .lp__wrap .lp__modalBtn {
        left: calc(50% + 180px - 12px);
        top: calc(50% - 300px - 16px)
    }

    .lp__wrap .lp__set {
        width: min(1108px, 100%);
        margin: 120px auto 0
    }

    .lp__wrap .lp__set h2 {
        font-size: 44px
    }

    .lp__wrap .lp__set ul {
        margin-top: 24px
    }

    .lp__wrap .lp__set li {
        font-size: 12px;
        line-height: 160%;
        grid-template-columns: 12px auto
    }

    .lp__wrap .lp__set__main {
        margin: 64px auto 0;
        grid-template-columns: 328px 250px 250px 250px;
        grid-template-rows: repeat(2, 252px) auto;
        gap: 10px
    }

    .lp__wrap .lp__set__main p {
        height: 62px;
        font-size: 20px
    }

    .lp__wrap .lp__set__main p span {
        font-size: 12px
    }

    .lp__wrap .lp__set__main [data-suit-set=main] {
        grid-row: 1/4
    }

    .lp__wrap .lp__set__main [data-suit-set=main] p {
        flex-direction: column
    }

    .lp__wrap .lp__set__main [data-suit-set=price] {
        grid-column: 2/5
    }

    .lp__wrap .lp__plan {
        margin-top: 120px
    }

    .lp__wrap .lp__plan h2 {
        font-size: 62px;
        line-height: 120%
    }

    .lp__wrap .lp__plan h2 span {
        font-size: 44px
    }

    .lp__wrap .lp__plan picture {
        padding-top: 30px;
        padding-bottom: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 48px
    }

    .lp__wrap .lp__reasons {
        margin-top: 100px
    }

    .lp__wrap .lp__reasons h2 {
        font-size: 62px;
        line-height: 140%
    }

    .lp__wrap .lp__reasons h2 span {
        font-size: 45px
    }

    .lp__wrap .lp__reasons ul {
        gap: 40px 20px;
        margin-top: 60px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center
    }

    .lp__wrap .lp__reasons li {
        width: calc(33.3333333333% - 13.3333333333px)
    }

    .lp__wrap .lp__reasons h3 {
        border-radius: 16px;
        height: 132px;
        font-size: 28px;
        line-height: 140%;
        margin-bottom: 16px
    }

    .lp__wrap .lp__reasons p {
        font-size: 16px;
        line-height: 170%
    }

    .lp__wrap .lp__reasons p span {
        font-size: 12px;
        line-height: 130%;
        display: inline-block;
        margin-top: 10px
    }

    .lp__wrap .lp__flow {
        padding-top: 100px;
        padding-bottom: 160px;
        margin-top: 80px
    }

    .lp__wrap .lp__flow h2 {
        font-size: 62px
    }

    .lp__wrap .lp__flow ul {
        width: min(980px, 100%);
        margin: 40px auto 0;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px
    }

    .lp__wrap .lp__flow li {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px
    }

    .lp__wrap .lp__flow li .step {
        height: 33px
    }

    .lp__wrap .lp__flow li .step-round {
        height: 150px
    }

    .lp__wrap .lp__flow h3 {
        font-size: 26px
    }

    .lp__wrap .lp__flow p {
        font-size: 16px;
        line-height: 160%;
        margin-top: 8px
    }

    .lp__wrap .lp__flow p span {
        font-size: 12px;
        line-height: 150%;
        display: inline-block;
        margin-top: 6px
    }

    .lp__wrap .lp__shop {
        padding-bottom: 100px
    }

    .lp__wrap .lp__shop .lp__row {
        width: min(930px, 100%)
    }

    .lp__wrap .lp__shop h2 {
        font-size: 50px
    }

    .lp__wrap .lp__shop p {
        font-size: 16px;
        margin-top: 10px
    }

    .lp__wrap .lp__shop .lp__btn {
        margin-top: 40px
    }

    .lp__wrap .lp__terms-of-use {
        padding-bottom: 100px
    }

    .lp__wrap .lp__terms-of-use h2 {
        gap: 20px;
        font-size: 24px
    }

    .lp__wrap .lp__terms-of-use .lp__row {
        width: min(100%, 1030px)
    }

    .lp__wrap .lp__terms-of-use .lp__row>ul {
        margin-top: 40px;
        gap: 16px
    }

    .lp__wrap .lp__terms-of-use .lp__row>ul>li {
        grid-template-columns: 24px auto;
        gap: 6px
    }

    .lp__wrap .lp__terms-of-use li {
        font-size: 14px;
        line-height: 176%
    }

    .lp__wrap .lp__terms-of-use li p {
        font-size: inherit;
        line-height: inherit
    }

    .lp__wrap .lp__terms-of-use .date {
        font-size: 14px;
        margin-top: 10px
    }

    .lp__wrap .lp__terms-of-use .lp__btn {
        margin-top: 40px
    }

    .lp__wrap .lp__btn {
        width: 464px;
        height: 70px;
        font-size: 18px
    }

    .lp__wrap .lp__btn::after {
        right: 28px;
        width: 15px;
        height: 18px
    }

    .lp__wrap .show_sp {
        display: none
    }
}

@media screen and (max-width: 768px) {
    .lp__wrap .lp__kv picture {
        height: 91.09vw
    }

    .lp__wrap .lp__nav .lp__row {
        padding-top: 20px;
        padding-bottom: 20px
    }

    .lp__wrap .lp__lead {
        margin-top: min(8vw, 50px)
    }

    .lp__wrap .lp__lead h1 {
        font-size: clamp(17px, 5.33vw, 36px)
    }

    .lp__wrap .lp__lead p {
        font-size: clamp(12px, 3.33vw, 15px);
        margin-top: 16px
    }

    .lp__wrap .lp__lead .kome {
        font-size: 3vw;
        color: #8b1111;
        text-align: left
    }

    .lp__wrap .lp__features {
        margin-top: clamp(20px, 4.44vw, 40px)
    }

    .lp__wrap .lp__styling {
        width: min(544px, 100%);
        margin: 0 auto
    }

    .lp__wrap .lp__styling>div {
        gap: 12px
    }

    .lp__wrap .lp__styling>div>div span {
        font-size: clamp(11px, 2.89vw, 16px);
        height: clamp(26px, 6.67vw, 36px)
    }

    .lp__wrap .lp__styling ul {
        margin-top: 10px
    }

    .lp__wrap .lp__styling li {
        font-size: clamp(11px, 2.67vw, 13px);
        grid-template-columns: clamp(11px, 2.67vw, 13px) auto
    }

    .lp__wrap .lp__features-list {
        margin-top: clamp(38px, 9.78vw, 72px)
    }

    .lp__wrap .lp__features-list h2 {
        font-size: clamp(18px, 4.89vw, 30px);
        padding-bottom: 4px
    }

    .lp__wrap .lp__features-list ul {
        margin-top: clamp(12px, 3.11vw, 16px);
        gap: clamp(14px, 3.56vw, 16px)
    }

    .lp__wrap .lp__features-list li {
        gap: clamp(8px, 1.78vw, 10px)
    }

    .lp__wrap .lp__features-list h3 {
        font-size: clamp(16px, 3.78vw, 22px);
        align-items: center;
        gap: 8px
    }

    .lp__wrap .lp__features-list p {
        font-size: clamp(12px, 2.89vw, 15px)
    }

    .lp__wrap .lp__service {
        margin-top: clamp(58px, 14.22vw, 80px)
    }

    .lp__wrap .lp__service h2 {
        font-size: clamp(23px, 5.78vw, 34px)
    }

    .lp__wrap .lp__service p,
    .lp__wrap .lp__service a {
        font-size: clamp(12px, 2.89vw, 14px)
    }

    .lp__wrap .lp__service p {
        margin-top: clamp(16px, 3.56vw, 20px);
        margin-bottom: 10px
    }

    .lp__wrap .lp__item {
        margin-top: clamp(24px, 6.22vw, 44px)
    }

    .lp__wrap .lp__tab-list ul {
        width: calc(100% - 30px);
        gap: 4px
    }

    .lp__wrap .lp__tab-list button,
    .lp__wrap .lp__tab-list a {
        height: clamp(42px, 10.67vw, 54px);
        font-size: clamp(14px, 3.56vw, 17px);
        padding-top: 4px
    }

    .lp__wrap .lp__tab-list button img,
    .lp__wrap .lp__tab-list a img {
        height: clamp(6px, 1.33vw, 8px)
    }

    .lp__wrap .lp__tab-list button {
        border-top-left-radius: clamp(10px, 2.22vw, 12px);
        border-top-right-radius: clamp(10px, 2.22vw, 12px)
    }

    .lp__wrap .lp__tab-list a::after {
        width: 6px;
        height: 6px;
        right: 20px
    }

    .lp__wrap .lp__tab-list.links {
        margin-top: clamp(40px, 10.67vw, 72px)
    }

    .lp__wrap .lp__tab-list.links ul {
        display: flex;
        flex-direction: column
    }

    .lp__wrap .lp__panel-list {
        width: calc(100% - 30px);
        margin: clamp(28px, 6.67vw, 46px) auto 0
    }

    .lp__wrap .lp__panel-list ul {
        display: flex;
        flex-direction: column;
        gap: clamp(32px, 8vw, 40px)
    }

    .lp__wrap .lp__panel-list li div:last-of-type {
        margin-top: clamp(8px, 1.78vw, 10px);
        padding: 10px
    }

    .lp__wrap .lp__panel-list li div:last-of-type p {
        font-size: clamp(10px, 8vw, 12px)
    }

    .lp__wrap .lp__panel-list button picture {
        margin-bottom: clamp(8px, 1.78vw, 10px)
    }

    .lp__wrap .lp__panel-list button p {
        font-size: clamp(11px, 2.67vw, 16px)
    }

    .lp__wrap .lp__panel-list button p:has(img) {
        gap: 4px
    }

    .lp__wrap .lp__panel-list button p img {
        height: clamp(12px, 2.89vw, 14px)
    }

    .lp__wrap .lp__style__modalWindow div[data-style-modal-item] {
        width: min(70%, 360px);
        max-height: 90vh;
        overflow-y: scroll
    }

    .lp__wrap .lp__style__modalWindow div[data-style-modal-item]>span {
        margin: 10px 12px 0
    }

    .lp__wrap .lp__style__modalWindow div[data-style-modal-item] div {
        margin: 6px 12px 10px
    }

    .lp__wrap .lp__modalBtn {
        left: calc(50% + min(70%, 360px)/2 - 12px);
        top: calc(50% - min(118.4vw, 580px)/2 - 16px)
    }

    .lp__wrap .lp__set {
        margin-top: clamp(48px, 14.22vw, 72px)
    }

    .lp__wrap .lp__set h2 {
        font-size: clamp(22px, 6vw, 38px);
        line-height: 150%
    }

    .lp__wrap .lp__set ul {
        margin-top: 36px
    }

    .lp__wrap .lp__set li {
        font-size: clamp(10px, 8vw, 12px);
        grid-template-columns: clamp(10px, 8vw, 12px) auto
    }

    .lp__wrap .lp__set__main {
        gap: 5px;
        grid-template-columns: calc(42% - 3.3333333333px) repeat(2, calc(29% - 3.3333333333px));
        margin-top: clamp(18px, 4.89vw, 34px)
    }

    .lp__wrap .lp__set__main div {
        display: flex;
        flex-direction: column
    }

    .lp__wrap .lp__set__main div[data-suit-set=main] {
        grid-row: 1/4
    }

    .lp__wrap .lp__set__main div[data-suit-set=price] {
        grid-column: 1/4;
        grid-row: 6/7
    }

    .lp__wrap .lp__set__main p {
        height: clamp(48px, 14.67vw, 106px);
        flex-direction: column;
        font-size: clamp(10px, 2.89vw, 18px)
    }

    .lp__wrap .lp__set__main p span {
        font-size: clamp(8px, 2.22vw, 13px)
    }

    .lp__wrap .lp__set__main picture,
    .lp__wrap .lp__set__main img {
        width: 100%;
        margin-top: auto
    }

    .lp__wrap .lp__plan {
        margin-top: clamp(40px, 10.67vw, 80px)
    }

    .lp__wrap .lp__plan h2 {
        font-size: clamp(22px, 6vw, 38px);
        line-height: 130%
    }

    .lp__wrap .lp__plan h2 span {
        font-size: clamp(17px, 4.44vw, 28px)
    }

    .lp__wrap .lp__plan picture {
        margin-top: clamp(22px, 5.33vw, 34px);
        padding-top: 25px;
        padding-right: 20px;
        padding-left: 20px;
        padding-bottom: 25px
    }

    .lp__wrap .lp__reasons {
        margin-top: clamp(40px, 10.67vw, 80px)
    }

    .lp__wrap .lp__reasons h2 {
        font-size: clamp(22px, 6vw, 38px);
        line-height: 130%
    }

    .lp__wrap .lp__reasons h2 span {
        font-size: clamp(17px, 4.44vw, 28px)
    }

    .lp__wrap .lp__reasons ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        row-gap: 22px;
        column-gap: clamp(6px, 1.78vw, 14px);
        margin-top: clamp(20px, 5.33vw, 32px)
    }

    .lp__wrap .lp__reasons h3 {
        font-size: clamp(14px, 4.44vw, 26px);
        line-height: 140%;
        height: clamp(98px, 28.89vw, 190px);
        border-radius: clamp(20px, 4.89vw, 24px)
    }

    .lp__wrap .lp__reasons p {
        text-align: left;
        font-size: clamp(11px, 2.67vw, 13px);
        margin-top: 10px
    }

    .lp__wrap .lp__reasons p span {
        font-size: clamp(10px, 2.44vw, 12px);
        display: inline-block;
        margin-top: 4px
    }

    .lp__wrap .lp__flow {
        margin-top: clamp(50px, 12.44vw, 80px);
        padding-top: clamp(32px, 8.89vw, 50px);
        padding-bottom: clamp(50px, 12.44vw, 80px)
    }

    .lp__wrap .lp__flow h2 {
        font-size: clamp(22px, 6vw, 38px)
    }

    .lp__wrap .lp__flow ul {
        margin-top: clamp(26px, 6.22vw, 40px);
        display: flex;
        flex-direction: column;
        gap: clamp(24px, 6.67vw, 48px)
    }

    .lp__wrap .lp__flow li {
        display: grid;
        grid-template-columns: clamp(80px, 24.44vw, 150px) auto;
        grid-template-rows: clamp(28px, 7.11vw, 40px) clamp(18px, 4.89vw, 27px) auto;
        gap: clamp(14px, 3.11vw, 20px);
        position: relative
    }

    .lp__wrap .lp__flow li:first-child::before,
    .lp__wrap .lp__flow li:nth-child(2)::before {
        content: "";
        display: block;
        width: 100%;
        background-image: url(../_img/arrow.svg);
        background-size: 6px auto;
        background-position: center bottom;
        background-repeat: no-repeat;
        order: 3;
        grid-row: 3/4;
        grid-column: 1/2;
        position: relative;
        bottom: calc(-1*clamp(24px, 6.67vw, 48px)/1.5)
    }

    .lp__wrap .lp__flow li:first-child h3,
    .lp__wrap .lp__flow li:nth-child(2) h3 {
        order: 4;
        grid-row: 2/3
    }

    .lp__wrap .lp__flow li:first-child p,
    .lp__wrap .lp__flow li:nth-child(2) p {
        order: 5;
        grid-row: 3/4
    }

    .lp__wrap .lp__flow li:last-child h3 {
        order: 3;
        grid-row: 2/3
    }

    .lp__wrap .lp__flow li:last-child p {
        order: 4;
        grid-row: 3/4
    }

    .lp__wrap .lp__flow .step {
        order: 2;
        grid-column: 2/3;
        height: clamp(28px, 7.11vw, 40px)
    }

    .lp__wrap .lp__flow .step-round {
        order: 1;
        grid-row: 1/2;
        position: relative;
        z-index: 2;
        background-color: #efefef;
        padding-bottom: 10px;
        width: 100%;
        aspect-ratio: 1/1
    }

    .lp__wrap .lp__flow h3 {
        grid-column: 2/3;
        font-size: clamp(18px, 4.89vw, 27px)
    }

    .lp__wrap .lp__flow p {
        grid-column: 2/3;
        font-size: clamp(12px, 2.89vw, 16px);
        line-height: 180%
    }

    .lp__wrap .lp__shop h2 {
        font-size: clamp(22px, 6vw, 38px);
        line-height: 140%
    }

    .lp__wrap .lp__shop p {
        font-size: clamp(12px, 2.89vw, 16px);
        margin-top: 10px
    }

    .lp__wrap .lp__shop .lp__btn {
        margin-top: clamp(18px, 4.44vw, 28px)
    }

    .lp__wrap .lp__terms-of-use {
        padding-top: clamp(60px, 15.11vw, 80px);
        padding-bottom: clamp(60px, 15.11vw, 80px)
    }

    .lp__wrap .lp__terms-of-use h2 {
        font-size: clamp(18px, 4.44vw, 26px);
        gap: 20px
    }

    .lp__wrap .lp__terms-of-use h2::before,
    .lp__wrap .lp__terms-of-use h2::after {
        width: 60px
    }

    .lp__wrap .lp__terms-of-use .lp__row>ul {
        margin-top: clamp(32px, 7.11vw, 40px);
        gap: 16px;
        margin-bottom: 10px
    }

    .lp__wrap .lp__terms-of-use .lp__row>ul>li {
        grid-template-columns: calc(clamp(12px, 2.67vw, 14px)*2) auto;
        gap: 4px
    }

    .lp__wrap .lp__terms-of-use .lp__row>ul>li ul,
    .lp__wrap .lp__terms-of-use .lp__row>ul>li p {
        font-size: clamp(12px, 2.67vw, 14px);
        line-height: 180%
    }

    .lp__wrap .lp__terms-of-use .date {
        font-size: clamp(12px, 2.67vw, 14px)
    }

    .lp__wrap .lp__terms-of-use .lp__btn {
        margin-top: clamp(18px, 4.44vw, 28px)
    }

    .lp__wrap .lp__btn {
        width: clamp(400px, 80%, 464px);
        height: min(70px, 15.56vw);
        font-size: min(18px, clamp(14px, 4vw, 18px))
    }

    .lp__wrap .lp__btn::after {
        right: min(28px, 4vw);
        height: min(16px, 3.5vw);
        width: min(14px, 3vw)
    }

    .lp__wrap .show_pc {
        display: none
    }

    .lp__wrap .show_sp {
        display: block
    }
}

@media screen and (max-width: 768px)and (min-width: 451px) {
    .lp__wrap .lp__nav .lp__row {
        gap: 8px
    }

    .lp__wrap .lp__nav ul {
        gap: 8px
    }

    .lp__wrap .lp__nav a {
        height: clamp(66px, 14.67vw, 72px);
        font-size: clamp(12px, 2.67vw, 14px);
        gap: 4px
    }

    .lp__wrap .lp__nav a::after {
        width: 7px;
        height: 7px
    }

    .lp__wrap .lp__nav__main {
        grid-template-columns: repeat(3, 1fr)
    }

    .lp__wrap .lp__nav__sub a {
        position: relative
    }

    .lp__wrap .lp__nav__sub a::after {
        position: absolute;
        right: clamp(5px, 1.11vw, 12px)
    }

    .lp__wrap .lp__panel-list li div:first-of-type {
        gap: 12px
    }
}

@media screen and (max-width: 450px) {
    .lp__wrap .lp__nav .lp__row {
        gap: clamp(6px, 1.5vw, 8px)
    }

    .lp__wrap .lp__nav ul {
        gap: clamp(6px, 1.5vw, 8px)
    }

    .lp__wrap .lp__nav a {
        height: min(64px, 18vw);
        gap: 4px
    }

    .lp__wrap .lp__nav a::after {
        width: 6px;
        height: 6px
    }

    .lp__wrap .lp__nav__main {
        grid-template-columns: repeat(2, 1fr)
    }

    /*20260723*/
    .lp__wrap .lp__nav__sub {
        grid-template-columns: repeat(2, 1fr)
    }

    .lp__wrap .lp__nav__sub li:nth-of-type(3) {
        grid-column: 1 / 3;
        width: calc(50% - clamp(3px, 0.75vw, 4px));
        margin: 0 auto;
    }

    .lp__wrap .lp__nav__sub a {
        position: relative
    }

    .lp__wrap .lp__nav__sub a::after {
        position: absolute;
        right: 6px
    }

    .lp__wrap .lp__btn {
        width: 100%
    }
}

@media screen and (max-width: 380px) {
    .lp__wrap .lp__modalBtn {
        top: calc(50% - 65vw - 16px)
    }
}

/*# sourceMappingURL=style.css.map */
.aa-ssi_wrap {
    display: block !important;
    margin: 100px auto;
    text-align: center;
}

.aa-ssi_copy {
    font-size: 24px !important;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
    margin-bottom: 10px;
    position: relative;
    text-align: center;
}

.aa-ssi_copy:before,
.aa-ssi_copy:after {
    position: absolute;
    display: inline-block;
    content: "";
    background: #1a1a1a;
    width: 2px;
    height: 32px;
    vertical-align: middle;
}

.aa-ssi_copy:before {
    margin: 6px -25px;
    transform: rotate(-35deg);
}

.aa-ssi_copy:after {
    margin: 6px 20px;
    transform: rotate(35deg);
}

.aa-ssi_wrap picture {
    display: inline-block;
}

.aa-ssi_text {
    font-size: 15px;
    margin-top: 10px;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "MS PGothic", sans-serif;
    line-height: 1.8;
}

.aa-ssi_text a {
    color: #1a1a1a;
    text-decoration: underline !important;
    transition: 0.3s;
}

.aa-ssi_text a:hover {
    text-decoration: underline;
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    .aa-ssi_wrap {
        margin: 12vw auto;
    }

    .aa-ssi_copy {
        font-size: 4vw !important;
        margin-bottom: 1.33vw;
    }

    .aa-ssi_copy:before,
    .aa-ssi_copy:after {
        width: 2px;
        height: 4.5vw;
    }

    .aa-ssi_copy:before {
        margin: 1vw -4vw;
    }

    .aa-ssi_copy:after {
        margin: 1vw 2.67vw;
    }

    .aa-ssi_link {
        width: 100% !important;
    }

    .aa-ssi_text {
        margin-top: 1.33vw;
        text-align: left;
        font-size: 3.33vw;
        line-height: 1.7;
    }
}

.size_ttl {
    font-size: 44px;
    margin-top: 60px;
    text-align: center;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", "MS PGothic", serif;
}

.size_list {
    max-width: 1200px;
    display: flex;
    justify-content: center;
    margin: 20px auto;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "MS PGothic", sans-serif;
}

.size_list li {
    font-size: 26px;
    margin-left: 15px;
    margin-right: 15px;
}

.size_list li span {
    font-size: 26px;
    color: #fff;
    background-color: #303242;
    padding: 5px;
    margin-right: 10px;
}

@media (max-width: 768px) {
    .size_ttl {
        font-size: 7vw;
        line-height: 1.4;
        font-weight: bold;
        margin-top: 16%;
    }

    .size_list {
        max-width: 768px;
        width: 90%;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin: 8% auto;
    }

    .size_list li {
        width: 40%;
        font-size: 4vw;
        margin: 0 5% 6%;
        text-align: left;
    }

    .size_list li span {
        font-size: 4vw;
        margin-right: 10px;
        padding: 10px;
    }
}

.btn_reserve {
    margin-top: 65px !important;
    text-align: center;
}

.btn_appoint {
    margin-top: 20px !important;
    text-align: center;
}

.btn_reserve a,
.btn_appoint a {
    font-size: 18px;
    text-decoration: underline !important;
    transition: .3s;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "MS PGothic", sans-serif;
    color: #22242f;
}

.btn_reserve a:hover,
.btn_appoint a:hover {
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    .btn_reserve {
        margin-top: -4vw !important;
    }

    .btn_appoint {
        margin-top: 3vw !important;
    }

    .btn_reserve a,
    .btn_appoint a {
        font-size: 4vw;
    }
}