@charset "utf-8";

/* ==========================================================================
   common
   ========================================================================== */
.for-pc{
	display: none;
}
@media (min-width: 415px){
.for-pc{
	display: none;
}
}
@media (min-width: 960px){
.for-pc{
	display: block;
}
}

.for-tb{
	display: none;
}
@media (min-width: 415px){
.for-tb{
	display: block;
}
}
@media (min-width: 960px){
.for-tb{
	display: none;
}
}

.for-sp{
	display: block;
}
@media (min-width: 415px){
.for-sp{
	display: none;
}
}
@media (min-width: 960px){
.for-sp{
	display: none;
}
}

.btn__more{
	width: 280px;
	height: 60px;
	background: #2A5D69;
	position: relative;
	margin: 0 auto;
}
@media (min-width: 415px){
.btn__more{
	width: 330px;
	height: 70px;
}
}

.btn__more::after{
 	content: "";
 	width: 40px;
 	height: 8px;
  background-image: url(../img/icon_arrow.svg);
 	background-size: 40px 8px;
 	background-repeat: no-repeat;
 	position: absolute;
  top: 50%;
  right: -20px;
 	margin: -4px 0 0 0;
 }

.btn__more a{
  color: #FFF;
  width: 280px;
	height: 60px;
  line-height: 58px;
  font-size: 2.0rem;
  font-size: clamp(1.5rem, 1vw, 2.1rem);
  text-align: center;
  display: block;
  position: relative;
	transition: 0.3s;
	overflow: hidden;
}
@media (min-width: 415px){
.btn__more a{
	width: 330px;
	height: 70px;
  line-height: 68px;
}
}

.btn__more a::after{
	content: '';
	width: 0;
	height: 120%;
	background: #B0CDD3;
	position: absolute;
	left: -10%;
	bottom: 0;
	transform: skewX(15deg);
	z-index: -1;
	transition: 0.3s;
}

.btn__more a:hover{
	color: #2A5D69;
}

.btn__more a:hover::after{
	left: -10%;
	width: 120%;
}


#splash {
	position: fixed;
	z-index: 9999;
	width: 100%;
	background-image: url(../img/bg_menu.jpg);
	background-size: cover;
	background-position: center;
 	background-repeat: no-repeat;
	background-color: #9BCBC6;
	text-align:center;
	color: #FFF;
	font-weight: 200;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

#splash img{
	position: absolute;
	left: 50%;
	top: 50%;
	width: 16vw;
	opacity: 0.2;
	margin: 185px 0 0 -8vw;
	display: none;
}

body#top{
	background: #F8F8F8;
}


/* ==========================================================================
   header
   ========================================================================== */
/*header{
  color: #fff;
  width: 100%;
  height: auto;
  font-family: 'Montserrat', sans-serif;
	line-height: 1.8em;
	letter-spacing: 0.14em;
  padding: 0 6.8vw;
  position: absolute;
  left: 0;
  top: 10.5vh;
  display: flex;
	flex-direction: row;
	justify-content: flex-start;
	box-sizing: border-box;
}

header a{
  color: #fff;
  text-decoration: none;
  font-family: 'Montserrat', sans-serif;
	letter-spacing: 0.14em;
}*/

.logo a svg{
	fill: #fff;
  width: 42vw;
  height: auto;
  z-index: 100;
  position: fixed;
  left: 6vw;
  top: 24px;
	/*transition: 0.8s;*/
	transition: all 0.8s ease-in-out;
	z-index: 100;
}
@media (min-width: 415px){
.logo a svg{
  width: 28vw;
  left: 7vw;
  top: 3.8vh;
}
}
@media (min-width: 960px){
.logo a svg{
  width: 14.7vw;
  left: 6.8vw;
  top: 10.5vh;
}
}

.logo a svg.opacity{
	fill: #5B767B;
}


.nav__wrap{
	display: none;
}
@media (min-width: 960px){
.nav__wrap{
	width: 100%;
	z-index: 900;
  display: block;
}
}

.nav__wrap ul.nav{
  display: flex;
	flex-direction: row;
  align-items: flex-end;
  position: absolute;
	top: 0;
	left: 26.2vw;
	margin-top: 6.2%;
	margin-top: 24px;
}
@media (min-width: 415px){
.nav__wrap ul.nav{
  margin-top: 3.8vh;
}
}
@media (min-width: 960px){
.nav__wrap ul.nav{
	margin-top: 6.1%;
	margin-top: 10.7vh;
}
}
@media (min-width: 2000px){
.nav__wrap ul.nav{
	margin-top: 5.8%;
	margin-top: 10.7vh;
}
}

