@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. リセット用スタイル
　02. タグ固有のスタイル指定
　03. 大枠レイアウト
　04. グローバルヘッダー
　05. トピックパス
　06. リッチフッター
　07. グローバルフッター
　99. 表示切替

******************************************************************************* */
/* ==

　01. リセット用スタイル

=============================================================================== */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display:block;
}
nav ul {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
/* change colours to suit your needs */
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
/* change colours to suit your needs */
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
/* change border colour to suit your needs */
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #ccc;
	margin:1em 0;
	padding:0;
}
input, select {
	vertical-align:middle;
}
ol, ul { list-style: none; }

/* ==

　02. タグ固有のスタイル指定

	□　各フォントサイズの指定値
 *  10 px : 84%   |  11 px : 92%
 *  12 px : 100%  |  13 px : 109%
 *  14 px : 117%  |  15 px : 125%
 *  16 px : 134%  |  17 px : 142%
 *  18 px : 150%  |  19 px : 159%
 *  20 px : 167%  |  22 px : 184%
 *  24 px : 200%  |  26 px : 217%
 *  28 px : 234%  |  30 px : 250%
 *  32 px : 267%

 	※％指定がネストする場合の指定値は別途要計算
=============================================================================== */
html { overflow-y: scroll; }
html,
body { height: 100%; }
body {
	line-height: 1.7;
	background-color: #fff;
	color: #000;
	font-family: 'Noto Sans JP', "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, Arial, Helvetica, sans-serif;
	font-weight: 500;
	font-size: 75%;
	-webkit-text-size-adjust: 100%;
}
img { vertical-align: bottom; }
a img { border: none; }
a {
	color: #000;
	text-decoration: underline;
}
a:hover { text-decoration: none; }
p {
	line-height: 1.5;
	font-size: 134%;
	font-weight: 400;
}
sup,
sub {
	margin: 0 1px;
	font-size: 84%;
	vertical-align: 2px;
}
sub { vertical-align: baseline; }
section {
	margin: 0 0 50px;
}
section section {
	margin: 30px 0 40px;
}
figcaption {
	font-weight: 400;
}
/*
section p,
section ul,
section ol {
	margin: 0 0 20px;
	font-size: 134%;
}
*/

/* ==

　03. 大枠レイアウト

=============================================================================== */
#main {
	width: 100%;
	min-width: 950px;
	margin: 0 auto;
	font-weight: normal;
}
.contents {
	max-width: 980px;
	margin: 0 auto;
	padding: 0 0 50px;
	box-sizing: border-box;
}

/* ==

　04. グローバルヘッダー

=============================================================================== */
#header {
	width: 100%;
	min-width: 950px;
	border-top: 3px solid #fa0046;
	padding: 0 20px;
	box-sizing: border-box;
	position: relative;
	z-index: 1000;
}
.header_in {
	position: relative;
	width: 950px;
	margin: 0 auto;
	padding: 23px 0 0;
	text-align: left;
	width: 100%;
	max-width: 1240px;
}
.header_logo {
	position: absolute;
	top: 10px;
	left: 0;
	line-height: 1;
	font-size: 12px;
	z-index: 1010;
}
.header_id {
	line-height: 1;
	margin: 0 0 23px 105px;
	padding: 0;
	border: none;
	font-size: 12px;
	position: relative;
	z-index: 1010;
}
.header_group {
	position: absolute;
	top: 11px;
	right: 0;
	width: 155px;
	line-height: 1;
	font-size: 12px;
	z-index: 1010;
}
.d_hover .header_group a img {
	-moz-opacity: 1.0;
	opacity: 1.0;
	filter: alpha(opacity=100);
}
.d_hover .header_group a:hover img {
	-moz-opacity: 0.6;
	opacity: 0.6;
	filter: alpha(opacity=60);
}

