abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
    background: transparent;
    border: 0;
    font-size: 100%;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline
}

body {
    line-height: 1
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

nav ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    content: none
}

a {
    background: transparent;
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline
}

ins {
    text-decoration: none
}

ins,
mark {
    background-color: #ff9;
    color: #000
}

mark {
    font-style: italic;
    font-weight: 700
}

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    border: 0;
    border-top: 1px solid #ccc;
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0
}

input,
select {
    vertical-align: middle
}

@font-face {
    font-display: swap;
    font-family: SawarabiGothic;
    font-style: normal;
    font-weight: 400;
    src: url(../font/SawarabiGothic-Regular.woff2) format("woff2"), url(../font/SawarabiGothic-Regular.woff) format("woff")
}

@font-face {
    font-display: swap;
    font-family: NotoSansJP;
    font-style: normal;
    font-weight: 300;
    src: url(../font/NotoSansJP-Light.woff2) format("woff2"), url(../font/NotoSansJP-Light.woff) format("woff")
}

@font-face {
    font-display: swap;
    font-family: NotoSansJP;
    font-style: normal;
    font-weight: 400;
    src: url(../font/NotoSansJP-Regular.woff2) format("woff2"), url(../font/NotoSansJP-Regular.woff) format("woff")
}

@font-face {
    font-display: swap;
    font-family: NotoSansJP;
    font-style: normal;
    font-weight: 500;
    src: url(../font/NotoSansJP-Medium.woff2) format("woff2"), url(../font/NotoSansJP-Medium.woff) format("woff")
}

@font-face {
    font-display: swap;
    font-family: NotoSansJP;
    font-style: normal;
    font-weight: 700;
    src: url(../font/NotoSansJP-Bold.woff2) format("woff2"), url(../font/NotoSansJP-Bold.woff) format("woff")
}

@font-face {
    font-display: swap;
    font-family: NotoSansJP;
    font-style: normal;
    font-weight: 900;
    src: url(../font/NotoSansJP-Black.woff2) format("woff2"), url(../font/NotoSansJP-Black.woff) format("woff")
}

html {
    font-size: 62.5%
}

body {
    background-color: #fff;
    color: #333;
    font-family: "Lato", NotoSansJP, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, メイリオ, Meiryo, sans-serif;
    font-size: 1.4rem;
    font-weight: 500;
    min-width: 1366px
}

body.is-open {
    overflow: hidden
}

figure {
    line-height: 0
}

p {
    line-height: 2;
    letter-spacing: 0.05em;
}

h2,
h3,
h4,
h5 {
    line-height: 1.5
}

img {
    width: 100%
}

a {
    color: #333;
    text-decoration: none
}

* {
    box-sizing: border-box
}

.u-fade-up,
.u-slidein-left,
.u-slidein-right {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: animation opacity transform
}

@-webkit-keyframes widthGrow {
    0% {
        width: 0
    }

    to {
        width: 100%
    }
}

@keyframes widthGrow {
    0% {
        width: 0
    }

    to {
        width: 100%
    }
}

.u-fade-up {
    opacity: 0;
    -webkit-transform: translateX(40px);
    transform: translateX(40px)
}

.u-fade-up.is-active {
    -webkit-animation: fadeUp 2s cubic-bezier(.25, 1, .5, 1) 1 forwards;
    animation: fadeUp 2s cubic-bezier(.25, 1, .5, 1) 1 forwards
}

@-webkit-keyframes fadeUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        transform: translateY(40px)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    40%,
    to {
        opacity: 1
    }
}

@keyframes fadeUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        transform: translateY(40px)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    40%,
    to {
        opacity: 1
    }
}

@-webkit-keyframes slideInRight {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    40%,
    to {
        opacity: 1
    }
}

.u-slidein-left {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
}

.u-slidein-left.is-active {
    -webkit-animation: slideInLeft 2s cubic-bezier(.25, 1, .5, 1) 1 forwards;
    animation: slideInLeft 2s cubic-bezier(.25, 1, .5, 1) 1 forwards
}

@keyframes slideInRight {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    40%,
    to {
        opacity: 1
    }
}

.u-slidein-right {
    opacity: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.u-slidein-right.is-active {
    -webkit-animation: slideInRight 2s cubic-bezier(.25, 1, .5, 1) 1 forwards;
    animation: slideInRight 2s cubic-bezier(.25, 1, .5, 1) 1 forwards
}

@-webkit-keyframes slideInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    40%,
    to {
        opacity: 1
    }
}

@keyframes slideInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    40%,
    to {
        opacity: 1
    }
}

.u-inline-block {
    display: inline-block
}

.u-hidden-pc {
    display: none !important;
}

.u-hidden-sp {
    display: inline !important;
}


.u-primary,
.u-strong {
    color: #d3b200
}

.u-bold {
    font-weight: 700
}

.u-ta-right {
    text-align: right
}

.u-caution {
    color: red
}

.l-header {
    background-color: #fff;
    padding-bottom: 20px;
    padding-top: 20px;
    position: fixed;
    width: 100%;
    z-index: 9999
}

.l-header__inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-left: 20px;
    padding-right: 20px
}

.l-header__logo {
    max-width: 180px
}

.l-header__nav {
    display: flex
}

.l-header__tel {
    margin-right: 20px
}

.l-header__contact {
    align-items: center;
    background-color: #65b5c3;
    border-radius: 1000px;
    color: #fff;
    display: flex;
    font-weight: 700;
    justify-content: center;
    padding: 1.2em 1.6em
}

.l-header-tel {
    align-items: flex-end;
    display: flex;
    flex-direction: column
}

.l-header-tel__top {
    align-items: center;
    display: flex;
    margin-bottom: 10px
}

.l-header-tel__icon {
    margin-right: 5px;
    width: 14px
}

.l-header-tel__number {
    font-family: Lato, sans-serif;
    font-size: 26px;
    letter-spacing: .05em
}

.l-header-tel__bottom {
    font-weight: 700
}

.l-header-tel__text {
    font-family: Lato, sans-serif
}

.l-header-tel__time {
    font-size: 14px;
    letter-spacing: .05em;

}

.c-inner,
.p-about__inner,
.p-access__inner,
.p-banner__inner,
.p-check__inner,
.p-cnv__inner,
.p-collabo__inner,
.p-deco__inner,
.p-facility__inner,
.p-faq__inner,
.p-match__inner,
.p-point__inner,
.p-price__inner,
.p-service__inner,
/* .p-visual__inner, */
.p-plan02__inner,
.p-location__inner,
.p-service02__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1120px;
    padding-left: 20px;
    padding-right: 20px
}


.p-banner {
    padding-bottom: 30px;
    padding-top: 30px;
    /* background: #ece8e3;
    margin: 40px 0; */
}

.p-banner__wrapper {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 60%;
    margin: 0 auto;
}

.p-banner__link {
    margin: 0 20px;
}

.l-main {
    padding-top: 93px
}

.p-point-item__number,
.u-lato {
    font-family: Lato, sans-serif
}

.p-point-item__catch,
.u-company {
    font-family: lato, sans-serif
}

.p-visual {
    background: #65B5C3;
}

.p-visual__inner {
    line-height: 0;
}

