@charset "UTF-8";
@font-face {
font-family: 'Noto Serif Japanese';
font-style: normal;
font-weight: 600;
src: url('Fonts/NotoSerifCJKjp-SemiBold.otf') format('opentype');
}
@font-face {
font-family: 'Noto Serif Japanese';
font-style: normal;
font-weight: 400;
src: url('Fonts/NotoSerifCJKjp-Regular.otf') format('opentype');
}

@font-face{
font-family:"Meiryo W53 Regular";
src:url("Fonts/1560401/180a7431-d53a-4a41-84ff-ce326c50c6c7.eot?#iefix");
src:url("Fonts/1560401/180a7431-d53a-4a41-84ff-ce326c50c6c7.eot?#iefix") format("eot"),url("Fonts/1560401/f366083b-2d95-4d12-8179-9f8aa05f0108.woff2") format("woff2"),url("Fonts/1560401/e5bf1b19-d38a-4291-a4e9-0814df8032fc.woff") format("woff"),url("Fonts/1560401/58ba3aeb-9ed9-4a40-b0ae-f44d0ebb6d8a.ttf") format("truetype");
}
@font-face{
font-family:"Meiryo W53 Bold";
src:url("Fonts/1560409/016dbeea-0092-44f4-b383-009224340579.eot?#iefix");
src:url("Fonts/1560409/016dbeea-0092-44f4-b383-009224340579.eot?#iefix") format("eot"),url("Fonts/1560409/11df2e15-bf53-4b51-bc8f-ca3effc4982f.woff2") format("woff2"),url("Fonts/1560409/3db50134-8d7a-405d-b737-921de827ab7c.woff") format("woff"),url("Fonts/1560409/dbe1a48b-7435-487c-bcc7-1bf315c22ea2.ttf") format("truetype");
}

/*
img { vertical-align:bottom;
     width: 100%;
    max-width: 100%;
    height: auto;}
*/

html,
body{
	min-height: 100%;
}

h1, h2{  
	font-weight: bold;
	font-family: meiryo, 'Meiryo W53 Bold';
	line-height: 1.33;
	font-weight: bold;
}

h1 span, h2 span, .nowrap span{
	display: inline-block;
	white-space: nowrap;
}

@-moz-document url-prefix() {
	h1, h2{
		white-space: initial;
	}
}

.bold{
	font-weight: bold;
	font-family: meiryo, 'Meiryo W53 Bold';
}


header div{
	text-align: inherit;
	float: inherit;
	margin-top: inherit;
}

#inc_header a,
#inc_footer a{
	text-decoration: none;
	display: block;
}

#inc_header a:hover,
#inc_footer a:hover{
	opacity: 0.8;
}

#inc_header{
	height: 75px;
	background: none!important;
	z-index: 10;
/* 	overflow: hidden; */
	position: relative;
	z-index: 120;
	position: fixed;
	top:0;
	width: 100%;
	transition: .3s;
}

.transition{
	transition: .3s;
}

.hide #inc_header{
	top: -75px;
}

.header_wrapper{
	background: #fff;
	float: inherit;
	margin-top: inherit;
	width: 100%;
	float: inherit;
}

#inc_header + div.sns{
	margin-top: 75px;
}

#inc_header.menu_open{
/*
	padding-bottom: calc(100% - 75px);
	margin-bottom: calc(75px - 100%);
*/
	animation: header_open .5s;
	animation-fill-mode: forwards;
}

#inc_header.menu_close{
/*
	padding-bottom: 0;
	margin-bottom: 0;
*/
	animation: header_close .5s;
	animation-fill-mode: forwards;
}

@keyframes header_open{
0% {
	height: 110px;
}
50% {
	height: 100%;
}
100% {
	height: 100%;
}
}

@keyframes header_close{
0% {
	height: 100%;
}
50% {
	height: 100%;
}
100% {
	height: 110px;
}
}


.hide_base{
	height: 100%;
	background-color: #000;
/* 	opacity: 0; */
	cursor: pointer;
	float: inherit;
	margin-top: inherit;
/* 	z-index: -100; */
	display: none;
}

#inc_header.menu_open .hide_base{
	height: 150vh;
/* 	opacity: 0.7; */
	z-index: inherit;
/* 	transition: .3s; */
	display: block;
	animation: base_show 0.5s linear 0s;
	animation-fill-mode: forwards;
}


