@charset "utf-8";
/*=================================
1: reset-CSS
2: setting
3: header
4: footer
5: common-content
6: top page
7: second page
8: JS
=================================*/


/* 1: reset-CSS
================================== */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

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,
small, 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;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	font-weight: normal;
}
body {
	line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,main {
	display:block;
}
li {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}


/* change colours to suit your needs */
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

/* change colours to suit your needs */
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}

/* change border colour to suit your needs */
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}
input, select {
	vertical-align:middle;
}


	.sp_show {
		display: none !important;
	}

/* 2: setting
================================== */
*, *:before, *:after {
	box-sizing: border-box;
}

/* clearfix*/
.cf:after { content: ""; clear: both; display: block; }
.clear { clear: both;}

html {
	overflow: auto;
	font-size: 62.5%;
}
body {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: 500;
	color: #323232;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.7;
	-webkit-print-color-adjust: exact;/* baskground_print */
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;/* safari_textBold*/
	-webkit-text-size-adjust: 100%;/* safari_textBold*/
	min-width:1200px;
}
img {
	display: block;
	line-height: 0;
	max-width:100%;
	height:auto;
	margin:0 auto;
	position:relative;
	z-index:10;
}
	.normal {
		display:inline-block;
		vertical-align:middle;
	}

input[type="submit"],
input[type="button"] {
border-radius: 0;
-webkit-box-sizing: content-box;
-webkit-appearance: button;
appearance: button;
border: none;
box-sizing: border-box;
cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
outline-offset: -2px;
}


/* link */
a {
	color:#002849;
	-webkit-transition: all .2s;
	transition: all .2s;
	text-decoration:underline;
}

.sec:not(body.faq) a,
a.link_yellow {
	color:#FF0;
}

.sec .news a {
	color:#002849!important;
}

a:hover {
	color: #c00;
	text-decoration:none ;
}

a img {
	-webkit-transition: -webkit-transform 0.5s linear;
	transition: transform 0.5s linear;
}
a img:hover {
	opacity:.7;
}

main a img:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: .7;
}

main li {
	overflow:hidden;
}

/* 3: header
================================== */
#wrapper {
	width:100%;
	position:relative;
	overflow: hidden;
}

#contents {
	height:100%;
}

#header {
	height:120px;
	background:url(../img/cmn/header_back.jpg) no-repeat 0 bottom;
	position:relative;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.5);
	z-index: 999;
}
/*
	#header:after {
		content:"";
		height:5px;
		background: rgb(118,71,28);
		background: linear-gradient(180deg, rgba(118,71,28,1) 0%, rgba(205,141,42,1) 11%, rgba(235,173,32,1) 25%, rgba(255,243,143,1) 55%, rgba(125,73,30,1) 100%);
		position:absolute;
		top:120px;
		left:0;
		width:100%;
		z-index:10;
	}
*/

#header h1 {
	width:320px;
	height:60px;
	position:absolute;
	left:0;
	top:19px;
	margin: auto;
	z-index:99;
}

	#header h1 img {
		margin:0 auto;
	}


.header_main {
	width:100%;
	position:relative;
}


#header a,
.f_bg a {
	text-decoration:none;
	color:#fff;
}

#header h1 span {
	display: block;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}


.header_menu {
	position:absolute;
	top:90px;
	right:0;
}

#header .header_menu li a {
	padding-left:20px;
	margin-right:10px;
	color:white;
	font-weight:bold;
	position:relative;
}

.header_menu li a::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 5px;
  position: absolute;
  left: 0;
  top: 35%;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}


.logo_link {
	position:absolute;
	top:10px;
	right:10px;
}

.logo_link li {
	margin-left:10px;
}


.inr {
	width:100%;
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

	#top_link .inr {
		padding: 50px 10px 80px 10px;
	}

#header .lang a {
	display:block;
	background:#fff;
	padding:0 1em;
	font-size:1.4rem;
	color:#333;
	text-align:center;
}

	#header .lang a:hover {
		background:#ab141d;
		color:white;
	}
/*
#gloval_nav .parentNav [target="_blank"],
footer .f_bg a[target="_blank"],
.link_blank {
	background:url(../img/cmn/icn_blank.svg) no-repeat right center;
    background-size: 14px;
    padding-right: 20px;
}
*/



/* -----gnav----- */
.parentNav {
	clear:both;
}

#btn,
.meganav {
	display:none;
}

.parentNav > li {
	font-weight:bold;
	text-align:center;
}

#header .parentNav > li > a {
	position:relative;
	padding:15px 20px 15px 0;
	color:#fff;
	font-size:1.4rem;
}

#header .parentNav > li > a:hover,
#header .flexbox_wap > li > a:hover,
#header .parentNav > li.open > a {
	color:#f1b600;
}

