@charset "UTF-8";

.contentpage .m_img_area {
	background-image: url("../images/root/m_img@2x.jpg");}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.contentpage .m_img_area {
	background-image: url("../images/root/m_img_sp@2x.jpg");}
}



/* sec1
---------------------------------------------------------*/
#sec1 .bg{
	background-color: #073b66;
	color: #fff;
	padding:min(190px,15.83vw) 0 min(160px,13.33vw) ;
	position: relative;
	z-index: 1;
}
#sec1 .bg::before{
	position: absolute;
	content: "";
	background: url("../images/root/bg1@2x.jpg") no-repeat right top;
	background-size: 100% auto;
	max-width: 874px;
	width: 58.267vw;
	max-height: 857px;
	height: 57.1334vw;
	right: 0;
	top: min(30px,2.5vw);
	z-index: -1;
}
#sec1 .bg .rel{
	position: relative;
	z-index: 1;
}
#sec1 .bg .abs_tit{
	font-size: min(738%,9.4vw);
	letter-spacing: 0.1em;
	line-height: 1em;
	color: #527694;
	position: absolute;
	left: 0;
	top:-0.75em;
	z-index: -1;
} 
#sec1 .bg .inbox{
	max-width: 1200px;
	width: 91%;
	margin: 0 auto;
}
#sec1 .bg .txt{
	max-width: 730px;
	width: 73.5%;
}
#sec1 .bg .txt .tit{
	font-size: min(187.5%,2.5vw);
	letter-spacing: 0.2em;
	line-height: 1.9em;
	margin-bottom: 1.3em;
}
#sec1 .bg .txt .tit span{
	display: block;
	font-size: 147%;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 0.3em;
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec1 .bg{
	padding:42vw 0 18%;
}
#sec1 .bg::before{
	background-image: url("../images/root/bg1_sp@2x.jpg");
	max-width: 100%;
	width: 100%;
	max-height: 46.66667vw;
	height: 46.66667vw;
	top:0;
}
#sec1 .bg .abs_tit{
	font-size: 370%;
	letter-spacing: 0.05em;
	left: -5%;
}
#sec1 .bg .inbox{
	width: 100%;
}
#sec1 .bg .txt{
	max-width: 100%;
	width: 100%;
}
#sec1 .bg .txt .tit{
	font-size: 103%;
	letter-spacing: 0.05em;
}
#sec1 .bg .txt .tit span{
	letter-spacing: 0.05em;
}
}



