﻿@charset "UTF-8";
/******************** CSS RESET ********************/
*, *::before, *::after {
	box-sizing: border-box;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
address {
	font-style: normal;
}
input:not([type="radio"]):not([type="checkbox"]), button, textarea {
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
}
input[type="radio"]{
	margin-top: 0;
	padding-top: 0;
}
input,
label{
	vertical-align: middle;
}
legend{
	width: 100%;
}
/******************** 共通設定 ********************/
body {
	font-family: arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: #333;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-overflow-scrolling: touch;
}
	@media print, screen and (min-width: 769px) and (max-width: 1000px) {
		body{
			width: 1000px;
		}
	}
	@media (min-width: 769px) {
		body{
			position: static !important;
			width: 100% !important;
		}
	}
/**** テキスト ****/
p, li {
	margin-top: 12px;
}
.small {
	font-size: 85%;
}
/**** リンク ****/
a:link {
	text-decoration: underline;
	color: #2b3095;
}
a:visited {
	text-decoration: underline;
	color: #791e78;
}
a:hover {
	text-decoration: none;
	color: #9f0000;
}
a:active {
	text-decoration: none;
	color: #9f0000;
}
.link_white:link {
	text-decoration: underline;
	color: #fff;
}
.link_white:visited {
	text-decoration: underline;
	color: #eee;
}
.link_white:hover {
	text-decoration: underline;
	color: #ffff00;
}
.link_white:active {
	text-decoration: underline;
	color: #ffff00;
}

/**** 別ウィンドウで開く ****/
.window {
	display: inline-block;
	font-size: 62.5%;
	font-weight: normal;
	background: #e0f4ff;
	color: #333;
	border-radius: 4px;
	padding: 1px 4px;
	margin: 0 4px;
	border: 1px solid #88c9ea;
	vertical-align: text-bottom;
	word-wrap: break-word;
}
h2 .window{
	font-size:56.25%;
}
.main_naka h2 .window{
	font-size: 49%;
}
/**** 本文へ_スキップ用リンク ****/
.skip {
	position: relative;
	text-align: center;
	width: 100%;
	margin: 0;
}
.skip a {
	background-color: #fff;
	width: 1px;
	font-size: 0.1%;
	line-height: 0.1;
	position: absolute;
	top: auto;
	left: -3000px;
	z-index: 9999;
	padding: 4px 0;
}
.skip a:active, .skip a:focus {
	display: block;
	width: 100%;
	margin: 0 auto;
	font-size: 100%;
	left: 0;
	right: 0;
	top: 0;
	line-height: 1.5;
}
.skip_sp{
	display: none;
}
@media only screen and (max-width: 768px){
	.skip_sp{
		z-index: -1;
		position: absolute;
		margin: 0;
		display: block;
	}
}
/**** フォーム ****/
#body input, #body button, #body textarea {
	background: #fff;
	border: 1px solid #999;
	font-size: 85%;
}
/* text,textarea */
#body input[type="text"], #body textarea ,#body input[type="password"] {
	font-family: arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background: #fff;
	border: 1px solid #999;
	padding: 8px 6px;
}
/* select */
#body select[size], #body select[multiple], #body select[size][multiple] {
	padding: 6px;
}
/* submit,reset,button */
#body input[type="submit"], #body input[type="reset"], #body button[type="button"], #body button {
	background: #555;
	border-radius: 4px;
	cursor: pointer;
	color: #fff;
	display: inline-block;
	text-align: center;
	padding: 6px 16px;
}
#body input[type="submit"]:hover, #body input[type="reset"]:hover, #body button[type="button"]:hover, #body button:hover {
	background: #666;
}
/**** その他 ****/
.anchor, .notit {
	display: block;
	height: 1px;
	margin-top: -1px;
}
.date {
	font-size: 85%;
	color: #555;
	display: inline-block;
	margin-left: 12px;
}
.noscript {
	font-size: 85%;
	color: #a90000;
}
.none {
	display: none;
}
/******************** レイアウトCSS ********************/
.design{
	clear: both;
}

