/*----------------------------------------------
	html
---------------------------------------------*/
html {
  font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

/*----------------------------------------------
	body
---------------------------------------------*/
body {
	/*font-family:  "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-mono", "monospace", sans-serif;*/
	-webkit-text-size-adjust: 100%;
	font-size: 16px;
	font-size: 1rem;
}
@media screen and (max-width: 640px) {
	body {
		min-width: 100%;
	}
}

/*----------------------------------------------
	wrap
---------------------------------------------*/
.wrap {
	width: 1000px;
	margin: 0 auto;
}
@media screen and (max-width: 640px) {
	.wrap {
		width: 100%;
	}
}

/*----------------------------------------------
	header
---------------------------------------------*/
header {
	padding: 30px 0 0;
}
header .ttl_blk {
	padding-bottom: 25px;
}
header .h_right {
	display: inline-flex;
}
/*header .h_right li {
	float: right;
	margin: 10px 5px 0;
}*/
header .h_right li {
	margin: 0 5px;
}
header .h_right li a {
	text-decoration: none;
	font-weight: bold;
}


/*header .h_right li.contact a {
	color: #333;
	display: block;
	background: #FFC926 url(../images/_icon/icon_contact.png) 18px center no-repeat;
	background-size: 20px 16px,100% 100%;
	padding: 8px 23px 8px 45px;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}*/
header .h_right li.contact a {
	color: #333;
	height: 18px;
	display: block;
	/*background: #FFC926 url(../images/_icon/icon_contact.png) 18px center no-repeat;*/
	background: #FFC926;
	background-size: 20px 16px,100% 100%;
	/*padding: 9px 18px 15px 45px;*/
	padding: 9px 18px 15px 18px;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}



header .h_right li.contact a:hover {
	background: #FEE393 url(../images/_icon/icon_contact.png) 18px center no-repeat;
	background-size: 20px 16px,100% 100%;
}



/*header .h_right li.mypage a {
	color: #FFF;
	display: block;
	background: #5D5D5D url(../images/_icon/icon_mypage.png) 13px center no-repeat;
	background-size: 17px 20px,100% 100%;
	padding: 8px 18px 8px 35px;
    -webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}*/
header .h_right li.mypage a {
	color: #FFF;
	height: 18px;
	display: block;
	background: #5D5D5D url(../images/_icon/icon_mypage.png) 13px center no-repeat;
	background-size: 17px 20px,100% 100%;
	padding: 9px 18px 15px 35px;
    -webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}



header .h_right li.mypage a:hover {
	background: #AAA url(../images/_icon/icon_mypage.png) 13px center no-repeat;
	background-size: 17px 20px,100% 100%;
}
header .h_right li.ipv {
	color: #333333;	
	font-weight: bold;
	line-height: 28px;
	padding: 7px 18px 0px 35px;
	border: 1px solid #5D5D5D;
	background: url(../images/_icon/icon_ipv.png) 13px 11px no-repeat;
}

/*	header .h_right li.ipv a {
		background: #5D5D5D url(../images/_icon/icon_ipv.png) 13px center no-repeat;
		padding: 8px 18px 8px 35px;
		color: #FFF;
		transition: all 0.3s;
	}
		header .h_right li.ipv a:hover {
			background: #AAA url(../images/_icon/icon_ipv.png) 13px center no-repeat;
		}*/

/*header .h_right li.search {
		margin-top: 5px;
}*/

header .h_right li.search .searchbox {
	display: inline-flex;
}
header .h_right li.search .searchbox input {
	height: 42px;
	width: 15em;
	padding: 5px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 16px;
	vertical-align: middle;
	border: 1px solid #D8D8D8;
}
header .h_right li.search .searchbox .searchbtn input {
	background: #5D5D5D;
	color: #FFF;
	width: 3em;
	border: none;
    font-weight: bold;
	line-height: 2.1em;
}
header .h_right li.search .searchbox .searchbtn button {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	/*font-family:  "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-mono", "monospace", sans-serif;*/
	-webkit-text-size-adjust: 100%;
	font-size: 16px;
	background: #5D5D5D;
	color: #FFF;
	width: 3em;
	font-weight: bold;
	line-height: 2.1em;
	height: 42px;/*! width: 15em; */
	padding: 5px;
	-webkit-box-sizing: border-box;
	vertical-align: middle;
	border: 1px solid #D8D8D8;
}
header .h_right li.search .searchbox input,
header .h_right li.search .searchbox .searchbtn input {
	 font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	/*font-family:  "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-mono", "monospace", sans-serif;*/
	-webkit-text-size-adjust: 100%;
	font-size: 16px;
	}

@media screen and (max-width: 640px) {
	header .ttl_blk,
	header {
		padding: 0;
	}
	header #ttl_logo {
		padding: 20px;
	}
	header #ttl_logo img {
		width: 110px;
		height: auto;
	}
	header .ttl_blk {
		background: #FFF;
		height: 65px;
		position: fixed;
		top: 0;
		z-index: 100;
		border-bottom: 1px solid #DDD;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
	/* ナビボタン*/
	#sp_nav_btn {
		width: 65px;
		height: 65px;
		display: block;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		padding: 15px 20px;
    	z-index: 1;
		background: #F97305 url(../images/_sp/btn_gnav_sp.png) center  no-repeat;
		background-size: 32px 40px,100% 100%;
		position: absolute;
		top: 0;
		right: 0;
	}
}

