@charset "utf-8";

/* PC/スマホ共通表示 */
.-----PC_MOBILE_COMMON_CSS_START----- {}

* {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
	-webkit-text-size-adjust: 100%;
	max-height: 999999px;
	word-wrap: break-word;
	overflow-wrap : break-word;
}
html {
	width: 100%;
	height:100%;
}

body {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
	font-size: 14px;
	line-height: 170%;
	color: #333;
	width: 100%;
	height: 100%;

}
img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}
table {
	border-collapse: collapse;
	table-layout : fixed;
}
table th, table td {
	word-wrap : break-word;
	overflow-wrap : break-word;
}

a:link,
a:visited {
	text-decoration: none;
	color: #0066CC;
}
a:hover,
a:active {
	text-decoration: underline;
	color: #FF6600;
}
.clear {
	clear: both;
}
br.pc_nowrap {
	display: none;
}
br.mobile_nowrap {
	display: inline;
}
#wrapper {
	width: 100%;
	min-width: 1080px;
}
#header {
	background-image: url(../img/header_bg.png);
	background-repeat: repeat-x;
	background-position: center top;
	height: 161px;
	width: 100%;
}
#header .wrapper {
	width: 1069px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	padding-top: 98px;
}
#header #site_name a {
	text-indent: -999999px;
	position: absolute;
	background-image: url(../img/header_logo.png);
	background-repeat: no-repeat;
	top: 20px;
	left: 0px;
	height: 53px;
	width: 604px;
	background-position: 135px top;
}
#header #site_name a:before {
	content: "";
	display: block;
	position: absolute;
	background-image: url(../img/header_mark.png);
	background-repeat: no-repeat;
	background-size: 108px auto;
	top: -6px;
	left: 0px;
	height: 63px;
	width: 119px;
	background-position: center center;
	filter: drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px rgba(255,255,255,0.6));
	
}
#header #g_nav_open_btn {
	display:none;
}

#header #g_nav {
	width: 100%;
}
#header #g_nav li {
	width: 177px;
	height: 51px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #FFF;
	float: left;
	background-color: #FFF;
	position: relative;
}
#header #g_nav li:first-child {
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #FFF;
}
#header #g_nav li a {
	box-sizing: border-box;
	width: 100%;
	height: 51px;
	display: block;
	text-align: center;
	background-color: #d9b115;
	color: #FFF;
	text-decoration: none;
	font-size: 14px;
	line-height: 100%;
	padding-top: 11px;
}
#header #g_nav li:nth-child(5) a {
	letter-spacing:-1px;
}
#header #g_nav li small {
	font-size: 11px;
	color: #FFF;
	line-height: 100%;
	position: absolute;
	top: 30px;
	width: 100%;
	text-align: center;
	pointer-events: none;
}
#header #s_nav {
	width: 372px;
	position: absolute;
	left: 655px;
	top: 39px;
}
#header #s_nav li {
	width: 114px;
	height: 25px;
	float: left;
	background-color: #FFF;
	margin-left: 15px;
}
#header #s_nav li:first-child {
	margin-left:0px;
}
#header #s_nav li a {
	box-sizing: border-box;
	width: 100%;
	height: 25px;
	display: block;
	text-align: center;
	color: #FFF;
	text-decoration: none;
	font-size: 12px;
	line-height: 25px;
	transition:0.4s;
}
#header #s_nav li a:hover {
	opacity:0.6;
}
#header #s_nav li:nth-child(1) a {
	background-color: #02A8AC;
}
#header #s_nav li:nth-child(2) a {
	background-color: #6BA516;
}
#header #s_nav li:nth-child(3){
	display:block;
}
#header #s_nav li:nth-child(3) a {
	background-color: #15B397;
}
#header #search_form .form_wrapper {
	position: absolute;
	top: 39px;
	right: 0px;
	height: 25px;
	width: 158px;
	background-color: #FFF;
}
#header #search_form .form_wrapper .textarea {
	box-sizing: border-box;
	position: absolute;
	height: 25px;
	width: 116px;
	left: 0px;
	top: 0px;
	background-color: #FFF;
	margin: 0px;
	padding: 3px;
	font-size: 13px;
	line-height: 17px;
	border: 1px solid #CCC;
}
#header #search_form .form_wrapper .btn {
	font-size: 11px;
	color: #FFF;
	text-decoration: none;
	line-height: 25px;
	height: 25px;
	width: 43px;
	margin: 0px;
	padding: 0px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	background-color: #043e91;
	text-align: center;
	position: absolute;
	top: 0px;
	right: 0px;
	cursor:pointer;
	transition:0.4s;
}
#header #search_form .form_wrapper .btn:hover {
	opacity:0.7;
}
#header #lang_btn{
	display:none;
}
#footer {
	min-width: 1080px;
	width: 100%;
	height: 338px;
	position: relative;
	background-image: url(../img/footer_bg.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	box-sizing: border-box;
	border-top-width: 20px;
	border-top-style: solid;
	border-top-color: #FFF;
	color: #FFF;
}
#footer:before {
	content: "";
	width: 100%;
	height: 318px;
	position: absolute;
	background-color: rgba(0,0,0,0.74);
	z-index: 0;
	left: 0px;
	top: 0px;
	display: block;
}
#footer .wrapper {
	width: 100%;
	height: 318px;
	position: relative;
	z-index: 1;
}
#footer address {
	position: absolute;
	font-style: normal;
	font-size: 12px;
	line-height: 155%;
	left: 65px;
	bottom: 35px;
}
#footer .sns_banner {
	position: absolute;
	font-size: 0px;
	line-height: 0px;
	text-align: right;
	bottom: 95px;
	right: 65px;
}
#footer .sns_banner li {
	display:inline-block;
	line-height:0px;
	margin-left:12px;
}
#footer .sns_banner li a {
	transition:0.4s;
}
#footer .sns_banner li a:hover {
	opacity:0.7;
}
#footer #f_nav {
	position: absolute;
	font-style: normal;
	font-size: 0;
	text-align: right;
	bottom: 55px;
	right: 65px;
}
#footer #f_nav li {
	display: inline-block;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #FFF;
	font-size: 13px;
	line-height: 100%;
}
#footer #f_nav li:first-child {
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #FFF;
}
#footer #f_nav li a {
	display: inline-block;
	padding-right: 1.3em;
	padding-left: 1.3em;
	color: #FFF;
	text-align: center;
	transition: 0.4s;
	text-decoration: none;
}
#footer #f_nav li a:hover {
	background-color: rgba(255,255,255,0.2);
	text-decoration: none;
}
#footer #copyright {
	position: absolute;
	font-style: normal;
	font-size: 10px;
	line-height: 100%;
	text-align: right;
	bottom: 35px;
	right: 65px;
}

