@charset "utf-8";

/* ==================================================
Setting by CMS sheets
================================================== */
body,
input,
select,
textarea {
	font-family: "メイリオ", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
}

body {
	box-sizing: border-box;
}
optgroup,
strong,
b {
	font-weight: bold;
}

a:link,
a:active,
a:visited {
	color: #003d93;
}

a:hover,
a:focus {
	text-decoration:none;
}

body {
	font-size: 112.5%;
	-webkit-text-size-adjust:none;
	-moz-text-size-adjust:none;
	-ms-text-size-adjust:none;
	color: #222222;
}

/* Styles
================================================== */
/* text */
.txt_red {
	color: #ac2929;
	/* Setting by CMS sheets */
}

.txt_green {
	color: #315c43;
	/* Setting by CMS sheets */
}

.txt_big {
	font-size: 130%;
	/* Setting by CMS sheets */
}

.txt_small {
	font-size: 86%;
	/* Setting by CMS sheets */
}

/* bgcolor */
td.bg_yellow,
th.bg_yellow {
    color:inherit;
    background-color:#FBF3DB; /* デザインによって変更 */
}
td.bg_green,
th.bg_green {
    color:inherit;
    background-color:#EFF9E6; /* デザインによって変更 */
}
td.bg_purple,
th.bg_purple {
    color:inherit;
    background-color:#F3E9EF; /* デザインによって変更 */
}

/* ==================================================
Base-Layout
================================================== */
#tmp_wrapper {
	margin: 0 auto;
	padding: 0;
	min-width: 1280px;
	position: relative;
}
.no_javascript #tmp_wrapper{
	min-width: auto;
}

.model_pc:not(.disp_pc) #tmp_wrapper{
	min-width: auto;
}

.container:before,
.container:after {
	content: '';
	display: table;
}

.container:after {
	clear: both;
}
.container {
	max-width: 1220px;
	width: 100%;
	padding: 0 10px;
	margin: 0 auto;
}
#tmp_main {
    padding: 0 0 50px;
}

/* format カラムのレイアウトのbaseロジック
============================== */
.wrap_col_rgt_navi {
	float: right;
}
.column_rnavi .wrap_col_main {
	width: 100%;
	float: left;
}

.col_main {
	padding: 0 0 25px;
}

/* header
================================================== */
#tmp_header{
	position: relative;
	background-color: #ffffff;
	color: #222222;
	z-index: 100;
	border-bottom: 2px solid #315c43;
}
#tmp_header .header_inner{
	display: flex;
	flex-flow: row wrap;
	padding: 0;
}
#tmp_hlogo {
	flex-shrink: 0;
	width: 157px;
	margin: 20px 0 0;
}
#tmp_hlogo h1,
#tmp_hlogo p {
	display: block;
	background: #ffffff url(/shared/images/hlogo.png) no-repeat;
    background-size: 100% auto;
	width: 157px;
	height: 57px;
	color: inherit;
	line-height: 1.3;
	font-size: 1.5rem;
}
#tmp_hlogo a {
	display: block;
	width: 157px;
	height: 57px;
}
#tmp_hlogo h1 span,
#tmp_hlogo p span {
	position: relative;
	display: block;
	width: 157px;
	height: 57px;
	z-index: -1;
	overflow: hidden;
}
#tmp_hnavi_s{
	position: static;
	display: flex;
	justify-content: flex-end;
	flex: 1 auto;
	padding: 15px 0;
	text-align: left;
	z-index: 98;
}
#tmp_hnavi_s > ul{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-end;
	gap: 25px;
}
#tmp_hnavi_s > ul > li{
	list-style: none;
}
#tmp_hnavi_s > ul > li > a{
	position: relative;
	display: block;
	padding: 16px 0;
	font-size: 111.2%;
	color: inherit;
	text-decoration: none;
	z-index: 1;
}
#tmp_hnavi_s > ul > li > a > span{
	display: inline-block;
}
#tmp_hnavi_s > ul > li > a > span:hover {
	text-decoration: underline;
	text-underline-offset: 6px;
}
/* mmenu */
#tmp_hnavi_s > ul > li#tmp_hnavi_mmenu > a {
	width: 120px;
	text-align: center;
	border: 2px solid transparent;
}
#tmp_hnavi_s > ul > li#tmp_hnavi_mmenu > a > span{
	padding-left: 28px;
	background: #ffffff url(/shared/images/icon/navi_ic_setting.png) no-repeat;
	background-position: 0 6px;
}
/* rmenu */
#tmp_hnavi_s > ul > li#tmp_hnavi_rmenu > a {
	width: 210px;
	text-align: center;
	border: 2px solid transparent;
}
#tmp_hnavi_s > ul > li#tmp_hnavi_rmenu > a > span{
	padding-left: 28px;
	background: #ffffff url(/shared/images/icon/navi_ic_foreign.png) no-repeat;
	background-position: 0 6px;
}
#tmp_hnavi_s > ul > li#tmp_hnavi_rmenu span.txt > span > br,
#tmp_hnavi_s > ul > li#tmp_hnavi_rmenu span.txt > br{
	display: none;
}
/* active */
#tmp_hnavi_s > ul > li#tmp_hnavi_mmenu > a.active,
#tmp_hnavi_s > ul > li#tmp_hnavi_rmenu > a.active {
	background-color: #ffffff;
	font-size: 111.111%;
	color: #222222;
	border: 2px solid #256a32;
	border-radius: 5px;
}
#tmp_hnavi_s > ul > li#tmp_hnavi_mmenu > a.active > span,
#tmp_hnavi_s > ul > li#tmp_hnavi_rmenu > a.active > span {
	background-image: url(/shared/images/icon/navi_ic_close.png);
	background-position: 0 8px;
}

