*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

body{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 0.9em;
	font-weight: 400;
	color: #000;
	width: 100%;
  	min-width: 100%;
  	margin: 0px;
	padding: 0px;
	/*letter-spacing: 0.05em;*/
}

li{
	list-style: none;
}

h1,h2,h3,h4,dl,ul,p,dt,dd,li{
  margin: 0;
  padding: 0;
  color: #1a1a1a;
  line-height: 2;
}

h2{
	font-weight: normal;
	font-size: 1.2em;
}

a{
  outline: none;
  color: #160d0a;
}

.w100 {
	width:100%;
	z-index: 9999;
	margin-top: -1em;
	margin-bottom: 5%;
}
.asterisk {
	padding-left: 1rem;
	line-height: 1.5em;
    margin-bottom: 20px;
	margin-top: -20px;
	font-size: 0.9em;
}

.asterisk::before {
  content: "※";
  margin-left: -1rem;
}

.pc-bl {
  display: block;
}

.pc-nn,.slick-slide .pc-nn{
  display: none;
}

#top {
	float: right;
	width: 113px;
	clear: right;
}

#txt_link {
	text-align: center;
	clear: left;
	float: left;
	width: 760px;
	margin-top: 15px;
	font-size: 90%;
	line-height: 140%;
	color: #584533;
}

img {
	margin: 0px;
	padding: 0px;
	border: 0;
	vertical-align: bottom;
	width: 100%;
	height: auto;
}



.rd{
	color: #d34254;
}

.gr{
	color: #cedbd2;
}


body {
	margin-top: 0px;
	margin-left: 0px;
	margin-bottom: 0px;
	position: relative;
}
#wrapper {
	width: 100%;
	margin: 50px auto 0;
	padding: 0;
	font-size: clamp(11px, 3vw, 16px);
}




/*ページトップ*/

.txt-s {
	font-size: 70%;
	line-height: 120%;
}
.txt-m {
	font-size: 80%;
	line-height: 140%;
}
.txt-l {
	font-size: 100%;
	line-height: 160%;
}
.ind {
	text-indent: -1em;
	padding-left: 1em;
}

.ind2{
	text-indent: -6em;
	padding-left: 6em;
}

.ind3{
	text-indent: -7em;
	padding-left: 7em;
}

.ind4{
	text-indent: -0.85em;
	padding-left: 0.85em;
}

.ta_c{
	text-align: center;
}

.ta_r{
	text-align: right;
}

.mt_10{
	margin-top: 10px;
}

.mt_20{
	margin-top: 20px;
}

.mt_30{
	margin-top: 30px;
}

.mt_50{
	margin-top: 50px;
}

.mt_70{
	margin-top: 70px;
}

.mt_80{
	margin-top: 80px;
}

.mt_100{
	margin-top: 100px;
}

.mt_150{
	margin-top: 150px;
}

.mt_200{
	margin-top: 200px;
}

.mb_20{
	margin-bottom: 20px;
}

.mb_30{
	margin-bottom: 30px;
}

.mb_50{
	margin-bottom: 50px;
}

.mb_100{
	margin-bottom: 50px;
}

.mr_10{
	margin-right: 10px;
}

.mr_20{
	margin-right: 20px;
}

.mr_30{
	margin-right: 30px;
}

.mr_50{
	margin-right: 50px;
}

.mr_100{
	margin-right: 100px;
}

.mr_200{
	margin-right: 200px;
}

.mr_250{
	margin-right: 250px;
}

.mr_280{
	margin-right: 280px;
}

.ml_10{
	margin-left: 10px;
}

.ml_20{
	margin-left: 20px;
}

.ml_30{
	margin-left: 30px;
}

.ml_50{
	margin-left: 50px;
}

.ml_60{
	margin-left: 60px;
}

.ml_100{
	margin-left: 100px;
}

.ml_150{
	margin-left: 100px;
}

.ml_210{
	margin-left: 210px;
}

.ml_300{
	margin-left: 300px;
}

.pt_20{
	padding-top: 20px;
}

.pt_30{
	padding-top: 30px;
}

.pt_50{
	padding-top: 50px;
}

.pt_100{
	padding-top: 100px;
}

.pt_200{
	padding-top: 200px;
}

.pb_20{
	padding-bottom: 20px;
}

.pb_50{
	padding-bottom: 50px;
}

.pb_100{
	padding-bottom: 100px;
}

.pl_20{
	padding-left: 20px;
}

.txt_box{
	padding: 0 15px;
}

.lh-1{
	line-height: 1.5;
}

.big{
	font-size: 1.6em;
	font-weight: bold;
}

.big2{
	font-size: 1.2em;
	margin-bottom:10px;
}

.small{
	font-size: 0.7em;
}

.small2{
	font-size: 0.8em;
}
.mdl {
	font-size: 0.9em;
}


.mb_10{
	padding-bottom: 10px;
}
.mb_30 {
	margin-bottom: 30px;
}
.mb_40 {
	margin-bottom: 40px;
}

.w-860{
	width: 860px;
	margin: 0 auto;
}

.flex1{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}