@keyframes base_show{
	0%{
		opacity: 0;
	}
	50%{
		opacity: 0;
	}
	100%{
		opacity: 0.7;
	}
}


/*
#inc_header nav{
	border-bottom: inherit!important;
	background: none!important;
}
*/

#global_menu{
	width: 51%;
	height: 100%;
	position: absolute;
	top: 0;
	left: -110%;
	background-color: #808080;
	margin-top: inherit;
	float: inherit;
/* 	display: none; */
	transition: .3s;
	opacity: 0.9;
/* 	box-shadow:0px 0px 6px 3px #555; */
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	transform: translateZ(0);
	
/* 	opacity: 0; */
}

#inc_header.menu_open #global_menu{
	left: 60%;
	animation: gmenu_open .5s;
	animation-fill-mode: forwards;
}

#inc_header.menu_close #global_menu{
	left: 105%;
	animation: gmenu_close .5s;
	animation-fill-mode: forwards;
}

@keyframes gmenu_open{
0% {
left: 105%;
}
50% {
left: 105%;
}
100% {
left: 49%;
}
}

@keyframes gmenu_close{
0% {
left: 49%;
}
50% {
left: 105%;
}
100% {
left: 105%;
}
}

@media screen and (max-width:767px){
	@keyframes gmenu_open{
	0% {
	left: 105%;
	}
	50% {
	left: 105%;
	}
	100% {
	left: 0%;
	}
	}
	
	@keyframes gmenu_close{
	0% {
	left: 0%;
	}
	50% {
	left: 105%;
	}
	100% {
	left: 105%;
	}
	}
}


#global_menu a{
	color: #fff;
}

#global_menu nav{
	padding: 75px 0 10px 10px;
	font-size: 18px;
	line-height: 1.2;
	min-height: 150%;
}

#global_menu nav ul{
	border-top: 1px #fff solid;
	margin-bottom: 40px;
}

#global_menu nav li{
	display: block;
/*
	height: 40px;
	line-height: 40px;
*/
	border-bottom: 1px #fff solid;
	position: relative;
	color: #fff;
	padding: 10px 0;
}

#global_menu nav li a{
	padding-left: 1.2em;
}

#global_menu nav li a:before{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10.35px;
	border-color: transparent transparent transparent #fff;
	top: 0.8em;
	left: 0.2em;
}

#global_navi{
	width: 100%;
	font-size: 16px;
	padding: 1em;
	box-sizing: border-box;
	margin-top: 75px;
	position: sticky;
	top: 75px;
	z-index: 100;
	background-color: rgba(254,254,254,0.7);
	transition: top	0.5s;
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

.hide #global_navi{
	top: 0;
}

#global_navi ul{
	display: flex;
	width: fit-content;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	gap: 2em;
}

#global_navi ul li{
	text-align: center;
	line-height: 1.2;
}

#global_navi a{
	color: #000;
	text-decoration: none;
	position: relative;
	/* font-weight: bold; */
}

#global_navi a:hover{
	opacity: 0.8;
}

#global_navi a:visited{
	color: inherit;
}

@media screen and (max-width:767px) and (orientation: portrait){
	#global_navi{
		margin-top: 109px;
		top: 109px;
		background-color: #969696;
		background-color: rgba(150,150,150,0.7);
		padding: 0.75em 1em;
		height: 100px;
	}

	.process.hide #global_navi{
		margin-top: 0;
	}

	#global_navi ul{
		flex-wrap: wrap;
		/* justify-content: space-between; */
		column-gap: 1em;
		row-gap: 0.5em;
	}

	#global_navi ul li{
		text-align: left;
		flex-basis: 10em;
		/* padding-left: 1em; */
		flex-grow: 0;
		flex-shrink: 1;
		white-space: nowrap;
	}

	#global_navi ul li:nth-child(even){
		flex-basis: 7em;
	}

	#global_navi li a{
		display: flex;
		align-items: center;
	}

	#global_navi li a,
	#global_navi a:visited{
		color: #fff;
	}

	#global_navi li a:before{
		content: "";
		/* position: absolute; */
		display: inline-block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0.2em 0 0.2em 0.4em;
		border-color: transparent transparent transparent #fff;
		margin-right: 0.25em;
	}

}

