@charset "utf-8";

/* CSS Document */
/* --------------------------------------------------
reset
-------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    box-sizing: border-box;
}

html {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

strong {
    font-weight: bold;
}

em {
    font-style: italic;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q, blockquote {
    quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none;
}

img, a {
    vertical-align: top;
}

a img {
    border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
    display: block;
}

*, *:before, *:after {
    box-sizing: border-box;
}
figure img {
    max-width: 100%;
}

/* --------------------------------------------------
html
-------------------------------------------------- */
html {
    font-size: 62.5%;
    height: 100%;
}

@media screen and (max-width: 800px) {
    html {
        font-size: 50%;
    }
}

body {
    font-family: a-otf-ryumin-pr6n, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 1.6rem;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
	color: #333;
	overflow-x: hidden;
}

/* --------------------------------------------------

general

-------------------------------------------------- */

#footer {
    text-align: center;
	padding: 2em;
	font-size: 1.2rem;
}

/* --------------------------------------------------

index

-------------------------------------------------- */

/* top-slider */
.top-slider {
	overflow:hidden;
	position:relative;
	display: flex;
	flex-wrap: wrap;
	max-width: 1700px;
	margin: 0 auto;
}
.top-slider h1{
    position: absolute;
    z-index: 100;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
	max-width: 480px;
	width: 60%;
}
.top-slider h1 #logo{
	width: 100%;
	height: 0;
	padding-top: 100%;
}
.top-slider h1 #logo svg{
    position: absolute;
	top: 0;
	left: 0;
}

.cycling-area,
.walking-area {
	width:50%;
	position:relative;
	height:0;
	padding-top:50%;
	overflow: hidden;
}
.cycling-area a:hover,
.walking-area a:hover {
	opacity:1;
}
.img-l-area::before,
.img-r-area::before {
	content: "";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	transition: background .5s ease-in-out;
	z-index:60;
}
.img-l-area::after,
.img-r-area::after {
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:61;
}
.img-l-area.load-anim::after,
.img-r-area.load-anim::after{
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode: both;
	-webkit-animation-duration:.4s;
	-ms-animation-duration:.4s;
	animation-duration:.4s;
	-webkit-animation-timing-function: ease-in;
	-ms-animation-timing-function: ease-in;
	animation-timing-function: ease-in;
	-webkit-animation-name: fadePanelRight;
	animation-name: fadePanelRight;
	visibility: visible !important;
}

@-webkit-keyframes fadePanelRight {
	0% { left: 0; }
	40% { left: 5%; }
	100% {  left:100%; }
}
@keyframes fadePanelRight {
	0% { left: 0; }
	40% { left: 5%; }
	100% { left:100%; }
}

/* cycling-area */
.img-l-area:before {
	background: rgba(31,148,109,0.0);
}
.img-l-area:hover:before {
	background: rgba(31,148,109,0.5);
}

/* walking-area */
.img-r-area:before {
	background: rgba(31,94,148,0.0);
}
.img-r-area:hover:before  {
	background: rgba(31,94,148,0.5);
}

/* index-lead */
.index-lead{
	width:28em;
	margin: 0 auto;
	padding: 4em 2em;
	position: relative;
}
.index-lead:after{
	content: "";
	width: 60%;
	height: 50%;
	position: absolute;
	left: 90%;
	top:-2em;
	background:url("../img/bg_index_lead_r.png") no-repeat 50% 50%;
	background-size: contain;
}
.index-lead:before{
	content: "";
	width: 60%;
	height: 50%;
	position: absolute;
	right: 90%;
	bottom:0;
	background: url("../img/bg_index_lead_l.png") no-repeat 50% 50%;
	background-size: contain;
	z-index: -1;
}
.index-lead p{
	line-height: 1.8;
	margin-bottom: 1em;
}
.index-lead p strong{
	font-size: 1.8em;
}

