@charset "utf-8";

/*
源ノゴシック
font-family: source-han-sans-cjk-ja, sans-serif;
源ノ明朝
font-family: source-han-serif-japanese, serif;
*/

html {
		font-family: source-han-serif-japanese, serif;
}
body {
    background: #fff;
    color: #1e1e1e;
    max-width: 1600px;
    margin: 0 auto;
}
.inner {max-width: 1000px;width: 100%;margin: 0 auto;box-sizing: border-box;}
.inner_s {max-width: 1000px;width: 100%;margin: 0 auto;box-sizing: border-box;}

.marker {background: linear-gradient(transparent 60%, rgba(249, 240, 78, 0.8) 60%);}



/* **************************************************************** */
/* ヘッダー
*/

/* **************************************************************** */
/* フッター
*/
footer {
		background: #fff;
    padding: 0;
}
footer .copy {
    display: block;
    background: #000;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    padding: 1em 0 1em;
}


/* **************************************************************** */
/* コンタクト
*/
.contact {
		background:#dcd2c8;
		padding: 2em 0;
}
.contact_upper {
		margin-bottom: 2em;
}
.contact_upper h2 {
    font-size: 36px;
    line-height: 1.4em;
}
.contact_bloc {
    margin-bottom: 1.5em;
}
.btn_bloc button {
    background: #ad3160;
    box-shadow: 0 3px 0 #6a1535;
}
.contact_bloc dl dt.required:after {
		background: #ad3160;
}

.contact_bloc dl:last-child {
    border-bottom: solid 1px #fff;
}
.contact_bloc dl:nth-child(odd) {
    background: none;
}
.contact_bloc dl {
    border-top: solid 1px #fff;
    background: none;
}




/* **************************************************************** */
/* 個別CSS
*/
header {
    padding: 0.5em 0;
}
header .inner {
    align-items: center;
    justify-content: flex-start;
}
header .logo {

}
header p {
    font-size: 16px;
    line-height: 1.2em;
    font-weight: bold;
    margin-left: 1em;
}

.content_upper_wrap {
    overflow: hidden;
}
.content_upper {
    background: url(../images/bg_mv.jpg) no-repeat center top;
    background-size: cover;
}
.mv {

}
.mv_content {

}
.mv_content .inner {
    position: relative;
    align-items: center;
    justify-content: center;
}
.mv_bloc {
    position: relative;
    z-index: 2;
    padding: 2em 0;
}
.mv_bloc h1 {

}
.mv_bloc p {
		position: absolute;
    top: 46%;
    transform: translateY(-54%);
    -webkit-transform: translateY(-54%);
    left: -10em;
}
.mv figure {
		position: absolute;
    bottom: -77px;
    right: -14em;
}

.mv_bottom {
    background: url(../images/bg_mv_bottom.jpg) no-repeat center;
    height: 77px;
}
.mv_bottom .inner {
		align-items: center;
    justify-content: center;
    height: 100%;
}
.mv_bottom p {
    position: relative;
    z-index: 2;
}

.cv {
    position: relative;
    background: url(../images/bg_cv.jpg) no-repeat center;
    background-size: cover;
    padding: 0 0 1.5em;
}
.cv_bloc {
    margin-bottom: 1em;
}
.cv_bloc h2 {

}
.cv_bloc h2 img {
    margin-top: -2em;
}

.cv_bloc .tel_btn {
    width: 200px;
    margin: auto;
}
.cv_btn_bloc {

}
.cv_btn_bloc ul {

}
.cv_btn_bloc ul li {

}
.cv_btn_bloc ul li + li {

}
.cv_btn_bloc ul li a {
    display: block;
    box-shadow: 0 3px 3px #666;
    border-radius: 16px;
}

