@charset "UTF-8";

/* 基本設定： フォントサイズ */
@media (max-width: 599px) {
	:root {
		font-size: 14px;
	}
}
@media (min-width: 600px) and (max-width: 799px) {
	:root {
		font-size: 16px;
	}
}
@media (min-width: 800px) {
	:root {
		font-size: 18px;
	}
}
/* テスト */

.m {
font-family: 'Concert One', sans-serif;
}

/* 基本設定： ページ全体 */
* {
	margin: 0;
	padding: 0;
	font-style: normal;
	box-sizing: border-box;
}
header, nav, aside, section, article, footer {
	display: block;
}
h1, h2, h3, h4, h5 {
	font-weight: 900;
}
a {
	color: #e50012;
	text-decoration: none;
}
a:hover {
	color: #8fc332;
}
ul, ul li {
	list-style: none;
}
img, iframe {
	border: none;
	vertical-align: bottom;
}
.font120 {
	font-size: 120%;
}
.ja {
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
.ja .contents {
	letter-spacing: .1rem;
}
.en {
	font-family: 'M PLUS Rounded 1c',sans-serif;
}
body {
	font-size: 1rem;
	line-height: 1;
	color: #333;
	background: #0c9 url(../images/wallpaper.png) repeat center;
}
#wrapper {
	max-width: 1000px;
	margin: 0 auto;	
	background-color: #fffeec;
}




/* ヘッダー */
header #toggle {
	padding: 6px;
	color: #333;
}
header #toggle p {
	font-size: 14px;
}
header #toggle p strong {
	font-size: 24px;
	font-weight: 700;
}
header #toggle .button {
	width: 30px;
	height: 36px;
	background: url(../images/toggle-button.svg) center;
}
header #menu, header #lang {
	font-size: 0.8rem;
	background-color: #0c1531;
}
header #menu a {
	display: block;
	padding: 12px;
	font-weight: 700;
	text-align: center;
	color: #fff;
}
header #menu a:hover{
	background-color: rgba(255,255,255,0.3);
}

@media (min-width: 720px) {
	header #menu li {
		flex: 1 1 12.5%;
	}
	header #menu li:not(:last-child) a {
		border-right:1px solid #fffeec;
	}	
}
@media (min-width: 420px) {
	header .container {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	header #toggle {
		order: 1;
	}
	header #toggle i {
		display: none;
	}
	header #menu {
		order: 3;
		width: 100%;
	}
	header #menu ul {
		display: flex;
		flex-wrap: wrap;
	}
	header #lang {
		order: 2;
		padding: 6px;
		background-color: transparent;
	}
	header #lang a {
		display: block;
		width: 38px;
		height: 38px;
		background-position: center;
		background-size: cover;
	}
	.ja header #lang a{
		background-image: url(../images/lang-en.png);
	}
	.en header #lang a {
		background-image: url(../images/lang-ja.png);
	}
	header #lang span {
		display: none;
	}
}
@media (min-width: 420px) and (max-width: 719px) {
	header #menu li {
		flex: 1 1 25%;
	}
	header #menu li:not(:nth-child(4n)) a {
		border-right:1px solid #fffeec;
	}	
	header #menu li:nth-child(-n+4) a{
		border-bottom:1px solid #fffeec;
	}
}
@media (max-width: 419px) {
	header #toggle {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	header #menu, header #lang {
		display: none;
	}
	header #menu li, header #lang li {
		width: 100%;
		border-top:1px solid #fff;
	}
	header #lang a {
		display: block;
		padding: 12px;
		text-align: center;
		color: #333;
	}
	header #lang a:hover{
		background-color: rgba(255,255,255,0.3);
	}
}