/*----------------------------------------------
	gnav
---------------------------------------------*/
#gnav {
	--primary: #FFF1C9;
	background: #FFF1C9;
	border-top: 1px solid #F7E3B0;

	border-bottom: 1px solid #F7E3B0;
}
	#gnav #gnav_list ul.view_sp{
		display: none;
	}

	#gnav #gnav_list ul a[href="#"] {
		cursor: default;
	}

	#gnav .wrap {
		display: table;
	}

	#gnav .wrap ul {
		display: table-row;
	}

	#gnav #gnav_list ul:not(.sub-menu) {
		font-size: 0;
		background: url(../images/_bk/pc_nav_bg.png) no-repeat;
		height: 60px;
	}

	#gnav #gnav_list ul.sub-menu {
		display: none;
		background: #FFF1C9;
		background: var(--primary);
	}

	#gnav #gnav_list li.menu-item-has-children:hover > ul {
		display: table;
		z-index: 10;
		position: relative;
	}

	#gnav #gnav_list li {
		display: inline-block;
		width: 200px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		font-size:16px;
		height: 60px;
	}
	#gnav #gnav_list li a {
		display: block;
		height: 40px;
		text-align: center;
		padding: 18px 0 2px 0;
		font-weight: bold;
		color: #333;
		text-decoration: none;
		-webkit-transition: background .2s linear;
    	-moz-transition: background .2s linear;
    	-o-transition: background .2s linear;
	}
	#gnav #gnav_list li a:hover,
	#gnav #gnav_list li.current_page_item:not(.sub-menu-item) > a,
	#gnav #gnav_list li.current-page-ancestor > a,
	#gnav #gnav_list li.current-menu-parent {
		background: #FCC956;
	}

	/* ドロップダウン */
	#gnav #gnav_list li.level01 {
		position: relative;
		display: inline-block !important;
	}
	#gnav #gnav_list li.level01 ul {
	  list-style: none;
	  position: absolute;
	  z-index: 9999;
	  top: 100%;
	  left: 0;
	  margin: 0;
	  padding: 0;
	}
	#gnav #gnav_list li ul.dropmenu li {
	  overflow: hidden;
	  height: 0;
	  -webkit-transition: .2s;
	  -o-transition: .2s;
	  transition: .2s;
	}
	#gnav #gnav_list li.level01:hover ul.dropmenu li {
	  overflow: visible;
	  height: auto;
	}
	#gnav #gnav_list li.level01:hover ul.dropmenu li a {
		display: block;
		background: #FCC956;
		padding: 8px 12px;
		border-top: 1px solid #FFF;
		text-align: left;
	}
	#gnav #gnav_list li.level01:hover ul.dropmenu li a:hover {
		background: #FB882B;
	}



