@charset "UTF-8";
/* CSS Document */

* {box-sizing:border-box;}

/*html, body, form, #wrapper {height:100%;}*/



a { display:block; transition: 0.3s; }
h2 { text-align:center; margin-bottom:20px; font-size:4rem; color:#003862; font-weight:bold;}



h2 img { width:45%; display:block; margin:0 auto; min-width:300px;}

h3 {text-indent:0.5em; margin: 0 0 20px 20px; padding:0; border-left:solid 5px #ccc; }

h4 { color:#003862; font-family:"Jun 501";}

h5 { text-align:center; margin-bottom:50px; font-size:3rem; color:#003862; font-weight:bold;}

h6 { text-align:center; margin-bottom:50px; font-size:2rem;  font-weight:bold;}


.subh { text-align:center;  font-size:1.5rem; position: relative; top: -50px;}

@media screen and (max-width: 480px) {
h2 { font-size:3rem; }
h5 { font-size:2rem; }
}

html,body {
margin:0;
padding:0;
overflow-x: hidden;
background-color:#fbfbfb;
}

html{
/*scroll-behavior: smooth;*/
}








@media screen and (max-width: 1350px) {
	
	#search #add li {
		clear:both;
	}

	#search #add li:first-child {
		margin-bottom:10px;
	}
}




a.anchor {
	position:absolute;
	top:-60px;
	background-color:#f00;
	width:1px;
	height:1px;
}

/*-----------------------------
	ヘッダー
-----------------------------*/
	header {
		width:100%;
		height:60px;
		position:fixed;
		top:0;
		left:0;
		z-index:9999;
		background-color:#fff;
		box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.2);
	}
	
	header .inner {
		width:100%;
		 max-width:1000px;
		 margin:0 auto;
		 padding:10px 70px;
	}
	
	header .inner ul {
		display:flex;
		width:100%;
		justify-content:space-between;
	}
	
	header .inner ul li {
		list-style:none;
		position:relative;
		height:40px;
		padding:0 1em;
	}
	
	
	header .inner ul li a{
		line-height:40px;
		text-decoration:none;
		font-size:140%;
		color:#666;
		font-weight:bold;
	}
	header .inner ul li::after{
		content:'';
		width:0%;
		height:2px;
		background-color:#000;
		position:absolute;
		bottom:-2px;
		left:50%;
		transform: translate(-50%, -50%);
		transition: 0.3s;
	}
	header .inner ul li:hover::after{
		content:'';
		width:100%;
		height:2px;
		background-color:#000;
	}

@media screen and (max-width: 820px) {
header {
		top:-100px;
/*		display:none;*/
	}

.menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #be000a;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}

/*メニューの装飾*/
	
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #00409a;
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #be000a;
    transition: all 0.5s;/*アニメーション設定*/
}
	
	


#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}

.menu-content button {
	color: #fff;
	font-size: 15px;
 	background: #be000a;
	padding: 9px 15px 10px 10px;
	display: inline-block;
  	border-radius: 5px;
	border: none;
  	cursor: pointer;
}

	
#fmenu {
    display: none;
}
	
}

@media screen and (min-width: 820px) {
	.menu-content a {
    display: none;
	}
	.menu-content button {
    display: none;
	}
	}

#menu-btn-check {
    display: none;
}

/*-----------------------------
	ラッパー
-----------------------------*/	
#wrapper {
	width:100%;
	min-width:320px;
	min-height:100vh;
	position:relative;
	display:flex;
	/*overflow:hidden;*/
	background-color:#F63;
}

picture{
	width:100%;
	display:block;
}


picture img {
	width:100%;
	height:auto;
	display:block;
}

/*-----------------------------
	メイン
-----------------------------*/	

#contents {
	/*width: calc(100% - 220px);*/
	width:100%;
	/*max-width:1024px;*/
	margin:0 auto;
	padding:60px 0 0;
	background-color:#fff;
	transition: 0.5s ;
	position:relative;
	/*overflow:hidden;*/
	overflow:hidden;
}

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

#contents {
	padding:0;
}
}

section {
	width:100%;
	padding:0px;
	position:relative;

}

/*section:nth-child(odd)*/
section:nth-child(even){
	background-color: #eaf5f7;
	color: #333;
}