/* コンテンツ */
.contents {
	background:  url(../images/contents-bg.png) no-repeat center bottom;
}
.contents .herobox {
	padding-bottom: 1rem;
}
.contents .herobox .slider a {
	display: block;
	width: 100%;
	min-height: 450px;
	background-position: center;
	background-size: cover;
}
.contents .herobox .slider a span {
	display: none;
}
.contents .herobox .wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 450px;
	color: #fff;
	text-align: center;
	background-position: center;
	background-size: cover;
}
.contents .herobox .text {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	max-width: 740px;
}
.contents .herobox h1 {
	font-size: 5rem;
text-shadow: 0 0 3px #000;
}
.contents .herobox p {
	margin-top: 2rem;
	font-size: 1.4rem;
text-shadow: 0 0 3px #000;
}
.contents .box:last-child {
	padding-bottom: 1rem;
}
.contents .box .col {
	display: flex;
	flex-wrap: wrap;
	padding: .5rem;
}
.contents .box .box1 {
	display: flex;
	width: 100%;
}
.contents .box .box2 {
	display: flex;
	flex: 1 1 380px;
}
.contents .box .box3 {
	display: flex;
	flex: 1 1 300px;
}
.contents .box .wrap {
	display: block;
	flex: 1;
	margin: .5rem;
}
.contents .box a.wrap {
	color: inherit;
}
.contents .box a.wrap:hover {
	color: inherit;
	opacity: .8;
}
.contents .box .photo {
	min-height: 150px;
	background-position: center;
	background-size: cover;
}
.contents .box img {
	width: 100%;
}
.contents .box .text {
	margin: .5rem .5rem 0;
}
.contents .box h2 {
	margin-bottom: .5rem;
	font-size: 1.5rem;
}
.contents .box .title {
	margin-bottom: 1rem;
	padding-left: .5rem;
	border-left: solid .75rem #e50012;
	font-size: 2rem;
}
.contents .box .subtitle {
	display: block;
	margin-bottom: 1rem;
	font-size: 1.6rem;
	font-weight: 900;	
	text-align: center;
	text-shadow: 0px 0px 5px #fffeec, 0px 0px 10px #fffeec, 0px 0px 15px #fffeec;
}
.contents .box .subtitle span {
	display: inline-block;
	padding: 0 0.5rem;
	line-height: .75rem;
	border-bottom: solid .6rem #0c9;
}
.contents .box .hishigata {
    font-size: 1.5rem;
}
.contents .box .hishigata:before {
	display: inline-block;
	content: '';
	width: 2.5rem;
	height: 1.5rem;
	vertical-align: top;
	background: url(../images/hishigata.svg) no-repeat left center;
	background-size: contain;
}
.contents .box p {
	font-size: 1rem;
	line-height: 1.2;
}
.contents .box .text > *:not(:last-child), .contents .box .text li:not(:last-child) {
	margin-bottom: .5rem;
}
.contents .box .text dt {
	margin-bottom: .5rem;
	font-weight: 700;
}
.contents .box .text dd {
	margin-bottom: 1rem;
	padding-left: 1rem;
	line-height: 1.2;
}
.contents .box .text dd:last-child {
	margin-bottom: 0;
}
.contents .box .add .wrap {
	padding: 1.5rem;
	text-align: center;
	border: solid 1px #333;
	letter-spacing: 0;
}
.contents .box .add img {
	display: inline-block;
	margin-bottom: 1.5rem;
	width: 80px;
	height: 80px;
}
.contents .box .add h3 {
	font-size: 1.2rem;
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: 900;
}
.contents .box .add p {
	font-size: 1.4rem;
}
.contents .box .iconbox {
	width: 100%;
	margin: .5rem;
}
.contents .box .iconbox .photo {
	min-height: 150px;
	background-position: center;
	background-size: cover;
}
.contents .box .iconbox h2, .contents .box .iconbox h3 {
	margin: 1rem 0 0.5rem;
}
.contents .iframe iframe {
    width: 100%;
    height: 400px;
}

