@charset "utf-8";
/* CSS Document */
/*common*/
body {
  margin: 0;
  font-family: 'YakuHanJP','Roboto','Noto Sans JP',"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Sans", "メイリオ","Noto Sans JP", Meiryo, sans-serif;
	line-height: 1.5;
  font-weight: normal;
	letter-spacing: 1px;
  font-size: 16px;
	color:#374248;
}
.mincho {
  font-family:YakuHanMP, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
}

.italic{
	font-style: italic;
}

img {
  vertical-align: bottom;
}

a{
	transition: all.2s;
}

a:link, a:visited {
  color: #2747A0;
  text-decoration: underline;
}
a:hover, a:active {
  color: #6080DB;
}
a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
/* For modern browsers */
.cf:before, .cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
  zoom: 1;
}

#headline {
  font-size: 0.8em;
  text-align: right;
  padding: 10px 1em 0;
  color: #657CBC;
  background:#E6EAF4;
}
#headline ol li {
  display: inline-block;
}
#headline ol li a {
  color: #657CBC;
  text-decoration: underline;
}
#headline ol li:after {
  content: '>';
}

#headline ol li:last-child{
	/*max-width: 15em;*/
    /*overflow: hidden;*/
    /*text-overflow: ellipsis;*/
    white-space: nowrap;
    vertical-align: bottom;
}

#headline ol li:last-child:after {
  content: normal;
}
.sp {
  display: none;
}
.pc {
  display: inline-block;
}

/*google aicon*/
.material-symbols-rounded{
	vertical-align: -7px;
}


@media screen and (max-width: 768px) {
  body {
    font-size: 90%;
  }
  .sp {
    display: inline-block;
  }
  .pc {
    display: none;
  }
}

/*
contents
*/

.common_header_top_ttl{
	width: 55%;
	max-width:300px;
	margin-left:3%;
}

