@charset "utf-8";

/* Clearfix --------------------------------------------------------- */
/*clearfix*/
.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    }
.clearfix {
    display: inline-table;
    min-height: 1%;
    }
/*Hides from MacIE \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/*Hides from MacIE */

/* ##### 追加リセット ##### */
h1, h2, h3, h4, h5, h6 { font-weight: 300; }
a img {
	border:0;
}
ul, li { list-style: none; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; }

/* ##### 基本 ##### */
*{ letter-spacing: 0.05em; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; line-height: 1.4em;}
html { font-size: 62.5%;  }
body { font-size: 1.4rem; position: relative; font-family: 'Ubuntu','Noto Sans JP', sans-serif; font-weight: 300; font-feature-setting : "pkna" 1; color: #4F4F4F; }
.com_wrapper { width: 100%; overflow: hidden; }
a { text-decoration: none; color: #3D3D3D; }
a:link, a:visited, a:hover, a:active { background-color: transparent;}
main{ padding-top: 169px; display: block; }
section{ padding-top: 0px; padding-bottom: 0px; }
.cont_box{ width: 1000px; margin-right: auto; margin-left: auto; overflow: hidden; }

#ptitle{ width: 100%; background-image: url(../img/cover_bg.gif); height: 150px; display: table; }
#ptitle h1{ width: 100%; font-size: 3.4rem; color: #5B5B5B; text-align: center; letter-spacing: 0.2em; background-repeat: no-repeat; background-position: center top; background-size: auto auto; height: 150px; display: table-cell; line-height: 1em; vertical-align: middle; }
#ptitle h1 small{ font-size: 1.8rem; display: block; color: #4E7DC2; margin-top: 0px; padding-top: 6px; }

/*デフォルトtable*/
table.def_tbl{ width: 99%; width : -webkit-calc(100% - 1px); width : calc(100% - 1px); border-bottom: 1px solid #E0E0E0; display: table; }
table.def_tbl th,
table.def_tbl td{ padding-top: 8px; padding-bottom: 8px; padding-left: 20px; padding-right: 20px; border-top: 1px solid #E0E0E0; border-right: 1px solid #E0E0E0; text-align: left; font-size: 1.4rem; line-height: 1.4em; vertical-align: middle; }
table.def_tbl td.talign_right{ text-align: right; }
table.def_tbl th{ background-color: #F7F7F7; color: #4E7DC2; text-align: left; vertical-align: middle; border-left: 1px solid #E0E0E0; }
table.def_tbl tr.outside td{ border-right-style: none; border-top-style: none; font-size: 1.3rem; text-align: center; vertical-align: bottom; padding-top: 6px; padding-bottom: 6px; }
table.def_tbl tr.outside td[rowspan="2"]:first-of-type{ font-size: 2.8rem; text-align: left; vertical-align: middle; padding-left: 0px; }
table.def_tbl tr.outside td[rowspan="2"]:first-of-type:after{ content: "/"; font-size: 2.6rem; display: inline-block; vertical-align: bottom; margin-right: 6px; margin-left: 12px; }
table.def_tbl tr.outside td[colspan="2"]{ color: #4E7DC2; background-color: #DAE4F3; border-right-style: solid; border-right-color: #FFFFFF; }

/* パンくず */
#breadcrumb { background-color: #ececec; }
#breadcrumb ul{ width: 1000px; margin-right: auto; margin-left: auto; overflow: hidden; overflow-y: hidden; }
#breadcrumb ul li{ float: left; background-repeat: no-repeat; background-image: url(../img/comm_arr_05.svg); background-position: left center; background-size: auto 30%; padding-left: 8px; color: #FFFFFF; font-size: 1.2rem; margin-left: 8px; }
#breadcrumb ul li a{ color: #4E7DC2; padding-top: 4px; padding-bottom: 4px; display: block; padding-left: 4px; padding-right: 4px; }
#breadcrumb ul li strong{ color: #4E7DC2; padding-top: 4px; padding-bottom: 4px; display: block; padding-left: 4px; padding-right: 4px; }
#breadcrumb ul li:first-child{ background-image: none; padding-left: 0px; margin-left: 0px; }

/* ページ内リンク */
#unch_link{ border-top: 1px solid #E0E0E0; border-bottom: 1px solid #E0E0E0; background-color: #FFFFFF;}
#unch_link ul{ text-align: center; overflow-y: hidden; margin-bottom: -3px; }
#unch_link ul li{ display: block; margin-bottom: 0px; float: left; } 
#unch_link ul li.now_cont{ border-bottom: 5px solid #4E7DC2; }
#unch_link ul li a{ display: block; padding-top: 20px; padding-bottom: 20px; font-size: 1.4rem; width: 100%; }
#unch_link ul li.now_cont a{ color: #4E7DC2; }

/* 横割り等分設定 */
ul.spl_2 li{ width: 50%; }
ul.spl_3 li{ width: 33.5%; }
ul.spl_3 li:first-child{ width: 33%; }
ul.spl_4 li{ width: 25%; }
ul.spl_5 li{ width: 20%; }
ul.spl_6 li{ width: 17%; }
ul.spl_6 li:nth-child(3n-2){ width: 16%; }
ul.spl_7 li{ width: 14%; }
ul.spl_7 li:first-child,ul.spl_7 li:last-child{ width: 15%; }


/* ボタン */
a.comm_btn{ background-color: #00A950; display: block; color: #FFFFFF; text-align: center; padding-top: 6px; padding-bottom: 6px; }
a.comm_btn:before{ content: ''; display: inline-block; width: 12px; height: 12px; background-image: url(../img/comm_arr_02.svg); background-size: auto 100%; background-repeat: no-repeat; vertical-align: middle; margin-right: 14px; }


/* ## for jquery ## */
.hide { display:none; }


/* フォント */
.alph{ font-family: 'Ubuntu', sans-serif; }

.ltxt{ font-size: 120%; }
.stxt{ font-size: 80%; }
.atten{font-size: 60%;}
small{font-size: 75%;}


/*フッタ*/
footer{ width: 100%; overflow-y: hidden; border-top: 1px solid #E0E0E0; }
footer #footer_smap{ width: 1000px; margin-left: auto; margin-right: auto; padding-top: 30px; padding-bottom: 30px; }
footer #footer_smap h4{ font-size: 1.6rem;}
footer #footer_smap ul{ letter-spacing: -.4em; padding-top: 10px; padding-bottom: 14px; overflow-y: hidden; }
footer #footer_smap ul li{ letter-spacing: 0.05em; display: inline-block; border-left: 1px solid #BDBDBD; margin-bottom: 6px; float: left; }
footer #footer_smap ul li:first-child{ border-left-style: none; }
footer #footer_smap ul li a{ font-size: 1.2rem; padding-left: 10px; padding-right: 10px; padding-top: 4px; padding-bottom: 4px; display: block; }
footer #footer_smap ul li:first-child a{ padding-left: 0px; }
footer #footer_smap ul li.nline{ border-left-style: none; clear: both; }
footer #footer_smap ul li.nline a{ padding-left: 0px;}
footer #footer_smap ul:last-of-type{ padding-bottom: 0px; }

footer #footer_info{ background-color: #484848; color: #FFFFFF; padding-top: 30px; padding-bottom: 30px;}
footer #footer_info .cont_box{}
footer #footer_info .logotype{ display: block; margin-bottom: 18px; }
footer #footer_info address{ }
footer #footer_info address ul{ letter-spacing: -.4em; overflow-y: hidden; padding-bottom: 18px; }
footer #footer_info address ul li{ display: inline-block; letter-spacing: 0.05em; padding-right: 40px; }
footer #footer_info address ul li img{ display: inline-block; vertical-align: middle; margin-right: 10px; }
footer #footer_info address ul li a{ color: #FFFFFF; }
footer #footer_info address ul li small{ margin-left: 10px; }
footer #footer_info small.copyright{ line-height: 1.4em; letter-spacing: 0.1em; }

footer #totop{ display: none; }

/* PC,SP表示切替 */
.pc_only{ display: inline-block!important; }
.sp_only{ display: none!important; }
body { }
@media only screen and (max-width: 798px) {
.pc_only{ display: none!important; }
.sp_only{ display: inline-block!important; }
}


/* 三角 */
.trg:before{ content: "▼"; display: inline-block; margin-right: 6px; -moz-transform: rotate(-90deg); -webkit-transform:  rotate(-90deg); -o-transform:  rotate(-90deg); -ms-transform:  rotate(-90deg);}


@media only screen and (max-width: 798px) {

.cont_box{ width: 100%; margin-right: auto; margin-left: auto; overflow: hidden; padding-left: 3%; padding-right: 3%; }
main{ padding-top: 68px; }

#ptitle{ width: 100%;  height: 100px; }
#ptitle h1{ font-size: 2.6rem; height: 100%; background-size: auto 100%; }
#ptitle h1 small{ font-size: 1.3rem; padding-top: 0px; }

#breadcrumb ul{ width: 100%; padding-top: 6px; padding-bottom: 6px; padding-left: 2%; padding-right: 2%; }
#breadcrumb ul li a{ padding-top: 0px; padding-bottom: 0px; }
#breadcrumb ul li strong{ padding-top: 0px; padding-bottom: 0px;}

#unch_link ul{ margin-bottom: 0px; }
#unch_link ul.cont_box{ padding-left: 0px; padding-right: 0px; }
#unch_link ul li{ }
#unch_link ul li a{ line-height: 1.3em; padding-top: 10px; padding-bottom: 50px; font-size: 1.3rem; letter-spacing: 0.02em; height: 100%; position: relative; }
#unch_link ul li a span:after{ content: " "; width: 10px; height: 10px; display: inline-block; background-image: url(../img/comm_arr_01.svg); background-size: auto 100%; background-repeat: no-repeat; -moz-transform: rotate(90deg); -webkit-transform: rotate(90deg); -o-transform: rotate(90deg); -ms-transform: rotate(90deg); text-align: center; margin-left: 4%; background-position: center 0%; }
#unch_link ul li a span{ position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; margin-left: auto; margin-right: auto; }
#unch_link ul li.now_cont{ border-bottom-style: none; }
#unch_link ul li.now_cont a{ background-color: #4E7DC2; }
#unch_link ul li.now_cont a span{ color: #FFFFFF;}
#unch_link ul li.now_cont a span:after{ background-image: url(../img/comm_arr_02.svg); }

ul.spl_2 li{ }
ul.spl_4 li{ width: 50%; }
ul.spl_4 li:nth-child(n+3){ border-top: 1px solid #E0E0E0;}

ul.spl_5 li{ width: 33%; }
ul.spl_5 li:first-child{ width: 34%; }
ul.spl_5 li:nth-child(-n+3){ }
ul.spl_5 li:nth-child(n+4){ width: 50%; border-top: 1px solid #E0E0E0;}

ul.spl_6 li{ width: 33%; }
ul.spl_6 li:nth-child(3n-2){ width: 34%; }
ul.spl_6 li:nth-child(n+4){ border-top: 1px solid #E0E0E0; }

table.def_tbl{ width: 100%; }
table.def_tbl:before{ content: attr(data-label); font-size: 2rem; padding-bottom: 14px; display: block; font-weight: 400; text-align: center; width: 100%; }
table.def_tbl tr td { width: 100%; display: block; border-left-style: none; border-right-style: none; border-bottom: 1px dotted #E0E0E0; border-top-style: none; padding-left: 2%; padding-right: 2%; vertical-align: middle; padding-top: 6px; padding-bottom: 6px; }
table.def_tbl td.talign_right{ text-align: left; }
table.def_tbl tr th{ width: 100%; display: block; border-style: none; margin-bottom: 6px; text-align: center; font-size: 1.6rem; padding-left: 0px; padding-right: 0px; }
table.def_tbl tr td:before { content: attr(data-label); width: 40%; display: inline-block; color: #4E7DC2; font-weight: 400; padding-right: 3%; margin-right: 3%; }
table.def_tbl tr.outside{ display: none; }
table.def_tbl tr td:last-child{ padding-bottom: 32px; border-bottom-style: none; } 
table.def_tbl tr td[rowspan="2"]{ font-size: 1.8rem; text-align: center; }
table.def_tbl tr td[rowspan="2"]:before{ display: none; }
table.def_tbl.simp_tab tr td{ text-align: center; line-height: 1.4em; }
table.def_tbl.simp_tab tr td:before{ display: none;}
table.def_tbl tr th:before { content: attr(data-label); }
table.def_tbl.nosp tr th,table.def_tbl.nosp tr td{width:auto;display: table-cell;}
table.def_tbl.nosp tr td:before{display: none;}


footer #footer_smap{ width: 100%; padding-left: 3%; padding-right: 3%; }
footer #footer_smap ul li:first-child{ border-left-style: solid; }
footer #footer_smap ul li:first-child a{ padding-left: 10px; }
footer #footer_smap ul li.nline{ border-left-style: solid; clear: none; }
footer #footer_smap ul li.nline a{ padding-left: 10px;}
footer #footer_smap ul:last-of-type{ padding-bottom: 0px; }

footer #footer_info{ }
footer #footer_info .cont_box{}
footer #footer_info .logotype{ margin-left: auto; margin-right: auto; width: 100%; max-width: 340px; }
footer #footer_info address{ }
footer #footer_info address ul{  }
footer #footer_info address ul li{ display: block; padding-right: 0px; font-size: 1.2rem; padding-bottom: 10px; text-align: center; }
footer #footer_info address ul li img{ display: inline-block; vertical-align: middle; margin-right: 10px; }
footer #footer_info address ul li a{ display: inline-block; }
footer #footer_info small.copyright{ font-size: 1.0rem; text-align: center; display: block; }

footer #totop { padding-top: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: block; }
footer #totop a{ background-color: #484848; display: block; margin-left: auto; margin-right: auto; width: 55px; padding-left: 20px; padding-right: 20px; padding-top: 7px; }
footer #totop a img{ width: 100%; height: auto; -moz-transform: rotate(-90deg);-webkit-transform: rotate(-90deg);-o-transform: rotate(-90deg);-ms-transform: rotate(-90deg); }
}