.nav__wrap ul.nav li {
  font-family: 'Montserrat', sans-serif;
  z-index: 910;
  margin: 0 2.4vw 0 0;
}

.nav__wrap ul.nav li a{
	fill: #2A5D69;
  display: block;
  font-size: 2.0rem;
  font-size: clamp(1.4rem, 1vw, 2.4rem);
  font-weight: 400;
  letter-spacing: 3px;
  transition: all 0.3s ease-in-out;
}

.nav__wrap ul.nav:hover li a{
	color: #a3a7a8;
  fill: #a3a7a8;
}

.nav__wrap ul.nav li.menu a:hover{
	color: #FFF;
	fill: #FFF;
	color: #2A5D69;
	fill: #2A5D69;
}

.nav__wrap ul.nav li a:hover{
	color: #2A5D69;
	fill: #2A5D69;
}

.nav__wrap .e-link svg{
  width: 0.76vw;
  min-width: 13px;
  max-width: 16px;
  height: auto;
  float: right;
  padding: 2.5px 0 0 2px;
}
@media (min-width: 960px){
.nav__wrap .e-link svg{
  padding: 2.5px 0 0 2px;
}
}
@media (min-width: 1500px){
.nav__wrap .e-link svg{
  padding: 5px 0 0 2px;
}
}
@media (min-width: 2000px){
.nav__wrap .e-link svg{
  padding: 6px 0 0 2px;
}
}

.child_menu{
  position: absolute;
  top: 80%;
  left: 0;
	opacity: 0;
  visibility: hidden;
  transition: 0.3s ease-in-out;
}

.menu:hover .child_menu{
  position: absolute;
  top: 100%;
  visibility: visible;
	opacity: 1;
}

.nav__wrap ul.nav li.menu{
  position: relative;
}

.child_menu li a{
  padding: 25px 0 0 0;
}

.child_menu li:first-child a{
  padding: 50px 0 0 0;
}

#top .nav__wrap ul.nav li a{
  color: #FFF;
  fill: #FFF;
}

#top .nav__wrap ul.nav:hover li a{
	color: #a3a7a8;
  fill: #a3a7a8;
}

#top .nav__wrap ul.nav li.menu a:hover{
	color: #FFF;
  fill: #FFF;
}

#top .nav__wrap ul.nav li a:hover{
	color: #FFF;
  fill: #FFF;
}


/* ==========================================================================
   slider
   ========================================================================== */
#slider{
	width: 100vw;
	position: fixed;
	z-index: -1;
	transition: 0.4s;
}

.slider.opacity{
	opacity: 0;
}


/* ==========================================================================
   catch
   ========================================================================== */
#catch{
	width: 100vw;
  color: #F8F8F8;
  height: auto;
	padding: 52vh 0 0 15.6vw;
	box-sizing: border-box;
	overflow: hidden;
}
@media (min-width: 960px){
#catch{
	padding: 57vh 0 0 15.6vw;
}
}

#catch .m_catch{
  font-size: 3.2rem;
  font-size: clamp(1.8rem, 1.77vw, 5.0rem);
  font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1em;
	margin: 0 0 5.2vh 0;
}

#catch .s_catch{
  font-size: 19.0rem;
  font-size: clamp(7.2rem, 10.4vw, 30rem);
	font-family: 'Montserrat', sans-serif;
  font-weight: 200;
	letter-spacing: 0.04em;
	line-height: 1.07em;
	margin: 0 0 0 -1.0vw;
}


/* ==========================================================================
   scrolldown
   ========================================================================== */
@keyframes scrolldown {
  0% {
      transform: translate3d(0, -100%, 0)
  }
	80% {
      transform: translate3d(0, 0, 0)
  }
  85% {
      transform: translate3d(0, 0, 0)
  }
  to {
      transform: translate3d(0, 100%, 0)
  }
}

.scrolldown-content{
  width: 2px;
  position: absolute;
  bottom: 0;
  left: 5.0vw;
  box-sizing: border-box;

}
@media (min-width: 415px){
.scrolldown-content{
	display: block;
  left: 6.2vw;
}
}
@media (min-width: 960px){
.scrolldown-content{
  left: 6.8vw;
}
}

.scrolldown-wrap::after{
	color: #FFF;
  content: "SCROLL";
	font-size: 1.8rem;
	font-size: clamp(1.3rem, 0.9vw, 1.8rem);
	line-height: 1em;
	letter-spacing: 0.18em;
	font-family: 'Montserrat', sans-serif;
	font-weight: 300;
	transform: rotate(-90deg);
  position: absolute;
  top: -60px;
  left: -32px;
}
@media (min-width: 960px){
.scrolldown-wrap::after{
  top: -90px;
  left: -44px;
}
}

