@charset "utf-8";

/* ! Common Classes
----------------------------------------------- */

html {
	height: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
}

body {
	height: 100%;
	margin: 0;
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 1;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
	/*font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif;*/
	font-synthesis: none;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-font-feature-settings: 'liga', 'kern';
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	min-width: 930px;
}

body.font_small {
	font-size: 90% ;
}

body.font_large {
	font-size: 120%;
}

@media only screen and (max-width : 640px){

	body {
		font-size: 100% !important;
		min-width: auto;
	}

	img {
		max-width: 100%;
	}

}

input,
button,
select,
textarea {
	font-size: inherit;
	line-height: inherit;
	font-family: inherit;
}

*,
*:after,
*:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


/* ! Link Color
----------------------------------------------- */

a {
	text-decoration: none;
	outline: none;
}

a:hover {
	color: #999;
	text-decoration: none;
}

a:visited {
}


/* ! Image Rollover
----------------------------------------------- */

a.rollover ,
a.img-rollover img {
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
}

a.rollover:hover,
a.img-rollover:hover img,
input.img-rollover:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: alpha(opacity=80);
}

/* ! non-event
----------------------------------------------- */
.non-event {
	pointer-events: none;
}

.btn_nolink {
	pointer-events: none;
	background-color:#afafaf !important;
}

/* ! Text Alignment
----------------------------------------------- */

.text-left {
	text-align: left !important;
}

.text-right {
	text-align: right !important;
}

.text-center {
	text-align: center !important;
}

.text-justify {
	text-align: justify !important;
}

.text-nowrap {
	white-space: nowrap !important;
}

.align-left {
	text-align: left !important;
}
.align-center {
	text-align: center !important;
}
.align-right {
	text-align: right !important;
}

.valign-top {
	vertical-align: top !important;
}
.valign-middle {
	vertical-align: middle !important;
}
.valign-bottom {
	vertical-align: bottom !important;
}
.valign-baseline {
	vertical-align: baseline !important;
}

.txt_small {
	font-size: 12px!important;
}


.txt_16rem {
	font-size: 1.6rem!important;
}
.txt_17rem {
	font-size: 1.7rem!important;
}
/* ! Custom Margin Classes
----------------------------------------------- */

.m0 {
	margin: 0px !important;
}

.mt0 {
	margin-top: 0px !important;
}

.mb0 {
	margin-bottom: 0px !important;
}

.ml0 {
	margin-left: 0px !important;
}

.mr0 {
	margin-right: 0px !important;
}