@media screen and (max-width: 600px) {
	.index-lead {
		width: 25em;
		padding: 5em 2em ;
	}
	.index-lead p strong{
		font-size: 1.3em;
	}	
	.index-lead:after{
		left: 60%;
		top: -6em;
		z-index: 99;
	}
	.index-lead:before{
		right: 70%;
		bottom: -3em;
	}
}
@media screen and (max-width: 400px) {
	.index-lead {
		width: 25em;
		padding:  4em 2em ;
	}
	.index-lead p strong{
		font-size: 1.3em;
	}	
	.index-lead:after{
		width: 40%;
		left:60%;
	}
	.index-lead:before{
		width: 30%;
		righgt:60%;
		bottom: -20%;
	}
}

/* cycling-bnr walking-bnr */
.cycling-bnr,
.walking-bnr {
	max-width: 1700px;
	position: relative;
	margin: 5em auto;
}
.cycling-bnr .bnr-bg,
.walking-bnr .bnr-bg {
	height: 0;
	padding-top: 35.4%;
}
.cycling-bnr .bnr-bg{
	background: url("../img/cycling-bnr002.jpg") right bottom no-repeat;
	background-size: contain;
}
.walking-bnr .bnr-bg {
	background: url("../img/walking-bnr002.jpg") right bottom no-repeat;
	background-size: contain;
}

/* course1 course2 */
.cycling-bnr .course1,
.walking-bnr .course2  {
	position: absolute;
	top:3%;
	right: 5%;
	z-index: 10;
	width: 20%;
}

/* bnr-copy */
.cycling-bnr .bnr-copy,
.walking-bnr .bnr-copy  {
	position: absolute;
	top: 0;
	z-index: 10;
	padding: 0;
	margin: 0;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30%;
}
.cycling-bnr .bnr-copy{
	background: #1F946D;
}
.walking-bnr .bnr-copy{
	background: #1F5E94;
}
.bnr-copy img {
    width: 80%;
	padding: 6em 0;
	position: relative;
	z-index: 5;
}
.bnr-copy #diamond_g,
.bnr-copy #diamond_b {
	position: absolute;
	width: 90%;
	height: 90%;
	z-index: 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.bnr-copy #leaf_w,
.bnr-copy #bubble_w {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
	width: 40%;
}

/* bnr-arrow */
.bnr-arrow{
	color: #fff;
	width: 24em;
	height: 5em;
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.bnr-arrow p{
	padding-left: 2em;
	font-size: 1.5em;
}
.cycling-bnr .bnr-arrow{
	background: #13664A;
}
.walking-bnr .bnr-arrow{
	background: #12395A;
}
.cycling-bnr .bnr-arrow:after,
.walking-bnr .bnr-arrow:after{
	content: "";
	display: block;
	position: absolute;
	width:80px;
	height: 100%;
	bottom: 0;
	right: 0;
	transition: .3s;
	z-index: 2;
}
.cycling-bnr .bnr-arrow:after{
	background: #1F946D url("../img/arrow.png")no-repeat 50% center;
	background-size: 70% auto;
}
.walking-bnr .bnr-arrow:after{
	background: #1F5E94 url("../img/arrow.png")no-repeat 50% center;
	background-size: 70% auto;
}
a:hover .cycling-bnr .bnr-arrow:after{
	background: #1F946D url("../img/arrow.png")no-repeat 70% center;
	background-size: 70% auto;
}
a:hover .walking-bnr .bnr-arrow:after{
	background: #1F5E94 url("../img/arrow.png")no-repeat 70% center;
	background-size: 70% auto;
}

@media screen and (max-width: 1024px) {
	.cycling-bnr,
	.walking-bnr {
		margin: 1em auto 3em;
	}
	.cycling-bnr .bnr-bg,
	.walking-bnr .bnr-bg{
		padding-top: 40%;
		background-size: cover;
		background-position: 30% bottom;
	}
	.cycling-bnr .bnr-copy #leaf_w,
	.walking-bnr .bnr-copy #bubble_w {
		top: 10px;
		width: 30%;
	}
	.bnr-arrow{
		width: 19em;
		height: 4em;
	}
	.bnr-arrow p{
		font-size: 1.2em;
	}
	.cycling-bnr .bnr-arrow:after,
	.walking-bnr .bnr-arrow:after{
		width:50px;
	}
}

