@charset "utf-8";

@import "layout.css";

/*-------------------------------------------------------------------------
	Contents
/*-----------------------------------------------------------------------*/
#contents {
}
	#contents h2 {
		font-size:14px;
		color:#ff3300;    
		display:inline;
		float:left;
		margin-top:20px;
		margin-bottom:25px;
	}
		#contents h2 span {
			font-size:24px;
			font-weight:bold;
			margin-right:5px;
		}

@media screen and (max-width:839px) {

	#contents .wrap {
		width:94%;
		margin-left:3%;
	}
	#contents h2 {
		color:#fff;
		margin-bottom:15px;
	}
		#contents .wrap .box {
			position:relative;
		}
		#contents .wrap .box.menu_wrap {
			background:#f02800;
			margin-left: -3.5%;
			margin-right: -3.5%;
			padding: 0 3.5%;
		}
}


/*-------------------------------------------------------------------------
	Menu
/*-----------------------------------------------------------------------*/
#menu {
    float:right;
    margin:10px 0px 15px;
}
    #menu h3 {
        display:none;
    }
    #menu li {
        float:left;
        margin-right:20px;
		margin-bottom:5px;
		letter-spacing: 0;
    }
        #menu li a {
            background:url(../../img/common/icon/arrow_normal.png) no-repeat left center;
            padding-left:20px;
            font-size:12px;
            color:#acacac;
        }
        #menu li.home a {
            background-image:url(../../img/common/icon/arrow_top.png);
            color:#ffaf3d;
        }
		#menu li a:hover,
		#menu li a.current {
			background-image:url(../../img/common/icon/arrow_active.png);
			color:#ff4f23;
		}
	#menu .item_end {
		margin-right:100px;
	}

@media screen and (max-width:839px) {

    #menu h3 {
		display: block;
		/*background: url(../../img/common/menu.png) no-repeat left top;*/
		/*text-indent: -9999px;*/
		height: 16px;
		width: 47px;
		cursor: pointer;
		background-color: #fff;
		border-radius: 3px;
		text-align: center;
		color: #f02800;
		font-weight: bold;
		padding: 5px 0;
    }
    #menu ul {
        display:none;
        background:#ff350c;
        position:absolute;
        top:40px;
        right:0;
        z-index:9999;
    }
        #menu li {
			float:none;
			margin-right:0;
			margin-bottom:0;
        }
            #menu li a {
				display:block;
				padding:10px 20px;
				 border-bottom:1px solid #fff;
				background:none;
                font-size:14px;
                color:#fff;
				text-align:center;
            }
			#menu li.home a {
				background:none;
				color:#ffaf3d;
			}
			#menu li a:hover,
			#menu li a.current {
				background:none;
				color:#fff;
			}
		#menu .item_end {
			margin-right:0;
		}
}