/* 
.p-visual {
    position: relative
}

.p-visual:before {
    background-image: url(../image/bg_photo.webp);
    background-size: cover;
    content: "";
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 80%
}

.p-visual__logo {
    bottom: 8%;
    position: absolute;
    right: 3%;
    width: 46%
}

.p-visual__scroll {
    align-items: center;
    bottom: 30px;
    display: flex;
    flex-direction: column;
    left: 5%;
    position: absolute
}

.p-visual__scroll span {
    font-family: Raleway, sans-serif;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 1em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.p-visual__scroll:after {
    background-color: #000;
    content: "";
    height: 46px;
    width: 1px
}

.p-visual__inner {
    align-items: center;
    display: flex;
    height: 100%;
    left: 0;
    position: relative;
    top: 0;
    width: 100%
}

.p-visual__copy {
    background-color: rgba(101, 181, 195, .85);
    color: #fff;
    display: inline-block;
    margin-bottom: 65px;
    margin-top: 65px;
    padding: 60px
}

.p-visual__sub .u-raleway {
    font-family: Raleway, sans-serif;
    font-size: 22px;
    letter-spacing: .1em;
    line-height: 1.5
}

.p-visual__ttl {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px
}

.p-visual__ttl .large {
    font-size: 60px
}

.p-visual__ttl .medium {
    font-size: 40px
} */




.swiper {
    /* margin-bottom: 5%; */
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.swiper-slide img {
    margin: 0;
}


.swiper-button-prev,
.swiper-button-next {
    height: 40px !important;
    width: 40px !important;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    background-repeat: no-repeat;
    background-size: contain;
    content: "" !important;
    height: 40px !important;
    margin: auto;
    width: 40px !important;
}

.swiper-button-prev:after {
    background-image: url(../image/arrow_pre.svg);
}

.swiper-button-next:after {
    background-image: url(../image/arrow_next.svg);
}

.swiper-slide img {
    height: auto;
    width: 100%;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: 30px;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: 30px;
}


.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 0px !important;
}


.c-ttl {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .05em;
    /* position: relative; */
    text-align: center
}

.c-ttl__text {
    position: relative;
    z-index: 2
}

.c-ttl__deco {
    /* bottom: -10px; */
    color: #f5f5f5;
    font-family: Montserrat, sans-serif;
    font-size: 92px;
    font-weight: 800;
    /* left: 50%; */
    letter-spacing: .05em;
    /* position: absolute; */
    /* -webkit-transform: translate(-50%);
    transform: translate(-50%); */
    white-space: nowrap;
    z-index: 1;
    display: block;
    line-height: 1;
}

.c-ttl__deco--white {
    color: #fff
}

.c-ttl__deco--second {
    bottom: 45px
}

.c-ttl__deco--third {
    bottom: -90px;
    line-height: 0.9;
}

.p-about {
    background-color: #edf5f9;
    padding-bottom: 80px;
    padding-top: 80px;
}

.p-about__ttl {
    margin-bottom: 38px
}

.p-about__wrapper {
    align-items: flex-start;
    display: flex;
    justify-content: space-between
}

.p-about__pic {
    position: relative;
    width: 55%;
}

.p-about__copy {
    background-color: hsla(0, 0%, 100%, .8);
    margin-left: -6%;
    margin-top: 5%;
    margin-right: 5%;
    padding: 50px 40px;
    width: 45%;
}

.p-about__cap,
.p-about__copy {
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    position: relative
}

.p-about__cap {
    background-color: #65b5c3;
    color: #fff;
    font-size: 20px;
    line-height: 1.5;
    margin-left: 7%;
    margin-right: auto;
    margin-top: -22px;
    padding: 20px;
    width: 68%;
    letter-spacing: .05em;
}

.p-point {
    padding-bottom: 80px;
    padding-top: 80px;
}

.p-point__ttl {
    margin-bottom: 30px
}

.p-point__item:nth-of-type(odd) .p-point-item__top {
    -webkit-transform: translateX(-35px);
    transform: translateX(-35px)
}

.p-point__item:nth-of-type(2n) {
    flex-direction: row-reverse
}

.p-point__item:nth-of-type(2n) .p-point-item__top {
    margin-left: auto;
    margin-right: 0
}

.p-point__item:not(:last-of-type) {
    margin-bottom: 44px
}

.p-point-item:nth-of-type(2) .p-point-item__wrapper {
    flex-direction: row-reverse
}

.p-point-item__wrapper {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    margin-top: -50px
}

.p-point-item__copy {
    width: 50%
}

.p-point-item__pic {
    width: 46%
}

.p-point-item__top {
    align-items: center;
    background-color: #edf5f9;
    border-radius: 1000px;
    display: flex;
    flex-direction: column;
    height: 218px;
    justify-content: center;
    width: 218px
}

.p-point-item__icon {
    margin-bottom: 16px;
    width: 30px
}

.p-point-item__icon.w-56 {
    width: 56px
}

.p-point-item__icon.w-72 {
    width: 72px
}

.p-point-item__number {
    color: #31adc6;
    font-weight: 700;
    margin-bottom: 5px
}

.p-point-item__catch {
    color: #31adc6;
    font-size: 28px;
    margin-bottom: 40px
}

.p-point-item__ttl {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
    position: relative
}

.p-point-item__text:not(:last-of-type) {
    margin-bottom: 30px
}

.p-point-item__caution {
    text-align: right
}

.p-point .gradation_area .readmore {
    display: none;
}



.p-cnv {
    /* background-image: url(../image/cta_bg.jpg); */
    background: url(../image/cta_bg.jpg) no-repeat;
    background-size: cover;
    padding-bottom: 60px;
    padding-top: 60px;
}

.p-cnv__inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center
}

.p-cp__subttl {
    background: #dc7167;
    font-size: 20px;
    color: #fff;
    padding: 10px;
    margin-bottom: 30px;
    text-align: center;
    border: #fff solid 2px;
    letter-spacing: 0.05em;
}

.cp_free {
    font-size: 28px;
    letter-spacing: 0.1em;
}

.p-cnv__ttl {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
    text-align: center
}

.p-cnv__tel {
    margin-bottom: 30px
}

.p-cnv-tel {
    align-items: center;
    display: flex
}

.p-cnv-tel__cap {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    margin-right: 20px;
    letter-spacing: 0.06em;

}

.p-cnv-tel__link {
    align-items: center;
    color: #fff;
    display: flex
}

.p-cnv-tel__icon {
    margin-right: 10px;
    width: 16px
}

.p-cnv-tel__meta {
    align-items: center;
    display: flex
}

.p-cnv-tel__number {
    font-family: lato;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: .05em
}

.p-cnv-tel__time {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .09em;
}

.p-cnv-contact {
    align-items: center;
    background-color: #fff;
    border-radius: 1000px;
    color: #dc7167;
    display: flex;
    font-size: 20px;
    font-weight: 700;
    padding: 1.2em 1.8em 1.2em 2.8em;
    position: relative;
    transition: color .3s, background-color .3s
}

.p-cnv-contact:hover {
    background-color: #dc7167;
    color: #fff
}

.p-cnv-contact:hover .p-cnv-contact__icon {
    opacity: 0
}

.p-cnv-contact:hover .p-cnv-contact__icon--white {
    opacity: 1
}

.p-cnv-contact__text {
    margin-right: 30px
}

.p-cnv-contact__icon {
    height: 20px;
    position: absolute;
    right: 30px;
    transition: opacity .3s;
    width: 20px
}

.p-cnv-contact__icon--white {
    opacity: 0
}

.p-collabo {
    padding-bottom: 80px;
    /* padding-top: 40px */
}

.p-collabo__ttl {
    color: #fff;
    background-color: #dc7167;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 60px;
    padding-bottom: 30px;
    padding-top: 40px;
    position: relative;
    text-align: center;
    margin-top: 60px;
}

.p-collabo__ttl:before {
    border-color: #dc7167 transparent transparent;
    border-style: solid;
    border-width: 30px 30px 0;
    bottom: 0;
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    -webkit-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
    width: 0
}

.p-collabo__subttl {
    color: #fb6b02;
    font-family: Raleway, sans-serif;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: -10px;
    text-align: center
}

.p-collabo__logos {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
    margin-top: 0;
}

