@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Teko:600');

/*初期化の設定
------------------------------------------------------------------------------*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,
cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,
ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,
embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video
{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,picture{display:block;}
body{line-height:1.4;}ol,ul{list-style:none;}blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
table{border-collapse:collapse;border-spacing:0;}

/*基本レイアウト
------------------------------------------------------------------------------*/
html,body{}
/*基本フォント設定
------------------------------------------------------------------------------*/
html{
	font-size: 62.5%;
	font-size: 10px;
	font-family: 'Noto Sans','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック','sans-serif';
	line-height: 1em;
	color: #313131;
}
body{
	position: relative;
/*	overflow-x: hidden; */
	-webkit-font-smoothing: antialiased;
}

/* コンバージョンタグによって生成されるページ下部の隙間解消 */
body>img,
body>iframe{
	display: block;
	height: 0px;
	overflow: hidden;
}
/* /コンバージョンタグによって生成されるページ下部の隙間解消 */

img{vertical-align: bottom;}
br{letter-spacing: 0;}

a{color: #000; text-decoration: none; word-break: break-all; word-wrap:break-word;}
a:hover{text-decoration: none;}
a:focus{outline: none;}
a:hover,a:active{outline: 0;}
table {font-size:inherit;}

pre,code,kbd,samp,tt {font:inherit;*font-size:108%;line-height:100%;}
strong{font-weight: bold;}
textarea,input {font:inherit}
h1,h2,h3,h4,h5,h6,strong,th,.Bld{
	font-weight:bold;
	line-height: 1.4em;
}
.nolink{
	color:#aaa !important;
	cursor: default !important;
}

.mincho{
	font-weight: 400;
	font-family:"ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "HG明朝E","游明朝", YuMincho,  serif !important;
/*	-webkit-transform: rotate(0.03deg);
	transform: rotate(0.03deg);*/
	
}

.g-font1{
	font-family: "Teko", "sans-serif" !important;
	line-height: 0.9em;
	font-weight: bold;
	font-weight: 600;
}

.font-gr{
	font-family: 'Garamond';
}

.under{text-decoration: underline; color:#0a4c83;}
.under:hover{text-decoration: none;}
p.under{color: #333;}
a.linkno{color: #333;}


.h-anim {
	color: #FFF;
	transition: all 0.5s;
	position: relative;
}
.h-anim::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background-color: rgba(255,255,255,0.1);
	transition: all 0.3s;
}
.h-anim:hover::before {
	opacity: 0 ;
	transform: scale(0.5,0.5);
}
.h-anim::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0;
	transition: all 0.3s;
	border: 1px solid rgba(255,255,255,0.5);
	transform: scale(1.2,1.2);
}
.h-anim:hover::after {
	opacity: 1;
	transform: scale(1,1);
}


/*scroll css*/

nav::-webkit-scrollbar {
    width: 5px;
    background: none;
}

nav::-webkit-scrollbar-track {
    -webkit-border-radius: 10px;
    border-radius: 10px;
}

nav::-webkit-scrollbar-thumb {
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background: rgba(0,0,0,0.2);
}

nav::-webkit-scrollbar:hover{
	opacity: 0.2;
}



/*オプションリセット*/
.select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
}


/*共通の設定
------------------------------------------------------------------------------*/
/*■文字の設定*/
.font10{font-size: 1.0rem !important;} /*10px*/
.font11{font-size: 1.1rem !important;} /*11px*/
.font12{font-size: 1.2rem !important;} /*12px*/
.font13{font-size: 1.3rem !important;} /*13px*/
.font16{font-size: 1.6rem !important;} /*16px*/
.font18{font-size: 1.8rem !important;} /*18px*/
.font20{font-size: 2.0rem !important;} /*20px*/
.font22{font-size: 2.2rem !important;} /*22px*/
.font24{font-size: 2.4rem !important;} /*24px*/
.font26{font-size: 2.6rem !important;} /*26px*/
.font28{font-size: 2.8rem !important;} /*28px*/
.font30{font-size: 3.0rem !important;} /*30px*/
.font32{font-size: 3.2rem !important;} /*32px*/
.font34{font-size: 3.4rem !important;} /*34px*/
.font38{font-size: 3.8rem !important;} /*38px*/

.line-h{line-height: 1em !important;}
.line-h12{line-height: 1.2em !important;}
.line-h13{line-height: 1.3em !important;}
.line-h14{line-height: 1.4em !important;}
.line-h15{line-height: 1.5em !important;}
.line-h16{line-height: 1.6em !important;}
.line-h18{line-height: 1.8em !important;}
.line-h20{line-height: 2.0em !important;}

.fontN{font-weight: normal !important;}
.fontB{font-weight: bold !important;}



/*■配置の設定*/

/*縦位置*/
.vertical-t	{vertical-align: top !important;}
.vertical-m	{vertical-align: middle !important;}
.vertical-b	{vertical-align: bottom !important;}

/*横位置*/
.align-r{text-align: right !important;}
.align-l{text-align: left !important;}
.align-c{text-align: center !important;}

/*■マージン、パディング設定*/
.mg-t0	{margin-top: 0px !important; }
.mg-t5	{margin-top: 5px !important; }.mg-t10{margin-top: 10px !important;}
.mg-t15	{margin-top: 15px !important;}.mg-t20{margin-top: 20px !important;}
.mg-t25	{margin-top: 25px !important;}.mg-t30{margin-top: 30px !important;}
.mg-t35	{margin-top: 35px !important;}.mg-t40{margin-top: 40px !important;}
/*下マージ*/
.mg-b0{margin-bottom: 0px !important; }
.mg-b1{margin-bottom: 1px !important; }.mg-b3{margin-bottom: 3px !important;}
.mg-b5{margin-bottom: 5px !important; }.mg-b10{margin-bottom: 10px !important;}
.mg-b15	{margin-bottom: 15px !important;}.mg-b20{margin-bottom: 20px !important;}
.mg-b25	{margin-bottom: 25px !important;}.mg-b30{margin-bottom: 30px !important;}
.mg-b35	{margin-bottom: 35px !important;}.mg-b40{margin-bottom: 40px !important;}
.mg-b45	{margin-bottom: 45px !important;}.mg-b50{margin-bottom: 50px !important;}
.mg-b55	{margin-bottom: 55px !important;}.mg-b60{margin-bottom: 60px !important;}
.mg-b65	{margin-bottom: 65px !important;}.mg-b70{margin-bottom: 70px !important;}
.mg-b75	{margin-bottom: 75px !important;}.mg-b80{margin-bottom: 80px !important;}
.mg-b85	{margin-bottom: 85px !important;}.mg-b90{margin-bottom: 90px !important;}
.mg-b95	{margin-bottom: 95px !important;}.mg-b100 {margin-bottom: 100px !important;}
.mg-b150	{margin-bottom: 150px !important;}.mg-b200 {margin-bottom: 200px !important;}
/*右マージン*/
.mg-r5	{margin-right: 5px !important;}
.mg-r10	{margin-right: 10px !important;}
.mg-r15	{margin-right: 15px !important;}
.mg-r20	{margin-right: 20px !important;}
.mg-r30	{margin-right: 30px !important;}
/*左右マージン*/
.mg-r-l5{margin-right: 5px !important; margin-left: 5px !important;}
.mg-r-l10{margin-right: 10px !important; margin-left: 10px !important;}
.mg-r-l15{margin-right: 15px !important; margin-left: 15px !important;}
.mg-r-l20{margin-right: 20px !important; margin-left: 20px !important;}
.mg-auto{margin: 0 auto;}

/*全てのマージン*/
.pg{padding: 0 10px;}
.pg-right10{padding-right: 10px !important;}
/*左右パディング*/
.pg-r-l5{padding-left:5px !important; padding-right: 5px !important;}
.pg-r-l10{padding-left:10px !important; padding-right: 10px !important;}
.pg-r-l15{padding-left:15px !important; padding-right: 15px !important;}
.pg-r-l20{padding-left:20px !important; padding-right: 20px !important;}
.pg-r-l30{padding-left:30px !important; padding-right: 30px !important;}
/*上下パディング*/
.pg0{padding:0 !important;}
.pg-t-b5{padding: 5px 0 !important;}
.pg-t-b10{padding: 10px 0 !important;}
.pg-t-b15{padding: 15px 0 !important;}
.pg-t-b20{padding: 20px 0 !important;}

.pg-b0{padding-bottom: 0 !important;}

/*■テキスト装飾設定*/
.f-left{float: left !important;}
.f-right{float: right !important;}

/*■ハック関連*/

/*段落ち回避用ハック*/
.cfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}
.cfix { display: inline-block;}
/*Hides from IE-mac\*/
*html .cfix{height:1%;}
.cfix{display: block}

