@charset "utf-8";

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


/* COMMON */

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

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;
}

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;
}

.h1 {
	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: 30px;
    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;
}

#main .type_b select.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;
	background-color: #b1b1b1;
opacity: 1;
background-size: 4px 4px;
background-image: repeating-linear-gradient(45deg, #000000 0, #000000 0.4px, #b1b1b1 0, #b1b1b1 50%);
	height: 100vh;
}

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

#main .container {
	display: none;
}

#main.checked .container {
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
	display: block;
	width: 70%;
	margin: 0 auto;
	/* padding: 6% 0 30%; */
}

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

#main #nav.omakeNav li {
	width: 32%;
}


#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 .formBox {
	background: #fff;
    box-sizing: border-box;
    padding: 40px;
    border-radius: 12px;
	 border: 6px #c20100 solid;
    box-shadow: 1px 1px 10px #000;
}

#main #btn {
	text-align: center;
}

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

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

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

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

#main .step {
	    font-size: 2rem;
    color: #000;
    text-shadow: 1px 1px 10px #dcdcdc;
    letter-spacing: .04em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}

#main .step:first-letter {
	color: #c30100;
}

#main .formBox .ttl {
	font-size: 1.2rem;
    color: #007fd9;
    letter-spacing: .03em;
    line-height: 1.8;
}

#main .formBox .ttl.twitter {
	margin-top: .6%;
	margin-bottom: 0;
}


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

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

#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 p {
	margin-bottom: 6px;
}

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

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

#main .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%;
}

#main .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%;
}

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


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

#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;
}

#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;
	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.4rem;
	color: red;
	font-weight: bold;
	margin-bottom: 2%;
}

.popup .desc {
	font-size: 1rem;
}


.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;
	overflow: scroll;
}