@media screen and (max-width: 640px) {
	#gnav {
		background: none;
		border: none;
	}
	#gnav #gnav_list ul{
		background: none;
		height: auto;
	}
	#gnav #gnav_list ul.view_sp{
		display: block;
	}
	#gnav #gnav_list ul.view_pc{
		display: none;
	}

	/*  ナビブロック
	------------------------------------- */
	#sp_nav_blk {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		visibility: hidden;
		opacity: 0;
		transition: visibility 0s linear 0.3s, opacity 0.3s linear;
		font-size: 15px;

	}
	
	.sp_nav_open #sp_nav_blk {
		background: rgba(51,51,51,.8);
		visibility: visible;
		opacity: 1;
		transition-delay: 0s;
		z-index: 1;
	}
	.sp_nav_open #sp_nav_blk .inner {
		width: 95%;
		margin: 100px auto 0;
	}

	/* 検索窓 */
	.sp_nav_open #sp_nav_blk .search_set {
		margin: 4px;
	}
	.sp_nav_open #sp_nav_blk .searchbox input {
		height: 45px;
		width: 80%;
		padding: 5px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		font-size: 16px;
		vertical-align: middle;
		border: 1px solid #D8D8D8;
		-webkit-appearance: button;
		border-radius: 0;
		-moz-border-radius: 0;
		-webkit-border-radius: 0;
	}
	.sp_nav_open #sp_nav_blk .searchbox .searchbtn input {
		background: #333;
		color: #FFF;
		width: 20%;
		border: none;
		font-weight: bold;
		-webkit-appearance: button;
		border-radius: 0;
		-moz-border-radius: 0;
		-webkit-border-radius: 0;
	}
	.sp_nav_open #sp_nav_blk .searchbox input,
	.sp_nav_open #sp_nav_blk .searchbox .searchbtn input {
		  font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
		/*font-family:  "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-mono", "monospace", sans-serif;*/
		-webkit-text-size-adjust: 100%;
		font-size: 16px;
	}

	/* 閉じるボタン */
	.sp_nav_open #sp_nav_blk .btn_close_top {
		width: 65px;
		height: 65px;
		display: block;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		padding: 15px 20px;
		background: #F97305 url(../images/_sp/btn_gnav_sp_close.png) center  no-repeat;
		background-size: 32px 32px,100% 100%;
		position: fixed;
		top: 0;
		right: 0;
		cursor: pointer;
	}

	.sp_nav_open #sp_nav_blk .gnav_btn_sp,
	.sp_nav_open #sp_nav_blk .inner #gnav_list {
		width: 100%;
	}
	.sp_nav_open #sp_nav_blk .gnav_btn_sp li,
	.sp_nav_open #sp_nav_blk .inner #gnav_list li {
		width: 50%;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		display: inline-block !important;
	}
	.sp_nav_open #sp_nav_blk .gnav_btn_sp li a {
		display: block;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		margin: 4px;
		padding: 16px 8px;
		text-decoration: none;
	}
		.sp_nav_open #sp_nav_blk .gnav_btn_sp li.mypage a {
			background: #333 url(../images/_icon/icon_mypage.png) 13px center no-repeat;
			background-size: 17px 20px,100% 100%;
			padding: 16px 10px 16px 40px;
			color: #FFF;
		}
		.sp_nav_open #sp_nav_blk .gnav_btn_sp li.contact a {
			background: #FFC926 url(../images/_icon/icon_contact.png) 13px center no-repeat;
			background-size: 20px 16px,100% 100%;
			padding: 16px 10px 16px 40px;
			color: #333;
		}
		.sp_nav_open #sp_nav_blk .btn_close {
			margin: 15px 4px;
		}
		.sp_nav_open #sp_nav_blk .btn_close a {
			background: #333 url(../images/_sp/btn_gnav_sp_close.png) 13px center no-repeat;
			background-size: 15px 15px,100% 100%;
			display: block;
			width: 270%;
			text-align: center;
			color: #FFF;
			padding: 16px 8px;
			-webkit-box-sizing: border-box;
			        box-sizing: border-box;
			text-decoration: none;
		}
		#gnav #gnav_list li{
			margin-bottom: 8px;
		}
		#gnav #gnav_list li a {
			background: #FFF url(../images/_icon/icon_arrow02.png) 95% center no-repeat;
			background-size: 7px 10px, 100% 100%;
			margin: 6px 4px;
			/*padding: 16px 8px;*/
			padding-left: 4px;
			text-align: left;
			font-weight: normal;
			font-size: 90%;
		}
		#gnav #gnav_list li a:hover {
			background: #FEE392 url(../images/_icon/icon_arrow02.png) 95% center no-repeat;
			background-size: 7px 10px, 100% 100%;
			margin: 6px 4px;
		}

		.sp_nav_open #sp_nav_blk .inner #gnav_list li.level01 {
			display: none !important;
		}


}
/*----------------------------------------------
	main
---------------------------------------------*/
@media screen and (max-width: 640px) {
	main {
		margin-top: 65px;
	}
}
/*----------------------------------------------
	footer
---------------------------------------------*/
footer {
	background: #F3F3F3;
}

