@charset "utf-8";


/* ---- reset ---- */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, hr,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}

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

body {
	-webkit-text-size-adjust: 100%;
}

li {
	list-style: none;
}

a, button {
	-webkit-tap-highlight-color: transparent;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

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

caption, th {
	text-align: left;
}

button {
	padding: 0;
	border-style: none;
	border-radius: 0;
	background-color: transparent;
	outline: none;
	cursor: pointer;
	appearance: none;
	line-height: 1;
}

input, select, textarea {
	padding: 0;
	border-style: none;
	border-radius: 0;
	background-color: transparent;
	outline: none;
	appearance: none;
	font-family: inherit;
	line-height: 1;
}

*, *::before, *::after {
	box-sizing: border-box;
}


/* ---- font ---- */

html {
	font-size: 62.5%;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Yu Gothic", "Hiragino kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1;
}

@media screen\0 { /* to avoid IE text bottom space */
	body {
		font-family: Meiryo, sans-serif;
	}
}

button, input, select, textarea {
	font-family: inherit;
	font-size: 100%;
}

.ast {
	font-family: sans-serif;
}

@media screen and (max-width: 640px) {
	
	body {
		font-size: 1.4rem;
	}
	
}


/* ---- asoview template ---- */

#wrapper {
	overflow: hidden;
}

/*
@media only screen and (min-width: 641px) {
	#wrapper { min-width: 1000px; }
}
*/

.main_width {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

@media only screen and (min-width: 641px) {
	.main_width { max-width: 960px; }
}

@media only screen and (max-width: 1024px) {
	.main_width { padding: 0 20px; }
}

@media only screen and (max-width: 480px) {
	.main_width { padding: 0 15px; }
}

#header {
	padding: 13px 0;
	background-color: #fff;
	text-align: center;
}

@media only screen and (max-width: 640px) {
	#header {
		padding: 11px 0;
	}
}

#footer {
	background-color: #f2453e;
}

#footer .copy {
	padding: 0.65em;
}

#footer .copy p {
	text-align: center;
	line-height: 11px;
}

#footer .copy p img {
	display: inline-block;
}

@media only screen and (max-width: 640px) {
	
	#footer .copy {
		padding: 1em;
	}
	
	#footer .copy p {
		text-align: center;
		line-height: 11px;
	}
	
	#footer .copy p img {
		display: inline-block;
	}
	
}


/* ---- basics ---- */

body {
	position: relative;
	color: #302418;
	background-color: #fff8e4;
}