/* ==

　05. 固定ヘッダー

=============================================================================== */
.subHeader_overlay {
	display: none;
	position: fixed;
	top: 105px;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #000;
	z-index: 999;
}
.subHeader_overlay-show {
	display: block;
	animation: lbOverlay .2s linear both;
}
@keyframes lbOverlay {
	0% {
	  opacity: 0;
	}
	100% {
	  opacity: 0.5;
	}
}
#subHeader {
	width: 100%;
	min-width: 950px;
	height: 51px;
	position: relative;
	z-index: 1000;
}
.subHeader_wrap {
	margin-top: -20px;
	z-index: 10;
	position: relative;
	width: 100%;
	border-bottom: 1px solid #b4b4b4;
}
.funcFix .subHeader_wrap {
	margin-top: 0;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}
.subHeader_in {
	width: 100%;
	max-width: 1240px;
	min-width: 950px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	box-sizing: border-box;
}
.funcFix .subHeader_in-static {
	display: none !important;
}
.funcFix .subHeader_in-fix {
	display: flex !important;
	justify-content: space-between;
}
.subHeader_in-fix {
	display: none !important;
}
.subHeader_nav {
	display: -webkit-box;
	display: flex;
}
.funcFix .subHeader_nav {
	float: none;
}
.subHeader_nav > li {
	font-size: 133.33%;
}
.subHeader_nav > li > a {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	height: 50px;
	text-decoration: none;
	/*padding: 0 30px;*/
	padding: 0 13px;
	color: #000;
	position: relative;
}
.subHeader_nav > li > a::before {
	content: "";
	display: block;
	width: 0px;
	height: 5px;
	background: #ea5432;
	position: absolute;
	left: 0;
	bottom: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.d_hover .subHeader_nav > li > a::before {
	-webkit-transition: width 0.3s;
	transition: width 0.3s;
}
.d_hover .subHeader_nav>li:hover>a::before {
	width: 100%;
}
.subHeader_nav > li.current > a::before {
	width: 100%;
}

.subHeader_utility {
	margin-left: 20px;
	display: -webkit-box;
	display: flex;
	gap: 0 10px;
}
.subHeader_utility li a {
	width: 110px;
	height: 36px;
	line-height: 36px;
	padding: 0 15px;
	background: #ea5432 url(/common/images/rn02/header_ico_arrow01.png) right 15px center no-repeat;
	border-radius: 24px;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	text-align: left;
	display: block;
	box-sizing: border-box;
}
.subHeader_utility li.subHeader_data a {
	background-color: #7c7468;
}
@media screen and (max-width: 1100px) {
	.subHeader_nav > li {
		font-size: 117%;
	}
	.subHeader_nav > li > a {
		padding: 0 8px;
	}
}

.dropNav_in {
	width: 100%;
	min-width: 950px;
	margin: 0 auto;
}
@media screen and (max-width:1120px) {
	.dropNav_in {
		width: 100%;
		margin: 0 auto;
	}
}
.dropNav_head::after {
	content: "";
	display: inline-block;
	border-top: 6px solid #bbb;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	margin: 0 0 0 5px;
}
.dropNav_body {
	display: none;
	position: absolute;
	top: 50px;
	left: 0;
	z-index: 1000;
	width: 100%;
	min-width: 950px;
	padding: 0 30px 40px;
	background: #fff;
	border-top: 1px solid #b4b4b4;
	box-sizing: border-box;
}
.dropNav_bodyIn {
	max-width: 1240px;
	margin: 0 auto;
}
@media screen and (max-width:1120px) {
	.dropNav_body {
		left: 0;
	}
}

.dropNav_catLink {
	margin: 0 0 40px;
	padding: 30px 0 0 30px;
	font-size: 26px;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 0 20px;
	position: relative;
}
.dropNav_catLink::before {
	content: "";
	width: 7px;
	height: 70px;
	background-color: #ea5432;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
/*
.d_hover .dropNav_catLink a:hover {
	text-decoration: underline;
}
*/
.dropNav_catLink a{
	width: 87px;
	height: 32px;
	margin-top: 5px;
	padding: 5px;
	background-color: #f3f1ef;
	border: 1px solid #ccc;
	border-radius: 25px;
	font-size: 14px;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	display: block;
	position: relative;
	box-sizing: border-box;
	opacity: 1.0;
}
.dropNav_catLink a::after {
	content: "";
	width: 12px;
	height: 9px;
	margin-left: 10px;
	background: url(/common/images/rn02/header_ico_arrow02.png) left top no-repeat;
	display: inline-block;
}
.d_hover .dropNav_catLink a:hover{
	opacity: 0.7;
}

.dropNav_list01 {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 40px;
}
.dropNav_list01 li {
	width: calc((100% - 120px) / 4);
	border-bottom: 1px solid #ccc;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.dropNav_list01 li a {
	padding: 12px 30px 12px 10px;
	line-height: 1.4;
	color: #000;
	background: url(/common/images/rn02/header_ico_arrow02.png) right 10px center no-repeat;
	text-decoration: none;
	display: block;
	opacity: 1.0;
}
.d_hover .dropNav_list01 li a:hover {
	opacity: 0.7;
}

/* ==

　05. トピックパス

=============================================================================== */
#topicPath {
	width: 100%;
	min-width: 950px;
	margin-bottom: 60px;
	padding: 0 20px;
	background-color: #fff;
	box-sizing: border-box;
}
.topicPath_in {
	max-width: 1110px;
	position: relative;
	margin: 0 auto;
	text-align: left;	
}
.topicPath_in ul {
	padding: 4px 0 5px;
	display: flex;
	gap: 0 12px;
}
.topicPath_in li {
	font-size: 10px;
	color: #666;
}
.topicPath_in li a::after {
	content: "＞";
	margin-left: 10px;
	font-size: 8px;
	display: inline-block;
}
.topicPath_in a {
	color: #666;
}

/* ==

　07. 固定フッター

=============================================================================== */
#fixFooter {
	position: relative;
	width: 100%;
	min-width: 950px;
	height: 40px;
	margin: 30px 0 0;
	z-index: 900;
}
.fixFooter_wrap {
	position: relative;
	width: 100%;
	background: url(/common/images/rn02/fixfooter_bg01.png) left 24px repeat-x;
}
.fixFooter_in {
	position: relative;
	max-width: 950px;
	margin: 0 auto;
	padding: 0 20px;
	text-align: left;
	box-sizing: border-box;
}
.fixFooter_index {
	float: left;
}
.fixFooter_top {
	float: right;
	width: 155px;
	margin: 0;
	padding: 0;
}
.funcFix .fixFooter_wrap {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 900;
}
/* 回り込み解除
------------------------------------------------------------------------------- */
#fixFooter div:after,
#fixFooter ul:after { content: ''; display: block; clear: both; height: 0; }

