@charset "UTF-8";

body{
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-size:1.0rem;
	line-height:1.75em;
	
	font-optical-sizing: auto;
	font-weight:normal;
	font-style: normal;
	
	background-color:#fff;
	background-image: url("../images/bg-pat001.webp");
	background-repeat: repeat;
	background-size:83px 80px;
	background-position: center;
	
	color:#000;
	
	scroll-behavior: smooth;
}

a{
	color:#f44;
	text-decoration: none;
}

a:hover{
	color:#f88;
	text-decoration: underline;
}

img{
	max-width: 100%;
	max-height: 100%;
}

/*----- FONTFAMILY -----*/

.sans-serif{
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-optical-sizing: auto;
	font-weight:normal;
	font-style: normal;
}

.serif{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-optical-sizing: auto;
	font-weight:normal;
	font-style: normal;
}

/*----- loading -----*/

#loading {
	position: fixed;
	top: 0;
	left: 0;
	
	width: 100%;
	height: 100%;
	
	background-color: #00a;
	
	display: flex;
	justify-content: center;
	align-items: center;
	
	z-index: 9999;
	text-align: center;
}
	
#loading img{
	width: 160px;
	margin: 0 auto;
}
	
#loading-after-content {
	opacity: 0;
	transition: opacity 0.5s ease;
}

/*----- HEADER -----*/

#header{
	width:100%;
	height:360px;
	
	background-color:#000;
	color:#fff;
	
	position: relative;
}

#header::before{
	display:block;
	content:"";
	
	width:100%;
	height:100%;
	
	background-color:#000;
	background-image: url("../images/img-cover-shimoda.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	
	position: absolute;
	top:0;
	left:0;
	
	z-index: 10;
}

#header::after{
	display:block;
	content:"";
	
	width:100%;
	height:100%;
	
	/*background-color: #888;*/
	
	position: absolute;
	top:0;
	left:0;
	
	z-index: 20;
	
	opacity: 0.5;
}

#header div.content{
	width:100%;
	height:100%;
	
	position: absolute;
	top:0;
	left:0;
	
	z-index: 30;
	
	display:flex;
	align-items: center;
	justify-content: center;
}

#header h1{
	width:100%;
	margin:0 auto;
	
	text-align: center;
}

#header h1 img{
	width:100%;
	max-width: 480px;
	vertical-align: bottom;
}

@media only screen and (min-width: 768px){
	
	#header{
		height:480px;
	}
	
	#header h1 img{
		max-width: 640px;
	}
	
}

/*----- IMG-THUMBNAIL -----*/

.img-thumbnail{
	width:100%;
}

.img-thumbnail img{
	width:100%;
	vertical-align: bottom;
}

/*----- NAVIGATION -----*/

#navigation{
	display:none;
	
	width:100%;
	
	background-color:#a00;
	background-image: url("../images/bg-pat002.webp");
	background-repeat: repeat;
	background-size: 79px 69px;
	background-position: center;
}

#navigation ul{
	width:100%;
	margin:0 auto;
	max-width: 1080px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
}

#navigation ul li{
	width:25%;
	
	font-size:1.0rem;
	line-height:80px;
	font-weight:700;
	
	letter-spacing: 0.05em;
	
	text-align: center;
	
	position: relative;
}

#navigation ul li::after{
	display:block;
	content:"";
	
	width:1px;
	height:25px;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

#navigation ul li:last-child::after{
	display:none;
}

#navigation ul li a{
	display:block;
	color:#fff;
}

#navigation ul li a:hover{
	opacity: 0.75;
	text-decoration: none;
}

@media only screen and (min-width: 768px){
	
	#navigation ul li{
		font-size:1.5rem;
		line-height:80px;
	}
	
}

/*----- INNER-HEADER -----*/

