@charset "UTF-8";

/* --------------------------------------------------------------------
	title
-------------------------------------------------------------------- */

.title_page {
  width: 100%;
  height:185px;
  padding-top: 105px;
  font-family: 'Noto Serif JP', serif;
  font-size:2.2rem;
  letter-spacing: 0.1em;
  text-align: center;
  background:url("../images/title_back.jpg") no-repeat;
  background-size: cover;
  margin-bottom: 70px;
  line-height: 1.1em;
}
.title_page span {
  font-size:1.3rem;
  color: #bbbed6;
}
.wrapper_page {
  width:94%;
  max-width: 1000px;
  margin:0 auto;
}
@media screen and (max-width:820px){
  .title_page {
    margin:-130px auto 50px;
    height:100px;
    padding-top: 50px;
    font-size:1.8rem;
    letter-spacing: 0.05em;
    box-shadow: rgba(0,0,0,0.15) inset 0px 3px 8px;
  }
  .title_page span {
    font-size:1.1rem;
  }
}


/* --------------------------------------------------------------------
	about
-------------------------------------------------------------------- */

.slide_clinic img {
  width:90%;
  max-width: 400px;
}
.cont_text {
  margin:0 auto;
  text-align: center;
  margin:50px auto 50px;
  width:94%;
  max-width: 1000px;
}
.cont_text ._copy {
  font-family: 'Noto Serif JP', serif;
  font-size:1.6rem;
  margin-bottom: 30px;
}
.cont_text ._text {
  font-size:1.1rem;
  line-height: 1.7em;
}

.rotate_cont{
  position:relative;
  width:290px;
  height:290px;
  margin:30px auto;
}
.rotate_inner_text{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  font-family: 'Noto Serif JP', serif;
  font-size:1.7rem;
  letter-spacing: 0.05em;
  text-align: center;
  z-index: 1;
}
.rotate_float{
  animation: rotate 20s infinite linear;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(250deg);
  }
}
@media screen and (max-width:820px){
  .rotate_cont{
    width:180px;
    height:180px;
    margin:30px auto;
  }
  .rotate_inner_text{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    font-family: 'Noto Serif JP', serif;
    font-size:1.3rem;
    letter-spacing: 0.05em;
    text-align: center;
    z-index: 1;
  }
}

.about_reason {
  background:url(../images/main_back.png) center;
  background-size:contain;
  background-attachment: fixed;
  padding:70px 0 100px;
}
.select_reason01 {
  background:#FFFFFF;
  padding:30px 0 45px;
  line-height: 1.7em;
  margin:0 auto 70px;
  box-shadow: rgba(0,0,0,0.15) 0px 3px 8px;
}
.select_reason01 p {
  margin-bottom: 20px;
  padding:0 30px;
}
.select_reason01 p:last-child {
  margin-bottom: 0;
}
.select_reason01 ul {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  padding:0 30px;
}
.select_reason01 ul li {
  width:50%;
}
.select_reason01 ul li img {
  width:100%;
}
.select_reason02 {
  background:#FFFFFF;
  padding:40px 0 45px;
  margin:0 auto 70px;
  box-shadow: rgba(0,0,0,0.15) 0px 3px 8px;
}
.select_reason02 table {
  width:90%;
  max-width: 1000px;
  margin:0 auto;
}
.select_reason02 table td:last-child {
  background:#ffcddc;
}
.select_reason02 table td, .select_reason02 table th {
  padding:20px;
  border-bottom: 1px solid #D7D7DA;
}
.select_reason02 table th {
  text-align: left;
}
.select_reason02 table td {
  text-align: center;
}
.select_reason03 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin:50px auto 0;
}
.select_box {
  background:#FFFFFF;
  width:49%;
  padding:30px 0 45px;
  margin:0 0 35px;
  line-height: 1.6em;
  box-shadow: rgba(0,0,0,0.15) 0px 3px 8px;
}
.select_box_in {
  width:90%;
  margin:0 auto;
}
.select_box:last-child {
  background:#FFFFFF;
  width:100%;
  padding:30px 0 45px;
  margin:0 auto 20px;
  line-height: 1.6em;
}
.select_box ._img {
  text-align: center;
  margin:0 auto 20px;
}
.select_box ._img img {
  width: 80%;
  max-width: 450px;
}
.select_box:last-child ._img img {
  width: 80%;
  max-width: 700px;
}
.select_box h4 {
  font-family: 'Noto Serif JP', serif;
  font-size:1.3rem;
  text-align: center;
  border-bottom: 3px double #D7D7DA;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.select_box ul, .select_box ol {
  border:2px solid #D7D7DA;
  padding:15px 20px;
  margin:20px auto 0;
}
.select_box ul li, .select_box ol li {
  margin-bottom: 7px;
}
.select_box ul li::before {
	content: "";
	width:8px;
	height:8px;
	display:inline-block;
	background-color:#6D69A3;
	border-radius:50%;
	margin-right:7px;
}
@media screen and (max-width:820px){
  .select_box {
    width:100%;
  }
}


