html{ font-size: 6.25%; }
body{
	margin: 0 auto;
	padding: 0;
	overflow-x: hidden;
	/*
	font-family: 'M PLUS 1p', 'Roboto', Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, Arial, sans-serif;
	text-rendering: optimizelegibility;
	font-kerning: normal;
	font-variant-ligatures: common-ligatures contextual;
	font-feature-settings: "kern", "liga", "clig", "calt";
	*/
	font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, Arial, 'メイリオ', Meiryo, sans-serif;
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
	font-size: 16px;
	font-size: 16rem;
	line-height: 1.5;
	color: #333;
	background: #FFF;
}
a:link{
	color: #333;
	text-decoration: none;
	-webkit-transition: 300ms;
	transition: 300ms;
}
/*
a:hover{
	text-decoration: none;
}
*/
a:visited{
	color: #666;
}
img{
	vertical-align: middle;
	width: 100%;
}
header,
footer{
	text-align: center;
}
.flexbox{
	display: flex;
	flex-wrap: wrap;
}
#wrapper{
	position: relative;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

/* ---------------------------------------------------------
	ヘッダー
--------------------------------------------------------- */
header{
	display: block;
	width: 100%;
	background: #FFF;
	border-bottom: 1px solid #959595;
}
header #header_inner #sp_subbtn{
	display: none;
}
header #nav_inner #sp_search{
	position: absolute;
	top: -100vw;
	left: 0;
	right: 0;
	margin: auto;
	padding: 20px;
	border-bottom: 1px solid #909090;
	background: #fff;
	transition: all 0.6s;
}
header #nav_inner #sp_nav{
	position: absolute;
	top: -1300px;
	left: 0;
	right: 0;
	margin: auto;
	overflow-x: hidden;
	overflow-y: scroll;
	border-bottom: 1px solid #909090;
	background: #fff;
	transition: all 0.6s;
}
header #header_inner,
header #nav_inner{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	justify-content: space-between;
}
#header_inner h1#header_logo{
	width: 23%;
}
#header_inner h1#header_logo a{
	display: block;
	margin-top: 25px;
}
h1#header_logo a:hover{
	opacity: 0.6;
}
#header_inner #pc_subnav{
	position: relative;
	width: calc(100% - 23%);
	text-align: right;
}
#pc_subnav #sp_nav{
	display: none;
}
#pc_subnav > aside,
#pc_subnav nav#pc_nav ul{
	justify-content: flex-end;
}
#pc_subnav > aside{
	margin-top: 10px;
	align-items: center;
}
#pc_subnav > aside > form#searchform{
	position: relative;
}
form#searchform input#keywords{
	width: 340px;
	height: 35px;
	padding: 4px;
	font-size: 13px;
	font-size: 13rem;
	text-align: center;
	color: #959595;
	background: #FFF;
	border: 1px solid #959595;
	border-radius: 100vh;
}
form#searchform input#searchBtn{
	position: absolute;
	display: block;
	height: 12px;
	width: 12px;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	text-indent: -9999px;
	overflow: hidden;
	border: 0;
	background: url(/_common/icon_search.svg) left top no-repeat;
}
#pc_subnav ul#sub_nav li{
	margin-left: 20px;
	font-size: 14px;
	font-size: 14rem;
}
#pc_subnav ul#sub_nav li::before{
	content: '';
	display: inline-block;
	width: 8px;
	height: 10px;
	margin-right: 3px;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background: #000;
}
#pc_subnav ul#sub_nav li a:hover{
	color: #666;
	text-decoration: underline;
}
header #nav_inner nav#pc_nav{
	width: 100%;
}
nav#pc_nav ul#global_nav{
	justify-content: flex-end;
}
ul#global_nav li{
	position: relative;
	margin-left: 3%;
	font-size: 16px;
	font-size: 16rem;
}
ul#global_nav li:first-of-type{
	margin-left: 0;
}
ul#global_nav li a{
	display: block;
	padding: 0 5px;
}
ul#global_nav li.active a,
ul#global_nav li a:hover{
	border-bottom: 4px solid #3EADE1;
	-webkit-transition: none;
	transition: none;
}
nav#pc_nav #slide-line{
	position: absolute;
	bottom: 0;
	height: 4px;
	background-color:#3EADE1;
	-webkit-transition: all .8s ease;
	transition: all .8s ease;
}