/* sec2
---------------------------------------------------------*/
#sec2 .bg{
	position: relative;
	background: #e6ebf0;
	padding: min(80px,7vw) 0 min(120px,10vw);
}
#sec2 .title{
	text-align: center;
	margin-bottom: min(60px,4vw);
	font-size:min(100%,1.5vw)
}
#sec2 .title span{
	display:block;
}
#sec2 .title span:nth-child(1){
	font-size:190%;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	margin-bottom: .5em;
}
#sec2 .title span:nth-child(2){
	font-size: 270%;
	letter-spacing: 0.15em;
	line-height: 1.4em;
}
#sec2 .box li{
	background: #f8f8f8;
	border-radius: 10px;
	margin-bottom: min(30px,2vw);
	padding:min(70px,4.668vw) 4% min(80px,6vw) min(60px,4vw);
	box-sizing: border-box;
}
#sec2 .box .inbox{
	max-width: 1130px;
	margin: 0 auto;
}
#sec2 .box .img_r{
	max-width: 464px;
	width: 41.1%;
}
#sec2 .box .com_flt dt{
	font-size: min(190%,2.6vw);
	letter-spacing: 0.15em;
	line-height: 1.5em;
	margin-bottom: min(.8em,1.6vw);
}
#sec2 .box .bg_box{
	background-color: #073b66;
	padding:min(40px,4vw) 4% min(50px,5vw);
	border-radius:min(20px,2vw);
	box-sizing: border-box;
	color: #fff;
}
#sec2 .box .bg_box dl{
	max-width: 1025px;
	margin: 0 auto;
}
#sec2 .box .bg_box dt{
	font-size: 112.5%;
	letter-spacing: 0.2em;
	line-height: 1.6em;
	text-align: center;
	padding-bottom: 1.6em;
	margin-bottom: 1.8em;
	position: relative;
}
#sec2 .box .bg_box dt::before{
	position: absolute;
	content: "";
	background: #fff;
	width: 27.7778em;
	max-width: 500px;
	height: 1px;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
}
#sec2 .box .txt{
	font-size: 105%;
	letter-spacing:0.15em;
	line-height: 1.9em;
	text-align: center;
}
#sec2 .box .txt span{
	font-size:129.5%;
	letter-spacing: 0.15em;
	line-height: 1.9em;
	display: block;
	margin-top: 0.3em;
}
#sec2 .flex_box{
	justify-content: space-between;
	flex-wrap: wrap;
}
#sec2 .flex_box > li{
	width: 49%;
	max-width: 630px;
	background: #f8f8f8;
	border-radius: 10px;
	margin-top: min(30px,2vw);
	padding:min(60px,4vw) 4% min(80px,6vw);
	box-sizing: border-box;
}
#sec2 .flex_box > li:nth-child(-n+2){
	margin-top: 0;
}
#sec2 .flex_box dt{
	font-size: min(190%,2.6vw);
	letter-spacing: 0.15em;
	line-height: 1.5em;
	margin: min(1em,2vw) 0 min(.8em,1.6vw);
	text-align: center;
}
#sec2 .references li{
	margin-top: 1em;
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#sec2 .box li{
	padding-left: 3%;
	padding-right: 3%;
}
#sec2 .box dt{
	letter-spacing:normal;
}
#sec2 .box .bg_box dt{
	letter-spacing: 0.15em;
}
#sec2 .flex_box > li{
	padding-left: 3%;
	padding-right: 3%;
}
#sec2 .flex_box dt{
	letter-spacing:normal;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#sec2 .box li{
	padding-left: 3%;
	padding-right: 3%;
}
#sec2 .box .com_flt dt{
	letter-spacing:normal;
}
#sec2 .box .txt{
	letter-spacing:0.1em;
}
#sec2 .box .txt span{
	letter-spacing: 0.1em;
}
#sec2 .flex_box > li{
	padding-left: 3%;
	padding-right: 3%;
}
#sec2 .flex_box dt{
	letter-spacing:normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec2 .bg{
	padding: 10% 0 14%;
}
#sec2 .bg::before{
	width: 70vw;
	top:-14vw;
}
#sec2 .title{
	margin-bottom:6%;
	font-size: 50%;
}
#sec2 .box li{
	margin-bottom: 5%!important;
	padding: 5% 5% 8%;
}
#sec2 .box .inbox{
	max-width: 100%;
}
#sec2 .box .img_r{
	width: 85%;
}
#sec2 .box .com_flt dt{
	font-size: 130%;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: .5em;
}
#sec2 .box .bg_box{
	padding:6% 5%;
}
#sec2 .box .bg_box dl{
	max-width: 100%;
	margin: 0 auto;
}
#sec2 .box .bg_box dt{
	font-size: 112.5%;
	letter-spacing: 0.1em;
	padding-bottom: 0.8em;
	margin-bottom: 1em;
}
#sec2 .box .bg_box dt::before{
	max-width: 100%;
}
#sec2 .box .txt{
	font-size: 100%;
	letter-spacing:0.05em;
	line-height: 1.8em;
	text-align: left;
}
#sec2 .box .txt span{
	letter-spacing: 0.05em;
	line-height: 1.8em;
}
#sec2 .flex_box{
	display: block;
}
#sec2 .flex_box > li{
	width:100%;
	max-width:100%;
	margin-top: 5%!important;
	padding: 5% 5% 8%;
}
#sec2 .flex_box > li:nth-child(1){
	margin-top: 0!important;
}
#sec2 .flex_box dt{
	font-size: 130%;
	letter-spacing: 0.05em;
	margin:1em auto .5em;
}
}



