*{
	-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: 1em;
	font-weight: 500;
	color: #000;
	width: 100%;
  	min-width: 100%;
  	margin: 0px;
	padding: 0px;
	/*letter-spacing: 0.05em;*/
}


li{
	list-style: none;
}

h1,h2,h3,h4,h5,h6,dl,ul,p,dt,dd,li,figure{
  margin: 0;
  padding: 0;
  color: #000;
}


a{
  outline: none;
  text-decoration: none;
}

.dpnn{
	display: none;
}
.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;
}
#wrapper {
	width: 100%;
	margin: 50px auto 0;
	padding: 0;
}




/*ページトップ*/

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

#footer  a:visited {
	color:#666;
}
#footer  a:hover {
	color:#ccc;
}

.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_l{
	text-align: left;
}

.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.4em;
    font-weight: 700;
    letter-spacing: 0.1em;
	line-height: 1;
}
.mpr{
	font-family: "Zen Maru Gothic", sans-serif;
}
.big2{
	font-size: 1.2em;
	margin-bottom:10px;
}

.big3{
	font-size: 1.3em;
    font-weight: 700;
    letter-spacing: 0.1em;
	line-height: 1;
}
.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;
    webkit-box-pack:justify;
    -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;
    webkit-box-pack:justify;
    -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{
	webkit-box-pack:center;
    -ms-flex-pack:center;
    -webkit-justify-content:center;
    justify-content:center;
}

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


.p_r{
	position: relative;
}


.p_a{
	position: absolute;
}

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




/*以下個別*/

.cont-box{
	width: 90%;
	margin: 0 auto 0%;
}

header{
    position: relative;
    /* background: transparent; */
    top: 0;
    width: 100%;
    height: 32vw;
    z-index: 10;
    padding: 0;
    background: #fff;
}

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

.top{
	padding: 0 0 30px;
}

header h1{
	letter-spacing: 2px;
	width: 270px;
	margin-left: 20px;
	line-height: 1;
}

.sp-header-logo{
	width: 30%;
    position: absolute;
    left: 20%;
    top: 20vw;
    transform: translateY(-50%) translateX(-50%);
    margin: 0;
}

.sp-header-img{	
	width: 60%;
    position: absolute;
    right: 0;
    top: 20%;
    /* transform: translateY(50%) translateX(50%); */
    margin: 0;
}

#wrapper{
	margin-top: 0;
	overflow: hidden;
}
#wrapper2{
	margin-top: 10%;
	overflow: hidden;
}
#wrapper3{
	margin-top: 10%;
}
.genre-tit::before{
	content: '';
    display: block;
    border-top: 2px solid #000;
    margin-top: -29px;
    padding-bottom: 19px;
}
.genre-tit{
	background-image: url(../img/tit-bar.svg);
    background-size: 160%;
    background-position: center top;
    background-repeat: no-repeat;
    text-align: center;
    font-family: 'Zen Maru Gothic';
    font-size: clamp(1.625rem, 0.943rem + 3.41vw, 3.125rem);
    padding: 1.3em 0 0.8em;
    border-bottom: 2px solid #000;
}

.tav-tit::before{
	content: '';
    display: block;
    border-top: 2px solid #000;
    margin-top: -12px;
    padding-bottom: 5px;
}
.tav-tit{
	background-image: url(../img/tit-bar.svg);
    background-size: 160%;
    background-position: center top;
    background-repeat: no-repeat;
    text-align: center;
    font-family: 'Zen Maru Gothic';
    font-size: clamp(1.625rem, 0.943rem + 3.41vw, 3.125rem);
    padding: 0.7em 0 0.4em;
    border-bottom: 2px solid #000;
}

.tav-tit span {
	display: block;
	font-size: clamp(1rem, 0.716rem + 1.42vw, 1.625rem);
}


.genre-btn-wrap {
	margin-bottom: 20%;
}