@media screen and (max-width: 500px) {
	.cycling-bnr,
	.walking-bnr {
		position: relative;
		padding: 0 0 24em;
	}
	.cycling-bnr{
		background: #1F946D;
	}
	.walking-bnr{
		background: #1F5E94;
	}
	.cycling-bnr .bnr-bg,
	.walking-bnr .bnr-bg{
		padding-top: 80.6%;
		object-fit: cover;
		background-size: cover;
	}
	.cycling-bnr .bnr-copy,
	.walking-bnr .bnr-copy{
		bottom: 0;
		top: auto;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		background: transparent;
		height: auto;
		margin-bottom: 4em;
		width: 100%;
	}
	.bnr-copy img {
		max-width: 200px;
		width: 100%;
	}
	.cycling-bnr .course1,
	.walking-bnr .course2  {
		width: 40%;
		top: 0;
	}
	.bnr-arrow{
		width: 100%;
	}
	.cycling-bnr .bnr-copy #leaf_w,
	.walking-bnr .bnr-copy #bubble_w {
		width: 20%;
		right: 10%;
	}
}

/* --------------------------------------------------

course

-------------------------------------------------- */

/* mv-logo */
.mv-logo {
    position: absolute;
    top: 5%;
    right: 5%;
	width: 21vw;
}
.mv-logo a {
    display: block;

}
.mv-logo a #logo{
	width: 100%;
	height: 0;
	padding-top: 100%;
}

.mv-logo a #logo svg {
    position: absolute;
    top: 0;
    left: 0;
}

@media screen and (max-width: 1024px) {
	.mv-logo {
		top: 0;
		width: 35vw
	}
}

/* --------------------------------------------------
mv
-------------------------------------------------- */
.mv {
    position: relative;
}
.walking .mv {
	background: #1F5E94;
}
.cycling .mv {
	background: #1F946D;
}
.mv-bg {
    height: 0;
    padding-top: 100vh;
	min-height: 800px;
}
.cycling .mv-bg {
    background: url("../img/mv.jpg") center center no-repeat;
    background-size: cover;
}
.walking .mv-bg {
    background: url(../img/mv002.jpg) center center no-repeat;
    background-size: cover;
}

@media screen and (max-width: 1024px) {
	.mv {
		position: relative;
		height: 100%;
	}
	.mv-bg {
		padding-top:100%;
		height: auto;
		min-height: 0;
	}
	.cycling .mv-bg {
		background: url("../img/mv.jpg") center top no-repeat;
		background-size: 150% auto;
	}
	.walking .mv-bg {
		background: url(../img/mv002.jpg) center top no-repeat;
		background-size: 150% auto;
	}
}

/* mv-copy */
.mv-copy {
    position: absolute;
    top: 0;
	left: 0;
    padding: 0;
    margin: 0;
    height: 100%;
	width: 25vw;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cycling .mv-copy {
    background: #1F946D;
}
.walking .mv-copy {
    background: #1F5E94;
}

.mv-copy .mv-ttl {
    display: flex;
	flex-flow: column;
	position: relative;
	width: 26vw;
}

.mv-copy .bnr-copy{
	width: 80%;
	margin: 10% 10% 0;
	position: relative;
}


.bnr-copy #diamond_g,
.bnr-copy #diamond_b {
	position: absolute;
	width: 90%;
	height: 90%;
	z-index: 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.bnr-copy #leaf_w,
.bnr-copy #bubble_w {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
	width: 40%;
}

.bnr-copy img {
    width: 80%;
	padding: 6em 0;
	position: relative;
	z-index: 5;
}


.mv-copy img{
	width: 100%;
}


.mv-copy .bnr-copy{
	width: 80%;
	margin: 10% 10% 0;
	position: relative;
}




.mv-copy .course1,
.mv-copy .course2 {
	width: 80%;
	height: 0;
	padding-top: 80%;
	margin: 0 10% 10%;
	position: relative;
}

.mv-copy .course1 #course1,
.mv-copy .course2 #course2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	
}