/********************** ヘッダー **********************/
.main_header {
	position: relative;
	width: 100%;
}
	@media only screen and (max-width: 768px) {
		.main_header{
			overflow: hidden;
			margin-bottom: -4px;
		}
	}
/**** ヘッダー上段リンク ****/
.h_top_wrap {
	background: #efefef;
	border-top: 3px solid #717171;
	padding: 0;
	letter-spacing: 0;
}
.h_top {
	max-width: 1224px;
	width: 100%;
	margin: 0 auto;
	padding: 6px 12px;
	display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
}
.h_shien{
	display: flex;
	align-items: center;
	margin-left: auto;
}
	@media only screen and (max-width: 768px) {
		.h_top{
			display: none;
		}
	}
/* メインサイトへ戻る */
.h_top .mainsite{
	font-size: 87.5%;
	position: relative;
	padding-left: 14px;
	margin: 0 auto 0 0;
}
.h_top .mainsite::before{
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -4.5px;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	height: 8px;
	width: 8px;
	transform: rotate(-45deg);
}
/* サイトマップ */
.h_top .sitemap{
	padding: 0;
	margin: 0 0 0 16px;
}
.h_top .sitemap a{
	display: inline-block;
	background: #333;
	border-radius: 4px;
	color: #fff;
	text-decoration: none;
	font-size: 87.5%;
	padding: 0 6px;
	letter-spacing: 0;
}
/* 言語選択 */
.language{
	margin: 0 0 0 16px;
	position: relative;
	font-size: 87.5%;
	z-index: 10;
}
.lang_btn{
	margin: 0;
}
.lang_btn a{
	background: #fff;
	display: inline-block;
	border-radius: 4px;
	text-decoration: none;
	padding: 1px 50px 1px 10px;
	letter-spacing: 0;
	transition: all 0.2s;
	position: relative;
}
.lang_btn a::before{
	content: '';
	position: absolute;
	right: 6px;
	top: 50%;
	margin-top: -2px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 6px 0 6px;
	border-color: #888 transparent transparent transparent;
}
.lang_btn a::after{
	content: '';
    position: absolute;
    right: 23px;
    top: 0;
    background: #ccc;
    height: 100%;
    width: 1px;
}
.lang_list{
	background: #fff;
	border: 1px solid #ccc;
	border-bottom: 0;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	z-index: 100;
	display: none;
	border-radius: 0 0 4px 4px;
}
.lang_list li{
	border-bottom: 1px solid #ccc;
	font-size: 85.6%;
	padding: 0;
	margin: 0;
}
.lang_list li a{
	display: inline-block;
	padding: 4px 10px;
	width: 100%;
	border: none;
}
.lang_list li:last-child{
	border-radius: 0 0 4px 4px;
}
/* フォントサイズ */
.font_size{
	margin: 0 0 0 16px;
}
.font_size,
.font_list{
	display: flex;
	align-items: center;
	letter-spacing: 0;
}
.font_tit {
	padding: 0;
	margin: 0 6px 0 0;
}
.font_list{
	font-size: 87.5%;
	border-radius: 4px;
}
.font_list li {
	padding: 0;
	margin: 0;
}
.font_list li:last-child{
	border-left: 1px solid #efefef;
}
.font_list li:last-child a{
	background: #333;
	color: #fff;
	 border-radius: 0 2px 2px 0;
}
.font_list li a{
	background: #fff;
	display: inline-block;
	text-decoration: none;
	padding: 3px 9px;
}
/* 検索ボックス */
.h_top .src_box {
	width: 230px;
	margin: 6px 0  6px 16px;
}
.src_box .q {
	float: left;
	width: calc(100% - 57px) !important;
	margin: 0;
	height: 26px !important;
	padding: 0 6px!important;
	border: none!important;
	border-radius: 4px 0 0 4px !important;
	border-right: none;
}
#sidr .src_box .q {
	border: 1px solid #ccc !important;
	border-right: 0 !important;
}
.h_top .src_box #search_button,
.src_box #search_button_sp {
	width: 57px;
	min-height: 26px;
	padding: 0;
	margin: 0;
	background: #333 url(img/icon_search.png) no-repeat left 5px center;
	background-size: 14px auto;
	color: #fff;
	font-size: 86.5%;
	cursor: pointer;
	border-left: none;
	white-space: normal;
	border-radius: 0 4px 4px 0;
	border: 0;
	padding: 0 0 0 13px;
}
.h_top .src_box #search_button:hover,
.src_box #search_button_sp:hover{
	background: #444 url(img/icon_search.png) no-repeat left 5px center;
	background-size: 14px auto;
}
	@media only screen and (max-width: 768px) {
		.h_main .src_box{
			display: none;
		}
		.src_box .q{
			width: calc(100% - 54px) !important;
		}
		.src_box #search_button_sp{
			width: 54px;
		}
	}