.tav-cont-wrap {
	margin-bottom: 20%;
}
.tav-cont-wrap figure img {
	border-radius: 2vw;
}
.tav-cont-wrap dt {
	margin-bottom: 4%;
}
.tav-cont-wrap dd {
	margin-bottom: 15%;
}
.tav-btnn,.tav-btnn2,.tav-btnn3,.tav-btnn4,.tav-btnn5,.tav-btnn6,.tav-btnn7,.tav-btnn8,.tav-btnn9,.tav-btnn10,.tav-btnn11,.tav-btnn12 {
	font-size: clamp(1rem, 0.545rem + 2.27vw, 2rem);
    font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;
	text-align: center;
	margin-bottom: 10%;
}
.tav-btnn a,.tav-btnn2 a,.tav-btnn3 a,.tav-btnn4 a,.tav-btnn5 a,.tav-btnn6 a,.tav-btnn7 a,.tav-btnn8 a,.tav-btnn9 a,.tav-btnn10 a,.tav-btnn11 a,.tav-btnn12 a {
	display: block;
	position: relative;
	border-radius: 9999px;
	background: #b5caa0;
	padding: 2.5vw 0;
}

.tav-btnn a::after,.tav-btnn2 a::after,.tav-btnn3 a::after,.tav-btnn4 a::after,.tav-btnn5 a::after,.tav-btnn6 a::after,.tav-btnn7 a::after,.tav-btnn8 a::after,.tav-btnn9 a::after,.tav-btnn10 a::after,.tav-btnn11 a::after,.tav-btnn12 a::after {
    content: "";
    display: block;
    width: 4.5vw;
    height:4.5vw;
    position: absolute;
    background: url("../img/tab.svg") no-repeat center center / cover;
    top: 50%;
    right: 10%;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/kosaka-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn2 a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/kamikoani-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn3 a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/fujisato-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn4 a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/mitane-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn5 a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/happo-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn6 a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/gojome-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn7 a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/hachirogata-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn8 a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/ikawa-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn9 a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/ogata-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn10 a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/misato-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn11 a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/ugo-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btnn12 a::before {
    content: "";
    display: block;
    width: 16vw;
    height:16vw;
    position: absolute;
    background: url("../img/higashinaruse-mark.png") no-repeat center center / cover;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.tav-btn2 {
	font-size: clamp(1rem, 0.545rem + 2.27vw, 2rem);
    font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;
	text-align: center;
	margin-bottom: 10%;
}
.tav-btn2 a {
	display: block;
	position: relative;
	border-radius: 9999px;
	background: #b5caa0;
	padding: 2.5vw 0;
}

.tav-btn2 a::after {
    content: "";
    display: block;
    width: 4.5vw;
    height:4.5vw;
    position: absolute;
    background: url("../img/tab.svg") no-repeat center center / cover;
    top: 50%;
    right: 7%;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}


.tav-btn3 {
	font-size: clamp(1rem, 0.545rem + 2.27vw, 2rem);
    font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;
	text-align: center;
	margin-bottom: 10%;
}
.tav-btn3 a {
	display: block;
	position: relative;
	border-radius: 9999px;
	background: #b5caa0;
	padding: 2.5vw 0;
}

.tav-btn3 a::after {
    content: "";
    display: block;
    width: 6.5vw;
    height:6.5vw;
    position: absolute;
    background: url("../img/pin.svg") no-repeat center center / cover;
    top: 50%;
    left: 10%;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}
.main-slide/*,.visual*/ {
	pointer-events: none;
}

.slick-prev
{
    left: 2vw;
	z-index: 99;
}
.slick-next
{
    right: 2vw;
}
.slick-prev,.slick-next{
    width: 40px;
    height: 40px;
}
.slick-prev:before, .slick-next:before {
	font-family: 'slick';
    color: #fff;
    opacity: 0.8;/*デフォルトは.75が指定されている*/
	 font-size: 5vw;/*少し大きくする*/
}


.spot-btn {
	display: block;
    font-size: clamp(1.25rem, 0.398rem + 4.26vw, 3.125rem);
    font-weight: 700;
    position: relative;
    line-height: 1.3;
	padding-top: 0.05em;
}
.spot-btn::after {
	content: "";
    display: block;
    width: 2.2em;
    height: 2.2em;
    position: absolute;
    background: url(../img/arrow5.svg) no-repeat center center / cover;
    top: 0;
    right: 0;
}

.spot-btn span {
	display: block;
	font-size: clamp(0.75rem, 0.409rem + 1.7vw, 1.5rem);
	line-height: 1.5;
}

.spot-spec dl {
}

.spot-spec dt {
	background: #b5caa0;
    padding: 0.25em 0;
    text-align: center;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: clamp(0.875rem, 0.42rem + 2.27vw, 1.875rem);
	margin-bottom: 3%;
}
.spot-spec dd {
    text-align: center;
	font-size: clamp(0.875rem, 0.42rem + 2.27vw, 1.875rem);
	margin-bottom: 10%;
}

.spot-spec dd:last-child {
	margin-bottom: 20%;
}


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

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

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

.openbtn6{
  position: relative;/*ボタン内側の基点となるためrelativeを指定*/
  background:#DBB82E;
  cursor: pointer;
    width: 50px;
    height:50px;
  border-radius: 5px;
}

/*ボタン内側*/
.openbtn6 span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
  background: #fff;
  }


.openbtn6 span:nth-of-type(1) {
  top:15px; 
    width: 45%;
}

.openbtn6 span:nth-of-type(2) {
  top:23px;
    width: 35%;
}

.openbtn6 span:nth-of-type(3) {
  top:31px;
    width: 20%;
}

/*activeクラスが付与されると線が回転して×になる*/

.openbtn6.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-135deg);
    width: 30%;
}

