@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@700&family=Teko:wght@500&display=swap');
html {
    font-size: 62.5%;
}

body {
    color: #000;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 400;
    font-family: 'Noto Sans JP', sans-serif;
}

.body-wrapper {
    position: relative;
    overflow-x: hidden;
}

figure {
    line-height: 0;
}

.sp,
.tb {
    display: none;
}

@media screen and (max-width: 768px) {
    .tb {
        display: block;
    }
    .pc {
        display: none;
    }
}

@media screen and (max-width: 480px) {
    .sp {
        display: block;
    }
    .sp-hide {
        display: none;
    }
}

.wrapper,
.container,
.inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}

.wrapper {
    max-width: 1190px;
}

.container {
    max-width: 966px;
}

.inner {
    max-width: 870px;
}

.d-block {
    display: block !important;
}

.d-flex {
    display: flex !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-start {
    align-items: flex-start !important;
}

.align-items-end {
    align-items: flex-end !important;
}

.flex-row-reverse {
    flex-direction: row-reverse !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.position-relative {
    position: relative !important;
}

.flex-1 {
    flex: 1;
}

.font-weight-bold {
    font-weight: 700 !important;
}

.f-min {
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
}

.f-num {
    font-family: 'Teko', sans-serif;
    font-weight: 500;
}

.underdline {
    text-decoration: underline !important;
    color: blue;
}

.f-12 {
    font-size: 1.2rem;
}

.f-14 {
    font-size: 1.2rem !important;
}

.f-18 {
    font-size: 1.8rem !important;
}

.f-20 {
    font-size: 2rem !important;
}

.f-22 {
    font-size: 2.2rem !important;
}

.f-24 {
    font-size: 2.4rem !important;
}

.f-26 {
    font-size: 2.6rem !important;
}

.f-28 {
    font-size: 2.8rem !important;
}

.f-30 {
    font-size: 3rem !important;
}

.f-34 {
    font-size: 3.4rem !important;
}

@media screen and (max-width: 768px) {
    body {
        font-size: 1.4rem !important;
    }
    .f-14 {
        font-size: 1.1rem !important;
    }
    .f-18 {
        font-size: 1.5rem !important;
    }
    .f-20 {
        font-size: 1.8rem !important;
    }
    .f-22 {
        font-size: 1.9rem !important;
    }
    .f-24 {
        font-size: 2rem !important;
    }
    .f-26 {
        font-size: 2.1rem !important;
    }
    .f-28 {
        font-size: 2.2rem !important;
    }
    .f-30 {
        font-size: 2.3rem !important;
    }
    .f-34 {
        font-size: 2.5rem !important;
    }
}

@media screen and (max-width: 480px) {
    body {
        font-size: 1.4rem !important;
    }
    .f-12 {
        font-size: 1.1rem !important;
    }
    .f-14 {
        font-size: 1.2rem;
    }
    .f-16 {
        font-size: 1.3rem !important;
    }
    .f-20 {
        font-size: 1.6rem !important;
    }
    .f-22,
    .f-24 {
        font-size: 1.8rem !important;
    }
    .f-26,
    .f-28 {
        font-size: 1.9rem !important;
    }
    .f-30 {
        font-size: 2rem !important;
    }
    .f-34 {
        font-size: 2.2rem !important;
    }
}

.col-white {
    color: #fff !important;
}

.col-dark {
    color: #422e1c !important;
}

.col-brown {
    color: #5c472a !important;
}

.col-red {
    color: #ff255e !important;
}

.col-pink {
    color: #ff7aae !important;
}

.bg-white {
    background: #fff !important;
}

.bg-grey {
    background: #e6e6e6 !important;
}

.bg-blue {
    background: #7e48c1 !important;
}


/********************************************************
************************ Header *************************
********************************************************/

header .wrapper {
    padding: 10px 15px 10px 0;
}

.header_logo img {
    width: 200px;
}

.header_logo p {
    font-size: 1.4rem;
    font-weight: bold;
    color: #91744c;
}

.header_right .tel_btn {
    line-height: 1.2;
    color: #5c472a;
}

.header_right .line_btn {
    width: 290px;
    height: 60px;
    margin-left: 20px;
    color: #fff;
    background: #00b900;
    border-radius: 60px;
    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    -ms-border-radius: 60px;
    -o-border-radius: 60px;
}

@media screen and (max-width: 1024px) {
    .header_right .tel_btn {
        width: 220px;
        height: 55px;
        color: #fff;
        background: #ff74a1;
        border-radius: 50px;
        -webkit-border-radius: 50px;
        -moz-border-radius: 50px;
        -ms-border-radius: 50px;
        -o-border-radius: 50px;
    }
    .header_right .line_btn {
        width: 220px;
        height: 55px;
        margin-left: 6px;
    }
}

@media screen and (max-width: 768px) {
    .header_right .tel_btn,
    .header_right .line_btn {
        width: 200px;
        height: 50px;
    }
    .header_right .line_btn figure {
        width: 38px;
    }
}

@media screen and (max-width: 600px) {
    .header_right .tel_btn,
    .header_right .line_btn {
        width: 50px;
        height: 50px;
    }
    .header_right .tel_btn .f-14,
    .header_right .tel_btn .tel_num span,
    .header_right .line_btn p {
        display: none;
    }
}


/********************************************************
************************ Footer *************************
********************************************************/


/*************************************/

footer {
    background: #ff74a1;
    color: #fff;
}

.cmn-contact_instagram a {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 620px;
    text-align: center;
    padding: 4px;
    margin-bottom: 2rem;
    background: linear-gradient(90deg, rgba(128,0,255,1) 0%, rgba(255,50,113,1) 50%, rgba(254,255,0,1) 100%);
    box-shadow: 6px 6px 2px #bfbfbf;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
}

.cmn-contact_instagram a:hover {
    top: 6px;
    box-shadow: none;
}

.cmn-contact_instagram a img {
    vertical-align: -35px;
}

.cmn-contact_yuriclinic a {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 620px;
    text-align: center;
    padding: 4px;
    margin-bottom: 2rem;
    background: linear-gradient(90deg, rgba(187,135,86,1) 0%, rgba(208,167,138,1) 100%);
    box-shadow: 6px 6px 2px #fff;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
}

.cmn-contact_yuriclinic a:hover {
    top: 6px;
    box-shadow: none;
}

.cmn-contact_yuriclinic a img {
    vertical-align: -35px;
}

.cmn-contact_ashiya a {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 620px;
    text-align: center;
    padding: 4px;
    margin-bottom: 2rem;
    background: linear-gradient(90deg, rgba(86,187,116,1) 0%, rgba(138,208,166,1) 100%);
    box-shadow: 6px 6px 2px #fff;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
}

.cmn-contact_ashiya a:hover {
    top: 6px;
    box-shadow: none;
}

.cmn-contact_ashiya a img {
    vertical-align: -35px;
}


.cmn-contact_line a {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 620px;
    text-align: center;
    padding: 4px;
	margin-bottom: 2rem;
    background: #00b900;
    box-shadow: 6px 6px 2px #109010;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
}

.cmn-contact_line a:hover {
    top: 6px;
    box-shadow: none;
}

.cmn-contact_line a img {
    vertical-align: -35px;
}

.cmn-contact_tel {
    margin-top: 30px;
}

.cmn-contact_tel a {
    display: inline-block;
    padding: 5px 20px;
    border-bottom: 2px solid #5c472a;
}

@media screen and (max-width: 768px) {
    .cmn-contact_tel {
        margin-top: 20px;
    }
    .cmn-contact_tel a {
        position: relative;
        width: 100%;
        max-width: 620px;
        padding: 12px;
        color: #fff;
        background: #ff74a1;
        border-bottom: none;
        box-shadow: 6px 6px 2px #d66591;
        border-radius: 100px;
        -webkit-border-radius: 100px;
        -moz-border-radius: 100px;
        -ms-border-radius: 100px;
        -o-border-radius: 100px;
    }
    .cmn-contact_tel a:hover {
        top: 6px;
        box-shadow: none;
    }
    .cmn-contact_tel a .col-red {
        color: #fff !important;
        font-size: 3.4rem !important;
    }
}

@media screen and (max-width: 480px) {
	.cmn-contact_instagram a {
        padding: 15px 5px;
    }
    .cmn-contact_instagram a img {
        width: 50px;
        vertical-align: -20px;
    }
	.cmn-contact_yuriclinic a {
        padding: 15px 5px;
    }
    .cmn-contact_yuriclinic a img {
        width: 50px;
        vertical-align: -20px;
    }

    .cmn-contact_line a {
        padding: 15px 5px;
    }
    .cmn-contact_line a img {
        width: 50px;
        vertical-align: -20px;
    }
    .cmn-contact_tel a .col-red {
        font-size: 2.4rem !important;
    }
}

.mv::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 135px;
    width: 100%;
    background: url(../img/mv_bg.png?20250801) no-repeat center / cover;
    z-index: -1;
}

.mv_copy {
    width: 67%;
}

.mv_copy h1 {
    position: absolute;
    left: 20%;
    top: 3%;
    width: 86%;
    max-width: 280px;
    text-align: center;
	background: #ff64a5;
    border-radius: 25px;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    -ms-border-radius: 25px;
    -o-border-radius: 25px;
}

.mv_copy-tag {
    position: relative;
    padding-left: 14%;
}

.mv_copy-tag p {
    width: auto;
    margin-right: 10px;
    padding: 8px;
    text-align: center;
    color: #fff;
    background: #ff64a5;
}

.mv_copy-txt {
    position: relative;
    padding-left: 14%;
    text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
}

.mv_copy-txt .col-white {
    text-shadow: rgb(255, 116, 161) 5px 0px 0px, rgb(255, 116, 161) 4.90033px 0.993347px 0px, rgb(255, 116, 161) 4.60531px 1.94709px 0px, rgb(255, 116, 161) 4.12668px 2.82321px 0px, rgb(255, 116, 161) 3.48353px 3.58678px 0px, rgb(255, 116, 161) 2.70151px 4.20736px 0px, rgb(255, 116, 161) 1.81179px 4.6602px 0px, rgb(255, 116, 161) 0.849836px 4.92725px 0px, rgb(255, 116, 161) -0.145998px 4.99787px 0px, rgb(255, 116, 161) -1.13601px 4.86924px 0px, rgb(255, 116, 161) -2.08073px 4.54649px 0px, rgb(255, 116, 161) -2.94251px 4.04248px 0px, rgb(255, 116, 161) -3.68697px 3.37732px 0px, rgb(255, 116, 161) -4.28444px 2.57751px 0px, rgb(255, 116, 161) -4.71111px 1.67494px 0px, rgb(255, 116, 161) -4.94996px 0.7056px 0px, rgb(255, 116, 161) -4.99147px -0.291871px 0px, rgb(255, 116, 161) -4.83399px -1.27771px 0px, rgb(255, 116, 161) -4.48379px -2.2126px 0px, rgb(255, 116, 161) -3.95484px -3.05929px 0px, rgb(255, 116, 161) -3.26822px -3.78401px 0px, rgb(255, 116, 161) -2.4513px -4.35788px 0px, rgb(255, 116, 161) -1.53666px -4.75801px 0px, rgb(255, 116, 161) -0.560763px -4.96845px 0px, rgb(255, 116, 161) 0.437495px -4.98082px 0px, rgb(255, 116, 161) 1.41831px -4.79462px 0px, rgb(255, 116, 161) 2.34258px -4.41727px 0px, rgb(255, 116, 161) 3.17346px -3.86382px 0px, rgb(255, 116, 161) 3.87783px -3.15633px 0px, rgb(255, 116, 161) 4.4276px -2.32301px 0px, rgb(255, 116, 161) 4.80085px -1.39708px 0px, rgb(255, 116, 161) 4.98271px -0.415447px 0px;
}

.mv_copy-txt .f-lg {
    font-size: 150%;
}

@media screen and (max-width: 1024px) {
    .mv_copy {
        width: 75%;
        margin-left: 0;
    }
}

@media screen and (max-width: 768px) {
    .mv_copy {
        width: 100%;
    }
    .mv::before {
        background: url(../img/mv_bg-sp.png?20250801) no-repeat center bottom / cover;
    }
    .mv_copy-ttl img {
        max-width: 65%;
		padding-top: 2rem;
    }
    .mv_copy h1 {
		top: 3%;
		left: 10%;
    }
    .mv_copy-tag {
        margin-top: 3vw;
        padding-left: 5%;
    }
    .mv_copy-txt {
        padding-left: 0;
    }
}

@media screen and (max-width: 480px) {
    .mv_copy-txt {
        text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
    }
    .mv_copy-txt .col-white {
        text-shadow: rgb(255, 116, 161) 3px 0px 0px, rgb(255, 116, 161) 2.83487px 0.981584px 0px, rgb(255, 116, 161) 2.35766px 1.85511px 0px, rgb(255, 116, 161) 1.62091px 2.52441px 0px, rgb(255, 116, 161) 0.705713px 2.91581px 0px, rgb(255, 116, 161) -0.287171px 2.98622px 0px, rgb(255, 116, 161) -1.24844px 2.72789px 0px, rgb(255, 116, 161) -2.07227px 2.16926px 0px, rgb(255, 116, 161) -2.66798px 1.37182px 0px, rgb(255, 116, 161) -2.96998px 0.42336px 0px, rgb(255, 116, 161) -2.94502px -0.571704px 0px, rgb(255, 116, 161) -2.59586px -1.50383px 0px, rgb(255, 116, 161) -1.96093px -2.27041px 0px, rgb(255, 116, 161) -1.11013px -2.78704px 0px, rgb(255, 116, 161) -0.137119px -2.99686px 0px, rgb(255, 116, 161) 0.850987px -2.87677px 0px, rgb(255, 116, 161) 1.74541px -2.43999px 0px, rgb(255, 116, 161) 2.44769px -1.73459px 0px, rgb(255, 116, 161) 2.88051px -0.838247px 0px;
    }
    .mv_copy-tag p {
        padding: 5px;
    }
    .mv_copy-tag p:last-of-type {
        margin-right: 0;
    }
}


/**************** campaign ***************/

.open-campaign {
    line-height: 1.2;
}

.open-campaign::before {
    content: '';
    position: absolute;
    left: 0;
    top: 30px;
    bottom: 0;
    width: 100%;
    background: url(../img/campaign_bg.jpg) no-repeat center / cover;
    z-index: -1;
}

.open-campaign2 {
    line-height: 1.2;
}

.open-campaign2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 30px;
    bottom: 0;
    width: 100%;
    background: url(../img/campaign_bg2.jpg) no-repeat center / cover;
    z-index: -1;
}