/*段落ち回避用ハック*/
.cfixH::after{content: ".";display: block;clear: both;visibility: hidden;}
.cfixH { display: inline-block;}
/*Hides from IE-mac\*/
*html .cfixH{height:1%;}
.cfixH{display: block}


.hover{
	vertical-align: top;
	display: inline-block;
	cursor: pointer;
	-webkit-transition: opacity .4s ease;
	   -moz-transition: opacity .4s ease;
	    -ms-transition: opacity .4s ease;
	     -o-transition: opacity .4s ease;
	        transition: opacity .4s ease;

    overflow: hidden;
}
.hover:hover{
	opacity: 0.5;
}

.toggle-btn.open{}
.toggle-contents{display: none;}
.hidden{display: none;}

.posiR{position: relative !important;}
.posiA{position: absolute !important;}

/*■テキストリスト*/
ol.list_number>li{
	list-style: decimal outside;
    margin-left: 2em;
    padding: 0 0 0.5em 0;
}

.font-v{
/*	font-family: 'Playball', cursive !important; */
	font-family: 'vijaya', sans-serif !important;
	font-weight: normal !important;
}

.font-times{
   font-family: "Times New Roman", Times, serif;
}
.font-cg{
	font-family: 'Century Gothic', sans-serif !important;
}