.popup.show .box {
	width: 80%;
	opacity: 1;
	/*background: #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;
}



.popup3 {
	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;
}

.popup3 .box {
	width: 80%;
	max-height: 80%;
	overflow-y: scroll;
	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;
}

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

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


.popup3.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;
}

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

.popup3.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;
}

.intro {
	margin-bottom: 10%;
}

.intro .ttl {
	font-size: 2rem;
    border-bottom: 2px solid #000;
	margin-bottom: 2%;
}

.intro .person {
	padding: 4%;
	box-sizing: border-box;
	border-bottom: 1px dashed #ccc;
}

.intro .person .flex01 {
	width: 40%;
}

.intro .person .flex02 {
	width: 60%;
}

.intro .person .name {
	display: flex;
	align-items: center;
    text-align: left;
    font-size: 1.3rem;
    font-weight: bold;
    margin-bottom: 2%;
}

.intro .person .desc {
	display: block;
    text-align: left;
    font-size: 1rem;
    font-weight: lighter;
    line-height: 1.4;
    letter-spacing: 0;
	margin-bottom: 2%;
}

.intro .person .link a {
	color: #16b7aa;
	display: block;
	text-align: left;
	text-decoration: underline;
	margin-bottom: 1%;
}

.intro .history {
	width: 90%;
	margin: 0 auto;
}


.intro .history li {
	padding: .6% 0;
	box-sizing: border-box;
}

.intro2 {
	background: #f5f5f5;
    padding: 4%;
    box-sizing: border-box;
    border-radius: 8px;
}

.intro2 .ttl {
	text-align: left;
	font-size: 1.4rem;
}

.intro2 .history {
	width: 98%;
	display: block;
}

.intro2 .history li {
	text-align: left;
}

#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: 70% !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;
}

.intro .person .new {
	margin-left: 16px;
	padding: 1px 12px;
}

.intro .person .link.newlink a {
	color: #ff022a;
	font-weight: 400;
	position: relative;
}

.intro .person .link.newlink a::after {
	content: "NEW";
    color: #fff;
    background: #ff0034;
    padding: 1px 12px;
    box-sizing: border-box;
    margin-left: 4%;
    border-radius: 4px;
    font-size: .8rem;
}

.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.omakefNav .box li {
	width: calc(100%/3);
}

#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%;
}

#omakequiz #btn {
	text-align: right;
	margin-top: 4%;
}

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

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

#omake .tweetBtn a {
	display: block;
    color: #fff;
    padding: 4%;
    border: 3px solid #898989;
    box-sizing: border-box;
    box-shadow: 1px 1px 10px #808080;
	transition: all ease .4s;
}

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


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

#ending .desc a {
	font-size: 1.5rem;
	text-decoration: underline;
    transition: all ease .4s;
    color: #fff112;
    letter-spacing: .3em;
    padding-left: 12px;
    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;
	background: #a50000;
    padding: 4%;
    border: 6px solid #000;
    box-sizing: border-box;
    color: #fff;
    box-shadow: 1px 1px 10px #666;
    margin-bottom: 10%;
}

#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: 60%;
	margin: 0 auto;
}

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

#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: 60%;
    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 {
	margin-bottom: 3%;
}


#contact .ancate .btn {
	width: 60%;
    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;
}

.voice {
	width: 100%;
	margin: 30px auto 40px; 
	border-bottom: 1px dashed #e9e9e9;
    padding-bottom: 40px;
}

.voice:after, .voice:before {
	clear: both;
    content: "";
    display: block;
}

.voice-img-left {
	margin-left: 4px;
    margin-top: -1px;
    float: left;
    width: 70px;
    height: 70px;
}

.voice figure img {
	width: 100%;
    height: 100%;
    border: 2px solid #eee;
    border-radius: 50%;
    margin: 0;
}

.voice-img-description {
	padding: 5px 0 0;
    font-size: 13px;
    font-weight: bold;
    text-align: center;
}

.voice-text-right {
	color: #444;
    position: relative;
    margin-left: 100px;
    margin-right: 100px;
    padding: 1.2em;
    border: 3px solid #eee;
    background-color: #fff;
    border-radius: 5px;
	 text-align: left;
}

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

p.voice-text:last-child {
	margin-bottom: 0px;
    padding: 4px 26px;
    color: #666;
    letter-spacing: .03em;
    font-size: .9rem;
}

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

.voice-img-right {
	margin-right: 4px;
    margin-top: -1px;
    float: right;
    width: 70px;
    height: 70px;
}

.voice-text-left {
	position: relative;
    margin-left: 100px;
    margin-right: 100px;
    padding: 1.2em;
    border: 3px solid #eee;
    background-color: #fff;
    border-radius: 5px;
}

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

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

.popup.show .voice p.voice-text {
        font-size: 1.05rem;
    letter-spacing: .04em;
    color: #000;
}

.popup.show .voice p.voice-text span {
	color: #c20000;
}



.popup.show .voice  {
	padding-bottom: 20px;
	border-bottom: none;
	background: none;
}

.popClose {
	display: inline-block;
    width: 30%;
    background: #9e9e9e;
    color: #fff;
    padding: 10px;
    box-sizing: border-box;
	cursor: pointer;
	transition: all ease .4s;
	display: block;
	margin: 0 auto;
}

.popClose:hover {
	background: #666;
}

.voice #twitter {
	background: #39a9f6;
    color: #fff;
    padding: 4px 12px;
    box-sizing: border-box;
    display: inline-block;
    margin: 6px 0;
    border-radius: 4px;
	transition: all ease .4s;
}

.voice #twitter:hover {
	opacity: .7;
}

#quiz .image {
	width: 60%;
	margin-bottom: 40px;
}

.voice #linkBtn {
	background: #39a9f6;
    color: #fff;
    padding: 4px 12px;
    box-sizing: border-box;
    display: inline-block;
    margin: 6px 0;
    border-radius: 4px;
	transition: all ease .4s;
}

.voice #linkBtn:hover {
	opacity: .7;
}

.liveDesc {
	margin-bottom: 20px;
	text-align: center;
}

.liveCam {
	width: 80px;
	display: block;
	margin: 20px auto 5px;
}

.liveText {
	font-size: .9rem;
	color: #7d4f00;
    letter-spacing: .01em;
    line-height: 1.4;
	text-align: center;
	margin-bottom: 14px;
}

.liveComment {
	font-size: 1.4rem;
	background: #c30000;
    color: #fff;
	font-weight: normal;	
	text-align: center;
}

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

#main0.watched .voice2 {
	visibility: visible;
	opacity: 1;
	height: auto;
}

.liveImg {
	width: 40%;
	max-width: 250px;
    margin: 20px auto 24px;
}

#liveA {
	transition: all ease .4s;
	opacity: 1;
	height: auto;
}

#liveA.watched {
	display: none;
}

#liveB {
	transition: all ease .4s;
	opacity: 1;
	height: auto;
}

#liveB.watched {
	display: none;
}



