@charset "utf-8";
html {
	font-size:100%;
}
body {
	font-size:16px;
	font-family: "Axis std","メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Verdana", "ＭＳ Ｐゴシック", sans-serif;
	background:#fff;
	line-height:1.6;
	color:#333;
	padding-top:50px;
}
body, h1, h2, h3, h4, h5, h6, p, dl, dd, ul, ol, li, form, fieldset, blockquote, table, thead, tbody, tfoot, tr, td, th {
	margin:0;
	padding:0;
}
table {
	width:100%;
	border-width:0;
	border-spacing:0;
	border-collapse:collapse;
}
h1, h2, h3, h4, h5, h6, th, td, table, input, button, select, textarea, em {
	font-size:1rem;
	font-weight:normal;
	font-style:normal;
	padding:0;
	margin:0;
}
img, input, button, select, textarea {
	vertical-align:middle;
}
ul, ol {
	list-style:none;
}
img {
	width:100%;
}
a {
	text-decoration:none;
	color:#333;
}
.clear:after, .clearFix:after {
	content: ".";
	display: block;
	height:0;
	font-size:0;
	clear:both;
	visibility:hidden;
}
.clear, .clearFix {
	display: inline-block;
}
.clear {
	clear:both;
	height:0px!important;
	overflow:hidden;
}
* html .clear, * html .clearFix {
	height:0px;
}
.clear, .clearFix {
	display:block;
}
.fl {
	float:left !important;
}
.fr {
	float:right !important;
}
.cl {
	clear:both !important;
}
.al_sp {
	text-align:left !important;
}
.ar_sp {
	text-align:right !important;
}
.ac_sp {
	text-align:center !important;
}
.font_bold {
	font-weight:bold;
}
img {
	width: 100%;
}
/*margin padding*/

.mb_5 {
	margin-bottom:5px !important;
}
.mb_10 {
	margin-bottom:10px !important;
}
.mb_15 {
	margin-bottom:15px !important;
}
.mb_20 {
	margin-bottom:20px !important;
}
.mb_30 {
	margin-bottom:20px !important;
}
.mb_35 {
	margin-bottom:25px !important;
}
.mb_40 {
	margin-bottom:25px !important;
}
.mb_50 {
	margin-bottom:30px !important;
}
.mb_60 {
	margin-bottom:30px !important;
}
.mb_70 {
	margin-bottom:40px !important;
}
.mb_80 {
	margin-bottom:40px !important;
}
.mb_90 {
	margin-bottom:50px !important;
}
.mb_100 {
	margin-bottom:50px !important;
}
.mb_180 {
	margin-bottom:120px !important;
}
.pt_10 {
	padding-top:10px!important;
}
.pt_20 {
	padding-top:20px!important;
}
.pt_30 {
	padding-top:25px!important;
}
.pt_40 {
	padding-top:30px!important;
}
.pt_50 {
	padding-top:40px!important;
}
.pt_60 {
	padding-top:40px!important;
}
.pt_80 {
	padding-top:50px!important;
}
.mb10sp {
	margin-bottom:10px!important;
}
.mb20sp {
	margin-bottom:20px!important;
}
.mb30sp {
	margin-bottom:30px!important;
}
.mb40sp {
	margin-bottom:40px!important;
}

.txt_note {
	color: #7D7D7D;
	font-size: 0.7rem;
	font-weight: normal;
}

.spNone {
	display:none!important;
}
.flex01_sp {
	display:flex;
	justify-content:space-between;
}
.flex02_sp {
	display:flex;
	justify-content:center;
}
.flex03_sp {
	display:flex;
	justify-content: flex-start;
}
.flex_stretch {
	align-items:stretch;
}
.flex_center {
	align-items:center;
}
.flex_wrap {
	flex-wrap: wrap;
}
.spNone{
	display:none;
}
.btn_top {
    position: fixed;
	right:10px;
	bottom:10px;
    transition: all 0.3s;
    opacity: 0;
}
.btn_top a {
	display:block;
    width: 45px;
    height: 45px;
    background:url(../png/img_totop.png) no-repeat;
	background-size:100%;
	color:#fff;
	text-align:center;
}

.btn_top_show{
	opacity:1;
    transition: all 0.3s;
}

.inner {
	position:relative;
	margin:0 4vw;
}


.logo{
	padding:12px 4vw;
	width:74px;
}
.search_box{
	padding-top:14px;
	/*padding-right:50px;*/
	padding-right: 2vw;
}