/* mmenu
================================================== */
#tmp_sma_mmenu .setting_list{
	display: flex;
	flex-flow: row wrap;
	margin: 0 -15px;
	gap: 16px 0;
}
#tmp_sma_mmenu .setting_list li{
	padding: 0 15px;
	width: 100%;
	line-height: 1.3;
	list-style: none;
}
#tmp_sma_mmenu .setting_list a{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 10px 10px 8px 24px;
	background-color: #ffffff;
	border: 1px solid #c1da06;
	height: 100%;
	min-height: 80px;
	color: #222222;
	text-decoration: none;
}
#tmp_sma_mmenu .setting_list a:hover::before,
#tmp_sma_mmenu .setting_list a:focus::before {
	content: "";
	position: absolute;
	top: -1px;
	bottom: -1px;
	left: -1px;
	right: -1px;
	border: 2px solid #256a32;
}
#tmp_sma_mmenu .setting_list a:hover,
#tmp_sma_mmenu .setting_list a:focus {
	text-decoration: underline;
}
#tmp_sma_mmenu .setting_list a > span{
	display: inline-block;
	padding: 4px 0 4px 32px;
	background-repeat: no-repeat;
	background-position: 0 6px;
	min-height: 26px;
}
#tmp_sma_mmenu .setting_fsize span{
	background-image: url(/shared/images/icon/navi_ic_font.png);
	background-size: 23px auto;
}

/* rmenu
================================================== */
#tmp_header #tmp_sma_rmenu .menu_inner{
	padding-bottom: 33px;
}
#tmp_sma_rmenu .foreign_main{
	margin: 0 -15px;
}
#tmp_sma_rmenu .language_list li{
	float: left;
	margin-bottom: 30px;
	width: 33.33%;
	padding: 0 15px;
	list-style: none;
}
#tmp_sma_rmenu .language_list li.lang_ja_bk_link {
	width: 100%;
}
#tmp_sma_rmenu .language_list a{
	display: block;
	position: relative;
	padding: 27px 30px 28px 51px;
	background: #ffffff url(/shared/images/icon/navi_ic_arrow.png) no-repeat 27px 30px;
	background-size: 20px auto;
	height: 100%;
	border: 1px solid #c1da06;
	color: #222222;
	letter-spacing: 0.05em;
	word-break: break-word;
	text-decoration: none;
}
#tmp_sma_rmenu .language_list a:hover::before,
#tmp_sma_rmenu .language_list a:focus::before {
	content: "";
	position: absolute;
	top: -1px;
	bottom: -1px;
	left: -1px;
	right: -1px;
	border: 2px solid #256a32;
}
#tmp_sma_rmenu .language_list a:hover,
#tmp_sma_rmenu .language_list a:focus {
	text-decoration: underline;
}