.scrolldown-wrap{
  width: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateX(-50%);
  z-index: 10;
  background-color: rgba(255, 255, 255, 0);
}

.scrolldown{
  position: relative;
  width: 1px;
  height: 10vh;
  transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1) 1.8s;
  transform: translateY(0);
}
@media (min-width: 415px){
.scrolldown{
  height: 10vh;
}
}

.scrolldown_bar{
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 1px;
  height: 10vh;
  margin: 0 auto;
}
@media (min-width: 415px){
.scrolldown_bar{
  height: 10vh;
}
}

.scrolldown_bar-item{
  position: absolute;
  width: 1px;
  height: 10vh;
  margin: 0 auto;
  animation: scrolldown 2s infinite;
  opacity: 1;
	background-color: #fff;
}
@media (min-width: 415px){
.scrolldown_bar-item{
  height: 10vh;
}
}


/* ==========================================================================
   message
   ========================================================================== */
#message{
	width: 100vw;
  color: #2A5D69;
  height: auto;
	padding: 0 0 0 0;
	box-sizing: border-box;
	opacity: 0;
	transition: 0.6s;
}
#message.opacity{
	opacity: 1;
}

#message .wrap,
#promise .wrap,
#menu .wrap,
#doctor .wrap,
#news .wrap,
#information .wrap,
#strong .wrap{
	width: 100vw;
	margin: 0 auto;
	position: relative;
	z-index: 0;
}
@media (min-width: 2000px){
#message .wrap,
#promise .wrap,
#menu .wrap,
#doctor .wrap,
#news .wrap,
#information .wrap,
#strong .wrap{
	max-width: 1700px;
}
}

.section__title{
  font-size: 17.8rem;
  font-size: clamp(5.0rem, 8.8vw, 22.2rem);
	font-family: 'Montserrat', sans-serif;
  font-weight: 200;
	line-height: 1em;
}

.section__title__shoulder{
  font-size: 2.2rem;
  font-size: clamp(1.4rem, 1.0vw, 2.3rem);
  font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1em;
}
@media (min-width: 415px){
.section__title__shoulder{
	letter-spacing: 0.4em;
}
}
@media (min-width: 960px){
.section__title__shoulder{
	letter-spacing: 0.4em;
}
}

#message .title__block,
#doctor .title__block{
	width: 100%;
	height: auto;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

#message .section__title__shoulder,
#doctor .section__title__shoulder{
	text-align: right;
	margin: 0 8vw 10px 0;
}
@media (min-width: 415px){
#message .section__title__shoulder,
#doctor .section__title__shoulder{
	margin: 0 12.0vw 16px 0;
}
}
@media (min-width: 2000px){
#message .section__title__shoulder,
#doctor .section__title__shoulder{
	margin: 0 0 16px 0;
}
}

#message .section__title,
#doctor .section__title{
	text-align: center;
	margin: 0 8vw 0 0;
}
@media (min-width: 415px){
#message .section__title,
#doctor .section__title{
	margin: 0 11.4vw 0 0;
}
}
@media (min-width: 2000px){
#message .section__title,
#doctor .section__title{
	margin: 0 -1% 0 0;
}
}

#message .text_block{
	margin: 0 0 0 0;
	padding: 0 8vw;
	z-index: 10;
}
@media (min-width: 415px){
#message .text_block{
	margin: 180px 0 600px 20vw;
	padding: 0;
}
}
@media (min-width: 960px){
#message .text_block{
	margin: 210px 0 900px 27.4vw;
}
}
@media (min-width: 2000px){
#message .text_block{
	margin: 210px 0 900px 23%;
}
}

#message .text p,
#promise .text p{
  font-size: 2.1rem;
  font-size: clamp(1.4rem, 1.04vw, 2.2rem);
	line-height: 2.8em;
	margin: 0 0 2.3vh 0;
}

#message .img01{
	width: 76%;
	height: auto;
	padding: 40px 0 40px 0;
}
@media (min-width: 415px){
#message .img01{
	width: 50%;
	position: absolute;
	top: 54vh;
	right: 0;
	padding: 0;
	z-index: -1;
}
}
@media (min-width: 960px){
#message .img01{
	width: 50%;
	top: 52vh;
	right: 0;
}
}
@media (min-width: 1550px){
#message .img01{
	top: 570px;
}
}
@media (min-width: 2000px){
#message .img01{
	top: 740px;
}
}