#header{
	height: 35px;
	padding: 20px 70px 20px 20px;
	margin: 0 auto;
	width: calc(100% - 90px);
	max-width: 1010px;
	overflow: hidden;
	position: relative;
	background-color: #fff;
}

#header a{
	text-decoration: none;
}

#header h1{
	float: inherit;
	margin: 0;
}

#header h1 img{
	float: left;
}

#header h2{
	display: block;
	height: 100%;
	margin-left: 1em;
	padding-left: 1em;
	border-left: 1px #333 solid;
	position: relative;
	float: left;
	font-size: 100%;
}

#header h2 img{
	position: absolute;
	bottom: 0;
}

#jp_en{
	width: 100%;
	text-align: right;
	margin-top: 6px;
}

#jp_en li{
	display: inline-block;
	width: 90px;
	height: 22px;
	line-height: 22px;
	color: #fff;
	background-color: #00a9e0;
	border: #00a9e0 1px solid;
	text-align: center;
	font-size: 0.9em;
	vertical-align: middle;
	position: relative;
}

#jp_en li a:before{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6.9px;
	border-color: transparent transparent transparent #00a9e0;
	top: 6px;
	left: 6px;
}


#jp_en li:first-child{
	width: 22px;
	height: 22px;
	border: none;
	background-color: inherit;
}

#jp_en li a{
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	color: #00a9e0;
}

#jp_en li a:hover{
	text-decoration: none;
	opacity: 0.8;
/*
	background-color: #00a9e0;
	color: #fff;
*/
}

#menu{
	width: 30px;
	height: 40px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto 0;
	z-index: 10;
}
/*
@media screen and (max-width: 740px) {
	#menu{
		width: 24px;
		height: 24px;
	}
}
*/

#menu:hover{
	cursor: pointer;
}

#menu div{
	position: relative;
	width: 100%;
	height: 100%;
}

#menu img{
	width: 100%;
	height: auto;
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
}

#menu span{
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	left: 0;
	top: 30%;
	margin-top: -1px;
	background: #808080;
}

#menu span:before,
#menu span:after{
	display: block;
	content: " ";
	position: absolute;
	width: 100%;
	height: 2px;
	left: 0;
	top: 50%;
	background: #808080;
	transition: 0.3s;
}

#menu span:before{
	top: -500%;
}
/*
@media screen and (max-width: 740px) {
	#menu span:before{
		top: -300%;
	}
}
*/

#menu span:after{
	top: 500%;
}
/*
@media screen and (max-width: 740px) {
	#menu span:after{
		top: 300%;
	}
}
*/

#menu.menu_close span{
	transition: .5s opacity;
}

.menu_open #menu span:before{
	animation: menu_top-close .5s;
	animation-fill-mode: forwards;
}
.menu_open #menu span:after{
	animation: menu_bottom-close .5s;
	animation-fill-mode: forwards;
}

.menu_open #menu #menu-icon{
	opacity: 0;
	transition: .5s opacity;
}

.menu_open #menu{
	height: 30px;
}

.menu_open #menu div{
	background-color: #00a9e0;
}

.menu_open #menu img{
	display: none;
}

.menu_open #menu span{
	top: 50%;
	background: #00a9e0;
}


.menu_open #menu span:before,
.menu_open #menu span:after{
	background: #fff;
	transition: .5s;
}

#menu.menu_close span:before {
	animation: menu_top .5s;
	animation-fill-mode: forwards;
}
#menu.menu_close #menu-icon {
	transition: .5s opacity;
}
#menu.menu_close span:after {
	animation: menu_bottom .5s;
	animation-fill-mode: forwards;
}

@keyframes menu_top-close {
0% {
/* top: -500%; */
margin-top: 0;
transform: rotate(0deg);
}
50% {
top: 50%;
margin-top: -1px;
transform: rotate(0deg);
}
100% {
top: 50%;
margin-top: -1px;
transform: rotate(-45deg);
}
}

@keyframes menu_bottom-close {
0% {
margin-top: 0;
/* top: 500%; */
transform: rotate(0deg);
}
50% {
top: 50%;
margin-top: -1px;
transform: rotate(0deg);
}
100% {
top: 50%;
margin-top: -1px;
transform: rotate(45deg);
}
}

