@charset "utf-8";

/* Define
--------------------------------------*/
:root {
	--maincolor: #890d0d;
	--red: #ff0000;
	--blue: #39a9f6;
	--darkblue: #3c92ce;
	--green: #008b1c;
}

.red {
	color: var(--red);
	font-weight: bold;
}


/* COMMON */

html {
	scroll-behavior: smooth;
	position: relative;
}
  
/* Font */
.light {
	font-weight: 300;
}
  
.medium {
	font-weight: 500;
}
  
.bold {
	font-weight: 700;
}
  
.exbold {
	font-weight: 900;
}

.fade_up {
	transform:translateY(30px);
	opacity: 0;
  transition: all ease .4s;
}

.fade_up.scrolled {
	opacity: 1;
	transform:translateY(0px);
}

body {
	font-family: 'Noto Sans JP', 'Avenir', 'Helvetica Neue', 'Helvetica','Arial', sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .01em;
	line-height: 1.6;
	position: relative;
	z-index: 1; 
	box-sizing: border-box;
	min-height: 100vh;
	background: #000;
}

p {
	word-break: break-all;
}

a {
	color: #000;
	text-decoration: none;
}

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

strong {
	font-weight: bold;
}

*:focus {
outline: none;
}

.flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.f_start {
	justify-content: flex-start;
}

.font1 {
	font-family: 'Reggae One', cursive;
}

.for-pc {
	display: block;
}

.for-sp {
	display: none;
}

#navigation {
	margin: 2% auto 8%;
}

#navigation li {
	width: 18%;
}

#navigation li a {
	width: 98%;
	margin: 0 auto;
	color: #fff;
    background: #169ec7;
    display: block;
    text-align: center;
    padding: 4% 0;
    border-radius: 10px;
    box-sizing: border-box;
    text-decoration: none;
	box-shadow: 1px 1px 4px #000;
    border: 2px solid #fff;
}

.labelcss input.trigger {
  display: none;
}

.labelcss label.clickme {
  cursor: pointer;
  display: inline-block;
  padding: 10px 20px;
  border: 1px solid;
  border-radius: 4px;
  background: #336600;
  color: #FFF;
  font-family: arial;
  transition: background-color 0.1s, color 0.1s;
  -webkit-transition: background-color 0.1s, color 0.1s;
  display: block;
  text-align: center;
  width: 10%;
  margin: 2% auto;
}

.labelcss label.clickme:hover {
  background: #33CC00;
  color: #000;
}

.labelcss .open_area {
  -webkit-transition: height .3s ease;
  width: 100%;
  line-height: 0;
	height: 0;
	overflow: hidden;
	opacity: 0;
  padding: 0;
  transition: padding .36s, opacity .36s;
}

.labelcss input.trigger:checked + .open_area {
  animation-duration: 1.5s;
  animation-name: fade-in;
   line-height: normal;
  height: auto;
	opacity: 1;
   padding: 6% 0%;
   box-sizing: border-box;
   width: 80%;
   margin: 0 auto;
}

@keyframes fade-in {
    0% {
        display: none;
        opacity: 0;
    }
    1% {
        display: block;
        opacity: 0;
    }
    100% {
        display: block;
        opacity: 1;
    }
}


.contents {
	width: 96%;
	max-width: 1200px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	margin: auto;
}

#answer {
	background: #f2f6ff;
}

.answerArea {
	height: 0;
	opacity: 0;
	visibility: hidden;
	transition: all ease .4s;
}

.answerArea.open {
	height: auto;
	opacity: 1;
	visibility: visible;
}


#header .h-logo {
	width: 100%;
    margin: 0 auto;
}

#header .h-logo img {
	width: 100%;
}

#question {
	width: 100%;
	height: 100vh;
	background:#063f53;
	background: linear-gradient(#063f53 10%,#000000 50%, #063f53 90%);
	position: relative;
}

#question .mission_box {
	width: 100%;
	margin: 0 auto;
	border: 1px solid #000;
	padding: 4%;
	box-sizing: border-box;
	margin-bottom: 4%;
}

#question .video_area {
	width: 90%;
	margin: 0 auto 2%;
	text-align: center;
}

#question .information {
	width: 86%;
	margin: 4% auto;
}

.movie {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-bottom: 20px;
    box-sizing: border-box;
}

.movie iframe {
    width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
}

#answer .question_single {
	border: 8px solid #169ec7;
	border-radius: 12px;
    padding: 4%;
    background: #fff;
    box-sizing: border-box;
}

#answer .question_title {
	font-size: 1.4rem;
}

#answer a {
	color: #169ec7;
	font-size: 1.2rem;
    text-decoration: underline;
    margin: 4% 0;
    display: block;
}

#answer .question_title a {
	color: #169ec7;
    text-decoration: underline;
    margin: 4% 2%;
    display: block;
}

#answer .account {
	margin: 2%;
}

#answer .question_step {
	font-size: 1.4rem;
    color: #fff;
    background: #169ec7;
    padding: .6% 1%;
    border-left: 6px solid #296e84;
    box-sizing: border-box;
    font-weight: bold;
    letter-spacing: .05em;
}

#answer form p {
    font-size: 1rem;
    line-height: 1.9;
    margin-bottom: 2%;
}


#answer form p input {
	font-size: 1.4rem;
	padding: .4em;
	border: 2px solid #000;
	border-radius: 5px;
	box-sizing: border-box;
}

#answer form p input.error {
	background: #ffe1e1;
    border: 2px solid red;
}

#answer form p select {
	font-size: 1.4rem;
	padding: .4em;
	border: 2px solid #000;
	border-radius: 5px;
	box-sizing: border-box;
}

#answer form p select.error {
	background: #ffe1e1;
    border: 2px solid red;
}

#answer .submit {
	visibility: hidden;
	opacity: 0;
	transition: all ease 0s;
	height: 0;
	padding: 0;
}

