﻿@charset "utf-8";
/* CSS Document */

body {
	margin: 0;
	padding: 0;
	background-color: #FFF;
	}

header,main,footer{
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	}

img{max-width: 100%;}

strong{color: #e00016;}
.center{text-align: center;}
.bold{font-weight: bold;}
.small{font-size: 0.8em!important; line-height: 1.4em!important;}
.red{color: #e60012;}

main p > a, main dl a, main table+p a{color: #e46a02!important;}
main p > a:hover, main dl a:hover{color: #e58a3c!important;}
/*main p > a:visited, main dl a:visited{color: #e58a3c;}*/

:hover{
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all  0.5s ease;
	}

a{outline: none;}

a img:hover{opacity: 0.7;}


/*----------NAVI------------*/
header{
	width: 100%;
	background: rgba(1,128,232,0.9);
	position: fixed;
	z-index: 999;
	}

header ul{padding: 0;}
header ul,header li{list-style: none;}

#nav {
	width: 100%;
	max-width: 1480px;
	margin: auto;
	}

#nav > a {display: none;}
#nav li {position: relative;}
#nav li a {
	color: #FFF;
	display: block;
	}

#nav li:first-child img{width: 60%; height: auto; padding-bottom: 0.25em;}
#nav > ul > li:first-child :hover{background: none;}

#nav li a:active {}

#nav > ul > li:nth-child(4) span:after {
	width: 0;
	height: 0;
	border: 0.313em solid transparent;
		border-bottom: none;
		border-top-color: #FFF;
		content: '';
		vertical-align: middle;
		display: inline-block;
		position: relative;
		right: -0.413em;
	}

/*#nav li span:after {
	width: 0;
	height: 0;
	border: 0.313em solid transparent;
		border-bottom: none;
		border-top-color: #FFF;
		content: '';
		vertical-align: middle;
		display: inline-block;
		position: relative;
		right: -0.413em;
	}*/

/*first level*/
#nav > ul {
	height: 3.25em;
	display: flex;
	align-items: center;
	}

#nav > ul > li {flex: 0 1 16.6%;}

#nav > ul > li > a {
	padding: 0.35em;
	font-size: 1.0em;
	line-height: 2.5em;
	text-align: center;
	}

#nav > ul > li:hover > a,
#nav > ul:not( :hover ) > li.active > a {
	color: #FFF;
	background: #017fe8;
	background: -webkit-linear-gradient(#017fe8 25%, #17afd7 100%);
	background: -o-linear-gradient(#017fe8 25%, #17afd7 100%);
	background: linear-gradient(#017fe8 25%, #17afd7 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#017fe8', endColorstr='#17afd7',GradientType=0 );
	}

#nav li:hover span:after {border-top-color: #FFF;}


/*second level*/
#nav li ul {
	background: rgba(0,170,234,0.8);
	display: none;
	position: absolute;
	top: 100%;
	}

#nav li:hover ul {
	display: block;
	left: 0;
	right: 0;
	}

#nav li:not( :first-child ):hover ul {left: -1px;}

#nav li ul a {
	color: #FFF;
	font-size: 1.0em;
	padding: 1em 0.75em;
	text-align: center;
	}

#nav li ul li a:hover,
#nav li ul:not( :hover ) li.active a {background-color: rgba(0,170,234,0.8);}

/*ADMISSION*/
#nav > ul > li:nth-child(5) > ul{display:none;}


/*----------mainContents----------*/

main{
	margin: 0;
	padding: 0 0 3em 0;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: contain;
	}

	#STORE main{padding: 23.5% 0 3em; background-image: url("../images/nobolt/store_bg.jpg");}
	#CAFE main{padding: 30% 0 3em; background-image: url("../images/nobolt/facility_cafe_bg.jpg");}
	#ADMISSION main{padding: 16% 0 3em; background-image: url("../images/nobolt/admission_bg.jpg");}
	#RESERVE main{padding: 12% 0 3em; background-image: url("../images/nobolt/reservation_bg.jpg");}
	#GROUP main{padding: 28% 0 3em; background-image: url("../images/nobolt/group_bg.jpg"); background-position: top -16.5% center!important;}
	#Campaign main{padding: 27% 0 3em; background-image: url("../images/nobolt/store_bg.jpg");}
	#RTP main{padding: 50% 0 3em; background-image: url("../images/nobolt/rtp_bg.jpg");}


main p,main li,main dl{
	font-size: 1em;
	line-height: 1.5em;
	color: #535353;
	}


h2{
	width: auto;
	height: 0;
	margin: 0 auto 1em;
	padding-top: 30px;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
	background-position: center;
	}

	#NEWS h2{background-image: url("../images/nobolt/top_news_h3.png");}
	#Twitter h2{background-image: url("../images/nobolt/top_twitter_h3.png");}
	#ATTRACTION h2{margin: 0 auto; padding-top: 33px; background-image: url("../images/nobolt/facility_attraction_h3.png")}
	#CAFE h2{margin: 1em auto; padding-top: 82px; background-image: url("../images/nobolt/cafe_logo.png")}
	#ADMISSION h2{margin: 0 auto 2em; padding-top: 51px; background-image: url("../images/nobolt/admission_h3.png");}
	#ReserveLink h2{margin: 0 auto; padding-top: 33px; background-image: url("../images/nobolt/reservation_h3.png");}
	#FAQ h2{margin: 0 auto; padding-top: 33px; background-image: url("../images/nobolt/reservation_faq_h3.png");}
	#GROUP h2{margin: 0 auto 1.5em; padding-top: 49px; background-image: url("../images/nobolt/group_h3.png");}


/*共通リンクボタン*/
p.LinkButton{
	width: 100%;
	margin: 0.35em auto 0;
	text-align: center;
	font-weight: bold;
	}

p.LinkButton a{
	padding: 0.25em;
	border: solid 2px #eb6100;
	border-radius: 20px;
	display: block;
	color: #FFF!important;
	background: #eb6100;
	}
	
p.LinkButton a:hover{
	background: #FFF;
	color: #eb6100!important;
	}
	