.open_icn {
	display:inline-block;
	position:relative;
}

.open_icn::after {
    position: absolute;
    right: 8px;
    top: -10px;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

#gloval_nav {
	clear:both;
	padding-top:85px;
}


#gloval_nav ul > li.open > .meganav {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap;
}

#gloval_nav ul > li > .meganav {
	display: none;
	z-index: 20;
	position: absolute;
	background: #000;
	top: 120px;
	padding:20px;
	box-shadow: 0 0 5px 0 rgba(0,0,0,.3);
	text-align:left;
}

#gloval_nav ul > li > .meganav > p {
	float: left;
	width: 240px;
	font-size: 1.6rem;
	color: #fff;
	font-weight: bold;
}


.nav_tit {
	width:20%;
	background:rgba(171,20,29,0.5);
	padding: 20px 20px 50px 20px;
	color:white;
	margin-right:30px;
	font-weight:bold;
	font-size:2.0rem;
}

.nav_tit h2 {
	font-size:2.0rem;
}
	.nav_tit p {
		font-weight:bold;
	}

.nav_menu {
	width:70%;
	padding: 20px;
	position:relative;
}

	#header .nav_menu > .flexbox_wap > li > a {
		display:block;
		border-bottom:solid 1px #003f5c;
		padding:0.2em 0.5em;
		font-weight:bold;
		position:relative;
		color:white;
	}

	.nav_menu > .flexbox_wap > li > a::after {
		position: absolute;
		right: 10px;
		top: 40%;
		content: "";
		width: 10px;
		height: 10px;
		border-top: 2px solid #003f5c;
		border-right: 2px solid #003f5c;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}


	.meganav li {
		position:relative;
		margin-right:1em;
	}
	.meganav li a {
		padding-left:1em;
	}
	.meganav li a::before {
		position: absolute;
		left: 0;
		top: 7px;
		content: "";
		width: 8px;
		height: 8px;
		border-top: 2px solid #ab141d;
		border-right: 2px solid #ab141d;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

.megaNavClose {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    background: #FFF;
    border-radius: 50%;
}

.megaNavClose:hover {
	color: #FFF;
	background: #ab141d;
}
.megaNavClose::before,
.megaNavClose::after {
	display: block;
	content: "";
	position: absolute;
	top: 45%;
	left: 0;
	right: 0;
	width: 12px;
	margin: auto;
	border-top: 2px solid #ab141d;
}
.megaNavClose::before {
	transform: skewY(-45deg);
}
.megaNavClose::after {
	transform: skewY(45deg);
}
.megaNavClose:hover::before,
.megaNavClose:hover::after {
	border-color: #FFFFFF;
}





/* main
================================== */
#main {
	position:relative;
	background:url(../img/cmn/main_back_px.png);
}

#main_visual {
	position:relative;
/*	min-height:700px;*/
	background:url(../img/cmn/main_back.png) repeat-x;
	padding-top:20px;
}

#main_visual .flexbox_sbwap {
	background:rgba(0,0,0,0.4);
}

	#main_visual .inr {
		background:url(../img/cmn/main_visual_waku.png) no-repeat;
		height:550px;
		padding:5px;
		max-width:1170px;
	}

	#main_visual .poster {
		max-height:540px;
		width:auto;
		float:right;
	}
	
	.top_visual {
		width:40%;
	}

.guard {
	user-select:none;
/*Firefox*/
	-moz-user-select:none;
/*Safari*/
	-webkit-user-select:none;
	-khtml-user-select:none;
/*	position:relative;
	display:block;
	overflow:hidden;
	float:right;*/
}



	#main_visual ul {
		align-items: center;
	}

	#main_visual li.tC {
		width:60%;
	}

	.w_beta {
		background: linear-gradient(90deg, rgba(118,71,28,1) 0%, rgba(205,141,42,1) 11%, rgba(235,173,32,1) 25%, rgba(255,243,143,1) 55%, rgba(125,73,30,1) 100%);
		width:5em;
		text-align:center;
		margin:0 auto 1em auto;
		font-size:2.0rem;
		color:black;
		font-weight:bold;
	}

	.date {
		color:white;
		font-size:3.0rem;
	}

		.date span {
			font-size:2.0rem;
		}

	#main_visual h2 {
		color:white;
		font-weight:800;
		font-size:4.0rem;
		line-height:1.4;
	}

#main_visual a {
	color:white;
	text-decoration:none;
}

.top_btn {
	margin:20px auto;
}

	.top_btn li {
		width: calc(100%/5 - 15px);
		margin-right:5px;
	}

/* ------------ */

#next_stage .top_btn li {
	width: calc(100%/3 - 30px);
	margin:0 5px;
}