.p-collabo__cross {
    margin-left: 20px;
    margin-right: 20px;
    width: 56px
}

.p-collabo__logo {
    padding-left: 30px;
    width: 300px
}

.p-collabo__logo--company {
    padding-left: 0;
    padding-top: 20px;
    width: 310px
}

.p-collabo__wrapper {
    display: flex
}

.p-collabo__copy {
    margin-right: 4%;
    width: 50%
}

.p-collabo__pic {
    width: 46%
}

.p-collabo__catch {
    color: #333;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px
}

.p-collabo__text {
    line-height: 1.8
}

.p-check {
    background-color: #ece8e3;
    padding-bottom: 80px;
    padding-top: 80px;
}

.p-check__ttl {
    margin-bottom: 30px;
}

.p-check .onhidden {
    height: 100px;
    overflow-y: hidden;
}

.p-check__top {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.p-check__item {
    margin-bottom: 2%;
    width: 32%
}

.p-check__item:first-of-type,
.p-check__item:nth-of-type(2),
.p-check__item:nth-of-type(4) {
    margin-right: 2%
}

.p-check-item {
    background-color: #fff;
    border-radius: 10px;
    padding: 30px 12px
}

.p-check-item__pic {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-left: auto;
    margin-right: auto
}

.p-check-item__icon {
    height: 95px;
    margin-bottom: 36px;
    margin-left: auto;
    margin-right: auto;
    width: auto
}

.p-check-item__icon.medium {
    height: 111px;
    margin-bottom: 10px;
    margin-top: 10px;
    width: auto
}

.p-check-item__icon.small {
    height: 76px;
    margin-bottom: 27.5px;
    margin-top: 27.5px;
    width: 96px
}

.p-check-item__ttl {
    color: #fb6b02;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    text-align: center
}

.p-check-item__ttl .small {
    font-size: 16px
}

.p-check-item__body {
    line-height: 1.2
}

.p-gallery {
    display: flex;
    padding-bottom: 60px;
    /* padding-top: 80px */
}

.p-gallery__img {
    width: 33.3%
}

.p-plan {
    padding-bottom: 50px;
    padding-top: 80px;
}

.p-plan__ttl {
    margin-bottom: 30px
}

.p-plan__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1220px;
    padding-left: 20px;
    padding-right: 20px
}

.p-plan__sp {
    display: none
}

.p-plan__list {
    display: flex;
    justify-content: space-between;
    margin-bottom: 72px;
    position: relative;
}

.p-plan__list02 {
    display: flex;
    justify-content: space-between;
    position: relative;
    flex-wrap: wrap;
    width: 88%;
    margin: 0 auto;
}


.p-plan__item02 {
    width: 49%;
    margin-bottom: 30px;
}

.p-plan__drop {
    margin-left: auto;
    margin-right: auto;
    width: 76%
}

.p-plan__sub {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.8;
    margin-bottom: 30px;
    text-align: center
}

.p-plan__sub .small {
    font-size: 16px
}

.p-plan-drop {
    border-radius: 10px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    overflow: hidden
}

.p-plan-drop__main {
    align-items: center;
    background-color: #dc7167;
    display: flex;
    flex-direction: column;
    font-size: 22px;
    font-weight: 700;
    justify-content: center;
    padding: 20px;
}

.p-plan-drop__sub {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    margin-right: 10%;
    width: 45%;
}

.p-plan-drop__pic {
    width: 45%
}

.p-plan-drop__ttl {
    color: #fff;
    margin-bottom: 6px
}

.p-plan-drop__label {
    background-color: #fff;
    border-radius: 1000px;
    font-size: 14px;
    padding: .6em 2em
}

.p-plan-drop__top {
    color: #dc7167;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    padding-top: 20px
}

.p-plan-drop__top .small {
    font-size: 16px
}

.p-plan-drop__top .large {
    font-size: 22px
}

.p-plan-drop__bottom {
    margin-bottom: 6px
}

.p-plan-drop__wrapper {
    align-items: center;
    display: flex;
    padding: 20px 8%
}

.p-plan-drop__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.p-plan-drop__tag {
    align-items: center;
    background-color: #dc7167;
    border: 1px solid #dc7167;
    border-radius: 5px;
    color: #fff;
    display: flex;
    font-weight: 700;
    justify-content: center;
    margin-bottom: 8px;
    padding: 10px 0;
    width: 48%
}

.p-plan-item {
    border-radius: 30px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    overflow: hidden
}

.p-plan-item:nth-of-type(2) .p-plan-item__top {
    background-color: #65b5c3
}

.p-plan-item:nth-of-type(1) .p-plan-item__price {
    margin-top: 0;
    margin-bottom: 20px;
}

.p-plan-item:nth-of-type(2) .p-plan-item__price {
    color: #65b5c3;
    margin-top: 0;
    margin-bottom: 20px;
}

.p-plan-item:nth-of-type(2) .p-plan-item__tag.include {
    background-color: #65b5c3;
    border: 1px solid #65b5c3
}

.p-plan-item:nth-of-type(3) .p-plan-item__top {
    background-color: #0f9dbd
}

.p-plan-item:nth-of-type(3) .p-plan-item__price {
    color: #0f9dbd
}

.p-plan-item:nth-of-type(3) .p-plan-item__tag.include {
    background-color: #0f9dbd;
    border: 1px solid #0f9dbd
}

.p-plan-item__top {
    background-color: #7db4d1;
    color: #fff;
    padding: 30px 0;
}

.p-plan__item_parent {
    position: relative;
}

.p-plan-item__ttl {
    font-size: 22px;
    margin-bottom: 10px;
    text-align: center
}

.p-plan-item__pic {
    margin-bottom: 20px
}

.p-plan-item__labels {
    align-items: center;
    display: flex;
    justify-content: center
}

.p-plan-item__label {
    background-color: #fff;
    border-radius: 1000px;
    color: #333;
    font-size: 14px;
    font-weight: 700;
    padding: .4em 2em
}

.p-plan-item__label.small {
    padding: .4em 1em
}

.p-plan-item__bottom {
    padding: 20px;
}


.p-plan-item__price {
    color: #7db4d1;
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center;
}

.p-plan-item_50off {
    display: inline-block;
    padding: 0 10px;
    margin: 0 auto 2px;
}

.limited_campaigin {
    background: #dc7167;
    color: #fff;
    padding: 4px 5px;
    font-size: 16px;
}

.and {
    font-size: 20px;
}

.p-plan-item__price .large {
    font-size: 42px;
    font-weight: 700;
}

.p-plan-item__price .middle {
    font-size: 26px
}

.p-plan-item__price .small {
    font-size: 20px
}

.p-plan-item__plus {
    font-size: 22px;
    font-weight: 700;
    margin-left: .2em;
    margin-right: .2em
}

.p-plan-item__text {
    height: 50px;
    line-height: 1.8;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
    width: 95%
}

.p-plan-item__table {
    margin-bottom: 30px;
    width: 100%
}

.p-plan-item__data,
.p-plan-item__header {
    border-bottom: 1px solid #d6d6d6;
    font-weight: 700;
    padding-bottom: .4em;
    padding-top: 1em
}

.p-plan-item__header {
    padding: 10px .6em;
    width: 40%
}

.p-plan-item__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.p-plan-item__tag {
    align-items: center;
    border: 1px solid #adadad;
    border-radius: 5px;
    color: #adadad;
    display: flex;
    font-weight: 700;
    justify-content: center;
    margin-bottom: 8px;
    padding: 10px 0;
    width: 48%
}

.p-plan-item__tag.include {
    background-color: #7db4d1;
    border: 1px solid #7db4d1;
    color: #fff
}