p.Follow a{border: solid 2px #55acee!important; background: #55acee!important;}
p.Follow a:hover{background: #FFF!important; color: #55acee!important;}


/*-----TOP-----*/


/*メインビジュアル*/
.mainVisual{
	padding: 17.5% 0;
	background: url("../images/nobolt/top_mainvisual.jpg") no-repeat top center;
	background-size: cover;
	}

h1{
	width: 40%;
	height: 0;
	margin: 0 auto;
	padding-top: 18.5%;
	background: url("../images/nobolt/top_catchcopy.png") no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
	background-position: center;
	}

    .event_ticket{margin: 0 auto 1em; background: url("../images/nobolt/top_catchcopy_20230125.png") no-repeat; background-position: center;}
    .event_ticket02{margin: 0 auto 1em; background: url("../images/nobolt/top_catchcopy_20230118.png") no-repeat;}

/*キャッチコピー下リンク*/
.newsLink a {
    margin: 0 auto;
    max-width: 380px;
    padding: 10px 0 10px 70px;
    color: #FFF!important;
    font-weight: 500;
    font-size: 1.1em;
    border-radius: 5px;
    border-bottom: 4px solid #1d7fde;
    overflow: hidden;
    background-color: #6bb6ff;
    background-image: url("../images/nobolt/icon_nobolt_20off_2.png");
    background-repeat: no-repeat;
    background-size: 60px;
    background-position: left 10px center;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    }

.newsLink a:hover{color: #FFF!important;}
.newsLink a:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-image: linear-gradient( 130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
    animation: shine 3s infinite;
    }

@keyframes shine {
    33% {left: 100%;}
    100% {left: 100%;}
    }

.newsLink a:after {
    content: '»';
    display: inline-block;
    color: #fff;
    padding-left: 20px;
    font-size: 30px;
    }

@media only screen and (max-width: 860px){.newsLink a{font-size: 0.95em;}}
@media only screen and (max-width: 480px){
    .newsLink a {margin: 1em 1em 0; max-width: 360px; padding: 10px 0 10px 60px; font-size: 0.85em; background-size: 55px; background-position: left 5px center;}
    .newsLink a:after {padding-left: 10px;}
    }



/*重要なお知らせ*/
#Attention{
	padding: 2em 1em;
	background-color: #e70012;
	background-image: url("../images/nobolt/attention_bg.jpg");
	background-repeat: repeat-x;
	background-position: top left;
	background-size: 18px auto;
	}

#Attention div{
	width: 100%;
	max-width: 1460px;
	margin: auto;
	padding: 1em;
	background: rgba(255,255,255,0.9);
	}

#Attention h3{
	margin: 0;
	padding: 0.5em 1em;
	font-weight: 1.1em;
	line-height: 1.5em;
	color: #e60012;
	border-bottom: solid 2px #e60012;
	}

#Attention li{margin-bottom: 0.5em;}


/*動画*/
#PV{display: flex;}
#PV div{
	flex: 0 1 50%;
	padding: 8% 1em;
	background-image: url("../images/nobolt/movie_cover.png"),url("../images/nobolt/top_movie_bg.jpg");
	background-repeat: repeat,no-repeat;
	background-size: 8px 8px,cover;
	background-position: top left,center;
	}

#PV div:nth-child(2){
	background-image: url("../images/nobolt/movie_cover.png"),url("../images/nobolt/top_movie03_bg.jpg");
	background-position: top left,left center;
	}

#PV p{width: 32.5%; margin: auto; text-align: center;}
#PV div:nth-child(2) p{width: 40%; margin: auto; text-align: center;}

/*新着情報・Twitter*/
#NEWS_SNS{
	width: 100%;
	max-width: 1460px;
	margin: 8% auto;
	display: flex;
	}

#NEWS_SNS > div{flex: 0 1 48%; margin: 0 1%;}
#NEWS_SNS article{padding: 3px;}
#NEWS_SNS article > div{padding: 0.45em;}

#NEWS article{border: solid 2px #e58a3c;}
#NEWS div{ background: #e58a3c; position: relative;}

#NEWS ul{
	margin: 0;
	padding: 0.5em;
	height: 448px;
	overflow: scroll;
	overflow-x: hidden;
	background: #FFF;
	}

#NEWS li{
	border-bottom: dotted 1px #535353;
	list-style-type: none;
	}

#NEWS a{padding: 1em; display: block;}
#NEWS a:hover{background: #fdf8b6;}

#NEWS p:first-child{
	padding-left: 1.8em;
	margin-bottom: 0.25em;
	font-weight: bold;
	background-image: url("../images/nobolt/marker_orange.png");
	background-position: left center;
	background-repeat: no-repeat;
	}


#Twitter article{border: solid 2px #55acee;}
#Twitter div{background: #55acee;}


/*-----NOBOLTとは-----*/

/*店舗概要*/
section.StoreInfo{
	width: 100%;
	max-width: 1480px;
	margin: 5% auto;
	background: rgba(255,255,255,0.8);
	}

section.StoreInfo > div:first-child{
	padding: 5% 10% 2em;
	display: flex;
	flex-wrap: wrap;
	}

section.StoreInfo article:first-child{flex: 0 1 20%;}
section.StoreInfo article:last-child{flex: 0 1 74%; margin-left: 6%;}

.StoreInfo article:first-child p{margin-bottom: 1em; text-align: center;}

.StoreInfo h4{
	margin: 2em 0 0.5em 0;
	padding: 0 0.5em 0.25em 1.8em;
	color: #e58a3c;
	font-size: 1.1em;
	border-bottom: solid 2px #e58a3c;
	background-image: url("../images/nobolt/marker_orange.png");
	background-repeat: no-repeat;
	background-position: left center;
	}

	.StoreInfo h4:first-child{margin: 0 0 0.5em 0;}