/* sec3
---------------------------------------------------------*/
#sec3 .bg{
	background: linear-gradient(to bottom,  #042845 1%,#073b66 100%);
	padding: min(20px,2vw) 0 min(80px,6vw);
	color: #fff;
}
#sec3 .title1{
	text-align: right;
	color: rgba(255,255,255,0.07);
	font-size:min(800%,12vw);
	line-height: 1em;
}
#sec3 .title2{
	text-align: center;
	font-size:min(150%,2.7vw);
	letter-spacing: 0.15em;
	line-height: 1.6em;
	margin-top: -1em;
	margin-bottom: 50px;
}
#sec3 .doc_list{
	max-width: 1150px;
	margin-left: auto;
	margin-right: auto;
}
#sec3 .doc_list > li{
	border-bottom: rgba(255,255,255,0.3) 1px solid;
	padding-bottom: min(60px,6vw);
	margin-bottom: min(60px,6vw);
}
#sec3 .doc_list > li:last-child{
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
#sec3 .doc_list .flex_box{
	justify-content: space-between;
}
#sec3 .doc_list .flex_box .img_l{
	width: 26.1%;
	max-width: 300px;
	text-align: center;
}
#sec3 .doc_list .flex_box .img_l dl{
	margin-top: 1.5em;
	font-size:min(120%,2vw);
	line-height: 1.5em;
}
#sec3 .doc_list .flex_box .img_l dt{
	position: relative;
	padding-bottom:.9em;
	margin-bottom: .9em;
}
#sec3 .doc_list .flex_box .img_l dt::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 35%;
	height: 1px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#sec3 .doc_list .flex_box .txt_r{
	width: 69.9%;
}
#sec3 .doc_list .flex_box .txt_r dl{
	margin-bottom: 1em;
	font-size:min(100%,1.7vw)
}
#sec3 .doc_list .flex_box .txt_r dl.flex_box{
    justify-content: start;
    align-items: center;
}
#sec3 .doc_list .flex_box .txt_r dl.flex_box dt{
	margin-right: 1.5em;
}
#sec3 .doc_list .flex_box .txt_r dt{
	font-size:140%;
}
#sec3 .doc_list .flex_box .txt_r dd{
	font-size: 185%;
}
#sec3 .doc_list .flex_box .txt_r p{
	letter-spacing: 0.05em;
}
#sec3 .doc_list .movie{
	display: flex;
    justify-content: space-between;
}
#sec3 .doc_list .movie li{
	width:48%;
}
#sec3 .doc_list .movie li iframe{
	aspect-ratio: 547 / 307;
	height: min(307px,25vw)
}
#sec3 .doc_list .reki_col2{
	display: flex;
    justify-content: space-between;
} 
#sec3 .doc_list .reki_col2 > li{
	width: 58%;
} 
#sec3 .doc_list .reki_col2 > li:nth-child(2){
	width: 38%;
} 
#sec3 .doc_list .reki_col2 > li p{
	font-size:120%;
}
#sec3 .doc_list .reki_col2 .reki li{
	position: relative;
	padding-left: 1.5em;
	box-sizing: border-box;	
	display: flex;
    justify-content: space-between;
}
#sec3 .doc_list .reki_col2 .reki li::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: .65em;
	height: .65em;
	top:.5em;
	left: 0;
	border-radius: 50%;
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(1) div:nth-child(1){
	width: 5em;
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(1) div:nth-child(2){
	width: calc(100% - 5em);
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(2) div:nth-child(1){
	width: 10em;
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(2) div:nth-child(2){
	width: calc(100% - 10em);
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(3) div:nth-child(1){
	width: 6em;
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(3) div:nth-child(2){
	width: calc(100% - 6em);
}
#sec3 .doc_list .reki_col2 .reki li a{
	text-decoration: underline;
}
#sec3 .doc_list .reki_col2 .reki li a:hover{
	text-decoration: none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec3 .bg{
	padding: 3% 0 8%
}
#sec3 .title1{
	font-size: 450%;
}
#sec3 .title2{
	font-size: 120%;
	letter-spacing: normal;
	margin-bottom: 8%;
}
#sec3 .doc_list > li{
	padding-bottom: 12%;
	margin-bottom: 12%;
}
#sec3 .doc_list .flex_box{
	display: block;
}
#sec3 .doc_list .flex_box .img_l{
	width: 100%;
	max-width: 100%;
	margin: 0 auto 8%;
}
#sec3 .doc_list .flex_box .img_l .img{
	width: 60%;
	margin: 0 auto;
}
#sec3 .doc_list .flex_box .img_l dl{
	font-size: 100%;
}
#sec3 .doc_list .flex_box .txt_r{
	width: 100%;
}
#sec3 .doc_list .flex_box .txt_r dl{
	font-size:80%;
	text-align: center;
	margin: 0 auto 8%;
}
#sec3 .doc_list .flex_box .txt_r dt{
	font-size:110%;
	line-height: 1.4em;
	margin-bottom: .4em;
}
#sec3 .doc_list .flex_box .txt_r dl.flex_box dt{
	margin-right: 0;
}
	
