@charset "utf-8";

/* **********************************************************
	header
********************************************************** */
@media print, screen and (min-width: 0px) {
.header_overlay {
	background-color: rgba(48,59,52,0.2);
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 91;
}
header {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	padding-bottom: 3px;
	z-index: 100;
}
	header .global__logo {
		font-size: 0;
		line-height: 0;
		position: absolute;
		top: 0px;
		left: 0px;
		z-index: 110;
	}
		header .global__logo a {
			background-color: #516359;
			display: block;
			padding: 39px 0;
			-webkit-transition: all .3s;
			transition: all .3s;
		}
		body.fixed header .global__logo a {
			padding: 29px 0 30px 0;
			-webkit-transition: all .3s;
			transition: all .3s;
		}
	header .global__function {
		background-color: #ffffff;
		font-size: 87.5%;
		font-size: 1.4rem;
		position: relative;
		z-index: 109;
	}
		header .global__function .function__block a {
			color: #52645a;
			display: block;
			text-decoration: none;
		}
		header .global__function .function__block a:hover {
			opacity: 0.8;
			text-decoration: none;
		}
		header .global__function .function__block {
			float: right;
			display: table;
			height: 50px;
		}
		header .global__function .function__cell {
			color: #52645a;
			display: table-cell;
			vertical-align: middle;
		}

			.fontsizeL header .global__function .function__cell dt,
			.fontsizeL header .global__function .function__cell p a{
				font-size:14px;
			}
			.fontsizeL header .global__function .function__cell dd ul li{
				font-size:12px;
			}

			header .global__function .function__size {
				padding-right: 20px;
			}
				header .global__function .function__size dl {
					display: table;
				}
				header .global__function .function__size dt {
					display: table-cell;
					vertical-align: middle;
					padding-right: 9px;
				}
				header .global__function .function__size dd {
					display: table-cell;
					vertical-align: middle;
				}
					header .global__function .function__size dd ul {
						border: 1px solid #516359;
						display: table;
					}
					header .global__function .function__size dd li {
						cursor: pointer;
						display: table-cell;
						font-size: 85.71%;
						font-size: 1.2rem;
						vertical-align: middle;
						padding: 0 5px;
					}
					header .global__function .function__size dd li.selected,
					header .global__function .function__size dd li:hover {
						background-color: #516359;
						color: #ffffff;
					}
			header .global__function .function__question {
			}
				header .global__function .function__question p {
					border-left: 1px solid #dce0de;
					padding: 0 20px;
				}
			header .global__function .function__shop {
			}
				header .global__function .function__shop p {
					border-left: 1px solid #dce0de;
					padding: 0 20px;
				}
				header .global__function .function__shop a {
					background: url(/en/common/images/icon_blank.png) right center no-repeat;
					padding-right: 20px;
				}
			header .global__function .function__en {
			}
				header .global__function .function__en p {
					border-left: 1px solid #dce0de;
					padding-left: 20px;
				}
	header nav {
		position: relative;
		z-index: 101;
	}
		header nav .navi_main {
			background-color: #ffffff;
			border-top: 1px solid #e5e7e6;
			border-bottom: 1px solid #e5e7e6;
			position: relative;
			z-index: 108;
		}
			header nav .navi_main .mdl__inner {
				box-sizing: border-box;
				-moz-box-sizing: border-box;
				-webkit-box-sizing: border-box;
				padding-left: 140px;
			}
			header nav .navi_main ul {
				display: flex;
			}
			header nav .navi_main li {
				-webkit-box-sizing: border-box;
				box-sizing: border-box;
				text-align: center;
				position: relative;
				padding-right: 1px;
				width: 25%;
			}
			header nav .navi_main li::after {
				border-right: 1px solid #b9c6bc;
				content: "";
				position: absolute;
				right: 0px;
				top: 9px;
				height: 41px;
			}
			header nav .navi_main li p {
				position: relative;
				font-size: 1.6rem;
				color:#526459;
				cursor: pointer;
				line-height: 59px;
			}

			header nav .navi_main li p:hover,
			header nav .navi_main li.opened p {
				background-color: #d0d9d3;
			}
			header.selected_1 nav .navi_main li:nth-of-type(1) p,
			header.selected_2 nav .navi_main li:nth-of-type(2) p,
			header.selected_3 nav .navi_main li:nth-of-type(3) p,
			header.selected_4 nav .navi_main li:nth-of-type(4) p,
			header.selected_5 nav .navi_main li:nth-of-type(5) p {
				background-color: #d0d9d3;
				color:#526459;
			}
			header.selected_1 nav .navi_main li:nth-of-type(1) p:hover,
			header.selected_2 nav .navi_main li:nth-of-type(2) p:hover,
			header.selected_3 nav .navi_main li:nth-of-type(3) p:hover,
			header.selected_4 nav .navi_main li:nth-of-type(4) p:hover,
			header.selected_5 nav .navi_main li:nth-of-type(5) p:hover,
			header.selected_1 nav .navi_main li:nth-of-type(1).opened p,
			header.selected_2 nav .navi_main li:nth-of-type(2).opened p,
			header.selected_3 nav .navi_main li:nth-of-type(3).opened p,
			header.selected_4 nav .navi_main li:nth-of-type(4).opened p,
			header.selected_5 nav .navi_main li:nth-of-type(5).opened p {
				background-color: #d0d9d3;
			}
			header nav .navi_main li p:hover::after {
				border-bottom: 0 solid #516359;
				content: "";
				position: absolute;
				left: 19px;
				bottom: 0;
				width: calc(100% - 38px);
			}
			header nav .navi_main li.opened p::after {
				border-bottom: 2px solid #516359;
				content: "";
				position: absolute;
				left: 19px;
				bottom: 0;
				width: calc(100% - 38px);
			}
		header nav .navi_sub {
			background-color: rgba(48,59,52,0.6);
			position: absolute;
			left: 0px;
			top: 100%;
			margin-top: -1px;
			width: 100%;
			z-index: 109;
		}
			header nav .navi_sub .mdl__inner {
				box-sizing: border-box;
				-moz-box-sizing: border-box;
				-webkit-box-sizing: border-box;
			}
			header nav .navi_sub .subnavi {
				display: none;
			}
			header nav .navi_sub .subnavi dt {
				background-color:  rgba(48,59,52,0.2);
				padding: 40px 0 20px 0;
			}
			header nav .navi_sub .subnavi dt .mdl__inner {
				display: flex;
				justify-content: space-between;
			}
			header nav .navi_sub .subnavi dt a {
				color: #ffffff;
				display: inline-block;
				font-size: 2.2rem;
				font-weight: 500;
				text-decoration: none;
				padding-right: 30px;
				background: url(/en/common/images/arw_header_03_01.png) right center no-repeat;
			}
			header nav .navi_sub .subnavi dt a:hover {
				text-decoration: underline;
			}
			header nav .navi_sub .subnavi dt .header_close {
				cursor: pointer;
			}
			header nav .navi_sub .subnavi dd {
				padding:0;
			}
			header nav .navi_sub .subnavi ul {
				display: flex;
				flex-wrap: wrap;
			}
			header nav .navi_sub .subnavi ul li{
				width: 33.3333%;
			}
			header nav .navi_sub .subnavi ul li a {
				color: #ffffff;
				display: block;
				font-size: 1.4rem;
				text-decoration: none;
				padding: 8px 0 8px 30px;
				background: url(/en/common/images/arw_header_03_02.png) 10px center no-repeat;
			}
			header nav .navi_sub .subnavi ul li a:hover {
				background-color: #303b34;
			}

.icon__bnk{
	margin:0.4em 0 0 0.35em;
}

}
@media print, screen and (min-width: 667px) {
header .header__sp_menu {
	display: none !important;
}
header .header__sp_search {
	display: none !important;
}
}
@media screen and (max-width: 666px) {
.header_overlay {
	display: none !important;
}
header {
	background-color: #ffffff;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	border-bottom: 1px solid #efefea;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	padding: 3.12% 4.06%;
	z-index: 100;
}
	header .global__logo {
		font-size: 0;
		line-height: 0;
		position: relative;
		top: auto;
		left: auto;
		z-index: 110;
	}
		header .global__logo a {
			background-color: transparent;
			display: inline-block;
			padding: 0;
			-webkit-transition: none .3s;
			transition: none .3s;
		}
		body.fixed header .global__logo a {
			padding: 0;
			-webkit-transition: none .3s;
			transition: none .3s;
		}
			header .global__logo a img {
				width: auto;
				height: 8.9vw;
			}
		header .global__function .cmn__sp_block {
			font-size: 0;
			line-height: 0;
			position: absolute;
			top: 0px;
			right: 0px;
			z-index: 110;
		}
		header .global__function .cmn__sp_block img {
				width: auto;
				height: 8.9vw;
			}
		header.sp_open .global__function .cmn__sp_block img {
			opacity: 0;
			}
		header .global__function {
			background-color: #ffffff;
			font-size: 87.5%;
			font-size: 1.4rem;
			position: relative;
			z-index: 109;
		}
		header .global__function .function__block {
			display: none;
		}
		header nav {
			display: none !important;
		}
		header .header__sp_menu {
			display: none;
			position: absolute;
			
			top: 0px;
			left: 0px;
			width: 100%;
			height: 100vh;
			z-index: 200;
		}
		header .header__sp_menu .menu__scroll {
			overflow-y: auto;
			background-color:rgba(0,0,0,0.7);
			height:100%!important;
		}
		header .header__sp_menu .menu__title {
			background-color: rgba(82,100,90,0.9);
			border-bottom: 1px solid #efefea;
			font-size: 0;
			line-height: 0;
			padding: 3.12vw 4.06vw;
		}
			header .header__sp_menu .menu__title img {
				width: auto;
				height: 8.9vw;
			}
			header.sp_search .header__sp_menu .menu__title img {
				opacity: 0;
			}
			header .header__sp_menu .menu__title ul {
				float: right;
			}
			header .header__sp_menu .menu__title li {
				float: left;
				margin-left: 7.65vw;
			}
		header .header__sp_menu .menu__navi {
			background-color: #ffffff;
			text-align: left;
		}
			header .header__sp_menu .menu__navi dt {
				border-bottom: 1px solid #e5e7e6;
				position: relative;
			}
			header .header__sp_menu .menu__navi dt:last-child {
				border-bottom: 0px;
			}
				header .header__sp_menu .menu__navi dt a {
					display: block;
					font-size: 5.62vw;
					line-height: 1.2;
					text-decoration: none;
					padding: 3.9% 4.06%;
				}
				header .header__sp_menu .menu__navi dt span {
					background: url(/en/common/images/icon_navi_sp_open.png)no-repeat;
					background-size: 4.68vw 4.53vw; 
					background-position: 48.42% center;/*none*/
					display: block;
					overflow: hidden;
					position: absolute;
					top: 0;/*50%*/
					right: 0;/*4.06%*/
					margin-top: 0vw;/*-2.26vw*/
					width: 44px;/*4.68vw*/
					height: 96%;/*4.53vw*/
				}
				
				header .header__sp_menu .menu__navi dt span.opened {
					background: url(/en/common/images/icon_navi_sp_close.png) no-repeat;
					background-size: 4.68vw 4.53vw;
					background-position: 48.42% center;
				}
			header .header__sp_menu .menu__navi dd {
				display: none;
			}
				header .header__sp_menu .menu__navi dd li {
					border-bottom: 1px solid #e5e7e6;
				}
				header .header__sp_menu .menu__navi dd li:last-child {
					border-bottom: 0px;
				}
				header .header__sp_menu .menu__navi dd a {
					background-color: #39463f;
					color: #ffffff;
					display: block;
					font-size: 4.37vw;
					line-height: 1.2;
					text-decoration: none;
					padding: 3.9% 9.37%;
				}

				header .header__sp_menu .menu__navi dd a.bur_career{
					padding:3.9% 5.1% 3.9% 9.37%;
				}

				header .header__sp_menu .menu__navi dd a span{
					font-size:3.12vw;
					line-height:1.4;
				}

		header .header__sp_menu .menu__link {
			background-color: #28312c;
			padding: 2.34% 0;
		}
			header .header__sp_menu .menu__link .link__table {
				display: table;
				width: 100%;
			}
			header .header__sp_menu .menu__link .link__row {
				display: table-row;
			}
			header .header__sp_menu .menu__link a {
				background-color: #28312c;
				color: #ffffff;
				display: table-cell;
				font-size: 4.37vw;
				line-height: 1.2;
				text-align: left;
				text-decoration: none;
				vertical-align: middle;
				white-space: nowrap;
				padding: 2.34vw 4.06vw;
				width: 50%;
			}
				header .header__sp_menu .menu__link a span {
					background: url(/en/common/images/arw_link_l_3.png) left center no-repeat;
					background-size: 3.9vw auto;
					display: block;
					padding-left: 7.03vw;
				}
				header .header__sp_menu .menu__link a img {
					vertical-align: middle;
					margin-left: 7px;
				}
		header .header__sp_menu .menu__close {
			font-size: 0;
			line-height: 0;
		}
			header .header__sp_menu .menu__close p {
				background-color: #ffffff;
				text-align: center;
				padding: 4.68% 0;
			}
				header .header__sp_menu .menu__close p img {
					width: 5.46vw;
					height: auto;
				}

}