.openbtn6.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn6.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(135deg);
    width: 30%;
}




.fullscreenmenu{
	width: 50px;
	height: 50px;
}

.menu span {
	display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 2px;
    /* border-radius: 2px; */
    background: #000;
}

.menu{
/*    position: fixed;
    top: 0;
    right:  0;
    width: 50px;
    height: 50px;
    z-index: 100000;
    cursor: pointer;
    padding: 0;
    background: transparent;
    transition: all 0.3s ease-out;*/
	position: absolute;
	top: 1.5em;
    right: 5%;
	background: #b5caa0;
	cursor: pointer;
	z-index: 100000;
    width: 50px;
    height:50px;
}

.menu .bar{
/*    position: absolute;
    left: 50%;
    width: 50%;
    height: 2px;
    background-color: #000;
    z-index: 10;
    transform: translate3d(-50%,-4px,0);
	-webkit-transform: translate3d(-50%,-4px,0);*/

}


.menu .menu-txt{
	font-size: 0.5em;
	color: #fff;
	position: absolute;
	left: 50%;
	transform: translate3d(-50%,-4px,0);
	-webkit-transform: translate3d(-50%,-4px,0);
}

.menu span:nth-of-type(1) {
  top:15px; 
    width: 45%;
}

.menu span:nth-of-type(2) {
  top:23px;
    width: 35%;
}

.menu span:nth-of-type(3) {
  top:31px;
    width: 20%;
}
.menu.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-135deg);
    width: 30%;
}

.menu.active span:nth-of-type(2) {
  opacity: 0;
}

.menu.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(135deg);
    width: 30%;
}

#nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
    height: 100vh;
    opacity: 0;
    background-color: #fff;
    transition: all 0.3s ease-in-out;
    visibility:hidden;
}

#nav.active{
    right: 0;
    opacity: 0.95;
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    transform: translateX(0);
    visibility: visible;
    overflow: auto;
    z-index: 10000;
}

#nav ul{
    margin:0 auto;
    padding:2.5vw 0 0;
    width: 90%
}

#nav ul li{
    list-style-type: none;
    margin-bottom: 1vw;
	width: 47%;
}

#nav ul li a{
    display: flex;
    /* justify-content: center; */
    align-items: center;
    position: relative;
    /* width: 300px; */
    height: 40px;
    /* color: #333; */
    font-size: clamp(0.75rem, 0.182rem + 2.84vw, 2rem);
    font-weight: 700;
    text-decoration: none;
    transition: 0.3s;
    text-align: left;
    padding-left: 40px;
}


#nav ul li a::after {
	content: '';
    position: absolute;
    top: 50%;
    left: 10px;
    transform: rotate(45deg) translateY(-50%);
    width: 6px;
    height: 6px;
    border-width: 2px 2px 0 0;
    border-style: solid;
    border-color: #000;
}



.s-tit {
	width: 90%;
    margin: 30px auto 0;
    font-size: clamp(1.125rem, 0.443rem + 3.41vw, 2.625rem);
    font-weight: 700;
}


#nav ul li ul{
	margin: 0;
	padding: 0;
}

#nav .sp-menu-bottom{
	margin-bottom: 20px;
}

#nav ul .sp-menu-bottom>ul{
	padding-left: 10%;
}

