@charset "UTF-8";
/*--------------------TOPページ--------------------*/



/*-----mv-----*/
.mv {
    background: url(../img/mv.jpg) center top / cover no-repeat;
    width: 100%;
    height: 0;
    padding-top: 50%;
    position: relative;
}
h1.mvTxt {
    position: absolute;
    width: 23%;
    height: auto;
    top: 14%;
    left: 50%;
    max-width: 600px;
    min-width: 300px;
    transform: translate(-50%);
}

@media all and (min-width:768px){
	
}
@media all and (max-width:767px){
	.mv {
	    background: url(../img/mv_sp.jpg) center bottom / cover no-repeat;
	    padding-top: 150%;
	    height: 0;
	}
	h1.mvTxt {
	    width: 60%;
	    max-width: 720px;
	    min-width: 300px;
	}
}
@media all and (max-width:370px){
	
}


/*----- intro -----*/
.intro {
	background-color: #fff9e5;
	position: relative;
	z-index: 2;
	top: -50px;
	padding-bottom: 130px;
}
.intro::before {
    content: '';
    background: url(../img/nami_bg.svg) center bottom / auto 99.6% repeat-x;
    width: 100%;
    height: 50px;
    top: -50px;
    position: absolute;
}
.intro .inner{
	position: relative;
	width: 1120px;
}
/*.intro .inner::before {
    content: '';
    background: url(../img/intro_01.png) center / auto 100% no-repeat;
    width: 343px;
    height: 476px;
    position: absolute;
    top: -100px;
    left: -100px;
}
.intro .inner::after {
    content: '';
    background: url(../img/intro_02.png) center / auto 100% no-repeat;
    width: 390px;
    height: 476px;
    position: absolute;
    top: -100px;
    right: -100px;
}*/
.intro_h2{
	font-size: 40px;
	font-weight: 500;
	color: #ff6302;
	/*text-align: center;*/
	margin-top: 30px;
}
.intro_h2sub {
    font-size: 24px;
    /* text-align: center; */
    line-height: 1.4;
    margin-top: 33px;
}
.map{
	position: absolute;
	width: 500px;
	height: auto;
	right: 0;
	top: 0;
}
.intro_txt {
    font-size: 14px;
    line-height: 2.5;
    /* text-align: center; */
    margin-top: 30px;
}
.intor_img01{
	width: 582px;
	height: auto;
	margin-top: 50px;
}
@media all and (min-width:768px){}
@media all and (max-width:767px){
	.intro {
	    top: -20px;
	    padding-bottom: 60px;
	}
	.sec.intro {
	    padding-top: 5%;
	}
	.intro::before {
	    background: url(../img/nami_bg.svg) center bottom / auto 20px repeat-x;
	    height: 20px;
	    top: -19px;
	}
	.intro .inner{
		width: auto;
	}
	.map {
	    position: relative;
	    width: auto;
	    height: auto;
	    right: auto;
	    top: auto;
	    max-width: 75%;
	    margin: 35px auto 0;
	    display: block;
	}
	.intro_h2 {
	    font-size: 25px;
	    font-weight: 500;
	    margin-top: 0;
	    letter-spacing: 0.1em;
	    text-align: center;
	    line-height: 1.5;
	}
	.intro_h2sub {
	    font-size: 17px;
	    text-align: center;
	    line-height: 1.5;
	    margin-top: 12px;
	    letter-spacing: 0;
	}
	.intro_txt {
	    font-size: 14px;
	    line-height: 1.83;
	    text-align: justify;
	    margin-top: 10px;
	}
	.intor_img01 {
	    width: 100%;
	    height: auto;
	    margin-top: 30px;
	}
}
@media all and (max-width:370px){}



/*-----共通-----*/
.sec_h2{
	font-size: 40px;
	font-weight: 500;
	color: #ff6302;
	text-align: center;
	position: relative;
	padding-top: 60px;
	margin-bottom: 100px;
}
.sec_h2::before{
	content: '';
    background: url(../img/ino_ico.svg) center / auto 100% no-repeat;
    width: 66px;
    height: 40px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}