.open-campaign_cont {
    max-width: 956px;
    margin: 0 auto;
    padding: 0 15px;
}

.open-campaign_cont-head h2 {
    margin-left: 20px;
    padding-top: 30px;
    font-size: 6.6rem;
    font-weight: bold;
    color: #fdff30;
    text-shadow: rgb(19, 106, 136) 1px 0px 0px, rgb(19, 106, 136) 0.540302px 0.841471px 0px, rgb(19, 106, 136) -0.416147px 0.909297px 0px, rgb(19, 106, 136) -0.989992px 0.14112px 0px, rgb(19, 106, 136) -0.653644px -0.756802px 0px, rgb(19, 106, 136) 0.283662px -0.958924px 0px, rgb(19, 106, 136) 0.96017px -0.279415px 0px;
}

.open-campaign_cont .bg-white {
    padding: 10px 5%;
}

.open-campaign_cont-first {
    width: 48%;
}

.open-campaign_cont-second {
    width: 52%;
}

.open-campaign_cont--ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80px;
    padding: 10px 5px;
    border-bottom: 3px dotted #d9eff6;
    border-left: 3px dotted #d9eff6;
}

.open-campaign_cont-first .open-campaign_cont--ttl {
    padding-left: 15%;
    border-left: none;
}

.open-campaign_cont-second .open-campaign_cont--ttl {
    width: 50%;
}