.btn_contact{
	display:block;
	padding:0 10px;
	border-radius:20px;
	font-size:0.75rem;
	color:#666;
}
.search_box a{
	font-size:0.8rem;
}
.search{
	position:relative;
	width:150px;
	margin-right:60px;
	margin-top:10px;
	
}

.search input{
	background:none;
	border:none;
}
.search .search_txt,.search .mf_finder_searchBox_query_input{
	float:right;
	width:0;
	height:20px;
	padding-right:20px;
	font-size:0.8rem;
	font-family: "Axis std light","メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Verdana", "ＭＳ Ｐゴシック", sans-serif;
	border-bottom:1px solid #fff;
	transition:all 0.3s;
	background:url(../png/search_btn_sp.png) no-repeat right center;
	background-size:20px;
	outline:none;
	
}
.search .search_btn,.search .mf_finder_searchBox_submit{
	display:none;
	position:absolute;
	border:none;
	background:none;
	top:0;
	right:0;
	width:20px;
	height:20px;
	
	cursor:pointer;
}
.mf_finder_searchBox_doctype,.mf_finder_searchBox_misc,.mf_finder_searchBox_suggest_items{
	display:none;
}
.main_top{
	position:fixed;
	height:50px;
	left:0;
	top:0;
	z-index:9;
	margin:0;
	width:100%;
	background:#fff;
	border-bottom:2px solid #d3d3d1;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
}
.btn_nav{
	position:absolute;
	right:0;
	top:0;
	height:50px;
	width:45px;
	background:#eeeeee url(../jpg/btn_nav.jpg) no-repeat center center;
	background-size:20px;
	
}
.btn_nav_close{
	float:right;
	height:50px;
	width:45px;
	background:#888888 url(../jpg/btn_nav_close.jpg) no-repeat center center;
	background-size:20px;
	
}

.nav{
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	opacity:0;
	transition:0.4s;
}
.nav_show{
	z-index:10;
	opacity:1;
	transition:0.4s;
}
.nav ul{
	clear:both;
	background:#ececec;
}
.nav ul li{
	display:flex;
	justify-content:space-between;
	align-items:center;
	border-bottom:1px solid #d5d5d5;
	font-size:0.9rem;
}
.nav ul li a{
	width:85vw;
	display:block;
	padding:13px 4vw;
	color:#545454;
	font-weight:bold;

}
.nav ul li:after{
	display:inline-block;
	margin-right:4vw;
	color:#504084;
	content:'>';
	font-family:"ＭＳ Ｐゴシック", sans-serif;
	font-weight:bold;
	font-size:0.8rem;
	transform:rotate(90deg);

}

.ban{
	margin:52px 0 30px;
	position:relative;
}

.ban_light{
	position:absolute;
	width:9.5%;
	left:75%;
	top:28%;
	animation: fade_in_out 3s linear infinite;
}
@keyframes fade_in_out{
    0%{ opacity:0;}
    20%{opacity:0.7;}
    50%{opacity:1;}
    80%{opacity:0.7;}
    100%{opacity:0;}
}
.ban_txt{
	margin-bottom:40px;
}
.htitle{
	margin-bottom:40px;
	padding:30px 4vw;
	display:flex;
	justify-content:center;
	align-items:center;
	background:#6a5c96;
	min-height:30px;
	font-size:2rem;
	font-weight:bold;
	text-align:center;
	color:#fff;
}
.htitle .htitle_large{
	font-size:4rem;
}
.stitle{
	margin-bottom:30px;
	padding:5px 0 5px 15px;
	border-top:3px solid #73669d;
	border-bottom:3px solid #73669d;
	font-size:1.1rem;
	font-weight:bold;
	line-height:1.4;
	text-align:center;
	display:flex;
	align-items:center;

}
.stitle span{
	font-size:1rem;
	color:#504084;
	display:inline-block;
	vertical-align:middle;
}
.stitle strong{
	margin:0 10px 2px 5px;
	font-size:1.8rem;
	color:#504084;
	display:inline-block;
	vertical-align:middle;
}
.stitle p{
	text-align:left;
}
.stitle02{
	display:block;
	text-align:center;
	padding:8px 0 10px;
	font-size:1rem;
	color:#504084;
	border-top:2px solid #73669d;
	border-bottom:2px solid #73669d;
}
.font01{
	font-size:0.875rem;
	line-height:1.8;
}
.font02{
	font-size:0.8rem;
	line-height:1.8;
}
.txt_style01{
}
.secb_ul01{
	margin-bottom:30px;
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
	align-items:stretch;
}
.secb_ul01 li{
	width:47.5%;
	padding:20px 0;
	margin-bottom:30px;
	border:1px solid #e5e5e5;
	text-align:center;
}
.secb_ul01 li h4{
	padding:0 2vw 0 3vw;
	min-height:58px;
	font-size:1rem;
	color:#545454;
	font-weight:bold;
	text-align:left;
}

