* {
	box-sizing: border-box !important;
}

html,
body {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	-webkit-text-size-adjust: none;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-font-smoothing: antialiased;
}

p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
th,
td,
hr,
form,
fieldset,
legend,
input,
button,
textarea {
	margin: 0;
	padding: 0;
}

a {
	color: #ff53a4;
}

* {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}

html {
	overflow: auto;
	text-align: left;
	width: 100%;
	text-align: center;
	height: auto;
	background: url(wbg.png), linear-gradient(180deg, #fff, #e9e9e9);
	padding: 0;
}

body {
	font-family: 'Sawarabi Mincho','Meiryo UI',sans-serif;
	min-height: 100%;
	height: AUTO;
	min-width: 320px !important;
	margin: 0 auto;
	-webkit-font-smoothing: subpixel-antialiased;
}

img {
	border: 0;
	vertical-align: middle;
}

img {
	-ms-interpolation-mode: bicubic;
}

#acc {
	position: absolute;
	top: -8000px;
}

#overlay {
	width: 100%;
	height: 100%;
	position: fixed;
	background-color: white;
	z-index: 100000000;
	left: 0;
	top: 0;
}

ul,
ol,
li {
	list-style: none;
}

/*
--------------------------------------------------------------------------------------------------------------------------------------------*/

h1,
h2,
h3 {
	display: inline;
}

#mainFrame img {
	width: 100%;
	height: auto;
}

.c_pc {
	display: block;
}

.c_sp {
	display: none;
}

/*base
--------------------------------------------------------------------------------------------------------------------------------------------*/

#mainFrame {
	width: 100%;
	height: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
	margin: 0.5% auto 2% auto;
	max-width: 1100px;
}

#mainFrame li {
	width: 100%;
	height: auto;
	position: relative;
	margin: 0 auto;
	box-shadow: 0 0 50px 50px black inset;
	padding: 10px;
}

#mainFrame li::before {
	position: absolute;
	left: -10px;
	top: -10px;
	display: block;
	content: "";
	width: calc(100% + 20px);
	height: calc(100% + 20px);
	background-color: #000;
	background-image: url(bg.png);
	opacity: 0.8;
	z-index: -1;
	border-radius: 10px;
}

#mainFrame li::after {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: url(main.jpg);
	opacity: 0.15;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-size: 180%;
	background-position: 40% 30%;
	-webkit-filter: blur(10px);
	        filter: blur(10px);
	z-index: -1;
}

/*base
--------------------------------------------------------------------------------------------------------------------------------------------*/

/*header
--------------------------------------------------------------------------------------------------------------------------------------------*/

#mainFrame #header {
	font-size: 16px;
	max-width: 980px;
	border-bottom: none;
	padding: 0;
	color: #250606;
	text-align: right;
	z-index: 1;
	border: 20px solid;
	-o-border-image: url(cont.png) 25 25 25 25 repeat repeat;
	   border-image: url(cont.png) 25 25 25 25 repeat repeat;
	-webkit-filter: drop-shadow(0px 0px 5px #725a2d);
	        filter: drop-shadow(0px 0px 5px #725a2d);
	color: #fff;
	text-shadow: 0 0 4px #a51919,0 0 4px #a51919,0 0 8px #a51919,0 0 8px #a51919;
	-webkit-animation: fadeIn 1.0s ease 0s normal both running;
	        animation: fadeIn 1.0s ease 0s normal both running;
}

#mainFrame #header h1 {
	font-size: 22px;
	font-weight: 900;
	color: #fff;
	display: block;
	overflow: hidden;
	border-radius: 50px 50px 0 0;
	padding: 10px;
	text-align: center;
	position: relative;
}

#mainFrame #header h1::after {
	width: 100%;
	height: 1px;
	left: 0;
	position: absolute;
	bottom: 3px;
	content: "";
	z-index: -1;
	background: linear-gradient(-90deg, rgba(255, 255, 207, 0), #ffffcf 10%, #d0b46f 50%, #ffffcf 90%, rgba(255, 255, 207, 0));
}

#mainFrame #header img {
	max-width: 75px;
	position: absolute;
	left: 0px;
	top: 0px;
}