/* ==

　08. リッチフッター

=============================================================================== */
#subFooter {
	position: relative;
	width: 100%;
	min-width: 950px;
	padding: 30px 20px 25px;
	background-color: #6e6e6e;
	box-sizing: border-box;
	z-index: 900;
}
.subFooter_in {
	position: relative;
	max-width: 950px;
	margin: 0 auto;
	padding: 5px 0 0;
	border-top: 1px solid #8a8a8a;
	color: #fff;
	text-align: left;
}
.subFooter_col {
	margin-bottom: 6px;
	padding-bottom: 4px;
	border-bottom: 1px solid #8a8a8a;
	display: flex;
}
.subFooter_head {
	width: 200px;
	margin: 0;
	font-size: 117%;
	font-weight: bold;
}
.subFooter_body {
	width: calc(100% - 210px);
	display: flex;
	flex-wrap: wrap;
	gap: 5px 17px;
}
.subFooter_col li {
	margin: 0;
	font-size: 100%;
}
.subFooter_col .subFooter_body li ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 17px;
}
.subFooter_em li,
li.subFooter_em {
	font-size: 117%;
	font-weight: bold;
}
.subFooter_col .navWrap {
	float: none;
	width: 740px;
	margin: 0;
	padding-bottom: 11px;
	vertical-align: top;
}
.subFooter_col .navWrap_tit {
	display: block;
	float: left;
	width: 122px;
	margin-right: 10px;
	padding: 1px 1px 1px 6px;
	color: #fff;
	background-color: #5a5a5a;
	white-space: normal;
}
.subFooter_col .navWrap ul {
	float: right;
	width: calc(100% - 140px);
	padding: 1px 0;
}
.subFooter_col .external {
	margin: 0;
	padding: 0 12px 0 0;
	background: url(/common/images/rn02/ico_blank01.gif) right center no-repeat;
}
.subFooter_in a {
	color: #fff;
	text-decoration: none;
}
.d_hover .subFooter_in a:hover {
	text-decoration: underline;
}
.subFooter_col-connect ul{
	display: flex;
	gap: 0 20px;
}