/* f01_blk
------------------------------------- */
footer section#f01_blk {
	border-bottom: 1px solid #DDD;
	padding: 50px 0 30px;
}
footer #f01_blk .f_contact {
	background: #4F4F4F;
	padding: 12px 8px 12px;
	color: #FFF;
}
footer #f01_blk .f_contact li {
	display: table-cell !important;
	padding: 0 5px;
	vertical-align: middle;
}
footer #f01_blk .f_contact li:first-child {
	margin-right: 0;
}
footer #f01_blk .f_contact li.btn a {
	display: block;
	height: 40px;
	line-height: 40px;
	width: 140px;
	background: #FFC926;
	border: 2px solid #FFF;
	color: #333;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
	footer #f01_blk .f_contact li.btn a:hover {
		background: #F37800;
		color: #FFF;
	}
footer #f01_blk .f_contact li.text {
	line-height: 1.4;
	font-weight: bold;
	text-align: right;
	padding-right: 10px;
	border-right: 1px solid #FFF;
}
footer #f01_blk .f_contact li.tel {
	padding-left: 10px;
}
@media screen and (max-width: 640px) {
	footer section#f01_blk {
		padding: 15px 10px;
		border-bottom: none;
	}
	footer #f01_blk .contact_set {
		float: none;
	}

		footer #f01_blk .f_contact {
			width: 100%;
			-webkit-box-sizing: border-box;
			        box-sizing: border-box;
		}
			footer #f01_blk .f_contact li.text {
				display: none !important;
			}
			footer #f01_blk .f_contact li.btn,
			footer #f01_blk .f_contact li.tel {
				width: 50%;
			}
			footer #f01_blk .f_contact li.tel img,
			footer #f01_blk .f_contact li.btn a {
				width: 100%;
				height: auto;
			}
}