@media (min-width: 680px) {
	.contents .box .iconbox {
		display: flex;
		align-items: center;
	}
	.contents .box .iconbox:nth-child(even) {
		flex-direction: row-reverse;
	}
	.contents .box .iconbox .photo {
		width: 30%;
		height: 100%;
	}
	.contents .box .iconbox .text {
		width: 70%;
		margin: 0;
		padding: 1rem 1.5rem;
	}
	.contents .box .iconbox h2:first-child, .contents .box .iconbox h3:first-child {
		margin-top: 0;
	}
}
@media (max-width: 679px) {
	.contents .box article.iconbox .text {
		margin: 1rem .5rem;
	}
	.contents .box article.iconbox:last-child, .contents .box article.iconbox:last-child .text {
		margin-bottom: 0;
	}
}

/* フッター */
footer {
	color: #fff;
	background-color: #0c1531;
}
footer .container {
	max-width: 1000px;
	margin: 0 auto;
	padding: 2rem 1.5rem 0;
}
footer .add {
	margin-bottom: 2rem;
	font-size: 14px;
}
.en footer .add {
	font-family: 'Concert One', sans-serif;
}
footer .add h2 {
	font-size: 22px;
	font-weight: 900;
	margin-bottom: 8px;
}
footer .add p, footer .add address {
	line-height: 1.4;
}
footer .add address a {
	color: #fff;
}
footer .add address a:hover {
	color: #333;
}
footer .sns ul {
	display: flex;
	margin-top: 1rem;
	padding: 0;
	list-style: none;
}
footer .sns ul a {
	display: block;
	margin: 0 .25rem;
}
footer .sns ul a:hover img {
	opacity: .8;
}
footer .global h3 {
	padding-bottom: 6px;
	font-family: 'Concert One', sans-serif;
	border-bottom: solid 1px currentColor;
	font-size: 14px;
}
footer .global div a {
	display: block;
	padding: 5px;
	color: inherit;
	font-size: 12px;
	text-decoration: none;
}
footer .global div a:hover {
	background-color: rgba(255,255,255,0.3);
}
footer .copy p {
	max-width: 1000px;
	margin: 0 auto;
	padding: 1rem;
	font-size: 12px;
	text-align: center;
	font-family: 'Concert One', sans-serif;
	font-weight: 900;
	letter-spacing: 0;
}

@media (min-width: 780px) {
	footer .container {
		display: flex;
		flex-wrap: wrap;
	}
	footer .add {
		flex: 0 0 40%;
		margin-bottom: 0;
	}
	footer .global {
		flex: 0 0 60%;
	}
}
@media (min-width: 480px) {
	footer .global {
		display: flex;
	}
	footer .global div {
		flex: 1;
	}
	footer .global div:not(:first-child) {
		margin-left: 2rem;
	}
}
@media (max-width: 479px) {
	footer .global div:not(:first-child) {
		margin-top: 1rem;
	}
}

/* price */
#price .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-price.jpg);
}

/* access */
#access .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-access.jpg);
}
#access .print {
	margin: 1rem 1rem 0;
	text-align: right;
}
#access .print input {
	padding: .5rem 1rem;
	border-radius: .25rem;
	border: solid 1px #ccc;
	background: gradient(linear, center top, center bottom, from(#eee), to(#ccc));
	text-shadow: 0 2px 0 #fff;
	font-size: 1rem;
	cursor: pointer;
	outline: none;
}
#access .box .subtitle img {
	display: block;
	margin: 1rem auto;
	width: 80px;
	height: 80px;
}
#access .box .train, #access .box .bus {
	margin-bottom: 0.5rem;
    font-size: 1.5rem;
}
#access .box .train:before, #access .box .bus:before {
	display: inline-block;
	content: '';
	width: 2.5rem;
	height: 2rem;
	vertical-align: sub;
	background: no-repeat left center;
	background-size: contain;
}
#access .box .train:before {
	background-image: url(../images/access-train.svg);
}
#access .box .bus:before {
	background-image: url(../images/access-bus.svg);
}
#access .box .text p.time {
	font-size: 0.8rem;
}
#access .box .text p.time:not(:last-child)  {
	margin-bottom: 1rem;
}

/* facilities */
#facilities .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-facilities.jpg);
}

/* photos */
#photos .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-photos.jpg);
}