.m5 {
	margin: 5px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.ml5 {
	margin-left: 5px !important;
}

.mr5 {
	margin-right: 5px !important;
}

.m10 {
	margin: 10px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.m15 {
	margin: 15px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.m20 {
	margin: 20px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.m25 {
	margin: 25px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.m30 {
	margin: 30px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.m35 {
	margin: 35px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.m40 {
	margin: 40px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.m45 {
	margin: 45px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.ml45 {
	margin-left: 45px !important;
}

.mr45 {
	margin-right: 45px !important;
}

.m50 {
	margin: 50px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.m55 {
	margin: 55px !important;
}

.mt55 {
	margin-top: 55px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.ml55 {
	margin-left: 55px !important;
}

.mr55 {
	margin-right: 55px !important;
}

.m60 {
	margin: 60px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.ml60 {
	margin-left: 60px !important;
}

.mr60 {
	margin-right: 60px !important;
}

.m1em {
	margin: 1em !important;
}

.mt1em {
	margin-top: 1em !important;
}

.mb1em {
	margin-bottom: 1em !important;
}

.ml1em {
	margin-left: 1em !important;
}

.mr1em {
	margin-right: 1em !important;
}

/* ! Custom Padding Classes
----------------------------------------------- */

.p0 {
	padding: 0px !important;
}

.pt0 {
	padding-top: 0px !important;
}

.pb0 {
	padding-bottom: 0px !important;
}

.pl0 {
	padding-left: 0px !important;
}

.pr0 {
	padding-right: 0px !important;
}

.p5 {
	padding: 5px !important;
}

.pt5 {
	padding-top: 5px !important;
}

.pb5 {
	padding-bottom: 5px !important;
}

.pl5 {
	padding-left: 5px !important;
}

.pr5 {
	padding-right: 5px !important;
}

.p10 {
	padding: 10px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pl10 {
	padding-left: 10px !important;
}

.pr10 {
	padding-right: 10px !important;
}

.p15 {
	padding: 15px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.p20 {
	padding: 20px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.p25 {
	padding: 25px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pl25 {
	padding-left: 25px !important;
}

.pr25 {
	padding-right: 25px !important;
}

.p30 {
	padding: 30px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.pr30 {
	padding-right: 30px !important;
}

.p35 {
	padding: 35px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pl35 {
	padding-left: 35px !important;
}

.pr35 {
	padding-right: 35px !important;
}

.p40 {
	padding: 40px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pl40 {
	padding-left: 40px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.p45 {
	padding: 45px !important;
}

.pt45 {
	padding-top: 45px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.pl45 {
	padding-left: 45px !important;
}

.pr45 {
	padding-right: 45px !important;
}

.p50 {
	padding: 50px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.pl50 {
	padding-left: 50px !important;
}

.pr50 {
	padding-right: 50px !important;
}

.p55 {
	padding: 55px !important;
}

.pt55 {
	padding-top: 55px !important;
}

.pb55 {
	padding-bottom: 55px !important;
}

.pl55 {
	padding-left: 55px !important;
}

.pr55 {
	padding-right: 55px !important;
}

.p60 {
	padding: 60px !important;
}

.pt60 {
	padding-top: 60px !important;
}

.pb60 {
	padding-bottom: 60px !important;
}

.pl60 {
	padding-left: 60px !important;
}

.pr60 {
	padding-right: 60px !important;
}

.p1em {
	padding: 1em !important;
}

.pt1em {
	padding-top: 1em !important;
}

.pb1em {
	padding-bottom: 1em !important;
}

.pl1em {
	padding-left: 1em !important;
}

.pr1em {
	padding-right: 1em !important;
}

/**/

.w100p {
	width: 100%;
	height: auto;
}

/* ! Utility Classes
----------------------------------------------- */

.clearfix {
	zoom: 1;
}

.clearfix:before,
.clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

.float-right {
	float: right !important;
}

.float-left {
	float: left !important;
}

.hide {
	display: none !important;
}

.show {
	display: block !important;
}

.invisible {
	visibility: hidden;
}

.visible {
	visibility: visible;
}

.hidden {
	display: none !important;
}

/* ! Show & Hide
----------------------------------------------- */
.pc {
	display: block !important;
}
.sp {
	display: none !important;
}
.cff {
}
@media only screen and (max-width : 640px){
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	.cff {
		clear:both;
	}
}


/* ! flexBox
----------------------------------------------- */

.flexBox {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
}

/*左揃え上揃え*/
.flexStart {
	-webkit-box-align: start;/*--- Androidブラウザ用 ---*/
	-ms-flex-align: start;/*--- IE10 ---*/
	-webkit-align-items: flex-start;/*--- safari（PC）用 ---*/
	align-items: flex-start;
}

/*Flexアイテムの高さが設定されている場合、上下一杯まで広げます。
設定されていない場合、コンテンツの一番多いFlexアイテムの高さに合わせて
自動的に広げます*/
.flexStretch {
	-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack:justify;/*--- IE10 ---*/
    -webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
    justify-content:space-between;
    align-items: stretch;
}

/*折り返しを許可 「複数行」*/
.flexWrap {
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

/*均等に間隔を空ける*/
.flexSpaceBetween {
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	justify-content: space-between;
}


i {
	font-style: normal;
}


.txt_wk000 {
	padding: 5px 5px;
	background-color:#c00;
	color:#fff;
	text-align:center;
	font-size:1.7rem !important;
}

.txt_wk00 {
	border: 2px solid #c00;
	padding: 10px 20px;
	margin-bottom:15px;
}

.txt_wk01 {
	border: 2px solid #ba1d22;
	padding: 20px 30px 0 30px;
}

.txt_wk02 {
	border: 1px solid #000;
	padding: 15px 20px;
	width:100%;
	box-sizing: border-box;
}

.txt_wk {
	border: 1px solid #000;
	padding: 10px 20px;
	width:100%;
}


.col2 {
	margin-bottom: 30px;
}

.col2 p {
	float: left;
	width: 50%;
	text-align: center;
}

/**/

.triangle01 {
  margin: 15px auto 30px auto;
  width: 20px;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #385367;
}

.photo4 {
	max-width: 1100px;
	margin: 0 auto;
}

.photo4 img {
	width:100%;
}


/*ベース*/
.toggle {
	display: none;
}
.Label {		/*タイトル*/
	padding: 0.8em 0.8em 0.8em 1.2em;
	display: block;
	color: #110c0c;
	background:#fff;
}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 8px;
	height: 8px;
	border-top: 2px solid #ba1d22;
	border-right: 2px solid #ba1d22;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 10px;
	transform: rotate(135deg);
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
	cursor: pointer;
}
.content {		/*本文*/
	height: 0;
	margin-bottom:0;
	padding:0 20px;
	overflow: hidden;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:0 ;
	transition: all .3s;
}
.toggle:checked + .Label + .content ul li {
	background-color:#145397 !important;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}

@media screen and (max-width: 640px) {
.Label {		/*タイトル*/
	padding: 3% 4.375% 2.5% 6.25%;
}
	.col2 {
		margin-bottom: 0;
	}
	.col2 p {
		float: none;
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
	}

	.col2 p a {
		margin: 0 auto!important;
	}
.txt_wk02 {
	border: 1px solid #000;
	padding: 15px 20px;
	width:100%;
}

}

}