/* **********************************************************
	search box
********************************************************** */
@media print, screen and (min-width: 0px) {
	header .search{
		display:none;
	}
	
	header .search__block .close{
		position:absolute;
		top:8.45%;
		right:17.2%;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	input[type="search"],
	textarea {
		margin: 0;
		padding: 0;
		max-width: 100%;
		outline: none;
		border: none;
		background: #fff;
		color: #777;
		vertical-align: middle;
		border-radius:0;
	}
	
	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		display: inline-block;
		margin: 0;
		padding: 0;
		border: none;
		text-decoration: none;
		font-size: 12px;
		line-height: normal;
		cursor: pointer;
		border-radius:0;
	}

	input[type="reset"].close_btn{ display:none;}
	::-ms-clear { visibility: hidden;}
	
	#searchform {
		position: absolute;
		right: 0;
		width: 660px;
		text-align: right;
	}
	
	#searchbox a,
	#searchbox #MF_form_phrase,
	#searchsubmit {
		display: inline-block;
	}
	
	.btn_loope {
		background: url(/en/common/images/btn_src.png) no-repeat;
		display: block;
		position: absolute;
		width: 61px;
		height:50px;
		top: 0;
		right: 0px;
	}
	
	#searchbox #MF_form_phrase {
		position: absolute;
		z-index: 2;
		color: transparent;
		width: 0;
		height: 50px;
		right: 1px;
		-webkit-transition: width 0.2s ease-in;
		-moz-transition: width 0.2s ease-in;
		-ms-transition: width 0.2s ease-in;
		-o-transition: width 0.2s ease-in;
		border-bottom:3px solid #516359;
		box-sizing:border-box;
	}
	
	#searchbox.focus #MF_form_phrase{font-family:'Arial Narrow', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;}
	
	#searchsubmit {
		z-index: 100;
		background: url(/en/common/images/btn_src.png) 50% 50% no-repeat;
		background-size:61px 50px;
		display: none;
		opacity: 0;
		position: absolute;
		top: 0;
		right: 0;
		width: 61px;
		height: 50px;
	}
	
	#searchbox.focus a.btn_loope {
		display: none;
	}
	
	#searchbox.focus #searchsubmit {
		opacity: 1;
		display: block;
	}
	
	#searchbox.focus #MF_form_phrase {
		width: 280px;
		color: #777;
		background: rgba(255,255,255,0) ;
		padding-left: 10px;
		display:block;
		line-height:1.6;/**/
	}
	
	.close_btn{
		display:none;
		z-index:1000;
		cursor:pointer;
		color:rgba(0,0,0,0);
	}
	
	.focus .close_btn{
		background: url(/en/common/images/btn_cls.png) 87.5% 50% no-repeat;
		background-size:18px 22px;
		display:inline-block;
		position:absolute;
		right:285px;
		width:28px;
		height:50px;
		padding-left:2em;
		cursor:pointer;
		z-index:2000;
	}
	
	#searchbox.focus .function__cell{
		display:none;}  
	
	.function__cell.function__shop{
		height:50px;}
	
	header .global__function .function__en p {
		padding-right: 20px;
	}
}