/* reservation */
#reservation .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url(../images/hero-reservation.jpg);
}

/* localinfo */
#localinfo .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-localinfo.jpg);
}

/* faq */
#faq .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-faq.jpg);
}
#faq .panel {
	margin: .5rem;
}
#faq .panel dt {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 1rem;
	padding: 1rem;
	cursor: pointer;
	background-color: #eee;
	border-radius: 0.5rem;
}
#faq .panel span {
	display: block;
	padding-left: 2rem;
	font-size: 1.2rem;
	line-height: 1.5rem;
	position: relative;
}
#faq .panel span::before, #faq .panel span::before {
	display: inline-block;
	width: 1.5rem;
	font-family: 'Concert One', sans-serif;
	font-size: 1.1rem;
	font-weight: 900;
	line-height: 1.5rem;
	text-align: center;
	letter-spacing: 0;
	color: #fff;
	border-radius: 50%;
	top: 0;
	left: 0;
	position: absolute;
}
#faq .panel dt span::before {
	content: 'Q';
	background-color: #dc143c;
}
#faq .panel dd span::before {
	content: 'A';
	background-color: #36558f;
}
#faq .panel dt img {
	display: block;
	flex-grow: 0;
	width: 1.5rem;
	height: 1.5rem;
	margin-left: 0.5rem;
	padding: 0.1rem;
	transition: transform .5s;
}
#faq .panel dt.opened img {
	transform: rotate(180deg);
	transition: transform .5s;
}
#faq .panel dd {
	margin: 0 1rem 1.5rem;
}
#faq .panel dd:last-child {
	margin-bottom: 0;
}
#faq .box:last-child {
	margin-bottom: 0;
}

/* akihabara */
#akihabara .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-akihabara.jpg);
}
#akihabara .box .subtitle img {
	display: block;
	margin: 1rem auto;
	width: 200px;
	height: 200px;
	border-radius: 100px;
}

/* drone */
#drone .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-drone.jpg);
}
#drone .box .subtitle img {
	display: block;
	margin: 1rem auto;
	width: 200px;
	height: 200px;
	border-radius: 100px;
}

/* theatre */
#theatre .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-theatre.jpg);
}
#theatre .box .subtitle img {
	display: block;
	margin: 1rem auto;
	width: 200px;
	height: 200px;
	border-radius: 100px;
}

/* sumo */
#sumo .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-sumo.jpg);
}

/* privacypolicy */
#privacypolicy .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-privacypolicy.jpg);
}
#privacypolicy dt {
	margin: 1rem 0;
}
#privacypolicy dd {
	margin: 0 3rem;
}

/* license */
#license .box1 .text p {
	margin-bottom: 1rem;
}

/* links */
#links .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-links.jpg);
}

/* sitemap */
#sitemap .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-sitemap.jpg);
}

/* thanks.html */
#thanks .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-thanks.jpg);
}
div#mfp_thanks {
	text-align: center;
	font-size: 1.4rem;
	padding: 1rem 0;
}
div#mfp_thanks strong {
	display: inline-block;
	font-size: 2rem;
	font-family: 'Concert One', sans-serif;
	font-weight: 900;
	letter-spacing: 0;
	color: #c00;
}

/* error404 */
#error404 .herobox .wrap {
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(../images/hero-error404.jpg);
}

/* Animated Scroll to Top */
#backTop {
	position: fixed;
	width: 64px;
	text-align: center;
	bottom: 3rem;
	right: 1rem;
	cursor: pointer;
}
#backTop:hover {
	opacity: .8;
}
#backTop img {
	display: block;
	margin: 0 auto .5rem;
}
#backTop span {
	display: block;
	font-size: .85rem;
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: 900;
	color: #ca0012;
}
.goto {
/*	background-image:url(../images/gototravel.png);
	background-size:cover;
	opacity: 0.5;
	width: 800px;
	height: 600px; */
}
.goto p {
	width:80%;
	margin:0 auto;
}
.red {
	color: #F00;
	font-weight:bold;
}