@charset "UTF-8";
/* CSS Document */

/*ALL
--------------------------------------------------*/
div,p,h1,h2,h3,h4,ul,li,dl,dt,dd,ol,table,th,td,form,input,fieldset,a,article,nav{
	margin:0;
	padding:0;
	/*-webkit-tap-highlight-color:rgba(0, 0, 0, 0);*/
	/*-webkit-touch-callout:none;*/
	box-sizing:border-box;
}
.wrapper{
	width:100%;
	margin:0 auto;
	box-sizing:border-box;
}
.clear{
	clear:both;
}
.clearfix{
	height:1%;
	overflow:hidden;
}
.clearfix:after{
	content:"";
	display:block;
	clear: both;
}
a{
	color:#666;
	text-decoration: none;
	cursor: pointer;
}
a img{
	border:none;
}
img{
	width:100%;
	height:auto;
}
li{
	list-style:none;
}
.flexbox{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
}
/*LAYOUT---------------------------*/
body{
	font-family:"Noto Sans JP",'Lucida Grande','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,sans-serif;
	line-height:1.4;
	text-align:center;
	margin:0;
	padding:0;
	color:#000;
	font-size-adjust:100%;
	width:100%;
	position: relative;
}
/*HEADER---------------------------*/
#header{
	background: #ccc;
}
#header .wrapper{
	position: relative;
}
#header .logo{
	text-align: left;
	background: #fff;
	font-size: 0;
}
#header .logo a{
	display: inline-block;
	padding: 10px 0;
	margin: 5px 0 0 10px;
	max-width: 300px;
}
#header .point_btn{
	text-align: center;
	padding: 10px;
}
#header .point_btn a{
	position: relative;
	display: block;
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	padding: 10px 0;
	border: 1px #fff solid;
	border-radius: 5px;
	background: #65f2d6;
	background: -moz-linear-gradient(top,  #65f2d6 0%, #3bddbd 50%, #00ceb3 50%);
	background: -webkit-linear-gradient(top,  #65f2d6 0%,#3bddbd 50%,#00ceb3 50%);
	background: linear-gradient(to bottom,  #65f2d6 0%,#3bddbd 50%,#00ceb3 50%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#65f2d6', endColorstr='#00ceb3',GradientType=0 );
}
#header .point_btn a::after{
	content: "";
	position: absolute;
	display: inline-block;
	width: 30px;
	height: 30px;
	top: 50%;
	left: calc(50% - 7.5em);
	background-image: url("../images/portal/dh_point.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	-webkit-transform: translate(0,-50%);
	-moz-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	-o-transform: translate(0,-50%);
	transform: translate(0,-50%);
}
/*MEMBER*/
#header .member{
	padding: 10px 0;
	margin: 0 5px;
}
#header .member .flexbox li{
	width: calc(50% - 10px);
	margin: 0 5px;
}
#header .member .flexbox li a{
	cursor: pointer;
	display: block;
	font-size: 14px;
	padding: 10px;
	background: #0db0ec;
	border: 1px #fff solid;
	color: #fff;
	border-radius: 5px;
}
#header .member .flexbox li:nth-child(1) a{
	background-color: #ff0058;
}
/*MENU*/
body.menu_ac{
	overflow: hidden;
}
#header .menu_wrap{
	position: fixed;
	top: 0;
	right: -100vw;
	width: 100%;
	height: 100vh;
	z-index: 998;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
	background-color: rgba(0,0,0,0.8);
}
.menu_ac #header .menu_wrap{
	right: 0;
}
#header .menu_wrap .menu_trg{
	display: inline-block;
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 999;
	background: rgba(255,255,255,0.6);
}
.menu_ac #header .menu_wrap .menu_trg{
	background: rgba(255,255,255,1);
}
#header .menu_wrap .menu_trg span{
	cursor: pointer;
	display: block;
	font-size: 0;
	width: 50px;
	height: 50px;
}
#header .menu_wrap .menu_trg span img:nth-child(2){
	display: none;
}
.menu_ac #header .menu_wrap .menu_trg span img:nth-child(1){
	display: none;
}
.menu_ac #header .menu_wrap .menu_trg span img:nth-child(2){
	display: inline-block;
}
/*230605修正ここから*/
#header .menu_wrap .menu_list{
	flex-wrap: wrap;
	max-width: 1130px;
	margin: 0 auto;
	margin-top: 80px;
	padding: 0 10px;
	overflow-y: auto;
}
#header .menu_wrap .menu_list .menu_item,
#header .menu_wrap .menu_list .menu_item a{
	display: block;
	width: 100%;
	box-sizing: border-box;
}
#header .menu_wrap .menu_list .menu_item{
	margin-bottom: 10px;
}
#header .menu_wrap .menu_list .menu_item a{
	position: relative;
	text-align: left;
	padding: 10px;
	padding-left: 20px;
	background: #fff;
	font-size: 16px;
	color: #000;
	border-radius: 5px;
}
#header .menu_wrap .menu_list .menu_item a::after,
#header .menu_wrap .menu_list .menu_item a::before{
	content: "";
	position: absolute;
	top: 50%;
	display: inline-block;
}
#header .menu_wrap .menu_list .menu_item a::before{
	left: 10px;
	width: 4px;
	height: 50%;
	background: #666;
	-webkit-transform: translate(0,-50%);
	-moz-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	-o-transform: translate(0,-50%);
	transform: translate(0,-50%);
}
#header .menu_wrap .menu_list .menu_item a::after{
	right: 15px;
	width: 5px;
	height: 5px;
	border-bottom: 1px #666 solid;
	border-left:  1px #666 solid;
	-webkit-transform: translate(0,-50%) rotate(-135deg);
	-moz-transform: translate(0,-50%) rotate(-135deg);
	-ms-transform: translate(0,-50%) rotate(-135deg);
	-o-transform: translate(0,-50%) rotate(-135deg);
	transform: translate(0,-50%) rotate(-135deg);
}
#header .menu_wrap .menu_list .menu_item a.no_link{
	pointer-events: none;
}
#header .menu_wrap .menu_list .menu_item a .notice{
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	padding: 3px 10px;
	margin-left: 10px;
	color: #fff;
	background: #ff0000;
	border-radius: 5px;
}
#header .menu_wrap ul:nth-child(3){
	margin-top: 20px;
}
#header .menu_wrap .menu_list .title{
	display: block;
	width: 100%;
	font-size: 16px;
	text-align: left;
	font-weight: bold;
	color: #fff;
	padding: 5px 0 5px 10px;
	border-top: 1px #fff solid;
	border-bottom: 1px #fff solid;
	margin-bottom: 10px;
}
/*230605修正ここまで*/
/*FOOTER---------------------------*/
#footer{
	background: #fff;
}
#footer .nav{
	box-sizing:border-box;
	padding-top: 10px;
}
#footer .nav li{
	position: relative;
	display:inline-block;
	font-size:12px;
	margin: 0 5px 5px 0;
	padding-right: 5px;
}
#footer .nav li::after{
	content: "";
	display: inline-block;
	background: #ddd;
	position: absolute;
	top: 50%;
	right: 0;
	width: 1px;
	height: 100%;
	-webkit-transform: translate(0,-50%);
	-moz-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	-o-transform: translate(0,-50%);
	transform: translate(0,-50%);
}
#footer .nav li:last-child::after{
	display: none;
}
#footer .nav li a,
#footer .nav li span{
	cursor: pointer;
	color: #000;
}
#footer .copyright{
	background:#343232;
	color:#fff;
	border-bottom:2px #ff679a solid;
    padding:5px 10px;
}
/*MAIN IMAGE---------------------------*/
#main_image .slider_wrap{
	font-size: 0;
}
#main_image .sp_img{
	display: none;
}
/*POPUP CONTETS---------------------------*/
body.hands_up{
	overflow: hidden;
}
body.hands_up * {
    filter: blur(5px);
}
#popup_body{
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	box-sizing:border-box;
	overflow:auto;
	background-color:rgba(0,0,0,0.60);
	text-align: center;
	z-index: 9998;
}
#popup_contents{
	position:fixed;
	width:80%;
	box-sizing:border-box;
	margin:0 0 0 -15%;
	-moz-border-radius:10px;
    -webkit-border-radius:10px;
    border-radius:10px;
	background:#fff;
	left:25%;
	top:25%;
	display:none;
	z-index: 9999;
	text-align: center;
}
#popup_contents div[class^="cont"]{
	display: none;
}
#popup_contents div[class^="cont"].active{
	display: block;
}
.hands_up #popup_body,
.hands_up #popup_contents{
	display: block;
}
.hands_up #popup_body,
.hands_up #popup_contents,
.hands_up #popup_contents * {
    filter: blur(0);
}
#popup_contents .title{
	font-weight: bold;
	font-size:16px;
	color: #fff;
	letter-spacing: 1px;
	background: #ff679a;
	padding: 15px 0;
	margin-bottom:20px;
    border-radius:10px 10px 0 0;
}
#popup_contents .text{
	margin: 15px 5px 20px 5px;
}
#popup_contents .button{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	justify-content: center;
	align-items: center;
}
#popup_contents .button p{
	margin: 0 10px 10px 10px;
	width: calc(50% - 20px);
}
#popup_contents .button p input[type="button"],
#popup_contents .button p a{
	-moz-appearance: none;
	-webkit-appearance: none;
	display: inline-block;
	width: 100%;
	border: 1px solid;
	border-radius: 4px;
	padding: 15px 0;
	font-size: 16px;
	line-height: 1;
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
	color: #fff;
}
/*BUTTON COLOR*/
#popup_contents .button p:nth-child(1) input[type="button"],
#popup_contents .button p:nth-child(1) a{
	background: #ff679a;
	border-color: #ff679a;
}
#popup_contents .button p:nth-child(2) input[type="button"],
#popup_contents .button p:nth-child(2) a{
	background: #888;
	border-color: #888;
}
#popup_contents .button p input[type="button"]:hover,
#popup_contents .button p a:hover{
	background: #fff;
}
#popup_contents .button p:nth-child(1) input[type="button"]:hover,
#popup_contents .button p:nth-child(1) a:hover{
	color: #ff679a;
}
#popup_contents .button p:nth-child(2) input[type="button"]:hover,
#popup_contents .button p:nth-child(2) a:hover{
	color: #888;
}
/*MEDIA QUERIES
--------------------------------------------------*/
/*smartphone*/
@media (max-width: 640px) {
	/*LAYOUT---------------------------*/
	body{
		font-size:14px;
		min-width:320px;
		max-width:640px;
	}
	/*FOOTER---------------------------*/
	#footer{
		width:100%;
		font-size:11px;
	}
	#footer .copyright{
		font-size:11px;
	}
	/*MAIN IMAGE---------------------------*/
	#main_image .sp_img{
		display: block;
	}
	#main_image .pc_img{
		display: none;
	}
    /*POPUP CONTETS---------------------------*/
	#popup_contents .popup_cont{
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		height: auto;
	}
    #popup_contents{
        width:96%;
        margin:0 0 0 -23%;
    }
    #popup_contents .button{
		flex-wrap: wrap;
    }
    #popup_contents .button p{
        margin: 0 8px 10px 8px;
        width: 100%;
	}
}
/*tablet*/
@media (min-width: 641px) and (max-width: 893px) {
	/*LAYOUT---------------------------*/
	body{
		font-size:14px;
		min-width:641px;
		max-width:893px;
	}
	/*HEADER---------------------------*/
	#header .member{
		position: absolute;
		bottom: 5px;
		right: 65px;
	}
	#header .member .flexbox li{
		width: 110px;
	}
	/*FOOTER---------------------------*/
	#footer{
		width:100%;
		font-size:11px;
	}
	#footer .copyright{
		font-size:11px;
	}
    /*POPUP CONTETS---------------------------*/
    #popup_contents .button p{
		max-width: 250px;
    }
}
/*PC*/
@media (min-width: 894px) {
	/*LAYOUT---------------------------*/
	body{
		font-size:13px;
		min-width:1130px;
	}
	.wrapper{
		max-width:1130px;
	}
	/*HEADER---------------------------*/
	#header .menu_wrap .menu_trg{
		right: calc(50% - 555px)
	}
	#header .member{
		position: absolute;
		bottom: 5px;
		right: 65px;
	}
	#header .member .flexbox li{
		width: 110px;
	}
	/*FOOTER---------------------------*/
	#footer .nav{
		margin:0 auto;
		max-width:960px;
	}
    /*POPUP CONTETS---------------------------*/
    #popup_content .button p{
		max-width: 250px;
    }
}