.p-location {
    padding-bottom: 50px;
    padding-top: 80px;
    background: #EDF5F9;
}

.p-location__ttl {
    margin-bottom: 30px;
}

.p-location__list {
    display: flex;
    justify-content: center;
    position: relative;
    flex-wrap: wrap;
}

.p-location__item {
    width: 24%;
    margin-bottom: 20px;
    margin: 0 5px 20px;
}

.p-location__text {
    margin-bottom: 40px;
    text-align: center;
}

.p-service02 {
    padding-bottom: 50px;
    padding-top: 80px;
}

.p-service02__ttl {
    margin-bottom: 40px;
}

.p-service02__list {
    display: flex;
    justify-content: flex-start;
    position: relative;
    flex-wrap: wrap;
}

.p-service02__item {
    width: 24%;
    margin-bottom: 20px;
    margin-right: 10px;
}



.p-plan__item {
    width: 32%
}

.p-facility {
    background-color: #edf5f9;
    padding-bottom: 80px;
    padding-top: 80px;
}

.p-facility__ttl {
    margin-bottom: 30px
}

.p-facility__list {
    display: flex;
    justify-content: space-between
}

.p-facility__item {
    width: 31%
}

.p-facility-item__pic {
    margin-bottom: 20px;
    position: relative
}

.p-facility-item__img {
    position: relative
}

.p-facility-item__label {
    align-items: center;
    background-color: #dc7167;
    color: #fff;
    display: flex;
    font-weight: 700;
    height: 2em;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 8em
}

.p-facility-item__ttl {
    border-bottom: 1px solid #333;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: .4em;
    padding-top: .4em;
    text-align: center
}

.p-facility-item__ttl .small {
    font-size: 22px
}

.p-facility-item__text {
    line-height: 2;
}

.p-service {
    background-color: #ece8e3;
    padding-bottom: 80px;
    padding-top: 80px;
}

.p-service__ttl {
    margin-bottom: 30px
}

.p-service__list {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.p-service__item {
    margin-bottom: 2%;
    width: 32%
}

.p-service__item:not(:nth-of-type(3n)) {
    margin-right: 2%
}

.p-service-item {
    background-color: #fff;
    border-radius: 10px;
    padding: 20px
}

.p-service-item__pic {
    align-items: center;
    display: flex;
    justify-content: center
}

.p-service-item__img {
    height: 80px;
    margin-bottom: 20px;
    width: auto
}

.p-service-item__ttl {
    color: #65b5c3;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    text-align: center
}

.p-service-item__body {
    line-height: 1.6
}

.p-deco {
    background-color: #dc7167;
    padding-bottom: 18px;
    padding-top: 18px
}

.p-deco__inner {
    align-items: center;
    display: flex
}

.p-deco__pic {
    display: block;
    margin-right: 5%;
    width: 55%
}

.p-deco__logo {
    width: 40%
}

.p-price {
    padding-bottom: 90px;
    padding-top: 80px;
    background: #edf5f9;
}

.p-price__ttl {
    margin-bottom: 28px
}

.p-price__text {
    margin-bottom: 80px;
    text-align: center
}

.p-price__back {
    background-color: #fff;
    padding: 60px 60px 30px;
    position: relative
}

.p-price__subttl {
    background-color: #dc7167;
    border: 1px solid #dc7167;
    border-radius: 10px;
    color: #fff;
    display: inline-block;
    font-size: 20px;
    font-weight: 700;
    left: 50%;
    max-width: 100%;
    padding: 1em 0;
    position: absolute;
    text-align: center;
    top: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 478px
}

.p-price__subttl:before {
    border-color: #dc7167 transparent transparent;
    border-style: solid;
    border-width: 10px 10px 0;
    bottom: 0;
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    -webkit-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
    width: 0
}

.p-price__subtext {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    text-align: center
}

.p-price__pic1 {
    display: block;
    margin-bottom: 30px
}

.p-price__pic2 {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 90%
}

.p-price_cp {
    text-align: center;
    font-size: 26px;
    color: #dc7167;
    line-height: 1.6;
    margin: 20px 0;
}

.c-ttl__cp {
    background: #dc7167;
    color: #fff;
    padding: 2px 10px;
    margin-right: 5px;
}

.p-match {
    padding-bottom: 60px;
    padding-top: 80px;
}

.p-match__ttl {
    margin-bottom: 30px;
}

.p-match__text {
    font-size: 16px;
    margin-bottom: 30px;
    text-align: center
}

.p-match .gradation_area {
    position: relative;
    z-index: 0;
}

.p-match .gradation_area.onhidden {
    height: 580px;
    overflow-y: hidden;
}

.p-match .gradation_area .readmore {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 80px 0 50px;
    text-align: center;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(236 232 228 / 95%) 30%);
    cursor: pointer;
    z-index: 999;
}

.p-match .gradation_area .readmore span {
    border-radius: 8px;
    padding: 10px 70px;
    color: #333;
    border: 1px solid #333;
    background: rgb(255 255 255 / 80%);
    font-size: 16px;
}



.p-match__case {
    margin-bottom: 60px
}

.p-match-case {
    background-color: #ece8e3;
    padding: 50px 60px;
    position: relative;
}

.p-match-case:before {
    background-color: #65b5c3;
    bottom: 0;
    content: "";
    height: 15%;
    left: 0;
    position: absolute;
    width: 100%
}

.p-match-case__top {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px
}

.p-match-case__copy {
    padding-top: 20px
}

.p-match-case__number {
    color: #65b5c3;
    font-family: Lato;
    font-size: 70px;
    font-weight: 700;
    margin-bottom: 30px
}

.p-match-case__pic {
    width: 46%
}

.p-match-case__labels {
    align-items: center;
    display: flex;
    margin-bottom: 10px
}

.p-match-case__label {
    background-color: #fff;
    border-radius: 5px;
    font-weight: 700;
    padding: .4em 1em
}

.p-match-case__cross {
    margin-left: 1em;
    margin-right: 1em
}

.p-match-case__ttl {
    font-size: 20px;
    font-weight: 700
}

.p-match-case__middle {
    align-items: flex-start;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
    padding: 30px
}

.p-match-case__middle-pic {
    padding-bottom: 40px;
    padding-left: 10px;
    position: relative;
    text-align: center;
    width: 15%
}

.p-match-case__middle-cap {
    bottom: 15px;
    font-size: 14px;
    font-weight: 700;
    left: 56%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap
}

.p-match-case__middle-copy {
    padding-top: 10px;
    width: 81%
}

.p-match-case__bottom {
    display: flex;
    justify-content: space-between;
    position: relative
}

.p-match-case .p-match-bottom {
    width: 45%
}

.p-match-case__cross2 {
    align-items: center;
    display: flex;
    margin-left: 2%;
    margin-right: 2%;
    width: 5%
}

.p-match-bottom {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    padding: 30px 20px
}

.p-match-bottom__pic {
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 20px;
    position: relative;
    width: 40%
}

.p-match-bottom__cap {
    bottom: 0;
    font-weight: 700;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap;
    font-size: 1.6rem;
}

.p-faq {
    background-color: #ece8e3;
    padding-bottom: 80px;
    padding-top: 80px;
}

.p-faq__ttl {
    margin-bottom: 30px
}

.p-faq__item {
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    margin-bottom: 45px;
    margin-left: auto;
    margin-right: auto;
    width: 74%;
}

.p-faq__item[open] .p-faq__sum:after {
    content: none
}

.p-faq__sum {
    background-color: #65b5c3;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    list-style: none;
    padding: 20px 60px 20px 100px;
    position: relative
}

.p-faq__sum::-webkit-details-marker {
    display: none
}

.p-faq__sum:before {
    height: 2px;
    right: 30px;
    width: 20px
}