section .inner {
	width:100%;
	max-width:1024px;
	/*height:calc(100% - 60px);*/
	margin:0 auto;
	padding:4% 25px;
	/*box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.2);*/

}


/*clearfix*/
section:after {
	content: "";
	display: block;
	clear: both;
}

.text_top{
    margin-top: 1.5em;
    margin-bottom: 1em;
    line-height: 1.75em;
}

.qr_top{
    display: flex;
    align-items: center;
    justify-content: center;
}

.textonly {
	padding:15px 10px 0px; 
	background-color: white;
	border-radius: 10px;
}

.textonly h4{
margin-bottom:5px;
border: 1.5px solid;
border-style: none none solid;
}

.textonly a{
font-size: 125%;
}

.textonly p{
font-size: 130%;
}

	
/*-----------------------------
	サイド
-----------------------------*/		
		
	
		
#wrapper.menu-off #contents {
	transform: translateX(-220px);
	width: calc(100% + 0px);
	/*padding: 105px 25px 15px 25px;*/
}




/*-----------------------------
	フレックスボックス
-----------------------------*/	


ul.flex {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

ul.flex li {
	width:30%;
	max-width:270px;
	min-width:200px;
	position:relative;
	margin-bottom:30px;
	padding:0px;
}

ul.flex li .imgwrap {
	width:calc(100% - 20px);
	height:auto;
	border-radius:50%;
	overflow:hidden;
	margin:0 auto 15px;
}

ul.flex li img {
	width:100%;
	height:auto;
	transform: scale(1.0);
	transition-duration: 0.3s;
	display:block;
}

ul.flex li .icon {
	background-color:#F09;
	color:#fff;
	width:24%;
	height:auto;
	text-align:center;
	border-radius:50%;
	position:absolute;
	top:0;
	left:0;
}

ul.flex li .icon img {
	width:100%;
	height:auto;
	display:block;
}


ul.flex li p {
	font-size:160%;
	text-align:left;
}


ul.flex li a {
	text-decoration:none;
	color:inherit;
	font-size: 135%;
	font-family: "TBUDゴシック E"!important;
}

ul.flex li a:hover img {
/*
	transform: scale(1.2);
	transition-duration: 0.3s;
*/
}

ul.flex li .imgqrlink {
	width:calc(100%);
	height:auto;
	border-radius:5%;
	overflow:hidden;
	margin:0 auto 15px;
}

ul.flex .qrbanner li {
	max-width: 200px;
}
ul.flex .qrbanner li a:hover img{
	transform: none;
	transition-duration: 0;
	opacity: 0.3 ;
}

ul.flex li  h4{
	border: 2px solid;
	border-color: #636363;
	border-style: none none solid;
	padding-bottom: 4px;
}


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

	ul.flex li {
		width:40%;
		margin-bottom:50px;
	}

	ul.flex li p {
	font-size:160%;
	text-align:left;
}
}

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

	ul.flex li {
		width:70%;
		margin-bottom:50px;
		max-width: 100%;
	}
	ul.flex li p {
	font-size:200%;
}

	ul.flex li a {
	font-size:140%;
}
	
}


/*><><><><><><><><><><><><><><><><><><><><><><
==============================================
	導入事例・お問い合わせ
==============================================
><><><><><><><><><><><><><><><><><><><><><><*/

ul li form ul {
	width:100%;
	display:flex;
	justify-content: space-between;
	/*flex-direction: column;*/
	 flex-wrap: wrap;
}

ul li form ul li {
	width:100%;
	margin-bottom:10px;
	 border-bottom:1px solid #666;
	padding:15px 0px 0px;
	font-size:150%;
	overflow:visible;
	position:relative;
}

ul li form ul li.col2 {
	width:47%;
}


ul li form ul li p {
	width:100%;
	font-weight:bold;
	margin:0;
	display:none;
	position:absolute;
	top:-0em;
	color:#e00;
	font-size:0.8em;
	white-space:nowrap;
	overflow:hidden;
}

ul li form ul li p.error {
	font-weight:bold;
	margin-bottom:0em;
	display:block;
}

ul li form ul li input,
ul li form ul li textarea {
	width:100%;
	border:none;
	padding:0.5em;
	background-color:rgba(255,255,255,0.0);
	font-size:100%;
}