/* --------------------------------------------------------------------
	doctor
-------------------------------------------------------------------- */

.cont_doctor {
  position: relative;
  margin:0 auto 50px;
  height: 1000px;
}
.cont_doctor .rotate_float {
  max-width:820px;
  width:100%;
  z-index: -1;
  margin:70px auto auto 100px;
}
.cont_doctor_r {
  position: absolute;
  right:0;
  top:45%;
  width:520px;
  height: 560px;
  background:#E7E8F0;
  padding:50px;
  margin:0 auto 100px;
}
.cont_doctor_r ._name {
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  font-size: 2.3rem;
  letter-spacing: 0.1em;
  line-height: 0.9em;
  margin-bottom: 30px;
}
.cont_doctor_r ._name span {
  font-size: 1.0rem;
}
.cont_doctor_r ._text {
  margin-bottom: 30px;
  line-height: 1.7em;
}
.cont_doctor_r ._text p {
  margin-bottom: 15px;
}
.cont_doctor_r ._list {
  margin:0 auto;
  width:70%;
  background:#FFFFFF;
  padding:15px 20px;
}
.cont_doctor_r ._list dl {
  margin-bottom: 15px;
}
.cont_doctor_r ._list dt {
  border-bottom: 3px dotted #bbbed6;
  padding:7px 0;
}
.cont_doctor_r ._list dd {
  padding-top: 7px;
}
.cont_doctor .doctor_img img {
  width:100%;
  max-width: 600px;
}

@media screen and (max-width:820px){
  .cont_doctor {
    height: auto;
  }
  .cont_doctor .rotate_float {
    width:50%;
    z-index: -1;
    margin:102% auto auto 26%;
  }
  /*.cont_doctor .rotate_float {
    display: none;
  }*/
  .cont_doctor .doctor_img {
    margin:0 auto;
    text-align: center;
  }
  .cont_doctor_r {
    position:inherit;
    left:0;
    top:40px;
    width:90%;
    height: auto;
    padding:30px 20px;
    margin:0 auto;
  }
  .cont_doctor_r ._list {
    width:90%;
  }
}



/* --------------------------------------------------------------------
	access
-------------------------------------------------------------------- */

.cont_access .access_address ._train {
  background:#E7E8F0;
  padding:20px 25px;
  margin:-5px auto 80px;
}
.cont_access .access_address ._train ul {
  background: #FFFFFF;
  padding:15px 20px;
}
.cont_access .access_address ._train ul li {
  margin-bottom: 5px;
}
.cont_access .access_address ._train ul li::before {
	content: "";
	width:8px;
	height:8px;
	display:inline-block;
	background-color:#6D69A3;
	border-radius:50%;
	margin-right:10px;
}
.cont_access .access_address ._entrance {
  margin:0 auto 70px;
}
.cont_access .access_address ._entrance dl {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 2px dotted #D7D7DA;
  width: 100%;
  max-width: 1000px;
}
.cont_access .access_address ._entrance dt {
  width:60%;
  padding:100px 30px 0 0;
}
.cont_access .access_address ._entrance dd {
  width:30%;
  text-align: right;
}
.cont_access .access_address ._entrance dl:last-child dt {
  width:37%;
}
.cont_access .access_address ._entrance dl:last-child dd {
  display: flex;
  justify-content: flex-end;
  width:62.5%;
}
.cont_access .access_address ._entrance dl dd img {
  width: 100%;
}
.cont_access .access_address ._entrance dl:last-child dd img {
  width: 100%;
}