/* ---------------------------------------------------------
	ページ
--------------------------------------------------------- */
#wrapper ol#pankuz{
	align-items: center;
	max-width: 1200px;
	width: 100%;
	margin-top: 10px;
	font-size: 12px;
	font-size: 12rem;
}
#wrapper ol#pankuz li:first-of-type{
	padding-left: 20px;
	background: url(/_common/pankuz_home.svg) no-repeat left center;
}
#wrapper ol#pankuz li::before{
	content: '>';
	padding: 0 5px;
}
#wrapper ol#pankuz li:first-of-type::before{
	content: '';
	padding: 0;
}
#wrapper ol#pankuz li a:link{
	text-decoration: underline;
}
#wrapper ol#pankuz li a:hover{
	text-decoration: none;
}
#wrapper footer{
	width: 100%;
	margin: 70px 0 20px;
	justify-content: space-between;
	align-items: center;
}
#wrapper footer ul{
	font-size: 14px;
	font-size: 14rem;
}
#wrapper footer ul li{
	display: inline-block;
	padding: 0 15px;
	border-left: 1px solid #808080;
}
#wrapper footer ul li:first-of-type{
	padding-left: 0;
	border-left: none;
}
#wrapper footer ul li:last-of-type{
	padding-right: 0;
}
#wrapper footer small{
	font-size: 14px;
	font-size: 14rem;
}