@media screen and (max-width: 1024px) {
	
	.mv-copy {
		position: relative;
		top: auto;
		left: auto;
		padding: 0;
		margin: 0;
		height: 100%;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.mv-copy h2 {
		margin-top: 0;
		display: flex;
		flex-flow:row;
		justify-content: center;
		align-items: center;
		width: 100%;
	}
	
	.mv-copy .bnr-copy{
		width: 40%;
		margin: 5%;
		position: relative;
	}

	
	.mv-copy .course1,
	.mv-copy .course2 {
		width: 40%;
		padding-top: 40%;
		margin:0 5% 5%;
	}
	
	.mv-copy img{
		width: 40vw;
	}
}

/* --------------------------------------------------
contents
-------------------------------------------------- */
.contents {
    max-width: 192rem;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}
.contents:after,
.contents:before {
    content: "";
    display: block;
    position: fixed;
    z-index: -1;
}
.contents:before {
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 80px 400px 0px;
}
.cycling .contents:before {
	border-color: transparent transparent #a37e54 transparent;
}
.walking .contents:before {
	border-color: transparent transparent #7589B4 transparent;
}
.contents:after {
    top:0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 80px 400px 0;
}
.cycling .contents:after {
	border-color: transparent #888D62 transparent transparent;
}
.walking .contents:after {
	border-color: transparent #C6BD69 transparent transparent;
}
@media screen and (max-width: 800px) {
   .contents:before {
		border-width: 0 10vh 200px 0;
	}
	.contents:after {
		border-width: 0 10vh 200px 0;
	}
}



/* --------------------------------------------------
lead
-------------------------------------------------- */
.lead {
    display: flex;
    padding: 5vw 0;
    max-width: 108rem;
    margin: 0 auto;
    flex-direction: row-reverse;
	letter-spacing: .2rem;
	position: relative;
}
.lead .map{
	display: flex;
	flex-basis:50%;
	justify-content: center;
	align-items: center;
	max-width: 600px;
}
.lead .map img{
	position: relative;
	width: 100%;
	height: 100%;
}
.lead .txt{
	flex-basis: 40%;
	margin-left: 2em;
	padding-right: 2em;
}

@media screen and (max-width: 600px) {
	.lead {
		flex-wrap: wrap;
		padding: 2em 0;
	}
	.lead .map{
		width: 100%;
		margin: 0 auto;
		flex-basis: 100%;
	}
	.lead .map img{
		width: 80%;
	}
	.lead .txt{
		flex-basis: 100%;
		margin: 2em auto;
		padding-right: 0;
		max-width: 70%;
	}
}

 /* mark-st */
.lead .mark-st{
	margin-bottom: 2em;
	display: block;
}
.lead .mark-st img{
	width: 200px;
}
.lead h3 {
    font-weight: normal;
	font-size: 1.8rem;
	margin-bottom: 2em;
}
.lead p {
    max-width: 45rem;
	margin-bottom: 1em;
}

@media screen and (max-width: 800px) {

	.lead h3 {
        text-align: left;
        margin: 0;
    }
	.lead .txt p {
        max-width: 100%;
        margin: 1em 0 0;
        text-align: left;
    }
}

/* --------------------------------------------------
ttl-spot
-------------------------------------------------- */

.ttl-spot{
    position: relative;
	font-size: 3.5rem;
	margin: 0 0 1em;
	letter-spacing: .3rem;
	line-height: 1.2;
}
.ttl-spot span{
    font-size: 2rem;
}
.ttl-spot:before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
	bottom: 140%;
    left: 0;
    height: 400px;
    width: 300px;
}


 /* ttl-spot-num */

.ttl-spot-num {
    display: block;
    position: absolute;
    z-index: -1;
	bottom: 140%;
    left: 0;
    height: 400px;
    width: 300px;
}

.ttl-spot-num .ttl-spot-num-inner{
	position: relative;
	width: 100%;
	height: 100%;
}

.ttl-spot-num .num-line{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	transform-origin: top center;
}