@media screen and (max-width:820px){
  .cont_access .access_address ._entrance dl {
    display:inherit;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }
  .cont_access .access_address ._entrance dt {
    width:100%;
    padding:0;
    margin-bottom: 10px;
  }
  .cont_access .access_address ._entrance dd {
    width:50%;
    text-align: center;
    margin:0 auto;
  }
  .cont_access .access_address ._entrance dl:last-child dt {
    width:100%;
  }
  .cont_access .access_address ._entrance dl:last-child dd {
    justify-content: center;
    width:90%;
  }
}

.cont_access .access_address ol {
  display: flex;
  justify-content: space-between;
}
.cont_access .access_address ol li {
  width: 33%;
}
.cont_access .access_address ol li img {
  width : 100%;
}
.cont_access .access_time {
  display: flex;
  justify-content: space-between;
  margin:70px auto 20px;
  background:#FFFFFF;
  border-radius: 20px;
  padding:40px 30px;
}
.cont_access .access_time_l {
  width:55%;
}
.cont_access .access_time_l ._logo {
  text-align: center;
  border-bottom: 3px double #D7D7DA;
  padding-bottom: 15px;
}
.cont_access .access_time_l ._logo img {
  width:65%;
}
.cont_access .access_time_l ._access {
  margin:15px auto 30px;
  text-align: center;
}
.cont_access .access_time_l ._tel {
  font-size:2.5rem;
  margin:5px auto 25px;
}
.cont_access .access_time_l ._tel img {
  width:23px;
  margin-right: 5px;
}
.cont_access .access_time_r {
  width:40%;
  margin: 0 0 0 auto;
}
.cont_access .access_time_r img {
  width:100%;
  max-width: 500px;
}
@media screen and (max-width:820px){
  .cont_access .access_address ._train {
    margin:-5px auto 50px;
  }
  .cont_access .access_time_l ._logo img {
    width:60%;
  }
  .cont_access .access_time {
    display: inherit;
    margin:50px auto 10px;
    padding:30px 20px;
  }
  .cont_access .access_time_l {
    width:100%;
    margin-bottom: 40px;
  }
  .cont_access .access_time_l ._access {
    text-align: center;
  }
  .cont_access .access_time_l ._tel {
    text-align: center;
  }
  .cont_access .access_time_r {
    text-align: center;
    width:100%;
  }
  .cont_access .access_time_r img {
    width:80%;
  }
}


/* --------------------------------------------------------------------
	abroad
-------------------------------------------------------------------- */

.cont_abroad .page_link {
  margin:0 auto 50px;
  width:90%;
  max-width: 1000px;
}
.cont_abroad .page_link ul {
  display: flex;
  justify-content: center;
}
.cont_abroad .page_link ul li {
  width:45%;
  text-align: center;
  position: relative;
  margin:0 5px;
}
.cont_abroad .page_link ul li a {
  display: block;
  border:2px solid #D7D7DA;
  padding:15px;
  text-decoration: none;
  transition: 0.3s;
}
.cont_abroad .page_link ul li a:hover {
  border:2px solid #6D69A3;
  background:#E7E8F0;
}
.cont_abroad .page_link ul li a:hover::after {
  content: "";
	border-left:14px solid transparent;
	border-right:14px solid transparent;
	border-top:14px solid #6D69A3;
	position:absolute;
	top:100%;
	left:48%;
}

.cont_abroad .abroad_price table {
  margin:0 auto 50px;
  width:90%;
  max-width: 1000px;
}
.cont_abroad .abroad_price table th {
  padding:10px 0;
  text-align: left;
}
.cont_abroad .abroad_price table td {
  padding:10px 0;
  text-align: right;
}

.cont_abroad .set_price {
  background:url(../images/main_back.png) center;
  background-size:contain;
  background-attachment: fixed;
  padding:70px 0 30px;
  margin:0 auto 100px;
}



/* --------------------------------------------------------------------
	info
-------------------------------------------------------------------- */

.info_text {
  text-align: center;
  width:94%;
  max-width: 1000px;
  margin:0 auto 50px;
  font-size: 1.05rem;
  line-height: 1.8em;
}
.info_text p {
  margin:0 auto 30px;
}