@media all and (min-width:768px){}
@media all and (max-width:767px){
	.sec_h2 {
	    font-size: 25px;
	    padding-top: 35px;
	    margin-bottom: 40px;
	}
	.sec_h2::before {
	    width: 40px;
	    height: 23px;
	}
}
@media all and (max-width:370px){}


/*-----plan-----*/
/*.plan .inner > div{
	display: flex;
	justify-content: space-between;
}*/
.plan_ttl{
	display: flex;
	align-items: center;
	font-size: 30px;
	line-height: 1.35;
	color: #f89494;
}
.plan .spot{
	background-color: transparent;
}
.right_wrap .plan_ttl{
	color: #22ac38;
}
.plan_ttl img{
	width: 162px;
	margin-right: 20px;
}
.plan_block{
	width: 580px;
	/*background-color: #fff9e5;*/
	border-radius: 20px;
	margin-top: 20px;
	position: relative;
}
.plan_block.plan_01{
	background-color: #fcf6f6;
}
.plan_block.plan_02{
	background-color: #f3f7f4;
}
.plan_block::before{
	content: '';
    width: 100%;
    height: 100%;
    border: 2px solid #f89494;
    border-radius: 20px;
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 1;
}
.right_wrap .plan_block::before{
    border: 2px solid #22ac38;
}
.spot{
	position: relative;
}
.spot_txt{
	font-size: 14px;
	color: #191919;
	line-height: 2.5;
}
.left_wrap .spot01 .spot_txt{
	position: absolute;
	bottom: 65px;
	left: 40px;
}
.left_wrap .spot03 .spot_txt{
	text-align: right;
	position: absolute;
	bottom: 85px;
	right: 40px;
}
.left_wrap .spot04 .spot_txt{
	text-align: right;
	position: absolute;
	bottom: 85px;
	right: 40px;
}
.left_wrap .spot05 .spot_txt{
	text-align: right;
	position: absolute;
	bottom: 160px;
	right: 40px;
}
.right_wrap .spot01 .spot_txt{
	text-align: right;
	position: absolute;
	bottom: 40px;
	right: 40px;
}
.right_wrap .spot02 .spot_txt{
	position: absolute;
	bottom: 25px;
	left: 40px;
}
.right_wrap .spot03 .spot_txt{
	position: absolute;
	bottom: 25px;
	left: 40px;
}
.right_wrap .spot04 .spot_txt{
	text-align: right;
	position: absolute;
	bottom: 25px;
	right: 40px;
}
.right_wrap .spot05 .spot_txt{
	position: absolute;
	bottom: 75px;
	left: 40px;
}

.youtube_btn {
    width: 96%;
    display: block;
    height: auto;
    border-radius: 15px;
    overflow: hidden;
    margin-top: 15px;
    position: relative;
}
.youtube_btn img {
	transform: scale(1);
	filter: saturate(100%) brightness(100%);
	transition: .3s ease;
}
.youtube_btn::before {
    content: '';
    width: 70px;
    height: 70px;
    background: url(../img/play-btn.png) center / contain no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
    transition: .3s ease;
    opacity: 1;
    z-index: 1;
}