.StoreInfo h5{
	width: 7em;
	margin: 1em 0 0.5em;
	padding: 0.25em;
	font-size: 1em;
	color: #FFF;
	text-align: center;
	}

	h5.day{background: #3cabe5;}
	h5.holiday{background: #e60012;}
	h5.off{background: #8f9196;}


.map{
	width:80% !important;
	margin: 1em auto 0!important;
	padding-bottom:46.25%;
	position:relative;
	}

.map iframe{
	width:100%;
	height:100%;
	top:0;
	right:0;
	position:absolute;
	}



/*施設説明*/
section.NOBOLT {
    width: 100%;
    padding: 0 0 0 0;
	}

section.NOBOLT h3{
	color: #FFF;
	font-size: 1.4em;
	margin-top: 2em;
	}

.contents {
	position: relative;
	overflow: hidden;
	padding: 80px 0;
	z-index: 2;
	}

.contents:before {
    content: '';
    position: absolute;
    top: 0;
	left: 0;
	width: 120%;
	height: 75%;
	margin: 3% -10% 0;
	background: #e58a3c;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: rotate(3deg);
	-ms-transform: rotate(3deg);
	transform: rotate(3deg);
	z-index: -1;
	}

.contents_inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 1380px;
    height: 100%;
    margin: 0 auto;
    padding: 2em 0;
    text-align: center;
	}

.contents_inner p{color: #FFF;}

.contents.double:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 120%;
    height: 75%;
    margin: 3% -10% 0;
    background: #f3e929;
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: rotate(-3deg);
    -ms-transform: rotate(-3deg);
    transform: rotate(-3deg);
    z-index: -2;
	}

.fuwafuwa {
	margin-top: 2em;
	-webkit-animation:fuwafuwa 3s infinite linear alternate;
	animation:fuwafuwa 3s infinite linear alternate;
	}

@-webkit-keyframes fuwafuwa {
	0% {-webkit-transform:translate(0, 0) rotate(-10deg);}
	50% {-webkit-transform:translate(0, -7px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(10deg);}
	}

@keyframes fuwafuwa {
	0% {transform:translate(0, 0) rotate(-10deg);}
	50% {transform:translate(0, -7px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(10deg);}
	}


/*-----利用料金-----*/
#ADMISSION section{
	width: 100%;
	max-width: 1480px;
	margin: auto;
    color: #535353;
	}

.adm_Detail div{
    margin: 1em 1em 3em;
    padding: 1.5em 1.5em 1em;
    background: #FFF;
	box-shadow: 0px 0px 5px 0px #bfbfbf;
    }
    
    .general div{border: solid 3px #509de5;}


.general h3{
    margin: 3em 0 1.5em;
    padding-bottom: 1em;
    font-size: 1.6em;
    color: #509de5;
    text-align: center;
    border-bottom: dotted 4px #509de5;
    }
    .general h3:first-child{margin: 0.5em 0 1.5em;}


.general h4{
    margin: 4em 0 0;
    padding: 0.45em 1em;
    font-size: 1.2em;
    color: #FFF;
    background: #509de5;
    }
    .general h3 + h4{margin: 0;}
    #ADMISSION p.center + h4{margin: 2em 0 0;}


#ADMISSION h4 + p{margin: 1em;}

.red{color: #e00016;}

.adm_Detail table{
    width: 98%;
    margin: 1em auto;
    border: solid 1px #a0a0a0;
    text-align: center;
    }

    table.FoodTicket{width: 78%; margin: 1em;}

.adm_Detail th{
    width: 20%;
    padding: 0.65em;
    border-right: solid 1px #a0a0a0;
    border-bottom: solid 1px #a0a0a0;
    background: #eeeeee;
    }

.adm_Detail td{padding: 2em 1em; border-right: solid 1px #a0a0a0; vertical-align: middle;}

.normal, .webEntry{
    max-width: 180px;
    margin: 0 auto 0.25em;
    padding: 0.25em;
    font-weight: bold;
    border-radius: 5px;
    }

    .normal{background: #eeeeee;}
    p + .normal{margin: 1.5em auto 0.25em;}
    .webEntry{margin: 1.5em auto 0.25em; background: #e1e6ef;}

.notes{
    margin-top: 1em;
    padding: 1em 0.5em;
    color: #e00016;
    border: solid 1px #e00016;
    font-size: 0.9em;
    line-height: 1.5em;
    }

.other li{
    padding: 1em 0;
    line-height: 1.8em;
    border-bottom: solid 1px #eeeeee;
    }

.LinkButton{max-width: 800px; margin: 1em;}


@media only screen and (max-width: 860px) {
.general h4{text-align: center;}
    
.adm_Detail table tr:first-child{display: none;}
.adm_Detail table td{
    padding: 0 0 1.5em;
    display: block;
    border-right: none;
    border-bottom: solid 1px #a0a0a0;
    }
.adm_Detail table td:last-child{ border-bottom: none;}

.adm_Detail table td:before {
    display: block;
    margin-bottom: 1.5em;
    padding: 0.65em;
    border-bottom: dotted 1px #a0a0a0;
    background: #eeeeee;
    font-weight: bold;
    }
 
.type01 td:nth-of-type(1):before {content: "料金";}
.type01 td:nth-of-type(2):before {content: "初回登録料";}
.type01 td:nth-of-type(3):before {content: "利用可能時間";}
.type01 td:nth-of-type(4):before {content: "遊べる遊具";}
.type01 td:nth-of-type(5):before {content: "利用条件";}

.type02 td:nth-of-type(1):before {content: "通常プラン";}
.type02 td:nth-of-type(2):before {content: "学生プラン";}
.type02 td:nth-of-type(3):before {content: "キッズプラン";}
.type02 td:nth-of-type(4):before {content: "一緒にプラン";}
#GROUP .type02 td:nth-of-type(5):before {content: "付添プラン";}


.adm_Detail table td > p{margin: 0 1em;}
    
.normal, .webEntry{margin: 0 auto 0.25em!important;}
p + .normal{margin: 1.5em auto 0.25em!important;}
.webEntry{margin: 1.5em auto 0.25em!important;}

    
table.FoodTicket{width: 98%; margin: 1em auto;}
.FoodTicket td:nth-of-type(1):before {content: "通常プラン";}
.FoodTicket td:nth-of-type(2):before {content: "学生プラン";}
    
.notes{margin: 1em 1.5em 0!important;}
.LinkButton{margin: 1em 0;}
    
.adm_Detail ul{margin: 0; padding: 0 0.5em 0 1.5em;}

}




/*-----施設案内-----*/

/*全体図*/
#NOBOLT_MAP{padding: 7% 1em 1em; background: #f3e929;}
#NOBOLT_MAP article{
	width: 100%;
	max-width: 1480px;
	margin: auto;
	}

#NOBOLT_MAP h2{
	width: auto;
	height: 0;
	margin: 0 auto;
	padding-top: 14%;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
	background-position: top center;
	background-image: url("../images/nobolt/facility_attraction_map_h3.png");
	}

#NOBOLT_MAP ul{
	margin: 0 0 2em;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	}

#NOBOLT_MAP li{
	flex: 0 1 24%;
	margin: 0 0.5% 0.5em;
	list-style: none;
	text-align: center;
	}

#NOBOLT_MAP li a{
	display: block;
	padding: 0.45em;
	border-radius: 10rem;
	color: #fff;
	text-transform: uppercase;
	font-size: 1em;
	letter-spacing: .15rem;
	transition: all .3s;
	position: relative;
	overflow: hidden;
	z-index: 1;
	}

#NOBOLT_MAP li a:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #3cb7e5;
	background-image: url("../images/nobolt/reservation_whitemark.png");
	background-repeat: no-repeat;
	background-size: 25px auto;
	background-position: left 1.5em center;
	border-radius: 10rem;
	z-index: -2;
	}

#NOBOLT_MAP li a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0%;
	height: 100%;
	background-color: #3c84e5;
	background-image: url("../images/nobolt/reservation_whitemark.png");
	background-repeat: no-repeat;
	background-size: 25px auto;
	background-position: left 1.5em center;
	transition: all .3s;
	border-radius: 10rem;
	z-index: -1;
	}

#NOBOLT_MAP li a:hover {color: #fff;}
#NOBOLT_MAP li a:hover:before {width: 100%;}

@media only screen and (max-width: 1200px) {
	#NOBOLT_MAP li a{font-size: 0.9em;}
	#NOBOLT_MAP li a:after {background-position: left 1em center; background-size: 20px auto;}
	#NOBOLT_MAP li a:before {background-position: left 1em center; background-size: 20px auto;}
	}

p.kids{max-width: 250px;}
@media only screen and (max-width: 380px) {p.kids{max-width: 150px;}}

p.challenge{
	width: auto;
	height: 0;
	margin: 3em auto;
	padding-top: 3.5%;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
	background-position: top center;
	background-image: url("../images/nobolt/facility_attraction_map_h4.png");
	}


/*各アトラクション*/
#ATTRACTION{
	width: 100%;
	max-width: 1480px;
	margin: 10vh auto 0;
	}