/* spmenu_open
================================================== */
.spmenu_open {
    position: relative;
    background-color: #ffffff;
    width: 100%;
    min-height: 100%;
    color: #222222;
    z-index: 101;
}
.spmenu_open:before {
	content: '';
    min-height: 100%;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    background-color: rgba(34, 34, 34, 0.5);
	color: #222222;
}
.spmenu_open.menu_fsearch:before,
.spmenu_open.menu_main:before {
	content: none;
}
/* sma menu */
#tmp_header_wrap .wrap_sma_sch {
	position: absolute;
	top: calc(100% + 2px);
	margin: 0 auto;
	left: 0;
	right: 0;
	background-color: #ffffff;
	overflow-y: auto;
	width: 1200px;
	color: #222222;
	text-align: left;
	z-index: 102;
}
#tmp_header_wrap .menu_wrapper{
	overflow: hidden;
	position: relative;
	z-index: 1;
}
#tmp_header_wrap .menu_inner{
	padding: 40px;
}
/* close btn */
#tmp_header_wrap .close_btn{
	display: none;
}

/* footer
================================================== */
#tmp_footer {
	position: relative;
	padding-top: 48px;
	color: inherit;
	overflow: hidden;
	z-index: 1;
}
#tmp_footer .footer_wrapper{
	background-color: #ffffff;
	border-top: 1px solid #315c43;
	color: #222222;
}
#tmp_footer .footer_inner{
	position: relative;
	padding: 30px 0;
}
#tmp_footer .pnavi{
	position: absolute;
	top: -40px;
	right: 0;
	z-index: 1;
}
#tmp_footer .pnavi a{
	position: relative;
	display: block;
	margin: 0 auto;
	background: transparent url(/shared/images/footer_pnavi_back.png) no-repeat;
	padding: 35px 0 0;
	width: 72px;
	height: 72px;
	font-size: 77.8%;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
}
#tmp_footer .pnavi a:before{
	content: '';
	position: absolute;
	top: 16px;
    left: 50%;
	transform: translateX(-50%);
	margin: 0 auto;
	background: transparent url(/shared/images/icon/footer_ic_pnavi.png) no-repeat;
	background-size: 100% auto;
	width: 18px;
	height: 21px;
	z-index: 1;
}
#tmp_footer .pnavi a:hover {
	text-decoration: underline;
}
#tmp_footer .pnavi.pnavi_fixed {
	position: fixed;
	bottom: 10px;
	top: auto;
}

/* footer contents */
#tmp_footer .footer_contact{
	word-break: break-word;
}
#tmp_footer .footer_head{
	min-width: 180px;
	font-size:  133.35%;
	font-weight: bold;
}
#tmp_footer .footer_address{
	font-size: 100%;
	line-height: 1.7;
	letter-spacing: 0.015em;
	padding-top: 20px;
}
#tmp_footer .footer_address address{
	font-style: normal;
}
#tmp_footer .footer_address span{
	display: block;
}

/* footer copyright */
#tmp_footer .copyright{
	padding: 9px 26px 10px;
	background-color: #315c43;
	font-size: 88.89%;
	line-height: 1.5;
	color: #ffffff;
	text-align: center;
	letter-spacing: 0.03em;
}

/* commons
================================================== */
/* show & hide */
.show_sp{
	display: none;
}
/* button default */
.btn_default a{
	display: inline-block;
	padding: 3px 0 3px 23px;
	background: transparent url(/shared/site_rn2025/images/icon/arrow_link14.png) no-repeat 0 8px;
	font-size: 77.8%;
	color: inherit;
	text-decoration: none;
}

/* setting hover
================================================== */

/* pankuzu
================================================== */
#tmp_pankuzu {
	font-size:77.8%;
	margin-top: 24px;
	line-height: 1.6;
}

/* ==================================================
CMS-parts
================================================== */
/* col2
================================================== */
/* col2_cms */
table.col2 {
	width: 99%;
	border-collapse: collapse;
	border-spacing: 0;
}
table.col2 td.col2L,
table.col2 td.col2R {
	width: 50%;
	padding: 0;
	vertical-align: top;
	text-align: left;
}