#answer .show .submit {
	visibility: visible;
    opacity: 1;
    padding: 0.5em 1em;
    font-size: 1.2em;
    background-color: #424242;
    color: #fff;
    border-radius: 8px;
    cursor: pointer;
    height: auto;
    min-width: 30%;
    width: 30%;
    margin-left: auto;
    display: block;
}

#answer form p.arrow {
	padding-left: 4%;
}

#answer .show a.submit {
	text-align: center;
	box-sizing: border-box;
}

#answer .show.unlocked .submit {
	background-color: #953333;
}

#answer .answer_area p input {
	width: 100%;
}

#answer .answer_area p input.error {
	background: #ffe1e1;
    border: 2px solid red;
}

#answer .answer_area p select {
	width: 100%;
}

#answer .answer_area p select.error {
	background: #ffe1e1;
    border: 2px solid red;
}

#answer .answer_area .special_b p select.error {
	background: #ffe1e1;
    border: 2px solid red;
}

#answer .answer_area_min {
	width: 30%;
	margin: 0 auto;
}

#answer .answer_area_min p {
	display: flex;
	align-items: center;
	width: 30%;
}

#answer .answer_area_min p input {
	width: 100%;
	text-align: center;
}

.special_a .fl01 {
	width: 18%;
	display: flex;
	align-items: center;
}

.special_a .fl01 span {
	font-size: 1.2rem;
	font-weight: bold;
}

.special_a .fl02 {
	width: 82%;
}

#answer .answer_area .special_b p input {
	width: 25%;
	margin: 1%;
}

#answer .answer_area .special_b p select {
	width: 25%;
    margin: 1%;
    font-size: 1.4rem;
    padding: .5em;
    border: 2px solid #000;
    border-radius: 5px;
    box-sizing: border-box;
}

#answer input.okay {
	border: 2px solid #169ec7;
    color: #666;
}

#answer .answer_area .special_b p {
	font-size: 1.2rem;
}

#extra {
	padding: 2%;
    box-sizing: border-box;
    background: #ffffff;
    border: dashed #ccc 2px;
    margin-top: 4%;
}

#extra li {
	display: block;
	margin-right: 2%;
	margin-bottom: 1%;
}

#extra2 {
	padding: 2%;
    box-sizing: border-box;
    background: #ffffff;
    border: dashed #ccc 2px;
    margin-top: 4%;
    margin-bottom: 4%;
}

#extra2 ul {
	overflow: hidden;
}

#extra2 li {
	float: left;
	margin-right: 2%;
	margin-bottom: 2%;
	font-size: 1.2rem;
	text-align: center;
	display: block;
	background: #169ec7;
	border-radius: 40px;
	color: #fff;
	padding: 1% 4%;
	position: relative;
	cursor: pointer;
	transition: all ease .4s;
}

#extra2 li::after {
	content: "";
	color: #fff;
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	background: #fff;
	border-radius: 50%;
	left: 16px;
	top: 0;
	bottom: 0;
	margin: auto;
}

#extra2 li:hover {
	opacity: .7;
}

#extra2 .btnlist {
	font-size: 1.3rem;
    font-weight: bold;
    letter-spacing: .1em;
    color: #169ec7;
    border-left: 3px solid #169ec7;
    padding-left: 1%;
    background: #f7f7f7;
    margin-bottom: 3%;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
     -webkit-appearance: none;
     margin: 0;
}

input[type="number"] {
     -moz-appearance:textfield;
}

.icons {
	display: none;
	width: 36%;
 margin: 0 auto;
}

.icons p {
	width: 15%;
}

.icons img {
	transition: all ease .4s;
}

.icons img:hover {
	opacity: 1;
	cursor: pointer;
	transform: scale(1.1);
}


.hint_area {
	margin-top: 8%;
	margin-bottom: 12%;
	box-sizing: border-box;
}

.hintInner {
	margin-bottom: 4%;
    border: 1px solid #ccc;
    padding: 4% 4% 0;
    box-sizing: border-box;
    background: #fff;
}

.archive_area {
  margin-bottom: 4%;
border: 1px solid #ccc;
padding: 4%;
box-sizing: border-box;
background: #fff;
}

.archive_area p {
	  font-size: .8rem;
  width: 22%;
  margin-bottom: 2%;
  text-align: center;
  color: #000000;
  letter-spacing: .1em;
}

.archive_title {
	background: #000;
    padding: .8% 2%;
    box-sizing: border-box;
    color: #fff;
    font-weight: bold;
    font-size: 1.4rem;
    letter-spacing: .1em;
	text-align: center;
}

.archive_title i {
	margin-left: -10px;
    margin-right: 10px;
}

#hintdesc1 {
	opacity: 0;
	height: 0;
	overflow: hidden;
	visibility: hidden;
	transition: all ease .4s;
}

#hintdesc1.show {
	opacity: 1;
	height: auto;
	visibility: visible;
    background: #fffbf2;
	padding: 4% 0;
	border: 1px solid #ccc;
	box-sizing: border-box;
}

#hintdesc1 p {
	padding: 0 4%;
}

.hint_img {
	width: 50%;
	margin: 3% 0;
}

.hint_box {
	margin-bottom: 4%;
}

.hint_title {
	cursor: pointer;
    background: #ffbf1e;
    color: #fff;
    font-weight: bold;
    font-size: 1.2rem;
    padding: 1% 2%;
    box-sizing: border-box;
    transition: all ease .4s;
    position: relative;
}

.hint_title i {
	position: absolute;
    right: 2%;
    top: 54%;
    bottom: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
	transition: all ease .4s;
}

.hint_title:hover {
	opacity: .7;
}

.hint2 {
	display: none;
}

.hint2.show {
	display: block;
}

.hint3 {
	display: none;
}

.hint3.show {
	display: block;
}

#story + .archive_area {
	text-align: center;
}