.stage_black {
	width:calc(100%/2 - 4px );
	margin:3px 2px;
}
	.stage_black {
		background:url(../img/top/main_back_px.png) ;
		display:flex;
		flex-direction:column;
		padding:10px;
		position:relative;
		min-height:320px;
	}
	
	.stage_black::before {
		content: "";
		width: 50px;
		height: 50px;
		position: absolute;
		top: 5px;
		left: 5px;
		background: url(../img/sec/flame.svg) no-repeat;
	}

.stage_white .date_next {
	background:black;
	color:white;
	text-align:center;
	font-weight:bold;
	font-size:2.0rem;
	padding:5px;
	position:relative;
}


	.stage_white .date_next::after {
		content:"";
		width: 30px;
		height: 30px;
		border-left: 30px solid transparent;
		border-right: 30px solid transparent;
		border-top: 30px solid black;
		position: absolute;
		bottom: -30px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

.stage_white .date {
	color:black;
	font-size:2.0rem;
	margin-left:1em;
}
.stage_black .date {
	font-size:2.0rem;
	margin-left:1em;
}

.stage_white a {
	color:black;
	text-decoration:none;
}
.stage_black a {
	color:white;
	text-decoration:none;
}

.stage_black .date_next {
	background:#f3bc2b;
	color:black;
	text-align:center;
	font-weight:bold;
	font-size:2.0rem;
	padding:5px;
	position:relative;
}

	.date_next span {
		font-size:1.8rem;
	}


	#next_stage li h2 {
		font-size:2.6rem;
		margin-left:20px;
		text-align:left;
		font-weight:bold;
		line-height:1.2;
	}


	.stage_black h2 {
		color:white;
	}

#next_stage .flexbox_sbwap {
	align-items:center;
	flex-grow:1;
}

#next_stage .top_btn {
	margin-left:20px;
}


.stage_title {
	width:65%;
}
.stage_poster {
	width:35%;
}

.text_wrapper {
	position:relative;
}

.text {
  height: 0;
  overflow: hidden;
}
.show_more {
  width: 100%;
  height: 40px;
  text-align: center;
  line-height: 40px;
  background: black;
  color:white;
  cursor: pointer;
  transition: bottom 0.2s;
	font-weight:bold;
}
.active {
  background: none;
  /*bottom: -30px;*/
}


.more a,
.show_more {
	background:url(../img/cmn/more_back.jpg) no-repeat #000 0 center;
	background-size:cover;
	color:white;
	margin:0 auto;
	display:block;
	height:40px;
	line-height:40px;
	text-align:center;
	font-weight:bold;
}

.more a span,
.show_more span {
	position:relative;
}

.more a span::before,
.show_more span::before {
	content:"";
	width:0;
	height:0;
	position:absolute;
	top:0.5em;
	left:-15px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.more a:hover,
.show_more:hover {
	background:rgba(255,255,255,0.7);
	color:#333;
}

.more a:hover span::before {
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


#news {
	background:white;
	padding-bottom:150px;
	background: url(../img/cmn/main_back.png) ;
}


.cd-fixed-bg {
    position: relative;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 2;
    width:100%;
    height:420px;
}

.cd-fixed-bg.cd-bg-1  {
  background-image: url('../img/top/h2_back1.jpg');
}


.h2_title h2 {
	text-align:left;
	color:white;
	font-size:3.5rem;
	padding: 80px 0 0 70px;
	text-shadow: 2px 2px 3px rgba(0,0,0,0.5);
	height:280px;
	background:url(../img/top/h2_back.png) no-repeat;
}

.h2_title h2 span {
	display:block;
	font-size:2.5rem;
	text-shadow: 2px 2px 3px rgba(0,0,0,0.5);
}

#news a {
	text-decoration:none;
}

.top #news .inr {
	margin-top:-80px;
	padding:20px;
	z-index:5;
}

#pickup .inr {
	margin-top:-150px;
	padding:20px;
}

#news .inr .flexbox_sbwap,
.top #news .inr .flexbox_wap {
	margin:0 30px 20px 30px;
}
/*.top #news .inr .flexbox_wap {
	justify-content:flex-start;
}*/

#news .inr .flexbox_sbwap li {
	width:calc(100%/4 - 30px );
	background:white;
	margin-bottom:1em;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
	overflow:hidden;
}

.top #news .inr .flexbox_wap li {
	width:calc(100%/4 - 15px );
	margin:0 15px 15px 0;
	background:white;
	margin-bottom:1em;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
}

.news .flexbox_wap li {
	width:calc(100%/4 - 15px );
	margin:0 15px 15px 0;
	background:white;
	margin-bottom:1em;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
}

#news .inr li img {
	width:100%;
	max-width:auto;
}

#news .inr dl {
	margin:1em;
}

.border img {
	border:solid 1px #8c0000;
}