/* グループ動線
------------------------------------------------------------------------------- */
.subGroup {
	/*
	letter-spacing: -0.5em;
	*/
}
.subGroup_name {
	float: left;
	/*
	display: inline-block;
	color: #fff;
	letter-spacing: normal;
	vertical-align: top;
	*/
}
.subGroup_mark {
	float: left;
	/*
	display: inline-block;
	color: #fff;
	letter-spacing: normal;
	vertical-align: top;
	*/
}
.subFooter_col .subFooter_body li ul.subGroup_body {
	margin-left: 5px;
	float: left;
	display: block !important;
	/*
	display: inline-block;
	vertical-align: top;
	*/
}
/*
ul.subGroup_body::before {
	content: "（";
	display: inline-block;
}
ul.subGroup_body::after {
	content: "）";
	display: inline-block;
}
*/
.subGroup_body li {
	margin-right: 15px;
	letter-spacing: normal;
	float:left;
	/*
	display: inline-block;
	float: none;
	margin: 0 3px;
	letter-spacing: normal;
	vertical-align: top;
	*/
}
.subGroup_body li:last-child {
	margin-right: 5px;
}



/* ==

　09. グローバルフッター

=============================================================================== */
#footer {
	position: relative;
	width: 100%;
	min-width: 950px;
	margin: 0 0 0;
	padding: 24px 0 0;
	background-color: #fff;
	z-index: 4;
	box-sizing: border-box;
}
.footer_wrap {
	border-bottom: 3px solid #fa0046;
}
.footer_in {
	position: relative;
	width: 950px;
	margin: 0 auto;
	padding: 0 20px;
	text-align: left;
	/*
	box-sizing: border-box;
	*/
}

@media screen and (max-width: 990px) {
	.footer_in {
		box-sizing: border-box;
	}
}


.footer_global,
.footer_utility {
	line-height: 1.2;
	padding: 0 0 8px;
	overflow: hidden;
	display: flex;
	gap: 0 13px;
}
.footer_utility {
	margin-bottom: 10px;
	padding: 7px 0 0;
}
.footer_global li,
.footer_utility li {
	margin: 0 0 0 -7px;
	padding-left: 6px;
	border-left: 1px solid #4d4d4f;
	color: #4d4d4f;
	font-size: 12px;
}
.footer_utility li {
	font-size: 11px;
}
.footer_copy {
	display: block;
	line-height: 1.1;
	padding-bottom: 15px;
	color: #4d4d4f;
	font-size: 11px;
	text-align: right;
}
.footer_in a {
	color: #4d4d4f;
	text-decoration: none;
}
.d_hover .footer_in a:hover {
	text-decoration: underline;
}

/* ==

　99. 表示切替

=============================================================================== */
.devPc { display: block; }
.devPcTbl { display: block; }
.devTbl { display: none; }
.devTblSmp { display: none; }
.devSmp { display: none; }
img.devPc,
img.devPcTbl { display: inline; }
img.devTbl,
img.devTblSmp,
img.devSmp { display: none; }