@charset "UTF-8";

/*--------------------------------------------*/
* { box-sizing:border-box; }
body,input,textarea {
	font-family:sans-serif;
}
body {
	margin:0px;
	padding:0px;
	background:#FFF;
	font-size:100%;
	line-height:1em;
	color:#333;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}

h1 { font-size:200%; margin:0; }
h2 { font-size:162.5%; }
h3 { font-size:100%; }
h4 { font-size:162.5%; }
h5 { font-size:100%; }
h6 { font-size:100%; }
h2,h3,h4,h5,h6 { line-height:1.3em; margin:.5em 0; }
p, dl { margin:1em 0; } p,dt,dd,th,td { line-height:1.5em; }
ul,ol { margin:1em 0; padding:0 0 0 1.5em; } li { line-height:1.3em; margin:0 0 .5em; }
i,em { font-style:normal; } u { text-decoration:none; } sup,sub { font-size:60%; }
small { font-size:70%; }
/*************/
header a   , footer a    { color:#333; text-decoration:none; display:inline-block; }
header ul  , footer ul   { margin:0; padding:0; list-style:none outside; }
header li  , footer li   { margin:0; padding:0; line-height:1.2em; }
header li a, footer li a { display:block; }

.l { text-align:left; }
.r { text-align:right; }
.c { text-align:center; }

/* table */
table { margin:2em auto; border-collapse:collapse; border-spacing:0; }
th,td { border:1px solid #EC8F25; }
th, thead td { padding:.5em 1em; background:#FBFFCB; font-weight:normal; }
td           { padding:.5em 1em; background:#FFF; }

/* dl */
dt { margin:0 5px 5px 0; padding:.1px .5em; display:inline-block; background:#FF8; border-radius:8px; }
dd { margin:5px 0 20px; }


/* -------------------------------------------- */
a       { color:#003366; }
a:hover { opacity:.5; text-decoration:none; }
/* --------------------------------------------*/

/* wrapper /
header, footer, main {}

/* inner */
.inner {
	display:block; position:relative; clear:both; width:1000px;
	 padding:80px 0px; margin-left:auto; margin-right:auto;
}




/* header /////////////////////////*/
header     { background:#FFF; }
header *   { line-height:1; }
header img { display:block; width:100%; }

header h1  { width:60%; padding:10px 0; }

header .headNav { width:350px; position:absolute; top:-110px; right:20px; }
.headNav p      { margin:10px 0; }
.headNav .btn a { width:100%; display:block; margin:0; padding:.5em 1em; }

header nav     { position:relative; padding:5px 0; background:#0032C8; }
header .nav    { display:flex; justify-content:space-between; background:#FFF; }
header .nav li { border:solid #777; border-width:0 1px 0 0;   background:#0032C8; flex:1; }
header .nav li:first-child        { border-width:0 1px; }
header .nav li:hover { opacity:.7; }
header li.act        { opacity:.85; }
header .nav a  { display:block; height:100%; padding:1em; text-align:center; color:#FFF; }


/* mv /////////////////////////*/
#mv { min-width:1000px; }



/* main /////////////////////////*/
main    { padding:40px 0; }
section { margin: 0; }

/* h2 ================= */
h2      { position:relative; text-align:center; margin:1em 0; color:#003366; }
/* h2 ================= */

/* h3 ================= */
h3      { position:relative; text-align:center; margin:1em 0; color:#999999; }
/* h3 ================= */

/* h4 ================= */
h4      { position:relative; text-align:center; margin:1em 0; color:#003366; border-bottom:double 3px #003366; }
/* h4 ================= */

/* googleMap */
.googleMap iframe { width:100%; height:400px; }


/* footer /////////////////////////*/
footer        { padding:0; }
footer p.attention { font-size:0.75em; display: flex; justify-content: center; width:100%; margin-bottom: 2em;}
footer .inner { padding:60px 0px; }
footer img    { width:100%; }
footer .inner { display:flex; justify-content:space-between; flex-wrap:wrap; }

footer h2 { margin:0; }

footer nav     { width:100%; margin:1em 0; }

footer nav ul  { display:flex; justify-content: center; flex-wrap:nowrap; gap:0 1em; font-size:0.75em; align-items:center;}
footer nav li  { width:auto; border-right: solid 1px #000; padding-right:1em;}
footer nav li:nth-of-type(4) { border-right:none; }
footer nav li:nth-of-type(4) img { width:20px; height:auto; }
footer nav p   { margin:.5em 0; text-align:right; }
footer nav p a { margin:0 .5em; text-decoration:underline; font-size:80%; }

.steam-link         { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; text-align:center; width:100%; }
.steam-link::before { content:"Share Buttons"; font-size:0.75em; display:block; width:100%; margin-bottom:1em; }
.steam-link img     { width:250px; height:auto; }
.sns                { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; text-align:center; width:100%; padding:0 0 1em 0; margin:0 0 1em 0; border-bottom:solid 1px #ccc; }
.sns li img         { width: auto; height:27px; margin:5px; }

footer address      { display:flex; justify-content:center; width:100%; }
footer address h2   { display: flex; justify-content: center; gap:0 1em;}
footer address img  { width: auto; height:66px; }
footer address h2 span { color:#333; font-size:0.5em; font-style:normal; line-height:0px; margin:0; padding:0; display:flex; align-items:center; }

/* pagetop */
.pagetop {}

/* copyright */
.copy { width:100%; margin:.5em 0; text-align:center; }


/*------------------------------------------------------------
	全体用　フェードインアニメーション
------------------------------------------------------------*/

/*------------------------------------
fadeInUp ｜下から上へ出現
------------------------------------*/
.fadeInUp {
  transition: 0.8s ease-in-out;
  transform: translateY(60px);
  opacity: 0;
}
.fadeInUp.on {
  transform: translateY(0);
  opacity: 1.0;
}

/*------------------------------------
fadeInRight ｜左から出現
------------------------------------*/
.fadeInRight {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-100px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.fadeInRight.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*------------------------------------
fadeInLeft ｜右から出現
------------------------------------*/
.fadeInLeft {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(100px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.fadeInLeft.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}


/*------------------------------------
fadeInDown ｜上から下に移動しながらフェードイン 
------------------------------------*/
.fadeInDown {
  transition: 0.8s ease-in-out;
  transform: translateY(-60px);
  opacity: 0;
}
.fadeInDown.on {
  transform: translateY(0);
  opacity: 1.0;
}





/*------------------------------------------------------------
	レスポンシブ
------------------------------------------------------------*/
#hmb_check, #hmb_btn, #hmb_bg,
.sp { display:none; }
@media (max-width: 768px){
	#hmb_btn, #hmb_bg,
	.sp { display:inline-block; }
	.pc { display:none; }

	.c { text-align:left; }
	th { white-space:nowrap; }

	/* ******** hmb_menu ******** */
	#hmb_btn, #hmb_bg { cursor:pointer; }
	#hmb_btn { /* ボタン：メニューOFF・アイコンON */ position:absolute; top:15px; right:20px;
		display:block; width:40px; height:40px; min-width:40px; margin:0; z-index:101;
		background:#038 url(../img/icon/hmb_btnOn.svg) no-repeat center / 20px; border-radius:5px;
	}
	#hmb_bg {
		display:none; width:100%; height:100%;
		position:fixed; left:0; top:0; z-index:99;
		background:#000; opacity:.5;
		transition:.3s;
	}
	#hmb_content {
		display:block; width:0; height:100%; overflow:auto; padding:60px 0 0 0;
		position:fixed; top:0; right:0; z-index:100;
		background:#FFF; opacity:.8;
		transition:.3s;
	}
	#hmb_check:checked + #hmb_btn {/* ボタン：メニューON・アイコンOFF */
		background-image:url(../img/icon/hmb_btnOff.svg);
	} 
	#hmb_check:checked ~ #hmb_bg      { display:block; }
	#hmb_check:checked ~ #hmb_content { width:80%; }
	
	/* header /////////////////////////*/
	header { position:fixed; width:100%; z-index:10000; box-shadow:2px 2px 2px 2px rgba(0,0,0,.1); }
	header .nav li  { margin:2px 0; }
	header .nav a   { min-height:55px; }
	header .headNav { width:100%; position:relative; top:0; right:0; }
	/* ******** hmb_menu ******** */

	/* inner */
	.inner { width:auto; padding:2em; }

	/* h2 ================= */
	h2      { margin:0em; font-size:1.375em; }
	/* h2 ================= */

	/* h2 ================= */
	h3      { margin:.5em 0em 1.5em 0; font-size:0.875em; }
	/* h2 ================= */

	/* flexBox */
	.flexBox,
	header .nav,
	footer .inner,
	footer .btn   { display:block; }
	footer .btn a { margin:0 0 10px; }

	/* mv /////////////////////////*/
	#mv { min-width:auto; margin:-8px 0 60px; }


	/* main /////////////////////////*/
	main { padding:80px 0 20px; }

	/* main btn */
	main p.btn a { width:90%; }

	/* footer /////////////////////////*/
	footer address h2  { gap:0 .5em; flex-direction:column;}
	footer h2 a.illumination-logo { text-align:center;} 
	footer h2 a.illumination-logo img { width:auto; height:54px; }
	footer address,
	footer nav,
	footer nav ul { gap:0 .5em; }
	footer nav li { width:auto; padding-right:.5em; }
	footer nav p  { text-align:center; }
	footer .sns  { margin:0 2em 1em 2em; width:auto; }
	footer address img  { width: auto; height:54px; }
	footer address h2 span { display:flex; justify-content:center; align-items: }
}
