/* =========================================================
		fonts
========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cardo&display=swap');
/* =========================================================
		common
========================================================= */
body {font-family:"游ゴシック", YuGothic, ‘Hiragino Kaku Gothic ProN’, ‘ヒラギノ角ゴ ProN W3’, Meiryo, メイリオ, Arial, Helvetica, sans-serif;line-height: 1.8; color: #444; margin: 0; padding: 0; letter-spacing: 0.5px; overflow-x: hidden; font-size: 15px; position: relative; -webkit-text-size-adjust: 100%;}
.min{font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight:500;}
.en, .small_en{font-family: 'Cardo', serif; font-size:1.2em; font-weight:500;}

.pc-none{ display: none;}
.sp-none{ display: block;}
.sp-none2{ display: inline-block;}
.flex{display: flex;}
.lb_bg{background: #FAF8F2;}
.lb_bg2{background: #fcf9f9;}
a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
}
a{transition: all .3s;}
.smallfont{font-size:0.85em !important;}
/*---font color----*/
.red_font{color:#e15759;}

/* =========================================================
		header
========================================================= */
.header h1{align-items: center; width: 210px;}
.header h1 p{font-size: 12px; color: #0077c3; padding-left: 2px; letter-spacing: 0; font-weight: 300;}
.header { position: fixed;
    top: 0;
    z-index: 7;
    margin: 0 auto;
    padding: 0 1.5%;
    height: 85px;
    width: 97%;
    background: #fff;
    right: 0;
	justify-content:space-between;
}
.header_menu{
	position: absolute;
	right: 75px;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	    align-items: center;
}
.header_menu a{
	color: #444;
	margin-left: 21px;
	transition: all .3s;
}
.header_menu a:hover{
	color: #bb9f5b;
	
}
.nav{
	z-index: 9999;
}

/*================ header nav  ===================*/
.navigation { position: fixed;  
  width: 100%; height: 100vh; padding: 50px 30px; text-align: center; transition: all .3s; -webkit-transition: all 0.5s ease 0s;
  animation: fadeOut 0.6s ease-in-out 0s forwards; display: none; opacity: 0;}
  @keyframes fadeIn {
    0% { display: none; opacity: 0;} 100% {display: block; opacity: 1;}
  }
  @keyframes fadeOut {
    0% { display: block; opacity: 1;} 100% {display: none; opacity: 0;}
  } 

.navigation.active{display: block; opacity: 0; animation: fadeOut 0.6s ease-in-out 0s forwards; -webkit-transition: all 0.5s ease 0s;}
body.over .navigation.active{animation: fadeIn 0.6s ease-out 0s forwards; opacity: 1; right:0; display: block; -webkit-transition: all 0.5s ease 0s;}
.naviwrap {width: 100%; height: 100vh; position: absolute; top: 0; background: rgba(236, 234, 227, 0.95);
  padding: 32.5px 0; transition: all .3s; overflow-y: auto; overflow-x: hidden;}

/*================ scroll bar deleate ===================*/
.navigation{
  -ms-overflow-style: none;    /* IE, Edge 対応 */
  scrollbar-width: none;       /* Firefox 対応 */
}
.navigation::-webkit-scrollbar {  /* Chrome, Safari 対応 */display:none;}
/*================ header nav icon ===================*/
.sidenavigation{position: absolute;}
#menu-btn{
	position: fixed;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999;
    top: 26px;
    right: 2%;
    width: 33px;
    height: 33px;}
#menu-btn span, #menu-btn span:before, #menu-btn span:after {
  content: ''; display: block; position: absolute; transition: all .6s;
  height: 2px; width: 33px; border-radius: 3px; background-color: #666;
}
.topinner #menu-btn span, .topinner #menu-btn span:before, .topinner #menu-btn span:after{background-color: #222;}
#menu-btn span:before {bottom: 11px;} #menu-btn span:after {top: 11px;} 
.over #menu-btn span:before {bottom: 0px; transform: rotate(45deg);}
.over #menu-btn span:after {top: -3px; transform: rotate(-45deg);}
.over #menu-btn span{height: 0;}
.h_reserve a{
	    color: #fff;
    background: #2682c8;
    padding: 6px 9px;
    width: 80px;
    border-radius: 50px;
    display: block;
    transition: all .3s;
    text-align: center;
    font-size: 0.86em;
}
.h_reserve a:hover{
	color: #fff;
   opacity: 0.7;
}
.h_reserve img{
	width: 14px;
    vertical-align: middle;
    margin: 0 4px 2px;
}

.nav_sub_wrap{
	width: 700px;
	margin: 0 auto;
	padding: 30px 0 50px;

}
.nav_sub_wrap .nav_logo{
	width: 220px;
	margin: 0 auto;
	padding-bottom: 45px;
}
.nav_inner1{
	justify-content: space-between;
}
.nav_inner1 ul{
	text-align: left;
	width: 47%;
	font-size: 18px;
}
.nav_inner1 ul li{
	    padding-bottom: 18px;
	padding-left: 1%;
    margin-bottom: 18px;
    border-bottom: 1px dotted #aaa;
}
.nav_inner1 ul li{
	position: relative;
	width: 99%;

}
.nav_inner1 ul li:after{
    position: absolute;
    content: '';
    width: 8px;
    height: 8px;
    border-top: solid 1px #444;
    border-right: solid 1px #444;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 25%;
    right: 25px;
    margin-top:0;

}

.nav_inner1 ul .ac_cate1:after{display: none;}
.nav_inner1 ul li a{
	display: block;
    width: 100%;
    height: 100%;
}
.nav_btn1{
	padding-top:25px;
	display: table;
	margin: 0 auto;
}
.nav_btn1 .re_btn a {
    color: #444;
    border: 1px solid #444;
    font-size: 19px;
    width: 340px;
    height: 60px;
    line-height: 60px;
    display: block;
    margin-bottom: 10px;
    text-align: center;
    transition: all .3s;
    font-weight: 500;
    margin: 0 auto 20px;
}
.nav_btn1 .tell_btn {
    color: #444;
    border: 1px solid #444;
    font-size: 23px;
    width: 340px;
    display: block;
    text-align: center;
    transition: all .3s;
    font-weight: 500;
    line-height: 1.3;
    padding: 11px 0;
}
.nav_btn1 .tell_btn a{
	 color: #444;
}
.nav_link1 .ac-content{
	background: inherit;
	padding: 5px 0;
	margin: 18px 0 0;
	    border-top: 1px dotted #aaa;
}
.nav_link1 .nav_trouble p a{
	padding: 3px 0;
	font-size: 22px;
	font-weight: 300;
	
}
.nav_link1 .nav_trouble p span{
	font-size: 0.6em;
	color: #bb9f5b;
	
}
.nav_link1 .ac-label dd {
    font-size: 18px;
    font-weight: 500;
    display: flex;
    justify-content: center;
    flex-flow: column;
}

.h_tell{color: #444; font-size: 21px;display: block; font-weight: 500; margin:0 15px 0 22px; line-height: 1.1; letter-spacing: 0;}
.h_tell span img {
    width: 16px;
    margin-right: 3px;
    vertical-align: middle;
    margin-bottom: 5px;
}
.h_tell p {
    font-size: 10.5px;
    letter-spacing: 0;
	text-align: right;
}
/* =========================================================
		FV catgory
========================================================= */
.fv_category{height: 90px; display: flex; justify-content: center; align-items: center; flex-flow: column; margin: 85px auto 0; 
background-image: linear-gradient(135deg, #fefffd 0%, #f0ede4 100%);}
.fv_category .heading {font-size: 24px; line-height: 1.4; font-weight: 400; letter-spacing: 1px; }
.fv_category .heading span{font-size: 36px;}
.fv_category .heading span.small_en {
  font-size: 14px;
  vertical-align: top;
  line-height: 3.8;
  margin-left: 10px;
}
.fv_category .heading--sub {font-size: 23px; font-weight: 300; color: #fff;}
.fv_category.medical .heading, .fv_category.medical .heading--sub{color: #009ded;}

/* =========================================================
		breadcrumb
========================================================= */
#breadcrumb {padding: 10px 0; letter-spacing: 0px;}
#breadcrumb li a {
    color: #bb9f5b;
}
#breadcrumb li a:hover{
    opacity: 0.5;
}
#breadcrumb ol{width: 980px; margin: 0 auto; padding: 0;}
#breadcrumb li {
    display: inline-block;
    vertical-align: middle;
    font-size: 14px;
}
#breadcrumb li a::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 1px solid #aaa;
    border-right: 1px solid #aaa;
    transform: rotate(45deg);
    margin: -2px 6px 0 8px;
}
/* =========================================================
		2 common
========================================================= */
.container2{
	width:880px;
	margin:35px auto 120px;
	}
/* =========================================================
		3 common
========================================================= */
.fv_main{width:980px; margin:0 auto;}
.container{
	width:880px;
	margin:50px auto 100px;
	}
.course_ttl{
	font-size:28px;
	font-weight:500;
	margin-bottom:10px;
}
.course_ttl2{
	font-size:28px;
	padding: 5px;
	border-bottom: 1px solid #bb9f5b;
	margin-bottom:40px;
}
.course_ttl2 span{
	font-size:1.2em;
}
/*230622 add+*/
.course_ttl2 .ttl_mini{
  font-size: 0.85em;
  line-height: 2.4;
}

.course_ttl3{
	font-size:24px;
	font-weight:500;
	margin-bottom:10px;
}
.course_copy{
	margin-bottom:20px;
}
.course_ttl_sub{
	font-size:30px;
	font-weight:500;
	margin-bottom:10px;
}

.section_mt{margin-top: 65px;}
.section_mt_line{margin-top: 35px;
    padding-top: 45px;
    border-top: dotted 1px #ccc;}
.section_mt_mini{margin-top: 40px !important;}
.table_mt{margin-top: 20px;}

/*---graph----*/
.kiji_table{width:90%; margin:0 auto;}
.kiji_table dl,
.kiji_table dt,
.kiji_table dd {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	}

.kiji_table dl:first-child{
	 border-top: 1px solid #eae4d4;
}
.kiji_table dl {
  display: grid;
  grid-template-columns: 26% 74%;
  border-bottom: 1px solid #eae4d4;
}
.kiji_table dt {
	padding: 20px 0 20px 0;
	font-size: 16px;
  background: #FAF8F2;
	text-align: center;
}
.kiji_table dd {
	padding: 20px 0px 20px 15px;
	background: #fff;
	text-align: left;
}
.kiji_ttl{
	font-size: 24px;
	padding: 0 0 15px 5%;}
.kiji_att{font-size: 0.8em;}
/*---price----*/
.priceTbl{
	margin-bottom: 30px;
}
.priceTbl table {
    border-top: 1px solid #EBEBEB;
    border-right: 1px solid #EBEBEB;
}
.priceTbl table {border-top: 1px solid #EBEBEB;border-right: 1px solid #EBEBEB; width: 100%;}
.priceTbl th {background: #faf8f2; padding: 10px 25px;border-bottom: 1px solid #EBEBEB;border-left: 1px solid #EBEBEB;vertical-align: middle; font-size: 18px; text-align: left;}
.priceTbl td {padding: 10px 25px;background: #fff;border-bottom: 1px solid #EBEBEB;border-left: 1px solid #EBEBEB;vertical-align: middle; width: 50%;}
.priceTbl td.td_bgcolor{background: #faf8f2;}
.priceTbl .fee {font-weight: 700;text-align: right;}
.priceTbl .kindTd span.items2 {height: 40px;display: block;display: flex;align-items: center;justify-content: flex-end}
.priceTbl .kindTd span.items2 + .items2 {margin-top:1.0em}
.priceTbl td dl {display: flex;justify-content: space-between;align-items: center;}

/*---未承認----*/
.mishonin .course_ttl_sub2{font-size: 14px; margin: 10px 0 0px;}
.mishonin .course_copy {margin-bottom: 4px; font-size: 13px;}
.mishonin .section_mt_line{margin-top: 15px; padding-top: 20px;}
/*---faq----*/
.ac > li {
  padding-bottom: 6px; 
  list-style: none;
}
.faqcon li{padding: 15px 20px 15px 30px; border: 1px solid #ccc; margin-bottom: 25px; width: 88%; margin:0 auto 20px;}
.ac-label  {
  cursor: pointer;
  position: relative;
}
.ac-label dl{display: flex;}
.ac-label dt{margin-right: 20px; font-size: 28px; color: #bb9f5b;}
.ac-label dd{font-size: 19px; font-weight: 600; display: flex; justify-content: center; flex-flow: column;}
.ac-content {
  display: none;
	background: #faf8f2;
    padding: 15px 20px;
    margin-top: 10px;
	}
.ac-content dl{display: flex; padding: 5px 0 7px;}
.ac-content dt{margin-right: 20px; font-size: 28px; color: #e15759;}
.ac-content dd{line-height: 1.8; letter-spacing: 1px; padding-top: 3px;}
.icon-wrap {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translatey(-50%);
  width: 38px;
  height: 38px;
}
.icon {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}
.icon:before,
.icon:after {
  position: absolute;
  content: "";
  display: block;
  transition: all 0.4s;
  background: #bb9f5b;
  left: 50%;
  top: 50%;
  width: 50%;
  height: 1px;
  transform: translate(-50%, -50%);
}
.icon:before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.icon.open:before {
  transform: translate(-50%, -50%) rotate(0deg);
}
/*---nayami check----*/
.nayaim_con{padding: 30px 45px 25px; border: 1px solid #bb9f5b; margin: 40px auto 0;}
.nayaim_con h3{font-size: 28px; margin: 0 auto 35px; display: table; border-bottom: 1px solid #bb9f5b; padding-bottom: 2px;}
.nayaim_con .checkmark{margin: 0 auto; display: flex; flex-wrap: wrap;}
.nayaim_con .checkmark li {
  margin: 0 0 15px 0;
  width: 50%;
}
.nayaim_con .checkmark li h4 {
  position: relative;
  margin: 0 0 5px 0 !important;
  padding: 0 0 0 40px;
  text-align: left;
  display: block;
  background-image: none !important;
  border: none !important;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: 1px;
}
.nayaim_con .checkmark li h4:before {
  content: "";
  position: absolute;
  top: -2px !important;
  left: 11px;
  -webkit-transform: rotate(50deg);
  -ms-transform: rotate(50deg);
  transform: rotate(50deg);
  width: 6px;
  height: 17px;
  border-right: 3px solid #ff0000;
  border-bottom: 3px solid #ff0000;
  z-index: 2;
}
.nayaim_con .checkmark li h4:after {
  content: "";
  position: absolute;
  top: 1px;
  left: 0;
  width: 20px;
  height: 20px;
  border: 2px solid #999;
  border-radius: 2px;
}
.nayaim_con .checkmark li p {
  padding: 0 0 0 35px;
}
/*---flow----*/
.flow_con2{
    padding: 35px 45px;
    background: #faf8f2;}
.flow_con2 .flow_step{
	font-size: 20px;
    padding: 0 15px;
    background: #bb9f5b;
    color: #fff;
    margin-bottom: 20px;
    display: inline-block;
}
.flow_con2 .flow_ttl{
	font-size: 28px;
    color: #bb9f5b;
    margin-left: 15px; line-height: 1.4;
}
.flow_con2 .flow_copy span{font-size: 0.9em;}
.triangle3{
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #decfa5;margin: 15px auto;
}
/* =========================================================
		common footer contact
========================================================= */
.contact_con{
padding: 40px 35px;
    width: 82%;
    margin: 85px auto;
    border: 1px solid #d8d0be;
}
.contact_con .c_logo{
	width: 230px;
	margin-right: 35px;
	margin-top:25px;
	
}
.contact_con .c_logo p{
	    font-size: 12px;
    color: #0077c3;
	text-align: center;
	
}
.contact_con .c_tell h4{
	font-size: 57px;
	letter-spacing: 0;
	padding: 5px 0;
	line-height: 1.3;
	color: #bb9f5b;
	font-weight:500;
}
.contact_con .c_tell h4 a{color: #bb9f5b;}
.contact_con .c_tell h4 span{
	font-size: 0.6em;
}
.c_tell .copy1{
	font-size: 14px;
}
/* =========================================================
		footer
========================================================= */
footer{background: #bb9f5b; color: #fff; padding: 55px 0 25px;}
.footer_inner{width: 980px; margin: 0 auto; padding-bottom: 35px; justify-content: space-between;}
.footer_inner .footer_logo{width: 227px; margin-right: 100px;}
.footer_inner .footer_logo img{width: 185px;}
.footer_inner .footer_logo .name{padding: 3px 0 20px; font-size: 13px;}
.footer_inner .footer_logo .address{font-size: 13px; line-height: 1.5;}
.footer_inner .footer_link{margin-right: 60px; font-size: 14px;}
.footer_inner .footer_link li{padding-bottom: 5px;}
.footer_inner .footer_link li a{color: #fff; transition: all .3s;}
.footer_inner .footer_link li a:hover{opacity:0.6;}
.re_btn a{
	color: #fff;
    border: 1px solid #fff;
    font-size: 18px;
    width: 250px;
    height: 50px;
    line-height: 50px;
    display: block;
	margin-bottom: 15px;
    text-align: center;
    transition: all .3s;
	font-weight: 500;
}
.re_btn a:hover{
	opacity:0.6;
}
.re_btn a span img{
	width: 18px;
    margin-right: 10px;
	margin-bottom: 2px;
    vertical-align: middle;
	}
.tell_btn{
	 color: #fff;
    border: 1px solid #fff;
    font-size: 24px;
    width: 250px;
    display: block;
    text-align: center;
    transition: all .3s;
    font-weight: 500;
    line-height: 1.3;
    padding: 11px 0;
	
	}
.tell_btn a{color: #fff;}	
.tell_btn span img{
	    width: 18px;
    margin-right: 5px;
    vertical-align: middle;
    margin-bottom: 5px;
	}
.tell_btn p{
	font-size: 12px;
	letter-spacing: 0;
	}
.sns_area{
	display:table;
	margin: 0px auto 15px;
}
.sns_area ul li{
	width: 25px;
	margin: 0 10px;
}

.copyw{padding: 8px 0 12px; text-align: center; font-size: 12px;}
.totop {background: #444; border-radius: 20px; width: 40px; height: 40px; display: inline-block; margin: 2%; z-index: 5;text-align: right; right: 0; bottom: 0; position: fixed; bottom: 55px; opacity: 0.8; display: none;}
.totop a { display: inline-block; position: relative; width: 41px; height: 40px;}
.totop a::after { position: absolute; content: ""; width: 13px; height: 13px; vertical-align: middle; border-top: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(315deg); transform: rotate(315deg); vertical-align: middle; right: 34%; top: 15px;}

/* =========================================================
	404
========================================================= */
.page_ttl1{font-size: 68px; font-weight: 600; color: #bb9f5b; text-align: center; line-height: 1; margin-bottom: 20px;}
.page_copy1{font-size: 32px; font-weight: 600; margin-bottom: 75px; text-align: center;}
.page_copy2{font-size: 34px; font-weight: 600; margin:80px auto 140px; text-align: center;}
.page_home{display: table; margin:0 auto 120px;}
.page_home a{padding: 12px 23px 12px 28px;
    border: 1px solid #bb9f5a;
    color: #bb9f5a;
    position: relative;
    font-size: 15px;
    display: block;
    background: #fff;
    width: 200px;
    cursor: pointer;
    position: relative;
    transition: all .3s;
    font-weight: 500;
	text-align: center;
    font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
.page_home a:after {
    position: absolute;
    content: '';
    width: 7px;
    height: 7px;
    border-bottom: solid 1px #bb9f5a;
    border-left: solid 1px #bb9f5a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 56%;
    left: 20px;
    margin-top: -6px;
}
.page_home a:hover{
	border: 1px solid #bb9f5a;
	background: #bb9f5a;
	color: #fff;
	cursor: pointer;
}
.page_home a:hover:after{
border-bottom: solid 1px #fff;
    border-left: solid 1px #fff;
}

/* =========================================================
		tab
========================================================= */
@media screen and (max-width: 1050px) {
.header h1{width: 190px;}
.header_menu a {margin-left: 15px; font-size: 15px;}
.h_tell{font-size: 20px; margin:0 5px 0 15px;}
.h_tell span img {
    width: 15px;
    margin-right: 3px;
}
.h_tell p {font-size: 10px;}	
}
@media screen and (max-width: 980px) {
.header_menu{display: none;}

}	