@charset "utf-8";
/*-------------------------------------------------------------------

	main

-------------------------------------------------------------------*/
.main-contents {
	max-width:640px;
	margin:0 auto;
}
.basic-section {
  padding: 12% 4%;
}
.basic-section > :last-child {
  margin-bottom:0;
}
.basic-section.is-form {
  padding-bottom: 5%;
}
.basic-title {
	text-align: center;
}
.basic-title .en {
	display:inline-block;
	margin-bottom:1em;
	padding:.3em .8em;
	border-radius: 2em;
	font-size:1.3rem;
	font-weight:400;
	line-height: 1;
	background-color:#aa894d;
	color:#FFF;
	font-family: "Times New Roman", Times, "serif";
	letter-spacing: .2em;
}
.basic-title .jp {
	display:inline-block;
	margin-bottom:1.5em;
	font-size:2.4rem;
	line-height: 1.2;
	color:#aa894d;
}
/*-------------------------------------------------------------------

	mv

-------------------------------------------------------------------*/
.mv {
	max-width:640px;
	margin:0 auto;
}
.mv_inner {
	width:100%;
	height:144vw;
	padding:4% 2.6666% 2.6666%;
	position:relative;
	background:url("../img/top/mv_back.jpg") no-repeat center center;
	background-size: cover;
}
.mv_logo {
	width:56.338%;
	margin-bottom:calc(45/750*100%);
}
.mv_lead {
	width:calc(190/710*100%);
	margin-left:calc(55/710*100%);
	margin-bottom:0;
}
.mv_price {
	position:absolute;
	width:100%;
	padding:0 calc(23/750*100%) calc(23/750*100%) calc(23/750*100%);
	margin-bottom:0;
	left:0;
	bottom:0;
}
@media (min-width: 641px) {
.mv_inner {
	height:calc(640/750*1080px)
}
}
/*-------------------------------------------------------------------

	lower header

-------------------------------------------------------------------*/
.header {
  background-color: #FFF;
	box-shadow:0 2px 6px 0 rgba(0,0,0,.1);
}
.header_inner {
  padding: 1em;
}
.header_logo {
  display: block;
  width: 60%;
  margin: 0 auto;
}
@media (min-width: 641px) {
.header_logo {
	width: 300px;
}
}


/*-------------------------------------------------------------------

line

-------------------------------------------------------------------*/
#line.basic-section{
    padding-top: 4%;
    padding-bottom: 0;
}
.lineArea{
    border: 1px solid #ccc;
    padding: 10px 4%;
}
.lineArea h2{
    font-size: 18px;
    font-weight: normal;
    text-align: center;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
    margin:0 auto 10px;
}
.lineArea h3{
    font-size: 16px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 10px;
}
.lineFlex{
    display: flex;
    justify-content: center;
    align-items: center;
}
.lineFlex p{
    font-size: 12px;
    margin-bottom: 0;
}
.lineFlex p.lineFlex-txt{
    width: 50%;
    margin-bottom: 1.5em;
    text-align: center;
    font-size: 16px;
}
.lineFlex .lineFlex-img{
    width: 49%;
    margin-left: 1%;
}
/*
.lineFlex a{
    width: 45%;
    margin-left: 5px;
}
*/
.lineFlex a img{
    width: 100%;
}