#scroll_illust {
	height: 230px;
	width: 100%;
	position: relative;
}
#scroll_illust .bx-wrapper{
	width: 100% !important;
	height: 230px !important; /* 画像の縦サイズ */
	overflow: hidden;
	position: absolute !important;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	left: 0px;
	top: 0px;
}
#scroll_illust .bx-wrapper .bx-loading {
	display:none;
}
#scroll_illust .bx-wrapper .bx-viewport {
	width: 964px;
	margin-right: auto;
	margin-left: auto;

}
#scroll_illust .bx-wrapper .slide{
	width: 964px !important; /* 画像の横サイズ */
	margin: 0 auto !important;
	overflow: visible !important;
	height: 230px; /* 画像の縦サイズ */
	background-repeat: no-repeat;
}

#scroll_illust .slide_1 {
	background-image: url(../img/footer_scroll_bg.png);
	background-position: left center;
}
#scroll_illust .slide_2 {
	background-image: url(../img/footer_scroll_bg.png);
	background-position: right center;
}
#scroll_illust .illust {
	height: 170px;
	width: 1050px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	z-index: 1;
	background-image: url(../img/footer_illust.gif);
	background-repeat: no-repeat;
	background-position: left center;
}
#scroll_illust + #footer {
	border-top-style: none;	
}
#wrapper{
	position:relative;
}
#scroll_illust + #footer {
	border-top-style: none;	
}
#page_top {
	position: fixed;
	bottom: 50px;
	right: 35px;
	background: url(../img/page_top.png) no-repeat center center;
	height: 79px;
	width: 79px;
	color: #F0CA33;
	text-align: center;
	line-height: 1.3;
	font-size: 13px;
	text-decoration: none;
	padding-top: 20px;
	box-sizing: border-box;
	font-weight: bold;
	z-index: 10000000000;
}

.topics_log_btn {
	display: block;
	text-align: center;
	width: 270px;
	margin-top: 20px;
	margin-right: auto;
	margin-left: auto;
}
.topics_log_btn a {
	color: #F0CA33;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	padding-top: 5px;
	padding-bottom: 5px;
	width: 100%;
	display: list-item;
	transition: 0.4s;
	background-color: #000;
}
.topics_log_btn a:hover {
	color: #333;
	background-color: #F0CA33;
	
}