#message .img02{
	width: 54%;
	height: auto;
	padding: 70px 0 70px 0;
	float: right;
}
@media (min-width: 415px){
#message .img02{
	width: 20.8%;
	height: auto;
	position: absolute;
	top: 940px;
	left: 22.4%;
	z-index: -1;
}
}
@media (min-width: 960px){
#message .img02{
	width: 20.8%;
	height: auto;
	top: 1440px;
	left: 22.4%;
}
}
@media (min-width: 2000px){
#message .img02{
	top: 1600px;
}
}

#message .img03{
	width: 30%;
	height: auto;
	padding: 30px 0 0 8vw;
}
@media (min-width: 415px){
#message .img03{
	width: 18.2%;
	height: auto;
	position: absolute;
	top: 700px;
	left: 0;
	z-index: -1;
}
}
@media (min-width: 960px){
#message .img03{
	width: 18.2%;
	top: 1040px;
}
}
@media (min-width: 2000px){
#message .img03{
	top: 1290px;
}
}


/* ==========================================================================
   promise
   ========================================================================== */
#promise{
	color: #2A5D69;
	width: 100vw;
  height: auto;
	box-sizing: border-box;
	background: #fff;
	margin: -1px 0 0 0;
	position: relative;
	overflow: hidden;
}

#promise .title__block{
	width: 100vw;
	height: auto;
	position: relative;
	z-index: 0;
}

#promise .title__block::after{
	content: "";
	width: 100vw;
	height: 66%;
  background-color: #F8F8F8;
	position: absolute;
  top: 0;
  left: 0;
	z-index: -1;
}
@media (min-width: 415px){
#promise .title__block::after{
	height: 60%;
}
}

#promise .section__title__shoulder{
	width: 100%;
	text-align: center;
	margin: 0 0 0 0;
}

#promise .section__title{
	width: 100%;
	text-align: center;
	margin: 10px 0 0 0;
}
@media (min-width: 415px){
#promise .section__title{
	margin: 16px 0 0 0;
}
}

#promise .text_block{
	margin: 40px 0 0 0;
	padding: 0 8vw;
}
@media (min-width: 415px){
#promise .text_block{
	margin: 148px 0 0 20vw;
	padding: 0;
}
}
@media (min-width: 960px){
	#promise .text_block{
		margin: 148px 0 0 44%;
		padding: 0;
	}
	}

#promise h3,
#page__promise #message h3{
	font-size: clamp(1.8rem, 1.6vw, 4.4rem);
	letter-spacing: 0.05em;
	font-weight: 500;
	margin: 0 0 30px 0;
}
@media (min-width: 415px){
#promise h3,
#page__promise #message h3{
	font-size: clamp(1.8rem, 1.6vw, 4.4rem);
	letter-spacing: 0.05em;
	font-weight: 500;
	margin: 0 0 50px 0;
}
}

#promise .text{
	margin: 0 0 0 0;
	z-index: 10;
}
@media (min-width: 415px){
#promise .text{
	margin: 0 0 600px 0;
}
}
@media (min-width: 960px){
#promise .text{
	margin: 0 0 1030px 0;
}
}
@media (min-width: 2000px){
#promise .text{
	margin: 0 0 1000px 0;
}
}

#promise .img04{
	width: 44%;
	height: auto;
	padding: 30px 0 15px 0;
}
@media (min-width: 415px){
#promise .img04{
	width: 32%;
	height: auto;
	position: absolute;
	top: 770px;
	left: 0;
	padding: 0;
	z-index: -1;
}
}
@media (min-width: 960px){
#promise .img04{
	top: 840px;
}
}
@media (min-width: 2000px){
#promise .img04{
	top: 1050px;
}
}

#promise .img05{
	width: 68%;
	height: auto;
	float: right;
	padding: 0 8vw 70px 0;
}
@media (min-width: 415px){
#promise .img05{
	width: 65.3%;
	height: auto;
	position: absolute;
	top: 700px;
	left: 27.9%;
	padding: 0;
	z-index: -2;
}
}
@media (min-width: 960px){
#promise .img05{
	top: 880px;
}
}
@media (min-width: 2000px){
#promise .img05{
	top: 990px;
}
}


/* ==========================================================================
   menu
   ========================================================================== */
#menu,
#news{
	color: #2A5D69;
	width: 100vw;
  height: auto;
	box-sizing: border-box;
	background: #fff;
	overflow: hidden;
	margin: -1px 0 0 0;
}