table.col2 td.col2L {
	border-right: 20px solid #FFFFFF;
}

/* col2_pub */
div.col2 {
	width: 100%;
}
div.col2 div.col2L {
	display: table;
	width: 49.2%;
	margin-right: 1.6%;
	float: left;
}
div.col2 div.col2R {
	display: table;
	width: 49.2%;
	float: left;
}

/* nestcol2 */
table.col2 table.col2 td.col2L {
	padding: 0;
}
div.col2 div.col2 div.col2L {
	width: 47.5%;
	margin-right: 4%;
}
div.col2 div.col2 div.col2R {
	width: 47.5%;
}

/* fixed_col2 */
div.fixed_col2 {
	width: 100%;
}

div.fixed_col2 div.fixed_col2L {
	display: table;
	width: 48.5%;
	margin-right: 2%;
	float: left;
}
div.fixed_col2 div.fixed_col2R {
	display: table;
	width: 48.5%;
	float: right;
}


/* col3
================================================== */
table.col3 {
	width: 99%;
	border-collapse: collapse;
	border-spacing: 0;
}

table.col3 td.col3L,
table.col3 td.col3M,
table.col3 td.col3R {
	width: 33.33%;
	padding: 0;
	vertical-align: top;
	text-align: left;
}

table.col3 td.col3L,
table.col3 td.col3M {
	border-right: 20px solid #FFFFFF;
}

div.col3 {
	width: 100%;
}

div.col3 div.col3L,
div.col3 div.col3M {
	display: table;
	width: 32.2%;
	margin-right: 1.7%;
	float: left;
}

div.col3 div.col3R {
	display: table;
	width: 32.2%;
	float: left;
}

/* Scroll Table
================================================== */
.scroll_table {
	overflow-x:auto;
	margin-bottom:40px;
	padding:42px 11px 24px;
	background:#F5F5F5 url(/shared/images/icon/scroll_table_icon.png) right 9px no-repeat;
	background-size:81px 16px;
}
.scroll_table {
	overflow-x:scroll;
}
.scroll_table_switch {
	text-align:right;
	margin:32px 0 19px;
	line-height:1.2;
}
.scroll_table_switch a {
	border:1px solid #d5d5d4;
	color:#222222;
	display:inline-block;
	padding: 6px 8px 6px 67px;
	text-decoration:none;
	background:#FFFFFF url(/shared/images/icon/scroll_table_ex.png) 10px center no-repeat;
	background-size:50px 22px;
	min-width:9em;
	text-align:center;
}
.scroll_table_switch a.scroll {
	background: #FFFFFF url(/shared/images/icon/scroll_table_df.png) 9px center no-repeat;
	background-size:50px 22px;
}
.scroll_table::-webkit-scrollbar{
 height: 5px;
}
.scroll_table::-webkit-scrollbar-track{
 background: #F1F1F1;
}
.scroll_table::-webkit-scrollbar-thumb {
 background: #BCBCBC;
}

/* ==================================================
accessibility
================================================== */

/* model_change
================================================== */
.wrap_mc_pc,
.wrap_mc_sp {
	display: none;
}

.disp_pc .wrap_mc_sp,
.disp_pc .wrap_mc_sp #tmp_switch_sp_style {
	display: block;
	position: relative;
	z-index: 101;
}
.disp_pc.model_sp #tmp_wrapper {
	min-width: 1220px;
}
.disp_pc.model_sp .container {
    max-width: 1220px;
}
.wrap_mc_sp #tmp_switch_sp_style{
	font-size:2rem;
	text-decoration: none;
	color: #ffffff;
	background-color: #bc1d71;
	padding:10px;
	text-align: center;
}
#tmp_sma_menu{
	display: none;
}