#scroll_monitor {
	background-color: rgba(0,0,0,0.5);
	position: fixed;
	height: 100px;
	width: 640px;
	z-index: 99999999999999999999;
	left: 0px;
	top: 0px;
	padding: 10px;
	color: #FFF;
	font-weight:bold;
	font-size: 24px;
}
.common_banner_area_01 {
	padding-bottom: 50px;
	padding-top: 10px;
}
.common_banner_area_01 ul {
	width: 100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
.common_banner_area_01 ul li {
	line-height: 0;
	margin-top: 13px;
	margin-right: 13px;
	margin-bottom: 13px;
	margin-left: 13px;
}
.common_banner_area_01 ul li a {
	transition:0.4s;
}
.common_banner_area_01 ul li a:hover {
	opacity:0.6;
}


.-----PC_MOBILE_COMMON_CSS_END----- {}

/* スマートフォン用CSS */
@media screen and (min-width: 641px) {
	
.-----MOBILE_ONLY_CSS_START----- {}


#header #g_nav li a {
	transition:0.4s;
}
#header #g_nav li a:hover {
	opacity:0.7;
}

}

/* スマートフォン用CSS */
@media screen and (max-width: 640px) {
	
.-----MOBILE_ONLY_CSS_START----- {}


body {
	font-size: 22px;
	line-height: 170%;
	width: 640px;
}

img {
	max-width:600px;
	height:auto;
}
br.pc_nowrap {
	display: inline;
}
br.mobile_nowrap {
	display: none;
}


#wrapper {
	width: 640px;
	min-width: 640px;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	position: relative;
}
#header {
	background-image: none;
	height: 94px;
	background-color: #FFF;
	position:relative;
}
#header .wrapper {
	width: 100%;
	padding-top: 0px;
	height:94px;
}
#header #site_name a {
	background-image: url(../img/sp_header_logo.png);
	background-size: 488px auto;
	top: 0px;
	left: 0px;
	height: 94px;
	width: 545px;
	background-color: #737373;
	background-position: 90px center;
}
#header #site_name a:before {
	background-size:78px auto;
	top: 4px;
	left: 6px;
	height: 90px;
	width: 100px;
}
#header #g_nav_open_btn {
	background-image: url(../img/sp_header_menu_btn.png);
	top: 0px;
	right: 0px;
	height: 94px;
	width: 95px;
	position: absolute;
	background-repeat: no-repeat;
	display: block;
	overflow: hidden;
	text-indent: -9999px;
}

#header nav {
	position: absolute;
	width: 100%;
	left: 0px;
	top: 94px;
	display: none;
	z-index:99999;
}
#header #g_nav {
	width: 100%;
}
#header #g_nav li {
	width: 100%;
	height: 78px;
	border-right-style: none;
	float: none;
	background-color: transparent;
	margin-bottom:2px;
}
#header #g_nav li:first-child {
	border-left-style: none;
}
#header #g_nav li a {
	height: 78px;
	background-color: rgba(194,156,3,0.95);
	color: #FFF;
	text-decoration: none;
	font-size: 30px;
	line-height: 78px;
	padding-top: 0;
}
#header #g_nav li:nth-child(5) a {
	letter-spacing:0px;
}
#header #g_nav li small {
	display:none;
}
#header #s_nav {
	width: 100%;
	position: relative;
	left: auto;
	top: auto;
}
#header #s_nav li {
	width: 100%;
	height: 78px;
	float: none;
	background-color: transparent;
	margin-left: 0px;
	margin-bottom:2px;
}
#header #s_nav li:first-child {
}
#header #s_nav li a {
	height: 78px;
	background-color: rgba(194,156,3,0.95);
	color: #FFF;
	text-decoration: none;
	font-size: 30px;
	line-height: 78px;
	padding-top: 0;
}
#header #s_nav li:nth-child(1) a {
	background-color: rgba(194,156,3,0.95);
}
#header #s_nav li:nth-child(2) a {
	background-color: rgba(194,156,3,0.95);
}
#header #s_nav li:nth-child(3) a {
	background-color: rgba(194,156,3,0.95);
}
#header #s_nav li:nth-child(3){
	display:none;
}

#header #search_form {
	box-sizing: border-box;
	background-color: rgba(0,0,0,0.7);
	width: 640px;
	padding: 30px;
	height:auto;
}

