@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;
    overscroll-behavior: none;
	color:#3D3D3D;
}
.clear{
	clear:both;
}
.lh-1-5{
	line-height: 1.5em;
}
/*スライドの青い線消す*/
.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;
}
.din-regular{
	font-family: din-2014, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.din-demi{
	font-family: din-2014,sans-serif;
	font-weight: 600;
	font-style: normal;
}
.din-bold{
	font-family: din-2014, sans-serif;
	font-weight: 700;
	font-style: normal;
}
.chiaro{
	font-family: fot-chiaro-std, sans-serif;
	font-weight: 700;
	font-style: normal;	
}
/* CMS：レスポンシブ画像用 */
.detail-section img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}
/* /CMS：レスポンシブ画像用 */
/*youtube*/
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
/*font-color*/
.text-main{
	color:#9d2480;
}
.text-red{
	color:#FF0000;
}
.text-town{
	color:#FF3E55;
}
.text-green{
	color:#14ADAD;
}
/*バナー設定*/
.bnr{
	transition: opacity 0.3s;
}
.bnr:hover{
	opacity: 0.7;
}
/*黒丸：内側に入れる*/
.list-disc li,.wysiwyg li{/*
	list-style-type: disc;
	list-style-position: inside;*/
	padding-left:18px;/*
	padding-left: 1em;
  	text-indent: -1em;*/
	position: relative;
}
.list-disc li:before,.wysiwyg li:before{
	position: absolute;
	top:0.7em;
	left:5px;
	content:'';
	background-color: #3D3D3D;
	width:5px;
	height:5px;
	border-radius:5px;
}
/*別窓：画像*/
.target-img{
	margin-left:5px;
	margin-right:10px;
	vertical-align: 2px;
}
/* ////////////////////////////////////////
IEのみ
//////////////////////////////////////// */
@media all and (-ms-high-contrast: none){
    .icon-target:after,.icon-target-white:after{
	   margin-top:-16px;
    }
}
/*ボタン：VIEW MORE*/
.more-btn a{
	background-color: #0C9EC6;
	color:#fff;
	text-align: center;
	display: block;
	border-radius:100px;
	padding:12px 25px;
	transition: 0.3s;
	border:1px solid transparent;
}
.more-btn a:hover{
	background-color: #fff;
	color: #0C9EC6;
	border:1px solid #0C9EC6;
}
.more-btn .arrow-right{
	padding:0 12%;
    position: relative;
	display: block;
    background-image: url("../img/index/arrow2-w.png");
	background-size: 14px 10px;
	background-repeat: no-repeat;
	background-position: right 7% center;
}
.more-btn a:hover .arrow-right{
    background-image: url("../img/index/arrow2-b.png");
}
/*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);
}
.Yugo-medium{
    font-weight: 500;
}
.title-l-height{
	line-height:1.6em;
	letter-spacing:-0.08em;
}
/* ////////////////////////////////////////
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:1.75rem;
	}
	.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-68{
		 font-size:4.25rem;
	}
	.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;
    }
    /*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;
    }
    /*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;
    }
}