#pickup .inr .flexbox_cwap {
	margin:20px 30px 120px 30px;
}

	#pickup .inr .flexbox_cwap li {
		margin:0 20px;
	}


.cd-fixed-bg.cd-bg-3  {
  background-image: url('../img/sec/h2_back3.jpg');
  height:300px;
}
.cd-fixed-bg.cd-bg-4  {
  background-image: url('../img/sec/h2_back5.jpg');
  height:300px;
}


.cd-fixed-bg.cd-bg-5  {
  /*background-image: url('../img/sec/h2_back8.jpg');
  background-position: bottom center;*/
	height:180px;
}
.cd-fixed-bg.cd-bg-6  {
  /*background-image: url('../img/sec/h2_back11.jpg');*/
	height:180px;
}
.cd-fixed-bg.cd-bg-7  {
  /*background-image: url('../img/sec/h2_back6.jpg');
  background-position:bottom;*/
	height:180px;
}
.cd-fixed-bg.cd-bg-8  {
  /*background-image: url('../img/sec/h2_back7.jpg');*/
	height:180px;
}
.cd-fixed-bg.cd-bg-9  {
  /*background-image: url('../img/sec/h2_back10.jpg');*/
	height:180px;
}
.cd-fixed-bg.cd-bg-10  {
  /*background-image: url('../img/sec/h2_back12.jpg');*/
	height:180px;
}
.cd-fixed-bg.cd-bg-11  {
  /*background-image: url('../img/sec/h2_back9.jpg');*/
	height:180px;
}
.cd-fixed-bg.cd-bg-12  {
  /*background-image: url('../img/sec/h2_back4.jpg');*/
	height:180px;
}

.h2_title.cd-fixed-bg.cd-bg-5 h2,
.h2_title.cd-fixed-bg.cd-bg-6 h2,
.h2_title.cd-fixed-bg.cd-bg-7 h2,
.h2_title.cd-fixed-bg.cd-bg-8 h2,
.h2_title.cd-fixed-bg.cd-bg-9 h2,
.h2_title.cd-fixed-bg.cd-bg-10 h2,
.h2_title.cd-fixed-bg.cd-bg-11 h2,
.h2_title.cd-fixed-bg.cd-bg-12 h2{
	background:none;
	text-align:center;
	padding:50px 0 0 0;
	height:200px;
}



/* 4: footer
================================== */

#footer {
	position:relative;
	clear:both;
	background:url(../img/cmn/footer_back.jpg) no-repeat left 60px;
	background-size:cover;
	z-index:10;
}


#footer .link {
	z-index:99;
}

	#footer .link .flexbox_cwap {
		padding-top:40px;
		background:rgba(102, 11, 17, 0.9);
		box-shadow: 0px 0px 10px 2px rgba(0,0,0,0.5) inset;
	margin-top:-80px;
	padding-bottom:40px;
	}

	.link .flexbox_cwap li {
		width:calc(100%/4 - 50px);
		margin:0 5px;
	}

	/*.link li img {
		border:solid 1px #eee;
		box-shadow: 0px 0px 10px -6px rgba(0,0,0,0.6);
	}*/

	.link li img {
		border:0;
		box-shadow: 2px 2px 10px -6px rgb(0, 0, 0,1);
	}

#footer .f_bg .inr {
	margin-bottom:25px;
}
#footer .inr ul.f_menu {
	padding: 20px 0;
	text-align:center;
	margin:0 auto;
}
	#footer .f_menu li a {
		position:relative;
		padding:0 1em;
		text-align:center;
		text-decoration: none;
		color:#333;
		font-weight:normal;
	}
	#footer .f_menu li::before {
		content: '｜';
	}
	#footer .f_menu li:first-child::before {
		content:"";
	}

.f_bg {
	color:white;
	padding-top:30px;
}

.f_bg .flexbox_cwap > li {
	/*margin:0 20px;*/
	font-weight:bold;
	width:calc(100%/5);
	padding:0 10px;
}

.f_bg li li a {
	position:relative;
	padding-left:15px;
}

	.f_bg li li a::before {
		content:"";
		display: inline-block;
		width: 10px;
		height: 10px;
		margin-right: 5px;
		position: absolute;
		left: 0;
		top: 35%;
		content: "";
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

#footer a {
	color:white;
	font-size:1.4rem;
	font-weight:bold;
}

.ad {
	text-align:center;
	font-size: 1.6rem;
	padding-top:20px;
}

#copy {
	clear:both;
	text-align:center;
	padding:20px;
	font-size: 1.2rem;
	background:rgba(81,24,24,0.6);
	color:white;
}