.ttl-spot-num.spot-c .num-line{
	width: 80px;
}
.ttl-spot-num.spot-w .num-line{
	width: 90px;
}



.ttl-spot-num .num-line:before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 40px;
	width: 1px;
	height: 280px;
	background: #1F946D;
}
.ttl-spot-num.spot-c .num-line:before{
	background: #1F946D;
}
.ttl-spot-num.spot-w .num-line:before{
	background: #1F5E94;
}


.ttl-spot-num .num-line img{
	position: absolute;
	transform-origin: center center;
	z-index: 3;
}

.ttl-spot-num.spot-c .num-line img{
	bottom: 55px;
	left: 15px;
	width: 50px;
	height: 80px;
}
.ttl-spot-num.spot-w .num-line img{
	bottom: 62px;
	left: 10px;
	width: 60px;
	height: 60px;
}

.ttl-spot-num .spot{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 85px;
	height: 48px;
}

.ttl-spot-num .leaf{
	position: absolute;
	bottom: 0;
	left: 100px;
	width: 120px;
}

.ttl-spot-num .bubble{
	position: absolute;
	bottom: 0;
	left: 100px;
	width: 120px;
}

.ttl-spot-num.num-anim .num-line{
  animation: anim-pendulum 3s ease-in-out 0s 1 normal;
}

@keyframes anim-pendulum {
	0% {transform: rotate(0deg);}
	18% {transform: rotate(12deg);}
	40% {transform: rotate(-8deg);}
	60% {transform: rotate(4deg);}
	80% {transform: rotate(-2deg);}
	100% {transform: rotate(0deg);}
}

.ttl-spot-num.num-anim .num-line img{
  animation: anim-rotate 3s ease-out 0s 1 normal;
}

@keyframes anim-rotate {
	0% {transform: rotateY(0deg);}
	100% {transform: rotateY(1080deg);}
}


@media screen and (max-width: 800px) {

    .ttl-spot:before {
		height: 300px;
		width: 300px;
    }
	
	.ttl-spot-num {
		height: 300px;
		width: 300px;
	}
	
	.ttl-spot-num.spot-c .num-line{
		width: 64px;
	}
	.ttl-spot-num.spot-w .num-line{
		width: 72px;
	}
	
	
	.ttl-spot-num .num-line:before{
		left: 30px;
		height: 220px;
		background: #1F946D;
	}

	
	.ttl-spot-num.spot-c .num-line img{
		bottom: 45px;
		left: 12px;
		width: 37px;
		height: 60px;
	}
	.ttl-spot-num.spot-w .num-line img{
		bottom: 48px;
		left: 6px;
		width: 48px;
		height: 48px;
	}

	.ttl-spot-num .spot{
		width: 68px;
		height: 36px;
	}

	.ttl-spot-num .leaf{
		left: 60px;
		width: 90px;
	}
	
	.ttl-spot-num .bubble{
		left: 60px;
		width: 90px;
	}


}



/* --------------------------------------------------
spot
-------------------------------------------------- */
.cycling .spot2 .pht-block{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.cycling .spot2 .pht-block .pht-harf{
	width: 70%;
}
.cycling .spot2 .pht-block figcaption {
    margin: .5em 0 1em auto;
    text-align: left;
}
@media screen and (max-width: 800px) {
	.cycling .spot2 .pht-block .pht-harf{
		width: 100%;
	}
	.cycling .spot2 .pht-block{
		align-items: center;
	}
}

.cycling .spot3{
	margin-top: -15vw;
}


/* --------------------------------------------------
.spot-data
-------------------------------------------------- */
.spot-data {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 192rem;
	letter-spacing: .1rem;
	align-items:center;
	padding: 5em 0;
	max-width: 1600px;
	margin: 0 auto;
}
.spot-data.reverse {
    flex-direction: row-reverse;
}
.spot-data .txt {
	padding-top: 20em;
    width: 39%;
    word-break: break-all;
    display: flex;
    flex-direction: row-reverse;
    position: relative;
}
.spot-data.reverse .txt {
    flex-direction: column;
}
.spot-data .txt:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -20px;
    right: -50px;
    height: 165px;
    width: 103px;
    background-size: contain;
}
.spot-data .txt-inner {
    max-width: 40rem;
	padding:0 1em;
}
.spot-data .txt-inner p {
    margin-top: 2em;
	text-align:justify;
	line-height: 2;
}
.spot-data .pht-block {
    width: 55%;
	margin-top: 5vw;
}
.spot-data .txt{
    width: 35%;
}
.spot-data .pht-block img {
    width: 100%;
	max-width: 100%;
}
.spot-data figcaption {
	font-size: 1.4rem;
	margin: .5em 0;
}
.spot-data.reverse figcaption {
	text-align: right;
}