/*-------------------------------------------------------------------

	about

-------------------------------------------------------------------*/
.about_list > :last-child {
	margin-bottom:0;
}
.about_list .photo {
	float:left;
	width:calc(250/690*100%);
	margin:0 1em 1em;
}
.about_list .sub-title {
	font-size:1.6rem;
	margin-bottom:1em;
}
/*-------------------------------------------------------------------

	image

-------------------------------------------------------------------*/
#image {
	background:#faefe3 url("../img/top/dot_white.png") repeat 0 0;
	background-size: 12px;
}
.image_list {
	margin-bottom:.5em;
}
.image_list .illust {
	float:left;
	width:calc(280/690*100%);
}
.image_list .text {
	float:right;
	width:calc(370/690*100%);
	font-size:1.5rem;
	line-height: 1.6;
}
.image_list i {
	display:block;
	margin-bottom:.2em;
	color:#aa894d;
	font-size:3rem;
	line-height: 1;
	font-family: "Times New Roman", Times, "serif";
	font-weight: 400;
}
.image_arrow {
	display:block;
	width:32px;
	height:18px;
	border:none;
	margin-bottom:1.4em;
	background: url("../img/top/arrow_gray.png") no-repeat center center;
	background-size:contain;
}
/*-------------------------------------------------------------------

	movie

-------------------------------------------------------------------*/
#movie{
	padding: 12% 4%;
    background: #e3e9ea url(../img/top/dot_white.png) repeat 0 0;
    background-size: 12px;
}
.movie_area iframe{
    width: 100%;
    height: 315px;
}

/*-------------------------------------------------------------------

	caution

-------------------------------------------------------------------*/
#caution {
	padding-bottom:5%;
}
.caution_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}
.caution_list-block {
	width:calc(335/690*100%);
	padding:0 1em 1em;
	border:1px solid #DDD;
	background-color:#f7f7f7;
	margin-bottom:1.5em;
	text-align: center;
	font-size:1.7rem;
	line-height: 1.5;
}
.caution_list-block > :last-child {
	margin-bottom:0;
}
.caution_list-block i {
	position: relative;
	display:block;
	width:50px;
	margin:-6px auto .4em;
}
.caution_list-block h3 {
	font-size:1.7rem;
}
.caution_list-block .is-small {
	font-size:1.3rem;
}
/*-------------------------------------------------------------------

	step

-------------------------------------------------------------------*/
#step {
	background:#e3e9ea url("../img/top/dot_white.png") repeat 0 0;
	background-size: 12px;
}
.step_list > :last-child {
	margin-bottom:0;
}
.step_list-block {
	margin-bottom:1em;
}
.step_list-block .photo {
	float:left;
	width:calc(294/690*100%);
}
.step_list-block .text {
	float:right;
	width:calc(370/690*100%);
	font-size:1.5rem;
	line-height: 1.6;
}
.step_list-block .text > :last-child {
	margin-bottom:0;
}
.step_list-block i {
	display:block;
	margin-bottom: .2em;
	color:#aa894d;
	font-size:3rem;
	line-height: 1;
	font-family: "Times New Roman", Times, "serif";
}
.step_list-block h3 {
	font-size:1.7rem;
	margin-bottom:.4em;
}
.step_arrow {
	border:none;
	display:block;
	margin-bottom:1em;
	width:1px;
	height:1.5em;
	background-color:#aa894d;
}
/*-------------------------------------------------------------------

	price

-------------------------------------------------------------------*/
.price_data {
	margin-bottom:2em;
}
.price-data-bigtitle .en{
    position: relative;
    display:inline-block;
    margin-bottom:1em;
    padding:.5em;
    min-width: 20%;
    font-size:1.5rem;
    font-weight:400;
    line-height: 1;
    background-color:#aa894d;
    color:#FFF;
    font-family: "Times New Roman", Times, "serif";
    letter-spacing: .2em;
    border-radius: 0 1.0em 1.0em 0;
}
.price_data-title {
	padding:.5em;
	margin-bottom:.6em;
  font-size:1.7rem;
	border-left:3px solid #aa894d;
}
.price_data-subtitle {
    padding:.5em;
    margin-bottom:.6em;
    font-size:1.6rem;
    font-weight: bold;
}