/*スクロールボタン*/
#page-top {
    position: fixed;
    bottom: 10px;
    right: 10px;
    font-weight: bold;
    font-size: 80%;
    z-index: 999;
    text-align: center;
}
#page-top a {
    position: relative;
    display: block;
    width: 48px;
    height: 48px;
    background: linear-gradient(0deg, rgba(118,71,28,1) 0%, rgba(205,141,42,1) 22%, rgba(235,173,32,1) 42%, rgba(255,243,143,1) 90%);
    color:  #fff;
    opacity: 1;
}

#page-top a::after {
    position: absolute;
    right: 16px;
    top: 40%;
    display: block;
    content: "";
    width: 16px;
    height: 16px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}



/* 5: common-content
================================== */
.flexbox {/* 折り返しのみ */
	display: -webkit-flex;
	display: flex;
}
.flexbox_wap {/* 折り返しのみ */
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap;
}
.flexbox_sbwap {/* 折り返し・水平方向端揃え */
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between; /* Safari */
	justify-content: space-between;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap;
}

.flexbox_sbnwap{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between; /* Safari */
	justify-content: space-between;
	-ms-flex-wrap : nowrap; /*for IE10*/
	-webkit-flex-wrap : nowrap; /*for old webkit browser*/
	flex-wrap: nowrap;
}

.flexbox_cwap {/* 折り返し・水平中央揃え */
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center; /* Safari */
	justify-content: center;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap;
}
.flexbox_c {/* 折り返しなし・水平中央揃え */
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center; /* Safari */
	justify-content: center;
}
.flexbox_end {
	align-items: flex-end;
}

small {font-size:80%;}
.fL {float:left!important;}
.fR {float:right!important;}
.fR img {margin-left:1em;}
.m0 {margin:0 auto!important;}
.m1em {margin:1em;}
.m2em {margin:2em auto;}
.mR1em {margin-right:1em!important;}
.mL1em {margin-left:1em!important;}
.mT1em {margin-top:1em!important;}
.mT2em {margin-top:2em!important;}
.mT4em {margin-top:4em!important;}
.mT50 {margin-top:50px;}
.mT100 {margin-top:100px;}
.mB0 {margin-bottom:0!important;}
.mB1em {margin-bottom:1em!important;}
.mB20 {margin-bottom:20px!important;}
.mB40 {margin-bottom:40px!important;}
.p1em {padding:1em;}
.p2em {padding:2em!important;}
.pT1em {padding-top:1em;}
.pB1em {padding-bottom:1em;}
.tC {text-align:center!important;}
.tR {text-align:right!important;}
.tL {text-align:left!important;}
.fB {font-weight: bold;}
.fI {font-style: italic;}
.fbig {font-size: 2.0rem;}
.fS {font-size:1.2rem; line-height:1.2;}
.underL {border-bottom:solid 1px #000;}
.mauto {margin:auto;}
.mid {vertical-align:middle;}
.white {color:white;}
.red {color:red;}
.disc li,
.sec #main ol ul li{
	margin-left:1em; list-style:disc;
}
.sec #main ul { margin-bottom:1em;}
.sec #main td ul {margin-bottom:0;}

.decimal li,
.sec #main ol li {list-style:decimal; margin-left:2em;}
.waku {border:solid 1px #003f5c; padding:0.5em; background:#eee; margin-bottom:1em;}

	.tC img {
		margin:0 auto;
	}



#breadcrumb {
	overflow:hidden;
	font-size:1.4rem;
	padding:10px 0;
	color:white;
}

#breadcrumb a {
	color:white;
	text-decoration:underline;
}

	#breadcrumb li {
		padding:0.2em 0;
		background:url(../img/sec/cate.svg) no-repeat center right;
		background-size:contain;
		padding-right:25px;
		margin-right:10px;
		list-style:none;
	}
		#breadcrumb li:last-child {
			background:none;
		}

	#breadcrumb li:last-child a {
		pointer-events:none;
		text-decoration:none;
	}


#breadcrumb .inr {
	padding:0;
}


/*２階層目*/
.sec #main p {
	margin-bottom:1em;
}

.sec #main {
	position:relative;
}

.sec #main::after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(../img/sec/sec_main_back_px.png);
	z-index:-1;
}

.top_box {
	background:rgba(0,0,0,0.4);
	padding:40px;
	box-shadow: 0px 0px 15px -5px #fce903;
	position:relative;
	color:white;
}

	.top_box::before {
		content:"";
		width:60px;
		height:60px;
		position:absolute;
		top:5px;
		left:5px;
		background:url(../img/sec/flame.svg) no-repeat;
	}

	.top_box::after {
		content:"";
		width:60px;
		height:60px;
		position:absolute;
		top:5px;
		right:5px;
		background:url(../img/sec/flame.svg) no-repeat;
		transform:rotate(90deg);
	}

	.top_box .flexbox_sbwap::before,
	.top_box_inr::before {
		content:"";
		width:60px;
		height:60px;
		position:absolute;
		bottom:5px;
		left:5px;
		background:url(../img/sec/flame.svg) no-repeat;
		transform:rotate(275deg);
	}

	.top_box .flexbox_sbwap::after,
	.top_box_inr::after {
		content:"";
		width:60px;
		height:60px;
		position:absolute;
		bottom:5px;
		right:5px;
		background:url(../img/sec/flame.svg) no-repeat;
		transform:rotate(180deg);
	}

