@charset "utf-8";
body,div,dl,dt,dd,ul,ol,li,p,h1,h2,h3,h4,h5,h6,th,td,pre,code,blockquote,form,fieldset,legend,input,textarea,figcaption,figure{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#FFF}hr{display:none}img{vertical-align:bottom}select,input,button,textarea{font-size:99%}table{font-size:inherit;font:100%;border-collapse:collapse;border-spacing:0}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%}.hd{display:block;width:0;height:0;overflow:hidden}.cf:before,.cf:after{content:"";display:table}.cf:after{clear:both}.cf{*zoom:1}article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section,main{display:block}*{margin:0;padding:0;box-sizing:border-box;max-height:999999px;outline:none}*:focus{outline:none}button{background-color:transparent;border:none;cursor:pointer;outline:none;padding:0}

:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-gold: #d3bf8a;
  --color-line: rgba(255, 255, 255, 0.5);
  --color-grad: linear-gradient(to right, rgba(38, 38, 38, 1) 0%, rgba(26, 26, 26, 1) 100%);
  --bg-footer: #1a1a1a;
  --bg-banner: #262626;
  --bg-black: #0d0d0d;
  --bg-blue: #090f22;
  --bg-red: #220909;
  --bg-beige: #6b6449;
  --bg-aqua: #667b85;
  --box-shadow: 20px 20px 20px 0px rgba(0, 0, 0, 0.7);
  --box-shadow-sp: 15px 15px 20px 0px rgba(0, 0, 0, 0.7);
  --box-shadow_btn: 8px 8px 16px 0px rgba(0, 0, 0, 0.7);
  --box-shadow_btn-sp: 6px 6px 12px 0px rgba(0, 0, 0, 0.7);
  --font-jp: "Zen Old Mincho", serif;
  --ease-out: cubic-bezier(0.5, 1, 0.89, 1);

  --font-en:bodoni-urw,serif;
	--font-def:"Noto Serif JP",source-han-serif-jp-subset,serif;
	--font-jp83:"palt" 1,"jp83" 1;
	--vw-min:1200;
	--color-red:#cb4444;
	--color-gold:#bb9d42;
	--color-lightgold:#cbaa44;
}

@media screen and (max-width: 768px) {
  :root {
    --vw-min: 750;
  }
}

html,body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

html {
  background-color: black;
}

body {
  	-webkit-text-size-adjust:100%;
	color:#000;
	font-family:var(--font-def);
	font-feature-settings:"palt";
	font-size:min(calc(16 / var(--vw-min) * 100vw),16px);
	font-weight:400;
	letter-spacing:0.07em;
	line-height:1.8;
	word-wrap:break-word;
}

@media screen and (max-width: 768px) {
  body {
    font-size: calc(24 / var(--vw-min) * 100vw);
    min-width: 320px;
  }
}

.contents_bg {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.contents_bg .contents_bg-color {
  background: black;
}

.contents_bg-color {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
}

.contents_bg-cover {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: url(../img/bg_pc.png) center top / cover no-repeat;
}

.logo {
  width: 100%;
  height:max-content;  
  margin-bottom: 20px;
}
.logo img {
  width:100%;
  height:auto;
}

.l-main {
  width: 100%;
  max-width: 600px;
  height: 100%;
  margin: 0 auto;
  position: relative;
}

.l-main.--kuzu::before {
  background: url(../img/bg_pc.png) no-repeat center / cover;
}

.l-main::before {
  content: "";
  display: block;
  width: 100%;
  max-width: 600px;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.l-main::after {
  content: "";
  display: block;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
}

.l-main.--rock::after {
  filter: blur(3px) brightness(0.5);
  background: url(../img/bg_pc.png) no-repeat center/cover;
}

.l-main main {
  width: 100%;
  height: 100%;
  min-height: 100vh;
  display: flex;
  align-items: start;
  flex-direction: column;
  justify-content: start;
  position: relative;
  background-color: black;
  z-index: 1;
}

.l-main main section {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: white;
  padding: 15px 0;
}

section h2 {
  font-size: 150%;
  font-weight: 700;
}

#total {
  font-size: 200%;
}

section article {
  border: 1px solid gray;
  padding: 10px;
}

.btn {
  width: calc(600px / 2.5);
  height: max-content;
}

@media screen and (max-width: 768px) {
  .btn {
    width: calc(100vw / 2.5);
    height: max-content;
  }
}

.btn a {
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn a img {
  width: 100%;
  height: 100%;
}

.btn.--disabled {
  /* border: 1px solid gray; */
  background-color: gray;
}

.btn.--disabled a {
  color: black;
}

td {
  min-height: 50px;
  height: 50px;
}

td.title {
  font-size: 120%;
  font-weight: 700;
  text-align: right;
  padding-right: 20px;
}

#iframeContainer {
  position: fixed;
  bottom: 0px;
  right: 0px;
  width: 100vw;
  height: 100%;
  pointer-events: none;
  z-index: 5;
  clip-path: circle(0% at 50% 50%);
  transition: clip-path 0.5s ease;
}

#iframeContainer.visible {
  clip-path: circle(150vmax at 50% 50%);
  pointer-events: auto;
}

iframe {
  width: 100%;
  height: 100%;
  border: none;
}

#closeButton {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 101;
  background: rgba(255, 255, 255, 0.8);
  border: none;
  padding: 5px 10px;
  font-size: 14px;
  cursor: pointer;
  display: none;
}