ul li form ul li label {
	display:inline-block;
	position:relative;
	margin:0 20px 0 0;
	padding:3px 8px 3px 25px;
	line-height:30px;
	border-radius:5px;
	transition: 0.3s;
}

ul li form ul li label:hover {
	background-color:#b6ecf9;
}

ul li form ul li label input {
	display:inline-block;
	width:auto;
	position:absolute;
	top:50%;
	left:3px;
	transform: translateY(-80%) translateX(-0%);
}


@media screen and (max-width: 800px) {
ul li form ul li.col2 {
	width:100%;
}
}

form .btn{
	display:flex;
}

form .btn a{
	width:45%;
	max-width:280px;
	display:block;
	background-color:#333;
	margin: 15px auto 0;
	padding:0.3em 1em;
	color:#fff;
	text-align:center;
	text-decoration:none;
	font-size:200%;
}


form .btn a:hover {
	background-color:#666;
}



.flex_col2 {
	display:flex;
	flex-direction: row;
	justify-content: space-between;
}


.flex_col2 li{
	width:45%;
	font-size:200%;
}
.flex_col2 li p{
	margin-bottom:1em;
}



.flex_col2 li img{
	width:100%;
	max-width:438.83px;
}

.flex_col2 li p.title{
	
	font-size:120%;
	font-weight:bold;
	margin-bottom:1em;
}





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

	.flex_col2 {
		display:flex;
		flex-direction: column;
		justify-content: space-between;
	}
	
	.flex_col2 li{
		width:100%;
/*		margin-bottom:30px;*/
	}
	
	.flex_col2 li:last-child{
		margin-bottom:0px;
	}

}

form table {
	margin-bottom:20px;
	border:none;
	background-color:transparent;
}

form table td {
	border:none;
	background-color:transparent;
}



form table input,
form table textarea{
	width:100%;
	border:none;
	border-bottom:1px solid #666;
	background-color:transparent;
	padding:0.5em;
	font-size:100%;
}

form table ::placeholder {color:#969696;}

form table + a {
	display:block;
	background-color:#333;
	padding:0.3em 1em;
	color:#fff;
	text-align:center;
	text-decoration:none;
}

form table + a:hover {
	background-color:#666;
}

/*><><><><><><><><><><><><><><><><><><><><><><
==============================================
	スライダー
==============================================
><><><><><><><><><><><><><><><><><><><><><><*/

.slick-slider{
	position: relative!important;
	top: -35px!important;
}

/*><><><><><><><><><><><><><><><><><><><><><><
==============================================
	ニュースリリース
==============================================
><><><><><><><><><><><><><><><><><><><><><><*/

#news {
	margin:0 0 30px;
	padding:0px;
	display:flex;
	flex-direction: column;
	
}

#news p{
	width:100%;
	font-size:160%;
	margin-bottom:1em;
	font-size:200%;
	padding:0.5em;
	vertical-align:top;
	display:table;
	border-bottom:1px solid #ccc;
}

#news p span{
	display:table-cell;
}

#news p span:first-child{
	width:200px;
	font-weight:bold;
}

#news p span:last-child{
	width: calc(100% - 200px);
}

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

	#news p span {
		display:block;
		width:100%;
	}
	
	#news p span:first-child{
		margin-bottom:1em;
}
	
	#news p span:last-child{
	width: calc(100% - 0px);
}


}



/*><><><><><><><><><><><><><><><><><><><><><><
==============================================
	お問い合わせ・ゲーム紹介
==============================================
><><><><><><><><><><><><><><><><><><><><><><*/




.honbun{
	font-size:160%;
}

/*#otoiawase input{
	display:inline-block;
}


#otoiawase label{
	width:auto;
	border-bottom:1px solid #666;
	background-color:transparent;
	padding:0.5em;
}

#otoiawase form{
	text-align:left;
}*/

.gamepr{
    text-align: center !important;
	font-size:200%;
	top:0px!important;;
}

.slick-dots{
		bottom: initial!important;
	}


.modal-content-y {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: auto;
    width: 75%;
    max-width: 300px;
    background: white;
    border: 6px solid #fff;
    border-radius: 20px;
}

.modal-content-y .inner {
    position: relative;
    width: 100%;
    padding-top: 140%;
}


.modal-content-y .inner iframe {
    width: 100%;
    position: absolute;
    height: 100%;
    top: 0;
    z-index: 1;
    /* pointer-events: none; */
    border-radius: 16px;
}