#ATTRACTION > div{margin: 0 1em;}

#ATTRACTION article.grid {
    margin: 2em 0 0;
	display: -ms-grid;
	display: grid;
	gap: 0.5em;
	-ms-grid-columns: 1fr 0.5em 1fr 0.5em 1fr;
	grid-template-columns: 1fr 1fr 1fr;
	-ms-grid-rows: 50vh 0.5em 50vh 0.5em 50vh 0.5em 50vh;
	grid-template-rows: 50vh 50vh 50vh 50vh;
	}

#ATTRACTION article > div{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
	}

	#atrac_01{grid-column: 3 / 5; -ms-grid-column: 4; grid-row: 1 / 3; -ms-grid-column-span: 4; -ms-grid-row: 1; -ms-grid-row-span: 4; background-image: url("../images/nobolt/facility_attraction_03.jpg");}
	#atrac_02{grid-column: 1 / 3; -ms-grid-column: 1; -ms-grid-column-span: 3; background-image: url("../images/nobolt/facility_attraction_02.jpg");}
	#atrac_03{grid-column: 1 / 3; -ms-grid-column: 1; -ms-grid-column-span: 3; -ms-grid-row: 2; -ms-grid-row-span: 2; background-image: url("../images/nobolt/facility_attraction_01.jpg");}
	#atrac_04{grid-column: 1 / 3; -ms-grid-column: 1; -ms-grid-column-span: 3; -ms-grid-row: 4; -ms-grid-row-span: 2; background-image: url("../images/nobolt/facility_attraction_05.jpg");}
	#atrac_05{grid-column: 1 / 3; -ms-grid-column: 1; -ms-grid-column-span: 3; -ms-grid-row: 6; -ms-grid-row-span: 2; background-image: url("../images/nobolt/facility_attraction_06a.jpg");}
	#atrac_06{grid-column: 3 / 5; -ms-grid-column: 4; grid-row: 3 / 5; -ms-grid-column-span: 4; -ms-grid-row: 4; -ms-grid-row-span: 6; background-image: url("../images/nobolt/facility_attraction_04.jpg");}


#ATTRACTION article.block {display: flex; flex-wrap: wrap;}

article.block > div{height: 50vh; flex: 0 1 49.6%; margin: 0.5em 0 0 0;}

	#atrac_07{margin-right: 0.35%; background-image: url("../images/nobolt/facility_attraction_08.jpg");}
	#atrac_08{margin-left: 0.35%; background-image: url("../images/nobolt/facility_attraction_07.jpg");}
	#atrac_09{margin-right: 0.35%; background-image: url("../images/nobolt/facility_attraction_09.jpg");}
	#atrac_10{margin-left: 0.35%; background-image: url("../images/nobolt/facility_attraction_10.jpg");}


#ATTRACTION article > div > div{
	width: 100%;
	padding: 1em;
	background: rgba(0,104,183,0.8);
	display: block;
	position: absolute;
	bottom: 0;
	}

#ATTRACTION h3{
	margin: 0 0 0.5em;
	padding: 0 0 0.5em;
	border-bottom: solid 1.5px #FFF;
	font-size: 1em;
	color: #FFF;
	}

#ATTRACTION p{color: #FFF;}
#ATTRACTION p.kids + p{margin-top: 0.5em; font-size: 0.9em; color: #535353!important;}

p.kidsmark{
	width: 55px;
	height: 55px;
	position: absolute;
	top: -60px;
	}

	@media only screen and (max-width: 380px) {p.kidsmark{width: 45px;	height: 45px; top: -50px;}}


/*---カフェ---*/
#CafeMenu{
	width: 100%;
	max-width: 1480px;
	margin: auto;
	padding: 2em;
	background: rgba(255,255,255,0.8);
	}

#CafeMenu h3{
	margin: 0 0 1em;
	padding: 0.25em 0.5em;
	font-size: 1.6em;
	text-align: center;
	background: #fff100;
	}

	#CafeMenu div + h3{margin-top: 4em;}

#CafeMenu h4{
	margin: 3em 0 1em;
	padding: 0.25em 0.5em;
	font-size: 1.2em;
	border-left: solid 10px #fff100;
	}

	#CafeMenu h4:first-child{margin: 0 0 1em;}

#CafeMenu h5{
	margin: 0 0 0.35em;
	padding: 0 0 0.25em;
	font-size: 1.2em;
	text-align: center;
	border-bottom: solid 4px #fff100;
	}

#CafeMenu section{padding-bottom: 5%;}

.FlexBox{display: flex; flex-wrap: wrap; align-items: center;}
.block02 div,.block02 article{flex: 0 1 48%; margin: 0 1%;}
.block04 article{flex: 0 1 23%; margin: 0 1%;}

/*紹介文*/
.cafeInfo{
	padding-top: 1em;
	margin-bottom: 3em;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	}

.cafeInfo article{flex: 0 1 48%; margin: 0 1%;}


/*価格_アレルギー表記*/
.allergy{
	width: 40%;
	margin: 2em 0 0 55%;
	padding: 1em 5%;
	text-align: center;
	border: solid 5px #fff100;
	}

	.allergy p:first-child{margin-bottom: 0.5em;}

#CafeMenu h5 + p{padding: 0.15em 0; font-weight: bold;}

.icon{
	background-size: auto 100%;
	background-position: center right;
	background-repeat: no-repeat;
	}

	.all{background-image: url("../images/nobolt/cafe_allergy_all.png");}
	.type_01{background-image: url("../images/nobolt/cafe_allergy_icon01.png");}
	.type_01a{background-image: url("../images/nobolt/cafe_allergy_icon01a.png");}
	.type_02{background-image: url("../images/nobolt/cafe_allergy_icon02.png");}
	.type_03a{background-image: url("../images/nobolt/cafe_allergy_icon03a.png");}
	.type_03b{background-image: url("../images/nobolt/cafe_allergy_icon03b.png");}


section#FOOD,div.menu{display: flex; flex-wrap: wrap;}
#FOOD div,#DRINK div{flex: 0 1 48%; margin: 0 1%;}
#FOOD article,#DRINK article{flex: 0 1 46%; margin: 0 2%; padding-bottom: 3em;}
#SWEETS article{flex: 0 1 21%; margin: 0 2%; padding-bottom: 3em;}

#FOOD img,#SWEETS img,#DRINK img{margin-bottom: 1em;}

@media only screen and (max-width: 1200px) {
	section#FOOD{display: block;}
	#CafeMenu div h3{margin-top: 2em;}
	#CafeMenu div + h3{margin-top: 2em;}
	#SWEETS article{flex: 0 46%;}
	}

@media only screen and (max-width: 480px) {
	div.menu{display: block;}
}



/*-----予約-----*/
#RESERVE section{
	width: 100%;
	max-width: 1480px;
	margin: auto auto 10%;
	}