/* ---------------------------------------------------------
	レスポンシブ
--------------------------------------------------------- */
@media screen and (max-width: 1200px){
	header,
	#wrapper{
		padding: 0 15px;
	}
}
@media screen and (max-width: 1024px){
	ul#global_nav li{
		margin-left: 2%;
	}
}
@media screen and (max-width: 820px){
	form#searchform input#keywords{
		width: 280px;
		height: 30px;
	}
	ul#sub_nav li{
		margin-left: 10px;
		font-size: 12px;
		font-size: 12rem;
	}
	ul#global_nav li a{
		padding: 0;
		font-size: 14px;
		font-size: 14rem;
	}
	section#list #list_mov .mov{
		width: 32%;
		margin-right: 2%;
	}
	#wrapper footer ul li{
		padding: 0 10px;
		font-size: 12px;
		font-size: 12rem;
	}
	#wrapper footer small{
		font-size: 12px;
		font-size: 12rem;
	}
}
@media screen and (max-width: 768px){
	form#searchform input#keywords{
		width: 250px;
	}
	#wrapper footer{
		display: block;
	}
	#wrapper footer small{
		display: block;
		margin: 20px auto 0;
		font-size: 10px;
		font-size: 10rem;
	}
}
@media screen and (max-width: 428px){
	header #header_inner #pc_subnav,
	header #nav_inner nav#pc_nav{
		display: none;
	}
	header #header_inner #sp_subbtn{
		display: flex;
		z-index: 1;
	}
	#wrapper{
		padding-top: 55px;
	}
	#wrapper footer ul{
		display: block;
		text-align: left;
	}
	#wrapper footer ul li{
		display: block;
		padding: 0 !important;
		border-left: none !important;
	}
	#wrapper footer ul li::before{
		content: '';
		display: inline-block;
		width: 6px;
		height: 8px;
		margin-right: 3px;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #000;
	}
	header{
		position: fixed;
		z-index: 999;
		background: #FFF;
	}
	header #header_inner{
		position: relative;
		z-index: 10;
		flex-wrap: nowrap;
		align-items: center;
		background: #FFF;
	}
	header #header_inner h1#header_logo{
		width: 155px;
		z-index: 10;
	}
	#header_inner h1#header_logo a{
		width: 100%;
		margin: 13px 0;
	}
	header #nav_inner{
		display: flex;
	}
	header #header_inner #sp_subbtn #search_btn{
		display: block;
		width: 24px;
		height: 24px;
		margin-right: 12px;
	}
	header #header_inner #sp_subbtn #nav_btn{
		display: flex;
		align-content: center;
		flex-wrap: wrap;
		max-width: 48px;
		min-width: 24px;
	}
	#nav_btn .nav_btn_bar{
		width: 100%;
	}
	#nav_btn .nav_btn_bar span{
		display: block;
		height: 1px;
		background: #666;
		width: 100%;
		transition: 0.3s;
	}
	#nav_btn .nav_btn_bar span:not(:last-child){
		margin-bottom: 8px;
	}
	#nav_btn.close{
		margin-top: -7px;
	}
	#nav_btn.close div.nav_btn_bar span:nth-child(2){
		display: none;
	}
	#nav_btn.close div.nav_btn_bar span:first-child{
		transform: rotate(45deg);
		margin-top: 12px;
		margin-bottom: 6px;
	}
	#nav_btn.close div.nav_btn_bar span:last-child{
		transform: rotate(-45deg);
		margin-top: -7px;
	}

	p#btn_sup a{
		margin: 20px auto;
		margin-bottom: 50px;
		display: inline-block;
		padding: 10px 20px;
		color: #FFF;
		text-decoration: none;
		background: #009BE4;
	}
	
	header #nav_inner #sp_search.show{
		top: 54px;
		z-index: 1;
	}
	header #nav_inner #sp_nav.show{
		top: 54px;
		height: 96vh;
	}
	ul.info-nav { width: 100%; }
	
	ul.sp_nav_menu{
		margin: 20px 30px 0;
		font-size: 14px;
		font-size: 14rem;
		text-align: left;
	}
	ul#sp_subnav{
		margin: 10px 30px 0;
		font-size: 14px;
		font-size: 14rem;
		text-align: left;
		border-bottom: 1px solid #AFAFAF;
	}
	ul.drop-box{
		display: none;
	}
	ul.drop-box.close{
		display: none !important;
	}
	ul.sp_nav_menu li{
		position: relative;
	}
	ul.sp_nav_menu li,
	ul.lev_1st > li > span{
		margin-top: 10px;
		border-bottom: 1px solid #AFAFAF;
	}
	ul.sp_nav_menu li.lev_2nd:last-of-type,
	ul.sp_nav_menu li.lev_3rd{
		border-bottom: none;
	}

	ul.sp_nav_menu li:not(.has-drop) > span,
	ul.sp_nav_menu li:not(.has-drop) > a,
	ul.sp_nav_menu li a,
	ul#sp_subnav li a{
		display: block;
		padding-bottom: 10px;
		padding-left: 20px;
	}
	ul.sp_nav_menu ul.lev_2nd > li{
		padding-left: 40px;
	}
	ul.sp_nav_menu ul.lev_2nd > li > a{
		padding-left: 0;
	}
	ul.sp_nav_menu ul.lev_2nd > li:last-of-type{
		border-bottom: none;
	}
	ul.sp_nav_menu li.lev_3rd a{
		padding: 0 0 0 20px;
	}
	ul.sp_nav_menu li.has-drop{
		position: relative;
	}
	ul.sp_nav_menu li.has-drop::before,
	ul.sp_nav_menu li.has-drop::after{
		content: '';
		display: block;
		position: absolute;
		width: 15px;
		height: 1px;
		top: 11px;
		right: 21px;
		background: #666;
		opacity: 1;
		-webkit-transition: 300ms;
		transition: 300ms;
	}
	ul.sp_nav_menu li.has-drop::before{
		width: 1px;
		height: 15px;
		top: 4px;
		right: 28px;
	}
	ul.sp_nav_menu li.has-drop.show::before{
		transform: rotate(90deg);
	}
	ul.sp_nav_menu li.has-drop.show::after{
		opacity: 0;
	}
	ul.sp_nav_menu li.outlink::after{
		content: '';
		display: inline-block;
		position: absolute;
		top: 0;
		right: 20px;
		width: 20px;
		height: 20px;
		background: url(/_common/sp_icon_outlink.svg) no-repeat right center;
	}

	ul.sp_nav_menu li.has-drop{
		padding-bottom: 10px;
	}


	/*
	ul.sp_nav_menu li.lev_2nd:last-of-type,
	ul.sp_nav_menu li.lev_3rd{
		border-bottom: none;
	}
	ul.sp_nav_menu li.lev_3rd{
		margin-top: 5px;
	}
	ul.sp_nav_menu li.lev_3rd:last-of-type{
		margin-bottom: 5px;
	}


	ul.sp_nav_menu li.has-drop span{
		display: block;
	}
	ul.sp_nav_menu li:not(.lev_3rd){
		border-bottom: 1px solid #AFAFAF;
	}
	.drop-box{
		display: none;
	}
	ul.sp_nav_menu li a{
		display: block;
		font-size: 14px;
		font-size: 14rem;
	}
	ul.lev_1st > li{
		padding-left: 20px;
	}
	ul.lev_2nd > li a{
		padding-left: 40px;
	}
	


	#sp_inner{
		position: relative;
		z-index: 10;
		padding: 0 15px;
		background: #FFF;
		border-bottom: 1px solid #ddd;
	}
	.drawer--top #sp_nav .drawer-hamburger,
	.drawer--top.drawer-open #sp_nav .drawer-hamburger{
		right: 15px;
	}
	#sp_nav .drawer-hamburger{
		width: 32rem;
		padding: 0;
		padding-top: 18px;
		padding-right: .75rem;
		padding-bottom: 30px;
		padding-left: .75rem;
	}
	.drawer-navbar #sp_nav .drawer-nav{
		padding-top: 55px;
	}
	.drawer-nav ul.drawer-menu li{
	}
	*/
}