@charset "utf-8";
/* ------------------------------
 Body
------------------------------ */
html {
  background: #CCC;
}
body {
  margin: 0 auto;
  padding: 0;
  color: #fff;
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', sans-serif;
  font-size: 2.222vw;
  -webkit-text-size-adjust: 100%;
  max-width: 900px;
  overflow-x: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  background-color: #000;
}
@media screen and (min-width:901px) {
  body {
    font-size: 20px;
  }
}
/* ------------------------------
 Reset CSS
------------------------------ */
* {
  box-sizing: border-box;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
  margin: 0;
  padding: 0;
}
h1, h2, h3, h4, h5, h6, h7, p, dl, dt, dd, ul, ol, li, form {
  margin: 0;
  padding: 0;
}
ul {
  list-style-type: none;
}
img {
  vertical-align: bottom;
  border: 0;
  width: 100%;
}
a {
  outline: 0;
  color: currentColor;
}
button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
button::-moz-focus-inner {
  border: 0;
}
.cv-button {
  width: 90%;
  height: auto;
}
/* ------------------------------
 text
------------------------------ */
p, ul, dl {
  font-size: 1em;
  line-height: 1.6;
}
strong {
  font-weight: bold;
}
.small {
  font-size: 70%;
}
.justify {
  text-align: justify;
  text-justify: inter-ideograph;
}
/* ------------------------------
 Inner-wrap
------------------------------ */
.inner-wrap {
  padding: 0 5.555%;
}
/* ------------------------------
 header
------------------------------ */
#header div {
  margin: 0 auto;
	padding:4% 4.444% 1%;
  width: 100%; 
}
/* ------------------------------
 mv
------------------------------ */
#mv {
  margin: 0 auto;
}



/* ------------------------------
 Camp
------------------------------ */
#camp{
	padding: 4.444%;
}
#camp>figure{
	margin: 2% 4.444% 6%;
}

#camp-text {
  background-color: #121429;
	color: #fff;
	z-index: 100;
	padding: 8% 4.444%;
}

#camp-text h2{
	font-size: 2.2em;
	border-bottom: 1px solid #fff;
	padding-bottom: 0.5em;
	margin-bottom: 1em;
}

#camp-notice{
	padding: 0 4.444%;
	color: #fff;
}

#camp-notice p{
	font-size: 1.6em;
}
#camp-notice ul li{
	font-size: 1.3em;
}
#camp-notice ul li + li{
	padding-top: 0.25em;
}

#camp-notice ul li.note{
	font-size: 1.2em;
	padding-top: 0;
	margin-left: 1.0em;
}



/* ------------------------------
 toggle
------------------------------ */
.toggle-wrap .toggle-btn {
  position: relative;
  width: 100%;
}
.toggle-wrap .toggle-btn-icon {
  position: absolute;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  right: .5em;
  background: currentColor;
  top: calc(50% - .75em)
}
.toggle-wrap .toggle-btn-icon::before, .toggle-wrap .toggle-btn-icon::after {
  content: "";
  position: absolute;
  width: 50%;
  height: .15em;
  background: #000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto
}
.toggle-wrap .toggle-btn-icon::after {
  transform: rotate(90deg);
}
.toggle-wrap .toggle-inner {
  overflow: hidden;
  transition: .3s cubic-bezier(0.215, 0.61, 0.355, 1);
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.toggle-wrap .toggle-inner > * {
  transition: .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.toggle-wrap.open .toggle-btn-icon::after {
  display: none;
}
.toggle-wrap:not(.open) .toggle-inner {
  height: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important
}
.toggle-wrap:not(.open) .toggle-inner > * {
  opacity: 0
}
.notes-wrap {
  border: 2px solid #fff;
}
.notes-btn {
	color: #fff;
  padding: .5em;
}


/* ------------------------------
 About
------------------------------ */
#about{
	margin-top: 10%;
}
#about h1{
	padding: 6% 34% 0;
}
#about .inner-wrap{
  padding:5% 4.444% 8%;
}

#about .about-text{
	line-height: 1.8em;
}



/* ------------------------------
 続きを読む
------------------------------ */
.readmore {
    position: relative;
    margin: 1em auto 3em;
    display: block;
    color: #fff;
		font-size: 1.4em;
    border: none;
    outline: 0;
    cursor: pointer;
    background-color: #0a3a6c;
	padding: 2% 10%;
    letter-spacing: 0.1em;
}
.readmore .open {
  display: block;
}
.readmore.on-click .open {
  display: none;
}
.readmore .close {
  display: none;
}
.readmore.on-click .close {
  display: block;
}