.inner-header{
	width:100%;
	
	box-sizing: border-box;
	padding:25px 0;
	
	background-color:#a00;
	background-image: url("../images/bg-pat002.webp");
	background-repeat: repeat;
	background-size: 79px 69px;
	background-position: center;
	
	color:#fff;
}

.inner-header h3{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-size:2.0rem;
	line-height:50px;
	font-weight:700;
	
	letter-spacing: 0.05em;
	
	text-align: center;
}

.inner-header h3 span{
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 60px;
	
	position: relative;
}

.inner-header h3 span::before{
	display:block;
	content:"";
	
	width:50px;
	height:1.5px;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
}

.inner-header h3 span::after{
	display:block;
	content:"";
	
	width:50px;
	height:1.5px;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

@media only screen and (min-width: 768px){
	
	.inner-header h3{
		font-size:2.5rem;
		line-height:80px;
	}
	
}

/*----- OUTLINE -----*/

#outline{
	width:100%;
	
	background-color:transparent;
	color:#000;
}

#outline div.content{
	width:100%;
	margin:0 auto;
	max-width: 1080px;
	
	box-sizing: border-box;
	padding:10px;
}

#outline div.period{
	width:100%;
	margin:25px auto;
	max-width: 640px;
	
	text-align: center;
	
	background-color:#fff;
	color:#000;
	
	box-sizing: border-box;
	padding:10px;
	padding-top:30px;
	border:solid 2.5px #00a;
	
	position: relative;
}

#outline div.period h6{
	width:240px;
	
	font-size:1.25rem;
	line-height:40px;
	font-weight:700;
	letter-spacing: 0.05em;
	
	text-align: center;
	
	background-color:#00a;
	color:#fff;
	
	border-radius:50px;
	
	position: absolute;
	top:-20px;
	left:0;
	right:0;
	
	margin:0 auto;
}

#outline div.period ul{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	
	width:100%;
}

#outline div.period ul li{
	display:block;
	
	font-size:1.0rem;
	line-height:30px;
	font-weight:700;
	
	box-sizing: border-box;
	padding:0 10px;
	
	position: relative;
	
	color:#00a;
}

#outline div.period ul li:nth-child(1)::after{
	display:block;
	content:"";
	
	width:10px;
	height:10px;
	
	background-color:#00a;
	
	position: absolute;
	top:0;
	bottom:0;
	right:-7.5px;
	
	margin:auto 0;
	
	clip-path: polygon(0 0,75% 50%,0 100%);
}

#outline div.period p.note{
	font-size:0.8rem;
	line-height:30px;
	font-weight:700;
}

@media only screen and (min-width: 768px){
	
	#outline div.content{
		padding:20px;
		padding-top:50px;
	}
	
	#outline div.period h6{
		font-size:1.5rem;
		line-height:40px;
		letter-spacing: 0.15em;
		
		top:-20px;
	}
	
	#outline div.period ul li{
		font-size:1.5rem;
		line-height:40px;
		
		padding:0 20px;
	}
	
	#outline div.period p.note{
		font-size:1.0rem;
		line-height:30px;
	}
	
	#outline div.period ul li:nth-child(1)::after{
		width:15px;
		height:15px;
		
		right:-10px;
	}
	
}

/*----- PICKUP -----*/

#pickup{
	width:100%;
	
	background-color:transparent;
	color:#000;
}

#pickup div.content{
	width:100%;
	margin:0 auto;
	max-width: 1080px;
	
	box-sizing: border-box;
	padding:10px;
}

#pickup p.note{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	
	font-size:1.0rem;
	line-height:25px;
	font-weight:700;
	
	text-align: center;
}

#pickup p.note span{
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 20px;
	
	position: relative;
}

#pickup p.note span::before{
	display:block;
	content:"";
	
	width:1.5px;
	height:40px;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
	
	transform: rotate(-30deg);
}

#pickup p.note span::after{
	display:block;
	content:"";
	
	width:1.5px;
	height:40px;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
	
	transform: rotate(30deg);
}