#header #search_form .form_wrapper {
	box-sizing: border-box;
	position: relative;
	top: auto;
	right: auto;
	height:70px;
	width: 100%;
}
#header #search_form .form_wrapper .textarea {
-webkit-appearance: none;
border-radius: 0;
	font-weight:bold;
	box-sizing: border-box;
	position: absolute;
	height: 70px;
	width: 480px;
	left: 0px;
	top: 0px;
	background-color: #FFF;
	margin: 0px;
	padding: 8px;
	font-size: 28px;
	line-height: 50px;
	border: 2px solid #CCC;
}
#header #search_form .form_wrapper .btn {
-webkit-appearance: none;
border-radius: 0;
	font-size: 24px;
	color: #FFF;
	text-decoration: none;
	line-height: 70px;
	height: 70px;
	width: 100px;
	margin: 0px;
	padding: 0px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	background-color: #043e91;
	text-align: center;
	position: absolute;
	top: 0px;
	right: 0px;
	cursor:pointer;
	transition: none;
}

#header #lang_btn{
	display:block;
	position:absolute;
	bottom:0;
	right:108px;
	z-index:1000;
	height:30px;
	width:116px;
}
#lang_btn a{
	display:block;
	background:#000000;
	border-radius:3px 3px 0 0;
	text-align:center;
	color:#F5C70F;
	font-weight: bold;
	text-decoration:none;
	font-size: 16px;
	line-height:30px;
	height:30px;
	width:116px;
	box-sizing:border-box;
	transition:0.2s ease-in;
}
#lang_btn a.touch{
	background-color:#444;
}
#footer {
	min-width: 640px;
}
#footer address {
	position: static;
	font-size: 18px;
	line-height: 155%;
	left: auto;
	bottom: auto;
	text-align: center;
}
#footer .sns_banner {
	position: static;
	text-align: center;
	bottom: auto;
	right: auto;
	padding-top: 50px;
	margin-bottom: 20px;
}
#footer .sns_banner li {
	margin-left:8px;
	margin-right:8px;
}
#footer .sns_banner li a {
	transition:0.4s;
}
#footer .sns_banner li a:hover {
	opacity:0.7;
}
#footer #f_nav {
	position: static;
	text-align: center;
	bottom: auto;
	right: auto;
	margin-top: 20px;
	margin-bottom: 20px;
}
#footer #f_nav li {
	font-size: 17px;
	line-height: 100%;
}
#footer #f_nav li a {
	padding-right: 1em;
	padding-left: 1em;
}
#footer #copyright {
	position: static;
	display:block;
	font-size: 14px;
	line-height: 100%;
	text-align: center;
	bottom: auto;
	right: auto;
}


#scroll_illust {
	overflow: hidden;
}
#page_top {
	display:none;
}

.common_banner_area_01 ul li img {
	width:400px;
	height:auto;
}


.-----MOBILE_ONLY_CSS_END----- {}

	
}

/* 印刷用CSS */
@media print {
	
@page {
	size:auto;
	margin:7mm auto 7mm auto;
}

@-moz-document url-prefix() {
	@page {
		size:auto;
		margin:5mm 15mm 5mm 15mm;
	}
}
	
* {
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
	
}

#header #g_nav,
#header #s_nav,
#header #search_form,
#header #g_nav_open_btn,
#header #lang_btn,
#scroll_illust,
#page_top,
#topics,
.np,
.link_btn_01,
.page_link01,
#footer {
	display:none !important;
}

#header {
	background-image: none;
	height: auto;
	background-color:#595959;
}
#header .wrapper {
	width: 1069px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	padding-top: 98px;
	
}
#header #site_name a {
	top: 20px;
	left: 20px;
}


@supports (-ms-ime-align: auto) {
	#site_name::before {
		content:url(../img/print_header.png);
		display:block;
		top: 0px;
		left: -5px;
		position:absolute;
	}
	#page_title {
		border-bottom-style:solid;
		border-bottom-width:1px;
		border-bottom-color:#BBB;
		height: 133px;
	}
}
#header #search_form {
	display:none;
}

#page_top {
	opacity: 0;

}
.main_contents .content,
.main_contents .print_box {
	page-break-inside: avoid;
	
}

.pnw {
	page-break-inside: auto !important;
	page-break-before: auto !important;
	
}
.pbw {
	page-break-before: always !important;
	
}

h1,h2,h3,h4,h5,h6,ol,ul,li{
	page-break-inside: avoid;
}

.s_ttl_02,
.s_ttl_03{
	line-height:130%;
}


.q_and_a .detail {
	display:block !important;
}

.q_and_a .togglable {
	display:none !important;
}
	




}
