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

@media only screen and (max-width: 1023px) {
	body.scroll {
		overflow:hidden;
	}
	.pc_head {
		display: none;
	}
	header {
		height: 60px;
		background: #fff;
		position: fixed;
	}
	header {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content:flex-start;
		align-items: center;
		padding: 0 0 0 12px;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 102;
		transition: .3s;
	}
	header.fixed_bur {
		filter:drop-shadow(0px 2px 15px rgba(0,0,0, 0.05));
	}
	/*ヘッダー　ロゴ*/
	.hd_box1 {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 40%;
		height: 60px;
		padding: 0;
	}
	.hd_box1 h1 {
		width: 100%;
		max-width: 120px;
		display: flex;
		align-items: center; margin: 0px;
	}
	.hd_box1 h1 img {
		vertical-align:middle;
	}
	/*ヘッダー　各種ボタン囲み*/
	.hd_box2 {
		width: 60%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
		padding: 0;
		z-index: 102;
	}
	/*ヘッダー　言語*/
	.nav_regn {
		width: 50px;
		height: 60px;
		position: relative;
		display: flex;
		align-items: center;
		justify-content:center;
	}
	/*ヘッダー　検索*/
	.nav_sch {
		width: 50px;
		height: 60px;
		position: relative;
		display: flex;
		align-items: center;
		justify-content:center;
	}
	/*ヘッダー　ハンバーガー*/
	.nav_hum {
		width: 60px;
		height: 60px;
		background-color: #0852a0;
		margin-left: 10px;
		position: relative;
		display: flex;
		align-items: center;
		justify-content:center;
	}
	
	
	/*スマホメニュー/言語画面/検索画面*/
	nav.con_nav {
		display: none;
	}
	nav.sp_nav {
		height: 100vh;
	}
	nav.sp_nav,
	nav.r_nav,
	nav.s_nav {
		top: 60px;
	}
	/*toggleボタン*/
	.nav-toggle {
		display: inline-block;
		position: relative;
		width: 60px;
		height: 60px;
		padding:21px 22px;
		vertical-align: middle;
		cursor: pointer;
	}
	.nav-toggle span {
		display: inline-block;
		box-sizing: border-box;
		position: absolute;
		left: 22px;
		width: 18px;
		height: 2px;
		background-color: #fff;
		transition: all .3s .1s;
	}
	.nav-toggle.active span {
		background-color: #fff;
	}
	.nav-toggle span:nth-of-type(1) {
		top: 21px;
	}
	.nav-toggle.active span:nth-of-type(1) {
		transform: translateY(7px) rotate(-45deg);
	}
	.nav-toggle span:nth-of-type(2) {
		top: 28px;
	}
	.nav-toggle.active span:nth-of-type(2) {
		opacity: 0;
	}
	.nav-toggle span:nth-of-type(3) {
		bottom: 23px;
	}
	.nav-toggle.active span:nth-of-type(3) {
		transform: translateY(-7px) rotate(45deg);
	}
	/*toggleボタン　言語/検索*/
	.regn-toggle span,
	.sch-toggle span {
		display: none;
	}
	.regn-toggle p,
	.sch-toggle p {
		padding:13px;
	}
	.regn-toggle.active p,
	.sch-toggle.active p {
		display: none;
	}
	.regn-toggle.active,
	.sch-toggle.active {
		display: inline-block;
		position: relative;
		width: 50px;
		height: 60px;
		vertical-align: middle;
		cursor: pointer;
		padding:21px 17px;
	}
	.regn-toggle.active span,
	.sch-toggle.active span {
		display: inline-block;
		box-sizing: border-box;
		position: absolute;
		left: 17px;
		width: 18px;
		height: 2px;
		background-color: #0852a0;
		transition: all .5s .2s;
	}
	.regn-toggle.active span:nth-of-type(1),
	.sch-toggle.active span:nth-of-type(1) {
		transform: translateY(7px) rotate(-45deg);
	}
	.regn-toggle.active span:nth-of-type(2),
	.sch-toggle.active span:nth-of-type(2) {
		bottom: 23px;
		transform: translateY(-7px) rotate(45deg);
	}
	
	/*スマホメニュー/言語画面/検索画面*/
	nav.sp_nav,
	nav.r_nav,
	nav.s_nav {
		width: 100%;
		background-color: rgba(246, 246, 246, 1);
		color: #333;
		text-align: left;
		display: none;
		position: fixed;
		left: 0;
		z-index: 1015;
		padding: 0 15px;
	}
	/*フッターお問い合わせ*/
	nav.ft_con_nav {
		width: 90%;
		background-color: rgba(250, 250, 250, 1);
		color: #000;
		text-align: center;
		display: none;
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit- transform: translateY(-50%) translateX(-50%);
		z-index: 1015;
		padding: 0 15px;
	}
	nav.sp_nav {
		padding: 0;
		height: calc(100vh - 60px);
		overflow: scroll;
		overflow-x: hidden; 
		/*IE/Edge scroll非表示*/
		-ms-overflow-style: none;
		/*Firefox scroll非表示*/
		scrollbar-width: none;
	}
	/*Google/Chrome/Safari scroll非表示*/
	nav.sp_nav::-webkit-scrollbar{
		display: none;
	}
	
	.nav-item_sub {
			display: none;
	}
	.pointerevent {
		pointer-events: none;
	}
	

	/*言語レイアウト設定*/
	nav.r_nav .r_nav_box {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
			overflow-y: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
		height: calc(100vh - 60px);
		width: 100%;
		margin: auto;
		padding: 30px 15px 100px;
		text-align: left;
	}
	nav.ft_con_nav .r_nav_box {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
			overflow-y: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
		height:auto;
		width: 100%;
		margin: auto;
		padding: 30px 0;
		text-align: left;
	}
	.r_nav_box h2 {
		font-size: 20px;
		font-style: normal;
		font-weight: 600;
		margin-bottom: 30px;
	}
	nav.ft_con_nav .r_nav_box h2 {
		color:#0852A0;
	}
	ul.box_region {
		width: 100%;
		display: block;
		padding-bottom: 20px;
		border-bottom: solid 1px #ddd;
		margin-bottom: 20px;
	}
	ul.box_ft_con {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}
	ul.box_ft_con li {
		width: calc(97% / 2);
		margin-right:3%;
		margin-bottom:10px;
		background-color: #fff;
		border: solid 1px #666;
		position:relative;
		display: flex;
		align-items: center;
	}
	ul.box_ft_con li:nth-of-type(2n) {
		margin-right:0;
	}
	ul.box_region li {
		width: 100%;
		margin-bottom: 10px;
	}
	ul.box_region li:first-child {
		font-size: 16px;
		font-style: normal;
		font-weight: 600;
		line-height: 175%;
		margin-bottom: 15px;
	}
	
	ul.box_region li a {
		display: block;
		background-color: #fff;
		width: 100%;
		padding: 11px 36px;
		border: solid 1px #666;
		font-size: 14px;
		font-style: normal;
		font-weight: 300;
		line-height: 175%;
		position: relative;
		color: #333;
		text-decoration:none;
	}
	ul.box_ft_con li a {
		display: block;
		background-color: #fff;
		width: 100%;
		padding: 11px 36px;
		font-size: 14px;
		font-style: normal;
		font-weight: 300;
		line-height: 150%;
		position: relative;
		color: #333;
		text-decoration:none;
		word-break:keep-all;
	}
	ul.box_region li a::before,
	ul.box_ft_con li a::before {
		content: "";
		display: inline-block;
		position: absolute;
		width: 16px;
		height: 16px;
		top: 50%;
		left: 0;
		background-image: url("../images/icon_rgt_gry.svg");
		background-size: contain;
		background-repeat: no-repeat;
		transform: translateY(-50%);
		    -webkit-transform: translateY(-50%);
			    -ms-transform: translateY(-50%);
	}
	ul.box_region li a.blank::after,
	ul.box_ft_con li a.blank::after {
		content: "";
		display: inline-block;
		position: absolute;
		width: 18px;
		height: 18px;
		top: 50%;
		right: 7px;
		background-image: url("../images/icon_blk_gry.svg");
		background-size: contain;
		background-repeat: no-repeat;
		transform: translateY(-50%);
		    -webkit-transform: translateY(-50%);
			    -ms-transform: translateY(-50%);
	}
	ul.box_region li a.now {
		background-color: #48A8EE;
		color: #fff;
		border: solid 1px #48A8EE;
		text-decoration: none;
	}
	ul.box_region li a.now::before {
		background-image: url("../images/icon_rgt_w.svg");
	}
	.region_caution {
		font-size: 14px;
		line-height: 175%;
	}
	.region_caution ol li {
		position: relative;
		padding-left: 20px;
		margin-bottom: 5px;
	}
	.region_caution ol li::before {
		content: '';
		display: inline-block;
		width: 20px;
		height: 16px;
		background-image: url("../images/icon_qus.svg");
		background-size: contain;
		background-repeat: no-repeat;
		background-position: left top 2px;
		margin: 0 0 0 -20px;
	}
	.region_caution ol li a {
		color:#0852a0;
	}
	.r_close_btn,
	.s_close_btn {
		display:none;
	}
	.ft_con_close_btn {
		width: 20px;
		position: absolute;
		display: block;
		top: -30px;
		right: 10px;
		background-image: url("../images/icon_cls_wht.svg");
		background-size: contain;
		background-repeat: no-repeat;
		cursor: pointer;
		padding-top: 20px;
		height: 0;
		overflow: hidden;
	}
	/*検索ボックスレイアウト設定*/
	nav.s_nav .s_nav_box {
		scrollbar-width: none;
		height: calc(100vh - 60px);
		width: 100%;
		margin: auto;
		padding: 20px 15px;
		text-align: left;
	}
	
	nav.s_nav .s_nav_box {
		height:auto;
	}
	.s_nav_box form {
		width: 100%;
		margin: auto;
		display: flex;
	}
	.s_nav_box input[type="text"] {
		-webkit-appearance: none;
		background: #fff;
		padding: 10px 16px;
		width: 80%;
		border: solid 1px #ddd;
		border-radius: 0;
	}
	.s_nav_box input[type="text"]:focus {
		outline-style: none;
	}
	.s_nav_box input[type="text"]::-webkit-search-decoration {
		display: none;
	}
	.s_nav_box input[type="submit"]{
		cursor: pointer;
		border: none;
		background: #0852A0;
		color: #fff;
		outline : none;
		width: 20%;
		padding: 0;
		-webkit-appearance: none;
		border-radius: 0;
	}	

	/*MF3.0に変更後の追加指定*/
	.s_nav_box .mf_finder_searchBox{
		margin-left:auto;
		margin-right:auto;
	}
	.s_nav_box .mf_finder_searchBox_form{
		display:block;
	}
	.s_nav_box .mf_finder_searchBox_items{
		padding:0;
		display: flex;
	}
	.s_nav_box .mf_finder_searchBox_query_wrap{
		width: 80%;
	}
	.s_nav_box .mf_finder_searchBox_query_input[type="text"]{
		font-size:1.4rem;
		width:100%;
	}
	.s_nav_box .mf_finder_searchBox_submit{
		border-radius:0;
		background-color: #0852A0;
		padding: 0;
		-webkit-appearance: none;
		border-radius: 0;
		width: 20%;
		font-size:1.4rem;
	}
	.s_nav_box .mf_finder_searchBox_submit::before{
		content:none;
	}
	.s_nav_box .mf_finder_searchBox_submit span{
		margin:0;
		display:inline;
	}
	.s_nav_box .mf_finder_searchBox_query_input::placeholder {
		color:#999;
	}
	
	/*sp_nav　中身*/
	.menu_slide_box {
		width: 100%;		
	}
	.sl_name,
	.sl_name_link {
		width: 100%;
		-webkit-transition: all .5s ease;
		transition: all .5s ease;
		z-index: 102;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		padding: 20px 60px 20px 15px;
		font-size: 16px;
		line-height: 1.5;
		font-weight: 600;
		cursor: pointer;
		border-bottom: solid 1px #ddd;
		position: relative;
	}
	.sl_name::after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 20px;
		margin-top: -2px;
		width: 9px;
		height: 9px;
		border-top: 1px solid #0852A0;
		border-right: 1px solid #0852A0;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.sl_name.side-front,
	.sl_name_link.side-front {
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);/**/
	}
	.sl_name_link a {
		display:block;
		text-decoration:none;
	}
	.sub_slide {
		width: 100%;
		position: absolute;
		top: 0;
		height: 0;
		-webkit-transition: all .5s ease;
		transition: all .5s ease;
		z-index: 102;
		-webkit-transform: translate3d(120%, 0, 0);
		transform: translate3d(120%, 0, 0);/**/
	}
	.sub_slide.side-open {
		height: auto;
		display: block;
		padding-bottom:100px;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	.sp_menu_back_btn {
		width: 100%;
		padding: 20px 15px 20px 30px;
		font-size: 12px;
		line-height: 1.5;
		font-weight: 300;
		border-bottom: solid 1px #ddd;
		cursor: pointer;
		position: relative;
	}
	.sp_menu_back_btn::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		left: 20px;
		margin-top: -2px;
		width: 6px;
		height: 6px;
		border-top: 1px solid #666;
		border-right: 1px solid #666;
		-webkit-transform: rotate(-135deg);
		transform: rotate(-135deg);
		margin-right: 20px;
	}
	.sub_slide ul.level_1 {
		font-size: 16px;
		line-height: 1.5;
		font-weight: 600;
	}
	.sub_slide ul.level_1 > li {
		
		border-bottom: solid 1px #ddd;
	}
	.sub_slide ul.level_1 > li a {
		display: block;
		color: #333;
		position: relative;
		padding: 20px 30px 20px 30px;
		text-decoration:none;
	}
	.sub_slide ul.level_1 > li.list_just_txt {
		padding: 20px 15px 20px 15px;
	}
	.sub_slide ul.level_1 > li:first-child {
		
		color: #0852A0;
	}
	.sub_slide ul.level_1 > li:first-child a {
		padding: 20px 15px 20px 15px;
		color: #0852A0;
	}
	/*別タブで開く*/
	.sub_slide ul.level_1 > li a.blank::after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 36%;
		right: 15px;
		margin-top: -2px;
		width: 20px;
		height: 20px;
		background-image: url("../images/icon_blk_gry2.svg");
		background-size: contain;
	}
	
	/*開いたとき用に*/
	nav.sp_nav li.nav-item {
		padding: 0;
		border-bottom: initial;
		position: relative;
	}
	nav.sp_nav li.nav-item p {
		position: relative;
		cursor: pointer;
		padding: 20px 60px 20px 30px;
		border-bottom: solid 1px #ddd;
	}
	nav.sp_nav li.nav-item p::before {
		content: "";
		position: absolute;
		vertical-align: middle;
		top: 50%;
		-webkit-transition: all .2s ease-out 0s;
		transition: all .2s ease-out 0s;
		margin-top: -9px;
		right: 7px;
		width: 1px;
		height: 16px;
		background: #0852A0;
		margin-right: 20px;
	}
	nav.sp_nav li.nav-item.active p::before {
		opacity: 0;
	}
	nav.sp_nav li.nav-item p::after {
		content: "";
		position: absolute;
		vertical-align: middle;
		top: 50%;
		margin-top: -2px;
		right: 0px;
		width: 16px;
		height: 1px;
		background: #0852A0;
		margin-right: 20px;
	}
	/*開いたときのスクロール*/
	nav.sp_nav .nav-item_sub {
		overflow: scroll;
		overflow-x: hidden; 
		/*IE/Edge scroll非表示*/
		-ms-overflow-style: none;
		/*Firefox scroll非表示*/
		scrollbar-width: none;
	}
	/*Google/Chrome/Safari scroll非表示*/
	nav.sp_nav .nav-item_sub::-webkit-scrollbar{
		display: none;
	}
	
	nav.sp_nav .nav-item_sub li a {
		padding: 20px 15px 20px 15px;
	}
	nav.sp_nav .nav-item_sub li {
		font-size: 14px;
		background-color: #fff;
		padding-left:30px;
		border-bottom: solid 1px #ddd;
	}
	nav.sp_nav .nav-item_sub li:first-child  {
		padding-left:15px;
	}
	
	/*メガメニューのバナー*/	
	.sub_slide ol {
		display: block;
		width: 100%;
		margin-top: 40px;
		margin-bottom: 40px;
		padding-left: 15px;
		padding-right: 15px;
	}
	.wht_bnr a {
		width: 100%;
		padding: 10px;
		border: solid 1px #ddd;
		background-color: #fff;
		margin-bottom: 1em;
		display: flex;
		flex-wrap: wrap;
		color: #333;
		text-decoration:none;
	}
	.wht_bnr a div.photo_i  {
		width: 60px;
		height: 60px;
		overflow: hidden;
		border: solid 1px #ddd;
	}
	.wht_bnr a div.photo_i img {
		height: auto;
	}
	.wht_bnr a div.link_txt  {
		width: calc(100% - 60px);
		display: flex;
		font-size: 14px;
		place-items: center start;
		padding-left: 10px;
		position: relative;
	}
	.wht_bnr a.blank div.link_txt::after {
		content: '';
		width: 23px;
		height: 16px;
		display:inline-block;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center right;
		background-image: url("../images/icon_blk_gry2.svg");
		transition: transform .3s;
		padding-left: 7px;
	}
	.wht_bnr.last_btn {
		margin-bottom:10vw;
	}
	
	/*背景を暗くする部分*/
	.fade {
		margin-top: 60px;
		position: fixed;
		top:0px;
		left: 0;
		width:100%;
		height: calc(100% - 60px);
		background-color:#000000;
		visibility: hidden;
		opacity: 0;
		transition: all .2s;
	}
	.sp_head .fade {
		margin-top: 0;
		height: 100%;
	}
	.fade.ft_ver {
		margin-top: 0;
		height: 100%;
	}
	.fade.open {
		visibility: visible;
		opacity: 0.5;
	}
	.fade.open_delay{
		visibility: visible;
		opacity: 0.5;
		transition-delay: 0.2s;
		z-index: 1010;
	}
	
	.pageGuide {
		 border-top:solid 1px #f3f3f3;
	 }

}


