@charset "utf-8";
/* ////////////////////////////////////////
PC,SP
//////////////////////////////////////// */
*,body{
	font-family: "Meiryo", sans-serif;
　 	word-wrap: break-word;
    overflow-wrap: break-word;
}
body{
	overflow-x: hidden;
	line-height: 1.78em;
}
.clear{
	clear:both;
}
.risu-font{
	font-family: RISU;
	letter-spacing: -0.05em;
}
.text-main{
    color:#3f8167;
}
.text-lgray{
	color:#7d7d7d;
}
.indent{
	padding-left: 1em;
  	text-indent: -1em;
}
.fullwidth{
		width:100%;
		height:auto;
}
.hidden{overflow: hidden;}
.f_left{
	float:left;
}
.aligncenter{
	text-align: center;
}
.ie{display: none;}
/* ////////////////////////////////////////
IEのみ
//////////////////////////////////////// */
@media all and (-ms-high-contrast: none){
	.ie{
		display: block;
	}
	.ie-no{
		display: 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;
}
.fs_s1{
	font-size:0.8em;
	line-height: 1.4em;
}
.fs_s2{
	font-size:0.875em;
}
.fs_s3{
	font-size:0.6em;
}
.imgblock{
	display: block;
}
.relative{
	position: relative;
}
.invisible{visibility: hidden;}
.hover_op{
	opacity:1;
	transition: 0.8s ease opacity;
}
.hover_op:hover{
	opacity:0.6;
}
/*右クリック禁止*/
.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_contain {
  	object-fit: contain;
	font-family: "object-fit:contain;";
}
/*下からふわっと表示*/
.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}
.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
.Yugo-medium{
    font-weight: 500;
}
.title-l-height{
	line-height:1.6em;
	letter-spacing:-0.08em;
}
/* ////////////////////////////////////////
印刷
//////////////////////////////////////// */
@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,.tab,.sp-min,.sp-max{display: none;}
	.wrap{
		width:1140px;
		margin-right:auto;
		margin-left:auto;
	}
	.pc_hidden{overflow: hidden;}
	.pc_f_left{float: left;}
	.pcaligncenter{
		text-align: center;
	}
	/*余白
	------------------------------*/
	.mb_30{
		margin-bottom:30px;
	}
	/*文字サイズ
	------------------------------*/
	.fs-12{
		font-size:0.8rem;
		line-height: 1.78em;
	}
	.fs-14{
		font-size:0.875rem;
		line-height: 1.78em;
	}
	.fs-15{
        font-size:0.9375rem;
    }
	.fs-16{
		font-size:1rem;
	}
	.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-26{
		font-size:1.625rem;
	}
	.fs-27{
		font-size:1.875rem;
	}
	.fs-28{
		font-size:2rem;
	}
	.fs-30{
		font-size:1.875rem;
	}
	.fs-32{
		 font-size:2rem;
	}
	.fs-34{
		 font-size:2.125rem;
	}
	.fs-36{
		 font-size:2.25rem;
	}
	.fs-40{
		 font-size:2.5rem;
	}
	.fs-43{
		 font-size:2.6875rem;
	}
	.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-70{
		 font-size:4.375rem;
	}
	.fs-80{
		 font-size:5rem;
	}
	
	.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;
	}
}