@keyframes menu_top {
0% {
top: 50%;
margin-top: -1px;
transform: translateY(0) rotate(-45deg);
}
50% {
top: 50%;
margin-top: -1px;
transform: translateY(0) rotate(0deg);
}
100% {
/* top: -500%; */
margin-top: 0;
transform: translateY(0) rotate(0deg);
}
}

@keyframes menu_bottom {
0% {
top: 50%;
margin-top: -1px;
transform: translateY(0) rotate(45deg);
}
50% {
top: 50%;
margin-top: -1px;
transform: translateY(0) rotate(0deg);
}
100% {
margin-top: 0;
/* top: 500%; */
transform: translateY(0) rotate(0deg);
}
}

.sns{
	background-color: #d9d9d6;
	width: 100%;
	height: 30px;
	margin-top: 75px;
}

#global_navi + .sns,
#fIndex + .sns,
#main + .sns,
#content + .sns,
#contents + .sns,
article + .sns{
	margin-top: 0;
}

.sns_wrap{
	width: calc(100% - 40px);
	max-width: 1060px;
	overflow: hidden;
	margin: 0 auto;
	padding: 5px 0;
	height: 20px;
}

.sns_button{
	float: right;
/* 	height: 100%; */
	overflow: hidden;
}

.sns_button li{
	display: inline-block;
	height: 14px;
	padding: 3px 5px;
	font-size: 11px;
	line-height: 14px;
	-webkit-border-radius: 3px;/* Safari,Google Chrome用 */
	-moz-border-radius: 3px;/* Firefox用 */
	border-radius: 3px;
	behavior: url(border-radius.htc); /* IE */
}

.sns_button li.fb-like{
	padding: 0;
}

.sns_button li.fb-share-button{
	background-color: #305097;
}


.sns_button li.ogn_tweet{
	background-color: #1b95e0;
	background-color: #000;
}

.sns_button li.ogn_google_plus{
	background-color: #db4a39;
}

.sns_button li.ogn_hatebu{
	background-color: #00a4de;
}

.sns_button li dt,
.sns_button li dd{
	display: inline-block;
}

.sns_button li dd.fb_result{
	display: none;
}

a.sns_link{
	text-decoration: none;
	color: #fff;
}

a.sns_link img{
	height: 14px;
	width: 14px;
	vertical-align: top;
}

a.sns_link:hover{
	opacity: 0.8;
}

.sns_button{
	color: #fff;	
}

#inc_footer{
	padding: 0!important;
	background-color: #fff!important;	
}

#footer{
	margin: 0 auto;
/* 	width: 100%; */
	height: 75px;
	padding: 20px 0 40px 20px;
	max-width: 1080px;
	color: #333;
	overflow: hidden;
}

#footer > div{
	width: 100%;
	overflow: hidden;
	margin-bottom: 10px;
}

#footer h2{
	width: calc(100% - 50px);
	padding: 10px 0;
/* 	border-bottom: #333 1px solid; */
	float: left;
	font-family: 'Typonine Sans Regular 2';
	font-style: normal;
	color: #808080;
	font-size: 20px;
}



.go_top{
	width: 30px;
	height: 30px;
	float: right;
/* 	position: absolute; */
	margin-right: 20px;
	z-index: 50;
/* 	right: 0; */
/* 	opacity: 0; */
}

.go_top:hover{
	cursor: pointer;
}

.go_top.top_btn{
	position: fixed;
	float: none;
	right: 0;
	bottom: 20px;
	margin-right: 20px;
	background-color: rgba(238,220,0,0.5);
/* 	opacity: 1; */
	transition: 0.5s;
}

#footer ul{
	float: left;
}

#footer ul li{
	display: inline-block;
	position: relative;
	padding: 0 0.8em;
}


#footer ul li a:before{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10.35px;
	border-color: transparent transparent transparent #333;
	top: 0.15em;
	left: 0em;
}



#footer a{
	color: inherit;
}

/*
#footer a:hover{
	text-decoration: underline;
	opacity: 0.5;
}
*/


#footer p{
	font-size: inherit!important;
/* 	line-height: 1.4!important; */
	font-weight: inherit!important;
	color: #333!important;
	float: left;
}

#footer p.go_top img{
	width: 100%;
	height: auto;
}

#footer > p:last-child{
	float: right;
	margin-right: 20px;
}

.oblique{
	font-style: oblique;
}