/*-------------------------------------------------------------------------
	Audio Player
/*-----------------------------------------------------------------------*/
#audioPlayer {
    position:relative;
    width:300px;
    padding-bottom:40px;
	text-align: center;
}
#audioPlayer_wrap{
	width:100%;
	background:#fff;
}
.m_fixed #audioPlayer_wrap {
	left: 0;
	position: fixed;
	top: 0;
	z-index: 999;
}
	#audioPlayer video {
		display:none;
		visibility:hidden;
		height:0;
	}
	.played #audioPlayer .click {
		opacity:0;
	}
	#audioPlayer .click {
		background: #ff9d11;
		padding: 0.25rem 1rem;
		border-radius:3px;
		color: #fff;
		position: relative;
		margin-top:1rem;
		margin-bottom: 1.5rem;
		display: inline-block;
		animation: click .4s ease infinite alternate;
	}
	@keyframes click{
	  0% {transform: translateY(0px);}
	  100% {transform: translateY(-10px);}
	}
	
	#audioPlayer .click:before {
	  content: "";
	  position: absolute;
	  top: 100%;
	  left: 50%;
	  margin-left: -8px;
	  border: 8px solid transparent;
	  border-top: 10px solid #ff9d11;
	}

	.legacyIE #audioPlayer video {
		display:block !important;
	}

    #audioPlayer .player {
		width:300px;
		margin-bottom:20px;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
    }
    #audioPlayer .player:after {
		content:none;
    }
        #audioPlayer .player li {
            position:relative;
			cursor:pointer;
        }
		
		#audioPlayer .player .rewind,
		#audioPlayer .player .forward,
		#audioPlayer .player .skip,
		#audioPlayer .player .back {
			opacity:.2;
			cursor:default;
		}
		
		.rate{
			display:flex;
			flex-wrap:wrap;
			justify-content:space-between;
		}
		.rate:after{
			content:none;
		}
		#audioPlayer .rate .ratedown,
		#audioPlayer .rate .ratebase,
		#audioPlayer .rate .ratelittleup,
		#audioPlayer .rate .rateup {
			opacity:0.2;
		}
		.pc #audioPlayer .rate .ratedown,
		.pc #audioPlayer .rate .ratebase,
		.pc #audioPlayer .rate .ratelittleup,
		.pc #audioPlayer .rate .rateup {
			opacity:1;
		}
		.played #audioPlayer .rate .ratedown,
		.played #audioPlayer .rate .ratebase,
		.played #audioPlayer .rate .ratelittleup,
		.played #audioPlayer .rate .rateup {
			opacity:1;
		}
		.rate .ratedown,
		.rate .ratebase,
		.rate .ratelittleup,
		.rate .rateup {
		    background: #acacac;
		    padding: 0.5rem;
		    width: 18%;
		    text-align: center;
		    border-radius: 3px;
		    color: #fff;
		    margin-top:1rem;
			cursor: pointer;
		}
		.rate .active{
			background: #fec371;
			color:#fff;
		}

		.pc #audioPlayer .player .rewind,
		.pc #audioPlayer .player .forward,
		.pc #audioPlayer .player .skip,
		.pc #audioPlayer .player .back,
		.played #audioPlayer .player .rewind,
		.played #audioPlayer .player .forward,
		.played #audioPlayer .player .skip,
		.played #audioPlayer .player .back {
			opacity:1;
			cursor:pointer;
		}
		
		#audioPlayer .player .rewind,
		#audioPlayer .player .playAndPause {
			float:left;
		}
		
		#audioPlayer .player .rewind {
			margin-right:0;
		}
			
				#audioPlayer .player .playAndPause .play,
				#audioPlayer.playing .player .playAndPause .pause {
					display:block;
				}
				
				#audioPlayer.playing .player .playAndPause .play,
				#audioPlayer .player .playAndPause .pause {
					display:none;
				}
				
		#audioPlayer .player .forward {
			float:right;
		}
		
	#audioPlayer .progressbar {
		position:relative;
		margin-bottom:15px;
	}
	
		#audioPlayer .progressbar .line {
			display:block;
			width:100%;
			height:6px;
			background:#eee;
		}
		
		.pc #audioPlayer .progressbar .line,
		.played #audioPlayer .progressbar .line {
			background-color:#b5b5b6;
		}
		
			#audioPlayer .progressbar .line .progress {
				display:block;
				position:relative;
				width:0;
				height:100%;
				background:#ff5c33;
			}
		
				#audioPlayer .progressbar .line .progress .dial {
					position:absolute;
					right:0;
					top:0;
					width:3px;
					height:6px;
					background:#eee;
					cursor:pointer;
				}
	
    #audioPlayer .time {
		color:#ddd;
        text-align:right;
    }
	
	.pc #audioPlayer .time,
	.played #audioPlayer .time {
		color:#ff5c33;
	}
    
    #audioPlayer .volume {
        position:relative;
    }
	
	.ipad #audioPlayer .volume,
	.iphone #audioPlayer .volume,
	.android #audioPlayer .volume {
		display:none;
	}
    
        #audioPlayer .volume li {
            float:left;
            margin-right:10px;
			cursor:pointer;
        }
        
		#audioPlayer .volume .vol {
			position:relative;
		}
		
			#audioPlayer .volume .vol span {
				display:none;
				position:absolute;
				left:0px;
				top:5px;
			}
			
			#audioPlayer .volume .vol span.sound0 {
				display:block;
			}
			
			#audioPlayer .volume.mute .vol span {
				display:none !important;
			}
			
			#audioPlayer .volume.mute .vol span.sound0 {
				display:block !important;
			}

		#audioPlayer .volume .minus {
			margin-left:40px;
		}
		
		#audioPlayer .volume .plus {
			margin-right:10px;
		}
				
@media screen and (max-width:839px) {

	#audioPlayer {
		position:relative;
		width:300px;
		margin:0px auto 0;
	}
	.m_fixed #audioPlayer_wrap {
		left: 50%;
		position: fixed;
		top: 0;
		z-index: 999;
		transform:translateX(-50%);
	}


}

.tab {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid #ccc;
}
.tab li{
	width:45%;
	text-align: center;
}
.tab li span{
	margin:0.5rem 0;
	display: inline-block;
}
.tab li.twice{
	margin-left:4%;
}
.tab li.once{
	margin-right:4%;
}
.tab li.on{
	border:1px solid #ff8000;
	/*border-bottom: 1px solid #fff;*/
    /*margin-bottom: -1px;*/
    border-radius: 3px 3px 0 0;
    font-weight:bold;
    color:#fff;
    background:#ff8000;
}
.tab li.off{
	border:1px solid #cccccc;
	border-radius: 3px 3px 0 0;
	/*border-bottom: 1px solid #fff;*/
}
.tab a{
	width:100%;
	display: inline-block;
    background: #cccccc;
    text-align: center;
	color:#fff;
}

