@charset "utf-8";

/*初期化の設定
------------------------------------------------------------------------------*/
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,main{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 Japanese','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック','sans-serif';
	line-height: 1em;
	color: #000000;
}
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;
 }
h1,h2,h3{
	letter-spacing: 0.05em;
}
.mincho{
	font-family: 'AozoraMincho';
	font-weight: 400;
	/*font-family:"ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "游明朝", YuMincho,  serif !important;*/
}

button{
	border:none;
	font-family: 'Noto Sans Japanese','ヒラギノ角ゴ Pro W6','HiraKakuPro-W6','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック','sans-serif';
}


.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;
}

/*共通の設定
------------------------------------------------------------------------------*/

/*■文字の設定*/
.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*/
.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;}

.clr-red{color: #ce0a0a !important;}
.clr-key{color: #ec6e3c;}
.clr-blue{color: #20209D;}
.clr-blue--type2{color: #1F1F9D;}
.clr-yellow{color: #FFFF00;}
.clr-green{color: #878787;}
.clr-green--type2{color: #444444;}
.clr-green--type3{color: #138A13;}


/*■配置の設定*/

/*縦位置*/
.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;
	-webkit-backface-visibility: hidden;
    backface-visibility: hidden;
/*    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;
}

.date-hidden{display: none !important;}

.bld{
	font-weight: bold;
}
/*i{
	font-family: "Fjalla One", sans-serif;
}
*/
/*レイアウトの設定
------------------------------------------------------------------------------*/
#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;
}


/* リンク  */
.arrow{
	position: relative;
	display: inline-block;
	padding-right: 10px;
}
	.arrow::after{
		content: "";
		position: absolute;
		right: 0px;
		top: 50%;
		width: 6px;
		height: 6px;
		border-top: 1px solid #ec661b;
		border-right: 1px solid #ec661b;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: top right;
		transform-origin: top right;
	}
.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{
      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;
}

.flex-wrap{
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex.revs{
	-webkit-flex-direction: row-reverse;
	flex-direction:         row-reverse;
}
.flex.va-cent{
	-webkit-align-items: center;
	align-items:         center;
}
.flex.va-bline{
	-webkit-align-items: baseline;
	align-items:         baseline;
}
.flex.jc-space{
	-webkit-justify-content: space-between;
	justify-content:         space-between;
}
.flex.jc-cent,
.flex.jc-cent-pc{
	-webkit-justify-content: center;
	justify-content:         center;
}
@media screen and (max-device-width: 767px){
	.flex.jc-cent-pc{
		-webkit-justify-content: normal;
		justify-content:         normal;
	}
}

.max{
	width: auto;
	max-width: 100%;
	height: auto;
}

/*画像幅100%*/
img.wide{
	max-width: 100%;
}
/*背景画像デフォルト設定*/
.bgcover{
	-webkit-background-size:cover;
	background-size:cover;
	background-repeat: no-repeat;
	background-position: center;
}

.input[type="text"]{
	border:1px solid #CCCCCC;
	height: 32px;
	line-height: 	32px;
	width: 100%;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
}

.input[type="submit"]{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	box-shadow: none;
	background: none;
}

.textarea{
	border:1px solid #CCCCCC;
	height: 92px;
	width: 100%;
	box-shadow: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
}


/*チェックボックスカスタム**********************************************

	<div class="check-group">
	<label>
	<input class="check-input"  type="checkbox" name="" value="" checked="checked" />
	<span class="name-tag">ラベル名</span>
	</label>
	</div>

**************************************************************/

.check-group{
}

.check-group label{
	display: inline-block;
	margin-right: 10px;
	padding:0 0;
	line-height: 1em;
	cursor: pointer;
}

.check-group .check-input{
  display: none;
}


.check-group .name-tag{
  padding-left: 1.7em;
  position:relative;
  line-height: 1em;
}

/*チェック枠*/
.check-group .name-tag::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 18px;
	height: 18px;
	position: absolute;
	top: 50%;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	background: #c3c3c3;
}

.check-group .check-input:checked + .name-tag::before{
	background: #ec661b;
}

/*チェック*/
.check-group .check-input:checked + .name-tag::after{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -1px;
    left: 4px;
	-moz-transform: translate(0, -50%) rotate(-45deg);
	-ms-transform: translate(0, -50%) rotate(-45deg);
	-webkit-transform: translate(0, -50%) rotate(-45deg);
	transform: translate(0, -50% ) rotate(-45deg);
	width: 7px;
	height: 4px;
	border-left:2px solid #fff;
	border-bottom:2px solid #fff;
	animation: formfade 0.1s ease;
}

.check-group.ptn01 .name-tag::before{
	background: #fff; border:1px solid #959595;
}

/*ラジオボックスカスタム
<div class="radio-group">
<label>
<input class="radio-input"  type="radio" name="" value="" checked="checked" />
<span class="name-tag">ラベル名</span>
</label>
</div>
*/
.radio-group.ptn01{
	margin-top: 20px;
}


.radio-group label{
	line-height: 17px;
	display: inline-block;
}

.radio-group .radio-input{
	display: none;
}

.radio-group .name-tag{
	position:relative;
	display: inline-block;
	padding-left: 1.5em;
	font-size: 1.6rem;
	cursor: pointer;
}
.radio-group.ptn01 .name-tag{
	margin-right: 40px;
}


/*check枠*/
.radio-group .name-tag::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 12px;
	background: #d4d4d4;
	-webkit-border-radius: 50%;
	border-radius: 50%;
/*	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #BBB), 
	color-stop(0.00, #fff));
	background: -webkit-linear-gradient(#fff, #BBB);
	background: -moz-linear-gradient(#fff, #BBB);
	background: -o-linear-gradient(#fff, #BBB);
	background: -ms-linear-gradient(#fff, #BBB);
	background: linear-gradient(#fff, #BBB);*/
	border:3px solid #fff;
}


.radio-group .radio-input:checked + .name-tag::before{
}

/*check ドット*/
.radio-group .radio-input:checked + .name-tag::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  margin-top: -0px;
  left:0px;
  width: 12px;
  height: 12px;
  border:3px solid #fff;
  background: #ec661b;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-border-radius: 50%;
  border-radius: 50%;
  animation: formfade 0.2s ease;
  opacity: 1;
}


@keyframes formfade{
	 0% { opacity: 0; }
	 100% {opacity: 1; }
}



/*オプションリセット
<label class="select-label"><select class="select"></select>><label>
*/
/*オプションリセット*/
.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: '';
}


.select-label{
	position: relative;
	display: inline-block;
	width: 100%;
	border:1px solid #cccccc;
	background :#ffffff;
	height: 32px;
}


.select-label::after{
	content:"";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top:50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	right:12px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 5px 0 5px;
	border-color: #000 transparent transparent transparent;
	pointer-events: none;
}
.select-label .select{
	height:32px;
	width: 100%;
	padding:0 0.5em;
}


@keyframes formfade{
	 0% { opacity: 0; }
	 100% {opacity: 1; }
}

.contact-form .submit-box {
	padding: 30px 0;
	text-align: center;
}

.contact-form .submit-box label {
	display: block;
	margin-bottom: 30px;
}


.contact-form .submit-box .btn{
	width:150px;
	padding: 1.4rem 0;
	margin:0 2vw; 
	color: #FFF;
	border: none;
	font-weight: bold;
}

.contact-form .close-box{
	width: 100%;
	padding: 0 2rem 1rem;
	text-align: right;
}


.indent{
	padding-left: 1em;
	text-indent: -1em;
}