.font-ct{
	font-family: 'Century', serif !important;
}

.date-hidden{display: none !important;}

.bld{
	font-weight: bold;
}

/*レイアウトの設定
------------------------------------------------------------------------------*/
#top-container{
	margin: 0 0 3em;
}
/* ページタイトルh1 */
body>h1{
	height: 1px;
	left: 0;
	overflow: hidden;
	position: absolute;
	text-indent: 100%;
	top: 0;
	white-space: nowrap;
	width: 1px;
}


/* リンク  */
.link-arrow{
	position: relative;
	display: inline-block;
	padding-left: 1em;
	text-decoration: none;
	line-height: 1.75em;
}
	.link-arrow::after{
		content: "";
		position: absolute;
		top: 7px;
		left: 6px;
		width: 0px;
		height: 0px;
		border: 3px solid transparent;
		border-left: 5px solid #14a83b;
	}
	.link-arrow>span{
		position: relative;
	}
		.link-arrow>span::after{
			content: '';
			position: absolute;
			bottom: 3px;
			left: 0px;
			width: 100%;
			height: 1px;
			background-color: #000;
			-webkit-transform: scaleX(1);
			   -moz-transform: scaleX(1);
			    -ms-transform: scaleX(1);
			     -o-transform: scaleX(1);
			        transform: scaleX(1);
			-webkit-transition: all .3s ease;
			   -moz-transition: all .3s ease;
			    -ms-transition: all .3s ease;
			     -o-transition: all .3s ease;
			        transition: all .3s ease;
		}
		.link-arrow:hover>span::after{
			-webkit-transform: scaleX(0);
			   -moz-transform: scaleX(0);
			    -ms-transform: scaleX(0);
			     -o-transform: scaleX(0);
			        transform: scaleX(0);
		}