.Attention h3,#FAQ h3{
	margin: 0 0 1em;
	padding: 0.35em 0.75em;
	color: #FFF;
	background: #e00016;
	}


#RESERVE .Attention a{color: #e46a02;}
#RESERVE .Attention a:hover{color: #e58a3c;}

/*注意事項*/
.Attention{
	margin: 1em;
	padding: 1.5em;
	border: double 5px #e00016;
	background:rgba(255,255,255,0.8);
	}

.Attention h4{
	margin: 0;
	padding: 0 0 0 0.5em;
	border-left: solid 8px #e00016;
	color: #e00016;
	}

.Attention ul{margin: 1em 2em 2em; padding: 0;}
.Attention ul:last-child{margin: 1em 2em; padding: 0;}
.Attention li{margin-bottom: 0.35em;}
.Attention li > ul{margin: 0.35em 1.25em 0.75em!important;}


/*予約リンク*/
.mainLink{text-align: center; margin: 0 0 1em -4em;}

.Yoyaku{display: flex; flex-wrap: wrap; text-align: center;}
.Yoyaku div{flex: 0 1 48%; margin: 0 auto 0.5em;}

p.noboltLink{
	width: 100%;
	margin: 0.35em auto 0;
	text-align: center;
	}

p.noboltLink a{
	padding: 0.25em;
	border: solid 2px #e58a3c;
	border-radius: 40px;
	font-size: 1.2em;
	color: #FFF!important;
	display: block;
	background-color: #e58a3c;
	background-image: url("../images/nobolt/reservation_whitemark.png");
	background-repeat: no-repeat;
	background-position: left 20px center;
	}
	
p.noboltLink a:hover{
	color: #FFF!important;
	border: solid 2px #e69b5b;
	background-color: #e69b5b;
	}

p.noboltLink a:visited{color: #FFF!important;}

/*FAQ*/
#FAQ article{padding: 1.5em;}

#FAQ dl{margin: 0 1em 1em;}

#FAQ dt{
	margin-bottom: 0.35em;
	padding: 0 1.8em 0.25em;
	border-bottom: solid 1px #00a0e9;
	background: url("../images/nobolt/marker_blue.png") no-repeat left center;
	}

#FAQ dd{margin: 0 0 1.5em; padding: 0 0 0 1.8em;}


/*-----団体利用について-----*/
#GROUP section{
	max-width: 1480px;
	margin: auto;
	padding: 2em;
	background: rgba(255,255,255,0.8);
	}

.group_cafe{
	width: 90%;
	max-width: 900px;
	margin: 2em 0;
	padding: 1em;
	display: flex;
	border: solid 3px #fff100;
	}

.group_cafe div{flex: 0 1 50%;}

.group_cafe h3{
	margin: 0 1em 0 0;
	padding: 0.5em 1em;
	font-size: 1em;
	background-color: #fff100;
	}


.group_notes h3{
	margin: 0 0 1em 0;
	padding: 0.5em 1em;
	font-size: 1em;
	color: #FFF;
	background-color: #e00016;
	}

.group_notes ul{
	margin: 0 1em;
	padding: 0;
	list-style: none;
	}

.group_notes li{margin-bottom: 1em;}
.group_notes li > ul{margin-left: 2.5em!important; list-style: circle!important;}
.group_notes li > ul > li{margin-bottom: 0.5em!important;}

.FormLink{
	max-width: 800px;
	margin: 2em auto;
	}