.mobile,
.mode{
	color:#ff3300;
	margin-bottom:1.5rem;
	text-align: left;
}
.mobile{
	margin-bottom:1rem;
	text-align: center;
	/* margin-top:2rem; */
}
.mobile a,
.mode a{
	padding: 0.3rem 2rem;
	border: 2px solid #ff3300;
	margin: 0 auto;
	display: inline-block;
	color: #ff3300;
	width: 230px;
	text-align: center;
	transition:0.2s;
	position:relative;
    border-radius: 1rem;
}
.mobile a:after,
.mode a:after{
	content:">";
	position:absolute;
	right:0.5rem;
}
.mobile a:hover,
.mode a:hover{
	background:#ff3300;
	color: #fff;
}
@media screen and (max-width:839px) {
	.mobile,
	.mode{
		text-align: center;
	}
	.tab {
		margin-top: 1rem;
	}
	.m_fixed .tab {
		opacity:0;
		height:0;
	}
}
/*-------------------------------------------------------------------------
	Index
/*-----------------------------------------------------------------------*/
.index{
	display: none;
}
#questions .index li{
	margin:0;
	text-align: center;
}
.index li:last-child a{
	/*border-right: 1px dotted #acacac;*/
}
.index li a{
	text-align: center;
	/*border-left: 1px dotted #acacac;*/
	padding: 0.5rem 2rem;
	color: #ff9d11;
	font-weight: bold;
}
@media screen and (max-width:839px) {
    .index{
		display: flex;
		flex-wrap: wrap;
		margin: 0rem 0 1.5rem 0rem;
		width:100%;
	}
	.index li{
		width:100%;
	}
	.index li a{
		/*width: 100%;*/
		display: inline-block;
		padding: 0.2rem 0;
		/*margin-bottom: 1rem;*/
		position: relative;
	}
	.index li a:after{
	  content: "";
	  display: block;
	  position: absolute;
	  top: 1.5rem;
	  right: 45%;
	  width: 10px;
	  height: 10px;
	  border-top: 2px solid #ff9d11;
	  border-right: 2px solid #ff9d11;
	  transform: translateX(-50%) rotate(135deg);
	}
	.index li:nth-of-type(3n) a{
		border-right: 1px dotted #acacac;
	}
}
/*-------------------------------------------------------------------------
	Questions
/*-----------------------------------------------------------------------*/
#questions {
	opacity:.2;
    border-top:1px solid #acacac;
    padding-top:20px;
}

.pc #questions,
.played #questions {
	opacity:1;
}

    #questions .box {
        margin-bottom:20px;
    }
    
    #questions h3 {
		display:inline-block;
    }
    
    #questions ul li {
        float:left;
        margin:10px 10px 0 0;
    }

	#questions ul li:last-child {
		margin-right:0px;
	}
	
		#questions .box a {
			cursor:default;
			pointer-events : none;
		}
	
		.pc #questions .box a,
		.played #questions .box a {
			cursor:pointer;
			pointer-events : auto;
		}
	
		#questions a.active img {
			opacity:0 !important;
		}

.btn{
	width: 52px;
	height: 52px;
	position:relative;
}
.btn.wide{
	width: 114px;
}
.btn a:after{
	position: absolute;
	content:"▲";
	font-size:10px;
	background:#fff;
	border-radius:8px;
	width: 16px;
	height: 16px;
    bottom: 1px;
    right: 1px;
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	align-items: center;
	color: #acacac;
	transform:scale(0.6) rotate(90deg);
}
.btn a{
	width: 100%;
	height: 100%;
	display: flex;
	background: #acacac;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	border-radius:5px;
	color:#fff;
	font-size: 15px;
	font-feature-settings: "palt";
	line-height: 1.3;
}
.btn a.active,
.btn.large a.active{
	background:#ffc26a;
}
.btn a.active:after,
.btn.large a.active:after{
	color:#ffc26a;
}
.btn.large{
	width: 114px;
	height: 52px;
}
.btn.large a{
	justify-content: left;
	padding: 8px 0 4px 10px;
	box-sizing: border-box;
	background: #ff9d11;
	align-items: flex-start;
	line-height: 1;
}
.btn.large a span{
	font-size: 18px;
    font-weight: bold;
}
.btn.large a:after{
	font-size: 16px;
    border-radius: 12px;
    width: 24px;
    height: 24px;
    bottom: 0px;
	right: 0px;
	color:#ff9d11;
}
@media screen and (min-width:839px) {
	.btn a:hover,
	.btn.large a:hover{
		background:#ffc26a;
	}
	.btn a:hover:after,
	.btn.large a:hover:after{
		color:#ffc26a;
	}
}