/**** ヘッダーメイン ****/
.head_in {
	max-width: 1224px;
	width: 100%;
	margin: 0 auto;
	padding: 0 12px;
}
/**** スマホメニューに関するスタイル ****/
#menu_button{
	float: right;
	margin: -64px 10px 0;
	display: inline-block;
}
#menu_button a{
	position: relative;
	background: #333;
	color: #fff;
	font-size: 70%;
	display: inline-block;
	text-decoration: none;
	letter-spacing: -0.5px;
	text-align: center;
	padding-top: 34px;
	min-height: 54px;
	width: 54px;
	z-index: 2;
}
#menu_button a .icon_ham{
	position: absolute;
	top: 10px;
	left: 50%;
	margin-left: -15px;
	display: inline-block;
	background: #fff;
	height: 3px;
	width: 30px;
}
#menu_button a .icon_ham:before,
#menu_button a .icon_ham:after{
	content: '';
	position: absolute;
	left: 50%;
	margin-left: -15px;
	background: #fff;
	height: 3px;
	width: 30px;
}
#menu_button a .icon_ham:before{
	top: 8px;
}
#menu_button a .icon_ham:after{
	top: 16px;
}
	@media print, screen and (min-width: 769px) {
		#menu_button,
		#lan_drop{
			display: none !important;
		}
	}
#sidr {
	position: fixed;
	top: 0;
	height: 100%;
	z-index: 9999;
	width: 260px;
	overflow-x: hidden;
	overflow-y: auto;
	font-size: 100%;
	background: #fff;
	border-left: 4px solid #333;
	box-sizing: border-box;
	color: #333;
}
	@media print, screen and (min-width: 769px) {
		#sidr {
			display: none !important;
		}
	}