header.common_header{
	background: linear-gradient(to right ,#657CBC , #7867A9);
	color: #FFF;
}

header.common_header h1 {
  font-size: 2em;
  padding:1em 0;
  text-align: center;
	width: 95%;
	margin: 0 auto;
	text-shadow: 0 3px 10px #707070;
	color: #FFF;
}

@media screen and (max-width: 768px) {
header.common_header h1 {
  font-size: 1.5em;
}
	}


header.common_header h1 span.common_header_sub{
	font-size: .5em;
	display: block;
	line-height: 1.5;
}

header.common_header h1 span.common_header_s_title{
	font-size: .9em;
	font-weight: normal;
	display: block;
}

.common_subpage_title_wrap{
	    width: 95%;
    max-width: 1200px;
	margin:5% auto 0;
}

h2.common_subpage_title{
	font-weight: bold;
	font-size: 2em;
	display: inline-block;
	text-align:left;
}

.common_subpage_title_s{
	background: #ADBEC8;
	color: #FFF;
	font-size: .8em;
	padding:.2em .5em;
	box-sizing: border-box;
	border-radius: 3px;
}


.common_main_img{
	text-align: center;
}

.common_main_img img{
	width: 80%;
	max-width: 600px;
	margin-top:5%;
	box-shadow: 0px 60px 40px -50px rgba(127, 143, 150, 0.6);
}


.common_container{
	padding-bottom: 8%;
	box-sizing: border-box;
}

.common_box {
  background: #FFF;
  width: 95%;
  max-width: 1200px;
  margin: 5% auto 0;
  padding: 1.5em;
  box-sizing: border-box;
	box-shadow: 0px 60px 40px -50px rgba(127, 143, 150, 0.6);
	border-radius: 3px;
}

.common_headline_grade_wh{
	/*background: linear-gradient(right );*/
	background: linear-gradient(to right ,#657CBC , #7867A9);
	mix-blend-mode: multiply;
	color: #FFF;
	font-weight: bold;
	font-size: 1.2em;
	padding: .2em 1em;
	border-radius: 3px;
	margin-top: 1em;
}

.common_headline_grade{
	/*background: linear-gradient(right );*/
	background: linear-gradient(to right ,#D7DEF4 , #DBD6E8);
	mix-blend-mode: multiply;
	color: #374248;
	font-weight: bold;
	font-size: 1.2em;
	padding: .2em 1em;
	border-radius: 3px;
	text-shadow: 0 1px 0 #FFF;
	margin-top: 1em;
}

.common_headline_grade_wh:first-child,.common_box .common_headline_grade:first-child{
	margin-top: 0;
}

.common_headline{
	font-weight: bold;
	font-size: 1em;
	color: #657CBC;
	margin-top: .5em;
}

.common_headline_m_wrap{
		text-align: center;
	padding: 6% 0 0;
	width: 90%;
	margin: 0 auto;
}

.common_headline_m{
	font-size: 1.5em;
	font-weight: bold;
	  position: relative;
  display: inline-block;
  padding: 0 55px;
}

.common_headline_m:before, .common_headline_m:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 20px;
  height: 3px;
  background-color: #657CBC;
}

.common_headline_m:before {
  left:0;
}
.common_headline_m:after {
  right: 0;
}

.common_headline_m span{
font-weight: normal;
font-size: 0.9em;
}

.overview_wrap dt{
	margin-top: 1em;
}

.overview_wrap dd{
	margin-top: .5em;
	padding: 0 1em;
	box-sizing: border-box;
}

.overview_flex_wrap{  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  justify-content: space-between;
  flex-wrap: wrap;}


table.common_overview_table{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
	margin-top:1.5em;
}

table.common_overview_table th{
	font-weight: bold;
	color: #FFF;
	background: #5C5C5C;
	text-align: center;
	width: 15%;
}

table.common_overview_table th,table.common_overview_table td{
	border-bottom: 1px solid #FFF;
	padding: 1em;
	box-sizing: border-box;
}

table.common_overview_table td{
	text-align: left;

}

table.common_overview_table tr:nth-child(odd){
  background-color: #eee
}

td.common_overview_table_tirashi img{
	max-width: 250px;
	margin-bottom: .5em;
	width: 100%;
}

td.common_overview_table_tirashi a{
	display: inline-block;
}

@media screen and (max-width: 768px) {
table.common_overview_table th,table.common_overview_table td{
	width: 100%;
	display: block;
}
	
}

.default_read{
	font-size: 1.1em;
	font-weight: bold;
	margin-top: 25px;
}

.default_text{
	margin-top:.5em;
}

ul.default_list_disc li{
	list-style: disc;
	margin-left: 1em;
}


.strong_txt{
	font-weight: bold;
	font-size: 1.1em;
	margin-top: 1em;
}

.al_l_text{
	text-align: left;
	display: inline-block;
}

ul.caution{
	margin-left: 1em;
	font-size: 0.9em;
}

ul.caution li{
	text-indent: -1em;
}

ul.caution li:before{
	display: inline;
	content: "※";
}

ul.text-indent_list{
    padding-left: 1em;
}

ul.text-indent_list li{
	
	list-style: disc;
}

ul.flex_list_box {
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
}
ul.flex_list_box li {
  display: inline-block;
  width: calc((100% - 6%) / 3);
  /*width: calc((100% - 3%) / 2);*/
  margin-right: 3%;
  margin-bottom: 3%;
  background: #A0A0A0;
  padding: 1em;
  box-sizing: border-box;
}
ul.flex_list_box li:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  ul.flex_list_box li {
    display: inline-block;
    width: calc((100% - 3%) / 2);
    margin-right: 3%;
    margin-bottom: 3%;
    background: #A0A0A0;
  }
	
ul.flex_list_box li:nth-child(3n) {
    margin-right: 3%;
  }	
	
  ul.flex_list_box li:nth-child(2n) {
    margin-right: 0;
  }
}




/*------ profile flex ------*/

dl.common_prof_flex_wrap {
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 95%;
  max-width: 1000px;
  margin: 5% auto 0;
}


 dl.common_prof_flex_wrap dt{
	  display: inline-block;
  width:15%;
  margin-right:3%;
  margin-bottom: 3%;
  box-sizing: border-box;
}

 dl.common_prof_flex_wrap dd{
	  display: inline-block;
  width: 72%;
  box-sizing: border-box;
}

dl.common_prof_flex_wrap dt img{
	width: 100%;
}

.common_prof_name{
	border-bottom: 2px solid;
	 border-image: linear-gradient(to right, #52A8DE,#52A8DE, rgba(255,255,255,0.00)) 1;
	font-size: 1.3em;
	font-weight: bold;
}

.common_prof_name span.common_prof_s{
	font-size: .8em;
	margin-right: 1em;
}

.common_prof_text{
	margin-top: 1em;
}

@media screen and (max-width: 768px) {
	 dl.common_prof_flex_wrap dt,dl.common_prof_flex_wrap dd{
		width: 100%;
		margin-right: 0;
	}
	
	dl.common_prof_flex_wrap dt{
		text-align: center;
	}
	
	dl.common_prof_flex_wrap dt img{
		width: 80%;
		max-width:150px;
	}
}

/*------ grade ------*/


.gradient_blue{
    /*ボタンの形状*/
	text-align: center;
	margin:0;
    display: inline-block;
    color:#fff;
    padding:1em;
	text-decoration: none!important;
	font-weight: bold;
    border-radius:50px;
    outline: none;
    /*背景の色と形状*/
    background: linear-gradient(270deg, rgba(82,168,222,.90) 0%, rgba(0,96,217,.90) 25%, rgba(35,87,192,0.90) 51%, rgba(58,137,204,.90) 100%);
    background-position: 1% 50%;
    background-size: 200% auto;
    /*アニメーションの指定*/
    transition: all 0.3s ease-out;
	font-size: 1.1em;
	box-sizing: border-box;
	max-width: 500px;
	min-width: 250px;
	text-shadow: none;
}
.gradient_blue:hover {
    color: #fff;
    background-position: 99% 50%;
}
.gradient_blue:hover img{
	opacity: 1;
}
.gradient_blue span{
	color: #FDFF5B;
}

.gradient_gray{
    /*ボタンの形状*/
	text-align: center;
	margin:0;
    display: inline-block;
    color:#000000;
    padding:1em;
	text-decoration: none!important;
	font-weight: bold;
    border-radius:50px;
	border:1px solid #2d2d2d;
    outline: none;
    /*背景の色と形状*/
    background: #ffffff;
    background-position: 1% 50%;
    background-size: 200% auto;
    /*アニメーションの指定*/
    transition: all 0.3s ease-out;
	font-size: 1.1em;
	box-sizing: border-box;
	max-width: 500px;
	min-width: 250px;
	text-shadow: none;
}
.gradient_gray:hover {
    color: #402c35;
    background-position: 99% 50%;
}
.gradient_gray:hover img{
	opacity: 1;
}
.gradient_gray span{
	color: #323626;
}



button.gradient_yellow{
    /*ボタンの形状*/
	text-align: center;
	margin:0;
    display: inline-block;
    color:#fff;
    padding:1em;
	text-decoration: none!important;
	font-weight: bold;
    border-radius:50px;
    outline: none;
    /*背景の色と形状*/
    background: linear-gradient(90deg, rgba(213,156,30,1) 0%, rgba(248,181,33,1) 43%, rgba(255,207,101,1) 59%, rgba(255,158,48,1) 100%);
    background-position: 1% 50%;
    background-size: 200% auto;
    /*アニメーションの指定*/
    transition: all 0.3s ease-out;
	font-size: 1.1em;
	box-sizing: border-box;
	max-width: 500px;
	min-width: 250px;
}
button.gradient_yellow:hover {
    color: #fff;
    background-position: 99% 50%;
}
button.gradient_yellow:hover img{
	opacity: 1;
}
button.gradient_yellow span{
	color: #FDFF5B;
}



.common_gradeline_gray{
	    height: 1px;
    background: linear-gradient(to right, #FFFFFF,#D0D0D0,#FFFFFF);
    border: none;
    width: 90%;
    margin: 2em auto 0;
}


.common_dotted_gray{
	border: 1px dotted #D0D0D0;
    width: 100%;
    margin: 2em auto 0;
}


.common_gradeline_blue{
	    height: 1px;
    background: linear-gradient(to right, #FFFFFF,#52A8DE,#FFFFFF);
    border: none;
    width: 90%;
    margin: 2em auto 0;
}


/*シンプルaボタン*/
.btn--white,
a.btn--white {
  color: #000000;
  background-color: #FFFFFF;
  border: 1px solid #ACACAC;
  font-size: 13px;
  text-decoration: none;
padding: 10px 15px;
}
.btn--white:hover,
a.btn--white:hover {
  color: #000000;
  background:#F1F1F1;
}

a.btn--radius {
   border-radius: 100vh;
}

/*青ボタン*/
.blue_line_link_wrap{
	text-align: center;
}

a.blue_line_link:link,a.blue_line_link:visited{
	padding: 1em;
	border:1px solid #006fb5;
	border-radius: 100px;
	margin: 1.5em auto 0;
	text-decoration: none!important;
	display: block;
	font-size: .9rem;
	color: #FFF!important;
	max-width: 300px;
	font-weight: bold;
	background: rgba(0,111,181,.90);
	
}

a.blue_line_link:hover,a.blue_line_link:active{
	border:1px solid #FFFFFF;
	background: rgba(0,111,181,.80);
	text-decoration: none;
}

.blue_line_link_ic{
	padding-left: 1rem;
	position: relative;
}

.blue_line_link_ic::before{
	content: 'chevron_right';
	font-family: 'Material Symbols Rounded';
	position: absolute;
	top: -2px;
	left: 0;
}


/*
move
*/
.fadeInUpTrigger, .fadeInTrigger {
  opacity: 0;
}


/*------ form ------*/
#form-main{margin-top: 5%;}
#form-main h4{
	text-align: left;
	color: #000000;
	font-size: 18px;
}
.mfp_rows input[type="text"],
.mfp_rows input[type="email"]{
	height: 40px;
	border: 1px solid #00509e;
	padding-left: 5px;
}
.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea,
.mfp_element_date,
.mfp_element_password {
    border: 1px solid #00509e;
    border-radius: 0px;
    box-shadow: none;
    padding: 0;
    margin: 0;
    vertical-align: middle;
}
#form-main textarea{border: 1px solid #00509e;}
.mailform{margin-bottom: 20px}
form#mailformpro dl dt{
	color: #000000;
	font-size: 16px;
	font-weight: bold;
	float: left;
	padding: 20px 20px 20px 0px;
	width: 25%;
	text-align: left;
	border-top: none;
	position: relative
}
form#mailformpro dl dt span{
	font-size: 85%;
	display: block
}
form#mailformpro dl dd{
	padding: 20px 0px 20px 0px;
	width: calc(100% - 25%);
	float: right;
	border-top: none;
}
.must {
    display: block;
    background-color: transparent;
    border: none;
    text-shadow: none;
    padding: 0;
    font-size: 14px;
    color: #000000;
    float: none;
    border-radius: 0px;
    box-shadow: none;
    background-image: none;
}
.mfp_colored {background-color: #ffffff;}
.mfp_element_textarea{
	border: 1px solid #00509e;
	height: 80px !important}
.mfp_buttons button{
	background: #00509e;
	color: #ffffff;
	font-size: 20px;
	width: 200px;
	height: 60px;
	border: none;
	text-shadow: none;
	margin-top: 60px;
}
.mfp_buttons button span{
	font-size: 13px;
	display: block
}
.mfp_element_submit:hover,.mfp_element_reset:hover,.mfp_element_button:hover,button.mfp_next:hover,button.mfp_prev:hover {
	background: gradient(linear, center top, center bottom, from(#00509e), to(#e50012));
	background: -webkit-gradient(linear, center top, center bottom, from(#e50012), to(#e50012));
	background: -moz-linear-gradient(top, #e50012, #e50012);
	background: -ms-linear-gradient(top, #e50012 0%, #e50012 100%);
	box-shadow: none
}
.mfp_buttons button#mfp_button_cancel{background-color: #999999}
@media screen and (max-width: 768px) {
#form-main{padding: 25px}	
form#mailformpro dl dt,
form#mailformpro dl dd{width: 100%}	
form#mailformpro dl dt{padding: 0}	
form#mailformpro dl dd{padding: 10px 0px 30px}		
input.form-control[type=text] {width: auto;}	
}

/*------ footer ------*/

#page-top {
  font-size: 77%;
  position: fixed;
  right: 20px;
  bottom: 20px;
}
#page-top a {
  margin: 0 auto;
  padding: 10px;
  background: rgba(120,103,169,.80);
  border-radius: 5px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  display: block;
  font-size: 2em;
  line-height: 0;
}
#page-top a:hover {
  background: rgba(120,103,169,1);
  text-decoration: none;
}
footer {
  padding:5% 0;
  box-sizing: border-box;
	background: #FFF;
}
footer ul.footer_bt {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}
footer ul.footer_bt li {
  display: inline-block;
  margin: .5em 1em;
}
footer ul.footer_bt li a:link, footer ul.footer_bt li a:visited {
  display: inline-block;
  width: 250px;
  background: #E4E4E4;
  padding: 10px;
  box-sizing: border-box;
  border-radius: 6px;
	text-decoration: none;
}
footer ul.footer_bt li a:hover, footer ul.footer_bt li a:active {
  background: #9B9B9B;
  color: #FFF;
}
footer p.copy {
  font-size:.8em;
  text-align: center;
}

.footer_logo{
	text-align: center;
}

.footer_logo img{
	max-width:250px;
	width: 100%;
}

#footer-info{
	margin: 1em auto 0;
	max-width: 385px;
	list-style: none;
	/*text-align: left;*/
}

#footer_link{
		margin: 0 auto;
	max-width: 385px;
	list-style: none;
	text-align: center;
	margin-top: 1em;
}

#footer_link li{
	display: inline-block;
}

#footer_link li:nth-child(1){
	padding-right: 1em;
	border-right: 1px solid #374248;
}

#footer_link li:nth-child(2){
	padding-left: 1em;
}