#menu .title__block,
#news .title__block{
	width: 100%;
	height: auto;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

#menu .section__title,
#news .section__title{
	text-align: center;
	margin: 0 0 0 8vw;
}
@media (min-width: 415px){
#menu .section__title,
#news .section__title{
	margin: 0 0 0 11.2vw;
}
}
@media (min-width: 2000px){
#menu .section__title,
#news .section__title{
	margin: 0 0 0 -0.55vw;
}
}

#menu .section__title__shoulder,
#news .section__title__shoulder{
	text-align: center;
	margin: 10px 0 0 8vw;
}
@media (min-width: 415px){
#menu .section__title__shoulder,
#news .section__title__shoulder{
	margin: 16px 0 0 12.0vw;
}
}
@media (min-width: 2000px){
#menu .section__title__shoulder,
#news .section__title__shoulder{
	margin: 16px 0 0 0;
}
}

#menu{
	padding: 0 0 70px 0;
}
@media (min-width: 415px){
#menu{
	padding: 0 0 280px 0;
}
}
@media (min-width: 960px){
#menu{
	padding: 0 0 280px 0;
}
}
@media (min-width: 2000px){
#menu{
	padding: 0 0 330px 0;
}
}

#menu .menu__list{
	margin: 50px 8vw 0 8vw;
}
@media (min-width: 415px){
#menu .menu__list{
	margin: 126px 11.4vw 0 27.7vw;
}
}
@media (min-width: 2000px){
#menu .menu__list{
	margin: 126px 0 0 10vw;
}
}

#menu .menu__list li a{
	width: 100%;
	height: 90px;
	display: flex;
	flex-direction: row;
  align-items: center;
	justify-content: flex-start;
	transition: 0.3s;
}
@media (min-width: 415px){
#menu .menu__list li a{
	height: 100px;
}
}
@media (min-width: 2000px){
#menu .menu__list li a{
	height: 120px;
}
}

#menu .menu__list li a:hover{
	background: #F8F8F8;
}

#menu .menu__list li a .dt{
	width: 25%;
	height: 100%;
	font-size: 3.0rem;
  font-size: clamp(1.5rem, 1.8vw, 2.8rem);
	font-family: 'Montserrat', sans-serif;
  font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.4em;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
  align-items: center;
	justify-content: center;
	border-top: 1px solid #2A5D69;
}

#menu .menu__list li a .dt .cp{
	font-size: clamp(1.3rem, 1.2vw, 2.3rem);
	line-height: 1.6em;
}
@media (min-width: 415px){
#menu .menu__list li a .dt .cp{
	display: inline;
	padding-left: 6px;
}
}

#menu .menu__list li:last-child a .dt{
	border-top: 1px solid #2A5D69;
	border-bottom: 1px solid #2A5D69;
	box-sizing: border-box;
}

#menu .menu__list li a p{
	width: 75%;
	height: 100%;
	font-size: 1.6rem;
  font-size: clamp(1.3rem, 0.85vw, 1.8rem);
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	border-top: 1px solid #D0DEE0;
	box-sizing: border-box;
	padding: 0 16% 0 5%;
	position: relative;
	background-color: rgba(255, 255, 255, 0);
}

#menu .menu__list li a p::after{
	content: "";
	width: 26px;
	height: 8px;
  background-image: url(../img/icon_arrow_2.svg);
	background-size: 26px 8px;
	background-repeat: no-repeat;
	position: absolute;
  top: 50%;
  right: 0;
	margin: -4px 0 0 0;
	transition: 0.2s ease-in-out;
}
@media (min-width: 415px){
#menu .menu__list li a p::after{
	content: "";
  right: 2%;
}
}

#menu .menu__list li a:hover p::after{
	content: "";
  right: -14px;
	right: 1.5%;
}

#menu .menu__list li:last-child a p{
	border-top: 1px solid #D0DEE0;
	border-bottom: 1px solid #D0DEE0;
}

#menu .menu__list .e-link svg{
	fill: #2A5D69;
  width: 0.76vw;
  min-width: 13px;
  max-width: 16px;
  height: auto;
  padding: 6px 0 0 5px;
}
@media (min-width: 415px){
#menu .menu__list .e-link svg{
	padding: 6px 0 0 10px;
}
}


/* ==========================================================================
   doctor
   ========================================================================== */
#doctor{
	color: #2A5D69;
	width: 100vw;
  height: auto;
	background: #fff;
	margin: -1px 0 0 0;
	overflow: hidden;
	position: relative;
}