#nav ul .sp-menu-bottom>ul a:before{
	content: ">";
	color: #fff;
	margin-right: 5px;
}


.pure-txt{
	position: absolute;
	bottom: 15%;
	left: 50%;
	transform: translate3d(-50%,-4px,0);
	-webkit-transform: translate3d(-50%,-4px,0);
	transition: all 500ms ease-in-out;
	-webkit-transition: all 500ms ease-in-out;
}

#sp-list a{
	color: #fff;
	text-decoration: none;
	text-align: center;
	display: block;
	padding: 10px;
}



.main{
	width: 90%;
    position: relative;
    margin: 0 auto 15%;
}

.main2{
	width: 90%;
    position: relative;
    margin: 0 auto 5%;
}
.main3{
	width: 100%;
    position: relative;
    margin: 0 auto 15%;
}

swiper-container {
      width: 100%;
      height: 100%;
    }

swiper-slide {
      text-align: center;
      font-size: 18px;
      background: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
    }

swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

.swiper-button-next, .swiper-button-prev {
	color: #fff;
}

.flt-btn,.flt-btn2,.flt-btn3{
	width: 100%;
    position: sticky;
    top: 0;
    margin: 18px auto;
    padding: 0 5%;
    /* margin-bottom: 8%; */
    z-index: 200;
    background: #fff;
}

.flt-btn ul,.flt-btn2 ul,.flt-btn3 ul{
	margin: 0;
	width: 100%;
}

.flt-btn li{
	font-size: clamp(0.625rem, 0.227rem + 1.99vw, 1.5rem);
	line-height: 1.2;
	list-style: none;
	width: 30%;
	position: relative;
}

.flt-btn2 li{
	font-size: clamp(0.625rem, 0.227rem + 1.99vw, 1.5rem);
	line-height: 1.2;
	list-style: none;
	width: 47%;
	position: relative;
}

.flt-btn3 li{
	font-size: clamp(0.625rem, 0.227rem + 1.99vw, 1.5rem);
	line-height: 1.2;
	list-style: none;
	width: 23%;
	position: relative;
}

.flt-btn li a,.flt-btn2 li a,.flt-btn3 li a{
	background: #b5caa0;
	/*text-align: center;*/
    text-decoration: none;
    height: 5.2em;
	display: grid;
  place-items: center;
}
.flt-btn li a::after,.flt-btn2 li a::after,.flt-btn3 li a::after {
    content: "";
    display: block;
    width: 3.2vw;
    height:3.2vw;
    position: absolute;
    background: url(../img/arrow3.svg) no-repeat center center / cover;
    top: 50%;
    right: 8px;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}

.flt-btn li a:hover,.flt-btn2 li a:hover,.flt-btn3 li a:hover{
	opacity: 1;
	display: grid;
  place-items: center;
}

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



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

#cont1,#cont2,#cont3,#cont4{
}

#cont1,#genre1,#spot1{
	width: 100%;
}
#genre1 h3 {
	position: relative;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: clamp(1.375rem, 0.75rem + 3.13vw, 2.75rem);
    letter-spacing: 0.05em;
    padding-bottom: 1%;
    margin-bottom: 10%;
}

#genre1 h3::after {
	content: "";
    display: block;
    width: 34px;
    border: 4px solid #b5caa0;
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translate(-50%,-50%);
}

#spot1 h3 {
	position: relative;
	font-size: clamp(1.375rem, 0.75rem + 3.13vw, 2.75rem);
    letter-spacing: 0.05em;
    padding-bottom: 1%;
    margin-bottom: 3%;
}
.cls{
	text-align: center;
	color: red;
	font-size: 0.7em;
	margin-top: -1em;
	margin-bottom: 1em;
}
.cls2{
	color: red;
	font-size: 0.7em;
}
.tav-name {
	display: inline-block;
	border-radius: 9999px;
	background: #b5caa0;
	padding: 0.5em 1em;
	font-size: clamp(0.75rem, 0.239rem + 2.56vw, 1.875rem);
    font-weight: 700;
	line-height: 1;
	margin-bottom: 10%;
}
.spot-txt {
	font-size: clamp(0.875rem, 0.42rem + 2.27vw, 1.875rem);
	line-height: 2;
	margin-bottom: 10%;
	text-align: justify;
}
#genre1 li {
	margin-bottom: 1.5em;
}
#genre1 li a {
  display: flex;
    overflow: hidden;
    position: relative;
    padding: 0 0 0 1em;
    background-color: #fff;
    color: #000;
    font-size: clamp(0.75rem, 0.182rem + 2.84vw, 2rem);
    line-height: 2;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    align-items: center;
    border-radius: 9999px;
    /*gap: 0.75rem;*/
    border: 2px solid #000;
    /* transition: all .6s ease; */
    text-decoration: none;
    height: 3.5em;
}