.price_data table {
  width:100%;
  border-top:1px solid #DDD;
	margin-bottom:.5em;
}
.price_data th, .price_data td {
	font-size:1.7rem;
	line-height: 1.3;
	vertical-align: middle;
  padding:1em .5em;
  border-bottom:1px solid #DDD;
}
.price_data th {
	text-align: left;
  font-weight: 500;
  width: 70%;
}
.price_data td {
	text-align: right;
	color:#d25b72;
	font-weight:600;
	width: 30%;
}
/*-------------------------------------------------------------------

	doctor

-------------------------------------------------------------------*/
#doctor {
	background:#e3e9ea url("../img/top/dot_white.png") repeat 0 0;
	background-size: 12px;
}
.doctor_profile {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	margin-bottom:1em;
}
.doctor_profile .photo {
	width:calc(354/690*100%);
}
.doctor_profile .text {
	display: flex;
	align-items: end;
	/* width:calc(300/690*100%); */
	line-height: 1.5;
}
.doctor_profile-name {
	font-weight: 600;
	line-height: 1;
	font-size:2.0rem;
	/* margin-bottom:.5em; */
	margin-bottom:0;
}
.doctor_profile-name > span {
	font-size:.68em;
}
.doctor_profile-en {
	font-size:1.2rem;
	margin-bottom:0;
}
.doctor_carrier {
	margin-top: 20px;
	/* border:1px solid #c5d7da; */
	/* padding:1em; */
}
.doctor_carrier-title {
	font-size:1.5rem;
	margin-bottom:10px;
}
dl.doctor_carrier-list {
	font-size:1.3rem;
	line-height: 1.5;
	display: flex;
	flex-wrap: wrap;
}
.doctor_carrier-list dt {
	clear: left;
  float: left;
  width: 20%;
  margin-top: 5px;
}
.doctor_carrier-list dd {
	width: 80%;
	/*padding:0 0 .5em 6em;*/
  margin-top: 5px;
	padding:0 ;
}
ul.doctor_carrier-list {
	font-size:1.3rem;
	line-height: 1.5;
}
ul.doctor_carrier-list li{
	list-style-type: none;
	margin-top: 5px;
}
/*-------------------------------------------------------------------

	clinic

-------------------------------------------------------------------*/
.clinic_logo {
  width:60%;
	margin:0 auto 1em;
	text-align: center;
}
.clinic_data {
  width:100%;
  border-top:1px solid #DDD;
	margin-bottom:1em;
}
.clinic_data th, .clinic_data td {
	font-size:1.5rem;
	line-height: 1.5;
	vertical-align: middle;
  padding:1em .5em;
  border-bottom:1px solid #DDD;
}
.clinic_data th {
	text-align: left;
  font-weight: 500;
	width:30%;
}
.clinic_data td {
	font-weight:500;
}
.clinic_map {
	position:relative;
	width:100%;
	padding-top:120%;
	margin-bottom:.5em;
}
.clinic_map > iframe {
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
}
/*-------------------------------------------------------------------

	faq

-------------------------------------------------------------------*/
#faq {
	background: #faefe3 url("../img/top/dot_white.png") repeat 0 0;
	background-size: 12px;
}
.faq_list {
	line-height: 1.5;
}
.faq_list dd:last-child {
	margin-bottom:0;
}
.faq_list dt, .faq_list dd {
	padding-left: 4rem;
}
.faq_list dt {
	font-weight: 600;
	margin-bottom: .5em;
	font-size:1.6rem;
	color:#aa894d;
}
.faq_list dt::before, .faq_list dd::before {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;
	width: 3rem;
	height:3rem;
	float: left;
	margin: 0 0 0 -4rem;
	font-weight: bold;
	text-align: center;
	font-family: "Times New Roman", Times, "serif";
	font-size:1.4rem;
	line-height: 1;
	color:#FFF;
	border-radius: 50%;
}
.faq_list dt::before {
	content: "Q";
	background-color: #aa894d;
}
.faq_list dd::before {
	content: "A";
	background-color: #818181;
}
.faq_list dt::after, .faq_list dd::after {
	content: "";
	display: block;
	clear: both;
}
.faq_list dd {
	font-size:1.5rem;
	margin-bottom: 1.5em;
}
.faq_list > :last-child {
	margin-bottom: 0;
}
/*-------------------------------------------------------------------

	form

-------------------------------------------------------------------*/
.form-section_title {
  font-size: 22px;
  margin-bottom: 1em;
  text-align: center;
}
/*-------------------------------------------------------------------

	footer

-------------------------------------------------------------------*/
.footer {
	text-align: center;
	font-size: 9px;
	padding: 0 0 80px;
}
.footer-fixed-button_outer {
	position: fixed;
	width: 100%;
	bottom: -200px;
	left: 0;
	z-index: 1500;
	/* border-top:2px solid #FFF; */
  transition: all 0.2s ease-out;
}
.footer-fixed-button_outer.is-show {
	bottom: 0;
}
.footer-fixed-button {
	max-width: 640px;
	margin:0 auto;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.footer-fixed-button.float02 {
    /* position: absolute; */
    /* bottom: 62px; */
	justify-content: end;
    right: 0;
}
.footer-fixed-button.float01 {
    border-top:2px solid #FFF;
}
.footer-fixed-button .button-tel,
.footer-fixed-button .button-mail,
.footer-fixed-button .button-line{
	flex:1;
}
.footer-fixed-button .pagetop {
    /* width: calc(90/750*100%); */
    width: 60px;
    border-right: 2px solid #fff;
}
.footer-fixed-button a {
    /* display: block; */
    /* padding-top:.8em; */
    display: flex;
    justify-content: center;
    align-items: center;
	color:#FFF;
	font-weight:500;
	font-size:12px;
	text-decoration: none;
	width: 100%;
	height: 60px;
	text-align: center;
}
.footer-fixed-button .button-tel {
	background-color: #aa894d;
	border-right:1px solid #FFF;
}
.footer-fixed-button .button-mail {
	background-color: #d25b72;
	border-right:1px solid #FFF;
}
.footer-fixed-button .button-line {
	background-color: #00b900;
	border-right:1px solid #FFF;
}
.footer-fixed-button .button-line a img{
    max-height: 60px;
}
.footer-fixed-button .pagetop a {
	background: #818181 url("../img/top/ico_up.png") no-repeat center center;
	background-size: 15px;
}
.footer-fixed-button .buttons .inner::before {
	content:"";
	display:block;
	height:15px;
	margin-bottom:2px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size:contain;
}
.footer-fixed-button .button-tel .inner::before {
	background-image: url("../img/top/ico_tel.png");
}
.footer-fixed-button .button-mail .inner::before {
	background-image: url("../img/top/ico_mail.png");
}
.footer-fixed-button .button-line .inner::before {
	background-image: url("../img/top/ico_line.png");
}


/*-------------------------------------------------------------------

	menu

-------------------------------------------------------------------*/
.body-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}
.menu-button_outer {
  position: fixed;
  width:100%;
	left: 0;
	top: 0;
  z-index: 8890;
}
.menu-button_inner {
  max-width:640px;
	margin:0 auto;
}
#menu-button {
	position:relative;
	width: 36px;
	height:36px;
  margin:10px 10px 0 auto;
	background-color:#FFF;
	box-shadow:0 0 8px 0 rgba(0,0,0,.1);
}
#menu-button span,
#menu-button::before,
#menu-button::after {
	content:'';
	display:block;
	position: absolute;
	width:20px;
	height:2px;
	left:8px;
	background-color:#aa894d;
	transition: all 0.2s ease-out;
}
#menu-button span {
	top:17px;
	left:8px;
}
#menu-button::before {
	top:10px;
}
#menu-button::after {
	bottom:10px;
}
#menu-button.is-close span {
	display:none;
}
#menu-button.is-close::before {
	top:17px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#menu-button.is-close::after {
	bottom:17px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#menu-list_sp {
	position: fixed;
	z-index: 8888;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	background: #aa894d;
	padding: 56px 4% 4%;
	font-size: 13px;
	line-height: 1.2;
	overflow: auto;
  color:#FFF;
}
#menu-list_sp .menu-inner {
  max-width:600px;
	margin: 0 auto 1em;
  border-top:1px solid rgba(255,255,255,.3);
	margin-bottom:1em;
}
#menu-list_sp .menu-inner li a {
	display: block;
	background: url(../img/common/arrow_white.svg) no-repeat 96% center;
	background-size: 6px;
	text-decoration: none;
	color: #FFF;
	padding: .8em 2em .8em .8em;
  border-bottom:1px solid rgba(255,255,255,.3);
}
.menu-list_cv {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	max-width:600px;
	margin:auto;
}
.menu-list_cv li {
	flex:1;
	margin-left:1%;
	border:2px solid rgba(255,255,255,.3);
}
.menu-list_cv li:first-child {
	margin-left:0;
}
.menu-list_cv li a {
	display:block;
	width:100%;
	height:100%;
	padding:1em .2em;
	color:#FFF;
	text-align: center;
	text-decoration: none;
	font-size:13px;
	line-height: 1.5;
}
.menu-list_cv li a::before {
	content:"";
	display:block;
	margin:0 auto .5em;
	height:15px;
	background-repeat: no-repeat;
	background-position:center center;
	background-size:contain;
}
.menu-list_cv li.is-tel a::before {
	background-image:url("../img/top/ico_tel.png");
}
.menu-list_cv li.is-mail a::before {
	background-image:url("../img/top/ico_mail.png");
}
.menu-list_cv li.is-line a::before {
	background-image:url("../img/top/ico_line.png");
}
.menu-list_cv li a strong {
	display:block;
	font-size:1.08333em;
}
.menu-list_cv li.is-tel a {
	background-color:#7c5f2b;
}
.menu-list_cv li.is-mail a {
	background-color:#d25b72;
}
.menu-list_cv li.is-line a {
	background-color:#00b900;
}