.page_top {
	opacity: 0;
	transform:translateY(20px);
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	position: fixed;
	right: 30px;
	bottom: 80px;
	z-index: 100;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #84bcc0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s ease;
	box-shadow: 1px 1px 1px #a3a3a3;
}
  
.page_top.show {
	  opacity: 1;
	  transform:translateY(0px);
}
  
.page_top::before {
	content: "";
	width: 12px;
	height: 12px;
	margin-bottom: -6px;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	transform: rotate(-45deg);
}
  
.page_top:hover {
	transform: scale(1.1);
}

.twitterBtn a {
	pointer-events: none;
	color: #bababa !important;
    background: #fff !important;
    border: 1px solid #bababa !important;
    text-decoration: none !important;
}

.twitterBtn.clicked a {
	pointer-events: initial !important;
	color: #fff !important;
    background: rgb(0, 162, 255) !important;
    border: 1px solid #fff !important;
    text-decoration: none !important;
	transition: all ease .4s !important;
}

.twitterBtn.clicked a:hover {
	opacity: .7 !important;
}

.caution {
	width: 90%;
	margin: 0 auto;
	text-align: right;
	margin-bottom: 2%;
}

.caution a {
	font-size: .8rem;
    color: #17a0c1;
    padding: 2px 14px;
    display: inline-block;
    margin-bottom: 2px;
    border: 2px solid #17a0c1;
    background: #fff;
    transition: all ease .4s;
}

.caution a:hover {
	color: #fff;
	background: #17a0c1;
	border: 2px solid #fff;
}






/* Original */

#main {
	opacity: 0;
	visibility: hidden;
	height: 0;
	padding: 0;
	margin: 0;
	transition: all ease .4s;
	color: #fff;
}

#main.checked {
	display: block;
	opacity: 1;
	visibility: visible;
	height: auto;
	padding: auto;
	margin: auto;
}

#main .container {
	display: none;
}

#main.checked .container {
	display: block;
	width: 80%;
	margin: 0 auto;
	padding: 6% 0 2%;
}

#main #nav li {
	width: 19%;
	text-align: center;
	transition: all ease .4s;
}

#main #nav li a {
	display: block;
	color: #fff;
	background: var(--blue);
	box-shadow: 0px 3px 1px var(--darkblue);
	border-radius: 6px;
    padding: 6px;
	box-sizing: border-box;
	transition: all ease .4s;
}

#main #nav li a:hover {
	opacity: .7;
}

#main .box {
	margin-bottom: 10%;
}

#main .formBox {
    box-sizing: border-box;
}

#main .greenBtn {
	text-align: right;
	margin-top: 4%;
}

#main .greenBtn input {
    color: #000;
	border: none;
    background: rgb(105,251,254);
	background: linear-gradient(90deg, rgba(105,251,254,1) 0%, rgba(143,170,210,1) 50%, rgba(236,65,140,1) 100%);
    padding: 18px 20px;
	border: 3px solid #000;
    border-radius: 40px;
    transition: all ease .4s;
    cursor: pointer;
    width: 40%;
	font-size: 1.8rem;
    font-weight: bold;
	box-shadow: 3px 3px 1px #fff;
}

#main .greenBtn input:hover {
	opacity: .7;
}

#main .greenBtn a {
	background: var(--green);
    color: #fff;
    border: none;
    padding: 8px 20px;
    border-radius: 8px;
	transition: all ease .4s;
	cursor: pointer;
}

#main .greenBtn a:hover {
	opacity: .7;
}


#main .step {
	font-size: 1.7rem;
    font-weight: bold;
}


#main .type_a {
	margin-bottom: 2%;
}

#main .type_a input {
	width: 100%;
	box-sizing: border-box;
	padding: 3%;
}

#main .type_a .flex01 {
	width: 24%;
	font-size: 1.1rem;
	padding: 8px;
	box-sizing: border-box;
}

#main .type_a .flex02 {
	width: 76%;
	font-size: 1.1rem;
}

#main .type_b {
	margin-bottom: 2%;
	text-align: center;
}

#main .type_b select {
	width: 25%;
    box-sizing: border-box;
    padding: 8px;
    border-radius: 8px;
    border: 3px solid #ccc;
    margin-bottom: 1%;
    margin-right: 1%;
    margin-left: 1%;
}

#main .type_b input {
	width: 25%;
    box-sizing: border-box;
    padding: 1.6%;
    margin-bottom: 1%;
    margin-right: 1%;
    margin-left: 1%;
}

#main .type_c input {
	box-sizing: border-box;
	padding: 1.6%;
	margin-bottom: 1%;
    margin-right: 1%;
    margin-left: 1%;
	max-width: 30%;
}

#main .type_c select {
	width: 25%;
    box-sizing: border-box;
    padding: 1.6%;
    margin-bottom: 1%;
    margin-right: 1%;
    margin-left: 1%;
}

#main .hintBox {
	background: #fff;
    box-sizing: border-box;
    padding: 6%;
    width: 100%;
	margin: 16% auto 8%;
}


#main .hintBox .ttl {
	font-size: 1.7rem;
    font-weight: bold;
	margin-bottom: 3%;
	width: 100%;
	color: #000;
	margin-top: 0;
}

#main .hintTtl {
	display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
	font-size: 1.2rem;
    color: #c2c2c2;
    border-bottom: 1px solid #bdbdbd;
    padding: 1.4% 2%;
	cursor: pointer;
	transition: all ease .4s;
}

#main .hintTtl:hover {
	color: #666;
}

#main .hintTtl.clicked {
	color: #666;
}

#main .hintDesc {
	padding: 4%;
    box-sizing: border-box;
    background: #f4f4f4;
    color: #666;
    margin-top: 3%;
    border-radius: 8px;
}

#main .hintTtl i {
	padding-right: 1%;
}

#main .hintDesc {
	visibility: hidden;
	padding: 0 4%;
	height: 0;
	opacity: 0;
	transition: all ease .4s;
}

