/* ここはリセットCSSです */
*{
	padding: 0;
	margin: 0;
	text-decoration: none;
	font-size: 20px;
	font-weight: 300;
	border: none;
	background: none;
	outline: none;
	box-sizing: border-box;
	vertical-align: top;
	list-style: none;
}

body{
	text-align: center;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",
    "Hiragino Sans",Meiryo,sans-serif;
}

/* mockup_base */
.mockup{
	position: relative;
	animation: startanimation 1s ease;
}
	.tablet{
		width: 90vw;
		z-index: -100;
		position: absolute;
			top: 0;
			left: 50vw;
			transform: translateX(-50%);
			-webkit-transform: translateX(-50%);
			-ms-transform: translateX(-50%)
	}

	@keyframes startanimation {
		0% {
			margin-top: 20vh;
			opacity: 0%;
		}
		100% {
			margin-top: 0vh;
			opacity: 100%;
		}
	  }

	.ui_layout{
		width: 90vw;
		position: absolute;
			top: 50vw;
			left: 50vw;
			transform: translate(-50%, -50%);
			-webkit-transform: translate(-50%, -50%);
			-ms-transform: translate(-50%, -50%);
	}
	
	.ui_img{
		width: 72vw;
		position: absolute;
			top: -39.7vw;
			left: 8.7vw;

	}

/* telop */
.telop{
	color: white;
	width: 100%;
	padding: 20px;
	background-color: #21486D;
	margin-bottom: 20px;
	font-size: 4vw;
}

.balloon{
	position:absolute;
    background:#FFFFFF;
    padding: 2vw 6vw;
    text-align:center;
    color:#2E2E2E;
    font-size:4vw;
    font-weight:bold;
    border-radius:10px;
    -webkit-border-radius:1vw;
    -moz-border-radius:10px;
	box-shadow: 0px 0px 20px rgb(87, 87, 87);
}
.balloon:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    border-color: rgba(255, 255, 255, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:10px;
    border-right-width:10px;
    margin-left: -10px;
    border-top-color:#FFFFFF;
	position:absolute;
    top:100%;
    left:25%;
}
.b0{
	top: 44vw;
    left: 40vw;
}

.b1{
	top: -17vw;
    left: 6vw;
}
.b2{
	top: 23vw;
    left: 43vw;
}
.b3{
	top: 44vw;
    left: 28vw;
}

/* button */
.button_suggest{
	border-radius: 0.5vw;
	border: 0.3vw solid rgba(255, 166, 0, 0.8);
	cursor: pointer;
	z-index: 300;
}

.hotspot{
	cursor:pointer;
}

.highlight-hotspots .hotspot {
  animation: hotspotAnimation 1s ease infinite;
}

  @keyframes hotspotAnimation {
	0% {
		box-shadow:  0 0 0vw rgba(255, 102, 0, 0);
	}
	50% {
		box-shadow:  0 0 1px rgb(255, 102, 0);
	}
	100% {
		box-shadow:  0 0 3vw rgb(255, 102, 0);
	}
  }


/* button_place */
.koza_card_1{
	cursor: pointer;
    width: 16.6vw;
    height: 19.9vw;
    position: absolute;
    	top: 5.3vw;
    	left: 22.7vw;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
}

.koza_close{
	cursor: pointer;
	width: 6vw;
    height: 6vw;
    position: absolute;
		top: -36.7vw;
		left: 77.7vw;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
}

.movie-button {
    cursor: pointer;
	border-radius: 3vw;
    width: 25vw;
    height: 6vw;
    position: absolute;
    top: 38.4vw;
    left: 44.4vw;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
  }

  .eng_end {
    cursor: pointer;
	border-radius: 3vw;
    width: 25vw;
    height: 6vw;
    position: absolute;
		top: 59.2vw;
		left: 31.4vw;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
  }

  .opening {
    cursor: pointer;
	border-radius: 3vw;
    width: 21.2vw;
    height: 5.8vw;
    position: absolute;
    top: 65.6vw;
    left: 44.6vw;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
  }


  /* switch */

  .radio-input input {
	display: none;
  }
  
  .radio-input {
	--container_width: 80vw;
	position: relative;
	display: flex;
	align-items: center;
	border-radius: 2vw;
	background-color: #fff;
	color: #000000;
	width: var(--container_width);
	overflow: hidden;
	border: 0.8vw solid rgba(53, 52, 52, 0.226);
	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.6);
	position: absolute;
		top: 124vw;
		left: 50vw;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
	animation: startanimation 1.5s ease;
  }
  
  .radio-input label {
	width: 100%;
	padding: 2vw;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
	font-weight: 600;
	font-size: 10vw;
  }

  .radio-input span {
	font-size: 3.5vw;
  }
  
  .selection {
	display: none;
	position: absolute;
	height: 100%;
	width: calc(var(--container_width) / 2);
	z-index: 0;
	left: 0;
	top: 0;
	transition: .15s ease;
  }
  
  .radio-input label:has(input:checked) {
	color: #fff;
  }
  
  .radio-input label:has(input:checked) ~ .selection {
	background-color: rgb(11 117 223);
	display: inline-block;
  }
  
  .radio-input label:nth-child(1):has(input:checked) ~ .selection {
	transform: translateX(calc(var(--container_width) * 0/1));
  }
  
  .radio-input label:nth-child(2):has(input:checked) ~ .selection {
	transform: translateX(calc(var(--container_width) * 1/2));
  }
  
/* menu */
.menu{
	background-color: #ffffffb3;
	height: 115.2vw;
}

.menu_btn {
	cursor: pointer;
	display: block;
	font-size: 4vw;
	text-align: center;
	text-decoration: none;
	width: 50vw;
	margin: auto;
	padding: 3vw;
	border: 2px solid #21486D;
	background: #21486D;
	color: #fff;
	border-radius: 100vh;
	transition: 0.25s;
	box-shadow: 0px 0px 20px rgb(87, 87, 87);
	position: absolute;
		left: 36vw;
		transform: translate(-50%, -50%);
    	-webkit-transform: translate(-50%, -50%);
}

.menutitle{
	font-weight: 900;
    color: #21486D;
    font-size: 5vw;
    width: 100%;
    position: absolute;
		top: 12vw;
		left: 36vw;
		transform: translate(-50%, -50%);
    	-webkit-transform: translate(-50%, -50%);

}

.btn-1{
    top: 28vw;
}
.btn-2{
    top: 50vw;
}

.btn-3{
    top: 72vw;
}
.btn-4{
    top: 94vw;
}

/* 隠す */
.hide_img{
	display: none;
}