a { text-decoration: none; color: #0890da; }
a:link { color: #0890da; }
a:visited { color: #0890da; }
a:hover { text-decoration: underline; color: #0890da; }
a:active { text-decoration: underline; color: #0890da; }

strong, em, b {
	font-weight: bold;
	font-style: normal;
}

@media screen and (min-width: 641px) {
	.pc-hidden { display: none; }
}

@media screen and (max-width: 640px) {
	.sp-hidden { display: none; }
}


/* ---- main visual ---- */

.main-visual {
	position: relative;
	height: 0;
	padding-top: 44.4444%;
	background-image: url(../media/images/main_bg_pc.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.main-visual h1 {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: url(../media/images/title.png);
	background-size: auto 96%;
	background-position: center;
	background-repeat: no-repeat;
}

.main-visual h1 span {
	display: none;
}

@media screen and (max-width: 640px) {
	
	.main-visual {
		padding-top: 128%;
		background-image: url(../media/images/main_bg_sp.jpg);
	}
	
	.main-visual h1 {
		background-size: 100% auto;
		background-position: 50% 24%;
	}
	
}


/* ---- lead ---- */

.lead {
	margin-top: 80px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.9;
	text-align: center;
}

@media screen and (max-width: 1000px) {
	
	.lead {
		font-size: 1.6rem;
	}
	
}

@media screen and (max-width: 640px) {
	
	.lead {
		margin-top: 12vw;
		font-size: 1.6rem;
		line-height: 1.7;
		text-align: left;
	}
	
}


/* ---- schedule ---- */

.schedule {
	margin-top: 50px;
}

.schedule .head {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 45px;
	background-image: url(../media/images/stars.png);
	background-size: 115px 25px;
	background-position: 50% 0;
	background-repeat: no-repeat;
}

.schedule .head .time {
	display: flex;
	align-items: center;
	height: 32px;
	padding: 0 32px 0 40px;
	border-right: 2px solid #302418;
	background-image: url(../media/images/watch.png);
	background-size: 32px 32px;
	background-position: 0 50%;
	background-repeat: no-repeat;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .05em;
}

.schedule .head .place {
	padding-left: 30px;
	font-size: 2.8rem;
	font-weight: bold;
	letter-spacing: .03em;
	font-feature-settings: "palt";
}

.schedule h2 {
	margin-top: 20px;
	padding-top: 25px;
	background-image: url(../media/images/bar.png);
	background-size: 325px 8px;
	background-position: 50% 0;
	background-repeat: no-repeat;
	text-align: center;
}

.schedule h2 > span {
	display: inline-block;
	position: relative;
	padding: 0 .5em .3em;
	font-size: 3.6rem;
	font-weight: bold;
	letter-spacing: .05em;
	font-feature-settings: "palt";
	line-height: 1.25;
}

.schedule h2 > span::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	width: 100%;
	height: .9em;
	background-color: #d6cebb;
}

@media screen and (max-width: 1000px) {
	
	.schedule h2 > span {
		font-size: 3.6vw;
	}
	
}

@media screen and (max-width: 640px) {
	
	.schedule {
		margin-top: 8vw;
	}
	
	.schedule .head {
		padding-top: 38px;
		background-size: 100px auto;
	}
	
	.schedule .head .time {
		height: 24px;
		padding: 0 16px 0 30px;
		background-size: 24px 24px;
		font-size: 1.7rem;
	}
	
	.schedule .head .place {
		padding-left: 15px;
		font-size: 5.3vw;
	}
	
	.schedule h2 {
		margin-top: 17px;
		padding-top: 20px;
		background-size: 160px auto;
	}
	
	.schedule h2 > span {
		font-size: 7vw;
	}
	
}


/* ---- image + text set ---- */

.col-set {
	position: relative;
	margin-top: 50px;
}

.col-set + .col-set {
	margin-top: 20px;
}

.col-set .txt {
	position: relative;
	z-index: 10;
	padding: 40px;
	border-top: 3px solid #302418;
	background-color: #fff;
}

.col-set.left .txt {
	margin: 0 auto 0 0;
	border-left: 3px solid #302418;
	border-radius: 20px 0 0 0;
}

.col-set.left .txt::after {
	content: "";
	display: block;
	position: absolute;
	left: -49px;
	top: -43px;
	width: 69px;
	height: 75px;
	background-image: url(../media/images/text_left.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

.col-set.right .txt {
	margin: 0 0 0 auto;
	border-right: 3px solid #302418;
	border-radius: 0 20px 0 0;
}

.col-set.right .txt::after {
	content: "";
	display: block;
	position: absolute;
	right: -49px;
	top: -43px;
	width: 69px;
	height: 75px;
	background-image: url(../media/images/text_right.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

.col-set .txt p {
	line-height: 2;
}

.col-set .txt p.note {
	margin-top: 15px;
	font-size: 1.2rem;
	line-height: 1.7;
}

.col-set .txt p + p:not(.note) {
	margin-top: 12px;
	padding-top: 44px;
	background-image: url(../media/images/trees.png);
	background-size: 72px 31px;
	background-position: 50% 0;
	background-repeat: no-repeat;
}

.col-set svg {
	position: absolute;
	z-index: 1;
}

.clip-path {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 0;
	overflow: hidden;
}

@media screen and (max-width: 640px) {
	
	.col-set {
		margin-top: 8vw;
	}
	
	.col-set + .col-set {
		margin-top: 4vw;
	}
	
	.col-set .txt {
		padding: 7vw;
	}
	
	.col-set.left .txt {
		width: auto !important;
		border-radius: 16px 0 0 0;
	}
	
	.col-set.left .txt::after {
		left: -33px;
		top: -29px;
		width: 46px;
		height: 50px;
	}
	
	.col-set.right .txt {
		width: auto !important;
		border-radius: 0 16px 0 0;
	}
	
	.col-set.right .txt::after {
		right: -33px;
		top: -29px;
		width: 46px;
		height: 50px;
	}
	
	.col-set .txt p {
		line-height: 1.7;
	}
	
	.col-set .txt p.note {
		margin-top: 10px;
		font-size: 1.1rem;
		line-height: 1.5;
	}
	
	.col-set svg {
		display: block;
		position: static;
		margin-top: 4vw;
	}
	
}


/* ---- go next arrow ---- */

.go-next {
	margin-top: 55px;
	padding-bottom: 66px;
	background-image: url(../media/images/go_next.png);
	background-size: 66px 66px;
	background-position: 50% 100%;
	background-repeat: no-repeat;
	font-size: 2.1rem;
	font-weight: bold;
	text-align: center;
}

.go-next em {
	margin: 0 .1em;
	font-size: 3rem;
}

.go-next.car {
	padding: 33px 0 74px;
	background-image: url(../media/images/car.png), url(../media/images/go_next.png);
	background-size: 72px 34px, 66px 66px;
	background-position: 50% 0, 50% 100%;
	background-repeat: no-repeat, no-repeat;
}

.go-next.walk span {
	display: inline-block;
	position: relative;
	margin-bottom: 8px;
	padding-left: 60px;
}

.go-next.walk span::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: -18px;
	width: 49px;
	height: 63px;
	background-image: url(../media/images/walk.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

@media screen and (max-width: 640px) {
	
	.go-next {
		margin-top: 8vw;
		padding-bottom: 44px;
		background-size: 44px 44px;
		font-size: 1.7rem;
	}
	
	.go-next em {
		font-size: 2.4rem;
	}
	
	.go-next.car {
		padding: 33px 0 53px;
		background-size: 72px 34px, 44px 44px;
	}
	
}


/* ---- schedule: day-1 08:00 ---- */

.schedule-1-08 {
	position: relative;
	margin-top: 70px;
}

.schedule-1-08::after {
	content: "";
	display: block;
	position: absolute;
	right: -10%;
	bottom: -20px;
	width: 185px;
	height: 140px;
	background-image: url(../media/images/letsgo.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.schedule-1-08 p {
	margin-top: 45px;
	line-height: 1.9;
	text-align: center;
}

@media screen and (max-width: 1200px) {
	
	.schedule-1-08::after {
		right: 10px;
		bottom: -160px;
	}
	
}

@media screen and (max-width: 640px) {
	
	.schedule-1-08 {
		margin-top: 8vw;
	}
	
	.schedule-1-08::after {
		right: 20px;
		bottom: -90px;
		width: 111px;
		height: 84px;
	}
	
	.schedule-1-08 p {
		margin-top: 7vw;
		line-height: 1.7;
		text-align: left;
	}
	
}


/* ---- schedule: day-1 10:00 ---- */

.schedule-1-10 .col-set.right {
	margin-top: 80px;
}

.schedule-1-10 .col-set.right .txt {
	width: 54%;
}

.schedule-1-10 .col-set.left .txt {
	width: 50%;
}

.schedule-1-10 .img-1 {
	left: 0;
	top: -55px;
	z-index: 1;
	width: 50%;
}

.schedule-1-10 .img-2 {
	left: 5%;
	bottom: 5%;
	z-index: 2;
	width: 30%;
}

.schedule-1-10 .img-3 {
	left: 55%;
	top: 8%;
	z-index: 1;
	width: 40%;
}

@media screen and (max-width: 640px) {
	
	.schedule-1-10 .col-set.right {
		margin-top: 8vw;
	}
	
	.schedule-1-10 .img-1 {
		width: 90%;
		margin-left: 5%;
	}
	
	.schedule-1-10 .img-2 {
		width: 50%;
		margin-left: 45%;
	}
	
	.schedule-1-10 .img-3 {
		width: 80%;
		margin-left: 10%;
	}
	
}


/* ---- about igashira ---- */

.about-igashira {
	position: relative;
	width: 92%;
	margin: 50px auto 0;
	padding: 100px 5% 5%;
	border: 3px solid #302418;
	border-radius: 10px;
	background-color: #fff;
	background-image: url(../media/images/igashira_map.jpg);
	background-size: auto 94%;
	background-position: right 5% bottom 3%;
	background-repeat: no-repeat;
}

.about-igashira h2 {
	position: absolute;
	left: -40px;
	top: -21px;
	width: 257px;
	height: 89px;
}

.about-igashira p {
	line-height: 2;
}

.about-igashira ul {
	width: 260px;
	margin-top: 35px;
	padding: 10px 20px;
	border: 10px solid #f3f0ea;
}

.about-igashira li {
	position: relative;
	padding: 5px 0 5px 1.3em;
}

.about-igashira li::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 5px;
	width: 1em;
	height: 1em;
	border-radius: .5em;
}

.about-igashira li:nth-child(1)::before { background-color: #b5d5ad; }
.about-igashira li:nth-child(2)::before { background-color: #bbe2f2; }
.about-igashira li:nth-child(3)::before { background-color: #ffeb7c; }
.about-igashira li:nth-child(4)::before { background-color: #d0d0bf; }
.about-igashira li:nth-child(5)::before { background-color: #ffbfbf; }

@media screen and (max-width: 768px) {
	
	.about-igashira {
		width: auto;
		margin: 10vw 0 0;
		padding: 86px 5% 70%;
		background-size: 96% auto;
		background-position: left 50% bottom 3%;
	}
	
	.about-igashira h2 {
		left: -15px;
		top: -25px;
	}
	
	.about-igashira p {
		line-height: 1.7;
	}
	
	.about-igashira ul {
		width: auto;
		max-width: 400px;
		margin-top: 5vw;
		padding: 2vw 5vw;
		border: 7px solid #f3f0ea;
	}
	
}


/* ---- schedule: day-1 13:00 ---- */

.schedule-1-13 .col-set.right {
	margin-top: 80px;
}

.schedule-1-13 .col-set.right .txt {
	width: 54%;
}

.schedule-1-13 .col-set.left .txt {
	width: 50%;
}

.schedule-1-13 .img-1 {
	left: 8%;
	top: -55px;
	z-index: 1;
	width: 40%;
}

.schedule-1-13 .img-2 {
	left: 5%;
	bottom: 3%;
	z-index: 2;
	width: 22%;
}

.schedule-1-13 .img-3 {
	left: 60%;
	bottom: 8%;
	z-index: 1;
	width: 37%;
}

@media screen and (max-width: 640px) {
	
	.schedule-1-13 .col-set.right {
		margin-top: 8vw;
	}
	
	.schedule-1-13 .img-1 {
		width: 90%;
		margin-left: 5%;
	}
	
	.schedule-1-13 .img-2 {
		width: 50%;
		margin-left: 15%;
	}
	
	.schedule-1-13 .img-3 {
		width: 80%;
		margin-left: 10%;
	}
	
}


/* ---- schedule: day-1 14:30 ---- */

.schedule-1-14 h2 {
	position: relative;
	z-index: 2;
}

.schedule-1-14 h2 span::after {
	content: none;
}

.agrikko {
	display: flex;
	align-items: center;
	width: 92%;
	margin: -3.4rem auto 0;
	padding: 55px 5% 5%;
	border-radius: 10px;
	background-color: #e0d8c6;
}

.agrikko svg {
	display: block;
	width: 34%;
}

.agrikko p {
	width: 66%;
	padding-left: 5%;
	line-height: 2;
}

@media screen and (max-width: 640px) {
	
	.agrikko {
		display: block;
		width: auto;
		margin: -6.2vw 0 0;
		padding: 8vw 5vw 8vw;
	}
	
	.agrikko svg {
		width: 94%;
		margin-left: 3%;
	}
	
	.agrikko p {
		width: auto;
		margin-top: 5vw;
		padding-left: 0;
		line-height: 1.7;
	}
	
}


/* ---- schedule: day-1 15:15 ---- */

.schedule-1-15 .col-set.left .txt {
	width: 52%;
}

.schedule-1-15 .img-1 {
	left: 50%;
	top: 11%;
	z-index: 1;
	width: 45%;
}

.schedule-1-15 .img-2 {
	left: 72%;
	bottom: 2%;
	z-index: 2;
	width: 28%;
}

@media screen and (max-width: 640px) {
	
	.schedule-1-15 .img-1 {
		width: 90%;
		margin-left: 7%;
	}
	
	.schedule-1-15 .img-2 {
		width: 65%;
		margin-left: 3%;
	}
	
}


/* ---- schedule: day-1 18:00 ---- */

.schedule-1-18 .col-set.right {
	padding-bottom: 22%;
}

.schedule-1-18 .col-set.right .txt {
	width: 54%;
}

.schedule-1-18 .img-1 {
	left: 0;
	top: 7%;
	z-index: 1;
	width: 40%;
}

.schedule-1-18 .img-2 {
	left: 33%;
	bottom: 0;
	z-index: 2;
	width: 31%;
}

.schedule-1-18 .img-3 {
	left: 71%;
	bottom: 11%;
	z-index: 2;
	width: 25%;
}

@media screen and (max-width: 640px) {
	
	.schedule-1-18 .col-set.right {
		padding-bottom: 0;
	}
	
	.schedule-1-18 .img-1 {
		width: 90%;
		margin-left: 7%;
	}
	
	.schedule-1-18 .img-2 {
		width: 65%;
		margin-left: 3%;
	}
	
	.schedule-1-18 .img-3 {
		width: 50%;
		margin-left: 36%;
	}
	
}


/* ---- schedule: day-1 20:00 ---- */

.schedule-1-20 .col-set.left {
	margin-top: 80px;
}

.schedule-1-20 .col-set.left .txt {
	width: 56%;
}

.schedule-1-20 .img-1 {
	right: 0;
	top: -50px;
	z-index: 1;
	width: 30%;
}

.schedule-1-20 .img-2 {
	right: 4%;
	bottom: -8%;
	z-index: 2;
	width: 37%;
}

@media screen and (max-width: 640px) {
	
	.schedule-1-20 .col-set.left {
		margin-top: 8vw;
	}
	
	.schedule-1-20 .img-1 {
		width: 90%;
		margin-left: 5%;
	}
	
	.schedule-1-20 .img-2 {
		width: 56%;
		margin-left: 42%;
	}
	
}


/* ---- schedule: day-1 21:00 ---- */

.schedule-1-21 .col-set.left {
	padding-bottom: 26%;
}

.schedule-1-21 .col-set.left .txt {
	width: 63%;
}

.schedule-1-21 .img-1 {
	right: 0;
	top: 11%;
	z-index: 1;
	width: 40%;
}

.schedule-1-21 .img-2 {
	left: 35%;
	bottom: 0;
	z-index: 2;
	width: 33%;
}

.schedule-1-21 .img-3 {
	left: 7%;
	bottom: 19%;
	z-index: 2;
	width: 25%;
}

@media screen and (max-width: 640px) {
	
	.schedule-1-21 .col-set.left {
		padding-bottom: 0;
	}
	
	.schedule-1-21 .img-1 {
		width: 65%;
		margin-left: 3%;
	}
	
	.schedule-1-21 .img-2 {
		width: 90%;
		margin-left: 7%;
	}
	
	.schedule-1-21 .img-3 {
		width: 50%;
		margin-left: 36%;
	}
	
}


/* ---- schedule: day-2 10:30 ---- */

.schedule-2-10 .col-set.right .txt {
	width: 55%;
}

.schedule-2-10 .img-1 {
	left: 6%;
	top: 8%;
	z-index: 1;
	width: 42%;
}

.schedule-2-10 .img-2 {
	left: 0;
	bottom: -20%;
	z-index: 2;
	width: 29%;
}

@media screen and (max-width: 640px) {
	
	.schedule-2-10 .img-1 {
		width: 90%;
		margin-left: 5%;
	}
	
	.schedule-2-10 .img-2 {
		width: 56%;
		margin-left: 2%;
	}
	
}


/* ---- schedule: day-2 15:00 ---- */

.schedule-2-15 .head {
	padding: 45px 0 28px;
	background-image: url(../media/images/stars.png), url(../media/images/bar.png);
	background-size: 115px 25px, 325px 8px;
	background-position: 50% 0, 50% 100%;
	background-repeat: no-repeat, no-repeat;
}

.schedule-2-15 p {
	margin-top: 45px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.9;
	text-align: center;
}

@media screen and (max-width: 1000px) {
	
	.schedule-2-15 p {
		font-size: 1.6rem;
	}
	
}

@media screen and (max-width: 640px) {
	
	.schedule-2-15 .head {
		padding: 38px 0 20px;
		background-size: 100px auto, 160px auto;
	}
	
	.schedule-2-15 p {
		margin-top: 7vw;
		line-height: 1.7;
		text-align: left;
	}
	
}


/* ---- plans ---- */

.plans {
	margin-top: 100px;
	padding: 50px 0 70px;
	background-color: #e0d8c6;
}

.plans h2 {
	text-align: center;
}

.plans h2 img {
	width: 345px;
}

.plans h2 + p {
	margin-top: 16px;
	line-height: 2;
	text-align: center;
}

.plans li {
	display: flex;
	margin-top: 45px;
}

.plans li .img {
	width: 32%;
}

.plans li .txt {
	width: 64%;
	margin-left: 4%;
}

.plans h3 {
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.4;
}

.plans p {
	margin: 20px 0 24px;
	line-height: 1.8;
}

.plans a.btn {
	display: inline-block;
	padding: 1em 2em;
	border-radius: 5px;
	background-color: #ea6c78;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: .05em;
	transition: background-color .2s;
}

.plans a.btn:hover,
.plans a.btn:active {
	background-color: #302418;
	text-decoration: none;
}

@media screen and (max-width: 640px) {
	
	.plans {
		margin-top: 15vw;
		padding: 8vw 0 14vw;
	}
	
	.plans h2 img {
		width: 75%;
		max-width: 345px;
	}
	
	.plans h2 + p {
		margin-top: 3vw;
		line-height: 1.7;
		text-align: left;
	}
	
	.plans li {
		display: block;
		margin-top: 8vw;
	}
	
	.plans li + li {
		margin-top: 8vw;
		padding-top: calc(8vw + 4px);
		background-image: url(../media/images/bar.png);
		background-size: 160px auto;
		background-position: 50% 0;
		background-repeat: no-repeat;
	}
	
	.plans li .img {
		width: 75%;
		margin: 0 auto 6vw;
	}
	
	.plans li .txt {
		width: auto;
		margin-left: 0;
	}
	
	.plans h3 {
		font-size: 1.6rem;
	}
	
	.plans p {
		margin: 4vw 0 5vw;
		line-height: 1.6;
	}
	
	.plans a.btn {
		display: block;
		width: 60%;
		margin: 0 auto;
		padding: 1.3em 0;
		text-align: center;
		transition: none;
	}
	
	.plans a.btn:hover,
	.plans a.btn:active {
		background-color: #ea6c78;
	}
	
}


/* ---- access ---- */

.access {
	padding: 50px 0 100px;
	background-color: #fff;
}

.access h2 {
	text-align: center;
}

.access h2 img {
	width: 293px;
}

.access #gmap {
	height: 400px;
	margin-top: 40px;
}

.access #gmap iframe {
	width: 100%;
	height: 100%;
	border: 0;
	pointer-events: none;
}

@media screen and (max-width: 640px) {
	
	.access {
		padding: 8vw 0 14vw;
	}
	
	.access h2 img {
		width: 60%;
		max-width: 293px;
	}
	
	.access #gmap {
		height: 70vw;
		margin-top: 8vw;
	}
	
}


/* ---- cta ---- */

#cta {
	position: fixed;
	right: 30px;
	bottom: 15px;
	z-index: 100;
	width: 170px;
	transform: translateY(200px);
	transition: transform .5s ease-out;
}

#cta.show {
	transform: translateY(0);
}

#cta.floor {
	transform: translateY(200px);
}

#cta img {
	display: block;
}

#page-top-ceil {
  position: absolute;
  left: 0;
  top: 110vh;
  bottom: 0;
  z-index: -100;
  width: 1px;
  pointer-events: none;
}

#page-top-floor {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -100;
  width: 1px;
  height: 1320px;
  pointer-events: none;
}

@media screen and (max-width: 640px) {
	
	#cta {
		right: 3vw;
		bottom: 3vw;
		width: 107px;
		transform: translateY(140px);
	}
	
	#cta.floor {
		transform: translateY(140px);
	}
	
	#page-top-floor {
	  height: 330vw;
	}
	
}