#main .hintDesc.show {
	visibility: visible;
	padding: 4%;
	margin-bottom: 4%;
	height: auto;
	opacity: 1;
	word-break: break-all;
}

#main .hintDesc.show a {
	color: #0393f8;
	transition: all ease .4s;
	text-decoration: underline;
}

#main .hintDesc.show a:hover {
	opacity: .7;
}

#main .hintDesc p {
	display: none;
}

#main .hintDesc.show p {
	display: block;
}

#main .hintSingle {
	display: none;
}

#main .hintSingle.show {
	display: block;
}

#main .archiveBox {
	background: #fff;
    box-sizing: border-box;
    padding: 6%;
    border-radius: 8px;
}

#main .archiveBox .ttl {
	font-size: 1.7rem;
    font-weight: bold;
	margin-bottom: 3%;
}

#main .movieSingle {
	width: 32%;
	margin-bottom: 3%;
}

#main .archiveArea::after {
	content: '';
	width: 32%;
	display: block;
}

#main .movieSingle .movie {
	margin-bottom: 0%;
}

#main .movieSingle .movie img {
	cursor: pointer;
}

#main .movieSingle .sub {
	font-size: .9rem;
	text-align: center;
	margin-top: 2%;
}

#main .movieSingle:first-child .sub::after {
	content: "NEW";
    color: #fff;
    background: #ff0034;
    padding: 1px 12px;
    box-sizing: border-box;
    margin-left: 4%;
    border-radius: 4px;
    font-size: .8rem;
	word-break: keep-all;
}

#main #info {
	cursor: pointer;
}

#main #story {
	cursor: pointer;
}

.popup {
	background: rgba(0,0,0,.8);
	display: none;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
}

.popup .box {
	width: 80%;
	opacity: 0;
	background: url(../img/bg03.png) no-repeat 150% 10%/ 52% , #fff;
	border-radius: 20px;
	color: #000;
	text-align: center;
	margin: 0 auto;
	padding: 8%;
	box-sizing: border-box;
	transition: all ease 1s;
}

.popup .check {
	font-size: 1.6rem;
	color: red;
	font-weight: bold;
	margin-bottom: 2%;
}

.popup .desc {
	font-size: 1.1rem;
	font-weight: bold;
}


.popup.show {
	position: fixed;
	opacity: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.8);
	display: block;
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transform:translate(0,0);
	opacity: 1;
  	visibility: visible;
  	z-index: 9999;
}

.popup.show .box {
	width: 80%;
	opacity: 1;
	background: url(../img/bg03.png) no-repeat 150% 10%/ 52% , #fff;
	border-radius: 20px;
	color: #000;
	text-align: center;
	margin: 0 auto;
	padding: 8%;
	box-sizing: border-box;
	position: relative;
}

.popup.show .box i {
	font-size: 3rem;
    position: fixed;
    color: #fff;
    z-index: 1000000;
    right: 3%;
    top: 3%;
    cursor: pointer;
}

.videoPopup {
	background: rgba(0,0,0,.8);
	display: none;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
}

.videoPopup .box {
	width: 80%;
	opacity: 0;
	background: #fff;
	border-radius: 20px;
	color: #000;
	text-align: center;
	margin: 0 auto;
	padding: 8%;
	box-sizing: border-box;
	transition: all ease 1s;
}

.videoPopup .check {
	font-size: 1.4rem;
	color: red;
	font-weight: bold;
	margin-bottom: 2%;
}

.videoPopup .desc {
	font-size: 1.1rem;
	font-weight: bold;
}


.videoPopup.show {
	position: fixed;
	opacity: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.8);
	display: block;
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transform:translate(0,0);
	opacity: 1;
  	visibility: visible;
  	z-index: 9999;
}

.videoPopup.show .box {
	width: 80%;
    max-width: 900px;
	opacity: 1;
	background: #fff;
	border-radius: 20px;
	color: #000;
	text-align: center;
	margin: 0 auto;
	padding: 4%;
	box-sizing: border-box;
	position: relative;
}

.videoPopup.show .box i {
	font-size: 3rem;
    position: fixed;
    color: #fff;
    z-index: 1000000;
    right: 3%;
    top: 3%;
    cursor: pointer;
}

.movieSingle .videoPopup.show .box {
	width: 100%;
	padding: 0%;
}


.videoPopup.show img {
	margin: 0 auto;
}

input.okay {
	border: 2px solid #169ec7 !important;
    color: #666 !important;
}

input.error {
	background: #ffe1e1 !important;
    border: 2px solid red !important;
}

select.error {
	background: #ffe1e1 !important;
    border: 2px solid red !important;
}

.twitter a {
	color: #007fd9;
	text-decoration: underline;
}

.sakurada {
	margin: 4% 0;
}

.sakurada a {
	color: #007fd9;
	text-decoration: underline;
	transition: all ease .4s;
}

.sakurada a:hover {
	opacity: .7;
}

.twitterBtn a {
	pointer-events: none;
	color: #bababa !important;
    background: #fff !important;
    border: 1px solid #bababa !important;
    text-decoration: none !important;
}

.twitterBtn.clicked a {
	pointer-events: initial !important;
	color: #fff !important;
    background: var(--green) !important;
    border: 1px solid #fff !important;
    text-decoration: none !important;
	transition: all ease .4s !important;
}

.twitterBtn.clicked a:hover {
	opacity: .7 !important;
}


#main .pic {
	width: 50%;
	margin: 4% 0 6%;
}


#main .pic2 {
	width: 30%;
	margin: 4% 0 6%;
}

#main .watch {
	color: #e15454;
	background: #f1f1f1;
	padding: 1%;
	box-sizing: border-box;
}

.lum-lightbox-image-wrapper img {
	width: 90% !important;
	max-height: 90vh !important;
	object-fit: contain;
	margin: 0 auto;
}