.modal-content-y .inner a {
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: -10px;
    right: -10px;
    z-index: 2;
    background-color: #000;
    border-radius: 50%;
    border: 3px solid #fff;
    background-image: url(../img/icon29.svg);
    background-repeat: no-repeat;
    background-size: cover;
}




/*><><><><><><><><><><><><><><><><><><><><><><
==============================================
	フッター
==============================================
><><><><><><><><><><><><><><><><><><><><><><*/
footer {
	background-color:#fff;
	min-width:320px;
}

footer .inner{
	width:100%;
	color:#333;
	font-size:100%;
	max-width:1024px;
	text-align:center;
	margin:0 auto;
}

footer .inner p{
}


footer .inner img{
	width:100%;
	max-width:300px;
}

footer p a {display:inline-block !important;}


/*><><><><><><><><><><><><><><><><><><><><><><
==============================================
	モーダル
==============================================
><><><><><><><><><><><><><><><><><><><><><><*/
	
	
	
/* モーダル全体(背景＋本体) */
.modal{
  display: none;
  position: fixed;
  top: 0;
  height: 100vh;
  width: 100%;
  z-index:9999;
}

/* モーダル背景 */
.modal-bg{
  position: absolute;
  height: 100vh;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
}

/* モーダル本体 */
.modal-content{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: auto;/* これが無いと「overflow:scroll」が利かない */
  max-height:90vh;
  width: 90%;/* これが無いと「overflow:scroll」が利かない */
  max-width:800px;
  /*padding:40px;*/
  border-radius:20px;
  background: white;
  /*overflow:scroll;*/
}


.modal-content .scroll{
  position:relative;
  width:100%;
  width: calc(100% - 80px);
  height: auto;
  max-height:calc(90vh - 80px);
  margin:40px;
  overflow-y:scroll;
}


.modal-content .inner{
  position:relative;
  width:100%;
   /*height:100vh;*/
}

.modal-content .inner img{
  width:100%;
}


.modal-content .inner .ticket img {
  width:100%;
}



/* モーダルウィンドウ表示中に記事本体を固定 */

body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}

body.fixed #wrapper{
  position: fixed;
}

.modal-content  .inner iframe{
  width: 100%;
  position:absolute;
  height:100%;
  top:0;
  z-index:1;
  /*pointer-events: none;*/
}

.modal-content a{
	display:block;
	width: 30px;
	height:30px;
	position:absolute;
	top:10px;
	right:10px;
	z-index:2;
}


.modal-content a .icon-bar {
		display: block;
		width: 100%;
		height: 2px;
		background: rgba(0,0,0,1);
		margin-top: 4px;
		/*transition: 0.5s ;*/
	}
	
.modal-content a .icon-bar:nth-child(1) {
	   transform: rotate(-45deg);
	   position:relative;
	   top:10px;
	   left:0px;
	   width: 100%;
	}
	
.modal-content a .icon-bar:nth-child(2) {
	 transform: rotate(45deg);
	   position:relative;
	   top:5px;
	   left:0px;
	   width: 100%;
	}


.modal-content ul {
	display:flex;
	flex-direction: row;
	justify-content: space-between;
}

.modal-content ul li h4{
	font-size:200%;
	margin-bottom:2em;
}	
.modal-content ul li p{
	font-size:200%;
}	

.modal-content ul li{
	height:100%;
	display:block;
}

.modal-content ul li:first-child{
	width:30%;
}
.modal-content ul li:last-child{
	width:65%;
}

.movieexplain{
	width: 560px;
	text-align: center;
	font-size: 1.45rem;
	color: white;
	position:fixed;
	top: 115%;
	left: 50%;
	transform: translate(-50%, -115%);
}


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

.modal-content ul {
	display:flex;
	flex-direction: row;
	justify-content: space-between;
}

.modal-content ul li:first-child{
	width:45%;
}
.modal-content ul li:last-child{
	width:50%;
}

}

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

.modal-content ul {
	display:flex;
	flex-direction: column;
	justify-content: space-between;
}

.modal-content ul li:first-child{
	width:100%;
	margin-bottom:1em;
}
.modal-content ul li:last-child{
	width:100%;
}

.modal-content ul li h4{
	margin-bottom:1em;
}

}