#pickup h6{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	
	font-size:1.5rem;
	line-height:50px;
	font-weight:700;
	
	color:#00a;
	
	text-align: center;
	margin-bottom:20px;
}

#pickup h6 span{
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 30px;
	
	position: relative;
}

#pickup h6 span::before{
	display:block;
	content:"〜";
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
}

#pickup h6 span::after{
	display:block;
	content:"〜";
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

#pickup div.lineup{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

#pickup div.lineup div.row{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	margin-bottom:20px;
}

#pickup div.lineup div.row div.inner{
	width:100%;
	height:100%;
	
	background-color:#fff;
	color:#000;
	
	border-radius:5px;
	
	position: relative;
}

#pickup div.lineup div.row p.number{
	font-size:2.0rem;
	line-height:30px;
	font-weight:700;
	
	text-align: center;
	
	color:#00a;
	
	box-sizing: border-box;
	padding-top:12.5px;
}

#pickup div.lineup div.row p.number span{
	display:inline-block;
	
	font-size:1.0rem;
	line-height:30px;
	
	box-sizing: border-box;
	padding-left:2.5px;
	
	color:#000;
}

#pickup div.lineup div.row p.category{
	width:70px;
	height:70px;
	
	position: absolute;
	top:0;
	left:0;
	
	z-index: 10;
	
	background-color:#00a;
	color:#fff;
	
	font-size:2.0rem;
	line-height:70px;
	font-weight:700;
	
	text-align: center;
	
	border-top-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

#pickup div.lineup div.row p.category span{
	display:inline-block;
	
	font-size:1.0rem;
	line-height:50px;
	
	box-sizing: border-box;
	padding-left:2.5px;
	font-weight:400;
}

#pickup div.lineup div.row p.comment{
	width:80px;
	height:80px;
	
	position: absolute;
	top:-10px;
	right:-10px;
	
	font-size:0.6rem;
	line-height:20px;
	
	text-align: center;
	
	background-color:#00a;
	color:#fff;
	
	box-sizing: border-box;
	padding:10px;
	
	border-radius:80px;
}

#pickup div.lineup div.row p.comment span{
	display:block;
	font-weight:700;
	
	font-size:1.0rem;
	line-height:20px;
	
	color:#ff0;
}

#pickup div.lineup div.row p.count{
	font-size:0.8rem;
	line-height:25px;
}

#pickup div.lineup div.row p.count span{
	font-weight:700;
	color:#a00;
	
	font-size:1.0rem;
	line-height:25px;
	
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

#pickup div.lineup div.row p.extra{
	font-size:0.6rem;
	line-height:1.75em;
}

#pickup div.lineup div.row p.thumbnail{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	position: relative;
}

#pickup div.lineup div.row p.thumbnail img{
	width:100%;
	vertical-align: bottom;
	
	border-radius:5px;
}

#pickup div.lineup div.row h4{
	font-size:1.25rem;
	line-height:30px;
	font-weight:700;
	
	text-align: center;
	
	box-sizing: border-box;
	padding:10px;
	padding-bottom:20px;
}

#pickup div.lineup div.row h4 span{
	display:block;
	
	font-size:1.0rem;
	line-height:20px;
	font-weight:400;
}

#pickup div.lineup div.row h4 em{
	font-size:0.6rem;
	line-height:1.75em;
	
	display:block;
	font-weight:400;
	
	box-sizing: border-box;
	padding:10px 10px 0;
}

#pickup div.lineup div.extra{
	width:100%;
	margin:10px auto 0;
}

#pickup div.lineup div.extra div.twin{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	
	width:100%;
}

#pickup div.lineup div.extra p.thumbnail{
	width:120px;
}

#pickup div.lineup div.extra p.thumbnail img{
	width:100%;
	vertical-align: bottom;
}

#pickup div.lineup div.extra div.text{
	width:calc(100% - 120px);
	
	box-sizing: border-box;
	padding-left:20px;
}