/***** Tablet用 **********************************/
@media screen and (max-width:979px){
	#footer{
/* 		padding: 30px 20px 30px; */
		height: auto;
	}
	#footer > p{
		text-align: left;
/* 		float: none!important; */
	}
	#footer > p:last-child{
/* 		width: 100%; */
		text-align: right;
	}
	#footer ul{
		width: 100%;
		margin-bottom: 30px;
	}

	#global_menu{
		height: 100%;
	}
}

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

/***** Phone用 **********************************/
@media screen and (max-width:767px){

	#inc_header + div.sns{
		display: none;
	}
	
	#inc_header{
		height: auto;
	}
	
/* 	.process #inc_header{
		top: -75px;
	} */
	
	#inc_header.menu_open #global_menu{
		left: 0%;
		animation: gmenu_open .5s;
		animation-fill-mode: forwards;
	}
	
	#inc_header.menu_close #global_menu{
		left: 105%;
		animation: gmenu_close .5s;
		animation-fill-mode: forwards;
	}
		
	#inc_header.menu_open .hide_base{
		height: 0;
	}

	#global_menu{
		width: 100%;
	}

	#header h2{
		display: none;
	}
	
	#header h1 img{
		width: inherit!important;
	}
	
	#menu{
		width: 30px;
		height: 30px;
/* 		bottom: 34px; */
	}
	
	#menu div{
		height: 100%;
	}
	
	#menu img{
		display: none;
	}
	
	#menu span{
		top: 50%;
	}
	
	.sns_wrap{
		text-align: center;
		width: 100%;
	}
	
	.fb-like{
		display: none;
	}
	
	.sns_button{
		float: none;
		margin: 0 auto;
		display: inline-block;
	}
	
	#footer{
		height: auto;
		margin-left: inherit!important;
		margin-right: inherit!important;
	}
	
	#inc_header + div.sns{
		display: none;
	}
	
	#inc_header.menu_open #global_menu{
		left: 0%;
		animation: gmenu_open .5s;
		animation-fill-mode: forwards;
	}
	
	#inc_header.menu_close #global_menu{
		left: 105%;
		animation: gmenu_close .5s;
		animation-fill-mode: forwards;
	}
	
	#inc_header.menu_open .hide_base{
		height: 0;
	}
	
	#global_menu nav{
		padding: 75px 0 10px 5px;
		font-size: 16px;
	}
	
	#global_menu nav ul{
		margin-bottom: 20px;
	}
	
/*
	#footer{
		padding: 20px 20px 40px;
	}
*/
	
	#footer ul{
		float: inherit;
		width: 100%;
		margin-bottom: 1em;
	}
	
	#footer ul li{
		display: block;
		margin-bottom: 0.5em;
	}
	
	#footer > p:last-child{
		line-height: 1.4;
		text-align: left;
		float: none;
	}
	
	#footer h2{
		padding-top: 0;
		width: calc(100% - 70px);
	}
	
	.sns{
		height: auto;
		overflow: hidden;
		margin-top: 109px;
	}
	
	.sns_wrap{
		height: auto;
		margin-bottom: -5px;
	/* 	padding: 5px 0 0; */
	}
	
	.sns_button li.fb-like{
		display: none;
	}
	
	.sns li{
		margin-bottom: 5px;
	}
	
/* 	section#keyV,
	#top section#keyV,
	#cmn section#keyV,
	div#main{
		margin-top: 75px;
	} */
	
	#global_menu nav{
		font-size: 16px;
	}
	
	.go_top{
		width: 50px;
		height: 50px;
	}

}

@media screen and (max-width:767px) and (orientation: portrait){

	#header{
		width: 100%;
		padding: 0;
		margin: 0!important;
		height: 109px;
	}
	
	#header h1{
		padding: 20px;
		height: 35px;
	}
	
	#jp_en{
		width: 100%;
		height: 24px;
		text-align: center;
		margin: 0;
		padding: 5px 0;
		background-color: #999;
		float: none;
	}
	
	#menu{
		bottom: 34px;
	}
	
	.hide #inc_header{
		top: -109px;
	}
	
/* 	.process #inc_header{
		top: -109px;
	} */

/* 	section#keyV,
	#top section#keyV,
	#cmn section#keyV,
	div#main{
		margin-top: 109px;
	} */
	
}