#mainFrame #header div {
	margin: 5px auto;
	padding-top: 15px;
	padding-left: 15%;
	text-align: left;
	margin-bottom: 1em;
	position: relative;
}

/*header
--------------------------------------------------------------------------------------------------------------------------------------------*/

/*mainImage
--------------------------------------------------------------------------------------------------------------------------------------------*/

#mainFrame #mainImage {
	border: none;
	padding: 0;
	z-index: 3;
	box-shadow: none !important;
	background-color: transparent;
	-webkit-filter: drop-shadow(0px 0px 5px #725a2d);
	        filter: drop-shadow(0px 0px 5px #725a2d);
	margin-top: -0.5em;
	-webkit-animation: fadeIn 1s ease 0s normal both running;
	        animation: fadeIn 1s ease 0s normal both running;
	max-width: 880px;
}

#mainFrame #mainImage::before,
#mainFrame #mainImage::after {
	display: none !important;
}

#mainFrame #mainImage div {
	width: 75%;
	margin: 0 auto;
	text-align: center;
	border-radius: 25px;
	font-size: 13px;
	padding: 1em;
	position: relative;
	margin-top: -25px;
	color: #fff;
	text-shadow: 0 0 4px #754600,0 0 4px #754600,0 0 6px #754600,0 0 6px #754600;
	background-image: url(bg.png), url(bg.png), url(bg.png);
	background-color: #000;
	box-sizing: 50%,50%,50%;
	border: solid 2px rgba(255, 255, 255, 0.8);
}

#mainFrame #mainImage div b,
#mainFrame #mainImage div h2 {
	font-size: 28px;
}

#mainFrame #mainImage img {
	-webkit-filter: drop-shadow(0px 0px 10px #725a2d);
	        filter: drop-shadow(0px 0px 10px #725a2d);
}

/*mainImage
--------------------------------------------------------------------------------------------------------------------------------------------*/

/*footer
--------------------------------------------------------------------------------------------------------------------------------------------*/

#mainFrame > #mFt {
	height: auto;
	font-size: 16px;
	padding-top: 30px;
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
	font-weight: normal;
	max-width: 980px;
	margin-top: -45px;
	z-index: 1;
	border: 20px solid;
	-o-border-image: url(cont.png) 25 25 25 25 repeat repeat;
	   border-image: url(cont.png) 25 25 25 25 repeat repeat;
	-webkit-filter: drop-shadow(0px 0px 5px #725a2d);
	        filter: drop-shadow(0px 0px 5px #725a2d);
	-webkit-animation: fadeIn 1.0s ease 00s normal both running;
	        animation: fadeIn 1.0s ease 00s normal both running;
}

#mainFrame > #mFt > div {
	border: 25px solid;
	box-shadow: 0 0 0 200px rgba(0, 0, 0, 0.33) inset;
	-o-border-image: url(fframe.png) 33%/25px 25px repeat;
	   border-image: url(fframe.png) 33%/25px 25px repeat;
	font-weight: normal;
	color: #fff;
	line-height: 160%;
	position: relative;
}

#ageve {
	width: 100%;
	margin: 15px auto;
	font-size: 14px;
	text-shadow: 0 0 0;
	padding: 15px;
	text-align: center;
	text-shadow: 0 0 4px #a51919,0 0 4px #a51919;
}

#ageve::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background-image: url(bg.png), url(bg.png), url(bg.png);
	box-shadow: 0 0 100px 200px rgba(0, 0, 0, 0.3) inset;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#ageve #agetitle {
	font-size: 24px;
	color: #fff;
	text-shadow: 0 0 3px #890000, 0 0 5px #890000, 0 0 4px #890000, 0 0 4px #890000, 0 0 4px #890000, 0 0 4px #890000;
	margin-top: -45px;
	margin-bottom: 10px;
}

#ageve #agetitle::before,
#ageve #agetitle::after {
	content: "●";
	color: #c00000;
	text-shadow: 0 0 0;
}

#ageve #context {
	font-size: 18px;
	background: linear-gradient(#c00000, #890000);
	text-shadow: 0 0 3px black;
	color: #fff;
	border-radius: 5px;
	padding: 5px;
	margin-bottom: 10px;
}