.p-faq__sum:after,
.p-faq__sum:before {
    background-color: #fff;
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.p-faq__sum:after {
    height: 20px;
    right: 39px;
    width: 2px
}

.p-faq__marker {
    align-items: center;
    background-color: #fff;
    border-radius: 1000px;
    color: #65b5c3;
    display: flex;
    font-family: Lato;
    height: 38px;
    justify-content: center;
    left: 40px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 38px
}

.p-faq__body {
    background-color: #fff;
    line-height: 2;
    padding: 38px 60px 38px 40px;
}

.p-access {
    padding-bottom: 80px;
    padding-top: 80px;
}

.p-access__inner {
    max-width: 1000px
}

.p-access__ttl {
    margin-bottom: 60px
}

.p-access__wrapper {
    align-items: center;
    display: flex
}

.p-access__copy {
    padding-left: 5%;
    padding-right: 2%;
    width: 50%
}

.p-access__name {
    font-family: Lato;
    font-size: 26px;
    font-weight: 700
}

.p-access__address,
.p-access__name {
    margin-bottom: 20px;
    line-height: 1.5;
}

.p-access__detail {
    font-size: 14px;
    margin-bottom: 40px
}

.p-access__detail a {
    color: #1571da;
    text-decoration: underline
}

.p-access__map {
    padding-top: 50%;
    position: relative;
    width: 50%;
}

.p-access__map iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.p-access__pic img {
    width: 80%;
    margin-bottom: 20px;
}

.p-access-contact__ttl {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.p-access-contact__link {
    align-items: flex-end;
    color: #65b5c3;
    display: flex;
    font-family: Lato;
    font-size: 26px;
    margin-bottom: 10px;
    display: inline;
    line-height: 1.5;
}

.p-access-contact__link .number {
    letter-spacing: .05em;
}

.p-access-contact__link .small {
    font-size: 20px;
}

.p-access-contact__text02 {
    color: red;
    margin-top: 30px;
}

.p-contact__ttl {
    margin-bottom: 60px
}

.p-contact__appeal {
    background-color: #dc7167;
    border-bottom: 1px solid #dc7167;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 80px;
    padding-bottom: 60px;
    padding-top: 60px;
    position: relative;
    text-align: center
}

.p-contact__appeal:before {
    border-color: #dc7167 transparent transparent;
    border-style: solid;
    border-width: 30px 30px 0;
    bottom: 0;
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    -webkit-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
    width: 0
}

.c-subttl_cp {
    background: #fff;
    color: #333;
    font-size: 20px;
    padding: 2px 16px;
    display: inline-block;
    margin-bottom: 10px;
    letter-spacing: 0.05em;
}

.p-contact form#mail_form {
    border: none;
    box-shadow: none;
    max-width: 960px
}

.p-contact form#mail_form dl {
    border: none;
    margin: 0 0 20px;
    width: 100%
}

.p-contact form#mail_form dl dt i {
    float: none;
    margin-right: 2%
}

.p-contact form#mail_form ul li label {
    padding: 15px 2%
}

.p-contact form#mail_form dl dt {
    background-color: #65b5c3;
    border-radius: 5px;
    box-sizing: border-box;
    color: #fff;
    font-weight: 700;
    padding: 15px 20px;
    text-align: left;
    width: 40%
}

.p-contact form#mail_form dl dt .thin {
    font-weight: 200;
    margin-left: .4em
}

.p-contact form#mail_form dl dt span {
    font-style: normal
}

.p-contact form#mail_form dl dd {
    box-sizing: border-box;
    padding: 0 20px;
    width: 60%
}

.p-contact form#mail_form input[type=email],
.p-contact form#mail_form input[type=tel],
.p-contact form#mail_form input[type=text] {
    height: 42px
}

.p-contact #agreement {
    text-align: center
}

.p-contact #agree_check {
    font-size: 12px
}

.p-contact #agree_check label {
    align-items: center;
    display: flex;
    justify-content: center
}

.p-contact #agree_check label input {
    margin-right: .4em
}

.p-contact #agree_check a {
    color: #ef9595;
    text-decoration: underline
}

.p-contact .form_submit_button_wrapper {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 400px;
    position: relative;
    text-align: center;
    width: 100%
}

.p-contact .form_submit_button_wrapper:hover {
    opacity: .7
}

.p-contact .form_submit_button_icon {
    position: absolute;
    right: 40px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 20px
}

.p-contact form#mail_form input[type=button] {
    background-color: #65b5c3;
    border: 1px solid #65b5c3;
    border-radius: 1000px;
    box-sizing: border-box;
    font-size: 20px;
    font-weight: 700;
    margin-left: 0;
    padding: 10px 20%;
    width: 100%
}

.p-contact form#mail_form input[type=button]:hover {
    background: #65b5c3;
    border: 1px solid #65b5c3;
    cursor: pointer
}

.p-copylight {
    background-color: #3b4043;
    color: #fff;
    font-size: 12px;
    padding: 20px 0;
    text-align: center
}

div#agreement {
    border: none
}


.back_box {
    width: 100%;
    margin: 0 auto;
    /* max-width: 425px; */
    position: fixed;
    bottom: 0;
    z-index: 1000;
}

.back_box .page_top {
    position: relative;
}

.back_box .page_top a {
    position: absolute;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
    right: 3%;
    bottom: 62px;
    background: #65b5c3;
    border-radius: 50%;
}

.back_box .page_top a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f106';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}


.p-cnv-tel .u-hidden-sp {
    display: flex !important;
}