.point {

}
.point_upper {
    margin-bottom: 1em;
}
.point_upper h2 {

}
.point_bloc {
		background: url(../images/bg_point.jpg) no-repeat center top;
    padding-top: 20em;
}
.point_bloc ol {
    align-items: stretch;
    justify-content: space-between;
}
.point_bloc ol li {
    background: rgb(255 255 255 / 80%);
    width: 32%;
    padding: 1em;
    box-sizing: border-box;
		position:relative;
}
.point_bloc ol li:after {
    content: "";
    width: 94px;
    height: 95px;
    background: url(../images/img_point_figure.png) no-repeat;
    display: block;
    position: absolute;
    top: -8px;
    right: -7px;
}
.point_bloc ol li + li {

}

.point_bloc ol li .num {
    font-size: 32px;
    line-height: 1.2em;
    font-weight: bold;
    color: #a61f52;
}
.point_bloc ol li h3 {
    font-size: 21px;
    line-height: 1.2em;
    color: #a61f52;
    margin-bottom: 0.5em;
}
.point_bloc ol li p {
    font-size: 16px;
    line-height: 1.4em;
    text-align: left;
}

.recommend {
    background: url(../images/bg_recommend.jpg) no-repeat;
    margin-top: 4em;
    padding-bottom: 2em;
}
.recommend_upper {

}
.recommend_upper h2 {

}
.recommend_upper h2 img {
    margin-top: -2em;
}
.recommend_content {

}
.recommend_bloc {
		background: #fff;
    padding: 2em 8em 2em 2em;
    position: relative;
}
.recommend_bloc ul {

}
.recommend_bloc ul li {
    font-size: 21px;
    line-height: 1.4em;
    width: 36%;
    text-align: left;
    position: relative;
    padding-left: 1.6em;
    box-sizing: border-box;
}
.recommend_bloc ul li:nth-child(even) {
    width: 64%;
}
.recommend_bloc ul li:nth-child(n+3) {
    margin-top: 1em;
}
.recommend_bloc ul li + li {

}
.recommend_bloc ul li:before {
		content: "";
    width: 29px;
    height: 32px;
    background: url(../images/icon_check.png) no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 0;
}
.recommend_bloc ul li em {
    background: linear-gradient(transparent 60%, #f6bfd7 60%);
    font-style: normal;
}
.recommend_bloc figure {
    position: absolute;
    top: -10em;
    right: -1em;
}

.features {
		padding: 2em 0;
}
.features_upper {
		margin-bottom: 2em;
}
.features_upper h2 {

}

.features_content {

}
.features_bloc {

}
.features_bloc ul {

}
.features_bloc ul li {
    width: 32%;
}
.features_bloc ul li + li {

}
.features_bloc ul li figure {
    margin-bottom: 0.5em;
}
.features_bloc ul li h3 {
    font-size: 18px;
    line-height: 1.4em;
    height: 66px;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5em;
}
.features_bloc ul li h3 span {
    display: block;
    width: 100%;
    text-align: center;
}
.features_bloc ul li h3 em {
		color: #a61f52;
    font-size: 21px;
    font-style: normal;
}
.features_bloc ul li p {
    font-size: 16px;
    line-height: 1.4em;
    text-align: left;
}


.flow {
    background: url(../images/bg_flow.jpg) no-repeat center;
    background-size: cover;
    padding: 2em 0;
}
.flow_upper {
    margin-bottom: 2em;
}
.flow_upper h2 {
    font-size: 36px;
    line-height: 1.4em;
}
.flow_content {

}
.flow_bloc {

}
.flow_bloc ol {

}
.flow_bloc ol li {
    background: #fff;
    padding: 0 2em 2em;
}
.flow_bloc ol li + li {
    margin-top: 2em;
}
.flow_bloc ol li .detail {
    flex: 1 0 0%;
    margin-right: 2em;
}
.flow_bloc ol li .detail .upper {
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 1em;
}
.flow_bloc ol li .detail .upper .num {
    margin-top: -19px;
}
.flow_bloc ol li .detail .upper h3 {
    font-size: 24px;
    line-height: 1.2em;
    text-align: left;
    flex: 1 0 0%;
    margin-left: 1em;
}

.flow_bloc ol li .detail p {
    font-size: 15px;
    line-height: 1.4em;
    text-align: left;
}

.flow_bloc ol li figure {
    margin-top: 2em;
}


.corona {
		padding: 2em 0;
}
.corona_upper {
    margin-bottom: 1em;
}
.corona_upper .sub {
		display: inline-block;
    color: #fff;
    background: #000;
    font-size: 26px;
    line-height: 1.2em;
    padding: 0.2em 0.5em 0.3em;
    margin-bottom: 0.5em;
}
.corona_upper h2 {
    color: #a61f52;
    font-size: 30px;
    line-height: 1.4em;
    margin-bottom: 0.5em;
}
.corona_upper .text {
    font-size: 18px;
    line-height: 1.4em;
}
.corona_bloc {

}
.corona_bloc ul {

}
.corona_bloc ul li {

}
.corona_bloc ul li + li {

}

.cv2 {
    background: url(../images/img_cv2.jpg) no-repeat center;
    height: 556px;
}

.comparison {
		padding:2em 0;
}
.comparison_upper {
    margin-bottom: 2em;
}
.comparison_upper h2 {
		font-size: 36px;
    line-height: 1.4em;
}
.comparison_bloc {

}


.clinic {
		padding: 0 0 2em;
}
.clinic_upper {
		margin-bottom: 2em;
}
.clinic_upper h2 {
    color: #a61f52;
    font-size: 40px;
    line-height: 1.2em;
}
.clinic_upper p {
    background: #a61f52;
    color: #fff;
}
.clinic_upper figure {

}
.clinic_upper h3 {
    font-size: 32px;
    line-height: 1.2em;
    font-weight: normal;
}

.clinic_bloc {

}

.clinic_detail {
		align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5em;
}
.clinic_detail figure {

}
.clinic_detail .detail {
    flex: 1 0 0%;
    margin-left: 2em;
    text-align: left;
}
.clinic_detail .detail p {
    font-size: 18px;
    line-height: 1.4em;
}
.clinic_detail .detail .name_bloc {
    margin-top: 1em;
}
.clinic_detail .detail .name_bloc .com_name {
    display: block;
    margin-bottom: 0.2em;
}
.clinic_detail .detail .name_bloc .name {
		display: block;
    font-size: 30px;
    line-height: 1em;
}



.clinic_bloc ul {

}
.clinic_bloc ul li {

}
.clinic_bloc ul li + li {

}



.doctor {
    background: url(../images/bg_doctor.jpg) no-repeat center;
    padding: 2em 0;
}
.doctor_upper {
    margin-bottom: 2em;
}
.doctor_upper h2 {
		font-size: 36px;
    line-height: 1.4em;
}
.doctor_upper p {
		font-size: 16px;
    line-height: 1.4em;
}
.doctor_bloc {

}
.doctor_detail {
    align-items: flex-start;
    justify-content: space-between;
}
.doctor_detail figure {

}
.doctor_detail .detail {
    flex: 1 0 0%;
    margin-left: 2em;
}
.doctor_detail .detail h3 {
		font-size: 18px;
    text-align: left;
    margin-bottom: 0.5em;
}
.doctor_detail .detail p {
    font-size: 18px;
    line-height: 1.4em;
    text-align: left;
}


.access {
		padding: 2em 0;
}
.access_upper {
		margin-bottom: 2em;
}
.access_upper h2 {
    background: #a61f52;
    color: #fff;
    font-size: 18px;
}

.access_bloc {

}
.access_detail {

}
.access_detail .detail {
    flex: 1 0 0%;
    margin-right: 2em;
    font-size: 16px;
    text-align: left;
}
.access_detail .detail > * + * {
    margin-top: 0.5em;
}
.access_detail .detail dl {

}
.access_detail .detail dl dt {
		width: 14%;
    text-align: left;
}
.access_detail .detail dl dd {
    flex: 1 0 0%;
    text-align: left;
}

.access_detail .detail p {

}


.access_detail .map {
    width: 50%;
    height: 0;
    overflow: hidden;
    padding-bottom: 34.25%;
    position: relative;
}
.access_detail .map iframe {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
}


.thanks_body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.thanks {
    position: relative;
    box-sizing: border-box;
    padding: 5.5em 0;
    flex: 1;
}