/* ////////////////////////////////////////
pc以上のみ
//////////////////////////////////////// */
@media screen and (min-width: 1240px){
	.tab-pcno{display: none;}
	/* pconly-table */
	.pconly-Wraptable{
		display: table;
		width:100%;
	}
	.pconly-Wraptable > *{
		display: table-cell;
	}
	/* rl float */
	.pconlyWrapRL:after{
		content:"";
		display:block;
		clear:both;
	}
	.pconlyWrapRL > *:first-child{
		float: right;
		display: inline-block;
	}
	.pconlyWrapRL > *:last-child{
		float: left;
		display: inline-block;
	}
}
/* ////////////////////////////////////////
タブレット以下
//////////////////////////////////////// */
@media screen and (max-width: 1240px){
	.pc{display: none;}
	.tab{display: block;}
    .l-height-s{
        line-height: 1.7em;
    }
    .l-height-s2{
        line-height: 1.2em;
    }
	/*左float */
	.tabWrapSbs:after{
		content:"";
		display:block;
		clear:both;
	}
	.tabWrapSbs > *{
		float: left;
		display: inline-block;
	}
	/* /左float */
     /*文字サイズ
    -------------------------------*/
    /*12px*/
    .tab-fs-12{
		font-size:0.8rem;
    }
    /*14px*/
    .tab-fs-14{
        font-size:0.875rem;
    }
}
/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */
@media screen and (max-width: 767px){
	.tab-pc{display: none;}
	.pc{display: none;}
	.tab-spno{display: none;}
  	.print{ display: none;}
	/*余白
	------------------------------*/
	.mb_10-sp{
		margin-bottom:10px;
	}
	.mb_20-sp{
		margin-bottom:20px;
	}
     /*文字サイズ
    -------------------------------*/
    /*12px*/
    .sp-fs-12{
		font-size:0.8rem;
    }
    /*14px*/
    .sp-fs-14{
        font-size:0.875rem;
    }
    /*15px*/
    .sp-fs-15{
        font-size:0.9375rem;
    }
    /*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;
    }
    /*28px*/
    .sp-fs-28{
        font-size:1.75rem;
    }
    /*30px*/
    .sp-fs-30{
        font-size:1.875rem;
    }
    /*34px*/
	.sp-fs-34{
		 font-size:2.125rem;
	}
    /*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;
	}
	.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:"横スクロールしてご覧ください。";
	}
}
/*スマホ(小)縦*/
@media screen and (max-width: 320px){
     /*文字サイズ
    -------------------------------*/
    /*12px*/
    .sp320-fs-12{
		font-size:0.8rem;
    }
    /*14px*/
    .sp320-fs-14{
        font-size:0.875rem;
    }
    /*15px*/
    .sp320-fs-15{
        font-size:0.9375rem;
    }
    /*17px*/
    .sp320-fs-17{
        font-size:1.0625rem;
    }
    /*18px*/
    .sp320-fs-18{
        font-size:1.125rem;
    }
    /*16px*/
    .sp320-fs-16{
        font-size:1rem;
    }
    /*19px*/
    .sp320-fs-19{
        font-size:19px;
    }
    /*20px*/
    .sp320-fs-20{
        font-size:1.25rem;
    }
    /*21px*/
    .sp320-fs-21{
        font-size:1.3125rem;
    }
    /*22px*/
    .sp320-fs-22{
        font-size:1.375rem;
    }
    /*23px*/
    .sp320-fs-23{
        font-size:1.4375rem;
    }
    /*24px*/
    .sp320-fs-24{
        font-size:1.5rem;
    }
    /*25px*/
    .sp320-fs-25{
        font-size:1.5625rem;
    }
    /*26px*/
    .sp320-fs-26{
        font-size:1.625rem;
    }
    /*28px*/
    .sp320-fs-28{
        font-size:1.75rem;
    }
    /*30px*/
    .sp320-fs-30{
        font-size:1.875rem;
    }
    /*36px*/
    .sp320-fs-36{
        font-size:2.25rem;
    }
    /*40px*/
    .sp320-fs-40{
        font-size:2.5rem;
    }
    /*45px*/
    .sp320-fs-45{
        font-size:2.8125rem;
    }
    /*50px*/
    .sp320-fs-50{
        font-size:3.125rem;
    }
    /*50px*/
    .sp320-fs-56{
        font-size:3.5rem;
    }
    /*60px*/
    .sp320-fs-60{
        font-size:3.75rem;
    }
    /*70px*/
    .sp320-fs-70{
        font-size:4.375rem;
    }
}