.secb_ul01 li p{
	padding:5px 2vw 0 4.5vw;
	font-size:0.8rem;
	text-align:left;
}
.secb_mgn01{
}
.secb_ul02{
	margin-bottom:30px;
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
	align-items:stretch;
}
.secb_ul02 li{
	position:relative;
	width:47.5%;
	margin-bottom:30px;
	border:1px solid #626262;
	text-align:center;
}
.secb_ul02 li a{
	display:block;
	padding-bottom:25px;
}
.ico_large{
	position:absolute;
	right:0;
	bottom:0;
	width:30px;
	height:30px;
}
.secb_ul02 li h4{
	padding:10px 0;
	margin-bottom:10px;
	min-height:44px;
	background:#d2d2d2;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items:center;
	font-size:0.9rem;
	font-weight:bold;
	color:#000;
	border-bottom:1px solid #626262;
}
.secb_ul02 li:nth-child(6) h4{
	letter-spacing:-1px;
}
.secd_table{
	width:960px;
}
.secd_table_box{
	display:none;
}
.secd_table_box_sp img{
	width:900px;
}
.secd_table th,.secd_table td{
	padding:3px 5px;
	border:1px solid #626262;
	font-size:0.875rem;
}
.secd_table th{
	background:#626262;
	color:#fff;
	border-color:#d3d3d3;
	text-align:left;
	padding-left:8px;
}
.secd_table td{
	text-align:center;
}
.table_txt01 p{
	margin-left:1.5em;
	margin-right:1.5em;
	text-align:left;
	text-indent:-1em;
	padding-left:1em;
}
.sup_style01{
	margin-left:-2px;
	display:inline-block;
	font-size:0.75rem;
	transform:scale(0.8);
}
.inner_table{
	margin-right:0;
}
#left_table{
	overflow:hidden;
	width: 128px;
	background:#fff;
}
.right_table_box{
	position:absolute;
	width:100%;
	left:0;
	top:0;
}
#right_table{
	margin-left: 128px;
	overflow-x:scroll;
	background:#fff;
}
#right_table img{
	margin-left: -128px;
	margin-right:4vw;
}
.stitle03{
	margin-bottom:25px;
	border-color:#7d7d7d;
	color:#7d7d7d;
}
.sece_col01{
}
.sece_col01 p{
	text-align:left!important;
	margin-bottom:40px;
}
.sece_img01{
	margin-top:5px;
	display:inline-block;
	width:42px;
}
.stitle04{
	border-color:#535353;
	color:#535353;
}
.stitle05{
	display:block;
	text-align:center;
	margin-top:30px;
	margin-bottom:25px;
	font-size:1rem;
}
.inner02{
	margin:0 5vw;
}
.inner02_sp{
	margin:0 9vw;
}
.txt_style02{
}
.seca_col01{
	margin-bottom:20px;
}
.seca_col02{
	margin-bottom:10px;
}
.seca_col03{
	margin:0 5vw 20px;
}
.seca_col04{
	margin:0 5vw;
}
.txt_style03{
}
.table_note{
	padding-top:20px;
	font-size:0.875rem;
	line-height:1.8;
	font-family: "Axis std light","メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Verdana", "ＭＳ Ｐゴシック", sans-serif;
}
.table_note dt{
	float:left;
	width:2em;
}
.table_note dd{
	margin-left:2em;
}
.table_note_ul{
	margin-left:-1em;
}
.table_note_ul li{
	text-indent:-1.3em;
	padding-left:1.3em;
}
.btm_txt{
	text-align:center;
	margin-bottom:15px;
	font-size:1rem;
}
.btm_box{
	padding-bottom:50px;
}
.btm_contact{
	margin-bottom:25px;
}
.btm_contact a{
	padding:15px 5px;
	display:block;
	color:#fff;
	text-align:center;
	background:#535353;
	font-size:0.9rem;
}
.btm_contact a img{
	width:116px;
	vertical-align:middle;
	margin:-5px 0 -1px;
}
.btm_contact a span{
	display:inline-block;
	vertical-align:middle;
	line-height:1;
	padding-right:5px;
	margin-bottom:4px;
	font-family:  "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Verdana", "ＭＳ Ｐゴシック", sans-serif;
}
.footer{
	text-align:center;
	padding-bottom:15px;
	background:#535353;
	color:#fff;
	font-family:  "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Verdana", "ＭＳ Ｐゴシック", sans-serif;
}
.footer .inner{
	margin:0;
}
.copyright{
	font-family: arial;
	text-align:center;
	padding-top:3px;
	font-size:0.75rem;
}
.foot_logo{
	margin-bottom:5px;
	display:inline-block;
	width:100px;
}
.foot_nav{
	margin-bottom:10px;
	display:flex;
	justify-content: center;
	align-items:stretch;
	border-bottom:1px solid #dcdcdc;
}