.FormLink a{
	padding: 1em;
	font-size: 1.3em;
	font-weight: bold;
	text-align: center;
	color: #FFF!important;
	display: block;
	text-shadow: 0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100,0 0 3px #eb6100;
	border-radius: 50px;
	background: rgb(255,183,107);
	background: -moz-linear-gradient(top,  rgba(255,183,107,1) 0%, rgba(255,167,61,1) 50%, rgba(255,124,0,1) 51%, rgba(255,127,4,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(255,183,107,1) 0%,rgba(255,167,61,1) 50%,rgba(255,124,0,1) 51%,rgba(255,127,4,1) 100%);
	background: linear-gradient(to bottom,  rgba(255,183,107,1) 0%,rgba(255,167,61,1) 50%,rgba(255,124,0,1) 51%,rgba(255,127,4,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffb76b', endColorstr='#ff7f04',GradientType=0 );
	}

.FormLink a:hover{box-shadow: 0px 0px 15px 5px #facd89 inset,0px 0px 15px 5px #facd89 inset;}


/*----------Footer----------*/
footer{
	padding: 3em 0 2em;
	color: #FFF;
	background: #5b5c60;
	}

footer > div{
	width: 100%;
	max-width: 1480px;
	margin: auto;
	padding: 0 1em 1em;
	}


/*SNS*/
.sns ul{margin: 0 0 2em; padding: 0; text-align: center;}
	
.sns li{
	width: 60px;
	height: 60px;
	display: inline-block;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	margin-left: 2%;
	margin-right: 2%;
	text-align: center;
	list-style-type: none;
	}
		
	.fb{border: solid 2px #3b579d; background: #3b579d;}
	.tw{border: solid 2px #55acee; background: #55acee;}
	.ln{border: solid 2px #00cc00; background: #00cc00;}
	.insta{border: solid 2px #CF2E92; background: #CF2E92;}

	.fb:hover{background: rgba(59,87,157,0.7);}
	.tw:hover{background: rgba(85,172,238,0.7);}
	.ln:hover{background: rgba(0,204,0,0.7);}
	.insta:hover{background: rgba(207,46,146,0.7);}

.sns ul img{padding-top: 20.5%;}

/*マリノアバナー*/
.marinoa{margin: 1em 0 2em; text-align: center;}
.marinoa img{margin: 0.5em;}

/*タイトーリンク*/
ul.taitoLink{padding:0 0 0;}
	
ul.taitoLink li{
	font-size: 1.0em;
	margin-right: 1.0em;
	display: inline-block;
	}
	
ul.taitoLink a{color: #FFF;}
ul.taitoLink a:hover{color: #7ecef4;}


/*コピーライト*/
footer div:last-child p:last-child{
	margin-top: 2em;
	padding-top: 2em;
	font-size:0.8em;
	color: #FFF;
	text-align: center;
	border-top: solid 1px #959595;
	}


/*-----予約ボタン-----*/
.reservLink{
	width: 650px;
	height: auto;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 99;
	}

.reservLink a{display: block;}
/*.reservLink img{animation: anime1 3.8s linear infinite;}*/



/*@keyframes anime1 {
  0%   { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}*/


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

header{background: none;}
	
#nav li:first-child img{
	width: 100%;
	max-width: 140px;
	height: auto;
	margin-left: -0.8em;
	}

#nav > a {
	width: 3.125em;
	height: 3.125em;
	text-align: left;
	text-indent: -9999px;
	background-color: #0180e8;
	box-shadow:0px 0px 1px 3px #FFF inset;
	position: relative;
	z-index: 999;
	}
	
#nav > a:before, #nav > a:after {
	position: absolute;
	border: 2px solid #fff;
	top: 35%;
	left: 25%;
	right: 25%;
	content: '';
	}
	
#nav > a:after {top: 60%;}
#nav:not( :target ) > a:first-of-type, #nav:target > a:last-of-type {display: block;}
	
/*first level*/
#nav > ul {
	margin-top: -3.125em;
	padding-top: 3.125em;
	height: 100vh;
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	background: rgba(1,128,232,0.9);
	}
	
#nav:target > ul {display: block;}

#nav > ul > li {width: 100%;}
	
#nav > ul > li > a {
	font-size: 1.1em;
	line-height: 1.8em;
	height: auto;
	text-align: center;
	padding: 0.45em 0.25em;
	}
	
#nav > ul > li:not( :last-child ) > a {border-right: none;}
	
/*second level*/
#nav li ul {
	background: none;
	position: static;
	padding: 0;
	display: block;
	}

#nav li ul a {
	font-size: 0.9em;
	padding: 1em 0.75em;
	}	

#nav li ul a:hover{color: #FFF;}
#nav li ul a > span:after{border: none;}
	

/*----------mainContents----------*/

#GROUP main{background-position: top -7% center!important;}

/*-----TOP-----*/

/*メインビジュアル*/
.mainVisual{padding: 13.7% 0;}
	
h1{
	width: 60%;
	padding-top: 30%;
	}

section.StoreInfo article:first-child{flex: 0 1 25%;}
section.StoreInfo article:last-child{flex: 0 1 69%; margin-left: 6%;}

.contents:before {height: 85%;}
.contents.double:after {height: 85%;}
.contents_inner {padding: 2em 1em;}

/*-----施設案内-----*/

/*全体図*/
#NOBOLT_MAP li{flex: 0 1 32%;}

#NOBOLT_MAP li a{font-size: 0.8em;}

#NOBOLT_MAP li a:after {
	background-size: 20px auto;
	background-position: left 1.0em center;
	}

#NOBOLT_MAP li a:before {
	background-size: 20px auto;
	background-position: left 1.0em center;
	}

p.challenge{margin: 1em auto;}

	#atrac_01{background-position: top right -400px!important;}
	#atrac_04{background-position: top left!important;}
	#atrac_06{background-position: top right -260px!important;}
	#atrac_07{background-position: top right -180px!important;}
	#atrac_08{background-position: top left -100px!important;}
	#atrac_09{background-position: top right -180px!important;}
	#atrac_10{background-position: top center!important;}
	
	
/*各アトラクション*/
#ATTRACTION > div{margin: 0 1em;}

#ATTRACTION article.grid {display: block;}
	
#ATTRACTION article.block {display: block;}

article.grid > div{height: 70vh; margin: 0.5em 0 0 0; background-size: cover!important;}
article.block > div{height: 70vh; margin: 0.5em 0 0 0; background-size: cover!important;}

	#atrac_01{background-position: center bottom!important;}
	#atrac_02{background-position: top center;}
	#atrac_03{background-position: top center;}
	#atrac_04{background-position: center center;}
	#atrac_05{background-position: center center;}
	#atrac_06{background-position: center center!important;}
	#atrac_07{margin-right: 0; background-position: center center!important;}
	#atrac_08{margin-left: 0; background-position: center center;}
	#atrac_09{margin-right: 0; background-position: center center!important;}
	#atrac_10{margin-left: 0; background-position: center center;}

#ATTRACTION article p{font-size: 0.9em; line-height: 1.2em;}
	



/*---カフェ---*/
/*紹介文*/
.cafeInfo{display: block;}

.icon{background-size: auto 25px;}

#DRINK > div.menu{display: block;}
	
}

/*-----予約ボタン-----*/
.reservLink{
	width: auto;
	height: auto;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 99;
	}

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

/*全体図_NAVI*/
#NOBOLT_MAP li a:after {background-image: none;}
#NOBOLT_MAP li a:before {background-image: none;}
	
}


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

	
/*----------mainContents----------*/
	
#GROUP main{padding: 40% 0 3em 0; background-position: top center!important;}

/*-----TOP-----*/
	
/*メインビジュアル*/
.mainVisual{
	padding: 65% 0;
	background: url("../images/nobolt/top_mainvisual_sp.jpg") no-repeat top center;
	background-size: cover;
	}

h1{
	width: 96%;
	padding-top: 30%;
	}
	
	.event_ticket{padding-top: 45%;}

	
h2{
	width: auto;
	height: 0;
	margin: 0 auto 1em;
	padding-top: 25px;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
	background-position: center;
	}

	#ATTRACTION h2{padding-top: 25px;}
	#ADMISSION h2{padding-top: 40px;}
	#ReserveLink h2{margin: 3em auto 1em; padding-top: 25px;}
	#FAQ h2{margin: 3em auto 1em; padding-top: 25px;}
	#GROUP h2{margin: 0 auto 0.5em;}



	
	
/*動画*/
#PV{display: block; margin-bottom: 5em;}
#PV div{padding: 16% 1em;}
#PV p{width: 35%;}
#PV div:last-child p{width: 45%; margin: auto; text-align: center;}


/*重要なお知らせ*/
#Attention article{height: 350px; padding-right: 1em; overflow: auto;}


/*新着情報・Twitter*/
#NEWS_SNS{display: block;}
#NEWS_SNS > div{margin: 0 0.5em 4em;}

	
/*店舗概要*/
section.StoreInfo > div:first-child{display: flex; padding: 2em 1em;}

section.StoreInfo article:first-child{flex: 0 1 70%; margin: 15%; order: 2;}
section.StoreInfo article:first-child p:first-child{width: 60%; margin: auto auto 1em;}
section.StoreInfo article:last-child{flex: 0 1 100%; margin: 0; order: 1;}

.map{
	width:94% !important;
	padding-bottom:52.25%;
	}

.contents:before {height: 95%;}
.contents_inner p{text-align: left;}
h3#ATRC + p{text-align: center;}
.contents_inner br{display: none;}
.contents.double:after {height: 95%;}
	

/*-----施設案内-----*/

/*全体図*/
#NOBOLT_MAP{padding: 10% 1em 1em; background: #f3e929;}
#NOBOLT_MAP h2{padding-top: 18%;}
#NOBOLT_MAP ul{display: none;}

p.challenge{padding-top: 6%; margin: 1em 0 0.5em;}


/*各アトラクション*/
article.grid > div{height: 90vh; margin: 0.5em 0 0 0; background-size: cover!important;}
article.block > div{height: 90vh; margin: 0.5em 0 0 0; background-size: cover!important;}
	
	#atrac_02{background-position: top right 35%!important;}
	#atrac_03{background-position: top left 35%!important;}
	#atrac_05{background-position: center right 15%!important;}
	#atrac_07{background-position: center right 28%!important;}
	#atrac_09{background-position: center right 52%!important;}
	#atrac_10{background-position: center right 48%!important;}