#genre1 li a span.arrow {
	content: "";
    background: url(../img/arrow4.svg) no-repeat center center / cover;
    background-color: #b5caa0;
    display: grid;
    position: absolute;
    right: 0;
    place-items: center;
    width: 11%;
    height: 100%;
    border-left: 2px solid;
}

#cont1 .main-h2 {
	font-size: clamp(1.625rem, 0.943rem + 3.41vw, 3.125rem);
	letter-spacing: 0.05em;
    margin-bottom: 5%;
    display: inline-block;
    text-align: left;
}
#cont1 .main-txt2{
	line-height: 2;
    font-size: clamp(0.875rem, 0.534rem + 1.7vw, 1.625rem);
	letter-spacing: 0.05em;
    text-align: center;
    font-weight: 700;
	margin-bottom: 17%;
}
#cont1 .main-h3 {
	font-size: clamp(1rem, 0.432rem + 2.84vw, 2.25rem);
    letter-spacing: 0.05em;
    margin-bottom: 10%;
}
#cont1 h4 {
	position: relative;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: clamp(1.25rem, 0.625rem + 3.13vw, 2.625rem);
    letter-spacing: 0.05em;
    padding-bottom: 1%;
    margin-bottom: 20%;
}
#cont1 h4::after {
	content: "";
    display: block;
    width: 34px;
    height: 36.8936px;
    background: url(../img/arrow.png) no-repeat center center / cover;
    position: absolute;
    bottom: -130%;
    left: 50%;
    transform: translate(-50%,0);
}
#cont1 figure {
	margin-bottom: 20%;
}
#cont1 h5 {
	font-size: clamp(1.25rem, 0.625rem + 3.13vw, 2.625rem);
    font-weight: 700;
    margin-bottom: 1em;
    letter-spacing: 0.05em;
}

.btn-wrap {
	width: 100%;
	background: #b5caa0;
	padding: 5%;
}
.btn {
	width: 47%;
	font-size: 0.7em;
	box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .5);
}

.btn a {
    display: block;
    background: #055902;
    color: #fff;
    text-align: center;
    padding: 1em 0;
    text-decoration: none;
    font-size: clamp(0.75rem, 0.239rem + 2.56vw, 1.875rem);
    font-weight: 600;
    letter-spacing: 1px;
    position: relative;
    transition: 0.3s ease;
}
.btn a::after {
    content: "";
    display: block;
    width: 4vw;
    height: 4vw;
    position: absolute;
    background: url(../img/arrow2.svg) no-repeat center center / cover;
    top: 50%;
    right: 4vw;
    transform: translate(0,-50%);
    transition: 0.3s ease;
}


#cont2{
	background: #b5caa0;
}

#cont2 p{
	font-size: clamp(0.875rem, 0.534rem + 1.7vw, 1.625rem);
}

.shapedividers_com-2747{
	/*overflow:hidden;*/
	position:relative;
	margin-top: 30%;
    height: 120px;
}
.shapedividers_com-2747::before{
content:'';
font-family:'shape divider from ShapeDividers.com';
position: absolute;
bottom: -1px;
left: -1px;
right: -1px;
top: -1px;
z-index: 3;
pointer-events: none;
background-repeat: no-repeat; 
background-size: 142% 63px;
background-position: 50% 0%;    
background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M 0 1 c 3.17 0.8 7.29 -0.38 10.04 -0.55 c 4.96 -0.45 9.25 1.47 12.67 1.3 c 3.43 -0.17 4.65 -0.84 7.05 -0.87 c 2.4 -0.02 5.52 0.88 5.52 0.88 V 0 H 0 z" fill="%23ffffff"/></svg>'); 
}



