@charset "UTF-8";
/* ===============================
   Base
================================ */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  font-family: "Noto Sans JP", sans-serif;
	font-size:clamp(12px,1.25vw,16px);
  line-height:1.6em;
	letter-spacing: -0.02em;
  color:#fff;
  background:#000;
  -webkit-font-smoothing:antialiased;

}

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

a{
  text-decoration:none;
  color:inherit;
	color: #ae8f46;
}


ul,ol{
  list-style:none;
  margin:0;
  padding:0;
}

/* ===============================
   共通
================================ */
#wrap {
	width: 100%;
}
.bg-fixed{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  background:url(../img/base_bg.jpg) center / cover no-repeat;
  z-index:-1;
}
.container {
  width:min(1200px, 90%);
  margin-inline:auto;
background: rgba(0,0,0,0.70);
	padding: 1em;
}

/* ===============================
   ヘッダー
================================ */
header {
	width: 100%;
	text-align: center;
	padding-top: 1em;
}
header h1 {
	font-size:clamp(24px,4.375vw,56px);
	font-family: "Noto Serif", serif;
	font-weight: 900;
	color: #ae8f46;
	line-height: 1.25em;
	margin:  0;
}
header h1 span, header h3 span, p.font-L span, .boxA p span, .inquiryWrap span{
	display: inline-block;
}
header .sub {
	background: #ae8f46;
	font-size:clamp(12px,2.1875vw,28px);
	line-height: 1.25em;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 900;
	color: #000;
	width:min(360px, 60%);
  margin: 0 auto 0.25em;
	padding: 0.25em;
	
}
header h2#titleLogo {
	width:min(640px, 70%);
	margin: -0.25em auto 0;
}
header h3 {
	font-size:clamp(12px,2.1875vw,24px);
	line-height: 1.6em;
	margin: 1em auto;
	font-weight: 700;
	color: #ae8f46;
}

/* ===============================
   コンテンツ
================================ */
.boxA {
	width:min(960px, 100%);
  margin:3em auto;
	text-align: center;
}
h3.itemTit {
	font-size:clamp(18px,2.34375vw,30px);
	line-height: 1.6em;
	font-family: "Noto Serif", serif;
	font-weight: 900;
	border-bottom: 1px solid #ae8f46;
	margin: 0 auto 0.25em;
}
p.font-L {
	font-size:clamp(18px,2.5vw,32px);
	line-height: 1.25em;
	font-weight: 900;
	margin: 0;
}
p.font-M {
	font-size:clamp(12px,2.1875vw,24px);
	line-height: 1.5em;
	font-weight: 900;
	margin: 0;
}
p.font-S {
	font-size:clamp(14px,1.40625vw,18px);
	line-height: 1.5em;
/*	font-weight: 900;*/
	margin: 0;
}
p.font-SS {
	font-size:clamp(11px,1.09375vw,14px);
	line-height: 1.5em;
/*	font-weight: 900;*/
	margin: 0;
}
.color01 {
	color: #ae8f46;
}
.color02 {
	color: #ff6600;
/*	color: #3399ff;*/
}
.text-bold {
    font-weight: bold;
}
.step {
	width:min(200px, 50%);
	font-size:clamp(14px,2.1875vw,24px);
	/*line-height: 1.25em;*/
	padding: 0.25em 0;
	border-radius: 100px;
	margin: 1em auto 0.5em;
	background: #ae8f46;
	color: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 900;
}
.note {
	font-size:clamp(11px,1.09375vw,14px);
	color: #ae8f46;
	line-height: 1.25em;
	margin-top: -0.025em;
	margin-bottom: 1.25em;
	font-weight: 700;
}
#applyButton {
	width:min(240px, 60%);
  margin:1em auto 0.5em ;
	border: 3px solid #ae8f46;
	font-size:clamp(14px,2.1875vw,24px);
	padding: 0.25em 0;
	color: #ae8f46;
	font-weight: 900;
}
#applyButton:hover {
	transition: transform 0.5s ease;
	transform:scale(1.05);
	opacity: 0.7;
}
.presentWrap {
	width:min(400px, 100%);
	margin:0.5em auto;
	font-size:clamp(12px,1.40625vw,18px);
	line-height: 1.5em;
	display: flex;
justify-content: space-between;
	font-weight: 700;
	
}
.presentWrap .cast {
	margin-left: 1em;
	text-align: left;
}
.presentWrap .cast::before {
	content: "●";
	color: #ae8f46;
	
}
.noteWrap {
	border:1px solid #ae8f46;
	padding: 1em 1.5em;

}
.noteWrap .noteHead {
	font-size:clamp(12px,1.40625vw,18px);
	font-weight: 700;
	padding: 0.5em 0;
}
.noteWrap p {
		font-size:clamp(11px,1.40625vw,14px);
	line-height: 1.7em;
	text-align: left;
}

@media (min-width:768px){
.noteWrap {
		padding: 1em 4em;
	}
}
.inquiryWrap {
	
}
h3.inquiryHead {
	width:min(320px, 60%);
	font-size:clamp(12px,1.25vw,16px);
	padding: 0.25em 0;
	font-weight: 900;
	margin: 1em auto 0.5em;
	background: #ae8f46;
	color: #000;
}

/* ------------------------------------
	footer
------------------------------------ */
footer {
	padding: 1em 0;
	font-size:clamp(11px,1.25vw,14px);
	text-align: center;
}

/* ------------------------------------
	ローディング
------------------------------------ */

#loading {
  /* 画面一杯にローディング画面を広げる */
  height: 100%;
  width: 100%;
  background: #000;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 10000;
  /* flexboxを使ってローディングアイコンを画面の中央に寄せる */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