@media screen and (max-width: 666px) {
	header .header__sp_search {
		display: none;
		position:absolute;
		top: 0px;
		left: 0px;
		width: 100%;
		z-index: 300;
	}

		header .header__sp_search .search__block {
			background-color: rgba(255,255,255,0.9);
			font-size: 0;
			line-height: 0;
			padding: 3.12% 4.06%;
		}
			header .header__sp_search .search__block img,
			header .header__sp_search .search__block input[type="image"] {
				width: auto;
				height: 8.9vw;
			}
			header .header__sp_search .search__block p {
				float: right;
				margin-left: 5px;
			}
			header .header__sp_search .search__block #searchform {
				float: right;
			}
				header .header__sp_search .search__block #searchform dl {
					display: table;
				}
				header .header__sp_search .search__block #searchform dt {
					display: table-cell;
					vertical-align: top;
				}
				header .header__sp_search .search__block #searchform dd {
					display: table-cell;
					vertical-align: middle;
					position: relative;
				}
				header .header__sp_search .search__block #searchform dd:after {
					border-bottom: 3px solid #39463f;
					content: "";
					position: absolute;
					bottom: -3.4vw;
					left: 0px;
					width: 108%;
				}
					header .header__sp_search .search__block #searchform dd input {
						background-color: transparent;
						border: 0;
						font-size: 4.265vw;
						line-height: 8.9vw;
						padding: 0;
						width: 85.25vw!important;
					}

	#searchform {
		position: relative;
		width: 100%;
		text-align: right;
	}

	.focus input[type="reset"].close_btn{
		display:inherit;
	}

	header .search{
		display:inherit;
		width:auto;
		height:8.9vw;
		font-size: 0;
		line-height: 0;
		position: absolute;
		top: 0px;
		right: 14.5%;
		z-index: 110;
	}

		header .search img{
			width:auto;
			height:100%;
		}

	header.sp_search .header__sp_search .menu__title {
		background-color: rgba(82,100,90,0.9);
		border-bottom: 1px solid #efefea;
		font-size: 0;
		line-height: 0;
		padding: 3.12% 4.06%;
	}
	
		header.sp_search .header__sp_search .menu__title ul {
			height:8.9vw;
		}
	
	header.sp_search .global__function .search{
		display:none;
	}
}

@media (orientation: landscape) and (max-width: 1023px){
input[type="text"] {
    font-size: 24px;
}
input::-webkit-input-placeholder {
	font-size: 22px;
}
}

@media screen and (max-width: 320px) {
#searchbox.focus #MF_form_phrase {font-size:16px!important;}
header .header__sp_search .search__block #searchform dd input{font-size:16px;}
}