#main .infomation {
	color: #ec5959;
    text-align: right;
    margin-top: 3%;
    width: 34%;
    margin-left: auto;
    line-height: 1.4;
}

.new {
    color: #fff;
    background: #ff022a;
    padding: 0px 12px;
    box-sizing: border-box;
    margin-left: 4px;
    border-radius: 4px;
    font-size: .8rem;
}

.new-text {
	color: #ff022a;
	font-weight: 400;
}


.startbtn {
	width: 25%;
    box-sizing: border-box;
    padding: 8px;
    border-radius: 8px;
    border: 3px solid #ccc;
    margin-bottom: 1%;
    margin-right: 1%;
    margin-left: 1%;
    display: inline-block;
    background: #f2f6ff;
}

.kotae {
	display: inline-block;
	margin-left: 8px;
}

#indexList a {
	transition: all ease .4s;
}

#indexList a:hover {
	color: #007fd9;
}

#main #indexList.hintBox .ttl {
	font-size: 1.2rem;
    color: #c03636;
	margin-bottom: 2%;
}

#indexList .hintDesc {
	overflow: hidden;
}

#indexList .hintDesc p {
	float: left;
    margin-right: 3%;
    margin-bottom: 10px;
    letter-spacing: .03em;
    min-width: 80px;
}

#f_nav {
	opacity: 0;
	visibility: hidden;
	transition: all ease .4s;
}

#f_nav.show {
	opacity: 1;
	visibility: visible;
}

#f_nav .box {
	position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
	z-index: 1;
}

#f_nav .box li {
	width: calc(100%/5);
	text-align: center;
}

#f_nav .box li a {
	color: #fff;
    background: var(--darkblue);
    display: block;
    width: 100%;
    padding: 16px 0;
    border: 1px solid #fff;
	cursor: pointer;
	transition: all ease .4s;
}

#f_nav .box li a:hover {
	background: var(--blue);
}

#omake {
	padding: 4% 0;
	box-sizing: border-box;
	background: linear-gradient(#000 10%,#063f53 50%, #000 90%);
}

#omake .inner {
	width: 80%;
	margin: 0 auto;
}

#omake .title {
	font-size: 2.6rem;
	letter-spacing: .1em;
	color: #fff;
	text-align: center;
}

#omake .image {
	width: 40%;
	margin:0 auto 2%;
	padding: 4%;
	box-sizing: border-box;
}

#omake .ttl {
	font-size: 2rem;
	color: #fff;
}

#omake .memo {
	background: #fff;
	padding: 8%;
	width: 80%;
	margin: 0 auto 4%;
	box-sizing: border-box;
	border: 8px solid #86c9e2;
}


#omake .nazo {
	margin-top: 4%;
}

#omakequiz .step {
	font-size: 1.7rem;
    font-weight: bold;
}

#omakequiz .formBox .ttl {
	font-size: 1.2rem;
    margin-top: 1%;
    margin-bottom: 3%;
    color: #007fd9;
	letter-spacing: -.2px;
}

#omakequiz .type_a {
	margin-bottom: 2%;
}

#omakequiz .type_a input {
	width: 100%;
	box-sizing: border-box;
	padding: 8px;
    border-radius: 8px;
    border: 3px solid #ccc;
}

#omakequiz .type_a .flex01 {
	width: 24%;
	font-size: 1.1rem;
	padding: 8px;
	box-sizing: border-box;
}

#omakequiz .type_a .flex02 {
	width: 76%;
	font-size: 1.1rem;
}

#omakequiz .type_b {
	margin-bottom: 2%;
}

#omakequiz .type_b select {
	width: 25%;
    box-sizing: border-box;
    padding: 8px;
    border-radius: 8px;
    border: 3px solid #ccc;
    margin-bottom: 1%;
    margin-right: 1%;
    margin-left: 1%;
}

#omakequiz .type_c input {
	box-sizing: border-box;
	padding: 8px;
    border-radius: 8px;
    border: 3px solid #ccc;
	margin-bottom: 1%;
    margin-right: 1%;
    margin-left: 1%;
	max-width: 30%;
}

#omakequiz .type_c select {
	width: 25%;
    box-sizing: border-box;
    padding: 8px;
    border-radius: 8px;
    border: 3px solid #ccc;
    margin-bottom: 1%;
    margin-right: 1%;
    margin-left: 1%;
}

#omakequiz {
	padding: 8% 0;
	box-sizing: border-box;
	background: #f2f6ff;
}

#omakequiz #btn input {
	background: var(--green);
    color: #fff;
    border: none;
    padding: 8px 20px;
    border-radius: 8px;
	transition: all ease .4s;
	cursor: pointer;
}

#omakequiz #btn input:hover {
	opacity: .7;
}

#omakequiz #btn a {
	background: var(--green);
    color: #fff;
    border: none;
    padding: 8px 20px;
    border-radius: 8px;
	transition: all ease .4s;
	cursor: pointer;
}

#omakequiz #btn a:hover {
	opacity: .7;
}


#omakequiz .formBox {
	background: #fff;
    box-sizing: border-box;
    padding: 6%;
    border-radius: 8px;
	width: 80%;
	margin: 0 auto 8%;
}

#omake .clear {
	background: #e6fbf3;
    padding: 3%;
    border: 2px solid #46c192;
    margin-top: 8%;
    margin-bottom: 4%;
}

#omake .tweetBtn {
	text-align: center;
	width: 50%;
	margin: 8% auto;
}

#omake .tweetBtn a {
	display: block;
    color: #fff;
    background: #029CFF;
    padding: 4%;
    border: 3px solid #a5dcff;
    box-sizing: border-box;
    box-shadow: 1px 1px 1px #b9b9b9;
	transition: all ease .4s;
}

#omake .tweetBtn a:hover {
	opacity: .7;
}


#ending {
	padding: 2% 0 12%;
	box-sizing: border-box;
}

#ending .desc a {
	text-decoration: underline;
	transition: all ease .4s;
	color: #3fa9c1;
	font-weight: bold;
}