#pickup div.lineup div.extra div.text p.comment_row{
	display:block;
	width:210px;
	
	font-size:0.8rem;
	line-height:30px;
	font-weight:bold;
	
	background-color:#00a;
	color:#fff;
	
	text-align: center;
	
	position: absolute;
	top:-10px;
	left:120px;
	
	border-radius:2.5px;
}

#pickup div.lineup div.extra div.text p.comment_row span{
	color:#ff0;
}

#pickup div.lineup div.extra div.text h4{
	text-align: left;
	padding:0;
}

@media only screen and (min-width: 768px){
	
	#pickup div.content{
		padding:20px 10px;
	}
	
	#pickup p.note{
		font-size:1.5rem;
		line-height:30px;
	}
	
	#pickup p.note br{
		display:none;
	}
	
	#pickup h6{
		font-size:2.5rem;
		line-height:80px;
	}
	
	#pickup h6 span{
		padding:0 50px;
	}
	
	#pickup div.lineup div.row{
		width:calc(100%/3);
		margin-bottom:0;
	}
	
	#pickup div.lineup div.extra{
		width:50%;
	}
	
	#pickup div.lineup div.extra:nth-of-type(1){
		box-sizing: border-box;
		padding-right:10px;
	}
	
	#pickup div.lineup div.extra:nth-of-type(2){
		box-sizing: border-box;
		padding-left:10px;
	}
	
}

@media only screen and (min-width: 960px){
	
	#pickup div.content{
		padding:20px;
	}
	
	#pickup div.lineup div.row{
		padding:20px;
	}
	
}

/*----- ENTRY -----*/

#entry{
	width:100%;
	
	background-color:transparent;
	color:#000;
}

#entry div.content{
	width:100%;
	margin:0 auto;
	max-width: 960px;
	
	box-sizing: border-box;
	padding:10px;
}

#entry div.row{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
}

#entry div.row div.inner{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	padding-left:60px;
	
	background-color:#fff;
	color:#000;
	
	position: relative;
	
	border-radius:5px;
}

#entry div.row p.number{
	width:40px;
	height:60px;
	
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-size:1.5rem;
	line-height:50px;
	
	text-align: center;
	
	position: absolute;
	top:-5px;
	left:10px;
	
	background-color:#00a;
	color:#fff;
	
	clip-path: polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);
	
	border-top-left-radius: 2.5px;
	border-top-right-radius: 2.5px;
}

#entry div.row h4{
	font-size:1.0rem;
	line-height:1.75em;
}

#entry div.row h4 span{
	color:#a00;
}

#entry div.attention{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	font-size:0.8rem;
	line-height:1.75em;
}

#entry div.attention h6{
	font-weight:700;
	color:#00a;
	
	margin-bottom:10px;
	
	text-decoration: underline;
	text-underline-offset:0.15em;
}

#entry div.attention ul li{
	display:block;
	
	box-sizing: border-box;
	padding-left:15px;
	
	position: relative;
	margin-bottom:5px;
}

#entry div.attention ul li:last-child{
	margin-bottom:0;
}

#entry div.attention ul li::before{
	display:block;
	content:"※";
	
	position: absolute;
	top:-2.5px;;
	left:0;
}

#entry div.caution{
	box-sizing: border-box;
	padding-left:15px;
}

#entry div.caution p{
	box-sizing: border-box;
	padding-left:15px;
	
	position: relative;
	
	margin-bottom:5px;
}

#entry div.caution p:last-child{
	margin-bottom:0;
}

#entry div.caution p::before{
	display:block;
	content:"・";
	
	position: absolute;
	top:0;
	left:0;
}

#entry div.download{
	width:100%;
	margin:50px auto 0;
	max-width: 640px;
}

#entry div.download div.inner{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	padding-top:50px;
	
	background-color:#fff;
	color:#000;
	
	border-radius:5px;
	position: relative;
}