/*---カフェ---*/
#CafeMenu h4{border-bottom: solid 4px #fff100;}
#CafeMenu section{padding-bottom: 5%;}
.FlexBox{display: block;}
	
/*紹介文*/
.cafeInfo{display: block;}
.BURGER,.HOTDOG_CURRY,.FOOD{display: block;}

/*価格_アレルギー表記*/
.allergy{
	width: 70%;
	margin: 2em 0 0 30%;
	padding: 1em 5%;
	}

	.allergy p:first-child{font-size: 0.8em; margin-bottom: 0.5em;}

#CafeMenu h4 + p{padding: 0.15em 0 0; font-weight: bold;}

.icon{
	background-size: auto 23px;
	background-position: right bottom;
	}
	
/*-----利用料金-----*/
/*#ADMISSION section > div{display: block;}*/
#ADMISSION section article{padding: 1.35em 5% 2em;}


/*-----予約-----*/
/*注意事項*/
.Attention{padding: 1em;}
.Attention ul{margin: 1em 0 2em 1em; padding: 0;}
.Attention ul:last-child{margin: 1em 0 1em 1em; padding: 0;}
.Attention li > ul{margin: 0.35em 0 0.75em 1em!important;}


/*予約リンク*/
.mainLink{text-align: center; margin: 0 1em 1em;}
.Yoyaku{padding: 0.5em; display: block;}
.Yoyaku div{margin: 0 0.5% 1em;}

p.noboltLink a{
	background-size: 25px auto;
	background-position: left 15px center;
	}
	
/*FAQ*/
#FAQ article{padding: 0.5em;}

#FAQ dl{margin: 0 0 1em 1em;}

#FAQ dt{
	margin-bottom: 0.35em;
	padding: 0 1.8em 0.25em;
	border-bottom: solid 1px #00a0e9;
	background: url("../images/nobolt/marker_blue.png") no-repeat left top 5px;
	}

	
/*-----団体利用について-----*/
#GROUP section{padding: 1em;}

.group_cafe{display: block;}
.group_cafe h3{margin: 0;}
.group_cafe ul{margin: 1em 1.5em; padding: 0;}
	
.group_notes ul{margin: 0 0.5em;}

	
/*----------Footer----------*/

/*SNS*/
.sns li{width:45px;	height:45px;}
.sns ul img{width: 26px!important; height: auto!important; padding-top: 19.5%;}
	
/*タイトーリンク*/
ul.taitoLink li{display: block; margin-bottom: 0.5em;}
	
/*マリノアバナー*/
.marinoa{margin: 1em 0; text-align: center;}
.marinoa img{margin: 0.5em 0;}
	
}

/*----------CAMPAIGN_EVENT----------*/
#Campaign{}
#Campaign .contents_inner br{display: none;}

#Campaign .contents {
	position: relative;
	overflow: hidden;
	padding: 80px 0;
	z-index: 2;
	}

#Campaign .contents:before {
    content: '';
    position: absolute;
    top: 0;
	left: 0;
	width: 120%;
	height: 60%;
	margin: 3% -10% 0;
	background: #3fa46c;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: rotate(3deg);
	-ms-transform: rotate(3deg);
	transform: rotate(3deg);
	z-index: -1;
	}

#Campaign .contents_inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 1380px;
    height: 100%;
    margin: 0 auto;
    padding: 4% 0;
    text-align: center;
	}

#Campaign .contents_inner p{color: #FFF;}

#Campaign .contents.double:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 120%;
    height: 60%;
    margin: 3% -10% 0;
    background: #bc4a4a;
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: rotate(-3deg);
    -ms-transform: rotate(-3deg);
    transform: rotate(-3deg);
    z-index: -2;
	}

@media only screen and (max-width: 860px){
    #Campaign .contents {padding: 60px 0;}
    #Campaign .contents:before, #Campaign .contents.double:after {height: 80%;}
    #Campaign section.NOBOLT p{margin: auto 1em;}
    }

@media only screen and (max-width: 480px){
    #Campaign .contents_inner br{display: block;}
    #Campaign section.NOBOLT h3{margin-top: 0;}
    #Campaign section.NOBOLT p{text-align: center;}
    }

.CP_article{
    width: 96%;
    max-width: 1380px;
    margin: auto;
    padding: 0 2%;
    }

.CP_article .small{padding-top: 0.5em;}

.detail{border: double 8px #bc4a4a;}

.detail h4{
    margin: 0 0 1em;
    padding: 0.5em 1em;
    color: #FFF;
    background: #bc4a4a;
    }

.detail h5{
    margin: 2em 0 1em;
    padding: 0.5em;
    font-size: 1em;
    color: #535353;
    border-left: solid 12px #bc4a4a;
    border-bottom: solid 2px #bc4a4a;
    }

.detail h6{
    margin: 2em 0 1em;
    padding: 0 0.5em;
    font-size: 1em;
    color: #535353;
    border-left: double 10px #bc4a4a;
    }

.detail img{margin-bottom: 1em;}
.Layout img{margin-bottom: 0!important;}

.detail li{margin-bottom: 0.5em;}


.detail table{
    width: 100%;
    max-width: 900px;
    margin-bottom: 1em;
    color: #535353;
    border: solid 1px #a0a0a0;
    text-align: center;
    }

.detail th{background: #eeeeee;}

.detail th,.detail td{
    padding: 0.5em;
    border-left: solid 1px #a0a0a0;
    border-bottom: solid 1px #a0a0a0;
    }

.Layout, .Block02{display: flex; align-items: flex-start; flex-wrap: wrap;}
.Layout{margin: 0 0.25%;}
.Layout article{flex: 0 1 47%; margin: 0 auto; padding: 1.5%;}
.Layout article:nth-child(3){flex: 0 1 100%; margin: 0 auto;}

.Block02 article{flex: 0 1 45%; margin: 1em auto; padding: 1.5%;}
.Block02 article:nth-child(1),.Block02 article:nth-child(2){margin: 2em auto 1em;}

@media only screen and (max-width: 860px){
    .CP_article{padding-top: 2em;}
    .Layout, .Block02{display: block;}
    .Layout article{padding: 1.5em 1em;}
    .Layout article:first-child{padding: 1.5em 1em 0;}
    .Block02 article{padding: 1.5em 1em;}
    .cafe_price{padding: 0 1em 1.5em!important;}
    .cafe_price h5{margin: 0 0 1em;}
    }

/*-----campaign誘導-----*/
.campaignLink{
	width: 160px;
	height: auto;
	position: fixed;
	top: 80px;
	left: 10px;
	z-index: 99;
	}

.campaignLink a{display: block;}
.campaignLink img{animation: anime1 3.6s linear infinite;}
@keyframes anime1 {
  0%   { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}

@media only screen and (max-width: 860px){.campaignLink{width: 120px; top: 10px; left:auto; right: 10px;}}





/*---ROAD TO PARIS---*/
#RTP{}

#RTP .contents {
	position: relative;
	overflow: hidden;
	padding: 80px 0;
	z-index: 2;
	}

#RTP .contents:before {
    content: '';
    position: absolute;
    top: 0;
	left: 0;
	width: 120%;
	height: 60%;
	margin: 3% -10% 0;
	background: #e58a3c;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: rotate(3deg);
	-ms-transform: rotate(3deg);
	transform: rotate(3deg);
	z-index: -1;
	}

#RTP .contents_inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 1380px;
    height: 100%;
    margin: 0 auto;
    padding: 5.5% 0;
    text-align: center;
	}

