@charset "utf-8";

/*table*/
.tbl { width: 100%; }
.tbl tbody { border:#2c8fce solid 1px; }
.tbl th,
.tbl td { padding:.2rem 1rem; }
.tbl th { text-align: center; color: #fff; background: #2c8fce; border-right: 1px solid #87bbdc; }
.tbl th:last-child { border-right: none; }
.tbl td { background: #fff; border:#ccc solid 1px; }
.tbl td.center { text-align: center; }
.tbl .w60 { width: 60%; }
.tbl_explan { margin: 0; font-size: .85em; }
.tbl .ttl { text-align: center; background: #e6e6e6; }


/*表*/
.dlTbl { max-width: 920px; margin: 0 auto; }
.dlTbl div { display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; justify-content:space-between; -webkit-justify-content:space-between; }
.dlTbl dt { width: 30%; font-weight: 600; }
.dlTbl dd { width: 70%; }
.dlTbl dt,
.dlTbl dd { padding: 1.5rem 2em; border-bottom: 1px solid #217ccc; }

.table-scroll{ overflow: auto; white-space: nowrap; }
.table-scroll::-webkit-scrollbar{ height: 5px; }
.table-scroll::-webkit-scrollbar-track{ background: #333; }
.table-scroll::-webkit-scrollbar-thumb { background: #999; }
.table-scroll table { width: 100%; border-top:#ccc solid 1px; border-left:#ccc solid 1px; }
.table-scroll th,
.table-scroll td { padding:10px 15px; border-right:#ccc solid 1px; border-bottom:#ccc solid 1px; }
.table-scroll th { background:#ddd; }
.table-scroll th.th_l { width: 26%; }

th.yellow { background: #ffed93!important; }
td.yellow { background: #fffbe5!important; }
th.green { background: #b4e49b!important; }
td.green { background: #f1fdea!important; }


/*ドロップダウン*/
.down_btn { position: relative; padding:15px 40px 20px 30px; cursor:pointer; }
.down_btn:after { content:""; width:9px; height:9px; border-top:1px solid #999; border-right:1px solid #999; transform: rotate(135deg); position:absolute; top:24px; right:30px; -ms-transition:all .5s; -webkit-transition:all .5s; transition:all .5s; color:#060845; }
.down_btn.active:after { transform: rotate(-45deg); }



/*title*/
#pageTitle { position: relative; width: 100%; min-height: 300px; }
.pageTitle { padding-top: 12rem; font-size: 2rem; text-align: center; letter-spacing: 4px; line-height: 1.7;
	font-family: "zen-maru-gothic", sans-serif; font-weight: 500; font-style: normal; }
.pageTitle span.en { display: block; font-size: .9rem; }
.pageTitle:after { position: absolute; top: 128px; left: 50%; z-index: -1; content: ""; width: 210px; height: 210px; margin-left: -105px; background: #fff; border-radius: 300px; }

#pan { padding: 0 6% 1rem; margin: 0; font-weight: 500; }
#pan span, #pan a { font-size: .85rem; }
#pan a { text-decoration:underline; }


.whiteBox { padding:4rem 5%; background: #fff; border-radius: 30px; }
#program .whiteBox { margin-top: 5rem; }
#program .ttlArea { padding-bottom: .5rem; margin-bottom: 3rem; border-bottom: 1px solid #222; }
#program .whiteBox .num { margin: 0;  }
#program .whiteBox .num span { font-size: 3rem; line-height: 1; }
#program .whiteBox .catTtl { margin-left: 2rem; font-size: 1.6rem; }
#program .whiteBox .ill { width: 30%; }
#program .whiteBox .txtArea { width: 62%; }
#program .whiteBox .txtArea .ttl { margin-bottom: 1rem; }
#program .whiteBox .programCon { position: relative; margin-top: 3rem; padding: 1rem 4% .5rem;  border: 3px double #222; }
#program .whiteBox .programCon .ttl { position: absolute; top: -1rem; padding: 0 1rem; display: inline-block; background: #fff;  }

.info_access { margin-bottom: 6rem; }


/*プライバシーポリシー*/
#policy.narrow { max-width: 1100px; }
#policy dl { margin-top: 3rem; }
#policy dt { position: relative; margin-bottom: 2rem; padding: 0 0 .3rem 0; font-size: 1.1rem; line-height: 1.4; border-bottom: 1px solid #222;; }
#policy dt:not(:first-child) { margin-top: 5rem;  }
#policy ol { padding-left: 0; }
#policy li { list-style: none; margin: 1rem 0; }
#policy .num { font-style: normal; font-weight: bold; display: table-cell; padding-right: 10px; white-space: nowrap; }
#policy .content { display: table-cell; }


/*サイトマップ*/
#sitemapList > li { width: 100%; margin-top: 3rem; }
#sitemapList > li.half { width: 46%; }
#sitemapList > li > a { position: relative; display: block; padding: .6rem 0 .6rem 1rem; color: #2c8fce; border-bottom: 1px solid #8ac8ef; }
#sitemapList .subList { margin-top: 1rem; }
#sitemapList .subList li { width: 22%; }
#sitemapList .subList li a { position: relative; display: inline-block; padding: .6rem 0 .6rem 1rem; }
#sitemapList li a:before { position: absolute; top: 22px; left: 0; content: ""; width: 0; height: 0; border-style: solid; border-width: 5px 0 5px 8px;  border-color: transparent transparent transparent #6eb1e0; }



/*404*/
.notfound .txt { margin-bottom: 3rem; }
.notfound .btnArea { width: 40%; margin: 5rem auto 0; }


/*お問い合わせ*/
/* フォーム */
.c-form { margin:40px auto 30px; }
.c-form dt, .c-form dd { padding: 2em .5em; }
.c-form dt { position:relative; font-weight: 600; }
.c-form dt span { padding: 0 4px; font-size:.75em; color:#fff; background:#ec694e; }
.c-form dd span:not(.wpcf7-not-valid-tip) { color: #666; font-size: .98em; }
.wpcf7 form .wpcf7-response-output { text-align: center; font-size: 1.2em; }

#contact_form label,
#contact_form span.wpcf7-form-control-wrap,
#contact_form textarea { width: 100%; }
/*#contact_form input { width: 70%; }*/
#contact_form .submit_btn { margin-top: 50px; text-align: center; }
#contact_form input[type="submit"] { width: 30%; min-width: 210px; margin:0; padding: 20px 0; color: #fff; background: #2a2a2a; border-radius: 5px; }
#contact_form input:hover[type="submit"] { background: #ddd; -webkit-transition:all .3s; transition:all .3s; }
#contact_form input { margin: 8px 0; }
#contact_form input,
#contact_form textarea,
#contact_form select { padding: 6px 8px; border-radius: 0; }
#contact_form .wpcf7-list-item { width: 45%; }
.screen-reader-response,
.wpcf7-not-valid-tip,
.wpcf7-response-output { color: #c00; font-size: .9em; border: none!important; }
.contact-btn  { margin: 70px 20px 0!important; }
.contact-btn input { margin: 0 20px!important; }


/* ================================================================
  レスポンシブ
=================================================================== */
/* 600以上(PC・タブレット) */
@media screen and (min-width: 600px) {
 /* フォーム */
	.c-form > div { display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; }
	.c-form dt { width:220px; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; -webkit-align-items:center; align-items:center; border-bottom:2px solid #a2a2a2; }
	.c-form dd { -webkit-box-flex:1; flex:1; border-bottom:1px solid #a2a2a2; }

	
}

/* 1024以上(PC) */
@media screen and (min-width: 1024px) {

 
}


/* ================================================================
  タブレット
=================================================================== */
@media screen and (max-width: 1024px) {

	#pageTitle { min-height: 270px; }
	.pageTitle { padding: 10rem 0 3rem; font-size: 1.5rem; }
	.pageTitle:after { top: 88px; }
	
	
	
	#policy .ttl { margin-bottom: 1rem; }
	#policy .ttl:not(:first-child) { margin-top: 2rem; }
	
	#sitemapList .subList li { width: 30%; }
	
	
	

}

@media screen and (max-width: 799px) {
	
}

/* ================================================================
  スマホ
=================================================================== */
@media screen and (max-width: 599px){
	
	#pageTitle { min-height: 190px; }
	.pageTitle { padding: 9rem 0 0 0; font-size: 1.2rem; }
	.pageTitle:after { top: 70px; }
	#pan { display: none; }
	
	#program .lead { text-align: left; }
	.whiteBox { padding: 2rem 8% 3rem; }
	#program .whiteBox { margin-top: 2rem; }
	#program .ttlArea { margin-bottom: 2rem; }
	#program .whiteBox .num span { font-size: 1.5rem; }
	#program .whiteBox .ill { width: 70%; margin: 0 auto 2rem; }
	#program .whiteBox .txtArea { width: 100%; }
	#program .whiteBox .catTtl { width: 100%; margin-left: 0; font-size: 1.1rem; text-align: center; }
	#program .whiteBox .programCon { padding: 0.5rem; margin-top: 2rem; }
	
	.newsCon .sec { padding-top: 100px!important; }

  
  /* フォーム */
  #contact .tel_box li { width: 100%; margin: 0 0 10px; }
  #contact .tel_box li a { padding: 3px 10px; }
  .c-form { font-size: 16px; }
  .c-form > div { margin-bottom:15px; }
  #contact_form select,
  #contact_form textarea { width: 100%; }
  .c-form dt, .c-form dd { padding: 0 .5em; }
  #contact_form .wpcf7-list-item { width: 100%; }
  .grecaptcha-badge { bottom: 84px!important; }
  #contact_form .txt { text-align: left; }
  
	.dlTbl div { margin-bottom: 1em; }
	.dlTbl dt { text-align: left; border: none; background: #e5f3fe; }
	.dlTbl dd { border: none; }
	.dlTbl dt,
	.dlTbl dd { width: 100%!important; padding: 0.5em 1em!important; }

	
	
	
	
}

@media screen and (max-width: 320px){


}