#sec3 .doc_list .movie{
	display: block;
}
#sec3 .doc_list .movie li{
	width: 100%;
	margin-bottom: 3%;
}
#sec3 .doc_list .movie li:last-child{
	margin-bottom: 0;
}
#sec3 .doc_list .movie li iframe{
	height: 50vw;
}
#sec3 .doc_list .reki_col2{
	display: block;
} 
#sec3 .doc_list .reki_col2 > li{
	width: 100%;
} 
#sec3 .doc_list .reki_col2 > li:nth-child(2){
	width: 100%;
	margin-top: 8%;
} 
#sec3 .doc_list .reki_col2 > li p{
	font-size:110%;
	margin-bottom: .5em;
}
#sec3 .doc_list .reki_col2 .reki li{
	padding-left: 1.2em;
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(1) div:nth-child(1){
	width: 4.5em;
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(1) div:nth-child(2){
	width: calc(100% - 4.5em);
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(2) div:nth-child(1){
	width: 8.75em;
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(2) div:nth-child(2){
	width: calc(100% -  8.75em);
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(3) div:nth-child(1){
	width: 5.5em;
}
#sec3 .doc_list .reki_col2 .reki li:nth-child(3) div:nth-child(2){
	width: calc(100% - 5.5em);
}
}



/* sec5
---------------------------------------------------------*/
#sec5 .med_circlelist{
	max-width: 945px;
}
#sec5 .med_circlelist li {
	font-size: min(112.5%,1.8vw);
	line-height: 1.7em;
	max-width: 220px;
	width: 23.28042328%;
	background: url("../images/root/circlelist_bg@2x.png") no-repeat center center;
	background-size: contain;
	aspect-ratio: 1 / 1;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec5 .med_circlelist{
	width: 80%;
}
#sec5 .med_circlelist li {
	font-size: 72%;
	width: 48%;
	max-width: 48%;
	margin: 1% 1%;
}
}



/* sec6
---------------------------------------------------------*/
#sec6 .maru_list{
	margin-bottom: 40px;
}
#sec6 .maru_list li{
	margin-top: 30px;
}
#sec6 .maru_list li:first-child{
	margin-top: 0;
}
#sec6 .maru_list li dt{
	font-size: 118.75%;
	line-height: 1.5em;
	letter-spacing: 0.2em;
	margin-bottom: 0.8em;
	padding-left: 2em;
	position: relative;
}
#sec6 .maru_list li dt::before{
	position: absolute;
	content: "";
	background: var(--color_nvy);
	width: 1em;
	height: 1em;
	border-radius: 1em;
	left: 0;
	top:0.25em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#sec6 .maru_list{
	margin-bottom: 4%;
}
#sec6 .maru_list li{
	margin-top: 3%;
}
#sec6 .maru_list li dt{
	letter-spacing: 0.15em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#sec6 .med_check .check_title .txt2 span::after {
  top: 1.35em;
  transform: translateY(0%);
}
#sec6 .maru_list{
	margin-bottom: 6%;
}
#sec6 .maru_list li{
	margin-top: 5%;
}
#sec6 .maru_list li dt{
	letter-spacing: 0.1em;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
}
}



/* sec7
---------------------------------------------------------*/
#sec7 .treatment_list li{
	padding-top: 60px;
	margin-top: 65px;
	border-top: 1px solid #073b66;
}
#sec7 .treatment_list li:first-child{
	margin-top: 0;
}
#sec7 .treatment_list li > div{
	max-width: 1160px;
	margin: 0 auto;
}
#sec7 .treatment_list li > div div{
	max-width: 200px;
	width: 18%;
	float: left;
	margin-top: 0.5em;
}
#sec7 .treatment_list li > div dl{
	max-width: 910px;
	width: 78%;
	float: right;
}
#sec7 .treatment_list li > div dl dt{
	font-size: 144%;
	letter-spacing: .15em;
	line-height: 1.5;
	color: #073b66;
	margin-bottom: 0.8em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#sec7 .treatment_list li{
	padding-top: 6%;
	margin-top: 6.5%;
}
#sec7 .treatment_list li > div dl dt{
	font-size: 134%;
	letter-spacing: 0.1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#sec7 .treatment_list li{
	padding-top: 8%;
	margin-top: 8.5%;
}
#sec7 .treatment_list li > div div{
	width: 50%;
	float: none;
	margin: 0 auto 1em;
}
#sec7 .treatment_list li > div dl{
	max-width: 100%;
	width:  100%;
	float: none;
}
#sec7 .treatment_list li > div dl dt{
	font-size: 114%;
	letter-spacing: 0.05em;
	text-align: center;
}
}



/* sec9
---------------------------------------------------------*/
#sec9 .feature3 .com_inbox2 p.ft_ryo{
	font-size: 137%;
	letter-spacing: 0.15em;
	line-height: 1.9em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#sec9 .feature3 .com_inbox2 p.ft_ryo{
	font-size: 127%;
	letter-spacing: 0.1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec9 .feature3 .com_inbox2 p.ft_ryo{
	font-size: 110%;
	letter-spacing: 0.05em;
	line-height: 1.8em;
}
}



/* sec11
---------------------------------------------------------*/
#sec11 .med_circlelist li {
	font-size: min(112.5%,1.8vw);
	line-height: 1.7em;
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec11 .med_circlelist li {
	font-size: 72%;
}
}