#ending a:hover {
	opacity: .7;
}

#ending .box {
	border: 2px solid #000;
    padding: 4%;
    box-sizing: border-box;
	box-shadow: 1px 1px 10px #000;
}

#ending .inner {
	width: 80%;
	margin: 0 auto;
}

#ending .title {
	font-size: 2.6rem;
	letter-spacing: .1em;
	color: #000;
	text-align: center;
	text-shadow: 1px 1px 10px #000;
    font-style: italic;
}

#ending .image {
	width: 60%;
	margin:0 auto 2%;
	padding: 4%;
	box-sizing: border-box;
}

#ending .ttl {
	font-size: 2rem;
	color: #000;
}

#ending .endmovie {
	width: 80%;
	margin: 0 auto;
}

#ending .txt {
	text-align: center;
	margin-bottom: 2%;
	margin-top: -3%;
}

#ending .omakeArea {
	box-sizing: border-box;
}

#ending .morettl {
	font-size: 2rem;
	color: #000;
	text-shadow: 1px 1px 10px #ccc;
	text-align: center;
	font-weight: bold;
	line-height: 1.6;
    margin-bottom: 4%;
    letter-spacing: .02em;
}

#ending .omakeArea .desc {
	font-size: 1.3rem;
	text-align: center;
	line-height: 2;
	margin-bottom: 6%;
	color: #000;
}

#ending .moreVideoArea {
	padding: 6% 6% 4%;
    box-sizing: border-box;
    background: #0f1415;
}

#ending .moreVideoArea .singleVideo {
	width: 48%;
	margin-bottom: 6%;
}

#ending .moreVideoArea .singleVideo .movie {
	margin-bottom: 10px;
}

#ending .moreVideoArea .singleVideo .info {
	font-size: .9rem;
	line-height: 1.4;
	padding: 0 4%;
	box-sizing: border-box;
	margin-bottom: 4%;
	min-height: 60px;
	color: #fff;
}

#ending .moreVideoArea .singleVideo .link a {
	text-decoration: none;
	font-size: .9rem;
	display: block;
	width: 92%;
	margin: 0 auto;
	text-align: center;
	border: 1px solid #fff;
	padding: 2%;
	box-sizing: border-box;
	transition: all ease .4s;
	color: #fff;
	background: #167ac6;
}

#ending .moreVideoArea .singleVideo .link a:hover {
	background: #57a5e0;
	opacity: 1;
}

#ending .tweetArea {
	padding: 4%;
	box-sizing: border-box;
	background: #fff;
	color: #000;
	margin-top: 8%;
	margin-bottom: 8%;
	border: 6px solid #167ac6;
}

#ending .tweetArea .comment {
	font-size: 1.1rem;
	text-align: center;
	margin-bottom: 4%;
}

#ending .tweetArea .sns {
	width: 70%;
	margin: 0 auto;
}

#ending .tweetArea .sns li {
	margin-bottom: 2%;
}

#ending .tweetArea .sns li a {
	display: block;
	color: #fff;
	width: 100%;
	text-decoration: none;
	text-align: center;
	background: #167ac6;
	padding: 2%;
	box-sizing: border-box;
}

#ending .tweetArea .sns li:nth-child(2) a{
	background: orange;
}

#ending .tweetArea .sns li:nth-child(3) a{
	background: #da2c00;
}

#ending .ancate {
	text-align: center;
	padding: 2%;
	box-sizing: border-box;
}

#ending .ancate .info {
	margin-bottom: 2%;
}

#ending .ancate .btn {
	width: 50%;
    margin: 0 auto;
}

#ending .ancate .btn a {
	text-decoration: none;
    border: 1px solid #000;
    display: block;
    padding: 4%;
	transition: all ease .4s;
}

#ending .ancate .btn a:hover {
	color: #fff;
	background: #000;
	opacity: 1;
}

#ending .f_logo img {
	width: 20%;
    margin: 4% auto 2%;
	transition: all ease .4s;
}

#ending .f_logo img:hover {
	opacity: .7;
}

.camera {
	margin-top: 4%;
    padding-left: 30px;
    position: relative;
}

.camera::after {
	content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: url(../img/video.png) no-repeat center center;
    position: absolute;
    background-size: contain;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.camera a {
	text-decoration: underline;
    color: #c31b0f;
	transition: all ease .4s;
}

.camera a:hover {
	opacity: .7;
}

#main .pic2.budge {
	width: 20%;
}

#main .omakeBox {
	background: #fff;
    box-sizing: border-box;
    padding: 6%;
    border-radius: 8px;
}


#commingsoon {
	width: 100%;
	height: 100vh;
	background: rgb(224,113,140);
	background: linear-gradient(180deg, rgba(224,113,140,1) 0%, rgba(241,161,178,1) 25%, rgba(244,222,228,1) 47%, rgba(241,161,178,1) 78%, rgba(224,113,140,1) 100%);
	position: relative;
}

#commingsoon .box {
	background: #fff;
    border:8px solid #e27690;
    box-sizing: border-box;
    padding: 8%;
    width: 90%;
    max-width: 900px;
    position: absolute;
    box-shadow: 1px 1px 10px #fff;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    margin: auto;
    text-align: center;
}

#commingsoon .ttl {
	width: 50%;
	max-width: 340px;
	margin: 0 auto 4%;
}

#commingsoon .ttl::first-letter {
	color: #27aae0;
}

#commingsoon .date {
	font-size: 1.4rem;
	letter-spacing: .1em;
}

#commingsoon .txt {
	font-size: 1.4rem;
	letter-spacing: .1em;
}

#commingsoon .play {
	width: 50%;
    margin: 4% auto 0;
}

/* 本番時解除 */
#commingsoon .play {
	display: none;
}

#commingsoon .play a {
	display: block;
    width: 100%;
    border: 1px solid #000;
    padding: 4%;
	box-sizing: border-box;
	transition: all ease .4s;
}