/* ==================================================
accessibility style change:color
================================================== */
/* change_color commons
================================================== */
.color_blue #tmp_wrapper,
.color_blue #tmp_wrapper *,
.color_yellow #tmp_wrapper,
.color_yellow #tmp_wrapper *,
.color_black #tmp_wrapper,
.color_black #tmp_wrapper * {
	background-image: none !important;
	list-style-image: none !important;
}
.color_blue #tmp_wrapper span,
.color_yellow #tmp_wrapper span,
.color_black #tmp_wrapper span {
	z-index: auto !important;
}
.color_blue #tmp_event_cal_cnt .calendar .today,
.color_yellow #tmp_event_cal_cnt .calendar .today,
.color_black #tmp_event_cal_cnt .calendar .today {
	background-color: transparent !important;
}
.color_blue #tmp_wrap_main #tmp_cate_ttl h1,
.color_yellow #tmp_wrap_main #tmp_cate_ttl h1,
.color_black #tmp_wrap_main #tmp_cate_ttl h1 {
	padding: 0 !important;
	border: none !important;
}
.color_blue .box_thumbnail_txt::before,
.color_yellow .box_thumbnail_txt::before,
.color_black .box_thumbnail_txt::before{
	display: none;
}

/* headding */
.color_blue #tmp_wrap_main h1,
.color_blue #tmp_wrap_main h2,
.color_blue #tmp_wrap_main h3,
.color_blue #tmp_wrap_main h4,
.color_blue #tmp_wrap_main h5,
.color_blue #tmp_wrap_main h6,
.color_yellow #tmp_wrap_main h1,
.color_yellow #tmp_wrap_main h2,
.color_yellow #tmp_wrap_main h3,
.color_yellow #tmp_wrap_main h4,
.color_yellow #tmp_wrap_main h5,
.color_yellow #tmp_wrap_main h6,
.color_black #tmp_wrap_main h1,
.color_black #tmp_wrap_main h2,
.color_black #tmp_wrap_main h3,
.color_black #tmp_wrap_main h4,
.color_black #tmp_wrap_main h5,
.color_black #tmp_wrap_main h6 {
	padding: 5px !important;
	border: none !important;
}
.color_blue.format_top #tmp_wrap_main h1,
.color_blue.format_top #tmp_wrap_main h2,
.color_blue.format_top #tmp_wrap_main h3,
.color_blue.format_top #tmp_wrap_main h4,
.color_blue.format_top #tmp_wrap_main h5,
.color_blue.format_top #tmp_wrap_main h6,
.color_yellow.format_top #tmp_wrap_main h1,
.color_yellow.format_top #tmp_wrap_main h2,
.color_yellow.format_top #tmp_wrap_main h3,
.color_yellow.format_top #tmp_wrap_main h4,
.color_yellow.format_top #tmp_wrap_main h5,
.color_yellow.format_top #tmp_wrap_main h6,
.color_black.format_top #tmp_wrap_main h1,
.color_black.format_top #tmp_wrap_main h2,
.color_black.format_top #tmp_wrap_main h3,
.color_black.format_top #tmp_wrap_main h4,
.color_black.format_top #tmp_wrap_main h5,
.color_black.format_top #tmp_wrap_main h6 {
	border: none !important;
	padding: 0 !important;
}

/* icon */
.color_blue #tmp_wrap_main a.icon_pdf,
.color_blue #tmp_wrap_main a.icon_word,
.color_blue #tmp_wrap_main a.icon_excel,
.color_yellow #tmp_wrap_main a.icon_pdf,
.color_yellow #tmp_wrap_main a.icon_word,
.color_yellow #tmp_wrap_main a.icon_excel,
.color_black #tmp_wrap_main a.icon_pdf,
.color_black #tmp_wrap_main a.icon_word,
.color_black #tmp_wrap_main a.icon_excel {
	margin: 0 !important;
	padding: 0 !important;
}

/* used_bg_img */
.color_blue #tmp_wrapper .used_bg_img,
.color_yellow #tmp_wrapper .used_bg_img,
.color_black #tmp_wrapper .used_bg_img {
	width: auto !important;
	height: auto !important;
}
.color_blue #tmp_wrapper .used_bg_img a,
.color_yellow #tmp_wrapper .used_bg_img a,
.color_black #tmp_wrapper .used_bg_img a {
	width: auto !important;
	height: auto !important;
	text-decoration: underline !important;
}
.color_blue #tmp_wrapper .used_bg_img span,
.color_yellow #tmp_wrapper .used_bg_img span,
.color_black #tmp_wrapper .used_bg_img span {
	z-index: 1 !important;
	height: auto !important;
}