/* ------------------------------
 smpr
------------------------------ */
#smpr{
	color: #fff;
	text-align: center;
}

#smpr #smpr-cv{
	background-image: url("../img/smpr-bg.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-color: #000;
	padding: 5%;
}

#smpr #smpr-anchor{
	padding: 2%;
}

#smpr #smpr-access{
	margin: 4.444% 8.888%;
	padding: 2% 0;
	background-color: #fff;
	color: #000;
}

#smpr #members{
	background-color: #16103c;
	padding: 4.444%;
}

#smpr #members figure{
	padding: 4.444% 8.888% 8.888%;
}
#smpr #members figure.qr{
	padding: 4.444% 34%;
}

/* ------------------------------
 Font-size
------------------------------ */
.main-title {font-size: 2.2em;}
.sub-title {font-size: 2.0em;}
.esp-txt {font-size: 1.8em;}
.lead-txt {font-size: 1.6em;}
.sub-txt {font-size: 1.4em;}
.def-txt {font-size: 1.3em;}
.small{font-size: 1.2em;}
.min-txt{font-size: 0.9em;}

.emp {font-weight: bold;
}

.mt-05{margin-top: 0.5%;}
.mt-1{margin-top: 1%;}
.mt-2{margin-top: 2%;}
.mt-3{margin-top: 3%;}
.mt-5{margin-top: 5%;}

.mb-05{margin-bottom: 0.5%;}
.mb-1{margin-bottom: 1%;}
.mb-2{margin-bottom: 2%;}
.mb-3{margin-bottom: 3%;}
.mb-5{margin-bottom: 5%;}
.ml-1{margin-left: 0.5em;}

.pt-05{padding-top: 0.5%;}
.pt-1{padding-top: 1%;}
.pt-2{padding-top: 2%;}
.pt-3{padding-top: 3%;}

.pb-05{padding-bottom: 0.5%;}
.pb-1{padding-bottom: 1%;}
.pb-2{padding-bottom: 2%;}
.pb-3{padding-bottom: 3%;}

.al-c{
	text-align: center;
}
.ind{text-indent: -1.0em; padding-left: 1.0em;}

.line-link{
	text-decoration: none;
	border-bottom: 1px dashed currentcolor;
}

.lh-14{line-height: 1.4em;}
.lh-16{line-height: 1.6em;}

.col-yellow{color: #fadc4e;}
.col-red{color: #ff4400;}
.col-darkblue{color: #181b5b;}

/* ------------------------------
Info
------------------------------ */
#info {
	padding-top: 8.888%;
  margin-bottom: 4.444%;
	background-color: #fff;
	color: #000;
}
#info h1 {
  display: block;
  text-align: center;
  color: #181b5b;
	font-size: 3.0em;
  margin-bottom: 3.333%;
}
#info h2 {
  display: block;
	text-align: center;
  font-size: 1.6em;
  line-height: 1.6;
  color: #fff;
  padding: 2.222%;
  margin: 2% 10% 3.333%;
	border-radius: 100px;
  background-color: #181b5b;
}

#info div.price{
  display: block;
	text-align: center;
  font-size: 1.6em;
  line-height: 1.6;
  padding: 4.444%;
  margin: 2% 4.444% 3.333%;
	border-radius: 10px;
	font-weight: bold;
  background-color: #e7e7e7;
}

#info a:link, #info a:active, #info a:visited {
  color: #d70c18;
  text-decoration: underline;
}
#info a:hover {
  text-decoration: none;
}
#info li.note + li.note {
  padding-top: 1%;
}
#info ul > li.note {
  padding-top: 2%;
}
#info dl {
  padding-bottom: 2.222%;
}
#info dd {
  padding-bottom: 1%;
}
#info ul li {
  font-size: 1.6em;
  line-height: 1.4em;
  padding-bottom: 0.4em;
  text-indent: -1.0em;
  padding-left: 1.0em;
}
#info ul li.note {
  font-size: 0.8em;
  padding-bottom: 0.2em;
  text-indent: -0.7em;
  padding-left: 1.0em;
}
#info ul li.noindent {
  text-indent: 0;
  padding-left: 0;
}
#info div.att{
  margin-bottom: 8%;
}
#info div.att li{
  margin-bottom: -0.25em;
}
/* ------------------------------
 Footer
------------------------------ */
#footer{
	text-align: center;
}

#footer a.cookie {
  margin-bottom: 2px;
}

#footer .copyright {
  display: block;
  text-align: center;
  font-size: 1.5em;
  padding: 1em;
}

