@charset "utf-8";
:root {
    --text_color: #595757;
    --gray: #6c6c66;
    --white-gray: #e3e3dc;
    --white: #ffffff;
}

html {
    width: 100%;
    box-sizing: border-box;
}

body {
    min-width: 100%;
    font-family:  Yu Gothic Pr6N R;
	line-height: 1.78em;
    position: relative;
}
/*フォント設定------------------------*/
.yugo-bold{
	font-family: Yu Gothic Pr6N B;
}
.yugo-medium{
	font-family: Yu Gothic Pr6N M;
}
.yugo-demi{
	font-family: Yu Gothic Pr6N D;
}
.futura-pt-book{
	font-family: futura-pt, sans-serif;
	font-weight: 400;
	font-style: normal;
}
/*お問い合わせフォント設定*/
button, input, select, textarea {
    font-family: YUGO,"Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif!important;
}
#form1 .error {
    font-family: YUGO,"Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
}
/*リスト設定------------------------*/
/*黒丸*/
.article ul:not(.row2-list) li{
	list-style-type: disc;
	list-style-position: inside;
	padding-left: 1.4em;
  	text-indent: -1.4em;
}
/* 通常：数字リスト period */
.article ol:not(.row2-list){
	counter-reset: num-cnt-r;  
}
.article ol:not(.row2-list) li{
	list-style-position: inside;
	counter-increment: num-cnt-r;
	padding-left: 1.5em;
  	text-indent: -1.5em;
}
.article ol:not(.row2-list) li:before{
	content: counter(num-cnt-r)". ";
}
/*その他------------------------*/
.indent{
	padding-left: 1em;
  	text-indent: -1em;
}
.fullwidth{
		width:100%;
		height:auto;
}
.hidden{overflow: hidden;}
.child-middle > *{
	vertical-align: middle;
}
.child-top > *{
	vertical-align: top;
}
.child-bottom > *{
	vertical-align: bottom;
}
.f_left{
	float:left;
}
.aligncenter{
	text-align: center;
}
.clear{
	clear:both;
}
/*スライドの青い線消す*/
.slick-slide{
	outline: none;
}
/* table */
.Wraptable{
	display: table;
	width:100%;
}
.Wraptable > *{
	display: table-cell;
}
/*　左float */
.WrapSbs:after{
	content:"";
	display:block;
	clear:both;
}
.WrapSbs > *{
	float: left;
	display: inline-block;
}
/* lr float */
.WrapLR:after{
	content:"";
	display:block;
	clear:both;
}
.WrapLR > *:first-child{
	float: left;
	display: inline-block;
}
.WrapLR > *:last-child{
	float: right;
	display: inline-block;
}
.b_bg {
	background: #222222;
}
.fc_w{
	color: #fff;
}
.bold{
	font-weight: bold;
}
.relative{
	position: relative;
}
.invisible{visibility: hidden;}
/*右クリック禁止*/
.copy-guard {
  pointer-events: none;
}
/*IE用画像object-fit*/
.object_fit_img {
  	object-fit: cover;
	font-family: "object-fit:cover;";
}
/*IE用画像object-fit*/
.object_fit_img-center {
  	object-fit: cover;
	font-family: "object-fit:cover;";
    object-position: center center;
}
/*IE用画像object-fit*/
.object_fit_img_contain {
  	object-fit: contain;
	font-family: "object-fit:contain;";
}
/*IE用画像object-fit-bottom*/
.object_fit_img_contain-bottom {
  	object-fit: contain;
	font-family: "object-fit:contain;";
    object-position: center bottom;
}
/*========= アニメーション ===============*/
/* アニメーション遅延させるCSS  */
.delay025s {
    animation-delay: 0.25s;
}
.delay05s {
    animation-delay: 0.5s;
}
.delay075s {
    animation-delay: 0.75s;
}
.delay1s {
    animation-delay: 1s;
}
.delay125s {
    animation-delay: 1.25s;
}
.delay15s {
    animation-delay: 1.5s;
}
.delay175s {
    animation-delay: 1.75s;
}
.delay2s {
    animation-delay: 2s;
}
.delay225s {
    animation-delay: 2.25s;
}
.delay25s {
    animation-delay: 2.5s;
}
.delay275s {
    animation-delay: 2.75s;
}
.delay3s {
    animation-delay: 3s;
}
.delay325s {
    animation-delay: 3.25s;
}
.delay35s {
    animation-delay: 3.5s;
}
.delay375s {
    animation-delay: 3.75s;
}
.delay4s {
    animation-delay: 4s;
}
.delay425s {
    animation-delay: 4.25s;
}
.delay45s {
    animation-delay: 4.5s;
}
.delay475s {
    animation-delay: 4.75s;
}
.delay5s {
    animation-delay: 5s;
}
.delay525s {
    animation-delay: 5.25s;
}
.delay55s {
    animation-delay: 5.5s;
}
.delay575s {
    animation-delay: 5.75s;
}
.delay6s {
    animation-delay: 6s;
}
.delay625s {
    animation-delay: 6.25s;
}
.delay65s {
    animation-delay: 6.5s;
}
.delay675s {
    animation-delay: 6.75s;
}
.delay7s {
    animation-delay: 7s;
}
.delay725s {
    animation-delay: 7.25s;
}
.delay75s {
    animation-delay: 7.5s;
}
.delay775s {
    animation-delay: 7.75s;
}
.delay8s {
    animation-delay: 8s;
}
.delay825s {
    animation-delay: 8.25s;
}
.delay85s {
    animation-delay: 8.5s;
}
.delay875s {
    animation-delay: 8.75s;
}
.delay9s {
    animation-delay: 9s;
}
.delay925s {
    animation-delay: 9.25s;
}
.delay95s {
    animation-delay: 9.5s;
}
.delay975s {
    animation-delay: 9.75s;
}
.delay100s {
    animation-delay: 10s;
}
.animate__bounceIn {
    animation-duration: 2s;
}
.animate__bounceIn {
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}
.animate__fadeIn {
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
}
/*下からふわっと表示*/
.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}
.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
/*マウスオーバー時*/
.color-ts{
	transition: color 0.3s;
}
.opacity-ts{
	opacity: 1;
	transition: opacity 0.3s;
}
.opacity-ts:hover{
	opacity: 0.5;
}
/* ////////////////////////////////////////
印刷
//////////////////////////////////////// */
@media print{
  body {
    width: 1200px;
    transform: scale(0.9);
    -moz-transform: scale(0.9);
    -webkit-transform: scale(0.9);
    transform-origin: 0 0;
  }
 .noprint{
	 display: none;
 }
 .print{
	 display: block;
 }
}
/* ////////////////////////////////////////
PC・印刷時のみ
//////////////////////////////////////// */
@media screen and (min-width:768px) , print{ 
	.sp{display: none;}
	.tab{display: none;}
	.tab-sp{display: none;}
	/*文字サイズ
	------------------------------*/
    .fs-5{
		font-size:0.3125rem;
    }
    .fs-6{
		font-size:0.375rem;
    }
    .fs-7{
		font-size:0.4375rem;
    }
    .fs-8{
		font-size:0.5rem;
    }
    .fs-9{
		font-size:0.5625rem;
    }
	.fs-10{
		font-size:0.625rem;
	}
	.fs-12{
		font-size:0.8rem;
	}
	.fs-13{
		font-size:0.8125rem;
	}
	.fs-14{
		font-size:0.875rem;
	}
	.fs-15{
        font-size:0.9375rem;
    }
	.fs-16{
		font-size:1rem;
	}
	.fs-17{
		font-size:1.0625rem;
	}
	.fs-18{
		font-size:1.125rem;
	}
	.fs-19{
		font-size:1.1875rem;
	}
	.fs-20{
		font-size:1.25rem;
	}
	.fs-21{
		font-size:1.3125rem;
	}
	.fs-22{
		font-size:1.375rem;
	}
	.fs-23{
        font-size:1.4375rem;
	}
	.fs-24{
		font-size:1.5rem;
	}
	.fs-25{
		font-size:1.5625rem;
	}
	.fs-26{
		font-size:1.625rem;
	}
	.fs-27{
		font-size:1.875rem;
	}
	.fs-28{
		font-size:2rem;
	}
	.fs-30{
		font-size:1.875rem;
	}
	.fs-31{
		font-size:1.9375rem;
	}
	.fs-32{
		 font-size:2rem;
	}
	.fs-33{
		 font-size:2.0625rem;
	}
	.fs-34{
		 font-size:2.125rem;
	}
	.fs-35{
		 font-size:2.1875rem;
	}
	.fs-36{
		 font-size:2.25rem;
	}
	.fs-38{
		 font-size:2.375rem;
	}
	.fs-40{
		 font-size:2.5rem;
	}
	.fs-45{
		 font-size:2.8125rem;
	}
	.fs-50{
		font-size:3.125rem;
	}
	.fs-56{
		font-size:3.5rem;
	}
	.fs-58{
		font-size:3.625rem;
	}
	.fs-60{
		 font-size:3.75rem;
	}
	.fs-62{
		 font-size:3.875rem;
	}
	.fs-67{
		 font-size:4.1875rem;
	}
	.fs-70{
		 font-size:4.375rem;
	}
	.fs-85{
		 font-size:4.8rem;
	}
	.fs-86{
		 font-size:5.375rem;
	}
	.fs-100{
		 font-size:6.25rem;
	}
	.pcalignright{
		text-align: right;
	}
	.pcfullwidth{
		width:100%;
		height:auto;
	}
	/* pctable */
	.pcWraptable{
		display: table;
		width:100%;
	}
	.pcWraptable > *{
		display: table-cell;
	}
	/* pctable-fix */
	.pcWraptable-fix{
		display: table;
		width:1080px;
	}
	.pcWraptable-fix > *{
		display: table-cell;
	}
	/* float */
	.pcWrapSbs:after{
		content:"";
		display:block;
		clear:both;
	}
	.pcWrapSbs > *{
		float: left;
		display: inline-block;
	}
	/* lr float */
	.pcWrapLR:after{
		content:"";
		display:block;
		clear:both;
	}
	.pcWrapLR > *:first-child{
		float: left;
		display: inline-block;
	}
	.pcWrapLR > *:last-child{
		float: right;
		display: inline-block;
	}
	/* rl float */
	.pcWrapRL:after{
		content:"";
		display:block;
		clear:both;
	}
	.pcWrapRL > *:first-child{
		float: right;
		display: inline-block;
	}
	.pcWrapRL > *:last-child{
		float: left;
		display: inline-block;
	}
}
/*macbookpro用*/
@media screen and (min-width:768px) and (max-width: 1500px) , print{ 
	/*文字サイズ 割る1.4or1.07する
	------------------------------*/
	.fs-18{
		font-size:1.2rem;
	}
	.fs-25{
		font-size:1.4rem;
	}
	.fs-31{
		font-size:1.8rem;
	}
	.fs-32{
		font-size:1.8rem;
	}
	.fs-38{
		 font-size:2.2rem;
	}
	.fs-45{
		 font-size:2.6rem;
	}
	.fs-67{
        font-size:4rem;
    }
	.fs-85{
		 font-size:3.8rem;
	}
	.fs-86{
		 font-size:3.8rem;
	}
	.fs-100{
		 font-size:5.68rem;
	}
}
/*タブレット以下*/
@media screen and (max-width: 1100px){
	.tab{display: block;}
	.tab-pc{display: block;}
	.tab-sp{display: block;}
	.pc{display: none;}
}
/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */
@media screen and (max-width: 767px){
    .tab{display: none;}
	.tab-pc{display: none;}
     /*文字サイズ
    -------------------------------*/
    .sp-fs-5{
		font-size:0.3125rem;
    }
    .sp-fs-6{
		font-size:0.375rem;
    }
    .sp-fs-7{
		font-size:0.4375rem;
    }
    .sp-fs-8{
		font-size:0.5rem;
    }
    .sp-fs-9{
		font-size:0.5625rem;
    }
    .sp-fs-10{
		font-size:0.625rem;
    }
    .sp-fs-11{
		font-size:0.6875rem;
    }
    /*12px*/
    .sp-fs-12{
		font-size:0.8rem;
    }
	.sp-fs-13{
		font-size:0.8125rem;
	}
    /*14px*/
    .sp-fs-14{
        font-size:0.875rem;
    }
    /*15px*/
    .sp-fs-15{
        font-size:0.9375rem;
    }
    .sp-fs-16{
        font-size:1rem;
    }
    /*17px*/
    .sp-fs-17{
        font-size:1.0625rem;
    }
    /*18px*/
    .sp-fs-18{
        font-size:1.125rem;
    }
    /*16px*/
    .sp-fs-16{
        font-size:1rem;
    }
    /*19px*/
    .sp-fs-19{
        font-size:19px;
    }
    /*20px*/
    .sp-fs-20{
        font-size:1.25rem;
    }
    /*21px*/
    .sp-fs-21{
        font-size:1.3125rem;
    }
    /*22px*/
    .sp-fs-22{
        font-size:1.375rem;
    }
    /*23px*/
    .sp-fs-23{
        font-size:1.4375rem;
    }
    /*24px*/
    .sp-fs-24{
        font-size:1.5rem;
    }
    /*25px*/
    .sp-fs-25{
        font-size:1.5625rem;
    }
    /*26px*/
    .sp-fs-26{
        font-size:1.625rem;
    }
	.sp-fs-27{
		font-size:1.875rem;
	}
    /*28px*/
    .sp-fs-28{
        font-size:1.75rem;
    }
    .sp-fs-29{
        font-size:1.8125rem;
    }
    /*30px*/
    .sp-fs-30{
        font-size:1.875rem;
    }
    /*32px*/
    .sp-fs-32{
        font-size:2rem;
    }
    /*36px*/
    .sp-fs-36{
        font-size:2.25rem;
    }
    /*40px*/
    .sp-fs-40{
        font-size:2.5rem;
    }
    /*45px*/
    .sp-fs-45{
        font-size:2.8125rem;
    }
    /*50px*/
    .sp-fs-50{
        font-size:3.125rem;
    }
    /*50px*/
    .sp-fs-56{
        font-size:3.5rem;
    }
    /*60px*/
    .sp-fs-60{
        font-size:3.75rem;
    }
    /*70px*/
    .sp-fs-70{
        font-size:4.375rem;
    }
	.spfullwidth{
			width:100%;
			height:auto;
	}
	.pc{display: none;}
  	.print{ display: none;}
	.spwrap{
		padding-right:5vw;
		padding-left:5vw;
	}
	.spaligncenter{
		text-align: center;
	}
	.spalignleft{
		text-align: left;
	}
	.fs_b1{
		font-size:1.2em;
	}
	/*table */
	.spWraptable{
		display: table;
		width:100%;
	}
	.spWraptable > *{
		display: table-cell;
	}
	/* lr float */
	.spWrapLR:after{
		content:"";
		display:block;
		clear:both;
	}
	.spWrapLR > *:first-child{
		float: left;
		display: inline-block;
	}
	.spWrapLR > *:last-child{
		float: right;
		display: inline-block;
	}
	/*左float */
	.spWrapSbs:after{
		content:"";
		display:block;
		clear:both;
	}
	.spWrapSbs > *{
		float: left;
		display: inline-block;
	}
	/* /左float */
	/* スマホ用テーブルスクロール */
	.table_box{
    	overflow-x:scroll;
		width:100%;
		height:auto;
	}
	.table_box::after{
		content:"横スクロールしてご覧ください。";
	}
}