#commingsoon .play a:hover {
	background: #27aae0;
	color: #fff;
	border: 1px solid #fff;
}

.lum-next-button:after {
	display: none !important;
}

.lum-previous-button:after {
	display: none !important;
}

#contact {
	margin-top: 12%;
}

#contact .ancate .btn {
	width: 40%;
    margin: 0 auto;
	text-align: center;
}

#contact .ancate .btn a {
	text-decoration: none;
    border: 1px solid #000;
    display: block;
	background: #fff;
    padding: 4%;
	transition: all ease .4s;
}

#contact .ancate .btn a:hover {
	color: #fff;
	background: #000;
	opacity: 1;
}

#contact .f_logo img {
	width: 20%;
    margin: 4% auto 2%;
	transition: all ease .4s;
}

#contact .f_logo img:hover {
	opacity: .7;
}

#omake .block {
	padding-bottom: 2%;
	margin-bottom: 2%;
	overflow: hidden;
}

#omake .block .icon {
	float: left;
}

#omake .block .icon img {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	object-fit: cover;
	box-sizing: border-box;
}

#omake .block .chat {
	color: #444;
    position: relative;
    padding: 1.2em;
    border: 3px solid #eee;
    background-color: #fff;
    border-radius: 5px;
	box-sizing: border-box;
	float: right;
	width: calc(100% - 280px);
	margin-right: 140px;
}

#omake .block .chat:before {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    border-right: 10px solid #eee;
    top: 21px;
    left: -23px;
}

#omake .block .chat:after {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    border-right: 10px solid #fff;
    top: 21px;
    left: -19px;
}


#omake .block_reverse {
	padding-bottom: 2%;
	margin-bottom: 2%;
	overflow: hidden;
}

#omake .block_reverse .icon {
	float: right;
}

#omake .block_reverse .icon img {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	object-fit: cover;
	box-sizing: border-box;
}

#omake .block_reverse .chat {
	color: #444;
    position: relative;
    padding: 1.2em;
    border: 3px solid #eee;
    background-color: #fff;
    border-radius: 5px;
	box-sizing: border-box;
	float: left;
	width: calc(100% - 280px);
	margin-left: 140px;
}

#omake .block_reverse .chat:before {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    border-left: 10px solid #eee;
    top: 21px;
    right: -23px;
}

#omake .block_reverse .chat:after {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    border-left: 10px solid #fff;
    top: 21px;
    right: -19px;
}

#omake .omakeImg {
	width: 50%;
    margin-top: 8%;
    margin-bottom: 8%;
}

.omake2 {
	width: 50%;
    margin-top: 4%;
    margin-bottom: 4%;
}

.youtubeInfo {
	width: 50%;
    margin: 2% 0 4%;
	box-sizing: border-box;
    box-shadow: 1px 1px 5px #666;
}





#player {
 	position: absolute; 
 	top:0; 
 	width: 100%; 
 	height: 100%; 
 	background: #FFF; 
 	z-index: 9999999999;
}






.h1 {
	font-size: 3rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 4.2%;
}

.imgSample {
	width: 70%;
	margin: 0 auto 4%;
}

.imgSample2 {
	width: 50%;
	margin: 0 auto 6%;
}

#main .formBox .ttl {
	font-size: 1.5rem;
	text-align: center;
}

#main .type_a p {
	width: 70%;
	margin: 0 auto;
}

#main .greenBtn {
	text-align: center;
}

.form1 {
	margin-bottom: 4%;
}

.quizBox2 {
	display: none;
}

.quizBox2.show {
	display: block;
	margin-bottom: 8%;
}

.quizBox4 {
	display: none;
}

.quizBox4.show {
	display: block;
	margin-bottom: 8%;
}

#btn1 {
	display: none;
}

#btn1.show {
	display: block;
}

.recetBtn {
	text-align: center;
    background: #b97bb3;
    color: #fff;
    border: none;
    padding: 16px 20px;
    transition: all ease .4s;
    cursor: pointer;
    width: 30%;
    margin: 4% auto;
    box-sizing: border-box;
}

.recetBtn:hover {
	opacity: .7;
}

#main .ttl {
	width: 80%;
    margin: 8% auto 4%;
}

#main .withbg {
	position: relative;
	background: url(../img/bg01.png) no-repeat center bottom;
	background-size: contain;
	padding-bottom: 16%;
	margin-bottom: 0 !important;
	font-size: 1.3rem;
	line-height: 2;
	text-align: center;
}

#main .withbg .item01 {
	display: block;
    width: 11%;
    background-size: contain;
    position: absolute;
    left: -10%;
    top: 0;
	object-fit: contain;
}

#main .withbg .item02 {
	display: block;
    width: 16%;
    background-size: contain;
    position: absolute;
    right: -12%;
    top: 0;
	object-fit: contain;
}

#main .nobg {
	padding-bottom: 6%;
	margin-top: 6%;
	margin-bottom: 0 !important;
	font-size: 1.3rem;
	line-height: 2;
	text-align: center;
}

.logo {
	width: 40%;
    margin: 0 auto 4%;
    box-sizing: border-box;
    padding-right: 2%;
}

#footer {
	padding-top: 8%;
}

#footer .box {
	width: 80%;
	margin: 0 auto;
}

#footer .bnr {
	width: 60%;
	margin: 0 auto 4%;
}

.mainBnr {
	width: 60%;
	margin: 0 auto 6%;
}

#footer .fLogo {
	width: 26%;
	margin: 0 auto;
	padding-bottom: 6%;
}

#footer img {
	transition: all ease .4s;
}

#footer img:hover {
	opacity: .7;
}

#footer .fTxt {
	color: #fff;
    font-size: 1.4rem;
    text-align: center;
    line-height: 2;
    padding-bottom: 8%;
    letter-spacing: .1em;
}