#entry div.download p.thumbnail{
	width:80px;
	height:80px;
	
	position: absolute;
	top:-40px;
	left:0;
	right:0;
	
	margin:0 auto;
}

#entry div.download p.thumbnail img{
	width:100%;
	vertical-align: bottom;
	
	border-radius:80px;
}

#entry div.download h6{
	font-size:1.0rem;
	line-height:40px;
	font-weight:700;
	
	text-align: center;
	
	background-color:#09f;
	color:#fff;
	
	border-radius:2.5px;
	margin-bottom:10px;
}

#entry div.download ul.btn{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: center;
	
	width:100%;
	
	box-sizing: border-box;
	padding:5px;
}

#entry div.download ul.btn li{
	width:50%;
	max-width: 200px;
	
	box-sizing: border-box;
	padding:5px;
}

#entry div.download ul.btn li a{
	display:block;
}

#entry div.download ul.btn li a:hover{
	opacity: 0.75;
}

#entry div.download ul.btn li img{
	width:100%;
	vertical-align: bottom;
	
	border-radius:2.5px;
}

@media only screen and (min-width: 768px){
	
	#entry div.content{
		padding:40px 20px;
	}
	
	#entry div.row div.inner{
		padding:20px;
		padding-left:90px;
	}
	
	#entry div.row p.number{
		width:50px;
		left:20px;
	}
	
	#entry div.row h4{
		font-size:1.25rem;
		line-height:1.75em;
	}
	
	#entry div.download{
		margin:60px auto 0;
	}
	
	#entry div.download div.inner{
		padding:20px;
		padding-top:90px;
	}
	
	#entry div.download p.thumbnail{
		width:120px;
		height:120px;
	}
	
	#entry div.download p.thumbnail img{
		border-radius:120px;
	}
	
	#entry div.download h6{
		font-size:1.25rem;
		line-height:50px;
	}
	
}

/*----- LOCATION -----*/

#location{
	width:100%;
	
	background-color:transparent;
	color:#000;
}

#location div.content{
	width:100%;
	margin:0 auto;
	max-width: 1080px;
	
	box-sizing: border-box;
	padding:5px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
}

#location div.birdeye{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
}

#location div.birdeye p.thumbnail img{
	width:100%;
}

#location div.extra{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
}

#location div.extra ul{
	width:100%;
	margin:0 auto;
	max-width: 320px;
	
	font-size:0.8rem;
	line-height:40px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	
	background-color:#fff;
	color:#000;
	
	border-radius:2.5px;
}

#location div.extra ul li{
	box-sizing: border-box;
	padding:0 5px;
}

#location div.extra ul li:nth-child(1)::before{
	display:inline-block;
	content:"★";
	
	color:#00a;
	
	box-sizing: border-box;
	margin:0 5px;
}

#location div.extra ul li:nth-child(2)::before{
	display:inline-block;
	content:"◉";
	
	color:#a00;
	
	box-sizing: border-box;
	margin:0 5px;
}

#location div.row{
	width:50%;
	
	box-sizing: border-box;
	padding:5px;
}

#location div.row div.inner{
	width:100%;
	height:100%;
	
	box-sizing: border-box;
	padding:5px;
	
	background-color:#fff;
	color:#000;
	
	border-radius:2.5px;
	position: relative;
}

#location div.row p.number{
	width:40px;
	height:40px;
	
	font-size:1.0rem;
	line-height:40px;
	font-weight:700;
	
	text-align: center;
	
	background-color:#00a;
	color:#fff;
	
	position: absolute;
	top:0;
	left:0;
	
	border-top-left-radius: 2.5px;
	border-bottom-right-radius: 2.5px;
}

#location div.row p.thumbnail{
	width:100%;
	position: relative;
}

#location div.row p.thumbnail::before{
	display:block;
	content:"";
	
	box-sizing: border-box;
	padding-top:75%;
}