.flex2{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    margin: auto;
    -webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.flex3{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-pack: distribute;
	justify-content: space-around;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}

.flex4{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-pack:justify;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.flex5{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.flex6{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.as_c{
	align-self: center;
	-ms-flex-flex-item-align: center;
	-webkit-align-self: center;
}

.jc_c{
    -ms-flex-pack:center;
    -webkit-justify-content:center;
    justify-content:center;
}

.as_fe{
	-ms-flex-item-align: end;
	align-self: flex-end;
}

img{
	vertical-align: bottom;
}

.p_r{
	position: relative;
}


.p_a{
	position: absolute;
}

.ind{
	text-indent: -1em;
	padding-left: 1em;
}




/*以下個別*/

.cont-box{
	max-width: 1440px;
	width: 70%;
	margin: 0 auto;
}

header{
	position: absolute;
	background: transparent;
	top: 0;
	width: 100%;
	height: 50px;
	z-index: 990;
	padding: 0;
}

header a,footer a{
	text-decoration: none;
}


#wrapper{
	margin-top: 0;
	overflow: hidden;
}


.h-sml{
	font-size: 14px;
}

.h-big{
	font-size: 30px;
}

button {
	border: none;
	background: none;
	outline:none;
}


header div{
	width: 140px;
	position: absolute;
	top: 20px;
	right: 20px;
}

header div p{
	width: 55px;
}


.main{
	width: 100%;
    position: relative;
	background: #000;
}

.main-slide img{
	object-fit: cover;
	width: 100%;
	margin: 0 auto;
}


.main h2{
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-size: 3em;
	font-weight: 900;
	letter-spacing: 5px;
	max-width: 800px;
	width: 100%;
	margin: -120px auto 0;
	z-index: 100;
	display: block;
}

.main-tit{
	width: 150px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

.main-time{
	position: absolute;
	top: 80%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	font-size: 1em;
}

.main-time p{
	color: #fff;
	font-size: 1.2em;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.1em;
}


#cont1{
	padding: 100px 0;
	background:  url(../img/intro-back-sheet.png) no-repeat center center / cover;
	position: relative;
}

.intro{
	position: relative;
}

.intro p{
	font-weight: 900;
	font-size: 1.2em;
	margin-bottom: 40px;
	letter-spacing: 6px;
	line-height: 1.8;
}

.intro p:nth-last-of-type(1){
	margin-bottom: 0;
}


.intr-img1 p,.intr-img2 p{
	position: absolute;
}

.intr-img-box1{
	width: 17%;
	right: 17%;
	top: -50px;
}

.intr-img-box2{
	width: 17%;
	right: -3%;
	top: -50px;
}

.intr-img-box3{
	width: 17%;
	right: 7%;
	top: -14%;
	transform: translate(0,100%);
}

.intr-img-box4{
	width: 23%;
	right: 43%;
	bottom: 0;
}

.intr-img-box5{
	width: 8%;
	left: 0;
	top: 13%;
}

.intr-img-box6{
	width: 10%;
	left: 0;
	top: 51%;
}



#cont2{
	padding: 100px 0;
	position: relative;
}

.news{
	width: 680px;
	margin: 0 auto;
}

.news-sub {
	width: 23%;
	align-self: center;
}

.news dl{
	width: 70%;
	font-size: 1em;
	font-weight: 600;
	letter-spacing: 3px;
}

.news dt{
	width: 30%;
	margin-bottom: 20px;
}

.news dd{
	width: 65%;
	margin-bottom: 20px;
}

.news-back p{
	position: absolute;
}

.news-back-box1{
	width: 6%;
	right: 5%;
	top: -30%;
}

.news-back-box2{
	width: 10%;
	left: 5%;
	bottom: -10%;
}

.news-back-box3{
	width: 13%;
	left: 18%;
	bottom: -60%;
}


#cont3{
	padding: 100px 0;
	position: relative;
}

.feat-back{
	position: absolute;
	width: 150px;
	top: 1%;
	right: 20%;
}

.item-area{
	margin-top: 100px;
}


.item-tit{
	text-align: center;
	position: relative;
	letter-spacing: 0.1em;
}

.item-tit::before{
	content: "";
	display: block;
	width: 120px;
	height: 50px;
	position: absolute;
	background: url(../img/tit-deco.png) no-repeat center center / cover;
	top: -5px;
	left: 50%;
	transform: translate(-50%,-100%);
}

.item-tit h3,.item-tit p{
	font-weight: 900;
}

.item-tit h3{
	font-size: 2em;
}

.item-tit p{
	font-size: 1em;
}

.item-area>p{
	font-size: 1em;
	text-align: center;
	line-height: 1.8;
	font-weight: 500;
	margin: 20px 0 30px;
}

.item-box::after{
	content: "";
	display: block;
	width: 29%;
}

.item-box figure{
	width: 29%;
	margin: 0;
	margin-bottom: 7%;
}








footer{
	padding: 40px 0;
	background: #fff;
	position: relative;
}

footer .cont-box{
	position: relative;
}

.foot-logo{
	position: absolute;
	width: 10%;
	left: 15%;
	top: -10%;
}

.foot-cont{
	text-align: center;
	font-weight: 600;
}

.foot-cont p{
	margin-bottom: 10px;
}

.foot-icon{
	width: 140px;
	margin: 50px auto;
}

.foot-icon p{
	width: 40%;
}

address{
	font-style: normal;
	text-align: center;
	font-size: 0.7em;
	font-weight: 600;
	letter-spacing: 4px;
}

.foot-back{
	width: 12%;
	position: absolute;
	left: 0;
	top: 20%;

}


#pagetop{
	width: 50px;
	position: fixed;
	bottom: 2%;
	right: 2%;
}