/* f02_blk
------------------------------------- */
footer section#f02_blk {
	padding: 30px 0 50px;
}

	/* f02_blk .list_fnav
	------------------------------------- */
	footer #f02_blk .list_fnav  {
		margin-bottom: 30px;
		float: left;
	}
	footer #f02_blk .list_fnav > li {
		width: 170px;
		display: inline-block;
		vertical-align: top;
	}
	footer #f02_blk .list_fnav li .level01 span,
	footer #f02_blk .list_fnav li .level01 a {
		background: url(../images/_icon/icon_arrow02.png) 0 center no-repeat;
		background-size: 5px 8px, 100% 100%;
		padding-left: 10px;
		text-decoration: none;
		color: #333;
	}
		footer #f02_blk .list_fnav li .level01 a:hover {
			color: #F97305;
		}

		footer #f02_blk .list_fnav > li .level01.btn_notice {
			display: none;
		}

	footer #f02_blk .list_fnav ul.level02 {
		margin-bottom: 10px;
	}
		footer #f02_blk .list_fnav ul.level02 li {
			margin-left: 1em;
		}
		footer #f02_blk .list_fnav ul.level02 li span,
		footer #f02_blk .list_fnav ul.level02 li a {
			background: url(../images/_icon/icon_arrow03.png) 0 center no-repeat;
			background-size: 5px 8px, 100% 100%;
			padding-left: 10px;
			text-decoration: none;
			color: #333;
		}
		footer #f02_blk .list_fnav ul.level02 li a:hover {
			color: #F97305;
		}

	/* f02_blk .list_fnav02
	------------------------------------- */
	footer #f02_blk .list_fnav02 li {
		display: inline-block;
	}
	footer #f02_blk .list_fnav02 li:first-child a {
		border-left: 1px solid #CCC;
	}
	footer #f02_blk .list_fnav02 li a {
		padding: 0 2em;
		display: block;
		font-size: 13px;
		text-decoration: none;
		color: #333;
		border-right: 1px solid #CCC;
	}
		footer #f02_blk .list_fnav02 li a:hover {
			color: #F97305;
		}

	footer #f02_blk .btn_notice a {
		font-size: 15px;
		background: #F37800;
		color: #FFF;
		text-decoration: none;
		padding: 6px 13px;
		font-weight: bold;
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
	}
		footer #f02_blk .btn_notice a:hover {
			background: #FFC926;
		}

	@media screen and (max-width: 640px) {
		footer section#f02_blk {
			padding: 0px 10px 15px;
			border-bottom: none;
		}
		footer #f02_blk .list_fnav {
			width: 100%;
			float: none;
		}
		footer #f02_blk .list_fnav > li {
			display: table !important;
			width: 100%;
		}
		footer #f02_blk .list_fnav > li .level01 {
			display: table-cell;
			width: 50%;
			vertical-align: top;
		}
		footer #f02_blk .list_fnav > li .level01.btn_contact {
			display: none;
		}

		footer #f02_blk .list_fnav > li .level01 a {
			display: block !important;
			width: 100%;
			background: #FFF url(../images/_icon/icon_arrow02.png) 95% center no-repeat;
			background-size: 6px 9px, 100% 100%;
			padding: 0 15px;
			-webkit-box-sizing: border-box;
			        box-sizing: border-box;
			border-top: 1px solid #CCC;
			border-left: 1px solid #CCC;
			height: 50px;
			line-height: 50px;
		}
		footer #f02_blk .list_fnav > li .level01.btn_notice {
			display: table-cell;
		}
		footer #f02_blk .list_fnav > li .level01.btn_notice a {
			background: #F97305 url(../images/_icon/icon_arrow01.png) 95% center no-repeat;
			background-size: 6px 9px, 100% 100%;
			color: #FFF;
		}
		footer #f02_blk .list_fnav > li .level01.even a {
			border-right: 1px solid #CCC;
		}
		footer #f02_blk .list_fnav > li .level01.last a {
			border-bottom: 1px solid #CCC;
		}

		footer #f02_blk .list_fnav ul.level02 {
			display: none;
		}

		footer #f02_blk .list_fnav02 {
			float: none;
		}
		footer #f02_blk .list_fnav02 li a,
		footer #f02_blk .list_fnav02 li {
			display: block;
			width: 100%;
		}
		footer #f02_blk .list_fnav02 li a {
			background: #FFF url(../images/_icon/icon_arrow02.png) 95% center no-repeat;
			background-size: 6px 9px, 100% 100%;
			padding: 10px 15px;
			-webkit-box-sizing: border-box;
			        box-sizing: border-box;
			border: 1px solid #CCC;
			border-bottom: none;
			font-size: 14px;
		}
		footer #f02_blk .list_fnav02 li:last-child a {
			border-bottom: 1px solid #CCC;
		}
		footer #f02_blk ul.list_fnav a.view_pc{
			display: none !important;
		}

	}



footer section#copy {
	background: #5D5D5D;
	color: #FFF;
	padding: 15px 0;
	text-align: center;
}


/*----------------------------------------------
	responsive
---------------------------------------------*/

@media screen and (max-width: 640px){

}