.open-campaign_cont--main {
    padding: 10px 5px;
    border-left: 3px dotted #d9eff6;
}

.open-campaign_cont-first .open-campaign_cont--main {
    border-left: none;
}

.open-price_tag {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 128px;
    padding-right: 15px;
    background: url(../img/frame.png);
    background-size: 100% 100%;
}

.open-campaign_cont .regular-price {
    margin-left: 15px;
}

.open-campaign_cont .regular-price::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #000;
    transform: rotate(10deg);
    -webkit-transform: rotate(10deg);
    -moz-transform: rotate(10deg);
    -ms-transform: rotate(10deg);
    -o-transform: rotate(10deg);
}

.open-price {
    font-size: 4rem;
}

.open-price span {
    font-size: 200%;
}

.open-campaign_limit::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    top: 15px;
    width: 100%;
    background: #ff7599;
}

.open-campaign_limit p.col-yel {
    position: relative;
    z-index: 2;
    padding: 0 210px 10px;
    color: #fdff30;
    letter-spacing: .1em;
}

.open-campaign_limit p.col-yel span {
    text-shadow: rgb(255, 37, 94) 3px 0px 0px, rgb(255, 37, 94) 2.83487px 0.981584px 0px, rgb(255, 37, 94) 2.35766px 1.85511px 0px, rgb(255, 37, 94) 1.62091px 2.52441px 0px, rgb(255, 37, 94) 0.705713px 2.91581px 0px, rgb(255, 37, 94) -0.287171px 2.98622px 0px, rgb(255, 37, 94) -1.24844px 2.72789px 0px, rgb(255, 37, 94) -2.07227px 2.16926px 0px, rgb(255, 37, 94) -2.66798px 1.37182px 0px, rgb(255, 37, 94) -2.96998px 0.42336px 0px, rgb(255, 37, 94) -2.94502px -0.571704px 0px, rgb(255, 37, 94) -2.59586px -1.50383px 0px, rgb(255, 37, 94) -1.96093px -2.27041px 0px, rgb(255, 37, 94) -1.11013px -2.78704px 0px, rgb(255, 37, 94) -0.137119px -2.99686px 0px, rgb(255, 37, 94) 0.850987px -2.87677px 0px, rgb(255, 37, 94) 1.74541px -2.43999px 0px, rgb(255, 37, 94) 2.44769px -1.73459px 0px, rgb(255, 37, 94) 2.88051px -0.838247px 0px;
}