#lineup img {
	width:100%;
	max-width:auto;
}

#lineup .poster {
	width:28%;
}

	#lineup .poster a {
		background:white;
		padding:10px;
		display:block;
	}

.lineup_content {
	width:68%;
}

#lineup .w_beta {
	margin:0 0 10px 0;
}

.sec h3 {
	font-size:3.0rem;
	font-weight:bold;
	line-height:1.4;
}

.sec h4 {
	background:rgba(0,0,0,0.6);
	color:white;
	padding:0.2em 0.5em;
	font-size:1.8rem;
	margin-bottom:0.5em;
	box-shadow: 0px 0px 10px 2px #000 inset;
}

.sec .date {
	font-size:1.6rem;
	margin-bottom:2em;
}

#lineup dl {
	display:flex;
	border-bottom:solid 1px #8c0000;
	margin-bottom:1em;
}

#lineup dt {
	background:rgba(140,0,0,0.3);
	padding:0 1em;
	margin-right:1em;
}

#lineup .pickup_box dt,
#lineup .pickup_box .w_beta {
	background:rgba(0,0,0,0.5);
	color:white;
}

#lineup .pickup_box dl {
	border-bottom:solid 1px #000;
}


#lineup dl.syutsuen dt {
	width:7.5em;
}

#lineup dl.syutsuen dd {
	width: calc(100% - 7.5em);
}

.catch {
	background:rgba(0,0,0,0.5);
	padding:0.2em 0.5em;
}

#lineup .btn {
	float:right;
}

	#lineup .btn li {
		margin-right:5px;
	}



.pickup_box {
	background:rgba(0,0,0,0.2);
	padding:40px;
	box-shadow: 0px 0px 10px 2px rgba(0,0,0,0.5) inset;
	position:relative;
	color:white;
}

.sec #main {
	padding-bottom:120px;
}

.pickupline {
	text-align:center;
	margin:1em auto;
}

.sec #accessmap h3,
.sec #seatingchart h3,
.sec #shop h3,
.sec #goods h3,
.sec #hours h3,
.sec #faq h3,
.sec #gallery h3 {
	font-size:2.6rem;
	border-top:solid 1px #000;
	border-bottom:solid 1px #000;
	padding:0.2em;
	margin-bottom:1em;
	color:#c6ac47;
}

#shop h4 {
	text-align:center;
}

#shop h4 span {
	display:block;
	margin-top: 0.6em;
	line-height: 1;
	font-size:1.4rem;
	text-align:center;
	color:#ff0;
}

.photo li {
	margin-right:20px;
}

#accessmap .hibiya_map {
	margin: 1em auto 0;
}

.goods li {
	background:rgba(255,255,255,0.5);
	padding:15px;
	color:black;
	width:calc(100%/3 - 30px );
	box-shadow: 2px 2px 10px -6px rgb(0, 0, 0,1);
	position:relative;
	margin-right:30px;
	margin-bottom:20px;
	display:flex;
	flex-direction:column;/*子要素に追加*/
}

	.cafe li{
		width:calc(100%/2 - 30px);
	}

.goods img {
	border:solid 5px white;
	margin-bottom:5px;
	width:100%;
	height:220px;
	object-fit:contain;
	background:white;
}

.goods figcaption {
	font-weight:bold;
}

.detail {
	border-top:solid 1px white;
	font-size:1.4rem;
	margin-top:5px;
	padding:5px;
}

	.goods li::before {
		content:"";
		width:30px;
		height:30px;
		position:absolute;
		bottom:5px;
		left:5px;
		background:url(../img/sec/flame_b.svg) no-repeat;
		background-size:cover;
		transform:rotate(275deg);
	}
	.goods li::after {
		content:"";
		width:30px;
		height:30px;
		position:absolute;
		bottom:5px;
		right:5px;
		background:url(../img/sec/flame_b.svg) no-repeat;
		background-size:cover;
		transform:rotate(180deg);
	}

.tbl {
	margin:0 auto;
	border:solid 1px white;
	border-collapse: collapse;
}

.tbl td,
.tbl th {
	width:calc(100%/7);
	padding:0.5em;
	border:solid 1px white;
	text-align:center;
}

.tbl span {
	display:block;
}