#doctor .text_block{
	width: calc(100% - 8vw - 8vw);
	float: right;
	margin: 30px 8vw 70px 8vw;
	overflow: hidden;
}
@media (min-width: 415px){
#doctor .text_block{
	width: 45%;
	margin: 228px 8vw 270px 0;
}
}
@media (min-width: 960px){
#doctor .text_block{
	width: 40%;
	margin: 228px 11.4vw 270px 0;
}
}
@media (min-width: 2000px){
#doctor .text_block{
	width: 55.6%;
	margin: 228px 0 340px 0;
}
}

#doctor .img06{
	width: 60%;
	height: auto;
	padding: 40px 0 0 8vw;
}
@media (min-width: 415px){
#doctor .img06{
	width: 25.9%;
	height: auto;
	position: absolute;
	top: 10px;
	left: 15.7vw;
	padding: 0;
	z-index: -1;
}
}
@media (min-width: 960px){
#doctor .img06{
	width: 25.9%;
	top: 290px;
	left: 15.7vw;
}
}
@media (min-width: 2000px){
#doctor .img06{
	top: 500px;
  left: 11.4%;
}
}

#doctor .img07{
	width: 55.0%;
	height: auto;
	padding: 30px 0 70px 45%;
}
@media (min-width: 415px){
#doctor .img07{
	width: 19.0%;
	position: absolute;
	top: 770px;
	right: 0;
	padding: 0;
	z-index: -1;
}
}
@media (min-width: 960px){
#doctor .img07{
	top: 800px;
	right: 0;
}
}
@media (min-width: 1500px){
#doctor .img07{
	top: 1230px;
	right: 0;
}
}
@media (min-width: 2000px){
#doctor .img07{
	top: 1600px;
  right: 0;
}
}

#doctor h3{
	font-size: clamp(2.2rem, 2.4vw, 5.2rem);
	letter-spacing: 0.15em;
	font-weight: 500;
}

#doctor h4{
	font-size: clamp(1.2rem, 0.8vw, 1.8rem);
	padding-top: 10px;
}
@media (min-width: 415px){
#doctor h4{
	padding-top: 15px;
}
}

#doctor table{
	width: 100%;
	font-size: clamp(1.3rem, 0.95vw, 2.2rem);
	letter-spacing: 0;
	line-height: 1.9em;
	border-collapse: collapse;
	margin: 30px 0 0 0;
}
@media (min-width: 415px){
#doctor table{
	width: 100%;
	letter-spacing: 0.05em;
	line-height: 2.3em;
	margin: 90px 0 0 0;
}
}
@media (min-width: 960px){
#doctor table{
	line-height: 2.3em;
	margin: 90px 0 0 0;
}
}

#doctor table th{
	width: 15%;
	font-weight: normal;
	vertical-align: top;
	text-align: left;
}

#doctor table tr .dd{
	width: 66%;
}
@media (min-width: 415px){
#doctor table tr .dd{
	width: 72%;
}
}

#doctor table td,
#doctor table th{
	padding: 2.0px 0;
	vertical-align: top;
}

#doctor .btn__more{
	margin: 50px auto 0;
}
@media (min-width: 415px){
#doctor .btn__more{
	margin: 80px 0 0 0;
	z-index: 0;
}
}

#doctor .btn__more a{
  font-size: clamp(1.5rem, 1vw, 2.0rem);
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	line-height: 60px;
	letter-spacing: 0.06em;
}
@media (min-width: 415px){
#doctor .btn__more a{
	line-height: 68px;
}
}

#doctor .btn__more a:hover {
	color: #2A5D69;
}

body#top{
	background: #F8F8F8;
}


/* ==========================================================================
   news
   ========================================================================== */
#top #news{
	z-index: -1;
}

#news .news_list{
	width: calc(1000 - 8vw - 8vw);
	border-top: 1px solid #D0DEE0;
	margin: 40px 8vw 70px 8vw;
}
@media (min-width: 415px){
#news .news_list{
	width: 60%;
	margin: 128px 0 240px 11.4vw;
}
}
@media (min-width: 2000px){
#news .news_list{
	width: 83%;
	margin: 128px 0 240px 0;
}
}

#news .news_list li{
	width: 100%;
	border-bottom: 1px solid #D0DEE0;
	padding: 14px 0 16px 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
@media (min-width: 415px){
#news .news_list li{
	padding: 30px 0;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
}