.link-under{
	position: relative;
	display: inline-block;
	text-decoration: none;
}
	.link-under::after{
		content: '';
		position: absolute;
		bottom: 0px;
		left: 0px;
		width: 100%;
		height: 1px;
		background-color: #333;
		-webkit-transform: scaleX(0);
		   -moz-transform: scaleX(0);
		    -ms-transform: scaleX(0);
		     -o-transform: scaleX(0);
		        transform: scaleX(0);
		-webkit-transition: all .3s ease;
		   -moz-transition: all .3s ease;
		    -ms-transition: all .3s ease;
		     -o-transition: all .3s ease;
		        transition: all .3s ease;
	}
	.link-under:hover::after{
		-webkit-transform: scaleX(1);
		   -moz-transform: scaleX(1);
		    -ms-transform: scaleX(1);
		     -o-transform: scaleX(1);
		        transform: scaleX(1);
	}

.link-under-reverse{
	position: relative;
	display: inline-block;
	text-decoration: none;
}
	.link-under-reverse::after{
		content: '';
		position: absolute;
		bottom: 0px;
		left: 0px;
		width: 100%;
		height: 1px;
		background-color: #000;
		-webkit-transform: scaleX(1);
		   -moz-transform: scaleX(1);
		    -ms-transform: scaleX(1);
		     -o-transform: scaleX(1);
		        transform: scaleX(1);
		-webkit-transition: all .3s ease;
		   -moz-transition: all .3s ease;
		    -ms-transition: all .3s ease;
		     -o-transition: all .3s ease;
		        transition: all .3s ease;
	}
	.link-under-reverse:hover::after{
		-webkit-transform: scaleX(0);
		   -moz-transform: scaleX(0);
		    -ms-transform: scaleX(0);
		     -o-transform: scaleX(0);
		        transform: scaleX(0);
	}

.hideline{
	display: block;
      width:0px;
      height:0px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
    }

  /*メールエラー*/
#contents p.error{
 	color:#FF0000;
 	margin-top: 0.5em;
 	font-size: 1.4rem;
 	font-weight: bold;
}


/*フレックスボックス*/
.flex{
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 100%;
}

.flex.grid{
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flex.revs{
	-webkit-flex-direction: row-reverse;
	flex-direction:         row-reverse;
}
.flex.mid{
	-webkit-align-items: center;
	align-items:         center;
}
.flex.start{
	-webkit-align-items: flex-start;
	align-items:         flex-start;
}
.flex.end{
	-webkit-align-items: flex-end;
	align-items:         flex-end;
}


.flex.bline{
	-webkit-align-items: baseline;
	align-items:         baseline;
}

.flex.space{
	-ms-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content:         space-between;
}
.flex.cent{
	-webkit-justify-content: center;
	justify-content:         center;
}

.flex.left{
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
.flex.right{
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.flex.around{
	-webkit-justify-content:  space-around;;
	justify-content:          space-around;;
}
.tbl{
	display: table;
	width: 100%;
}
.tbl>.box{
	display: table-cell;
	vertical-align: top;
}



.flex.three>.box{
	width: 33.33%;
}
.flex.two>.box{
	width: 50%;
}

.bgset{
	background-repeat: no-repeat;
	-webkit-background-size: 100% auto ;
	background-size: 100% auto ;
	background-position: center center;
}
.abs{
	width: 100%;
	height: 100%;
	position: absolute;
	left:0;
	top:0;
}

.max{
	width: auto;
	max-width: 100%;
	height: auto;
}
.wide{
	width: 100%;
	height: auto;
}

.hide{
	opacity: 0;
	-webkit-transition: opacity 0s ;
	-moz-transition: opacity 0s ;
	-ms-transition: opacity 0s ;
	-o-transition: opacity 0s ;
	transition: opacity 0s ;
}

.icon-ex{
	position: absolute;
	width: 12px;
	height: 12px;
	right:0;
	top: 50%;
	margin-top: -2px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.icon-ex::before{
	content:"";
	position: absolute;
	display: block;
	width: 9px;
	height: 9px;
	top:0;
	right:3px;
	border:2px solid #959595;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background: #fff;
}
.icon-ex::after{
	content:"";
	position: absolute;
	display: block;
	width: 9px;
	height: 9px;
	top:3px;
	right:0;
	border:2px solid #959595;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background: #fff
}

.icon-ex.type-b::before{
	background: #023c7a;
	border:2px solid #fff;
}


.icon-ex.type-b::after{
	background: #023c7a;
	border:2px solid #fff;
}