#RTP .contents_inner p{color: #FFF; margin-bottom: 1em;}

#RTP .contents.double:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 120%;
    height: 60%;
    margin: 3% -10% 0;
    background: #f3e929;
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: rotate(-3deg);
    -ms-transform: rotate(-3deg);
    transform: rotate(-3deg);
    z-index: -2;
	}

#RTP br.sp{display: none;}

@media only screen and (max-width: 1280px){#RTP .contents_inner {padding: 5.5% 0 15%;}}

@media only screen and (max-width: 860px){
    #RTP .contents {padding: 60px 0;}
    #RTP .contents:before, #RTP .contents.double:after {height: 80%;}
    #RTP .contents_inner {padding: 6.5% 0 7%;}
    #RTP section.NOBOLT p{padding: 0 2em;}
    }

@media only screen and (max-width: 480px){
    #RTP section.NOBOLT h3{margin-top: 0;}
    #RTP section.NOBOLT p{font-size: 0.9em; text-align: center;}
    #RTP .contents_inner {padding: 5.5% 0 10%;}
    #RTP br,#RTP br.sp{display: block;}
    }


.RTP_article{padding: 1em;}
.RTP_article > div{max-width: 1480px; margin: auto; padding-bottom: 10%;}

.RTP_article h3{margin-top: 3em; padding: 0.5em 1em; color: #FFF; background: #d83945;}
.RTP_article h3:first-child{margin-top: 0;}
.RTP_article h4{margin: 1em 0; padding: 0 0 0.5em; border-bottom: solid 2px #d83945; color: #535353;}
.RTP_article li{padding-bottom: 0.5em;}

.whats_RTP{max-width: 1000px; margin: 0 auto 10%; padding: 1em 2em; border: solid 2px #d83945;}
.whats_RTP p{font-size: 0.9em; line-height: 1.6em; margin-bottom: 1.5em;}

.flexBox{display: flex; flex-wrap: wrap;}
.right p:first-child, .right div:first-child{flex: 0 1 72%; margin-right: 3%;}
.left p:last-child, .left div:last-child{flex: 0 1 72%; margin-left: 3%;}
.right p:last-child, .left p:first-child, .right div:last-child, .left div:first-child{flex: 0 1 25%;}

.photo{width: 60%;}
.photo p{flex: 0 1 46%; margin: 0 2%;}

.photo03{width: 60%;}
.photo03 p{flex: 0 1 29%; margin: 0 2%;}


.answer .flexBox{padding-top: 2em;}


@media only screen and (max-width: 860px){.photo{width: 80%;}}

@media only screen and (max-width: 480px){
    .left p:first-child{flex: 0 1 50%; order: 2; margin: 0 auto 1.5em;}
    .left p:last-child{flex: 0 1 100%; margin-left: 0; order: 1;}
    .right p:first-child{flex: 0 1 100%; margin-right: 0;}
    .right p:last-child{flex: 0 1 50%; margin: 0 auto 1.5em;}
    
    .left div:first-child{flex: 0 1 60%;}
    .left div:last-child{flex: 0 1 100%; margin-left: 0;}
    .right div:first-child{flex: 0 1 100%; margin-right: 0;}
    .right div:last-child{flex: 0 1 60%;  margin: 0 auto;}
    
    .photo{width: 100%;}
    }




details{padding: 0.65em; border: solid 2px #bac7d9;}
details p{font-size: 0.9em; line-height: 1.7em;}
details .flexBox + p{padding-top: 2em; padding-bottom: 1em;}


summary{
    list-style: none;
    position: relative;
    padding: 15px 70px 15px 20px;
    cursor: pointer;
    background-color: #4982d8;
    color: #FFF;
    font-weight: bold;
    }

@media not all and (min-width: 480px){summary{padding: 15px 50px 15px 15px;}}

summary::-webkit-details-marker{display: none;}
summary:hover, details[open] summary{background-color: #4074c3;}

summary::after{
    content: '+';
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    transition: transform 0.5s;
    font-size: 30px;
    }

details[open] summary::after{transform: translateY(-50%) rotate(45deg);}

.answer{padding: 20px 10px 10px;}

@media not all and (min-width: 768px){summary::after{right: 20px; font-size: 20px;} .answer{padding: 10px 20px;}}

@media not all and (min-width: 480px){.answer{padding: 20px 5px 5px;} }


details[open] .answer{animation: fadein 0.5s ease;}

@keyframes fadein {0% { opacity: 0; } 100% { opacity: 1; }}

details {
    margin-bottom: 10px;
    margin-right: auto;
    margin-left: auto;
    width: 96%;
    }

details:first-of-type {margin-top: 30px;}

.date{text-align: right; font-size: 0.8em; margin-bottom: 15px; color: #959595;}
@media not all and (min-width: 480px){details {width: 90%;}}




/*----------SNS----------*/
#shareBox {
	width: 100%;
    margin: 0;
    padding-bottom: 6%;
	text-align: center;
	position: relative;
	}

	.shareButtons {
		position: absolute;
        top: 0;
		bottom: 0;
		left: calc(44.25% - 90px);
		display: flex;
		justify-content: space-between;
		width: 340px;
		height: auto;
		margin: 0px auto;
		padding: 0 0 35px;
		clear: none;
		z-index: 888;
		}

	.shareButtons > div> a {
		display: block;
		width: 45px;
		height: 45px;
        margin: 0 1em;
		background-size: contain;
		background-repeat: no-repeat;
        background-position: center;
		}

	.shareButtons>div.fbBtn a {background-image: url("../images/sns_ico_01_fb.svg");}
	.shareButtons>div.tweetBtn a {background-image: url("../images/sns_ico_02_tw.svg");}
	.shareButtons>div.lineBtn a {background-image: url("../images/sns_ico_03_line.svg");}
	.shareButtons>div.instagramBtn a {background-image: url("../images/sns_ico_05_instagram.png");}
	.shareButtons>div.tiktokBtn a {background-image: url("../images/sns_ico_04_tiktok.png");}


@media only screen and (max-width: 860px) {.shareButtons {left: calc(39% - 130px);} #shareBox {padding-bottom: 15%;}}
@media only screen and (max-width: 480px) {.shareButtons {left: calc(45% - 150px);} #shareBox {padding-bottom: 25%;} .shareButtons > div> a {width: 40px; height: 40px; margin: 0 0.5em;}}


/*臨時で追加*/
.tw_layout{height: 460px; overflow-y: scroll;}

    
}
