.main {
    position: relative;
    z-index: 1;
}

/* mv */
.mv {
    opacity: 0;
    transition-duration: .5s;
}
.mv.fade {
    opacity: 1;
}
@media screen and (max-width: 968px) {
    .mv {
        background: url(../images/mv-sp-bg.webp) no-repeat;
        background-position: center top;
        background-size: cover;
        margin: 0 0 45px;
        padding-top: 69px;
    }
    .mv img {
        width: 100%;
        max-width: none;
    }
}
/* cp */
.cp.mr {
    padding: 0 0 100px;
}
.cp-head {
    margin: 0 0 20px;
    text-align: center;
}
.cp-head h2 {
    color: #2F8BC4;
    font-size: 30px;
    font-weight: 400;
}
.cp-sub__head h2 {
    color: #00243B;
    font-size: 22px;
    font-weight: bold;
}
.cp-sub__head.w h2 {
    color: #fff;
}
.cp-head.w h2 {
    color: #fff;
}
.cp-banner {
    background: url(../images/cp-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    border-bottom: 4px solid;
    border-top: 4px solid;
    border-image:  linear-gradient(96deg, rgba(0,98,163,1) 0%, rgba(90,171,211,1) 55%, rgba(109,227,205,1) 100%) 1;
    margin: 0 auto;
    padding: 25px 20px 15px;
    text-align: center;
    width: 100%;
    max-width: 900px;
}
.cp2 .cp-banner {
    border-bottom: 0;
    padding: 25px 0 0;
}
.cp-banner.no-bg {
    background: none;
    border: 0;
    padding: 0;
}
.cp.full .cp-banner {
    max-width: none;
}
.cp-fukidashi {
    margin: 0 0 15px;
    padding: 25px 0 0;
    text-align: center;
}
.cp-fukidashi p {
    color: #00243B;
    font-size: 30px;
    font-weight: 500;
}
.cp-fukidashi p span {
    color: #00243B;
    font-size: 30px;
    font-weight: 500;
}
.cp-banner__head {
    margin: 0 auto;
    width: 100%;
    max-width: 730px;
}
.cp-banner__btn a {
    background: rgb(227,128,128);
    background: linear-gradient(53deg, rgba(227,128,128,1) 0%, rgba(231,146,136,1) 46%, rgba(248,211,167,1) 100%);
    border-radius: 50px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 22px;
    font-weight: bold;
    height: 50px;
    margin: 0 auto;
    transition-duration: .3s;
    width: 100%;
    max-width: 340px;
}
.cp-banner__btn a:hover {
    background: #fff;
    border: 1px solid #E38080;
    color: #E38080;
}
.cp-date {
    color: #00243B;
    font-size: 14px;
    margin: 20px 0 0;
}
.cp-banner__bottom .cp-date {
    margin-top: 8px;
}
.cp-banner__bottom {
    margin: 15px 0 0;
}
.cp-banner__bottom2 {
    background: rgb(0,98,163);
    background: linear-gradient(128deg, rgba(0,98,163,1) 0%, rgba(90,171,211,1) 50%, rgba(109,227,205,1) 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 20px 0 0;
    padding: 20px 0;
}
.blue .cp-banner__bottom2 {
    background: rgb(13,0,173);
    background: linear-gradient(128deg, rgba(13,0,173,1) 0%, rgba(7,0,87,1) 100%);
}
.cp-banner__bottom p {
    color: #00243B;
    font-size: 11px;
    font-weight: 500;
    line-height: 16.5px;
}
.cp-banner__bottom p span {
    color: #FF0000;
}
.cp-banner__bottom2 p {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
}
.cp-banner__bottom2 p span {
    color: #F0DB69;
}
.cp-banner__bottom2 p.mini {
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    margin-left: 25px;
}
@media screen and (max-width: 768px) {
section.cp {
    /*margin-top: -170px;*/
}
    .cp.mr {
        padding: 0 0 45px;
    }
    .cp-head {
        margin: 0 0 10px;
    }
    .cp-head h2 {
        font-size: 22px;
    }
    .cp-fukidashi {
        margin: 0 0 10px;
        padding: 15px 0 0;
    }
    .cp-fukidashi p {
        font-size: 11px;
    }
    .cp-fukidashi p span {
        font-size: 14px;
    }
    .cp2 .cp-banner__head {
        margin: 0 auto;
        padding: 0 20px 10px;
        width: 100%;
        max-width: 255px;
    }
    .cp-banner__bottom p {
        text-align: left;
    }
    .cp-banner__btn a {
        height: 60px;
    }
    .cp-banner__bottom2 {
        text-align: center;
    }
    .cp-banner__bottom2 p {
        font-size: 16px;
    }
    .cp-banner__bottom2 p.mini {
        margin: 15px 0 0;
    }
}

/* about */
.about {
    padding: 100px 0 0;
}
.about-inner {
    padding: 0 20px;
    text-align: center;
}
.about-head {
    margin: 0 0 40px;
}
.about-head::after {
    background: url(../images/symbol-b.webp) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 36.19px;
    margin: 15px auto 0;
    width: 42.78px;
}
.about-head h2 {
    color: #2F8BC4;
    font-size: 40px;
    font-weight: 500;
}
.about-head p {
    color: #00243B;
    font-size: 22px;
    font-weight: 500;
    margin: 0 0 10px;
}
.about-image {
    margin: 0 auto;
    position: relative;
    bottom: -5px;
    width: 100%;
    max-width: 596px;
}
@media screen and (max-width: 768px) {
    .about {
        padding: 45px 0 0;
    }
    .about-head::after {
        height: 28.76px;
        width: 34px;
    }
    .about-head h2 {
        font-size: 24px;
        letter-spacing: 1px;
    }
    .about-head p {
        font-size: 16px;
        letter-spacing: 1px;
    }
}

/* change */
.change {
    padding: 100px 0;
}
.change-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1000px;
}
.change-head {
    border-bottom: 4px solid;
    border-top: 4px solid;
    border-image:  linear-gradient(96deg, rgba(0,98,163,1) 0%, rgba(90,171,211,1) 55%, rgba(109,227,205,1) 100%) 1;
    margin: 0 auto 35px;
    padding: 12px 0;
    text-align: center;
}
.change-head h2 {
    color: #00243B;
    font-size: 30px;
    font-weight: 500;
}
.change-sliders {
    margin: 0 0 15px;
    position: relative;
}
.change-slider {
    overflow: hidden;
    padding: 0 0 25px;
}
.change-text {
    background: rgb(0,98,163);
    background: linear-gradient(96deg, rgba(0,98,163,1) 0%, rgba(90,171,211,1) 55%, rgba(109,227,205,1) 100%);
    margin: 0 0 15px;
    padding: 8px 0;
    text-align: center;
}
.change-text p {
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 34px;
}
.change-image__flex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.change-image {
    width: 48.5%;
}
.change-notice {
    text-align: center;
}
.change-notice p {
    color: #00243B;
    font-size: 11px;
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    .change {
        padding: 45px 0;
    }
    .change-head {
        width: calc(100% - 40px);
    }
    .change-head h2 {
        font-size: 16px;
    }
    .change-text p {
        color: #fff;
        font-size: 18px;
    }
    .change-slider {
        padding: 0 0 80px;
    }
    .change-notice {
        padding: 0 20px;
        text-align: left;
    }
}
/* future */
.future {
    background: url(../images/future-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 100px 0;
}
.future-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1000px;
}
.future-head {
    margin: 0 0 35px;
    text-align: center;
}
.future-head::after {
    background: url(../images/symbol-w.webp) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 36.19px;
    margin: 15px auto 0;
    width: 42.78px;
}
.future-head p {
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 8px;
}
.future-head h2 {
    color: #fff;
    font-size: 45px;
    font-weight: 500;
}
.future-head h2 span {
    color: #fff;
    font-size: 60px;
    font-weight: 500;
}
.future-flex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin: 0 0 60px;
    position: relative;
}
.future-flex::after {
    background: url(../images/symbol-triangel.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    filter: drop-shadow(0 3px 20px rgb(0 0 0 / 16%));
    height: 42px;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    left: 0;
    width: 76.31px;
}
.future-item {
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    width: calc(50% - 50px);
}
.future-text {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    width: 100%;
}
.future-item:first-child .future-text {
    background: #00243B;
}
.future-item:last-child .future-text {
    background: rgb(91,171,213);
    background: linear-gradient(81deg, rgba(91,171,213,1) 0%, rgba(109,227,205,1) 100%);
}
.future-text p {
    font-size: 30px;
    font-weight: 500;
}
.future-item:first-child .future-text p {
    color: #F0DB69;
}
.future-item:last-child .future-text p {
    color: #fff;
}
.future-image {
    line-height: 0;
}

.future-bottom h3 {
    display: flex;
    align-items: center;
    font-size: 30px;
    font-weight: 500;
    margin: 0 0 25px;
}
.future-bottom h3:before,
.future-bottom h3:after {
    content: "";
    height: 2px;
    flex-grow: 1;
    background-color: #00243B;
}
.future-bottom h3:before {
    margin-right: 25px;
}
.future-bottom h3:after {
    margin-left: 25px;
}
.future-bottom__images {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.future-bottom__image {
    width: 34%;
}
@media screen and (max-width: 768px) {
    .future {
        padding: 45px 0;
    }
    .future-head {
        margin: 0 0 25px;
    }
    .future-head::after {
        height: 28.76px;
        width: 34px;
    }
    .future-head p {
        font-size: 16px;
    }
    .future-head h2 {
        font-size: 20px;
    }
    .future-head h2 span {
        font-size: 24px;
    }
    .future-flex {
        margin: 0 auto 35px;
        padding: 0 20px;
    }
    .future-flex::after {
        background-image: url(../images/symbol-triangel-sp.svg);
        height: 24px;
        width: 43.61px;
    }
    .future-item {
        width: 100%;
    }
    .future-item:first-child {
        margin: 0 0 60px;
    }
    .future-text {
        height: 52px;
    }
    .future-text p {
        font-size: 22px;
    }
    .future-bottom h3 {
        font-size: 22px;
    }
    .future-bottom__image {
        width: 100%;
    }
    .future-bottom h3:before {
        margin-right: 15px;
    }
    .future-bottom h3:after {
        margin-left: 15px;
    }
}

/* partition */
.partition {
    background: rgb(0,98,163);
    background: linear-gradient(118deg, rgba(0,98,163,1) 0%, rgba(173,238,255,1) 100%);
    padding: 45px 0;
    position: relative;
    text-align: center;
}
.partition::after {
    background-image: url(../images/partition-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}
.partition-inner {
    margin: 0 auto;
    position: relative;
    width: 100%;
    max-width: 1000px;
    z-index: 1;
}
.partition-text {
    border: 2px solid #fff;
    border-left: 0;
    border-right: 0;
    padding: 15px 0;
}
.partition-text h2 {
    color: #fff;
    font-size: 30px;
    font-weight: 500;
}
.partition-text h2 .mini {
    color: #fff;
    font-size: 22px;
    font-weight: 500;
}
.partition-text h2 .num {
    color: #F0DB69;
    font-size: 60px;
    font-weight: 500;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .partition {
        padding: 15px 0;
    }
    .partition-text {
        padding: 8px 0;
    }
    .partition-text h2 {
        font-size: 22px;
    }
    .partition-text h2 .mini {
        font-size: 18px;
    }
    .partition-text h2 .num {
        font-size: 50px;
    }
}

/* feature */
.feature {
    padding: 100px 0 65px;
}
.feature-inner {
    background: rgb(0,98,163);
    background: linear-gradient(118deg, rgba(0,98,163,1) 0%, rgba(173,238,255,1) 100%);
    filter: drop-shadow(0 0 30px rgb(0 0 0 / 20%));
    margin: 0 auto;
    padding: 50px;
    width: 96%;
    max-width: 1000px;
}
.feature-head {
    margin: 0 0 35px;
    text-align: center;
}
.feature-head p {
    color: #fff;
    font-size: 24px;
    font-weight: 500;
}
.feature-head h2 {
    color: #fff;
    font-size: 40px;
    font-weight: 500;
}
.feature-head h2 .mini {
    color: #fff;
    font-size: 24px;
    font-weight: 500;
}
.feature-head h2 .num {
    color: #F0DB69;
    font-size: 53px;
    font-weight: 500;
    line-height: 1em;
}
.feature-card {
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    filter: drop-shadow(0 3px 30px rgb(0 0 0 / 20%));
    padding: 35px 50px;
}
.feature-card:not(:last-child) {
    margin: 0 0 35px;
}
.feature-card__image {
    line-height: 0;
    width: 220px;
}
.feature-card__text {
    width: calc(100% - 255px);
}
.feature-card__ttl {
    border-bottom: 3px solid;
    border-image: linear-gradient(118deg, rgba(0, 98, 163, 1) 0%, rgba(90, 171, 211, 1) 26%, rgba(109, 227, 205, 1) 100%) 1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 40px auto;
    padding: 5px 0 10px 25px;
    position: relative;
    width: calc(100% - 85px);
}
.feature-card__ttl::before {
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    display: block;
    height: 87.4px;
    position: absolute;
    left: -85px;
    top: 0;
    width: 95.67px;
}
.feature-card:nth-child(1) .feature-card__ttl::before {
    background-image: url(../images/symbol1.webp);
}
.feature-card:nth-child(2) .feature-card__ttl::before {
    background-image: url(../images/symbol2.webp);
}
.feature-card:nth-child(3) .feature-card__ttl::before {
    background-image: url(../images/symbol3.webp);
}
.feature-card__ttl h3 {
    color: #00243B;
    font-size: 30px;
    font-weight: 500;
}
.feature-card__text p {
    color: #00243B;
    font-size: 14px;
    font-weight: 500;
}
@media screen and (max-width: 968px) {
    .feature-inner {
        padding: 60px 10px;
    }
    .feature-card {
        padding: 25px 20px;
    }
}
@media screen and (max-width: 768px) {
    .feature {
        padding: 45px 0 35px;
    }
    .feature-head p {
        font-size: 18px;
    }
    .feature-head h2 {
        font-size: 30px;
    }
    .feature-card__image {
        width: 100%;
    }
    .feature-card__image img {
        width: 100%;
    }
    .feature-card__text {
        padding: 20px 0 0;
        width: 100%;
    }
    .feature-card__ttl h3 {
        font-size: 22px;
    }
    .feature-card__ttl {
        margin: 0 0 25px auto;
        padding: 5px 0 10px;
        width: 100%;
    }
    .feature-card__ttl::before {
        height: 65.77px;
        margin-right: 15px;
        position: static;
        width: 72px;
    }
}

/* effect */
.effect {
    padding-top: 45px;
}
.effect-inner {
    margin: 0 auto;
    width: calc(100% - 40px);
    max-width: 1000px;
}
.effect-head {
    margin: 0 0 35px;
    text-align: center;
}
.effect-head::after {
    background: url(../images/symbol-w.webp) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 36.19px;
    margin: 25px auto 0;
    width: 42.78px;
}
.effect-head h2 {
    color: #fff;
    font-size: 45px;
    font-weight: 500;
}
.effect-head span {
    color: #fff;
    font-size: 60px;
    font-weight: 500;
}
.effect-head p {
    color: #fff;
    font-size: 22px;
    font-weight: 500;
}
.effect-cards {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.effect-card {
    width: 48.5%;
}
.effect-card__head {
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    margin: 0 0 10px;
    text-align: center;
    width: 100%;
}
.effect-card:first-child .effect-card__head {
    background: rgb(13,0,173);
    background: linear-gradient(55deg, rgba(13,0,173,1) 0%, rgba(7,0,87,1) 100%);
}
.effect-card:last-child .effect-card__head {
    background: rgb(36,217,183);
    background: linear-gradient(55deg, rgba(36,217,183,1) 0%, rgba(22,167,140,1) 100%);
}
.effect-card__head p {
    color: #fff;
    font-size: 24px;
    font-weight: 500;
}
.effect-card__image {
    border-radius: 0 0 10px 10px;
    filter: drop-shadow(0 3px 30px rgb(0 0 0 / 30%));
    line-height: 0;
    overflow: hidden;
}
.effect-card__text {
    margin: 20px 0 0;
}
.effect-card__text p {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.8em;
}
.effect-card__text p.notice {
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    margin: 20px 0 0;
}
@media screen and (max-width: 768px) {
    .effect {
        padding-top: 0;
    }
    .effect-head::after {
        height: 28.76px;
        width: 34px;
    }
    .effect-head h2 {
        font-size: 22px;
    }
    .effect-head span {
        font-size: 30px;
    }
    .effect-head p {
        font-size: 16px;
    }
    .effect-card {
        width: 100%;
    }
    .effect-card:not(:last-child) {
        margin: 0 0 25px;
    }
    .effect-card__text p {
        font-size: 16px;
    }
}

/* product */
.product {
    padding: 100px 0 0;
}
.product-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1000px;
}
.product-head {
    margin: 0 0 45px;
    text-align: center;
}
.product-head::before {
    background: url(../images/symbol-w.webp) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 36.19px;
    margin: 0 auto 35px;
    width: 42.78px;
}
.product-head h2 {
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 2em;
}
.product-head h2 span {
    color: #fff;
    display: inline-block;
    font-size: 24px;
    font-weight: 500;
    line-height: 2em;
}
.product-head h2 .maker {
    background:linear-gradient(transparent 78%, rgb(240 219 105 / 70%) 60%);
    color: #fff;
    font-size: 45px;
    font-weight: 500;
    line-height: 1.5em;
}
.product-image {
    margin: 0 auto 45px;
    width: 100%;
    max-width: 642px;
}
.product-slide__image {
    filter: drop-shadow(0 0 20px rgb(0 0 0 / 16%));
}
.swipe {
    display: none;
}
@media screen and (max-width: 768px) {
    .product-head::before {
        height: 28.76px;
        width: 34px;
    }
    .product-head h2 {
        font-size: 22px;
    }
    .product-head h2 span {
        font-size: 16px;
    }
    .product-head h2 .maker {
        font-size: 30px;
    }
    .product-slide {
        overflow-x: auto;
        padding: 0 20px;
    }
    .product-slide__image {
        width: 1000px;
    }
    .swipe {
        display: block;
        margin: 25px auto 0;
        width: 100%;
        max-width: 184px;
    }
}

/* aim */
.aim {
    padding: 100px 0;
}
.aim-inner {
    margin: 0 auto;
    width: calc(100% - 40px);
    max-width: 1000px;
}
.aim-head {
    margin: 0 0 45px;
    text-align: center;
}
.aim-head h2 {
    color: #00243B;
    font-size: 24px;
    font-weight: 500;
}
.aim-image {
    margin: 0 auto;
    width: 100%;
    max-width: 596px;
}
@media screen and (max-width: 768px) {
    .aim {
        padding: 45px 0;
    }
    .aim-head {
        margin: 0 0 35px;
    }
    .aim-head h2 {
        font-size: 16px;
        letter-spacing: -2px;
    }
}

/* voice */
.voice {
    padding: 0;
}
.voice-inner {
    margin: 0 auto;
    width: calc(100% - 40px);
    max-width: 1000px;
}
.voice-head {
    border: 2px solid #fff;
    border-right: 0;
    border-left: 0;
    margin: 0 0 35px;
    padding: 20px 0;
    text-align: center;
}
.voice-head h2 {
    color: #fff;
    font-size: 24px;
    font-weight: 500;
}
.voice-txt {
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    margin: 0 0 35px;
    text-align: center;
}
.voice-sliders {
    position: relative;
}
.voice-slider {
    padding: 0 0 35px;
}
.voice-slider__inner {
    align-items: stretch;
}
.voice-slide {
    background: #fff;
    border-radius: 5px;
    height: auto;
    padding: 15px;
}
.voice-slide__image {
    line-height: 0;
}
.voice-slide__text {
    padding: 10px 0;
}
.voice-slide__star {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}
.voice-slide__star .star::before {
    background: url(../images/icon-star.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 19.68px;
    width: 20px;
}
.voice-slide__text p {
    color: #00243B;
    font-size: 12px;
    font-weight: 500;
    margin: 15px 0 0;
}
.voice-google {
    margin: 45px 0 0;
    text-align: center;
}
.voice-google p {
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 1px;
}
.voice-google p .num {
    color: #F0DB69;
    font-size: 30px;
    font-weight: 500;
}
.voice-google .notice {
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    margin: 15px 0 0;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .voice-head h2 {
        font-size: 22px;
    }
    .voice-txt {
        font-size: 18px;
    }
    .voice-google p {
        font-size: 18px;
    }
    .voice-google p .num {
        font-size: 24px;
    }
    .voice-google .notice {
        text-align: left;
    }
}

/* instagram */
.instagram {
    padding: 100px 0;
}
.instagram-inner {
    margin: 0 auto;
    width: calc(100% - 40px);
    max-width: 1170px;
}
.instagram-head {
    margin: 0 0 35px;
    text-align: center;
}
.instagram-head h2 {
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    margin: 0 0 15px;
}
.instagram-head p {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}
.instagram-sliders {
    position: relative;
}
.instagram-slider {
    padding: 0 0 25px;
}
.instagram-slider__inner {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.instagram-slide {
    width: 23.5%;
}
.instagram-slider .swiper-pagination {
    display: none;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .instagram {
        padding: 45px 0;
    }
    .instagram-head h2 {
        font-size: 22px;
    }
    .instagram-slider .swiper-pagination {
        display: block;
    }
}

/* price */
.price {
    padding: 100px 0 80px;
}
.price-inner {
    margin: 0 auto;
    width: calc(100% - 40px);
    max-width: 1000px;
}
.price-head {
    margin: 0 0 25px;
    text-align: center;
}
.price-head::before {
    background: url(../images/symbol-b.webp) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 36.19px;
    margin: 0 auto 35px;
    width: 42.78px;
}
.price-head h2 {
    color: #00243B;
    font-size: 24px;
    font-weight: 500;
    margin: 0 0 20px;
}
.price-head p {
    color: #00243B;
    font-size: 16px;
    font-weight: 500;
}
.price-row:not(:last-child) {
    margin: 0 0 65px;
}
.price-row__head {
    margin: 0 0 45px;
    text-align: center;
}
.price-row__head.symbol::before {
    background: url(../images/symbol-b.webp) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 36.19px;
    margin: 0 auto 35px;
    width: 42.78px;
}
.price-row__head h3 {
    color: #00243B;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    font-weight: 500;
    margin: 0 0 25px;
}
.price-row__head h3:before,
.price-row__head h3:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #00243B;
}
.price-row__head h3:before {
    margin-right: 25px;
}
.price-row__head h3:after {
    margin-left: 25px;
}
.price-row__txt {
    color: #00243B;
    font-size: 16px;
    font-weight: 500;
    margin: 30px 0 0;
}
.price-row__tag {
    background: rgb(227,128,128);
    background: linear-gradient(78deg, rgba(227,128,128,1) 0%, rgba(231,146,136,1) 46%, rgba(248,211,167,1) 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    filter: drop-shadow(0 3px 6px rgb(0 0 0 / 16%));
    height: 33px;
    margin: 0 auto;
    text-align: center;
    width: 154px;
}
.price-row__tag p {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
}
.price-row__body {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.price-card {
    filter: drop-shadow(0 3px 30px rgb(0 0 0 / 16%));
}
.price-card.w50 {
    width: 48%;
}
.price-card.w30 {
    width: 31%;
}
.price-text {
    margin: 45px 0 0;
    text-align: center;
}
.price-text .top {
    color: #00243B;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 1px;
    margin: 0 0 20px;
}
.price-text .bottom {
    color: #00243B;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 2px;
}
.price-text .bottom .price {
    color: #00243B;
    font-size: 30px;
    font-weight: 500;
}
.price-text .notice {
    color: #00243B;
    font-size: 11px;
    font-weight: 500;
    margin: 20px 0 0;
}
@media screen and (max-width: 768px) {
    .price {
        padding: 45px 0;
    }
    .price-head h2 {
        font-size: 22px;
    }
    .price-row:not(:last-child) {
        margin: 0 0 45px;
    }
    .price-row__head {
        margin: 0 0 35px;
    }
    .price-head::before,
    .price-row__head.symbol::before {
        height: 28.76px;
        width: 34px;
    }
    .price-row__head h3 {
        font-size: 22px;
    }
    .price-row__head h3 {
        font-size: 24px;
    }
    .price-card:not(:last-child) {
        margin: 0 0 20px;
    }
    .price-card.w50,
    .price-card.w30 {
        width: 100%;
    }
}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* flow */
.flow {
    background: url(../images/flow-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 100px 0;
}
.flow-head {
    margin: 0 0 65px;
    text-align: center;
}
.flow-head h2 {
    color: #00243B;
    font-size: 24px;
    font-weight: 500;
}
.flow-head__image {
    margin: 35px auto 25px;
    text-align: center;
    width: 100%;
    max-width: 1000px;
}
.flow-head p {
    color: #00243B;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8em;
}
.flow-body .feature-inner {
    max-width: 1100px;
}
.flow-cards__bottom {
    margin: 35px 0 0;
}
.flow-cards__bottom p {
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    text-align: center;
}
.flow-bottom {
    margin: 45px 0 0;
    text-align: center;
}
.flow-bottom p {
    color: #00243B;
    font-size: 30px;
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    .flow {
        padding: 45px 0;
    }
    .flow-head {
        margin: 0 0 35px;
    }
    .flow-head h2 {
        font-size: 22px;
    }
    .flow-cards__bottom {
        margin: 25px 0 0;
    }
    .flow-cards__bottom p {
        font-size: 16px;
    }
    .flow-bottom p {
        font-size: 22px;
    }
}

/* bg-block */
.bg-block {
    background: url(../images/bg-b.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 100px 0;
}
.bg-block.no-pb {
    padding-bottom: 0;
}
.bg-block__txt {
    margin: 0 0 45px;
    text-align: center;
}
.bg-block__txt h2 {
    color: #fff;
    font-size: 48px;
    font-weight: 500;
    letter-spacing: 1px;
}
.bg-block__txt h2 .num {
    color: #F0DB69;
    font-size: 60px;
    font-weight: 500;
}
.bg-block__txt h2 .yellow {
    color: #F0DB69;
    font-size: 48px;
    font-weight: 500;
}
.bg-block__txt p {
    color: #fff;
    font-size: 30px;
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    .bg-block {
        padding: 45px 0;
    }
    .bg-block.no-pb {
        padding-bottom: 0;
    }
    .bg-block__txt {
        margin: 0 0 35px;
    }
    .bg-block__txt h2 {
        font-size: 24px;
    }
    .bg-block__txt h2 .num {
        font-size: 46px;
    }
    .bg-block__txt h2 .yellow {
        color: #fff;
        font-size: 24px;
    }
    .bg-block__txt p {
        font-size: 18px;
    }
}

/* shop */
.shop {
    padding: 100px 0;
}
.shop-inner {
    margin: 0 auto;
    width: calc(100% - 40px);
    max-width: 1000px;
}
.shop-card__head {
    border: 2px solid #fff;
    border-bottom: 0;
    padding: 20px 0;
    position: relative;
    text-align: center;
}
.shop-card:last-child .shop-card__head {
    border-bottom: 2px solid #fff;
}
.shop-card__head::after {
    background: url(../images/icon-plus.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 24px;
    margin: auto;
    position: absolute;
    right: 25px;
    top: 0;
    bottom: 0;
    transition-duration: .3s;
    width: 24px;
}
.shop-card.open .shop-card__head::after {
    background-image: url(../images/icon-minus.svg);
}
.shop-card__head p {
    color: #fff;
    font-size: 22px;
    font-weight: 500;
}
.shop-card__panel {
    background: #fff;
    display: none;
    padding: 0 50px 25px;
}
.shop-card__detail:not(:last-child) {
    margin: 0 0 25px;
}
.shop-detail__ttl {
    padding: 20px 0;
    position: relative;
}
.shop-detail__ttl::after {
    background: url(../images/icon-arrow.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 24px;
    margin: auto;
    position: absolute;
    right: 25px;
    top: 0;
    bottom: 0;
    transition-duration: .3s;
    width: 24px;
}
.shop-card__detail.open .shop-detail__ttl::after {
    transform: rotate(-180deg);
}
.shop-detail__ttl p {
    color: #00243B;
    font-size: 18px;
    font-weight: 500;
}
.shop-card__detail .shop-detail__intoggle {
    display: none;
}
.shop-list__item {
    border-bottom: 2px dotted #2F8BC4;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.shop-list__item:first-child {
    border-top: 2px dotted #2F8BC4;
}
.shop-list__item dt {
    background: #00243B;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    padding: 35px 0;
    text-align: center;
    width: 80px;
}
.shop-list__item dd {
    padding: 35px 0 35px 20px;
    width: calc(100% - 80px);
}
.shop-list__item dd p {
    color: #00243B;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8em;
}
.shop-list__item dd .link {
    color: #E38080;
    font-size: 14px;
    font-weight: 500;
}
.shop-list__item dd .link::before {
    content: "▶︎ ";
}
.shop-list__item dd .btn {
    background: rgb(0,98,163);
    background: linear-gradient(118deg, rgba(0,98,163,1) 0%, rgba(173,238,255,1) 100%);
    border-radius: 50px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    height: 44px;
    margin: 25px 0 0;
    text-align: center;
    width: 100%;
    max-width: 241px;
}
.shop-list__flex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.access-text {
    width: 42%;
}
.access-map {
    width: 55%;
}
.access-map iframe {
    aspect-ratio: 16 / 12;
    height: 100%;
    width: 100%;
}
.shop-detail__btn {
    margin: 35px 0 0;
}
.shop-detail__btn a {
    background: rgb(227,128,128);
    background: linear-gradient(53deg, rgba(227,128,128,1) 0%, rgba(231,146,136,1) 46%, rgba(248,211,167,1) 100%);
    border-radius: 50px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 58px;
    margin: 0 auto;
    width: 100%;
    max-width: 294px;
}
@media screen and (max-width: 968px) {
    .shop-card__panel {
        padding: 0 25px 25px;
    }
}
@media screen and (max-width: 768px) {
    .shop {
        padding: 45px 0;
    }
    .shop-card__panel {
        padding: 0 0 25px 10px;
    }
    .shop-list__item dt {
        padding: 25px 0;
    }
    .shop-list__item dd {
        padding: 25px 15px 25px 15px;
    }
    .access-text {
        margin: 0 0 20px;
        width: 100%;
    }
    .access-map {
        width: 100%;
    }
    .access-map iframe {
        aspect-ratio: 1 / 1;
    }
}

/* faq */
.faq {
    padding: 100px 0;
}
.faq-inner {
    margin: 0 auto;
    width: calc(100% - 40px);
    max-width: 1000px;
}
.faq-head {
    margin: 0 0 65px;
    position: relative;
    text-align: center;
}
.faq-head::after {
    background: url(../images/symbol-b2.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 77.37px;
    margin: auto;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    width: 84.69px;
}
.faq-head h2 {
    color: #00243B;
    font-size: 24px;
    font-weight: 500;
}
.faq-list__item {
    border: 2px solid #2F8BC4;
}
.faq-list__item:not(:last-child) {
    margin: 0 0 35px;
}
.faq-list__item dt {
    padding: 35px 100px 35px;
    position: relative;
}
.faq-list__item.open dt {
    padding: 35px 100px 35px;
}
.faq-list__item dt::before,
.faq-list__item dd::before {
    color: #2F8BC4;
    font-size: 22px;
    font-weight: 500;
    position: absolute;
    left: 25px;
}
.faq-list__item dt::before {
    content: "Q";
    top: 25px;
}
.faq-list__item dd::before {
    content: "A";
    top: 15px;
}
.faq-list__item dt::after {
    background: url(../images/icon-plus-b.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 24px;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    width: 24px;
}
.faq-list__item.open dt::after {
    background-image: url(../images/icon-minus-b.svg);
}
.faq-list__item dt p {
    font-size: 16px;
    font-weight: 500;
}
.faq-list__item.open dt p::after {
    border-bottom: 2px dotted #2F8BC4;
    content: "";
    height: 2px;
    margin: auto;
    position: absolute;
    bottom: 8px;
    left: 0;
    right: 0;
    width: 90%;
}
.faq-list__item dd {
    display: none;
    margin: 15px 0 0;
    padding: 0px 100px 25px;
    position: relative;
}
.faq-list__item dd p {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8em;
}
.faq-list__item dd p a {
    color: #009EFF;
    font-size: 16px;
    font-weight: 500;
    text-decoration: underline;
}
@media screen and (max-width: 768px) {
    .faq {
        padding: 45px 0;
    }
    .faq-list__item:not(:last-child) {
        margin: 0 0 20px;
    }
    .faq-list__item dt {
        border-bottom: 0;
        padding: 25px 45px;
    }
    .faq-list__item.open dt {
        border-bottom: 0;
        padding: 25px 25px 25px 45px;
    }
    .faq-list__item dt::before,
    .faq-list__item dd::before {
        left: 10px;
    }
    .faq-list__item dt::before {
        top: 20px;
    }
    .faq-list__item dd::before {
        top: 10px;
    }
    .faq-list__item dt::after {
        right: 15px;
    }
    .faq-list__item.open dt p::after {
        border-bottom: 2px dotted #2F8BC4;
        content: "";
        height: 2px;
        margin: auto;
        position: absolute;
        bottom: 8px;
        left: 0;
        right: 0;
        width: 90%;
    }
    .faq-list__item dd {
        border-top: 0;
        margin: 0;
        padding: 10px 25px 25px 45px;
    }
}

/* swiper */
.swiper-button-next, .swiper-button-prev {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid #fff;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    filter: drop-shadow(0 3px 6px rgb(0 0 0 / 20%));
    height: 80px;
    width: 37px;
    z-index: 1;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: -37px;
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: -37px;
}
.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    color: #2F8BC4;
    font-size: 15px;
}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 0;
}
.swiper-pagination-bullet {
    background: none;
    border: 1px solid #2F8BC4;
    border-radius: 0;
    height: 11px;
    opacity: 1;
    transform: rotate(45deg);
    width: 11px;
}
.swiper-pagination.w .swiper-pagination-bullet {
    border: 1px solid #fff;
}
.swiper-pagination-bullet-active {
    background: #2F8BC4;
}
.swiper-pagination.w .swiper-pagination-bullet-active {
    background: #fff;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 5px;
}
@media screen and (max-width: 1068px) {
    .swiper-button-next, .swiper-rtl .swiper-button-prev {
        right: -20px;
    }
    .swiper-button-prev, .swiper-rtl .swiper-button-next {
        left: -20px;
    }
}
@media screen and (max-width: 768px) {
    .swiper-button-next, .swiper-button-prev {
        height: 40px;
        width: 37px;
    }
    .swiper-button-prev, .swiper-rtl .swiper-button-next {
        left: -60px;
        right: 0;
        bottom: 30px;
        top: inherit;
        margin: auto;
    }
    .swiper-button-next, .swiper-rtl .swiper-button-prev {
        right: -60px;
        left: 0;
        bottom: 30px;
        top: inherit;
        margin: auto;
    }
}