.sp{
	display: block;
}
@media (min-width: 414px) {
	.sp {
		display: none;
	}
}


/*-------------------------------------------------------------------

case

-------------------------------------------------------------------*/

#case {
    background:#e3e9ea url("../img/top/dot_white.png") repeat 0 0;
    background-size: 12px;
}
.caseBox{
	margin-bottom: 40px;
}
.caseBox:last-of-type{
	margin-bottom: 0;
}
.caseImgArea{
    margin-bottom: 30px;
}

.caseImgArea .l-detail-01{
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
}
.caseImgArea .l-detail-01 .inner{
    width: 39%;
    margin-bottom: 0;
}
.caseImgArea .l-detail-01 .inner:nth-of-type(2){
    width: 20%;
}
.caseImgArea .l-detail-01 .inner .figure{
    margin-bottom: 5px;
}
.caseImgArea .l-detail-01 .arrow{
    color: #d25b72;
    font-size: 5rem;
}
.caseImgArea .l-detail-01 p{
    font-size: 1.8rem;
    margin-bottom: 0;
}
#case dl{
    border: 1px solid #ddd;
    padding: 20px;
    line-height: 1.8;
}
#case dt{
    font-weight: bold;
    font-size: 2.0rem;
}
#case dd{
    font-size: 1.8rem;
    margin-bottom: 20px;
}
#case dd:last-of-type{
    margin-bottom: 0;
}

@media screen and (max-width: 768px) {
    .caseImgArea {
        margin-bottom: 20px;
    }
    .caseImgArea .l-detail-01 .arrow{
        font-size: 3rem;
    }
    .caseImgArea .l-detail-01 p{
        font-size: 1.6rem;
    }
    #case dt{
        font-size: 1.6rem;
        margin-bottom: 0;
    }
    #case dd{
        font-size: 1.4rem;
        margin-bottom: 10px;
    }
}
