@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%; }

.w20 { width: 20%; }

.w30 { width: 30%; }

.w40 { width: 40%; }

.w50 { width: 50%; }

.w60 { width: 60%; }

.w70 { width: 70%; }

.w80 { width: 80%; }

.w90 { width: 90%; }

.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: 1000px; margin: 0 auto; }

#main { margin-bottom: 95px; }

#main.home { margin-bottom: 0; }

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

.text_red { color: #ff0000; }

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

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

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

.page_top_cont .page_top .to_top:hover img { opacity: 0.7; }

/*==================================================================================== ■08.HEADER ==================================================================================== */
#header { position: relative; border-top: 4px solid #3861a3; }

#header .h_seo { color: #c2c2c2; font-size: 11px; font-weight: normal; margin-top: 20px; }

#header .h_right { float: right; width: 385px; margin-top: -10px; }

#header .h_right img { display: block; }

#header .h_right .home { background: url("../common_img/h_icon1.png") no-repeat left center; padding-left: 22px; position: relative; }

#header .h_right .home:after { position: absolute; content: ""; background: #989898; width: 1px; height: 14px; top: 5px; right: -17px; -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); }

#header .h_right .news { background: url("../common_img/h_icon2.png") no-repeat left center; padding-left: 20px; }

#header .h_right p { margin: 0 16px; }

#header .h_right p a { color: #141414; font-size: 12px; font-weight: bold; text-decoration: none; }

#header .h_right p a:hover { color: #5172a6; }

#header .h_header .h_logo { width: 260px; }

#header > .container { position: static; }

/*==================================================================================== ■09.GOLABLE NAVIGATION ==================================================================================== */
#h_nav { width: 740px; }

#h_nav > ul { margin-top: 25px; }

#h_nav > ul > li { padding: 0 10px; }

#h_nav > ul > li:nth-child(1) { width: 150px; }

#h_nav > ul > li:nth-child(2) { width: 206px; }

#h_nav > ul > li:nth-child(3) { width: 220px; }

#h_nav > ul > li:nth-child(4) { width: 200px; }

#h_nav > ul > li.sub .h_menu:after { content: ''; position: absolute; bottom: 5px; left: 47%; border-top: 5px solid #fff; border-right: 5px solid transparent; border-left: 5px solid transparent; }

#h_nav > ul > li.sub .h_sub { background-color: #2b5599; display: none; position: absolute; left: 0; width: 100%; z-index: 999; }

#h_nav > ul > li.sub .h_sub > ul { width: 1000px; margin: 0 auto; padding-left: 100px; }

#h_nav > ul > li.sub .h_sub > ul > li { position: relative; padding-left: 14px; margin-right: 50px; z-index: 999; }

#h_nav > ul > li.sub .h_sub > ul > li:before { position: absolute; content: ''; left: 0; top: 25px; border-left: 5px solid #f9504c; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }

#h_nav > ul > li.sub .h_sub > ul > li a { color: #FFF; display: block; padding: 20px 0; }

#h_nav > ul > li:last-child .h_menu:after { content: ""; background: #e0e0e0; position: absolute; top: 10px; right: -10px; width: 1px; height: 30px; }

#h_nav > ul > li .h_menu { padding: 10px 0 15px; position: relative; }

#h_nav > ul > li .h_menu:before { content: ""; background: #e0e0e0; position: absolute; top: 10px; left: -10px; width: 1px; height: 30px; }

#h_nav > ul > li .h_menu a { text-decoration: none; text-align: center; font-weight: bold; display: block; }

#h_nav > ul > li .h_menu a span { display: block; }

#h_nav > ul > li .h_menu a:hover img { opacity: 1; }

#h_nav > ul > li:hover .h_menu { background-color: #2b5599; border-top-left-radius: 5px; border-top-right-radius: 5px; }

#h_nav > ul > li:hover a { color: #fff; }

/*========================================== ■10.FOOTER ==================================================================================== */
#footer { position: relative; }

#footer .f_menu { background-color: #414141; padding: 22px 0 18px; }

#footer .f_menu ul li a { text-decoration: none; color: #fff; font-size: 12px; display: block; padding: 0 18px; position: relative; }

#footer .f_menu ul li a:after { content: ""; background: #d7d7d7; width: 1px; height: 13px; top: 2px; right: 0; position: absolute; }

#footer .f_menu ul li a:hover { text-decoration: underline; }

#footer .f_menu ul li:last-child a:after { background: none; }

#footer .f_cont { background-color: #333333; color: #fff; padding: 60px 0 50px; }

#footer .f_cont .box_l { width: 70%; }

#footer .f_cont .box_l .f_logo { margin-bottom: 15px; }

#footer .f_cont .box_l .adress { font-size: 12px; margin-bottom: 15px; line-height: 2; }

#footer .f_cont .box_l .f_tel { font-weight: bold; margin-bottom: 15px;}

#footer .f_cont .box_l .provision { font-size: 12px; margin-bottom: 15px; line-height: 2; }

#footer .f_cont .box_r { width: 30%; }

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

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

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

/*========================================== ■12.BREAKCRUMBS ==================================================================================== */
#breadcrumbs { padding: 12px 0 0; margin-bottom: 60px; }

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

#breadcrumbs ul li a { font-size: 14px; color: #000; text-decoration: underline; }

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

/*========================================== ■13.SIDEBAR ==================================================================================== */
.btn_white { border: 3px solid #fff; display: inline-block; margin: 20px 0; }

.btn_white a { color: #fff; text-decoration: none; display: block; padding: 10px 60px 10px 35px; font-size: 16px; font-weight: bold; background: url("../common_img/arr.png") no-repeat right 20px center; }

.btn_white:hover { background: rgba(255, 255, 255, 0.9); transition: All 0.3s ease; -webkit-transition: All 0.3s ease; -o-transition: All 0.3s ease; }

.btn_white:hover a { color: #000; background: url("../common_img/arr_black.png") no-repeat right 20px center; transition: All 0.3s ease; -webkit-transition: All 0.3s ease; -o-transition: All 0.3s ease; }

.btn_blue { background: #3861a3; display: inline-block; margin: 20px 0; }

.btn_blue a { color: #fff; text-decoration: none; display: block; padding: 17px 85px 17px 55px; font-size: 17px; font-weight: bold; background: url("../common_img/arr.png") no-repeat right 35px center; }

.btn_blue:hover { background: #4c87e5; transition: All 0.3s ease; -webkit-transition: All 0.3s ease; -o-transition: All 0.3s ease; }

.btn_blue:hover a { transition: All 0.3s ease; -webkit-transition: All 0.3s ease; -o-transition: All 0.3s ease; }

.btn_red { background: #d54a46; display: inline-block; margin: 20px 0; }

.btn_red a { color: #fff; text-decoration: none; display: block; padding: 17px 85px 17px 55px; font-size: 17px; font-weight: bold; background: url("../common_img/arr.png") no-repeat right 35px center; }

.btn_red:hover { background: #e1706d; transition: All 0.3s ease; -webkit-transition: All 0.3s ease; -o-transition: All 0.3s ease; }

.btn_red:hover a { transition: All 0.3s ease; -webkit-transition: All 0.3s ease; -o-transition: All 0.3s ease; }

/*========================================== ■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: 44px; height: 33px; background: url(../common_img/lightbox/ico-zoom.png); content: ""; }

a.cur_zoom2 { display: inline-block; z-index: 2; position: relative; }

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

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

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

.flex_wrap { -ms-flex-wrap: wrap; -webkit-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; -webkit-justify-content: center; justify-content: center; }

.flex_jus_around { -ms-flex-pack: distribute; -webkit-justify-content: space-around; 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; -webkit-justify-content: flex-end; justify-content: flex-end; }
