@charset "utf-8";
/* ////////////////////////////////////////
PC,SP
//////////////////////////////////////// */
*,body{
	word-wrap: break-word;
    overflow-wrap: break-word;
}
body{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	overflow-x: hidden;
	line-height: 1.78em;
    background-color: #fff;
	color:#1E1715;
}
.clear{
	clear:both;
}
.normal-text-lh{
	line-height: 1.7em;
}
/*スライドの青い線消す*/
.slick-slide{
	outline: none;
}
/*font*/
.noto-regular{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
.noto-medium{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}
.noto-bold{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
}
.noto-black{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
}
/* CMS：レスポンシブ画像用 */
.text img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}
/* /CMS：レスポンシブ画像用 */
/*youtube*/
.youtube {
 	position: relative;
    padding-bottom: 55.8%;
    padding-top: 0px;
    height: 0;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
	max-width:1100px;
}
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
/*googlemap*/
.google-map{
    position: relative;
    padding-bottom: 40%;
    height: 0;
    overflow: hidden;
}
.google-map iframe,
.google-map object,
.google-map embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*font-color*/
.text-main{
	color:#E3002D;
}
.text-orange{
	color:#ee7800;
}
.text-red{
	color:#FF0000;
}
/*バナー設定*/
.bnr{
	transition: opacity 0.3s;
}
.bnr:hover{
	opacity: 0.7;
}
/*黒丸*/
.list-disc li{
	list-style-type: disc;
	list-style-position: inside;
	padding-left: 1em;
  	text-indent: -1em;
}
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-width:1100px){ 
	/*Chromeの時で横幅1100px以上の時*/
	.list-disc li{
		padding-left: 1.3em;
		text-indent: -1.4em;
	}
}
/*別窓：画像*/
.target-img{
	margin-left:5px;
	margin-right:10px;
	vertical-align: 10px;
}
/* ////////////////////////////////////////
アニメ―ション
//////////////////////////////////////// */
.anime-no{
    opacity: 0;
	transition: 0.8s;
	transform:translateY(40px);
}
.anime-no.anime-active{
    opacity: 1;
	transform:translateY(0);
}
/* ////////////////////////////////////////
IEのみ
//////////////////////////////////////// */
@media all and (-ms-high-contrast: none){
    .icon-target:after,.icon-target-white:after{
	   margin-top:-16px;
    }
}
/*ボタン：VIEW MORE*/
.more-btn{
	max-width:246px;
	margin-left:auto;
	margin-right:auto;
}
.more-btn a{
	background-color: #534741;
	color:#fff;
	text-align: center;
	display: block;
	border-radius:40px;
	padding:8px 25px;
	transition: 0.3s;
	border:1px solid transparent;
}
.more-btn a:hover{
	background-color: #fff;
	color: #534741;
	border:1px solid #534741;
}
.more-btn .arrow-right{
    position: relative;
	display: block;
	padding-right:20px;
}
.more-btn .arrow-right:after{
    position: absolute;
    content:'';
    background-image: url(../img/common/arrow-right-w.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    width:35px;
    height:10px;
    top:50%;
    right:0;
    margin-top:-7px;
	transition: 0.3s;
}
.more-btn a:hover .arrow-right:after{
    background-image: url(../img/common/arrow-right-b.png);
}
/*ボタン：VIEW MOREのサイズ大1*/
.more-btn-big1{
	max-width:300px;
}
.more-btn-big1 .arrow-right{
	padding-right:40px;
}
/*other*/
.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;
}
/* 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;
}
.imgblock{
	display: block;
}
.relative{
	position: relative;
}
.invisible{visibility: hidden;}
.hover_op{
	opacity:1;
	transition: 0.8s ease opacity;
}
.hover_op:hover{
	opacity:0.6;
}
/*テキストリンク*/
a.text-link {
  text-decoration: underline;
}
a.text-link:hover{
  text-decoration: none;
}
/*右クリック禁止*/
.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;
}
/*下からふわっと表示*/
.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}
.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
/* ////////////////////////////////////////
PC・印刷時のみ
//////////////////////////////////////// */
@media screen and (min-width:768px) , print{ 
	.sp{display: none;}
	.tab{display: none;}
	.tab-sp{display: none;}
	.wrap{
		width:1140px;
		margin-right:auto;
		margin-left:auto;
	}
	.pc_hidden{overflow: hidden;}
	.pc_f_left{float: left;}
	.pcaligncenter{
		text-align: center;
	}
	/*文字サイズ
	------------------------------*/
    .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-15{
        font-size:0.9375rem;
    }
	.fs-14{
		font-size:0.875rem;
	}
	.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-34{
		 font-size:2.125rem;
	}
	.fs-36{
		 font-size:2.25rem;
	}
	.fs-38{
		 font-size:2.375rem;
	}
	.fs-40{
		 font-size:2.5rem;
	}
	.fs-41{
		 font-size:2.5625rem;
	}
	.fs-45{
		 font-size:2.8125rem;
	}
	.fs-46{
		 font-size:2.875rem;
	}
	.fs-48{
		 font-size:3rem;
	}
	.fs-49{
		 font-size:3.0625rem;
	}
	.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-80{
		 font-size:5rem;
	}
	.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;
	}
}
/*タブレット以下*/
@media screen and (max-width: 1100px){
	.tab{display: block;}
	.tab-pc{display: block;}
	.tab-sp{display: block;}
	.pc{display: none;}
}
/*タブレット用*/
@media screen and (min-width:768px) and (max-width: 1099px) , print{ 
     /*文字サイズ
    -------------------------------*/
    .tab-fs-5{
		font-size:0.3125rem;
    }
    .tab-fs-6{
		font-size:0.375rem;
    }
    .tab-fs-7{
		font-size:0.4375rem;
    }
    .tab-fs-8{
		font-size:0.5rem;
    }
    .tab-fs-9{
		font-size:0.5625rem;
    }
    .tab-fs-10{
		font-size:0.625rem;
    }
    /*12px*/
    .tab-fs-12{
		font-size:0.8rem;
    }
	.tab-fs-13{
		font-size:0.8125rem;
	}
    /*14px*/
    .tab-fs-14{
        font-size:0.875rem;
    }
    /*15px*/
    .tab-fs-15{
        font-size:0.9375rem;
    }
    /*17px*/
    .tab-fs-17{
        font-size:1.0625rem;
    }
    /*18px*/
    .tab-fs-18{
        font-size:1.125rem;
    }
    /*16px*/
    .tab-fs-16{
        font-size:1rem;
    }
    /*19px*/
    .tab-fs-19{
        font-size:19px;
    }
    /*20px*/
    .tab-fs-20{
        font-size:1.25rem;
    }
    /*21px*/
    .tab-fs-21{
        font-size:1.3125rem;
    }
    /*22px*/
    .tab-fs-22{
        font-size:1.375rem;
    }
    /*23px*/
    .tab-fs-23{
        font-size:1.4375rem;
    }
    /*24px*/
    .tab-fs-24{
        font-size:1.5rem;
    }
    /*25px*/
    .tab-fs-25{
        font-size:1.5625rem;
    }
    /*26px*/
    .tab-fs-26{
        font-size:1.625rem;
    }
	.tab-fs-27{
		font-size:1.875rem;
	}
    /*28px*/
    .tab-fs-28{
        font-size:1.75rem;
    }
    .tab-fs-29{
        font-size:1.8125rem;
    }
    /*30px*/
    .tab-fs-30{
        font-size:1.875rem;
    }
    /*32px*/
    .tab-fs-32{
        font-size:2rem;
    }
    /*32px*/
    .tab-fs-33{
        font-size:2.0625rem;
    }
    /*36px*/
    .tab-fs-36{
        font-size:2.25rem;
    }
    /*40px*/
    .tab-fs-40{
        font-size:2.5rem;
    }
    /*45px*/
    .tab-fs-45{
        font-size:2.8125rem;
    }
    /*50px*/
    .tab-fs-50{
        font-size:3.125rem;
    }
    /*50px*/
    .tab-fs-56{
        font-size:3.5rem;
    }
    /*60px*/
    .tab-fs-60{
        font-size:3.75rem;
    }
    /*70px*/
    .tab-fs-70{
        font-size:4.375rem;
    }
}
/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */
@media screen and (max-width: 767px){
    .tab{display: none;}
	.tab-pc{display: none;}
	/*ボタン：VIEW ABOUT*/
	.btn-detail,.btn-detail-w{
		width:184px;
	}
	.btn-detail a .anchor,.btn-detail-w a .anchor{
		padding-bottom:0;
	}
     /*文字サイズ
    -------------------------------*/
    .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;
    }
    /*12px*/
    .sp-fs-12{
		font-size:0.8rem;
    }
	.sp-fs-13{
		font-size:0.8125rem;
	}
    /*14px*/
    .sp-fs-14{
        font-size:0.875rem;
		line-height: 1.78em;
    }
    /*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:1.1875rem;
    }
    /*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;
    }
    /*34px*/
    .sp-fs-34{
        font-size:2.125rem;
    }
    /*36px*/
    .sp-fs-36{
        font-size:2.25rem;
    }
    /*40px*/
    .sp-fs-40{
        font-size:2.5rem;
    }
    .sp-fs-41{
        font-size:2.5525rem;
    }
    /*45px*/
    .sp-fs-45{
        font-size:2.8125rem;
    }
    .sp-fs-48{
        font-size:3rem;
    }
    /*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:before{
		content:"→横スクロールしてご覧ください。";
		color:#7A7A7A;
	}
	.table_box>table{
		width:800px !important;
	}
}
/* ////////////////////////////////////////
SPのみ(小)
//////////////////////////////////////// */
@media screen and (max-width: 360px){
     /*文字サイズ
    -------------------------------*/
    .sm-fs-5{
		font-size:0.3125rem;
    }
    .sm-fs-6{
		font-size:0.375rem;
    }
    .sm-fs-7{
		font-size:0.4375rem;
    }
    .sm-fs-8{
		font-size:0.5rem;
    }
    .sm-fs-9{
		font-size:0.5625rem;
    }
    .sm-fs-10{
		font-size:0.625rem;
    }
    /*12px*/
    .sm-fs-12{
		font-size:0.8rem;
    }
	.sm-fs-13{
		font-size:0.8125rem;
	}
    /*14px*/
    .sm-fs-14{
        font-size:0.875rem;
    }
    /*15px*/
    .sm-fs-15{
        font-size:0.9375rem;
    }
    /*17px*/
    .sm-fs-17{
        font-size:1.0625rem;
    }
    /*18px*/
    .sm-fs-18{
        font-size:1.125rem;
    }
    /*16px*/
    .sm-fs-16{
        font-size:1rem;
    }
    /*19px*/
    .sm-fs-19{
        font-size:19px;
    }
    /*20px*/
    .sm-fs-20{
        font-size:1.25rem;
    }
    /*21px*/
    .sm-fs-21{
        font-size:1.3125rem;
    }
    /*22px*/
    .sm-fs-22{
        font-size:1.375rem;
    }
    /*23px*/
    .sm-fs-23{
        font-size:1.4375rem;
    }
    /*24px*/
    .sm-fs-24{
        font-size:1.5rem;
    }
    /*25px*/
    .sm-fs-25{
        font-size:1.5625rem;
    }
    .sm-fs-28{
        font-size:1.75rem;
    }
    .sm-fs-30{
        font-size:1.875rem;
    }
    .sm-fs-34{
        font-size:2.125rem;
    }
}