.open-campaign_limit p.col-yel span span {
    font-size: 180%;
}

.open-campaign_limit p.col-white {
    position: absolute;
    right: 0;
    bottom: 10px;
    width: 206px;
    padding: 5px;
    z-index: 2;
}

@media screen and (max-width: 768px) {
    .open-campaign_cont-head figure {
        width: 100px;
    }
    .open-campaign_cont-head h2 {
        margin-left: 10px;
        font-size: 6.5vw;
    }
    .open-campaign_cont .bg-white {
        padding: 0;
    }
    .open-campaign_cont-first,
    .open-campaign_cont-second {
        width: 100%;
    }
    .open-campaign_cont--ttl {
        height: 50px;
        padding: 5px !important;
        border: none !important;
        background: #5c472a;
        color: #fff;
    }
    .open-campaign_cont--main {
        padding: 10px 5%;
        text-align: center;
        border-left: none;
    }
    .open-campaign_limit p.col-yel {
        padding: 0 10px 5px;
    }
    .open-campaign_limit p.col-white {
        position: relative;
        bottom: 0;
        width: 100%;
        padding-bottom: 10px;
        text-align: center;
    }
}

@media screen and (max-width: 480px) {
    .open-campaign_cont-head h2 {
        font-size: 5.5vw;
    }
    .open-price_tag {
        width: 65px;
        height: 100px;
        padding-right: 5px;
    }
    .open-price {
        font-size: 2.4rem;
    }
    .open-campaign_cont-second .open-campaign_cont--ttl {
        width: 100%;
    }
    .regular {
        justify-content: center;
    }
}