.tbl .sun,
.tbl .holiday,
.tbl tbody td:nth-child(1) {
	background:rgba(244, 14, 14, 0.5);
}

.tbl .sat,
.tbl tbody td:nth-child(7)  {
	background:rgba(8, 90, 125, 0.5);
}

.tbl tbody td.holiday:nth-child(7) {
	background:rgba(244, 14, 14, 0.5);
}

.close .lbl {
	font-weight:bold;
	color:yellow;
}


/*FAQ*/


.faq_box {
	margin:1em;
}


	.faq_box dt {
		position:relative;
		font-weight:bold;
		font-size:2.0rem;
		background:rgba(0,0,0,0.5);
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 1em;
    position: relative;
    z-index: +1;
    cursor: pointer;
    transition-duration: 0.2s;
    padding-right: 50px;
	}

	.faq_box dt::before {
		content:"Q: ";
	}

	.faq_box dd {
		display: none;
		padding: 30px 30px;
		box-sizing: border-box;
		background:rgba(255,255,255,0.6);
		color:black;
	}


.clone-nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 2;
  transition: .3s;
  transform: translateY(-110%);
}

.i_box {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 40px;
	height: 40px;
	border: 1px solid #fff;
	margin-top: -20px;
	box-sizing: border-box;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
	background: linear-gradient(0deg, rgba(118,71,28,1) 0%, rgba(205,141,42,1) 22%, rgba(235,173,32,1) 42%, rgba(255,243,143,1) 90%);
}
.i_box .one_i {
	display: block;
	width: 18px;
	height: 18px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
	position: relative;
}
.active .i_box {
	-webkit-transform: rotate(-360deg);
	transform: rotate(-360deg);
}
.i_box .one_i:before, .i_box .one_i:after {
	display: flex;
	content: '';
	background-color: #fff;
	border-radius: 10px;
	width: 18px;
	height: 4px;
	position: absolute;
	top: 7px;
	left: 0;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	transform-origin: center center;
}
.i_box .one_i:before {
	width: 4px;
	height: 18px;
	top: 0;
	left: 7px;
}
.active .i_box .one_i:before {
	content: none;
}
.active .i_box .one_i:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


.gallery li {
	width:calc(100%/4 - 20px);
	margin-right:10px;
	margin-left:10px;
	margin-bottom:10px;
	background:rgba(0,0,0,0.5);
	box-shadow: 0px 0px 10px -5px #fce903;
}

	.gallery li img {
		padding:5px;
	}

.gallery li.tate img {
	max-height:181px;
	width:auto;
}

.sec #news .inr {
	margin-top:0;
}

/*ライブラリー*/
#nendo{
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		width: 100%;
		margin: 0;
		border: 0;
		outline: none;
		padding: 10px;
		background: transparent;
}

.select_box {
	width: 260px;
	overflow: hidden;
	background: url(../img/cmn/icn_arw_btm.svg) 95% center no-repeat white;
	background-size: 15px;
	border: solid 1px #ccc;
	margin-bottom:1em;
}

.news_select li:first-child {
	margin-right: 2em;
}
.select_box label {
	display:none;
}

#bunya_list,
#bunya_detail,
.bunya_detail {
	background:#eee;
	padding:0.5em;
	margin:0 auto;
	clear:both;
}


.attention {
	background:rgba(255,255,255,0.7);
	width:100%;
	margin:0 auto;
	padding:10px;
	margin-bottom:10px;
	max-width:1170px;
	align-items:center;
}

	#main_visual .attention h2 {
		font-size:2.0rem;
		color:#c00;
		width:8em;
	}

	.attention dl {
		display:flex;
	}

	.attention dt {
		width:6em;
	}

	.attention dd {
		width: calc( 100% - 6em);
	}

	#main_visual .attention dd a {
		color:black;
	}

	.attention_txt {
		width:calc(100% - 10em);
	}

/*タブ*/
/*タブ切り替え全体のスタイル*/
.tabs {
	padding-top:50px;
}

/*タブのスタイル*/
.tab_item {
	width: calc(100%/2);
	height: 50px;
	border-bottom: 3px solid #c6ac47;
	background-color: #000;
	line-height: 50px;
	font-size: 16px;
	text-align: center;
	color: #fff;
	display: block;
	float: left;
	text-align: center;
	font-weight: bold;
	transition: all 0.2s ease;
	cursor: pointer;
}
.border_label{border-right: #3a8dde solid 1px;}
.tab_item:hover {
	opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
	display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
	display: none;
	padding: 40px 40px 0;
	clear: both;
	overflow: hidden;
}

	.tab_content li {
		padding-right:1em;
	}


/*選択されているタブのコンテンツのみを表示*/
#f1:checked ~ #f1_content,
#f2:checked ~ #f2_content {
	display: block;
}
#tab01:checked ~ #tab01_content,
#tab02:checked ~ #tab02_content{
	display: block;
	padding-bottom: 2em
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
	background: #c6ac47;
	color: #fff;
}