@media screen and (max-width:1440px){
	.intr-img-box1{
		width: 20%;
		right: 15%;
		top: -50px;
	}
	
	.intr-img-box2{
		width: 20%;
		right: -8%;
		top: -50px;
	}
	
	.intr-img-box3{
		width: 20%;
		right: 4%;
		top: -15%;
	}
	
	.intr-img-box4{
		width: 20%;
		right: 40%;
		bottom: 0;
	}
	
	.intr-img-box5{
		width: 10%;
		left: 0;
		top: 50px;
	}
	
	.intr-img-box6{
		width: 13%;
		left: 0;
		top: 40%;
	}

	.news-back-box2{
		width: 12%;
		left: 5%;
		bottom: -10%;
	}
	
	.news-back-box3{
		width: 18%;
		left: 15%;
		bottom: -60%;
	}
}




@media screen and (max-width:1000px){
	.sp-bl,.slick-slide .sp-bl{
		display: block;
	}

	.sp-nn{
		display: none!important;
	}

	p,li,dt,dd,td,th,a{
		
	}

	p{
		line-height: 1.6;
	}

	h2{
		font-size: 1em;
	}

	img{
		width: 100%;
	}

	.sp-img{
		width: 100%;
	}
	
	#wrapper{
		font-size: 4vw;
	}


	.cont-box{
		width: 90%;
	}

	.main h2{
		font-size: 1.5em;
		width: 90%;
		margin-top: -80px;
		line-height: 1.6;
	}

	.main img{
		width: 100%;
	}

	header div{
		width: 80px;
	}

	header div p{
		width: 40%;
	}

	.main-tit{
		width: 20%;
	}

	.main-time{
		width: 70%;
	}

	.main-time p{
		font-size: 1em;
	}

	#cont1{
		padding: 60% 0 20%;
	}

	.intr-img-box1{
		top: -55%;
		right: 30%;
	}

	.intr-img-box2{
		top: -55%;
		right: 5%;
	}

	.intr-img-box3{
		top: -55%;
		right: 17.5%;
	}

	.intr-img-box4{
		top: 52%;
		right: 0%;
		width: 26%;
	}

	.intr-img-box6{
		top: 56%;
		right: 0%;
		width: 25%;
	}

	.intro p{
		text-align: center;
		margin-bottom: 5%;
		font-size: 1em;
	}

	#cont2{
		padding: 10% 0;
	}

	.news,.news dl{
		width: 100%;
	}

	.news p{
		width: 100%;
		margin-bottom: 5%;
	}

	.news dt{
		width: 25%;
		letter-spacing: 0;
	}

	.news dd{
		width: 70%;
		letter-spacing: 0;
	}

	.news-back-box1{
		width: 12%;
		top: -20%;
	}

	.news-back-box2{
		left: -3%;
		width: 20%;
		bottom: -15%;
	}

	.news-back-box3{
		left: 5%;
		bottom: -45%;
		width: 25%;
	}

	#cont3{
		padding-top: 10%;
		padding-bottom: 10%;
	}

	.feat-back{
		width: 15%;
		right: 0;
		top: 1%;
	}
	
	.item-tit::before{
		width: 20%;
		height: 7.8vw;
		background: url(../img/tit-deco.png) no-repeat center center / contain;
	}

	.item-area{
		margin-top: 40%;
	}

	.item-tit h3{
		font-size: 1.3em;
	}

	.item-area > p{
		text-align: left;
		margin-bottom: 5%;
	}

	.item-box figure{
		display: flex;
		justify-content: center;
		align-items: center;
		flex: 0 0 45%;
		width: 45%;
		margin-bottom: 10%;
	}

	.item-box figure:nth-child(2n+1):last-child{
		flex: 0 0 45%;
		margin: auto;
	}

	.item-box::after{
		display: none;
	}

	footer{
		padding: 20% 0 5%;
	}

	.foot-logo{
		width: 16%;
		top: -10%;
		left: 50%;
		transform: translate(-50%,-100%);
	}

	.foot-cont{
		width: 100%;
		font-size: 0.8em;
	}

	.foot-icon{
		width: 25%;
		margin: 10% auto;
	}

	.foot-icon p{
		width: 40%;
	}

	address{
		font-size: 0.5em;
		letter-spacing: 1px;
	}

	.foot-back{
		width: 18%;
		top: 0;
	}

	#pagetop{
		width: 40px;
	}


}