#sidr .sidr-inner {
  padding: 0 0 15px;
}
.sidr.right {
  left: auto;
  right: -260px;
}
#sidr .close{
	text-align: left;
	position: relative;
	padding: 0;
	margin: 0;
}
#sidr .close a{
	background: #333;
	display: inline-block;
	color: #fff;
	padding: 14px 10px 14px 32px;
	position: relative;
	width: 100%;
}
#sidr .close a:before,
#sidr .close a:after{
	content: '';
	background: #fff;
	height: 2px;
	width: 16px;
	position: absolute;
	left: 10px;
	top: 50%;
	margin-top: 0;
	transform: rotate(-45deg);
}
#sidr .close a:after{
	transform: rotate(45deg);
}
#sidr .src_box{
	padding: 10px;
}
#sidr ul {
	display: block;
	border-bottom: 3px solid #333;
	margin: 0;
	padding: 0;
}
#sidr ul li {
	background: none;
	border-bottom: 1px solid #333;
	display: block;
	text-align: left;
	margin: 0;
	padding: 0;
	position: relative;
}
#sidr ul li::before{
	content: '';
	position: absolute;
	right: 12px;
	top: 50%;
	margin-top: -4px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #999;
	border-right: 1px solid #999;
	transform: rotate(45deg);
}
#sidr ul li:last-child{
	border-bottom: none;
}
#sidr ul li a{
	display: inline-block;
	padding: 12px 24px 12px 12px;
	text-decoration: none;
	width: 100%;
}
#sidr ul li.mainsite{
	background: #efefef;
	border-top: 2px solid #333;
	font-size: 85%;
}
#sidr ul.sidr_navi_sub li{
	font-size: 85.6%;
	width: 100%;
}
#sidr ul.sidr_navi_sub li:last-child{
	border-bottom: 0;
}
/**** 支援機能 ****/
#sidr .side_shien{
	background: #efefef;
	border-bottom: 2px solid #333;
}
#sidr ul.sidr_navi02{
	border-bottom: 0;
	padding: 10px 10px 4px;
	display: flex;
		flex-wrap: wrap;
}
#sidr ul.sidr_navi02 li{
	border: 0;
	margin-right: 1.3%;
	margin-bottom: 6px;
	width: 32%;
}
#sidr ul.sidr_navi02 li:nth-of-type(3n){
	margin-right: 0;
}
#sidr ul.sidr_navi02 li::before{
	display: none;
}
#sidr ul.sidr_navi02 li a{
	display: inline-block;
	background: #fff;
	border: 1px solid #bbb;
	border-radius: 4px;
	font-size: 70%;
	letter-spacing: -0.01em;
	padding: 6px 2px;
	text-align: center;
}
/*********** フッター ***********/
.main_footer {
	width: 100%;
}
	@media only screen and (max-width: 768px) {
		.main_footer {
			min-width: 100%;
		}
	}
/**** マイページのスタイル ****/
.online_strage_a {
	padding-bottom: 24px;
}
.online_strage_a .mypage {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 0 12px;
}
.online_strage_a .mypage_h2_wrapper {
	background-color: #88c9ea;
	padding-left: 16px;
}
.online_strage_a .mypage_title {
	float: left;
	color: #fff;
	margin: 0;
	padding: 0;
}
.online_strage_a .mypage_h2_wrapper p {
	float: right;
}
.online_strage_a .mypage_contents {
	background-color: #e8f4f9;
	padding: 4px 16px 16px;
}
.online_strage_a .mypage_list li {
	display: inline-block;
	font-size: 85%;
}
.online_strage_a .mypage_list li p.online_strage_title {
	background: #fff;
	border: 1px solid #ccc;
	padding: 2px 8px;
	margin: 0;
	border-radius: 4px;
}
.online_strage_a .online_strage button {
	background: #fff;
	color: #333;
	font-size: 68.75%;
	padding: 2px 4px;
	margin: 12px 0;
	vertical-align: bottom;
}
#body .online_strage_a .online_strage button[type="button"]{
	background: #fff;
	color: #2b3095;
	font-size: 75%;
	padding: 4px 6px;
}
#body .online_strage_a .online_strage button[type="button"]:hover{
	background: #efefef;
	color: #9f0000;
}
	@media only screen and (max-width: 768px) {
		.online_strage_a{
			padding: 0 10px 24px;
		}
		.online_strage_a .mypage{
			width: 100%;
		}
	}
/**** トップへ戻る ****/
.foot_modori {
	margin-top: 60px;
}
.foot_modori .modoriin {
	max-width: 1224px;
	width: 100%;
	margin: 0 auto;
	padding: 0 12px;
	text-align: right;
}
.foot_modori a {
	display: inline-block;
	font-size: 87.5%;
	text-decoration: none;
	background: #333;
	color: #fff;
	border-bottom: 0;
	line-height: 1;
	padding: 8px 10px 8px 34px;
	border-radius: 4px 4px 0 0;
	position: relative;
}
.foot_modori a::before{
	content: '';
    position: absolute;
    top: 50%;
    margin-top: -3px;
    left: 14px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: rotate(-45deg);
}
	@media only screen and (max-width: 768px) {
		.foot_modori .modoriin {
			padding: 0 10px;
			width: 100%;
		}
	}