#location div.row p.thumbnail img{
	width:100%;
	height:100%;
	
	position: absolute;
	top:0;
	left:0;
	
	object-fit: cover;
	object-position: center;
	
	border-radius:2.5px;
}

#location div.row div.text{
	font-size:0.8rem;
	line-height:1.75em;
	
	box-sizing: border-box;
	padding:5px;
}

#location div.row div.text h4{
	font-weight:700;
	text-align: center;
}

#location div.row div.text p{
	font-size:0.6rem;
	line-height:1.75em;
	
	text-align: center;
}

#location div.row div.text p span.spot-qr{
	display:inline-block;
	
	color:#00a;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

#location div.row div.text p span.spot-get{
	display:inline-block;
	
	color:#a00;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

#location div.googlemap{
	width:calc(100% - 10px);
	margin:5px;
	margin-top:15px;
	
	box-sizing: border-box;
	padding:20px;
	
	background-color:#fff;
	
	border-radius:2.5px;
}

#location div.googlemap p.note{
	width:100%;
	
	font-size:0.8rem;
	line-height:30px;
	font-weight:700;
	
	color:#000;
	
	text-align: center;
}

#location div.googlemap p.note span{
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 15px;
	
	position: relative;
}

#location div.googlemap p.note span::before{
	display:block;
	content:"";
	
	width:2px;
	height:20px;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
	
	transform: rotate(-30deg);
}

#location div.googlemap p.note span::after{
	display:block;
	content:"";
	
	width:2px;
	height:20px;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
	
	transform: rotate(30deg);
}

#location div.googlemap p.btn{
	width:100%;
}

#location div.googlemap p.btn a{
	display:block;
	
	width:100%;
	margin:0 auto;
	max-width: 480px;
	
	/*font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;*/
	font-size:1.25rem;
	line-height:60px;
	font-weight:700;
	
	text-align: center;
	
	background-color:#00a;
	color:#fff;
	
	border-radius:5px;
}

#location div.googlemap p.btn span{
	display:inline-block;
	
	box-sizing: border-box;
	padding-left:40px;
	
	position: relative;
}

#location div.googlemap p.btn span::before{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#00a;
	background-image: url("../images/icon-googlemap.webp");
	background-repeat: no-repeat;
	background-size:20px;
	background-position: center;
	color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
	
	border-radius:2.5px;
}

@media only screen and (min-width: 768px){
	
	#location div.content{
		padding:10px;
	}
	
	#location div.row{
		width:calc(100%/3);
		
		padding:10px;
	}
	
	#location div.row div.inner{
		padding:10px;
	}
	
	#location div.row div.text{
		font-size:1.0rem;
		line-height: 1.75em;
	}
	
	#location div.row div.text p{
		font-size:0.8rem;
		line-height:1.75em;
	}
	
	#location div.googlemap p.note{
		font-size:1.25rem;
		line-height:50px;
	}
	
	#location div.googlemap p.note span{
		padding:0 30px;
	}
	
	#location div.googlemap p.note span::before{
		height:30px;
	}
	
	#location div.googlemap p.note span::after{
		height:30px;
	}
	
	#location div.googlemap p.btn a{
		font-size:1.5rem;
		line-height:80px;
	}
	
	#location div.googlemap p.btn span{
		padding-left:60px;
	}
	
	#location div.googlemap p.btn span::before{
		width:50px;
		height:50px;
		
		background-size:30px;
	}
	
}

@media only screen and (min-width: 960px){
	
	#location div.row{
		width:25%;
	}
	
}

#footer{
	width:100%;
	
	background-color:#00a;
	color:#fff;
}

#footer div.content{
	width:100%;
	margin:0 auto;
	max-width: 480px;
	
	box-sizing: border-box;
	padding:40px 20px;
}

#footer div.row{
	margin-bottom:20px;
}