@media screen and (max-width: 1100px) {
	.spot-data {
		align-items: center;
	}
	.spot-data .pht-block {
		width: 50%;
	}
	.spot-data .txt{
		width: 40%;
	}
}
@media screen and (max-width: 800px) {

 	.spot-data {
        display: block;
        padding: 0;
        margin: 3em auto;
    }
	.spot-data.reverse {
        margin: 3em auto;
    }
    .spot-data .pht-block,
    .spot-data .txt,
    .spot-data .txt-inner {
        width: 100%;
        display: block
    }
    .spot-data .txt:after {
        display: none;
    }
    .spot-data .txt-inner {
        margin: 0 auto 3em auto;
        max-width: 80vw;
		width: 50rem;
    }
    .spot-data .txt p {
        margin-top: 1em;
    }
    .spot-data .pht-block figcaption {
        width: 100%;
		padding: 0 1em;
		text-align: left;
    }
}

/* shop */
.shop {
    display: flex;
    justify-content: space-between;
    margin-top: 2em;
    max-width: 861px;
    width: 100%;
    flex-direction: row-reverse;
}
.reverse .shop {
    -ms-flex-direction: row;
    flex-direction: row;
}
.shop > figure{
	flex-basis: 60%;
	margin-bottom: 2em;
}
.shop .shop-info {
	flex-basis: 40%;
}

@media screen and (max-width: 800px) {
	
    .reverse .shop {
        flex-direction: row-reverse;
    }
}
@media screen and (max-width: 500px) {
	
	.reverse .shop,
	.shop {
		flex-flow: column;
		padding: 1em 2em;
	}
    .reverse .shop .shop-info,
	.shop .shop-info{
		display: flex;
		width: 100%;
		max-width: unset;
		align-items: flex-end;
    }
	.reverse .shop-info figure,
	.shop-info figure{
		flex: 1;
		margin-right: 1em;
    }
	.reverse .shop-info > div,
	.shop-info > div{
		flex: 1;
		min-width: 12em;
    }
}
@media screen and (max-width: 500px) {
	
    .shop {
		 align-items: center;
    }

	.reverse .shop .shop-info,
	.shop .shop-info{
		flex-direction: column;
		margin-right: 0;
    }
	.reverse .shop-info figure,
	.shop-info figure{
		margin-right: 0;
		width: 100%;
    }
	.reverse .shop-info figure img,
	.shop-info figure img{
		width: 100%;
    }
}


/* shop-info */
.shop-info {
    max-width: 350px;
    margin-right: 2em;
    width: 100%;
}
.reverse .shop-info {
    margin-left: 2em;
    margin-right: 0;
}
.shop-info h4 {
    font-size: 2rem;
    padding: 2.4em 0 1em;
}
.shop-info h4 span {
    position: relative;
}
.shop-info h4 span:before {
    content: "";
    display: block;
    position: absolute;
    background: url(../img/dec_img003.png) no-repeat;
    bottom: -5px;
    left: 100%;
    height: 58px;
    width: 82px;
    background-size: contain;
}
.shop-info > div{
	width: 100%;
}
.shop-info dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
	font-size: 1.3rem;
	width: 100%;
}
.shop-info dl dt {
	flex-basis: 30%;
	max-width: 7em;
}
.shop-info dl dd {
	flex-basis: 70%;
}