@media all and (min-width:768px){

	/*-----plan-----*/
	.plan .inner > div{
		display: flex;
		justify-content: space-between;
	}
	.youtube_btn:hover img {
		transform: scale(1.1);filter: saturate(150%) brightness(110%);
		transition: .3s ease;
	}
	.youtube_btn:hover::before {
	    content: '';
	    width: 70px;
	    height: 70px;
	    background: url(../img/play-btn.png) center / contain no-repeat;
	    position: absolute;
	    top: 50%;
	    left: 50%;
    	opacity: 0.7;
	}
	.fancybox-slide {
	    padding: 8% !important;
	}
}
@media all and (max-width:767px){
	.anchor2{
	  position: absolute;
	  visibility: hidden !important;
	  height: 0px !important;
	  pointer-events: none !important;
	  margin-top: -140px;
	}
	.plan_ttl {
	    font-size: 20px;
	    justify-content: center;
	}
	.plan_ttl img {
	    width: 26%;
	    margin-right: 3%;
	}
	.plan_block {
	    width: 98%;
	    border-radius: 10px;
	}
	.plan_block::before {
	    border: 2px solid #f89494;
	    border-radius: 10px;
	    top: 10px;
	    left: 10px;
	}
	.fancybox-slide {
	    padding: 4% !important;
	}

.spot_txt {
    font-size: 3vw;
    line-height: 1.8;
}
.left_wrap .spot01 .spot_txt {
    bottom: 10%;
    left: 7%;
}
.left_wrap .spot03 .spot_txt {
    text-align: right;
    position: absolute;
    bottom: 8%;
    right: 5%;
}
.left_wrap .spot04 .spot_txt {
    text-align: right;
    position: absolute;
    bottom: 9%;
    right: 3.5%;
}
.left_wrap .spot05 .spot_txt {
    text-align: right;
    position: absolute;
    bottom: 9%;
    right: 4%;
}

.right_wrap {
    margin-top: 14%;
}
.right_wrap .spot01 .spot_txt {
    text-align: right;
    position: absolute;
    bottom: 9%;
    right: 6%;
}
.right_wrap .spot02 .spot_txt {
    position: absolute;
    bottom: 6%;
    left: 9%;
}
.right_wrap .spot03 .spot_txt {
    position: absolute;
    bottom: 9%;
    left: 6%;
}
.right_wrap .spot04 .spot_txt {
    text-align: right;
    position: absolute;
    bottom: 6%;
    right: 4%;
}
.right_wrap .spot05 .spot_txt {
    position: absolute;
    bottom: 7%;
    left: 7%;
}


	.anchor_btnwrap.nonePC {
	    position: fixed;
	    display: flex;
	    justify-content: space-between;
	    top: 0px;
	    transform: translate(-50%, -200px);
	    transition: .3s ease;
	    z-index: 10;
	    /*background: #fff;*/
	    width: 94%;
	    left: 50%;
	}
	.anchor_btnwrap.nonePC a.plan01{
	    border: 2px solid #f89494;
	}
	.anchor_btnwrap.nonePC a.plan02{
	    border: 2px solid #22ac38;
	}
	.anchor_btnwrap.nonePC a {
	    display: flex;
	    flex-direction: column;
	    align-items: center;
	    background-color: transparent;
	    width: calc((100% - 10px) / 2);
	    text-align: center;
	    padding: 2px 5px 5px;
	    font-size: 14px;
	    border: 2px solid transparent;
	    letter-spacing: 0;
	    white-space: nowrap;
	    line-height: 1.2;
	    background-color: rgb(255 255 255 / 90%);
	    border-radius: 10px;
	}
	.anchor_btnwrap.nonePC a img {
	    width: 118px;
	    margin-bottom: 1px;
	}
	body.active .anchor_btnwrap.nonePC {
	    transform: translate(-50%, 10px);
	}
	body.active2 .anchor_btnwrap.nonePC {
	    transform: translate(-50%, 10px);
	}
	body.active .anchor_btnwrap.nonePC .plan01 {
	    background-color: rgb(253 214 214 / 90%);
	}
	body.active2 .anchor_btnwrap.nonePC .plan02,
	body.active.active2 .anchor_btnwrap.nonePC .plan02 {
    	background-color: rgb(192 238 199 / 90%);
	}
	body.active.active2 .anchor_btnwrap.nonePC .plan01{
    	background-color: rgb(255 255 255 / 90%);
	}

}
@media all and (max-width:370px){}

