@charset "utf-8";
/*ver 2.1 2019*/
/*初期化の設定
------------------------------------------------------------------------------*/
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,fiingure,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;}
figure{margin:0;padding: 0}

/*基本レイアウト
------------------------------------------------------------------------------*/
html,body{}
/*基本フォント設定
------------------------------------------------------------------------------*/
html{
	font-size: 62.5%;
	font-size: 10px;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic,"ヒラギノ角ゴ Pro W3",'メイリオ','Meiryo','ＭＳ Ｐゴシック','sans-serif';
	line-height: 1em;
	font-weight: 500;
	color: #000000;
}

body{
	-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{
	line-height: 1.3em;
	font-weight: bold;
 }

/*共通の設定
------------------------------------------------------------------------------*/

/*■配置の設定*/

/*縦位置*/
.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;
}

/*ポジション*/
.posiR{position: relative !important;}
.posiA{position: absolute !important;}
.abs{
	position: absolute;
	left:0;
	top:0;
	width: 100%;
	height: 100%;
}

/*フォントファミリー*/
.ft-serif{
	font-weight: 400;
	font-family:"ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "游明朝", YuMincho,  serif !important;
}
.ft-cg{
	font-family:'Century Gothic','arial' !important;
}

/*iframeのレスポンシブ*/
.iframe-block{
	position: relative;
    padding-top: 56.25%;
}

.iframe-block iframe{
	position: absolute;
	left:0;
	top:0;
	width: 100%;
	height: 100%;
}


/*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;
}
*/

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


/* ページタイトルh1 */
body>h1{
	height: 1px;
	left: 0;
	overflow: hidden;
	position: absolute;
	text-indent: 100%;
	top: 0;
	white-space: nowrap;
	width: 1px;
}


/*非表示*/
.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-end{
	-webkit-align-items: end;
	align-items:         end;
}

.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{
	-webkit-justify-content: center;
	justify-content:         center;
}

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

.flex.around{
	-webkit-justify-content:  space-around;;
	justify-content:          space-around;;
}

.flex-auto{
	-webkit-flex:1 1 auto;
	flex:1 1 auto;
}

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

/*画像幅100%*/
img.wide{
	width: 100%;
	height: auto;
}
/*背景画像デフォルト設定*/
.bgcover{
	-webkit-background-size:cover;
	background-size:cover;
	background-repeat: no-repeat;
	background-position: center;
}
.bgcover.fixed{
	background-attachment: fixed;
}

/*form style*/

.input[type="text"]{
	border:1px solid #bfbfbf;
	height: 40px;
	line-height: 40px;
	width: 100%;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	background: 0;
	display: inline-block;
}

.input[type="submit"],
button{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	box-shadow: none;
	background: none;
	border:0;
}

.textarea{
	border:1px solid #bfbfbf;
	height: 160px;
	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;
}

/*--------------------------
	scroll event
	----------------------------*/

		/*fade ------------------------------------------------*/
		.fade{
				opacity: 0;
				-webkit-transition: opacity 0.8s cubic-bezier(.5,.36,.86,.6);
				transition: opacity 0.8s cubic-bezier(.5,.36,.86,.6);
			  }
			  .fade.animated{
				opacity: 1;
				-webkit-transition: opacity 0.8s cubic-bezier(.5,.36,.86,.6);
				transition: opacity 0.8s cubic-bezier(.5,.36,.86,.6);
		}

		/*fadeUp ------------------------------------------------*/
		.fadeUp>div{
				opacity: 0;
				-webkit-transform: translate(0,10%);
			    transform: translate(0,10%);
			    transition-duration: 0;
			    -webkit-transition-duration: 0;
			    transition-property: opacity transform;
			    -webkit-transition-property: opacity transform;
			    transition-delay: 0s;
			    -webkit-transition-delay: 0s;
			}
			.fadeUp.animated>div {
			    opacity: 1;
				-webkit-transform: translate(0,0);
			    transform: translate(0,0);
  				transition-duration: 1.8s;
			    -webkit-transition-duration: 1.8s;
			    transition-property: opacity transform;
			    -webkit-transition-property: opacity transform;
			    transition-timing-function: cubic-bezier(0.155, 0.910, 0.695, 0.950);
			    -webkit-transition-timing-function: cubic-bezier(0.155, 0.910, 0.695, 0.950);
			    transition-delay: 0s;
			    -webkit-transition-delay: 0s;
			}



		/*SlideInUp ------------------------------------------------*/
			.slideUp>div{
				opacity: 1;
				-webkit-transform: translate3d(0, 100px, 0);
				transform: translate3d(0, 100px, 0);
				-webkit-transition: all 1.2s cubic-bezier(0.155, 0.910, 0.695, 0.950);
				transition: all 1.2s  cubic-bezier(0.155, 0.910, 0.695, 0.950);
			}
				.slideUp.animated>div {
					opacity: 1;
					transform: translate3d(0, 0, 0);
					-webkit-transition: all 1.2s cubic-bezier(0.155, 0.910, 0.695, 0.950);
					transition: all 1.2s  cubic-bezier(0.155, 0.910, 0.695, 0.950);
				}