/**** メインフッター ****/
.foot_wrap {
	border-top: 3px solid #333;
	background: #fff;
	padding: 0;
}
.foot {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 24px 12px;
}
.foot_id {
	padding: 0;
	margin: 0;
	width: 300px;
}
.foot .address{
	margin-top: 20px;
}
.foot .address p{
	display: inline-block;
	margin: 8px 30px 0 0;
}
.foot .address p strong{
	margin-right: 16px;
}
.foot .address a[href^="tel:"]{
	cursor: default;
	color: #222;
	text-decoration: none;
}

.foot_link{
	background: #efefef;
	border-top: 1px solid #333;
}
.foot_link ul{
	padding: 0 12px 12px;
	margin: 0 auto;
	max-width: 1200px;
}
.foot_link li {
	font-size: 87.5%;
	padding: 0;
	display: inline-block;
	position: relative;
	margin: 12px 16px 0 16px;
}
.foot_link li::after {
	display: block;
	content: '';
	position: absolute;
	top: .5em;
	left: -16px;
	width: 6px;
	height: 6px;
	border-right: 2px solid #999;
	border-bottom: 2px solid #999;
	transform: rotate(-45deg);
}
.foot_copy {
	background: #333;
	font-size: 87.5%;
	color: #fff;
	padding: 8px 12px;
	text-align: center;
}
.foot_copyin {
	padding: 0;
	width: 100%;
	margin: 0 auto;
}
	@media only screen and (max-width: 768px) {
		.foot {
			padding: 16px 12px;
			width: 100%;
		}
		.foot_id {
			width: 200px;
		}
		.foot .address p{
			font-size: 87.5%;
			display: block;
			margin-right: 0;
		}
		.foot .address p strong{
			margin-right: 10px;
		}
		.foot .address a[href^="tel:"]{
			cursor: pointer;
			color: #2b3095;
			text-decoration: underline;
		}
	}
	@media only screen and (max-width: 480px) {
		.foot_link ul{
			padding: 0;
			margin: 0;
		}
		.foot_link li {
			display: block;
			margin: 0;
			padding: 0;
			width: 100%;
		}
		.foot_link li:last-child a{
			border-bottom: 0;
		}
		.foot_link li a{
			display: inline-block;
			border-bottom: 1px solid #333;
			padding: 10px 10px 10px 24px;
			width: 100%;
		}
		.foot_link li::after{
			left: 10px;
			top: 50%;
			margin-top: -5px;
		}
		.foot_copy{
			font-size: 75%;
		}
	}
/********************** 領域共通のスタイル **********************/
.main {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 24px;
	position: relative;
	overflow: hidden;
}

/**** タイトル要素 アコーディオンのスタイル ****/
.ac_display{
	display: none;
}
@media print, screen and (min-width: 769px) {
	.ac_box{
		pointer-events: none !important;
	}
	.ac_box + div{
		display: block !important;
	}
}
@media only screen and (max-width: 768px) {
	.ac_box h2{
		padding-right: 72px;
	}
	.ac_display{
		display: inline-block;
		position: absolute;
		top: 50%;
		margin: -14px 0 0;
		right: 12px;
		font-size: 72%;
		background: #fff;
		border: 1px solid #ccc;
		z-index: 100;
	}
	.ac_display a{
		display: inline-block;
		position: relative;
		text-decoration: none;
		padding: 4px 4px 4px 18px;
	}
	.ac_display::before,
	.ac_display::after{
		content: '';
		background: #555;
		position: absolute;
		left: 4px;
		top: 11px;
		height: 2px;
		width: 10px;
	}
	.ac_display::after{
		transform: rotate(90deg);
	}
	.ac_box + div{
		display: none;
	}
	.ac_box{
		position: relative;
		width: 100%;
		overflow: hidden;
	}
	.ac_box.active p::after{
		display: none;
	}
}
/**** 分類1のスタイル ****/
@media only screen and (max-width: 768px) {
	.main .category_p01{
		padding: 0 10px;
	}
}