#ageve b {
	color: #f00;
	font-weight: normal;
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

#ageve hr {
	width: 95%;
	border: 1px dashed #bb0c0c;
	margin: 10px auto;
}

#ageve a {
	display: inline-block;
	width: 45%;
	height: 80px;
	text-decoration: none;
	line-height: 80px;
	background-color: #fff;
	margin: 10px 2%;
	font-size: 20px;
	border-radius: 10px;
	transition: 0.5s ease-out 100ms;
	font-weight: bold;
}

#ageve #enter {
	color: #f00;
	box-shadow: 0 0 5px 3px rgba(255, 0, 0, 0.5);
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

#ageve #enter:hover {
	color: #fff;
	background-color: #fe7598;
	box-shadow: 0 0 3px 5px rgba(255, 255, 255, 0.5);
	text-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
}

#ageve #exit {
	color: #562806;
	box-shadow: 0 0 5px 3px rgba(86, 40, 6, 0.5);
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

#ageve #exit:hover {
	color: #fff;
	background-color: #68462c;
	box-shadow: 0 0 3px 5px rgba(255, 255, 255, 0.5);
	text-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
}

#whill {
	width: 100%;
	background-image: url(illusion_bg.png);
	margin: 15px auto;
	border-radius: 25px;
	padding: 15px;
	text-align: left;
}

#whill::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background-image: url(bg.png), url(bg.png), url(bg.png);
	box-shadow: 0 0 100px 200px rgba(0, 0, 0, 0.8) inset, 0 0 20px 5px rgba(0, 0, 0, 0.8);
	width: 100%;
	height: 100%;
	z-index: -1;
}

#whill b {
	font-size: 20px;
	display: block;
	font-weight: bold;
	width: 100%;
	border-bottom: solid 2px rgba(255, 255, 255, 0.75);
	margin-bottom: 10px;
}

#footer {
	text-shadow: 0 0 0;
	color: #562806;
	line-height: 200%;
	font-size: 14px;
}

#footer a {
	color: #00f;
}

#footer #jp {
	color: #fe0089;
}

/*footer
--------------------------------------------------------------------------------------------------------------------------------------------*/

p {
	margin-bottom: 1em;
}

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

body {
	overflow-x: hidden;
	overflow-y: auto;
}

.c_pc {
	display: none;
}

.c_sp {
	display: block;
}

#mainFrame #header {
	margin: 10px 10px 0 10px;
}

#mainFrame #header h1 {
	font-size: 2.5vw;
}

#mainFrame #header img {
	display: none;
}

#mainFrame #header div {
	text-align: center;
	padding: 0 10px;
	font-size: 2.5vw;
}

#mainFrame #mainImage div {
	margin-top: 0px;
	width: 90%;
}

#mainFrame #mainImage div b,
#mainFrame #mainImage div h2 {
	font-size: 3.5vw;
}

#mainFrame > #mFt {
	margin: -45px 10px 10px 10px;
}

#ageve {
	padding: 15px 0;
	font-size: 1.8vw;
}

#ageve #agetitle {
	margin-top: -40px;
	font-size: 4vw;
}

#ageve #context {
	font-size: 2.8vw;
}

#ageve a {
	width: 45%;
	margin: 10px 2%;
	height: auto;
	line-height: 140%;
	font-size: 2.5vw !important;
	padding: 20px 0;
}

#whill {
	width: 100%;
	padding: 15px 0;
	font-size: 1.8vw;
}

#whill b {
	font-size: 2.5vw;
}

}

@-webkit-keyframes fadeIn {

0% {
	opacity: 0.5;
	-webkit-transform: translateY(50px);
	        transform: translateY(50px);
}

100% {
	opacity: 1;
	-webkit-transform: translateY(0px);
	        transform: translateY(0px);
}

}

@keyframes fadeIn {

0% {
	opacity: 0.5;
	-webkit-transform: translateY(50px);
	        transform: translateY(50px);
}

100% {
	opacity: 1;
	-webkit-transform: translateY(0px);
	        transform: translateY(0px);
}

}