/*-----spot-----*/
.spot{
	background-color: #fff9e5;
}
.spot.sec{
	padding-bottom: 140px;
}
.spat_last.spot.sec{
	padding-bottom: 200px;
}
.spot.bg_w{
	background-color: #fff;
}
.spot_wrap{
	width: 1120px;
	margin-left: auto;
	margin-right: auto;
}
.spot .spot_ttl{
	font-size: 30px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-bottom: 75px;
}
.spot .spot_ttl img{
	width: 80px;
}
.spot .spot_ttl span{
	font-size: 40px;
	margin-left: -0.5em;
}
.spot_wrap > div{
	/*display: flex;
	justify-content: space-between;
	flex-wrap: wrap;*/
}
.spot_block{
	/*width: 500px;*/
	width: 100%;
	display: flex;
	justify-content: space-between;
	/*flex-direction: column;*/
	align-items: center;
	position: relative;
}
.spot_block .spot_img{
	position: relative;
	display: block;
}
.spot_block .spot_img::before{
	content: '';
    width: 500px;
    height: 360px;
	/*border-radius: 20px 0 20px 0;*/
	border-radius: 20px;
    border: 2px solid #ff6302;
    position: absolute;
    top: 20px;
    left: 20px;
}
.spot_block + .spot_block{
	margin-top: 100px;
}
.spot_block img{
	width: 500px;
	height: auto;
	/*border-radius: 20px 0 20px 0;*/
	border-radius: 20px;
}
.spot_block dl dt{
	font-size: 30px;
	font-weight: 500;
	/*text-align: center;*/
	/*margin-top: 50px;*/
	color: #ff6302;
}
.spot_block dl dd{
	font-size: 16px;
	line-height: 2.5;
	text-align: justify;
	letter-spacing: 0em;
	margin-top: 25px;
}
.spot_block a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 60px;
	background-color: #ff6302;
	border: 2px solid #ff6302;
	border-radius: 30px;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	position: relative;
	margin-top: auto;
}
.spot_block a::after{
	content: '';
    background: url(../img/arrow_w.svg) center / auto 100% no-repeat;
    width: 10px;
    height: 15px;
    position: absolute;
    top: calc(50% - 8px);
    right: 20px;
}
.spot_txtwrap {
    width: 540px;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: absolute;
    right: 0;
}
@media all and (min-width:768px){
	.spot_block a:hover{
		background-color: #fff;
		color: #ff6302;
	}
	.spot_block a:hover::after{
	    background: url(../img/arrow_o.svg) center / auto 100% no-repeat;
	}
	.spot_block dl dt {
	    padding-top: 15px;
	}
}
@media all and (max-width:767px){
	.spot.sec {
	    padding-bottom: 60px;
	}
	.spot_wrap {
	    width: 100%;
	}
	.spot .spot_ttl img {
	    width: 40px;
	}
	.spot .spot_ttl {
	    font-size: 20px;
	    margin-bottom: 50px;
	}
	.spot .spot_ttl span {
	    font-size: 25px;
	    margin-left: -0.5em;
	}
	.spot_block {
	    display: block;
	}
	.spot_block::before {
		content: none;
	}
	.spot_block img {
	    width: 97%;
	    border-radius: 10px;
	}
	.spot_block .spot_img::before {
	    width: 97%;
	    height: 100%;
	    border-radius: 10px;
	    border: 1px solid #ff6302;
	    top: 10px;
	    left: 10px;
	}
	.spot_txtwrap {
	    width: 100%;
	    height: 100%;
	    position: relative;
	    margin-top: 30px;
	}
	.spot_block dl dt {
	    font-size: 20px;
	    text-align: center;
	    line-height: 1.3;
	}
	.spot_block dl dd {
	    font-size: 14px;
	    line-height: 1.83;
	    letter-spacing: 0.1em;
	    margin-top: 15px;
	}
	.spot_block a {
	    width: 100%;
	    height: 50px;
	    font-size: 14px;
	    color: #fff;
	    margin-top: 20px;
	    max-width: 320px;
	    margin-left: auto;
	    margin-right: auto;
	}
	.spot_block + .spot_block {
	    margin-top: 55px;
	}
	.spat_last.spot.sec {
	    padding-bottom: 130px;
	}
}
@media all and (max-width:370px){}

/*-----aaa-----*/
@media all and (min-width:768px){}
@media all and (max-width:767px){}
@media all and (max-width:370px){}

/*-----aaa-----*/
@media all and (min-width:768px){}
@media all and (max-width:767px){}
@media all and (max-width:370px){}