.tab_content dl {
	margin:0 1em 1em;
}

	.tab_content dt {
		font-weight:bold;
	}

	.tab_content dd {
		margin-left:1em;
	}


/* 画面外にいる状態 */
.fade {
	opacity : 0.2;
	transform : translate(0, 50px);
	transition : all 500ms;
	}

/* 画面内に入った状態 */
.fade.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}

/*loading*/

#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #333;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}


#load {
  position:absolute;
  width:600px;
  height:36px;
  left:50%;
  top:40%;
  margin-left:-300px;
  overflow:visible;
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
  cursor:default;
}

#load div {
  position:absolute;
  width:20px;
  height:36px;
  opacity:0;
  font-family:Helvetica, Arial, sans-serif;
  animation:move 2s linear infinite;
  -o-animation:move 2s linear infinite;
  -moz-animation:move 2s linear infinite;
  -webkit-animation:move 2s linear infinite;
  transform:rotate(180deg);
  -o-transform:rotate(180deg);
  -moz-transform:rotate(180deg);
  -webkit-transform:rotate(180deg);
  color:#fff;
}

#load div:nth-child(2) {
  animation-delay:0.2s;
  -o-animation-delay:0.2s;
  -moz-animation-delay:0.2s;
  -webkit-animation-delay:0.2s;
}
#load div:nth-child(3) {
  animation-delay:0.4s;
  -o-animation-delay:0.4s;
  -webkit-animation-delay:0.4s;
  -webkit-animation-delay:0.4s;
}
#load div:nth-child(4) {
  animation-delay:0.6s;
  -o-animation-delay:0.6s;
  -moz-animation-delay:0.6s;
  -webkit-animation-delay:0.6s;
}
#load div:nth-child(5) {
  animation-delay:0.8s;
  -o-animation-delay:0.8s;
  -moz-animation-delay:0.8s;
  -webkit-animation-delay:0.8s;
}
#load div:nth-child(6) {
  animation-delay:1s;
  -o-animation-delay:1s;
  -moz-animation-delay:1s;
  -webkit-animation-delay:1s;
}
#load div:nth-child(7) {
  animation-delay:1.2s;
  -o-animation-delay:1.2s;
  -moz-animation-delay:1.2s;
  -webkit-animation-delay:1.2s;
}

@keyframes move {
  0% {
    left:0;
    opacity:0;
  }
  35% {
    left: 41%;
    -moz-transform:rotate(0deg);
    -webkit-transform:rotate(0deg);
    -o-transform:rotate(0deg);
    transform:rotate(0deg);
    opacity:1;
  }
  65% {
    left:59%;
    -moz-transform:rotate(0deg);
    -webkit-transform:rotate(0deg);
    -o-transform:rotate(0deg);
    transform:rotate(0deg);
    opacity:1;
  }
  100% {
    left:100%;
    -moz-transform:rotate(-180deg);
    -webkit-transform:rotate(-180deg);
    -o-transform:rotate(-180deg);
    transform:rotate(-180deg);
    opacity:0;
  }
}

@-moz-keyframes move {
  0% {
    left:0;
    opacity:0;
  }
  35% {
    left:41%;
    -moz-transform:rotate(0deg);
    transform:rotate(0deg);
    opacity:1;
  }
  65% {
    left:59%;
    -moz-transform:rotate(0deg);
    transform:rotate(0deg);
    opacity:1;
  }
  100% {
    left:100%;
    -moz-transform:rotate(-180deg);
    transform:rotate(-180deg);
    opacity:0;
  }
}

@-webkit-keyframes move {
  0% {
    left:0;
    opacity:0;
  }
  35% {
    left:41%;
    -webkit-transform:rotate(0deg);
    transform:rotate(0deg);
    opacity:1;
  }
  65% {
    left:59%;
    -webkit-transform:rotate(0deg);
    transform:rotate(0deg);
    opacity:1;
  }
  100% {
    left:100%;
    -webkit-transform:rotate(-180deg);
    transform:rotate(-180deg);
    opacity:0;
  }
}

@-o-keyframes move {
  0% {
    left:0;
    opacity:0;
  }
  35% {
    left:41%;
    -o-transform:rotate(0deg);
    transform:rotate(0deg);
    opacity:1;
  }
  65% {
    left:59%;
    -o-transform:rotate(0deg);
    transform:rotate(0deg);
    opacity:1;
  }
  100% {
    left:100%;
    -o-transform:rotate(-180deg);
    transform:rotate(-180deg);
    opacity:0;
  }
}


.loaded {
  opacity: 0;
  visibility: hidden;
  transition: opacity 500ms;
}
