@charset "UTF-8";
/* CSS Document */
/*==================================================================================== ■01.RESET HTML ■02.CLEAR FLOAT ■03.MARGIN DEFAULT ■04.LAYOUT ■05.USE MEDIA ■06.OTHER ■07.PAGE UP ■08.HEADER ■09.GOLABLE NAVIGATION ■10.FOOTER ==================================================================================== */
/*==================================================================================== ■01.RESET HTML ==================================================================================== */
ul, li { list-style: none; }

img { margin: 0px; padding: 0px; border: 0px; transition: All 0.3s ease; -webkit-transition: All 0.3s ease; -moz-transition: All 0.3s ease; -o-transition: All 0.3s ease; }

a:hover img { opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)"; }

a { color: #000; text-decoration: underline; }

a:hover { text-decoration: none; }

body { font-size: 14px; font-family: "Meiryo", "メイリオ", "MS PGothic", "MS Pゴシック", sans-serif; color: #000; word-break: break-word; line-height: 1.5; }

/*==================================================================================== ■02.CLEAR FLOAT ==================================================================================== */
.clearfix { zoom: 1; }

.clearfix:before { content: "\0020"; display: block; height: 0; overflow: hidden; }

.clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; clear: both; }

/*==================================================================================== ■03.MARGIN DEFAULT ==================================================================================== */
.m00 { margin: 0px !important; }

.m05 { margin: 5px !important; }

.m10 { margin: 10px !important; }

.m15 { margin: 15px !important; }

.m20 { margin: 20px !important; }

.m25 { margin: 25px !important; }

.m30 { margin: 30px !important; }

.m35 { margin: 35px !important; }

.m40 { margin: 40px !important; }

.m45 { margin: 45px !important; }

.mt00 { margin-top: 0px !important; }

.mt05 { margin-top: 5px !important; }

.mt10 { margin-top: 10px !important; }

.mt15 { margin-top: 15px !important; }

.mt20 { margin-top: 20px !important; }

.mt25 { margin-top: 25px !important; }

.mt30 { margin-top: 30px !important; }

.mt33 { margin-top: 33px !important; }

.mt35 { margin-top: 35px !important; }

.mt40 { margin-top: 30px !important; }

.mt45 { margin-top: 45px !important; }

.mr00 { margin-right: 0px !important; }

.mr05 { margin-right: 5px !important; }

.mr10 { margin-right: 10px !important; }

.mr15 { margin-right: 15px !important; }

.mr20 { margin-right: 20px !important; }

.mr25 { margin-right: 25px !important; }

.mr30 { margin-right: 30px !important; }

.mr35 { margin-right: 35px !important; }

.mr40 { margin-right: 40px !important; }

.mr45 { margin-right: 45px !important; }

.mb00 { margin-bottom: 0px !important; }

.mb05 { margin-bottom: 5px !important; }

.mb10 { margin-bottom: 10px !important; }

.mb15 { margin-bottom: 15px !important; }

.mb20 { margin-bottom: 20px !important; }

.mb25 { margin-bottom: 25px !important; }

.mb30 { margin-bottom: 30px !important; }

.mb35 { margin-bottom: 35px !important; }

.mb40 { margin-bottom: 40px !important; }

.mb45 { margin-bottom: 45px !important; }

.ml00 { margin-left: 0px !important; }

.ml05 { margin-left: 5px !important; }

.ml10 { margin-left: 10px !important; }

.ml15 { margin-left: 15px !important; }

.ml20 { margin-left: 20px !important; }

.ml25 { margin-left: 25px !important; }

.ml30 { margin-left: 30px !important; }

.ml35 { margin-left: 35px !important; }

.ml40 { margin-left: 40px !important; }

.ml45 { margin-left: 45px !important; }

/* -------------------------------------------------- padding -------------------------------------------------- */
.p00 { padding: 0px !important; }

.p05 { padding: 5px !important; }

.p10 { padding: 10px !important; }

.p15 { padding: 15px !important; }

.p20 { padding: 20px !important; }

.p25 { padding: 25px !important; }

.p30 { padding: 30px !important; }

.p35 { padding: 35px !important; }

.p40 { padding: 40px !important; }

.p45 { padding: 45px !important; }

.pt00 { padding-top: 0px !important; }

.pt03 { padding-top: 3px !important; }

.pt05 { padding-top: 5px !important; }

.pt10 { padding-top: 10px !important; }

.pt15 { padding-top: 15px !important; }

.pt20 { padding-top: 20px !important; }

.pt25 { padding-top: 25px !important; }

.pt30 { padding-top: 30px !important; }

.pt35 { padding-top: 35px !important; }

.pt40 { padding-top: 40px !important; }

.pt45 { padding-top: 45px !important; }

.pr00 { padding-right: 0px !important; }

.pr05 { padding-right: 5px !important; }

.pr10 { padding-right: 10px !important; }

.pr15 { padding-right: 15px !important; }

.pr20 { padding-right: 20px !important; }

.pr25 { padding-right: 25px !important; }

.pr30 { padding-right: 30px !important; }

.pr35 { padding-right: 35px !important; }

.pr40 { padding-right: 40px !important; }

.pr45 { padding-right: 45px !important; }

.pb00 { padding-bottom: 0px !important; }

.pb05 { padding-bottom: 5px !important; }

.pb10 { padding-bottom: 10px !important; }

.pb15 { padding-bottom: 15px !important; }

.pb20 { padding-bottom: 20px !important; }

.pb25 { padding-bottom: 25px !important; }

.pb30 { padding-bottom: 30px !important; }

.pb35 { padding-bottom: 35px !important; }

.pb40 { padding-bottom: 40px !important; }

.pb45 { padding-bottom: 45px !important; }

.pl00 { padding-left: 0px !important; }

.pl05 { padding-left: 5px !important; }

.pl10 { padding-left: 10px !important; }

.pl15 { padding-left: 15px !important; }

.pl20 { padding-left: 20px !important; }

.pl25 { padding-left: 25px !important; }

.pl30 { padding-left: 30px !important; }

.pl35 { padding-left: 35px !important; }

.pl40 { padding-left: 40px !important; }

.pl45 { padding-left: 45px !important; }

/*-------------------------------------------------- ▽ radious（角丸）設定専用クラス -------------------------------------------------- */
.r03 { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }

.r04 { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }

.r05 { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }

.r06 { -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }

.r07 { -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px; }

.r08 { -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; }

.r09 { -webkit-border-radius: 9px; -moz-border-radius: 9px; border-radius: 9px; }

.r10 { -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }

/*==================================================================================== ■WIDTH ==================================================================================== */
.w10 { width: 10%; }

.w15 { width: 15%; }

.w20 { width: 20%; }

.w25 { width: 25%; }

.w30 { width: 30%; }

.w35 { width: 35%; }

.w40 { width: 40%; }

.w45 { width: 45%; }

.w50 { width: 50%; }

.w55 { width: 55%; }

.w60 { width: 60%; }

.w65 { width: 65%; }

.w70 { width: 70%; }

.w75 { width: 75%; }

.w80 { width: 80%; }

.w85 { width: 85%; }

.w90 { width: 90%; }

.w95 { width: 95%; }

.w100 { width: 100%; }

/*==================================================================================== ■font ==================================================================================== */
.f10 { font-size: 10px !important; }

.f11 { font-size: 11px !important; }

.f12 { font-size: 12px !important; }

.f13 { font-size: 13px !important; }

.f14 { font-size: 14px !important; }

.f15 { font-size: 15px !important; }

.f16 { font-size: 16px !important; }

.f17 { font-size: 17px !important; }

.f18 { font-size: 18px !important; }

.f19 { font-size: 19px !important; }

.f20 { font-size: 20px !important; }

.f21 { font-size: 21px !important; }

.f22 { font-size: 22px !important; }

.f23 { font-size: 23px !important; }

.f24 { font-size: 24px !important; }

/*==================================================================================== ■04.LAYOUT ==================================================================================== */
.container { position: relative; width: 1100px; margin: 0 auto; }

.full_width { width: 980px; }

.second_page { margin-top: 40px; }

.font { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

.font_min { font-family: "Yu Mincho" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "游明朝体" , YuMincho, "HGS明朝E" , "ＭＳ Ｐ明朝", "MS PMincho", serif; }

/*==================================================================================== ■05.USE MEDIA ==================================================================================== */
.pull_left { float: left !important; }

.pull_right { float: right !important; }

.media, .media-body { overflow: hidden; }

.media > .pull_left { margin-right: 20px; }

.media > .pull_right { margin-left: 20px; }

.media-text:after { clear: both; display: block; content: ""; height: 0px; visibility: hidden; }

.pic_l .image { float: left; margin: 5px 10px 5px 0; }

.pic_r .image { float: right; margin: 5px 0 5px 10px; }

.document p { margin-bottom: 10px; }

/*==================================================================================== ■06.OTHER ==================================================================================== */
.text_normal { font-weight: normal !important; }

.text_bold { font-weight: bold !important; }

.text_left { text-align: left !important; }

.text_right { text-align: right !important; }

.text_center { text-align: center !important; }

/*==================================================================================== ■07.PAGE UP ==================================================================================== */
.page_up { width: 100%; position: fixed; bottom: 20px; z-index: 100; }

.page_up .page_top_cont { max-width: 1000px; margin: 0 auto; text-align: right; position: relative; }

.page_up .page_top_cont .to_top { display: block; text-align: center; position: absolute; bottom: 0; right: -110px; cursor: pointer; border-radius: 5px; zoom: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); opacity: 0; }

/*==================================================================================== ■08.HEADER ==================================================================================== */
header { position: relative; padding: 15px 0 10px; }

header .h_cont { padding: 0 10px; }

header .h_cont .h_seo { font-size: 11px; color: #404040; }

header .h_cont .h_right { width: 330px; }

header .h_gnav { margin: 5px 10px 0; }

header .h_gnav .h_menu li { border-left: 1px dotted #4b4b4b; border-right: 1px dotted #4b4b4b; padding: 0 10px; }

header .h_gnav .h_menu li a { font-family: "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-weight: bold; font-size: 14px; text-align: center; text-decoration: none; display: block; padding: 0 24px; color: #000; }

header .h_gnav .h_menu li a span { font-size: 11px; display: block; color: #acacac; }

header .h_gnav .h_menu li a:hover { color: #00326c; }

header .h_gnav .h_menu li a:hover span { color: #8eb7d7; }

/*==================================================================================== ■09.GOLABLE NAVIGATION ==================================================================================== */
/*========================================== ■10.FOOTER ==================================================================================== */
footer { position: relative; }

footer .f_footer { background-color: #e9e9e9; padding: 70px 0 35px; }

footer .f_footer .adress { margin: 0 0 0 25px; }

footer .f_footer .adress dt { font-size: 13px; font-weight: bold; margin-bottom: 5px; }

footer .f_footer .adress dd { font-size: 12px; }

footer .f_footer .f_contact { margin: 0 0 0 20px; }

footer .f_footer .f_menu { margin: 80px 0 0; }

footer .f_footer .f_menu ul li { position: relative; padding: 0 10px; }

footer .f_footer .f_menu ul li:before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; margin: auto; background: #010101; width: 1px; height: calc(100% - 6px); }

footer .f_footer .f_menu ul li:last-child:after { content: ""; position: absolute; top: 0; bottom: 0; right: 0; margin: auto; background: #010101; width: 1px; height: calc(100% - 6px); }

footer .f_footer .f_menu ul li a { text-decoration: none; padding: 0 10px; font-size: 13px; color: #000; }

footer .text_copyright { background-color: #141414; padding: 20px 0; }

footer .text_copyright p { text-align: center; color: #fff; font-size: 12px; }

/*========================================== ■11.PAGE TITLE ==================================================================================== */
#page_title { background: url(../common_img/bg_page_title.jpg) no-repeat center top; }

#page_title .container { height: 180px; display: table; text-align: center; }

#page_title .container h2 { display: table-cell; vertical-align: middle; }

/*========================================== ■12.BREAKCRUMBS ==================================================================================== */
#breadcrumbs { padding: 8px 0 40px; }

#breadcrumbs ul li { display: inline-block; margin-right: 5px; font-size: 13px; padding: 2px 0; color: #000; }

#breadcrumbs ul li.first { background: url(../common_img/icon_home.png) no-repeat left; padding-left: 15px; }

#breadcrumbs ul li a { font-size: 13px; color: #077bdd; text-decoration: underline; }

#breadcrumbs ul li a:hover { text-decoration: none; }

/*========================================== ■14.LIGHTBOX ==================================================================================== */
a.cur_zoom { display: inline-block; z-index: 2; position: relative; }

a.cur_zoom img { position: relative; z-index: -1; }

.cur_zoom:after { position: absolute; z-index: 100; bottom: 0px; right: 0px; display: block; width: 40px; height: 40px; background: url(../common_img/lightbox/ico-zoom.png); content: ""; }

/*========================================== ■15.a_hover ==================================================================================== */
.a_hover { position: relative; }

.a_hover:before { content: ""; position: absolute; -webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0); -webkit-transform-origin: bottom right; -ms-transform-origin: bottom right; transform-origin: bottom right; z-index: 0; left: 0; bottom: -4px; background: #4371a7; width: 100%; height: 1px; webkit-transition: -webkit-transform 0.35s ease; transition: -webkit-transform 0.35s ease; -o-transition: transform 0.35s ease; -webkit-transition: -webkit-transform 0.35s ease; transition: transform 0.35s ease; transition: transform 0.35s ease,  -webkit-transform 0.35s ease; transition: transform 0.35s ease, -webkit-transform 0.35s ease; }

.a_hover:hover:before { -webkit-transform: scaleX(1); -ms-transform: scaleX(1); transform: scaleX(1); -webkit-transform-origin: bottom left; -ms-transform-origin: bottom left; transform-origin: bottom left; }

/*========================================== ■13.FLEX ==================================================================================== */
.dis_flex { display: -webkit-box; display: -ms-flexbox; display: flex; display: -moz-flex; display: -ms-flex; }

.flex_wrap { -ms-flex-wrap: wrap; flex-wrap: wrap; }

.flex_align_item_start { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-align-items: flex-start; -moz-align-items: flex-start; -ms-align-items: flex-start; }

.flex_align_item_end { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; -webkit-align-items: flex-end; -moz-align-items: flex-end; -ms-align-items: flex-end; }

.flex_align_item_center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; }

.flex_jus_between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-justify-content: space-between; -moz-justify-content: space-between; -ms-justify-content: space-between; }

.flex_jus_center { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.flex_jus_around { -ms-flex-pack: distribute; justify-content: space-around; }

.flex_jus_start { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; -ms-justify-content: flex-start; }

.flex_jus_end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