@media screen and (max-width: 1500px){
    .shop-info {
        min-width: 220px;
    }
}
@media screen and (max-width: 800px){
	
	.shop-info {
		min-width: 150px;
    }
	.reverse .shop-info {
        margin-right: 2em;	
        margin-left: 0;
    }
	.shop-info h4{
		margin: 0 1rem;
    }
	.shop-info dl{
		margin: 0 1rem;
    }
}
@media screen and (max-width: 600px){
	.shop-info h4 span:before {
		height: 40px;
		width: 60px;
		background-size: contain;
	}
	.shop-info > div{
		width: 90%;
	}
	.reverse .shop .shop-info,
	.shop .shop-info{
		align-items: center;
	}
}


/* --------------------------------------------------
double-photo
-------------------------------------------------- */
.double-photo {
    display: flex;
    padding: 2em auto;
    justify-content: space-between;
    position: relative;
    z-index: 11;
	margin-bottom: -7vw;
}
.double-photo img {
    width: 100%;
}
.double-photo figure:first-child {
    margin: 6em 2em 0 0;
}

@media screen and (max-width: 800px) {
    .double-photo .pc-only {
        display: none;
    }
    .double-photo figure {
        width: 100%;
    }
    .double-photo figure img {
        width: 100%;
    }
}


/* --------------------------------------------------
feel-block
-------------------------------------------------- */

/* vertical */
.vertical{
	width: 25vw;
	display: flex;
	justify-content: center;
	align-items:center;
}
.vertical span {
    letter-spacing: 2px;
    border: 1px solid #707070;
    padding: 3em 1em;
	font-size: 1.8rem;
	letter-spacing: .5rem;
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    z-index: 15;
	line-height: 1;
	font-size: 1.4vw;
}



/* feel-block */
.feel-block {
    display: flex;
    flex-direction: row-reverse;
    position: relative;
	justify-content: space-between;
	padding: 7vw 0;
	margin-bottom: -7vw;
}
.feel-block .pht{
	width: 75%;
	position: relative;
}

.feel-block .pht img{
	width: 100%;
}
.feel-block .pht:before{
	position: absolute;
	left: 100%;
	top: 100%;
	content: '';
	width: 25vw;
	height: 13vw;
}
.feel-block.relax .pht:before{
	background: url("../img/pct_feel_relax.svg") no-repeat center top;
	background-size: contain;
}
.feel-block.retro .pht:before{
	background: url("../img/pct_feel_retro.svg") no-repeat center top;
	background-size: contain;
}
.feel-block.wind .pht:before{
	background: url("../img/pct_feel_wind.svg") no-repeat center top;
	background-size: contain;
}
.feel-block.taste .pht:before{
	background: url("../img/pct_feel_taste.svg") no-repeat center top;
	background-size: contain;
}
.cycling .feel-block.wind{
	margin-bottom: 0;
}
.cycling .feel-block.wind .pht:before{
	top: 50%;
}
.walking .feel-block.taste .pht:before{
	top: 40%;
}

.feel-block.bg-btm .pht:after{
	content: "";
    height: 100%;
    width: 100%;
	position: absolute;
	left: 7vw;
	top: 7vw;
	z-index: -1;
}
.feel-block.bg-top .pht:after{
	content: "";
    height: 100%;
    width: 100%;
	position: absolute;
	left: 7vw;
	bottom: 7vw;
	z-index: -1;
}
.feel-block.bg-blue .pht:after{
    background: #D6EAEB;
}
.feel-block.bg-green .pht:after{
    background: #D1E7D7;
}
.feel-block.bg-skyblue .pht:after{
    background: #D3DDEA;
}
.feel-block.bg-beige .pht:after{
    background: #D4D0A6;
}

@media screen and (max-width: 800px) {
	.vertical{
		position: absolute;
		right: 0;
		top:80%;
	}
	 .vertical span {
		font-size: 2rem;
    }
	.feel-block {
		flex-direction: column;
	}
	.feel-block .pht{
		width: 100%;
		position: relative;
	}
	.feel-block .pht:before{
		left:55%;
		top: 110%;
	}
	.feel-block .pht:before{
		height: 25vw;
	}
	.cycling .feel-block.wind .pht:before{
		top: -30%;
		left:70%;
	}
}
@media screen and (max-width: 400px) {
    .vertical span {
		font-size: 1.2rem;
        padding: 1em 0.5em;
    }
}