.clearBox {
	width: 85%;
	margin-right: 3.5%;
    border-radius: 8px;
    background: -moz-linear-gradient(left, #00fdfe,#8a96c1 50%, #fe3f8e);
    background: -webkit-linear-gradient(left, #00fdfe,#8a96c1 50%, #fe3f8e);
    background: linear-gradient(to right, #00fdfe,#8a96c1 50%, #fe3f8e);
	margin: 0 auto;
	padding: 20px;
	box-sizing: border-box;
}

.clearBox .innerBox {
	padding: 6% 0 0;
	box-sizing: border-box;
	background: #000;
}

#main.clear .ttl {
	margin: 0 auto 0%;
}

.lastAns {
	font-size: 2rem;
	color: #fff;
	background: #1A1A1A;
	text-align: center;
	padding: 2%;
	box-sizing: border-box;
	margin-bottom: 4%;
}

.subBox {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 6%;
	box-sizing: border-box;
}

.subBox .subL {
	width: 54%;
    padding: 4% 0 4% 4%;
    box-sizing: border-box;
    font-size: 1.2rem;
}

.subBox .subR {
	width: 46%;
}

.imgClear {
	width: 100%;
	max-width: 612px;
	margin: 12% auto 2%;
}

.imgClear img {
	display: block;
	transition: all ease .4s;
}
.imgClear img:hover {
	transform: scale(1.1);
	box-shadow: 1px 1px 30px #fff;
}


.imgClear2 {
	width: 50%;
    margin: 3% auto 0;
    border: 2px solid #000;
    padding: 1%;
    box-sizing: border-box;
    box-shadow: 1px 1px 10px #666;
}

.imgClear2 img {
	transition: all ease .4s;
}

.imgClear2 img:hover {
	opacity: .7;
}

.clearShare {
	text-align: center;
	padding: 4% 0;
}

.shareTxt {
	color: #fff;
	font-size: 2rem;
	letter-spacing: .1em;
	text-align: center;
}

.clearShare .tw {
	text-align: center;
}

.clearShare .tw a {
	width: 46px;
    margin: 2% auto;
	display: block;
}

.clearShare .tw img {
	width: 100%;
    transition:  all ease .4s;
}

.clearShare .tw img:hover {
	transform: scale(1.2);
	opacity: .8;
}

.clearTxt {
	font-size: 2rem;
    color: #000;
    font-weight: bold;
    margin-bottom: 1%;
    letter-spacing: .5em;
    text-align: center;
}

.clearName {
	font-size: 1.4rem;
    margin-bottom: 2%;
}

.popupBox {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.popupBox .popupL {
	width: 20%;
}

.popupBox .popupR {
	width: 78%;
	padding-top: 4%;
}

.balloon1-left {
	text-align: left;
    position: relative;
    display: inline-block;
    margin: 0 0 1.5em 15px;
    padding: 4% 5%;
	width: 90%;
    max-width: 100%;
    color: #000;
    font-size: 1.4rem;
    background: #fae0ff;
	box-sizing: border-box;
	border-radius: 8px;
}
  
.subBox .balloon1-left:before {
	border-right: 15px solid #fff;
}

.subBox .balloon1-left {
    background: #fff;
}
  
.balloon1-left:before {
	content: "";
	position: absolute;
	top: 50px;
	left: -30px;
	margin-top: -15px;
	border: 15px solid transparent;
	border-right: 15px solid #fae0ff;
}
  
.balloon1-left p {
	margin: 0;
	padding: 0;
}

/* topBtn */
#footer #topBtn.show {
	opacity: 1;
	transform: translateY(0px);
}
  
#footer #topBtn {
	opacity: 0;
	transform: translateY(20px);
	position: fixed;
	z-index: 100;
	right: 1.5%;
	bottom: 20px;
	padding: 2px;
	transition: all ease .4s;
}
  
#footer #topBtn a {
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: url(../img/arrow/arrow01w.png) no-repeat, #fe3f8e;
	background-size: 20px;
	background-position: center;
	box-sizing: border-box;
	transform: rotate(-90deg);
	transition: all ease .4s;
	border: 2px solid #fff;
}
  
#footer #topBtn a:hover {
	background: url(../img/arrow/arrow01w.png) no-repeat, var(--maincolor);
	background-size: 20px;
	background-position: center;
	box-shadow: 1px 1px 20px #fff;
}

.clearBox .balloon1-left:before {
	display: none;
}

.clearBox .subBox .balloon1-left {
	width: 100%;
	margin: 0 auto 4%;
	padding: 6%;
}

.checktxt {
	text-align: center;
	font-size: 1.2rem;
}

#hint .box {
	width: 80%;
    margin: 0 auto;
    padding: 4%;
    box-sizing: border-box;
    background: #fff;
}

#hint .hintArea {
	display: none;
}

#hint .hintArea.active {
	display: block;
}

#hint .hintArea.opened {
	margin-bottom: 4%;
}

#hint .hintBtn {
	overflow: hidden;
	color: #fff;
	background: #b487b9;
	padding: 1% 2%;
	box-sizing: border-box;
	font-size: 1.2rem;
    letter-spacing: .1em;
    cursor: pointer;
    transition: all ease .4s;
}

#hint .hintBtn:hover {
	opacity: .8;
}

#hint .hintBtn span {
	float: right;
	display: inline-block;
	transition: all ease .4s;
}

#hint .hintBtn:hover span {
	transform: rotate(45deg);
}

#hint .hintBtn.clicked span {
	transform: rotate(45deg);
}

#hint .hintDesc {
	opacity: 0;
	visibility: hidden;
	height: 0;
	padding: 0 2%;
	margin: 0;
	transition: all ease .4s;
}

#hint .hintDesc p {
	display: none;
}

#hint .hintDesc.show {
	opacity: 1;
	visibility: visible;
	height: auto;
	padding: 2%;
	box-sizing: border-box;
}

#hint .hintDesc.show p {
	display: block;
}