/* bg:blue / text:yellow / link:white
================================================== */
.color_blue #tmp_wrapper,
.color_blue #tmp_wrapper * {
	color: #FFFF00 !important;
	background-color: #00008B !important;
	border-color: #FFFF00 !important;
}

.color_blue #tmp_hnavi_s > ul > li#tmp_hnavi_mmenu > a > span,
.color_blue #tmp_hnavi_s > ul > li#tmp_hnavi_rmenu > a > span {
	padding-left: 0;
	background: none;
}
.color_blue #tmp_footer .pnavi a {
	padding: 25px 0 0;
    background: none;
	background: #00008B;
	border: 1px solid;
	border-radius: 9999px;
}
.color_blue #tmp_footer .pnavi a::before {
	content: none;
}

.color_blue #tmp_sma_mmenu .setting_list a:hover::before,
.color_blue #tmp_sma_mmenu .setting_list a:focus::before {
	content: none;
}
.color_blue #tmp_sma_rmenu .language_list a:hover::before,
.color_blue #tmp_sma_rmenu .language_list a:focus::before {
	content: none;
}

/* bg:yellow / text:black / link:blue
================================================== */
.color_yellow #tmp_wrapper,
.color_yellow #tmp_wrapper * {
	color: #000000 !important;
	background-color: #FFFF00 !important;
	border-color: #000000 !important;
}
.color_yellow #tmp_hnavi_s > ul > li#tmp_hnavi_mmenu > a > span,
.color_yellow #tmp_hnavi_s > ul > li#tmp_hnavi_rmenu > a > span {
	padding-left: 0;
	background: none;
}
.color_yellow #tmp_footer .pnavi a {
	padding: 25px 0 0;
    background: none;
	background: #FFFF00;
	border: 1px solid;
	border-radius: 9999px;
}
.color_yellow #tmp_footer .pnavi a::before {
	content: none;
}

.color_yellow #tmp_sma_mmenu .setting_list a:hover::before,
.color_yellow #tmp_sma_mmenu .setting_list a:focus::before {
	content: none;
}
.color_yellow #tmp_sma_rmenu .language_list a:hover::before,
.color_yellow #tmp_sma_rmenu .language_list a:focus::before {
	content: none;
}

/* bg:black / text:yellow / link:white
================================================== */
.color_black #tmp_wrapper,
.color_black #tmp_wrapper * {
	color: #FFFF00 !important;
	background-color: #000000 !important;
	border-color: #FFFF00 !important;
}
.color_black #tmp_hnavi_s > ul > li#tmp_hnavi_mmenu > a > span,
.color_black #tmp_hnavi_s > ul > li#tmp_hnavi_rmenu > a > span {
	padding-left: 0;
	background: none;
}
.color_black #tmp_footer .pnavi a {
	padding: 25px 0 0;
    background: none;
	background: #000000;
	border: 1px solid;
	border-radius: 9999px;
}
.color_black #tmp_footer .pnavi a::before {
	content: none;
}

.color_black #tmp_sma_mmenu .setting_list a:hover::before,
.color_black #tmp_sma_mmenu .setting_list a:focus::before {
	content: none;
}
.color_black #tmp_sma_rmenu .language_list a:hover::before,
.color_black #tmp_sma_rmenu .language_list a:focus::before {
	content: none;
}

/* ==================================================
accessibility style change:font-size
================================================== */
/* small
================================================== */
.fsize_small {
	font-size: 75% !important;
}
.fsize_small #tmp_hnavi_s > ul > li > a {
	font-size: 167% !important;
}

/* big
================================================== */
.fsize_big {
	font-size: 125% !important;
}
.fsize_big #tmp_hnavi_s > ul > li > a {
	font-size: 100% !important;
}

/* biggest(doubled)
================================================== */
.fsize_big2 {
	font-size: 175% !important;
}
.fsize_big2 #tmp_hnavi_s > ul > li > a {
	font-size: 71.3% !important;
}

/* accessibility header, footer & pattern common
================================================== */

/* ==================================================
no_javascript
================================================== */

/* ==================================================
Start font-weight
================================================== */

/* ==================================================
clearfix
================================================== */

/* ==================================================
print
================================================== */
@media print {
}