.shapedividers_com-2747::after {
	content: "";
    display: block;
    width: 120px;
    height: 136.7742px;
    background: url(../img/lego.png) no-repeat center center / cover;
    position: absolute;
    top: 0;
    right: 5%;
    transform: translate(-50%,-50%);
    z-index: 9;
}

.shapedividers_com-8332{
/*overflow:hidden;*/
	position:relative;
	height: 70px;
    z-index: 9;
	margin-bottom: 20%;
}
.shapedividers_com-8332::before{
content:'';
font-family:'shape divider from ShapeDividers.com';
position: absolute;
bottom: -1px;
left: -1px;
right: -1px;
top: -1px;
z-index: 3;
pointer-events: none;
background-repeat: no-repeat; 
background-size: 145% 63px;
background-position: 50% 100%;    
background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M 35.28 1.16 c -3.17 -0.8 -6.28 0.84 -10.28 0.84 c -2.76 0.17 -8.24 -1.72 -12.68 -1.3 c -3.42 0.16 -3.32 0.3 -7.04 0.86 C 3 2 0 1 0 0.4 v 1.77 h 35.28 z" fill="%23ffffff"/></svg>'); 
}

.shapedividers_com-8332::after {
	content: "";
    display: block;
    width: 120px;
    height: 76.8595px;
    background: url(../img/ww.png) no-repeat center center / cover;
    position: absolute;
    top: 55%;
    left: 25%;
    transform: translate(-50%,-50%);
    z-index: 15;
}


#cont2 h6,#cont3 h6 {
	font-size: clamp(1.5rem, 0.761rem + 3.69vw, 3.125rem);
    margin-bottom: 1em;
    letter-spacing: 0.05em;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;

} 
span.marker {
	background: linear-gradient(transparent 70%, #fff 70%);
}
span.marker2 {
	background: linear-gradient(transparent 70%, #b5caa0 70%);
}

.mm-wrap {
	width: 100%;
}
.mm-wrap li {
	width: 28%;
	margin-bottom: 8%;
}
.mm-wrap a {
	text-decoration: none;
}
.mm-wrap a p {
    background: #fff;
    text-align: center;
    padding: 0.4em 0;
    margin-top: 0.6em;
    border-radius: 9999px;
	font-weight: 700;
}


.genre-wrap {
	width: 80%;
	margin: 0 auto 10%;
}
.genre-wrap li {
	width: 45%;
	margin-bottom: 8%;
}
.ft-wrap {
	display: inline-block;
	text-align: left;
	font-size: clamp(0.75rem, 0.466rem + 1.42vw, 1.375rem);
	margin: 5% 0;
}
footer figure {
	width: 60%;
	margin: 10% auto 5%;
}

#sp-fixed-menu{
	position: fixed;
    width: 100%;
    bottom: 0px;
    /* font-size: 0; */
    /* opacity: 0.9; */
    z-index: 9999;
}


#sp-fixed-menu ul{
   display: flex;
   /*list-style: none;
   padding:0;
   margin:0;
   width:100%;*/
}

#sp-fixed-menu li{
   justify-content: center;
   align-items: center;
   width: 100%;
   padding:0;
   margin:0;
   border-right: 2px solid #000;
	background: #b5caa0;
	font-size: clamp(0.875rem, 0.648rem + 1.14vw, 1.375rem);
	font-weight: 700;
}
#sp-fixed-menu li:last-child{
	border: none;
}


#sp-fixed-menu li a{
   color: #000;
	text-decoration: none;
   text-align: center;
   display:block;
   width: 100%;
   padding:0.8em;
}



#cont3{
	background: url(../img/back3.jpg) no-repeat center center;
	background-size: cover;
}


#cont4{
	background: url(../img/back4.jpg) no-repeat center center;
	background-size: cover;
}


footer{
	padding: 10px 0;
	background: #fff;
	text-align: center;
	margin-bottom: 20%;
}


address{
	font-size: clamp(0.625rem, 0.398rem + 1.14vw, 1.125rem);
	font-weight: 400;
	letter-spacing: 1px;
	text-align: center;
	font-style: normal;
	color: #000;
}



#pagetop{
	width: 70px;
}



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

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


	img{
		width: 100%;
	}

	.sp-img{
		width: 100%;
	}


	.main img{
		width: 100%;
	}


	.header-logo img,.rec-area .txt p,.yuugu > p,.health > div,.ft-logo{
		width: 100%;
	}


}