#news .news_list li .data{
	color: #719299;
	width: 100%;
	font-size: clamp(1.1rem, 0.9vw, 2.2rem);
	font-family: 'Montserrat', sans-serif;
	line-height: 2.0em;
	letter-spacing: 0.08em;
	font-weight: 400;
	box-sizing: border-box;
	padding: 0 0 6px 0;
}
@media (min-width: 415px){
#news .news_list li .data{
	width: 20%;
	padding: 0 0 0 30px;
}
}

#news .news_list li .text_block{
	width: 100%;
	box-sizing: border-box;
}
@media (min-width: 415px){
#news .news_list li .text_block{
	width: 80%;
	padding-right: 30px;
}
}

#news .news_list li .text_block .title{
	font-size: clamp(1.4rem, 1.1vw, 2.2rem);
	line-height: 1.5em;
	font-weight: 500;
}
@media (min-width: 415px){
#news .news_list li .text_block .title{
	line-height: 1.8em;
}
}

#news .news_list li .text_block .excerpt p{
	font-size: 1.6rem;
  font-size: clamp(1.4rem, 0.85vw, 1.8rem);
	line-height: 1.6em;
	font-weight: 400;
	padding: 8px 0 0 0;
}
@media (min-width: 415px){
#news .news_list li .text_block .excerpt p{
	line-height: 1.8em;
	padding: 12px 0 0 0;
}
}


/* ==========================================================================
   information
   ========================================================================== */
#information{
	color: #2A5D69;
	width: 100vw;
  height: auto;
	box-sizing: border-box;
	background: #F8F8F8;
	margin: -1px 0 0 0;
}

#information .title__block{
	width: 100vw;
	height: auto;
	position: relative;
	z-index: 0;
}
#information .title__block::after{
	content: "";
	width: 100vw;
	height: 42%;
	background: #fff;
	position: absolute;
  top: 0;
  left: 0;
	z-index: -1;
}

#information .section__title{
	width: 100%;
	text-align: center;
}

#information .section__title__shoulder{
	width: 100%;
	text-align: center;
	margin: 16px 0 0 0;
}


/* ==========================================================================
   footer
   ========================================================================== */
#footer.footer{
	color: #fff;
  width: 100%;
	height: auto;
	overflow: hidden;
	padding: 80px 0 30px 0;
	font-family: 'Montserrat', sans-serif;
	line-height: 1.8em;
	letter-spacing: 0.12em;
  display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	background-color: #9BCBC6;
	position: relative;
}
@media (min-width: 415px){
#footer.footer{
	height: 100vh;
	padding: 0;
}
}

footer a{
  color: #fff;
  text-decoration: none;
  font-family: 'Montserrat', sans-serif;
  transition: all 0.2s ease;
}

footer a:hover{
  opacity: 0.5;
}

footer.footer .wrap{
	width: 100%;
	margin: 0 8vw;
  box-sizing: border-box;
  position: relative;
  display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}
@media (min-width: 960px){
footer.footer .wrap{
	width: 100%;
  height: 350px;
	max-width: calc(1320px + 10vw + 10vw);
	max-width: 1320px;
	margin: 0 10vw;
	transform: scale(1);
}
}
@media (min-width: 2000px){
footer.footer .wrap{
	transform: scale(1.2);
}
}

footer .f_logo{
  width: 46%;
  height: auto;
  float: left;
  margin: 0 0 50px 0;
}
@media (min-width: 415px){
footer .f_logo{
  margin: 0 0 70px 0;
}
}
@media (min-width: 960px){
footer .f_logo{
  margin: 0 0 50px 0;
}
}

footer .f_logo img{
  width: 220px;
}
@media (min-width: 415px){
footer .f_logo img{
	width: 270px;
}
}
@media (min-width: 960px){
footer .f_logo img{
	width: 320px;
}
}

/* f_nav_pc ============================== */
footer ul.f_nav{
	display: none;
}
@media (min-width: 960px){
footer ul.f_nav{
	display: flex;
	flex-direction: row;
  align-items: flex-start;
	justify-content: space-between;
  width: 54%;
	position: absolute;
	top: 0;
	right: 0;
}

footer ul.f_nav li:first-child{
  margin-right: 5%;
}

footer ul.f_nav li a{
  font-size: 2.0rem;
	font-size: clamp(1.8rem, 1vw, 2.1rem);
  font-weight: 400;
  display: block;
  margin: 0 0 32px 0;
}

footer ul.f_nav li p{
	font-size: 2.0rem;
  font-size: clamp(1.8rem, 1vw, 2.1rem);
  font-weight: 400;
  margin: 0 0 28px 0;
  display: inline-block;
  padding: 0;
}

footer ul.f_nav li a.child{
  /*color: #E1F0EE;*/
  font-size: 1.8rem;
	font-size: clamp(1.6rem, 0.8vw, 1.7rem);
	font-weight: 400;
  margin: 0 0 18px 0;
}

footer ul.f_nav li a .e-link svg{
	fill: #FFF;
  width: 0.76vw;
  min-width: 13px;
  max-width: 16px;
  height: auto;
  padding: 6px 0 0 10px;
}
}

