@charset "UTF-8";

/* cfix
----------------------------------------------- */

	.cfix{
		height:inherit;
		margin:auto;
		zoom:1;
	}

	.cfix:after{
		content:".";
		display:block;
		height:0;
		clear:both;
		visibility:hidden;
	}
	/*mac\*/

	*html .cfix{ height:1%;}

	.cfix{ display:block;}

	a{ background:url(./img/common/spacer.png) no-repeat;}

.tCenter{ text-align: center;}
.tRight{ text-align: right;}


.tBold{ font-weight: bold;}
.tLarger{ font-size: larger;}


.red{ color: #c00 !important;}

/* anim
----------------------------------------------- */


.anim{
	-moz-transition: -moz-all 300ms cubic-bezier(.50,.0,.50,1);
    -webkit-transition: -webkit-all 300ms cubic-bezier(.50,.0,.50,1);
    -o-transition: -o-all 300ms cubic-bezier(.50,.0,.50,1);
    -ms-transition: -ms-all 300ms cubic-bezier(.50,.0,.50,1);
    transition: all 300ms cubic-bezier(.50,.0,.50,1);
}



/* flexbox (TOP)
----------------------------------------------- */
.flexBox {

	/* flex */
	display:-webkit-box;/*--- Android ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display:-webkit-flex;/*--- Safari PC ---*/
    display:flex;

	-ms-flex-wrap:wrap;
	 -webkit-flex-wrap:wrap;
	 flex-wrap:wrap;

	/* 並び方向 */
	-webkit-box-direction:normal;/*--- Android ---*/
    -webkit-flex-direction:row;/*--- Safari PC ---*/
	-ms-flex-direction:row;/*--- IE10 ---*/
    flex-direction:row;


	/* itemのまとまりを中央配置 */
	 -webkit-box-pack:start;/*--- Android ---*/
    -ms-flex-pack:start;/*--- IE10 ---*/
    -webkit-justify-content:flex-start;/*--- Safari PC ---*/
    justify-content:flex-start;

	/* 高さを合わせる */
	-webkit-box-align:stretch;/*--- Android ---*/
	-webkit-align-items: stretch;/*--- Safari PC ---*/
	-ms-jalign-items: stretch;/*--- IE10 ---*/
    align-items: stretch;




	width:100%;
	padding:0px;
	margin:0 auto 0 auto;
	box-sizing: border-box;
    max-width: 100%;

}


	.flexBox.space-between {
		/* itemを等間隔で端から端まで配置 */
		-webkit-box-pack:justify;/*--- Android ---*/
		-ms-flex-pack:justify;/*--- IE10 ---*/
		-webkit-justify-content:space-between;/*--- Safari PC ---*/
		justify-content:space-between;
	}


	.flexItem {
		width:auto;
		text-align:left;
		box-sizing:border-box;
	}

	.flexBox .flexItem:nth-child(odd){}
	.flexBox .flexItem:nth-child(even){}

	.flexItem .inner{ display:table; width:100%; height:100%; text-align:center;}
	.flexItem .inner .content{ display:table-cell; vertical-align:middle;}



.flexBox.column2{}
	.flexBox.column2 .flexItem {
		width: calc(98% / 2) !important;
		margin:0 2% 20px 0 !important;
	}

	.flexBox.column2 .flexItem:nth-of-type(2n){ margin-right:0 !important;}





.flexBox.column3{}
	.flexBox.column3 .flexItem {
		width: calc(96% / 3) !important;
		margin:0 2% 20px 0 !important;
	}
	.flexBox.column3 .flexItem:nth-of-type(3n){ margin-right:0 !important;}




.flexBox.column4{}
	.flexBox.column4 .flexItem {
		width: calc(94% / 4) !important;
		margin:0 2% 20px 0 !important;
	}
	.flexBox.column4 .flexItem:nth-of-type(4n){ margin-right:0 !important;}



.flexBox.column5{}
	.flexBox.column5 .flexItem {
		width: calc(92% / 5) !important;
		margin:0 2% 20px 0 !important;
	}
	.flexBox.column5 .flexItem:nth-of-type(5n){ margin-right:0 !important;}




.flexBox.column6{}
	.flexBox.column6 .flexItem {
		width: calc(90% / 6) !important;
		margin:0 2% 20px 0 !important;
	}
	.flexBox.column6 .flexItem:nth-of-type(6n){ margin-right:0 !important;}




.flexBoxData {

	display:-webkit-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:flex;

	-webkit-box-pack:start;
    -ms-flex-pack:start;
    -webkit-justify-content:flex-start;
    justify-content:flex-start;

	-webkit-box-align:center;
	-webkit-align-items: center;
	-ms-jalign-items: center;
    align-items: center;


	-webkit-border-radius: 10px;
	border-radius: 10px;
	background-color: #666;
	padding: 20px;

	max-width: 700px;
	margin: 0 auto 20px;
}
	.flexBoxData .image {
		flex-shrink: 0;
		width: 120px;
		height:120px;
		text-align: center;
		background-color:#ccc;
		margin-right:20px;
	}





/* flexWrap
----------------------------------------------- */
.flexWrap{
  display:-webkit-box;
	display:-moz-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	box-sizing:border-box;

	width:100%;
}


.flexCol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

/* inner
----------------------------------------------- */

.globalInner{ width:100%; max-width:960px; height:inherit; margin:auto; position:relative;}
.globalInner:after{
	content:'';
	display:block;
	clear:both;
}










/* class
----------------------------------------------- */
a.btn{ display:block;  text-indent: 200%; white-space: nowrap;overflow: hidden;height:inherit;}
.hide{ display:block;  text-indent: 200%; white-space: nowrap;overflow: hidden;height:inherit;}

a.dot:hover{ background:url(./img/common/bg_dot.png);}


.dummyImage{ width:100%; padding-top:56%; min-height:100px; background-color:#eee; margin-bottom:20px;}

.onlyPC{ display:block;}
.onlySP{ display:none;}

.color{ color:#474848;}
.colorBG{ background-color:#000; color:#fff !important; border:solid 1px #666;}
.colorBorder{ border:solid 1px #474848;}
.grayBG{ background-color:#666; color:#fff !important;}

.floatWrap{ overflow:hidden; position:relative;}

a.colorBG:hover{background-color:#333;}


a.arrowNone{text-align:center;padding:0 53px 0 53px;}
a.arrowR{ text-align:center;padding:0 80px 0 66px;}
a.arrowL{ text-align:center;padding:0 66px 0 80px;}


img.wFull,
img.imgFull,
img.size-full{ width:100%; height:auto;}

ul.sns{}
ul.sns li{ display:inline-block; margin-right:10px;}

ul.sns li.facebook { width:20px; height:20px;}
ul.sns li.twitter { width:23px; height:20px;}


ul.sns li.facebook a{ }
ul.sns li.twitter a{ }

ul.sns li a svg{ fill: #fff; width:100%; height:auto;}
ul.sns li a:hover svg{ fill: #d73d36 !important; }

	body#blog ul.sns li a svg,
	body.single-post ul.sns li a svg{ fill: #000; }




ul.sns li.facebook a:hover{ }
ul.sns li.twitter a:hover { }


ul.list{ padding-left:1em; margin-left:1em;}
ul.list li{ list-style:disc; margin-bottom:5px;}


ul.caution{ padding-left:1em; margin-left:1em;}
ul.caution li{ list-style:disc; margin-bottom:5px;}


dl.list{ border-bottom:dotted 1px #d9d9d9; margin-bottom:15px; overflow:hidden; position:relative;}
dl.list dt{}
dl.list dd{ padding:5px 5px 5px 90px; margin-bottom:10px;line-height:1.4;}
dl.list dd .date{ width:80px; position:absolute; top:5px; left:5px; padding:0px 0px; text-align:left; font-size:0.8rem; letter-spacing:0;}

dl.list.thumb{ min-height:90px; }
dl.list.thumb dt{ width:100px; height:80px; background-color:#ccc; position:absolute; top:0; left:5;}
dl.list.thumb dd{ padding:30px 0 0 110px;}
dl.list.thumb dd .date{position:absolute; top:0px; left:110px;}
dl.list.thumb dd .ex{ padding-top:5px;}


.flexWrap dl.list.thumb{ min-height:90px; }
.flexWrap dl.list.thumb dt{ width:100%; height:auto; aspect-ratio: 16 / 9;background-color:#ccc; position:relative; top:0; left:0;}
.flexWrap dl.list.thumb dd{ padding:10px 0 0 0px;}
.flexWrap dl.list.thumb dd .date{position:relative; top:0px; left:0;}
.flexWrap dl.list.thumb dd .ex{ padding-top:5px;}




dl.list.urgent dd a{ color:#c00 !important;}

dl.harf{ width:49%; height:250px; box-sizing:border-box; margin:0 2% 2% 0; overflow:hidden; position:relative; float:left;}

dl.harf:nth-of-type(2n){ margin-right:0;}

dl.harf dt{ height:auto; margin-bottom:10px;}
dl.harf dd{ }



.bgBtn a{ background-color:#333; color:#fff !important; line-height:1; font-size:0.85rem; text-align:center; padding:3px 10px; text-decoration:none;}
.bgBtn a:hover{ background-color:#474848;}



.taxonomy-description{ font-size:1.5rem;}



.moreDetail{}
.moreDetail a{ position:relative; display:inline-block; padding:10px 40px 10px 20px; line-height:1; background-color:#474848; color:#fff !important; text-decoration:none;}
.moreDetail a:hover{ background-color:#333;}
.moreDetail a:after{
	content:'≫';
	position:absolute;
	right:10px;

	}



table.column2 {
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  border-collapse: collapse;
  width: 100%;
  margin-bottom:40px;
}
table.column2 caption{

	background-color:#474848;
	text-align:left;
	width:100%;
	padding:10px;
	box-sizing:border-box;

	color:#fff;
	font-size:1.2em;
	font-weight:500;
}

table.column2 th,
table.column2 td {
  border-left: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 20px 10px;

	background-color: #fff;
}
table.column2 th {
  background-color: #ddd;
   width:100px;
  text-align: left;
}

table.shogaku thead tr th:nth-of-type(1){ width: 6em }

@media screen and (max-width: 1000px) {
	table.shogaku thead tr th:nth-of-type(1){ width: 3em }
}



table.column2 th:nth-of-type(1){}
table.column2 td:nth-of-type(1){ }

table.column2 th.bgWhite,
table.column2 td.bgWhite{ background-color: #fff !important;}




table.information {
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  border-collapse: collapse;
  width: 100%;
  margin-bottom:40px;
  background-color:#fff;
}
table.information caption{

	background-color:#474848;
	text-align:left;
	width:100%;
	padding:10px;
	box-sizing:border-box;

	color:#fff;
	font-size:1.2rem;
	line-height:1;
}

table.information th,
table.information td {
  border-left: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 10px 10px;
  font-size:1.1rem;
	vertical-align: top;
}

.touchDevice table.information th,
.touchDevice table.information td{ display: block;    white-space: normal !important; width: 100% !important; box-sizing: border-box; }

table.information th {
  background-color: #ddd;
  width:100px;
  text-align: left;
  font-size:1.1rem;
  white-space:nowrap;
}

table.information th:nth-of-type(1){}
table.information td:nth-of-type(1){ }










section.contents ul.select{ overflow:hidden;}
section.contents ul.select li{ width:23.5%; margin-right:2%; height:350px; padding:20px; box-sizing:border-box; float:left; text-align:center; background-color:#f2f2f2;}
section.contents ul.select li:last-child{ margin-right:0;}
section.contents ul.select li a{ display:block; text-decoration:none;}

section.contents ul.select li a .image{ width:80%; padding-top:80%; background-color:#666;
border-radius:50%;
-moz-border-radius:50%;
-webkit-border-radius:50%;
margin:0 auto 20px auto;
}
section.contents ul.select li a h3{}
section.contents ul.select li a .read{}
section.contents ul.select li a .link{}




article div.movie{ width: 100%; position: relative;}
article div.movie:before{content: ''; display: block; width: 100%; padding-top: 56.25%;}
article div.movie video{ position: absolute; top: 0; width: 100%; height: 100%;}
article div.movie iframe{ position: absolute; top: 0; width: 100%; height: 100%;}




table.timetable {
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  border-collapse: collapse;
  width: 100%;
  margin-bottom:40px;
}
table.timetable caption{

	background-color:#666;
	text-align:left;
	width:100%;
	padding:10px;
	box-sizing:border-box;

	color:#fff;
	font-size:1.4rem;
	font-weight:500;
}

table.timetable th,
table.timetable td {
  border-left: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 10px 5px;
  font-size:0.9rem;
  vertical-align:middle;
}

table.timetable th {
  background-color: #ddd;
   text-align:center;
 width:30px;
  font-weight:500;
}
table.timetable td {
  text-align:center;
}
table.timetable th:nth-of-type(1){ width:60px;}

table.timetable td h4{ font-size:1.3rem; line-height:1.3; margin-bottom:20px;}
table.timetable td small{ font-size:0.8rem; display:block; padding-top:10px;}


ul.kome{ padding-top: 0.5em;}
ul.kome li{ padding-left: 1.25em; position: relative; margin-bottom: 0.5em; line-height: 1.5;}
ul.kome li:before{ content: '※'; display: block; position: absolute; top: 0;left:0;}
ul.kome.red li:before{ color: #c00;}

.grid{
	display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: auto;
}

.grid.col_2{grid-template-columns: 1fr 1fr;}
.grid.col_3{grid-template-columns: 1fr 1fr 1fr;}
.grid.col_4{grid-template-columns: 1fr 1fr 1fr;}



dl.howto.grid{
    grid-template-columns: 200px 1fr;
    grid-gap: 1px;
    padding: 0;
    margin: 0 0 40px 0;
    background: #666;
    border: solid 1px #666;
}


dl.howto dt,
dl.howto dd{  padding: 1em;}

dl.howto dt{ background-color: #fff;}
dl.howto dd{ background-color: #fff;}





/* #contactGuideWrap */
#contactGuideWrap{}


.contentsNavi{ margin-bottom: 20px;}

.contentsNavi .read{ margin-bottom: 5px;}
.contentsNavi ul{ display: flex;flex-wrap: wrap;margin-bottom: 10px;}
.contentsNavi ul li{ width: 32.3%; text-align:center; padding:15px 6px; box-sizing: border-box; line-height: 1; margin: 0px 1% 1% 0px; background: #000; color: #fff; vertical-align: middle; display: table-cell; cursor: pointer; font-size: 1.1em;transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1);}
.contentsNavi ul li:hover{background: #666; }
.contentsNavi ul li.active{ background-color: #999;}



.contentsNaviGrid{}
.contentsNaviGrid .grid{
	display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-rows: auto;
    grid-gap: 10px;
    padding: 0;
    margin: 0 0 30px 0;
}
.contentsNaviGrid .grid a{background: #999; color: #fff; text-decoration: none; text-align: center; padding: 0.5em 0;}
.contentsNaviGrid .grid a:hover{ background-color: #666;}
.contentsNaviGrid .grid a.active{ background-color: #000; pointer-events: none;}







.shoumeisyoAttention{ display: none;
border: solid 1px #333;
    background-color: #f0f0f0;
    padding: 20px;
    margin-bottom: 20px;
}



.person-grid{
	grid-gap: 30px !important;

}
	.touchDevice  .person-grid{ grid-template-columns: 1fr !important;}



.person-grid article.person{
	width: 100%;
    height: auto;
    min-height: auto;
    float: none;
    box-sizing: border-box;
    margin: 0 0 0 0 !important;
    padding: 0 0 30px 0 !important;
    position: relative;
    border-bottom: solid 1px #ccc;
    grid-gap: 30px !important;
    grid-template-columns: 40% 1fr;
}

.person-grid article.person .gridItem{
	    margin: 0 !important;
    padding: 0 !important;
}
.person-grid article.person .image{}
.person-grid article.person .text{}

.person-grid article.person .thumbnail{}
.person-grid article.person .thumbnail:before{ content: ''; display: block; height: 0; padding-top: 160%;}




/*.contentsSubNavi{}
.contentsSubNavi article{ display: none; margin-bottom: 40px; border: solid 1px #ccc;}
.contentsSubNavi article:first-child{ display: block;}
.contentsSubNavi article h3{}
.contentsSubNavi article ul{ padding: 20px; background-color:#f2f2f2; }
.contentsSubNavi article ul li{}


.contentsData{}
.contentsData article{ display: none; margin-bottom: 40px; border: solid 1px #ccc;}
.contentsData article:first-child{ display: block;}
.contentsData article h4{}
.contentsData article ul{}
.contentsData article ul li{}
*/

.guideQA{ display: none; border: solid 0px #333; background-color: #f0f0f0; padding: 20px; margin-bottom: 20px;}
.guideQA ul{}
.guideQA ul li{display: none !important; border: 0 !important;}
.guideQA ul li.active{display: block !important; }
.guideQA ul li p:last-child{ margin-bottom: 0;}
.guideQA ul li h4{ font-size: 1.3em; border-bottom: dashed 1px #ccc; margin-bottom: 20px; padding-bottom: 10px;}
.guideQA ul li h5{ font-size: 1.1em;}


#contactTabWrap{ display: none; }
#contactTabWrap.active{ display: block; }


.formBlock .red{ color: #c00;}

.formBlock .formStyle1 .target{ font-size: 1.2em;}
.formBlock .formStyle1 .target strong{ color: #c00; font-size: 1.2em; font-weight:bold;}
.formBlock .formStyle1 .target small{ font-size:0.65em; opacity: .8;}

.types{ display:block;width: 400px; font-size: 1.2em; padding: 10px; margin-bottom: 10px !important;}



.infoArea{ padding:20px 0 0 0;}



#main div.item{ border-bottom:solid 2px #ccc; padding-bottom:50px; margin-bottom:50px;}
#main div.item h4{ font-size:1.5em;}
#main div.item h5{ font-size:1.25em;}



.yoyakuTag{ display:inline-block; margin:0 10px; border:solid 1px #000; padding:6px 12px; line-height:1; font-size:0.5em; transform:translate(0,-0.3em);}

.grid{
	display: grid;
	grid-template-columns: 1fr 1fr ;
	grid-auto-rows: auto;
	grid-gap: 10px;
	padding: 0;
	margin: 0 0 20px 0;
	text-align: left;
}

.gridItem{ padding-bottom: 10px;}
.grid.col_3{grid-template-columns: 1fr 1fr 1fr;}
.grid.col_4{grid-template-columns: 1fr 1fr 1fr 1fr;}
.touchDevice .grid.col_2{grid-template-columns: 1fr;}

.touchDevice .grid.sp_col_1{grid-template-columns: 1fr !important;}
.touchDevice .grid.sp_col_2{grid-template-columns: 1fr 1fr !important;}



.grid .image{ width:100%; height:auto;}



dl.publicData{ padding: 20px;}
dl.publicData dt{ font-size: 1.3em;}
dl.publicData dd{ padding-left: 1em; margin-bottom: 2em;}

dl.publicData ul{ list-style: disc; padding-left: 2em;}
dl.publicData ul li{}


.openModal{ cursor: pointer; }
#pageModal { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 100000;background-color: rgba(0,0,0,0.8); pointer-events: none;  opacity: 0; transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);}
#pageModal.open{ pointer-events: all; opacity: 1;}
#pageModal .close{  width: 50px; height: 50px;position: fixed; top: 20px; right: 20px;  background-color: #000; cursor: pointer;}
#pageModal .close:before,
#pageModal .close:after{ content:''; display: block; width: 30px; height: 2px; background: #fff; position: absolute; top: 50%; left: 50%;}

#pageModal .close:before{ transform: translate(-50%,-50%) rotate(-45deg);}
#pageModal .close:after{ transform: translate(-50%,-50%) rotate(45deg);}


#pageModal .scrollArea{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; overflow: auto; box-sizing: border-box;  }
#pageModal .contentsWrap{ border: solid 0px #ccc; margin: auto; width: 80%; text-align: center;}

	#pageModal .contentsWrap img{ width: 70%;  margin-bottom: 10px;}


.flowArea{ padding: 2em 0;}
.arrow_box_b_c{
    position:relative;
    width:100%;
    height:auto;
    background:#FFFFFF;
    padding:0.5em 2em;
    text-align:center;
    border:2px solid #5fb6e8;
    font-size:1em;
    border-radius:2em;
    margin-bottom: 1.5em;
}
.arrow_box_b_c:after,.arrow_box_b_c:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    top:100%;
    left:50%;
}
.arrow_box_b_c:after{
    border-color: rgba(255, 255, 255, 0);
    border-top-width:12px;
    border-bottom-width:12px;
    border-left-width:13px;
    border-right-width:13px;
    margin-left: -13px;
    border-top-color:#FFFFFF;
}
.arrow_box_b_c:before{
    border-color: rgba(0, 0, 0, 0);
    border-top-width:13px;
    border-bottom-width:13px;
    border-left-width:15px;
    border-right-width:15px;
    margin-left: -15px;
    margin-top: 2px;
    border-top-color:#5fb6e8;
}

.noArrow:after, .noArrow:before{ display: none !important;}
.bgSky{ background: #5fb6e8; color: #fff;}

body#kengaku.send ul.formStyle1 dd{ color: #666 !important;}
.inputValue{ font-size: 1.1em;  color: #000 !important; font-weight: bold; display: inline-block; padding-left: 0em;}



dl.titleReadImg{}
dl.titleReadImg dt{font-size:1.8em; font-weight: bold; text-align: left; margin-bottom: 0.5rem; }
dl.titleReadImg dd{ margin-bottom: 3rem;}
dl.titleReadImg img{ width: 100%; height: !important; margin: 1em 0;}

@media screen and (max-width:1000px) {
		   .grid.sp_col_1{grid-template-columns:1fr;}

}

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

	.contentsNavi ul li{ width: 49%; margin: 0px 1% 1% 0px;}


}


.max_w_600{
	max-width: 600px;
}

.vCenter{
	display: flex;
	height: 100%;
	align-items: center;
}

@media screen and (max-width:1000px) {
	.max_w_600{
		max-width: none;
	}

}