#footer div.row:last-child{
	margin-bottom:0;
}

#footer div.row h6{
	font-weight:700;
	text-align: center;
}

#footer div.row h6 span{
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 30px;
	
	position: relative;
}

#footer div.row h6 span::before{
	display:block;
	content:"";
	
	width:20px;
	height:1px;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
}

#footer div.row h6 span::after{
	display:block;
	content:"";
	
	width:20px;
	height:1px;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

#footer div.row ul{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	
	width:100%;
	
	font-size:0.8rem;
	line-height:30px;
}

#footer div.row ul li{
	display:block;
	
	box-sizing: border-box;
	padding:0 10px;
	position: relative;
}

#footer div.row ul li::after{
	display:block;
	content:"";
	
	width:1px;
	height:10px;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

#footer div.row ul li:last-child::after{
	display:none;
}

#footer div.row p.btn{
	width:100%;
}

#footer div.row p.btn a{
	display:block;
	
	width:240px;
	margin:0 auto;
	
	font-size:1.0rem;
	line-height:50px;
	
	font-weight:700;
	
	text-align: center;
	
	background-color:#fff;
	color:#00a;
	
	border-radius:2.5px;
}

#footer div.row p.btn a:hover{
	opacity: 0.75;
	text-decoration: none;
}

.spot-extra{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: center;
	
	width:100%;
	margin:0 auto;
	max-width: 540px;
	
	background-color:#fff;
	color:#000;
}

.spot-extra p{
	font-size:0.8rem;
	line-height:40px;
	
	box-sizing: border-box;
	padding-left:30px;
	padding-right:10px;
	
	position: relative;
}

.spot-extra p::before{
	display:block;
	content:"";
	
	width:20px;
	height:20px;
	
	/*background-color:#f8f8f8;*/
	
	position: absolute;
	top:0;
	bottom:0;
	left:5px;
	
	margin:auto 0;
	
	background-repeat: no-repeat;
	background-size:15px;
	background-position:center;
}

.spot-extra p:nth-child(1)::before{
	background-image: url("../images/icon-gps.webp");
}

.spot-extra p:nth-child(2)::before{
	background-image: url("../images/icon-qr.webp");
}

.spot-extra p:nth-child(3)::before{
	background-image: url("../images/icon_gift.webp");
	background-size:12.5px;
	left:7.5px;
}

.spot-extra p::after{
	display:block;
	content:"";
	
	width:1px;
	height:15px;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

.spot-extra p:last-child::after{
	display:none;
}

#location div.row div.text p span.icon-qr{
	display:inline-block;
	
	width:30px;
	height:30px;
	
	color:#f8f8f8;
	
	margin:0 2.5px;
	
	background-image: url("../images/icon-qr.webp");
	background-repeat: no-repeat;
	background-size:20px;
	
	background-position: center;
}

#location div.row div.text p span.icon-gps{
	display:inline-block;
	
	width:30px;
	height:30px;
	
	color:#f8f8f8;
	
	margin:0 2.5px;
	
	background-image: url("../images/icon-gps.webp");
	background-repeat: no-repeat;
	background-size:20px;
	
	background-position: center;
}

#location div.row div.text p span.icon-gift{
	display:inline-block;
	
	width:30px;
	height:30px;
	
	color:#f8f8f8;
	
	margin:0 2.5px;
	
	background-image: url("../images/icon_gift.webp");
	background-repeat: no-repeat;
	background-size:15px;
	
	background-position: center;
}

@media only screen and (min-width: 768px){
	
	.spot-extra p{
		font-size:1.0rem;
		line-height:60px;
		
		padding-left:45px;
		padding-right:25px;
	}
	
	.spot-extra p::before{	
		width:30px;
		height:30px;
		
		background-size:25px;
	}
	
	.spot-extra p:nth-child(3)::before{
		background-size:20px;
	}
	
	.spot-extra p::after{
		right:5px;
	}
	
}