.info_flow {
	text-align:center;
	max-width:500px;
	width:70%;
	margin:80px auto;
}
.info_flow:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.info_flow img {
	width:100%;
}
.info_flow ul li {
	float:left;
	margin-right:200px;
	font-size:0.9rem;
}
.info_flow ul li:last-child {
	margin-right:0;
}

.form_wrap {
	max-width:1000px;
  width:94%;
	margin:0 auto;
	padding:25px 0;
	margin-bottom:20px;
	border-bottom:3px solid #D7D7DA;
}
.form_wrap:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.form_title {
	float:left;
	width:30%;
}
.form_title .form_required {
	background:#E7211A;
	color:#FFFFFF;
	font-size:0.8rem;
	width:40px;
	height:35px;
	display:block;
	text-align:center;
	border-radius:200px;
	padding-top:5px;
	float:right;
	margin-right:35px;
	margin-top:-5px;
  font-weight: 500;
}
.form_content {
	width:70%;
	float:right;
}
.form_content input, .form_content textarea {
	padding:20px;
	font-size:1rem;
	width:94%;
	margin-top:-15px;
	background:#F5F5F5;
	border:2px solid #D7D7DA;
	border-radius:5px;
}
.form_content input:focus, .form_content textarea:focus {
  border:2px solid #333333;
}

.btn_input {
	background:#333333;
  border:2px solid #333333;
	color:#FFFFFF;
	padding:25px;
	max-width:700px;
	width:75%;
	font-size:1.1rem;
	font-weight:500;
	letter-spacing:0.05em;
	margin:50px auto 10px;
	display:block;
	text-decoration:none;
	text-align:center;
  transition: 0.3s;
  border-radius: 0;
}
.btn_input:hover {
	background:#E7E8F0;
  border:2px solid #333333;
  color:#333333;
	cursor:pointer;
}
.btn_back {
	background:#FFFFFF;
  border:2px solid #D7D7DA;
	color:#333333;
	padding:25px;
	max-width:700px;
	width:75%;
	font-size:1.1rem;
	font-weight:500;
	letter-spacing:0.05em;
	margin:30px auto 70px;
	display:block;
	text-decoration:none;
	text-align:center;
  transition: 0.3s;
  border-radius: 0;
}
.btn_back:hover {
	background:#E9E9ED;
	cursor:pointer;
}

@media screen and (max-width:840px){
  .info_text {
    font-size: 0.9rem;
  }
	.info_flow {
		margin:50px auto 50px;
	}
	.info_flow ul li {
		margin-right:35%;
	}
	.form_wrap {
		padding:20px 0;
		margin-bottom:10px;
	}
	.form_title {
		float:left;
		width:100%;
		margin-bottom:20px;
		padding:0 10px;
	}
	.form_title .form_required {
		width:35px;
		height:30px;
		padding-top:5px;
		float:left;
		margin-right:5px;
		margin-top:-5px;
	}
	.form_content {
		width:86%;
		float:none;
		padding:0 10px;
	}
	.form_content input {
		padding:15px;
		width:100%;
	}
	.form_content textarea {
		padding:15px;
		width:100%;
	}
	.btn_input {
		padding:17px;
		margin:30px auto 20px;
	}
	.btn_back {
    padding:17px;
		margin:20px auto 50px;
  }
}


/* --------------------------------------------------------------------
	sitemap
-------------------------------------------------------------------- */

.cont_sitemap li {
  border-bottom:1px solid #D7D7DA;
}
.cont_sitemap li a {
  text-decoration: none;
  display: block;
  transition: 0.3s;
  padding:20px;
}
.cont_sitemap li a:hover {
  background: #E7E8F0;
}
.cont_sitemap ul:nth-child(2) li a {
  padding:20px 20px 20px 35px;
}
.cont_sitemap li a::before {
	content: "";
	width:8px;
	height:8px;
	display:inline-block;
	background-color:#6D69A3;
	border-radius:50%;
	margin-right:10px;
}
.cont_sitemap ul:nth-child(2) li a::before {
	content: "";
	width:8px;
	height:8px;
	display:inline-block;
	background-color:#bbbed6;
	border-radius:50%;
	margin-right:10px;
}