/* --------------------------------------------------

particle

-------------------------------------------------- */

.particle{
	position: absolute;
}
.particle img{
	width: 6vw;
}
#particle01{ right: 0; bottom:5%;}
#particle02{ left:-10%; top:0;}
#particle03{ right: 50%; top:0;}


@media screen and (max-width: 400px){

	.particle img{
		width:10vw;
	}
}

/* --------------------------------------------------

next-area

-------------------------------------------------- */

.next-area{
	max-width: 1200px;
	margin: 5em auto;
}
.next-area .cycling-bnr,
.next-area .walking-bnr{
	max-width: 1200px;
	margin: 0 auto;
}
.next-area h4{
	font-size: 1.6em;
	letter-spacing: .5rem;
}

/* --------------------------------------------------

animation

-------------------------------------------------- */

.cycling-area::after,
.walking-area::after {
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:61;
}

.cycling-area.load-anim::after,
.walking-area.load-anim::after{
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode: both;
	-webkit-animation-duration:.4s;
	-ms-animation-duration:.4s;
	animation-duration:.4s;
	-webkit-animation-timing-function: ease-in;
	-ms-animation-timing-function: ease-in;
	animation-timing-function: ease-in;
	-webkit-animation-name: fadePanelRight;
	animation-name: fadePanelRight;
	visibility: visible !important;
}

.cycling-area:after {
	background: rgba(31,148,109,0.8);
}

.walking-area:after {
	background: rgba(31,94,148,0.8);
}

@-webkit-keyframes fadePanelRight {
	0% { left: 0; }
	40% { left: 5%; }
	100% {  left:100%; }
}
@keyframes fadePanelRight {
	0% { left: 0; }
	40% { left: 5%; }
	100% { left:100%; }
}

/* --------------------------------------------------

js

-------------------------------------------------- */

/* bx-slider */
.top-slider .bx-wrapper {
	position:absolute;
	max-width:146.6% !important;
	width:146.6%;
	height:100%;
	top:0;
	left:0;
	overflow:hidden;
	background: none;
	box-shadow: none;
}

.top-slider .bx-viewport {
	height:100% !important;
}

.top-slider .bx-viewport ul {
	width:100% !important;
	height:100% !important;
}

.top-slider .bx-viewport ul li {
	width:100% !important;
	height:100% !important;
}

/* slider animation */
.top-slider .bx-viewport ul li img{
	width:auto;
	max-width: none;
	height:100%;
	margin-left:-15%;
	-webkit-animation:fadeanim 10s linear 1;
	animation:fadeanim 10s linear 1;

}

@-webkit-keyframes fadeanim {
	0% {
		margin-left:-15%;
	}
	100% {
		opacity:1;
		margin-left:-25%;
	}
}
@keyframes fadeanim {
	0% {
		margin-left:-15%;
	}
	100% {
		opacity:1;
		margin-left:-25%;
	}
}


@media screen and (max-width: 1500px) {
    .top-slider h1 object{
        width: 80%;
    }
}
@media screen and (max-width: 800px) {

	/* cycling-area,walking-area */

	.cycling-area,
	.walking-area {
		padding-top:60vh;
	}

	/* slider animation */
	.top-slider .bx-viewport ul li img{
		margin-left:-40vh;
		-webkit-animation:fadeanimsp 10s linear 1;
		animation:fadeanimsp 10s linear 1;
	}

}


@-webkit-keyframes fadeanimsp {
	0% {
		margin-left:-30vh;
	}
	100% {
		opacity:1;
		margin-left:-40vh;
	}
}
@keyframes fadeanimsp {
	0% {
		margin-left:-30vh;
	}
	100% {
		opacity:1;
		margin-left:-40vh;
	}
}


.pht-block .space{
	margin-top: 2em;
}