/**************** feature ***************/

.feature {
    background: url(../img/feature_bg.jpg) no-repeat center / cover;
}

.feature-list_item {
    width: 32%;
    padding: 20px;
    background: #fff;
    border: 2px solid #9e7a48;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}

.feature-list_item-ttl {
    min-height: 150px;
    padding-top: 10px;
    margin-bottom: 25px;
}

.pink-line {
    background: linear-gradient(to top, #ff7aae 40%, #fff 40%);
}

@media screen and (max-width: 768px) {
    .feature-list_item {
        width: 100%;
        text-align: center;
    }
    .feature-list_item-ttl {
        min-height: 0;
    }
    .feature-list_item-ttl figure.w_100 {
        width: auto !important;
        margin-right: 10px;
    }
    .feature-list_item-ttl h3.w_100 {
        width: auto !important;
    }
}


/**************** point ***************/

.point {
    background: url(../img/point_bg.jpg) no-repeat center / cover;
}

.point-cont {
    padding: 35px 5%;
    background: #fff;
    border: 2px solid #ff255e;
}

.point-cont ul li {
    padding: 20px 15px;
    border: 2px solid #ff255e;
    overflow: hidden;
}

.point-cont ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 260px;
    height: 100%;
    background: #ffdfe5;
    transform: skewX(20deg);
    -webkit-transform: skewX(20deg);
    -moz-transform: skewX(20deg);
    -ms-transform: skewX(20deg);
    -o-transform: skewX(20deg);
    transform-origin: right bottom;
}

.point-cont ul li * {
    position: relative;
    z-index: 2;
}

.point-cont ul li .point_icon {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 75px;
    height: 75px;
    padding: 0 15px 15px 0;
    background: #ff255e;
    border-radius: 0 0 75px 0;
    -webkit-border-radius: 0 0 75px 0;
    -moz-border-radius: 0 0 75px 0;
    -ms-border-radius: 0 0 75px 0;
    -o-border-radius: 0 0 75px 0;
}

.point-cont ul li h3 {
    margin-right: 8%;
    font-size: 4rem;
    text-align: right;
    line-height: 1.2;
    font-weight: 900;
}

.point-cont ul li h3 .f-sm {
    font-size: 75%;
}

.pink-border-l {
    background: linear-gradient(to top, #ffbdc9 25%, #fff 25%);
}

@media screen and (min-width: 769px) {
    .point-cont ul li:nth-child(2)::before {
        left: auto;
        right: 0;
        transform-origin: right top;
    }
    .point-cont ul li:nth-child(2) .point_icon {
        left: auto;
        right: 0;
        padding: 0 0 15px 12px;
        border-radius: 0 0 0 75px;
        -webkit-border-radius: 0 0 0 75px;
        -moz-border-radius: 0 0 0 75px;
        -ms-border-radius: 0 0 0 75px;
        -o-border-radius: 0 0 0 75px;
    }
    .point-cont ul li:nth-child(2) h3 {
        margin: 0 4% 0 8%;
    }
}

@media screen and (max-width: 768px) {
    .point-cont ul li {
        padding: 0;
    }
    .point-cont ul li::before {
        display: none;
    }
    .point-cont ul li h3 {
        width: 100%;
        margin-right: 0;
        padding: 18px 10px 18px 90px;
        text-align: left;
        background: #ffdfe5;
    }
    .point-cont ul li .point_icon {
        z-index: 3;
    }
    .point-cont ul li .flex-1 {
        flex: none;
        width: 100%;
        padding: 15px;
    }
    .point-cont ul li .justify-content-end {
        justify-content: flex-start !important;
    }
}

@media screen and (max-width: 480px) {
    .point-cont ul li h3 {
        font-size: 2.4rem;
        padding-left: 50px;
    }
    .point-cont ul li .point_icon {
        width: 50px;
        height: 50px;
        padding: 0 10px 10px 0;
        border-radius: 0 0 50px 0;
        -webkit-border-radius: 0 0 50px 0;
        -moz-border-radius: 0 0 50px 0;
        -ms-border-radius: 0 0 50px 0;
        -o-border-radius: 0 0 50px 0;
    }
    .point-cont ul li .point_icon img {
        width: 30px;
    }
}


/**************** trouble ***************/

.trouble {
    text-align: center;
    background: #ffc9d1 url(../img/trouble_bg.png) no-repeat bottom / cover;
}

@media screen and (max-width: 768px) {
    .trouble {
        padding-bottom: 2rem;
        text-align: right;
        background: #ffc9d1 url(../img/trouble_bg-sp.png) no-repeat bottom / cover;
    }
    .trouble img {
        width: 90%;
    }
}


/***************** reason ******************/

.reason_ttl {
    padding: 10px 0;
    margin-bottom: 50px;
    background: #ffc9d1;
}

.reason_ttl::after {
    content: '';
    position: absolute;
    left: calc(50% - 72.5px);
    top: 100%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 42px 72.5px 0 72.5px;
    border-color: #ffc9d1 transparent transparent transparent;
}

.feature h2 .f-lg,
.reason_ttl .f-lg {
    font-size: 135%;
}

.reason_ttl p.col-red {
    margin-right: 15px;
    line-height: 1.2;
}

.reason_ttl p.col-red::before,
.reason_ttl p.col-red::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background: #ff255e;
}

.reason_ttl p.col-red::before {
    top: -2px;
    transform-origin: right bottom;
    transform: rotate(7deg);
    -webkit-transform: rotate(7deg);
    -moz-transform: rotate(7deg);
    -ms-transform: rotate(7deg);
    -o-transform: rotate(7deg);
}

.reason_ttl p.col-red::after {
    bottom: -2px;
    transform-origin: right top;
    transform: rotate(-7deg);
    -webkit-transform: rotate(-7deg);
    -moz-transform: rotate(-7deg);
    -ms-transform: rotate(-7deg);
    -o-transform: rotate(-7deg);
}

.reason-list_item-ttl {
    position: relative;
    max-width: 500px;
    margin: 0 auto;
}

.reason-list_item-ttl .num {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100px;
    height: 100px;
    margin-right: 20px;
    font-size: 1rem;
    line-height: 1.1;
    background: url(../img/reason_num.png);
    background-size: 100% 100%;
}

.reason-list_item-ttl .f-14 {
    position: absolute;
    left: 120px;
    bottom: 100%;
}

.reason-list_item-cheak {
    position: relative;
    max-width: 760px;
    margin: 0 auto;
    padding: 30px 5%;
    border: 1px solid #614623;
}

.reason-list_item-cheak .ttl {
    position: absolute;
    left: calc(50% - 40px);
    top: 0;
    width: 80px;
    text-align: center;
    background: #fff;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    z-index: 2;
}

.reason-list_item-cheak .ttl::before {
    content: '<';
    display: inline-block;
}

.reason-list_item-cheak .ttl::after {
    content: '>';
    display: inline-block;
}

.reason-list_item figure.w_50 {
    width: 49%;
}

.reason-list_item:last-of-type {
    padding: 0 15px;
    background: url(../img/reason_bg.jpg) no-repeat center / cover;
}

.reason-list_item:last-of-type .bg-white {
    max-width: 700px;
    margin: 0 auto;
    padding: 10px 50px 30px;
}

.reason-list_item-tag {
    position: absolute;
    left: calc(50% - 140px);
    top: 0;
    width: 280px;
    padding: 3px;
    text-align: center;
    color: #fff;
    background: #ff7aae;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
}

.reason-list_item-tag::after {
    content: '';
    position: absolute;
    left: calc(50% - 5px);
    top: 100%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 5px 0 5px;
    border-color: #ff7aad transparent transparent transparent;
}

@media screen and (max-width: 768px) {
    .reason_ttl {
        padding: 20px 0;
    }
    .reason_ttl::after {
        left: calc(50% - 33px);
        border-width: 26px 33px 0 33px;
    }
    .reason_ttl p.col-red::before,
    .reason_ttl p.col-red::after {
        width: 1px;
        height: 120%;
    }
    .reason_ttl p.col-red::before {
        left: -10px;
        top: -10%;
        transform-origin: center;
        transform: rotate(-30deg);
        -webkit-transform: rotate(-30deg);
        -moz-transform: rotate(-30deg);
        -ms-transform: rotate(-30deg);
        -o-transform: rotate(-30deg);
    }
    .reason_ttl p.col-red::after {
        left: calc(100% + 10px);
        bottom: -10%;
        transform-origin: center;
        transform: rotate(30deg);
        -webkit-transform: rotate(30deg);
        -moz-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
        -o-transform: rotate(30deg);
    }
    .reason_ttl h2 {
        width: 100%;
    }
    .reason-list_item-ttl {
        max-width: 400px;
    }
}

@media screen and (max-width: 480px) {
    .reason-list_item-ttl .num {
        width: 80px;
        height: 80px;
        margin-right: 15px;
    }
    .reason-list_item-ttl .f-14 {
        left: 95px;
    }
    .reason-list_item figure.w_50 {
        width: 100%;
    }
    .reason-list_item:last-of-type .bg-white {
        padding: 20px 15px;
    }
}


/***************** case ******************/

.case {
    background: url(../img/case_bg.jpg) no-repeat center / cover;
}

.case_ttl h2 {
    padding: 0 15px;
    text-shadow: rgb(255, 255, 255) 5px 0px 0px, rgb(255, 255, 255) 4.90033px 0.993347px 0px, rgb(255, 255, 255) 4.60531px 1.94709px 0px, rgb(255, 255, 255) 4.12668px 2.82321px 0px, rgb(255, 255, 255) 3.48353px 3.58678px 0px, rgb(255, 255, 255) 2.70151px 4.20736px 0px, rgb(255, 255, 255) 1.81179px 4.6602px 0px, rgb(255, 255, 255) 0.849836px 4.92725px 0px, rgb(255, 255, 255) -0.145998px 4.99787px 0px, rgb(255, 255, 255) -1.13601px 4.86924px 0px, rgb(255, 255, 255) -2.08073px 4.54649px 0px, rgb(255, 255, 255) -2.94251px 4.04248px 0px, rgb(255, 255, 255) -3.68697px 3.37732px 0px, rgb(255, 255, 255) -4.28444px 2.57751px 0px, rgb(255, 255, 255) -4.71111px 1.67494px 0px, rgb(255, 255, 255) -4.94996px 0.7056px 0px, rgb(255, 255, 255) -4.99147px -0.291871px 0px, rgb(255, 255, 255) -4.83399px -1.27771px 0px, rgb(255, 255, 255) -4.48379px -2.2126px 0px, rgb(255, 255, 255) -3.95484px -3.05929px 0px, rgb(255, 255, 255) -3.26822px -3.78401px 0px, rgb(255, 255, 255) -2.4513px -4.35788px 0px, rgb(255, 255, 255) -1.53666px -4.75801px 0px, rgb(255, 255, 255) -0.560763px -4.96845px 0px, rgb(255, 255, 255) 0.437495px -4.98082px 0px, rgb(255, 255, 255) 1.41831px -4.79462px 0px, rgb(255, 255, 255) 2.34258px -4.41727px 0px, rgb(255, 255, 255) 3.17346px -3.86382px 0px, rgb(255, 255, 255) 3.87783px -3.15633px 0px, rgb(255, 255, 255) 4.4276px -2.32301px 0px, rgb(255, 255, 255) 4.80085px -1.39708px 0px, rgb(255, 255, 255) 4.98271px -0.415447px 0px;
}

.case_ttl figure:last-of-type {
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
}

.case ul {

    margin: 0 -1.5%;
}

.case ul li {
    width: 30.33%;
    margin: 0 1.5%;
    box-shadow: 10px 6px 0 #fff;
}

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

@media screen and (max-width: 480px) {
    .case_ttl figure {
        width: 40px;
    }
}


/***************** flow ******************/

.flow {
    background: #f6ece1 url(../img/flow_bg.jpg) no-repeat top center / cover;
}

.flow_ttl h2 {
    position: relative;
    display: inline-block;
    padding: 8px 40px;
    background: rgba(255, 255, 255, .75);
}

.flow_ttl h2::after {
    content: '';
    position: absolute;
    left: -8px;
    right: -8px;
    top: -8px;
    bottom: -8px;
    border: 5px solid rgba(255, 255, 255, .75);
}

.flow-list_item {
    background: #fff;
}

.flow-list_item-head {
    padding: 7px 10px 7px calc(50% - 50px);
    background: #c3a789;
}

.flow-list_item-head::after {
    content: '';
    position: absolute;
    top: 100%;
    left: calc(50% - 20px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 20px 0 20px;
    border-color: #c3a789 transparent transparent transparent;
    z-index: 2;
}

.flow-list_item-head .num {
    position: absolute;
    left: calc(50% - 140px);
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    text-align: center;
    background: #fff;
    color: #c3a789;
    font-size: 1rem;
    line-height: 1.1;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
}

.flow-list_item .w_50 {
    width: 50%;
    height: 235px;
    margin-left: auto;
    padding: 50px 15px 20px;
}

.flow-list_item figure {
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    height: 100%;
}

.flow-list_item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 480px) {
    .flow-list_item-head {
        padding-left: 80px;
    }
    .flow-list_item-head .num {
        left: 15px;
        width: 50px;
        height: 50px;
    }
    .flow-list_item .w_50 {
        padding: 20px 15px;
        height: auto;
        min-height: 150px;
    }
}


/**************** faq *****************/

.faq-list {
    padding: 30px 25px;
    border: 3px solid #ff7aae;
}

.faq-list_question {
    padding: 10px 15px 10px 50px;
    background: #ff7aae;
}

.faq-list_question span {
    position: absolute;
    left: 20px;
    top: 10px;
}

.faq-list_answer {
    padding: 15px 0 25px 50px;
}

.faq .cmn-contact {
    background: url(../img/point_bg.jpg) no-repeat bottom center / cover;
}

@media screen and (max-width: 480px) {
    .faq-list {
        padding: 20px 10px;
    }
    .faq-list_question {
        padding-left: 30px;
    }
    .faq-list_question span {
        left: 10px;
    }
    .faq-list_answer {
        padding-left: 30px;
    }
}


/************** voice **************/

.voice .inner {
    max-width: 780px;
}

.voice-list li::before {
    content: '';
    position: absolute;
    bottom: 0;
    top: 8px;
    background: #ffe6eb;
    z-index: -1;
}

.voice-list li:nth-child(2n+1)::before {
    left: 50px;
    right: 50px;
}

.voice-list li:nth-child(2n)::before {
    left: 0;
    right: 55px;
}

.voice-list li:nth-child(2n+1) {
    padding-right: 50px;
}

.voice-list li p {
    position: relative;
    padding: 0 25px;
}

.voice-list li p::before {
    content: '「';
    position: absolute;
    left: 0;
    top: -5px;
}

.voice-list li p::after {
    content: '」';
    position: absolute;
    right: 0;
    bottom: -5px;
}

@media screen and (max-width: 480px) {
    .voice-list li figure {
        width: 70px;
    }
    .voice-list li:nth-child(2n+1)::before {
        left: 0;
        right: 0;
    }
    .voice-list li:nth-child(2n)::before {
        left: 0;
        right: 35px;
    }
    .voice-list li:nth-child(2n+1) {
        padding-right: 0;
    }
    .voice-list li p {
        padding: 0 20px;
    }
}

.last-sec {
    background: url(../img/point_bg.jpg) no-repeat bottom center / cover;
}

.last-sec_cont {
    padding: 95px 0 125px;
    background: url(../img/pic.png) no-repeat bottom center / cover;
}

.last-sec_cont .container {
    max-width: 780px;
}

.last-sec_cont p {
    letter-spacing: .05em;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
	padding-bottom: 2rem;
}

@media screen and (max-width: 768px) {
    .last-sec_cont {
        padding: 50px 0 65px;
    }
}

@media screen and (max-width: 480px) {
    .last-sec_cont {
        padding: 15px 0 0;
    }
}

/* 追加　*/
.flex {
    display: flex;
    font-size: 0;
    margin: 0 0 1rem;
}

@media screen and (max-width:530px) {
.flex {
    display: initial;
}}

.flex_container {
    width: 50%;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width:530px) {
.flex_container {
    width: 100%;

}}

@media screen and (max-width:530px) {
.video {
    height: 350px;
}}

.video_wrapper {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

video#header-video {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

iframe {
    margin: 0 !important;
}

.staff_menu {
    text-align: center;
    width: 95%;
    max-width: 1024px;
    margin: 2rem auto;
}

.kobeyuriclinic {
    max-width: 450px;
    width: 80%;
}

.thoughts {
 font-size: 0.6rem;
 margin: -1rem 0 1.5rem;
}

.footer_logo {
    padding-bottom: 4rem;
}

.countDown {
 background: #ff64a4;
 border-radius: 100px;
 text-align: center;
 width: 100%;
 max-width: 1024px;
 margin: 1rem auto 1.5rem;
 padding: 1rem 0 2rem;
 font-size: min(7vw,4rem);
 font-weight: bold;
 color: #fff;
}

.countDownText {
 font-size: min(13vw,5rem);
 font-weight: bold;
 color: #ffff00;
}

.nl {
 display: inline-block;
}