@media screen and (max-width:767px) {
    body {
        font-size: calc(14 / 375 * 100vw);
        min-width: 0
    }

    .u-hidden-pc {
        display: inline !important;
    }

    .u-hidden-sp {
        display: none !important;
    }


    .l-header {
        padding-bottom: 2.5%;
        padding-top: 2.5%
    }

    .l-header__inner {
        padding-left: 3%;
        padding-right: 3%;
    }

    .l-header__logo {
        width: 35%
    }

    /* 
    .l-header__tel {
        display: none
    } */
    .l-header__contact {
        font-size: 3.4666666667vw;
        padding: 1em 1.4em
    }

    .l-header-tel__number {
        font-size: 20px;
    }

    .l-header__tel {
        margin-right: 0;
    }

    .l-header-tel__bottom {
        text-align: right;
    }

    .l-header-tel__time {
        font-size: 12px;
    }

    .l-header-tel__top {
        margin-bottom: 4px;
    }

    .l-header-tel__icon {
        margin: 0;
        width: 10px;
    }

    .c-inner,
    .p-about__inner,
    .p-access__inner,
    .p-banner__inner,
    .p-check__inner,
    .p-cnv__inner,
    .p-collabo__inner,
    .p-deco__inner,
    .p-facility__inner,
    .p-faq__inner,
    .p-match__inner,
    .p-point__inner,
    .p-price__inner,
    .p-service__inner,
    .p-plan02__inner,
    .p-location__inner,
    .p-service02__inner {
        padding-left: 5%;
        padding-right: 5%
    }

    .p-visual__inner {
        padding: 0;
    }

    .p-banner {
        padding-bottom: 5%;
        padding-top: 5%;
        /* margin: 2% 0; */
    }

    .p-banner__wrapper {
        flex-direction: column;
        width: 100%;
    }


    .p-banner__link:not(:last-of-type) {
        margin-bottom: 5%
    }

    .l-main {
        padding-top: 15.6666666667vw
    }

    /* .p-visual:before {
        background-image: url(../image/bg-photo-sp.webp);
        background-repeat: no-repeat;
        background-size: cover;
        width: 100%
    }

    .p-visual__logo {
        bottom: 5%;
        right: 5%;
        width: 70%
    }

    .p-visual__scroll {
        bottom: 5%
    }

    .p-visual__scroll span {
        color: #fff;
        font-size: 3.7333333333vw
    }

    .p-visual__scroll:after {
        background-color: #fff
    }

    .p-visual__inner {
        padding-left: 7%;
        padding-right: 7%
    }

    .p-visual__copy {
        margin: 10% 0 63%;
        padding: 10% 5%
    }

    .p-visual__sub {
        font-size: 3.7333333333vw;
    }

    .p-visual__sub .u-raleway {
        font-size: 5.8666666667vw;
    }

    .p-visual__ttl {
        font-size: 5.3333333333vw;
    }

    .p-visual__ttl .large {
        font-size: 14.6666666667vw;
        line-height: 1.2;
    }

    .p-visual__ttl .medium {
        font-size: 11.2vw
    } */

    .c-ttl {
        font-size: calc(18 / 375 * 100vw);
    }

    .c-ttl__deco {
        bottom: 2px;
        font-size: 13.8666666667vw;
        line-height: 1;
    }

    .c-ttl__deco--two {
        bottom: 8vw;
    }

    .c-ttl__deco--second {
        bottom: 8.666667vw;
    }

    .c-ttl__deco--third {
        bottom: -13.2vw;
    }

    .swiper-button-prev,
    .swiper-button-next {
        height: 10% !important;
        width: 10% !important;
    }

    .swiper-button-prev:after,
    .swiper-button-next:after {
        width: 100% !important;
    }

    .swiper-button-next,
    .swiper-rtl .swiper-button-prev {
        right: 3%;
    }

    .swiper-button-prev,
    .swiper-rtl .swiper-button-next {
        left: 3%;
    }

    .p-access__pic img {
        width: 100%;
        margin-bottom: 20px;
    }

    .p-about {
        padding-bottom: 10%;
        padding-top: 10%
    }

    .p-about__inner {
        padding-left: 0;
        padding-right: 0
    }

    .p-about__ttl {
        margin-bottom: 5%;
        padding-left: 5%;
        padding-right: 5%
    }

    .p-about__wrapper {
        flex-direction: column
    }

    .p-about__pic {
        width: 100%
    }

    .p-about__img {
        margin-bottom: 5%;
        padding-left: 5%;
        padding-right: 5%
    }

    .p-about__copy {
        margin: 0;
        padding: 10% 5%;
        width: 100%
    }

    .p-about__cap {
        font-size: calc(18 / 375 * 100vw);
        margin-left: 0;
        margin-right: 0;
        margin-top: 0;
        padding: 5%;
        width: 100vw
    }

    .p-point {
        padding-bottom: 10%;
        padding-top: 10%;
    }

    .p-point__ttl {
        margin-bottom: 5%;
    }

    .p-point__item:nth-of-type(odd) .p-point-item__top {
        -webkit-transform: none;
        transform: none
    }

    .p-point__item:nth-of-type(2n) .p-point-item__top {
        margin-left: auto;
        margin-right: auto
    }

    .p-point__item:not(:last-of-type) {
        margin-bottom: 12%
    }

    .p-point-item:nth-of-type(2) .p-point-item__wrapper {
        flex-direction: column
    }

    .p-point-item__wrapper {
        flex-direction: column;
        margin-top: -13%
    }

    .p-point-item__copy {
        margin-bottom: 4%;
        width: 100%
    }

    .p-point-item__pic {
        width: 100%
    }

    .p-point-item__top {
        height: 42.2666666667vw;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 5%;
        width: 42.2666666667vw
    }

    .p-point-item__icon {
        margin-bottom: 5%;
        width: 6vw;
    }

    .p-point-item__icon.w-56 {
        width: 12.9333333333vw;
    }

    .p-point-item__icon.w-72 {
        width: 19.2vw
    }

    .p-point-item__catch {
        font-size: calc(18 / 375 * 100vw);
        margin-bottom: 10%
    }

    .p-point-item__number {
        font-size: calc(12 / 375 * 100vw);
    }

    .p-point-item__ttl {
        font-size: calc(16 / 375 * 100vw);
    }

    .p-point-item__text:not(:last-of-type) {
        margin-bottom: 10%
    }

    .p-point-item__caution {
        font-size: 3.7333333333vw;
        margin-top: -8%;
        text-align: left
    }


    .p-point .gradation_area {
        position: relative;
        z-index: 0;
    }

    .p-point .gradation_area .readmore {
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        padding: 30% 0 4%;
        text-align: center;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 50%);
        cursor: pointer;
        z-index: 999;
    }

    .p-point .gradation_area .readmore span {
        border-radius: 8px;
        padding: 2.5% 20%;
        color: #333;
        border: 1px solid #333;
        background: rgb(255 255 255 / 80%);
        font-size: calc(14 / 375 * 100vw);
    }

    .p-point .gradation_area.onhidden {
        height: 350px;
        overflow-y: hidden;
    }



    .p-cnv {
        background-position: 50%;
        background-repeat: no-repeat;
        background-size: auto 100%;
        padding-bottom: 10%;
        padding-top: 10%
    }


    .p-cp__subttl {
        font-size: calc(16 / 375 * 100vw);
        padding: 3% 5%;
        margin-bottom: 5%;
        display: inline-block !important;
        line-height: 1.2;
    }

    .p-cnv__ttl {
        font-size: calc(16 / 375 * 100vw);
        margin-bottom: 4%;
    }

    .p-cnv__tel {
        margin-bottom: 5%;
    }

    .p-cnv-tel {
        flex-direction: column
    }

    .p-cnv-tel__cap {
        font-size: calc(14 / 375 * 100vw);
        margin-bottom: 0;
        margin-right: 0
    }

    .p-cnv-tel__icon {
        margin-bottom: 7%;
        margin-right: 2%;
        width: 1em
    }

    .p-cnv-tel__meta {
        flex-direction: column;
        white-space: nowrap
    }

    .p-cnv-tel__number {
        font-size: 7.0666666667vw;
        margin-top: 4%;
        margin-bottom: 4%
    }

    .p-cnv-tel__time {
        font-size: 3.7333333333vw
    }

    .p-cnv-contact {
        font-size: 5.3333333333vw;
        margin-right: 0;
        padding: 1em;
        width: 88%;
        justify-content: center;
    }

    .p-cnv-contact__text {
        font-size: calc(16 / 375 * 100vw);
        margin-right: 8%;
        white-space: nowrap
    }

    .p-cnv-contact__icon {
        height: 5.3333333333vw;
        right: 5.3333333333vw;
        width: 5.3333333333vw
    }

    .p-collabo {
        padding-bottom: 10%;
        /* padding-top: 8% */
    }

    .p-collabo__ttl {
        font-size: calc(16 / 375 * 100vw);
        margin-bottom: 1%;
        margin-top: 10%;
        padding: 4% 5% 5%;
        text-align: center;
    }

    .p-collabo__ttl:before {
        border-width: 5vw 5vw 0
    }

    .p-collabo__subttl {
        font-size: 4.8vw;
        margin-bottom: 5%;
        margin-top: 12%;
    }

    .p-collabo__logos {
        flex-direction: column;
        margin-bottom: 0;
        margin-top: 5%;
    }

    .p-collabo__cross {
        margin: .8em 0 1.4em;
        width: 2em
    }

    .p-collabo__logo {
        padding-left: 0;
        width: 48vw
    }

    .p-collabo__logo--company {
        margin-top: -10%;
        padding-left: 0;
        padding-top: 0;
        width: 68vw
    }

    .p-collabo__wrapper {
        flex-direction: column
    }

    .p-collabo__copy {
        margin-bottom: 5%;
        margin-right: 0;
        width: 100%
    }

    .p-collabo__pic {
        width: 100%
    }

    .p-collabo__catch {
        font-size: calc(16 / 375 * 100vw);
        margin-bottom: 4%;
        margin-top: 5%;
    }

    .p-collabo__text {
        line-height: 2
    }

    .p-check {
        padding-bottom: 10%;
        padding-top: 10%;
    }

    .p-check__ttl {
        margin-bottom: 5%;
        margin-top: 0;
    }

    .p-check__ttl .c-ttl__deco {
        bottom: 7.2vw;
    }

    .p-check__top {
        flex-direction: row;
        justify-content: space-between;
    }

    .p-check__item:first-of-type,
    .p-check__item:nth-of-type(2),
    .p-check__item:nth-of-type(4) {
        margin-right: 0;
    }

    /* .p-check__item:nth-of-type(5) {
        width: 100%;
    } */

    .p-check__item {
        margin-bottom: 2%;
        width: 49%;
    }

    .p-check__item p {
        font-size: calc(12 / 375 * 100vw);
        line-height: 1.8;
    }

    .p-check-item {
        padding: 6% 3%;
    }

    .p-check-item__icon {
        height: 16.6666666667vw;
        margin-bottom: 5%;
    }

    .p-check-item__icon.small {
        height: 16.6666666667vw;
        width: auto;
        margin: 0 0 5% 0;
    }

    .p-check-item__ttl {
        font-size: calc(14 / 375 * 100vw);
        margin-bottom: 3%
    }

    .p-check-item__ttl .small {
        font-size: calc(12 / 375 * 100vw);
    }

    .p-gallery {
        flex-wrap: wrap;
        padding-bottom: 0;
        padding-top: 0
    }

    .p-gallery__img:nth-of-type(4) {
        border-bottom: 2px solid #fff;
        width: 100%
    }

    .p-gallery__img:nth-of-type(5) {
        border-right: 1px solid #fff;
        width: 50%
    }

    .p-gallery__img:nth-of-type(6) {
        border-left: 1px solid #fff;
        width: 50%
    }

    .p-plan {
        padding-bottom: 10%;
        padding-top: 10%;
    }

    .p-plan__ttl {
        margin-bottom: 5%;
        padding-left: 2%;
        padding-right: 2%
    }

    .p-plan__inner {
        padding-left: 0;
        padding-right: 0
    }

    .p-plan__sp {
        display: block
    }

    .p-plan__list {
        -ms-overflow-style: none;
        margin-bottom: 12%;
        overflow-x: scroll;
        overflow-y: hidden;
        padding-bottom: 2%;
        padding-left: 5%;
        padding-right: 5%;
        scrollbar-width: none
    }

    .p-plan__list::-webkit-scrollbar {
        display: none
    }

    .p-plan__item {
        flex-shrink: 0;
        margin-right: 3%;
        width: 96%
    }

    .p-plan__drop {
        width: 90%;
    }

    /* .p-plan__drop, */
    .p-plan__sub {
        padding-left: 6%;
        padding-right: 6%
    }

    .p-plan__sub {
        font-size: calc(16 / 375 * 100vw);
        margin-bottom: 5%;
        text-align: center
    }

    .p-plan__sub .small {
        font-size: calc(14 / 375 * 100vw);
    }

    .p-plan-drop {
        border-radius: 10px;
    }

    .p-plan-drop__main {
        font-size: 5.8666666667vw;
        padding: 5% 3%
    }

    .p-plan-drop__sub {
        margin-right: 0;
        width: 100%
    }

    .p-plan-drop__pic {
        width: 100%
    }

    .p-plan-drop__label {
        font-size: 3.7333333333vw
    }

    .p-plan-drop__top {
        font-size: 5.3333333333vw;
        padding-top: 5%
    }

    .p-plan-drop__top .small {
        font-size: 4.2666666667vw
    }

    .p-plan-drop__top .large {
        font-size: 5.8666666667vw
    }

    .p-plan-drop__bottom {
        margin-bottom: 4.2666666667vw
    }

    .p-plan-drop__wrapper {
        flex-direction: column-reverse;
        padding: 5% 6%;
    }

    .p-plan-drop__tag {
        margin-bottom: 2%;
        padding: 3% 0
    }

    .p-plan-item {
        border-radius: 10px
    }

    .p-plan-item__top {
        padding: 5% 0;
    }

    .p-plan-item__ttl {
        font-size: calc(18 / 375 * 100vw);
        margin-bottom: 2%
    }

    .p-plan-item__pic {
        margin-bottom: 10%
    }

    .p-plan-item__label {
        font-size: 3.7333333333vw;
        padding: .4em 1em
    }

    .p-plan-item__bottom {
        padding: 4% 6%;
    }


    .p-plan-item__price {
        margin-top: 9%;
        margin-bottom: 9%;
        /* white-space: nowrap */
    }

    .p-plan-item__price .large {
        font-size: calc(32 / 375 * 100vw);
    }

    .p-plan-item__price .middle {
        font-size: calc(20 / 375 * 100vw);
    }

    .p-plan-item__price .small {
        font-size: calc(14 / 375 * 100vw);
        font-weight: 700;
        margin-left: -.4em;
        margin-right: -.4em
    }

    .p-plan-item__plus {
        font-size: 5.8666666667vw
    }

    .p-plan-item__text {
        height: 13.3333333333vw;
        margin-bottom: 8%;
        width: 100%
    }

    .p-plan-item__table {
        margin-bottom: 10%
    }

    .p-plan-item__tag {
        padding: 3% 0
    }

    .p-plan-item:nth-of-type(1) .p-plan-item__price {
        margin-bottom: 4%;
    }

    .p-plan-item:nth-of-type(2) .p-plan-item__price {
        margin-bottom: 4%;
    }


    .p-plan__list02 {
        width: 100%;
    }

    .p-plan__item02 {
        width: 100%;
        margin-bottom: 5%;
    }

    .p-location {
        padding-bottom: 10%;
        padding-top: 10%;
    }

    .p-location__list {
        justify-content: flex-start;
    }

    .p-location__item {
        width: 46%;
        margin-bottom: 2%;
    }

    .p-location__text {
        text-align: justify;
        line-height: 2;
    }

    .p-service02 {
        padding-bottom: 10%;
        padding-top: 10%;
    }

    .p-service02__list {
        justify-content: space-between;
    }

    .p-service02__item {
        width: 49%;
        margin-bottom: 2%;
        margin-right: 0;
    }

    .p-facility {
        padding-bottom: 0;
        padding-top: 10%;
    }

    .p-facility__ttl {
        margin-bottom: 6%
    }

    .p-facility__list {
        flex-direction: column
    }

    .p-facility__item {
        margin-bottom: 14%;
        width: 100%
    }

    .p-facility-item__pic {
        margin-bottom: 2%
    }

    .p-facility-item__label {
        font-size: 4.3333333333vw
    }

    .p-facility-item__ttl {
        font-size: calc(16 / 375 * 100vw);
        margin-bottom: 2%
    }

    .p-facility-item__ttl .small {
        font-size: calc(14 / 375 * 100vw);
    }

    .p-service {
        padding-bottom: 10%;
        padding-top: 10%;
    }

    .p-service__ttl {
        margin-bottom: 10%
    }

    .p-service__item {
        width: 49%
    }

    .p-service__item:not(:nth-of-type(3n)) {
        margin-right: 0;
    }

    .p-service__item:not(:nth-of-type(2n)) {
        margin-right: 0;
    }

    .p-service-item {
        padding: 5% 3%;
    }

    .p-service-item__img {
        height: 12vw;
        margin-bottom: 2.1333333333vw
    }

    .p-service-item__ttl {
        font-size: calc(14 / 375 * 100vw);
    }

    .p-service-item__body {
        font-size: calc(12 / 375 * 100vw);
    }

    .p-deco {
        padding-bottom: 5%;
        padding-top: 5%
    }

    .p-deco__pic {
        margin-right: 0;
        width: 70%
    }

    .p-deco__logo {
        margin-left: -30%;
        width: 60%
    }

    .p-price {
        padding-bottom: 10%;
        padding-top: 10%;
    }

    .p-price__inner {
        padding-left: 0;
        padding-right: 0;
    }

    .p-price__ttl {
        margin-bottom: 5%
    }

    .p-price__text,
    .p-price__ttl {
        padding-left: 5%;
        padding-right: 5%
    }

    .p-price__text {
        margin-bottom: 16%;
        text-align: left
    }

    .p-price__back {
        padding: 13% 5% 5%;
    }

    .p-price__subttl {
        margin-left: auto;
        margin-right: auto;
        padding: .8em 0;
        width: 80%;
        font-size: calc(16 / 375 * 100vw);
    }

    .p-price__subtext {
        font-size: 4.8vw;
        margin-bottom: 5%
    }

    .p-price__pic1 {
        margin-bottom: 3%
    }

    .p-price__pic2 {
        width: 100%
    }

    .p-price_cp {
        font-size: calc(20 / 375 *100vw);
        font-weight: bold;
        line-height: 1.8;
    }

    .c-ttl__cp {
        padding: 1% 2%;
        margin: 0 1%;
    }

    .p-match {
        padding-bottom: 5%;
        padding-top: 10%;
    }


    .p-match__inner {
        padding-left: 0;
        padding-right: 0
    }

    .p-match__ttl {
        margin-bottom: 5%;
    }

    .p-match__text,
    .p-match__ttl {
        padding-left: 5%;
        padding-right: 5%
    }

    .p-match__text {
        font-size: calc(14 / 375 * 100vw);
        margin-bottom: 2%;
        text-align: left
    }

    .p-match__case {
        margin-bottom: 5%;
    }

    .p-match .gradation_area.onhidden {
        height: 400px;
    }


    .p-match-case {
        padding: 5%
    }

    .p-match-case__top {
        flex-direction: column;
        margin-bottom: 6%
    }

    .p-match-case__copy {
        padding-top: 5%
    }

    .p-match-case__number {
        font-size: calc(32 / 375 * 100vw);
        margin-bottom: 6%
    }

    .p-match-case__pic {
        width: 100%
    }

    .p-match-case__labels {
        margin-bottom: 5%
    }

    .p-match-case__label {
        font-size: 3.7333333333vw;
        white-space: nowrap
    }

    .p-match-case__ttl {
        font-size: calc(16 / 375 * 100vw);
        line-height: 1.7;
        margin-bottom: 5%
    }

    .p-match-case__middle {
        background-color: #65b5c3;
        flex-direction: column;
        margin-bottom: 5%;
        padding: 8% 5% 13%
    }

    .p-match-case__middle-pic {
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 10%;
        padding-left: 0;
        width: 40%
    }

    .p-match-case__middle-cap {
        color: #fff;
        font-size: 3.7333333333vw
    }

    .p-match-case__middle-copy {
        color: #fff;
        padding-top: 5%;
        width: 100%
    }

    .p-match-case__bottom {
        align-items: center;
        flex-direction: column
    }

    .p-match-case .p-match-bottom {
        width: 100%
    }

    .p-match-case__cross2 {
        margin-bottom: 5%;
        margin-top: 5%;
        width: 15%
    }

    .p-match-bottom {
        padding: 9% 5% 5%
    }

    .p-match-bottom__pic {
        margin-bottom: 11%;
        padding-bottom: 5%;
        width: 48%
    }

    .p-faq {
        padding-bottom: 5%;
        padding-top: 10%;
    }

    .p-faq__item,
    .p-faq__ttl {
        margin-bottom: 5%
    }

    .p-faq__item {
        width: 100%
    }

    .p-faq__sum {
        font-size: calc(14 / 375 * 100vw);
        padding: 5% 14% 5% 14%;
    }

    .p-faq__sum:before {
        height: 2px;
        right: 5.3333333333vw;
        width: 5.3333333333vw
    }

    .p-faq__sum:after {
        height: 5.3333333333vw;
        right: 7.7333333333vw;
        width: 2px
    }

    .p-faq__marker {
        height: 8.1333333333vw;
        left: 2.6666666667vw;
        width: 8.1333333333vw
    }

    .p-faq__body {
        line-height: 2;
        padding: 7% 5%;
    }

    .p-access {
        padding-bottom: 10%;
        padding-top: 10%;
    }

    .p-access__ttl {
        margin-bottom: 8%
    }

    .p-access__wrapper {
        flex-direction: column
    }

    .p-access__copy {
        margin-bottom: 5%;
        padding-left: 0;
        width: 100%
    }

    .p-access__name {
        font-size: 5.3333333333vw
    }

    .p-access__address,
    .p-access__name {
        margin-bottom: 5%;
        line-height: 1.5;
    }

    .p-access__detail {
        font-size: 3.7333333333vw;
        margin-bottom: 10%;
    }

    .p-access__map {
        padding-top: 100%;
        width: 100%
    }

    .p-access-contact__ttl {
        font-size: 3.7333333333vw;
    }

    .p-access-contact__link {
        font-size: 8vw;
        margin-bottom: 0;
    }

    .p-access-contact__link .small {
        font-size: 5.3333333333vw;
    }

    .p-access-contact__text {
        font-size: 3.7333333333vw
    }

    .p-contact__ttl {
        margin-bottom: 5%;
        margin-top: 10%;
    }

    .p-contact__appeal {
        font-size: calc(20 / 375 * 100vw);
        line-height: 1.3;
        margin-bottom: 0;
        padding-bottom: 4%;
        padding-top: 5%
    }

    .c-subttl_cp {
        font-size: calc(14 / 375 *100vw);
        padding: .5% 2%;
        display: inline-block;
        margin-bottom: 2%;
    }

    .p-contact__appeal:before {
        border-width: 5vw 5vw 0
    }

    .p-contact form#mail_form {
        padding-left: 5%;
        padding-right: 5%;
        width: 100%;
        margin-top: 0;
        margin-bottom: 5%;
    }

    .p-contact form#mail_form dl {
        margin: 0 0 5%
    }

    .p-contact form#mail_form ul li label {
        padding: 5% 2%
    }

    .p-contact form#mail_form dl dt {
        margin-bottom: 4%;
        padding: 2.5% 5%;
        width: 100%
    }

    .p-contact form#mail_form dl dd {
        padding: 0;
        width: 100%
    }

    .p-contact form#mail_form input {
        box-sizing: border-box
    }

    .p-contact form#mail_form input[type=email],
    .p-contact form#mail_form input[type=tel],
    .p-contact form#mail_form input[type=text] {
        height: 56px;
        width: 100%
    }

    .p-contact #agree_check {
        font-size: 3.2vw
    }

    .p-contact .form_submit_button_icon {
        right: 10.6666666667vw;
        width: 5.3333333333vw
    }

    .p-contact form#mail_form input[type=button] {
        font-size: 5.3333333333vw;
        padding: 5% 20%
    }

    .p-copylight {
        font-size: 3.2vw
    }

    .back_box {
        max-width: 768px
    }

    .back_box .page_top a {
        bottom: 16px;
    }

    .p-cnv-tel .u-hidden-sp {
        display: none !important;
    }

    .p-cnv-tel .u-hidden-pc {
        display: flex !important;
    }
}

@media screen and (max-width:1000px) {

    .p-contact form#mail_form dl dt {
        float: left
    }

    .p-contact form#mail_form dl dd {
        float: right
    }
}