.foot_nav li{
	width:50%;
	font-size:0.75rem;
}
.foot_nav_line{
	margin-bottom:0;
}
.foot_nav_line li{
	width:100%;
}
.foot_nav li:last-child{
	border-left:1px solid #dcdcdc;
}
.foot_nav li a{
	display:block;
	padding:12px 0;
}
.foot_nav li a:before{
	content:'>';
	display:inline-block;
	margin-right:5px;
}
.foot_nav li span{
	display:none;
}
.footer a{
	color:#fff;
}
.lb-details{
	display:none;
}
.img_download{
	position:absolute;
	top:10px;
	right:10px;
	z-index:11;
	cursor:pointer;
	width:32px;
	height:32px;
	border:none;
	background:none;
	background:url(../png/btn_d.png) no-repeat;
	background-size:100%;
}
.img_filesize{
	position:absolute;
	top:50px;
	right:6px;
	z-index:11;
	width:50px;
	height:20px;
	text-align:center;
	font-size:0.75rem;
	transform: scale(0.8);
	color:#333;
	font-family: "Axis std light","メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Verdana", "ＭＳ Ｐゴシック", sans-serif;
}
.stitle_line{
	padding-top: 30px;
    padding-bottom: 20px;
    font-size: 1rem;
	font-weight:bold;
	color:#504084;
}
 @media only screen and (min-width: 0) and (max-width: 359px) {
	 .btm_contact a{
	font-size:0.8rem;
}
.btm_contact a img{
	width:106px;
}
}
.prnt{
	display:none;
}

/* 2021/03
----------------------------------------------*/
/* news */
.news {
	margin: 30px 4vw 20px;
}
.news-row {
	display: block;
	margin: 0;
	padding: 10px;
	border:	solid 1px #FF0000;
	line-height: 1.6;
	font-size: 14px;
}
.news-row span {
	display: inline-block;
	margin: 0 15px 0 0;
}
.news-row a {
	display: block;
}
.news-row a span {
	color: #FF0000;
	text-decoration: underline;
}
.news-row a:hover span {
	text-decoration: none;
}
.news-row .headline {
	display: block;
	margin: 5px 0 0;
}
.news-row .new-icon {
	padding: 1px 5px 0;
	text-align: center;
	color: #fff;
	background: #FF0000;
	border-radius: 4px;
	text-decoration: none!important;
}

/* pages-bnr */
.pages-bnr {
	justify-content: center;
	margin: 40px 4vw 20px;
}
.pages-bnr .sece_col01 {
	width: 100%;
	margin: 10px 0 0;
}

/* colors */
.htitle.green {
	background: #4D9248;
}
.htitle.blue {
	background: #2E6EC1;
}

.stitle.green {
	border-color: #4D9248;
}
.stitle.green span, .stitle.green strong {
	color: #4D9248;
}
.stitle.blue {
	border-color: #2E6EC1;
}
.stitle.blue span, .stitle.blue strong {
	color: #2E6EC1;
}

.stitle02.green {
	border-color: #4D9248;
	color: #4D9248;
}
.stitle02.blue {
	border-color: #2E6EC1;
	color: #2E6EC1;
}

/* link */
.link_arrow {
	position: relative;
	display: inline-block;
	padding: 0 0 0 30px;
	color: #504084;
}
.link_arrow::before {
	content: '';
	display: block;
	position: absolute;
	top: 0px;
	left: 0;
	width: 22px;
	height: 22px;
	background: url(../png/ico_link_arrow.png) no-repeat center;
	background-size: 100%;
}

/* ページ遷移時のアンカーリンクのずれを修正 */
.htitle {
	position: relative;
	padding-top: 82px;/* ヘッダー高さ+padding */
	margin-top: -38px;
}
.htitle::before {
	content: '';
	display: block;
	width: 100%;
	height: 52px;
	position: absolute;
	top: 0;
	left: 0;
	background: #fff;
}