/* f_nav_sp ============================== */
footer ul.f_nav_sp{
  display: flex;
	flex-direction: column;
  align-items: flex-start;
	justify-content: flex-start;
	margin-bottom: 40px;
}
@media (min-width: 960px){
footer ul.f_nav_sp{
	display: none;
}
}

footer ul.f_nav_sp li a{
  font-size: 2.0rem;
	font-size: clamp(1.9rem, 1vw, 2.1rem);
  font-weight: 400;
  display: block;
  margin: 0 0 14px 0;
}

footer ul.f_nav_sp li p{
	font-size: 2.0rem;
  font-size: clamp(1.9rem, 1vw, 2.1rem);
  font-weight: 400;
  margin: 0 0 8px 0;
  display: inline-block;
  padding: 0;
}

footer ul.f_nav_sp li a.child{
  font-size: 1.8rem;
	font-size: clamp(1.5rem, 0.8vw, 1.7rem);
  margin: 0 0 6px 10px;
}

footer ul.f_nav_sp li a.child_ed{
  margin: 0 0 14px 10px;
}

footer ul.f_nav_sp li a .e-link svg{
	fill: #FFF;
  width: 0.76vw;
  min-width: 13px;
  max-width: 16px;
  height: auto;
  padding: 6px 0 0 10px;
}

footer .address{
  font-size: 1.6rem;
	font-size: clamp(1.2rem, 0.9vw, 1.7rem);
  line-height: 1.8em;
	margin-bottom: 24px;
}

footer .tel{
  font-size: 2.9rem;
	font-size: clamp(2.2rem, 2.8vw, 2.9rem);
  font-weight: 400;
	letter-spacing: 0.1em;
	margin-bottom: 6px;
	white-space: nowrap;
}
@media (min-width: 960px){
footer .tel{
	letter-spacing: 0.12em;
	text-align: right;
	position: absolute;
	right: 0;
  bottom: 40px;
	margin-bottom: 0;
}
}

footer .tel span{
  font-size: 2.2rem;
	font-size: clamp(1.9rem, 2.0vw, 2.1rem);
  letter-spacing: 0.12em;
}

footer .privacypolicy a{
  color: #E1F0EE;
  font-size: 1.4rem;
	font-size: clamp(1.3rem, 0.85vw, 1.35rem);
  font-weight: 400;
  text-align: right;
  display: block;
}
@media (min-width: 960px){
footer .privacypolicy a{
	position: absolute;
	right: 0;
	bottom: 0;
}
}

footer ul.sns{
	margin: 25px 0 10px 0;
}
@media (min-width: 960px){
footer ul.sns{
	position: absolute;
	left: 0;
	bottom: 40px;
	margin: 0;
}
}

footer ul.sns li{
  width: 33px;
  height: 33px;
  display: block;
  float: left;
  margin: 0 18px 0 0;
}

footer .copyright{
  color: #E1F0EE;
  font-size: 1.1rem;
	letter-spacing: 0.05em;
}
@media (min-width: 415px){
footer .copyright{
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}
}
@media (min-width: 960px){
footer .copyright{
	font-size: clamp(1.0rem, 0.8vw, 1.2rem);
	letter-spacing: 0.1em;
  position: absolute;
  left: 0;
  bottom: 0;
}
}


/* ==========================================================================
   page__top
   ========================================================================== */
.page__top a{
	width: 18px;
	height: 200px;
	display: block;
  position: absolute;
  bottom: -8px;
  right: 5vw;
}
@media (min-width: 960px){
.page__top a{
	width: 18px;
	height: 200px;
	display: block;
  position: absolute;
  bottom: 55px;
  right: 2.4vw;
}
}

.page__top a .arrow{
  width: 8px;
	height: 40px;
	padding: 0 0 24px 4px;
}

.page__top a .arrow img{
  width: 8px;
	height: 40px;
	display: block;
}

.page__top a p{
	color: #FFF;
	font-size: clamp(1.4rem, 0.9vw, 2.0rem);
	line-height: 1em;
	letter-spacing: 0.18em;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	transform: rotate(90deg);
	white-space: nowrap;
}