@media screen and (max-width:839px) {
    #questions {
	    padding-top:10px;
	}

    #questions ul li {
        margin-bottom:10px;
    }

}
/*-------------------------------------------------------------------------
	Download
/*-----------------------------------------------------------------------*/
#download{
	margin-bottom:2rem;
}
#download ul{
	margin-top:1rem;
}
#download li{
	color:#000;
}
#download .btn_download{
	padding: 1rem;
	background-color: #ff3300;
	font-size: 1.0rem;
	font-weight: bold;
	color: #fff;
	border-radius: 5px;
	display: inline-block;
	margin-top:1rem;
	transition:0.2s;
}
#download .btn_download:before{
	content:"";
	background:url(../../img/common/icon/icn_download.svg) no-repeat;
	width:38px;
	height:30px;
	display: inline-block;
	background-size:cover;
	margin-right:1rem;
	vertical-align: middle;
}
#download .btn_download:hover{
	background-color: #b72500;
}
#download .offline a{
	font-weight:bold;
	text-decoration:underline;
}
@media screen and (max-width:839px) {
	#download{
		padding-top: 244px;
		margin-top: -244px;
	}
}
/*-------------------------------------------------------------------------
	SNS
/*-----------------------------------------------------------------------*/
#sns{
	display: flex;
	flex-wrap:wrap;
	justify-content:center;
}
#sns li{
	margin:0 1rem 2rem ;
}
#sns li.twitter,
#sns li.line{
	width:75px;
}
/*-------------------------------------------------------------------------
	Questionnaire
/*-----------------------------------------------------------------------*/
/* #questionnaire{
	width:940px;
	margin:0 auto;
	position:relative;
	z-index:9999;
}
#questionnaire a{
	position:fixed;
	bottom:0.5rem;
	right:1rem;
	background:#ff9d11;
	color:#fff;
	padding:0.5rem 2rem 0.5rem 5rem;
	border-radius:1.2rem;
	display: inline-block;
	border:2px solid #fff;
	box-shadow:3px 3px 3px rgba(0,0,0,0.2);
} */
#questionnaire{
	/* width:940px;
	margin:0 auto; */
	position:fixed;
	z-index:9999;
	bottom:0.5rem;
	right:1rem;
}
#questionnaire a{
	position:relative;

	background:#ff9d11;
	color:#fff;
	padding:0.5rem 2rem 0.5rem 5rem;
	border-radius:1.2rem;
	display: inline-block;
	border:2px solid #fff;
	box-shadow:3px 3px 3px rgba(0,0,0,0.2);
}
#questionnaire a::before{
	content:"";
	background:url(../../img/common/img_akahon.png) no-repeat;
	background-size:cover;
	display: inline-block;
	width:60px;
	height:45px;
	bottom:0;
	left:0.7rem;
	position:absolute;
}
#questionnaire #close{
	position: absolute;
	top: -15px;
	right: 0;
	width: 30px;
}

/*-------------------------------------------------------------------------
	Landscape
/*-----------------------------------------------------------------------*/
.landscape{
	display: none;
	position: fixed;
    z-index: 99999;
	top: 0;
	left: 0;
}
.landscape > div{
	width: 100vw;
	height: 100vh;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: bold;
}

/*-------------------------------------------------------------------------
	sound
/*-----------------------------------------------------------------------*/

.modal {
    display: none; 
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
}


.modal-content {
	display: flex;
	justify-content: center;
	align-items: center;
    width: 100%;
    height: auto;
    object-fit: contain; 
    transition: transform 0.3s ease;
    transform-origin: center center;
}
#modal img {
    width: 100%;
    height: auto;
    object-fit: contain;
    transition: transform 0.3s ease-out;
    transform-origin: center center;
}
.close-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 30px;
	cursor: pointer;
	color: #fff;
}  
.sound_container{
	position: relative;
	height: 1px;
}
.sound_button {
	background-color: #F7931E;
	color: #fff;
	border: none;
	padding: 4px 20px;
	border-radius: 5px;
	position: absolute;
	top: 135px;
	left: 0;
	font-weight: bold;
	letter-spacing: 1.5px;
	

}

@media screen and (max-width: 839px) {
	.sound_button {
		top: 80px;
	}
}
@media (min-width: 1024px) {
    #zoom-image {
        max-width: 70%;
        max-height: 80vh;
		text-align: center;
    }
}

@media (max-width: 1024px) {
    #zoom-image {
        max-width: 90%;
        max-height: 90vh;
    }
}