@charset "utf-8";
/*
====================================================================================================
■ basic setting
 □ tag
 □ class
■ additional
■ layout
 □ #site_header
 □ main
 □ #sub_area
 □ #site_footer
----------------------------------------------------------------------------------------------------
※ 基本的にテンプレとしての簡易な整形レベルです。必ずサイトに合わせて各種設定を見直すこと。
※ font-sizeに関しては、リセット後、#wrapperに18px相当で指定済。そこからの相対指定で行うこと。
　（親要素に既に%指定済の場合、子孫要素は基準が変わるので注意してください。）
※ サイト制作後、不要と思われるコメントはなるべく削除し整理すること。
==================================================================================================== */
/*
====================================================================================================
■ basic setting
----------------------------------------------------------------------------------------------------
 □ tag
---------------------------------------------------------------------------------------------------- */
html { /* 画面外背景色 */ font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, 'MS UI Gothic', sans-serif;}
body { position: relative; margin: 0 auto; color: #000; word-wrap: break-word; word-break: break-all; line-height:1.5;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, 'MS UI Gothic', sans-serif !important;
}
  /* 基本の行の高さ */
address { font-style: normal; }
a { color: #363581; text-decoration: none; }
/*
----------------------------------------------------------------------------------------------------
 □ class
---------------------------------------------------------------------------------------------------- */
/*
--------------------------------------------------
 ▽ 文字装飾定義専用クラス
-------------------------------------------------- */
/* 主に新着情報への使用想定だが、通常コンテンツ内で使用も可 */
.text_left { text-align:left!important; }
.text_right { text-align:right!important;}
.text_center { text-align:center!important; }
.text_justify { text-align:justify!important; }
.text_nowrap { white-space:nowrap!important; }
.text_lowercase { text-transform:lowercase!important; }
.text_uppercase { text-transform:uppercase!important; }
.text_capitalize { text-transform:capitalize!important; }
.text_muted { color:#777!important; }
.text_normal { font-weight:normal !important; }
.text_bold { font-weight:bold!important; }
.text_red { color:#E75942!important; }
.text_black { color:#000000!important; }
.text_grey { color:#999999!important; }
.text_pink { color:#f66b82!important; }
.text_green { color:#8a9941!important; }
.text_blue { color:#00a2c6!important; } /* このブルーはリンク色のブルーとは色味を若干変える事を推奨 */
.text_yellow { color:#feab0f!important; }
.text_white { color:#F0F0F0!important; }
.text_purple { color:#b992ed!important; }
.text_orange{ color:#f29475!important; }
.text_un {
  text-decoration: underline;
}
.link_w {text-decoration: underline;color:#fff !important;}
/* ページトップへのリンク */
.page_up { text-align: right; margin: 10px 2px 20px; }

/*
--------------------------------------------------
 ▽ font-size設定専用クラス
-------------------------------------------------- */
/* デフォルトでは#wrapperに18px相当の指定が設定済みのため、そこからの相対値になります。
※親要素に既に%指定済みの場合は子孫要素は基準が変わるのでこのクラスの使用は出来れば避けます。 */
.f10 { font-size: 71.5% !important; } /* 10px */
.f11 { font-size: 78.6% !important; } /* 11px */
.f12 { font-size: 85.8% !important; } /* 12px */
.f13 { font-size: 92.9% !important; } /* 13px */
.f14 { font-size: 72.3% !important; } /* 14px */
.f15 { font-size: 107.2% !important; } /* 15px */
.f16 { font-size: 114.3% !important; } /* 16px */
.f17 { font-size: 121.5% !important; } /* 17px */
.f18 { font-size:128.6% !important; } /* 18px */
.f19 { font-size:135.8% !important; } /* 19px */
.f20 { font-size:142.9% !important; } /* 20px */
.f21 { font-size:150.0% !important; } /* 21px */
.f22 { font-size:157.2% !important; } /* 22px */
.f23 { font-size:164.3%  !important; } /* 23px */
.f24 { font-size:171.5% !important; } /* 24px */
.f25 { font-size:178.6% !important; } /* 25px */
.fwb { font-weight: bold; }
/*
--------------------------------------------------
 ▽ margin設定専用クラス
-------------------------------------------------- */
.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; }
.mt35 { margin-top:35px !important; }
.mt40 { margin-top:40px !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; }
.mr50 { margin-right:50px !important; }
.mr70 { margin-right:70px !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; }
.mb50 { margin-bottom:50px !important; }
.mb60 { margin-bottom:60px !important; }
.mb70 { margin-bottom:70px !important; }
.mb80 { margin-bottom:80px !important; }
.mb90 { margin-bottom:90px !important; }
.mb100 { margin-bottom:100px !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; }
.ml50 { margin-left:50px !important; }

.mb01per {margin-bottom: 1% !important;}
.mb02per {margin-bottom: 2% !important;}
.mb03per {margin-bottom: 3% !important;}
.mb04per {margin-bottom: 4% !important;}
.mb05per {margin-bottom: 5% !important;}
.mb06per {margin-bottom: 6% !important;}
.mb07per {margin-bottom: 7% !important;}
.mb08per {margin-bottom: 8% !important;}
.mb09per {margin-bottom: 9% !important;}
.mb10per {margin-bottom: 10% !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; }
.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; }
.r11 { -webkit-border-radius:11px; -moz-border-radius:11px; border-radius:11px; }
.r12 { -webkit-border-radius:12px; -moz-border-radius:12px; border-radius:12px; }
.r13 { -webkit-border-radius:13px; -moz-border-radius:13px; border-radius:13px; }
.r14 { -webkit-border-radius:14px; -moz-border-radius:14px; border-radius:14px; }
.r15 { -webkit-border-radius:15px; -moz-border-radius:15px; border-radius:15px; }
.r16 { -webkit-border-radius:16px; -moz-border-radius:16px; border-radius:16px; }
.r17 { -webkit-border-radius:17px; -moz-border-radius:17px; border-radius:17px; }
.r18 { -webkit-border-radius:18px; -moz-border-radius:18px; border-radius:18px; }
.r19 { -webkit-border-radius:19px; -moz-border-radius:19px; border-radius:19px; }
.r20 { -webkit-border-radius:20px; -moz-border-radius:20px; border-radius:20px; }
/*
--------------------------------------------------
 ▽ width
-------------------------------------------------- */
.w10 { width: 10% !important; }
.w20 { width: 20% !important; }
.w25 { width: 25% !important; }
.w30 { width: 30% !important; }
.w35 { width: 35% !important; }
.w40 { width: 40% !important; }
.w45 { width: 45% !important; }
.w50 { width: 50% !important; }
.w55 { width: 55% !important; }
.w60 { width: 60% !important; }
.w63 { width: 63% !important; }
.w65 { width: 65% !important; }
.w70 { width: 70% !important; }
.w80 { width: 80% !important; }
.w90 { width: 90% !important; }
.w100 { width: 100% !important; }

.pull_right { float:right !important; }
.pull_left { float:left!important; }
/*
--------------------------------------------------
 ▽ 1カラムコンテンツ
-------------------------------------------------- */
.col01 { }
.col01 figure { margin:0 auto 10px; }
/*
--------------------------------------------------
 ▽ 左右均等2カラムコンテンツ
-------------------------------------------------- */
.col02:after { display:block; clear:both; content:""; }
.col02 .float_l, .col02 .float_r { width:50%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; box-sizing:border-box; }
.col02 .float_l { padding-right:1%; /* ここで余白設定 */ }
.col02 .float_r { padding-left:1%; /* ここで余白設定 */ }
/*
--------------------------------------------------
 ▽ 2カラムコンテンツ(ul liの場合)
-------------------------------------------------- */
/* 左右2カラムデザイン（※ulに.col02を追加する事で切り替え） */
.col02>li { width:50%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; box-sizing:border-box; margin-bottom:10px; }
/* 左カラム */
.col02>li:nth-of-type(2n-1) {
 padding-right:1%;/* ここで余白設定 */
 float:left;
 clear:both;
}
/* 右カラム */
.col02>li:nth-of-type(2n) {
 padding-left:1%;/* ここで余白設定 */
 float:right;
}
.col02 figure { margin-bottom:10px; }
/*
--------------------------------------------------
 ▽ 3カラムコンテンツ(ul liの場合)
-------------------------------------------------- */
/* 3カラムデザイン（※ulに.col03を追加する事で切り替え） */
.col03:after { display:block; clear:both; content:""; }
.col03>li { width:32%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; box-sizing:border-box; margin-bottom:10px; float:left }
/* 右(1)カラム */
.col03>li:nth-of-type(3n-2) {
 clear:both;
}
/* 左(3)カラム */
.col03>li:nth-of-type(3n) { }
/* 中央(2)カラム */
.col03>li:nth-of-type(3n-1) {
 margin-left:2%;
 margin-right:2%;/* ここで余白設定(余白を指定した場合は.col03>liのwidthを変更) */
}
/*
--------------------------------------------------
 ▽ 新着などのページネーション
-------------------------------------------------- */
.pagination { margin-bottom: 20px; padding: 0 2px; }
/* 前へ */
.pagination .page_prev { float:left; }
/* 次へ */
.pagination .page_next { float:right; }
/* 戻る */
.pagination .page_back { text-align:center; }
.relative {position:relative;}
.absolute {position:absolute;}
/*
====================================================================================================
■ additional
---------------------------------------------------------------------------------------------------- */
.acco_box { clear:both; margin-bottom:10px; }
.acco_dv { display:none; }
.acco_a { cursor:pointer; }
.media_txt .txt { }
.media_txt .img { width: 40%; }
.media_txt .img img { width:100%; height:auto }
.pic_l .image { float:left; margin: 3px 10px 5px 0; }
.pic_r .image { float:right; margin: 3px 0 5px 10px; }
.document p,.pic_r p, .pic_l p { margin-bottom: 10px; }
/*Less and More*/
.box_maxheight { line-height: 1.5 }
.box_maxheight:after { display:table; content:" "; clear: both; }
.box_maxheight .maxheight_hide{ display:none; }
.box_maxheight .maxheight_btn { cursor:pointer; color:#dd0000; display: inline-block; float: right; text-decoration: underline; }
/*
====================================================================================================
■ layout
---------------------------------------------------------------------------------------------------- */
#wrapper { width: 100%; max-width:480px; margin: 0 auto; overflow:hidden; position: relative; }
/*
----------------------------------------------------------------------------------------------------
 □ #site_header
---------------------------------------------------------------------------------------------------- */
.sg_header {
  padding:2% 3%;
  position: relative;
}
.h_box01 {
  display:table;
  position: relative;
  width: 100%;
}
.h_logo {
  display: table-cell;
  width: 40%;
  vertical-align: middle;
}
.right_head {
  display: table-cell;
  padding: 0 0 0 3%;
  vertical-align: middle;
}
.right_head ul {float: right;}
.right_head li.h_mail { float: right;width: 23%;margin: 0 0 0 3%;}
.right_head li.h_menu { float: right;width: 23%;margin: 0 0 0 3%;position: relative;}
.right_head li.h_tel {float: right;width: 23%;}
.btn_gnav.opened { opacity: 0.7;}
.right_head li.h_menu.opened:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  background: url(../common_img/close.png) no-repeat center center;
  background-size: 100% auto;
}
/*
--------------------------------------------------
 ▽ #gnav （グローバルナビゲーション）
-------------------------------------------------- */
#gnav {
  display:none;
  position: absolute;
  top: 100%;
  width: 100%;
  background: #363581;
  left: 0;
  margin:auto;
  max-width: 480px;
  z-index: 99999;
  padding: 3%;
}
#gnav a {
    color: #fff;
}
#gnav a:after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
#gnav ul {
  padding: 0 3%;
}
#gnav li.opened {
  border-bottom: 0;
}
#gnav li:last-child {
  border-bottom: none;
}
#gnav li {
  font-size: 18px;
  padding:3% 10px 3% 3%;
  line-height: 1.3;
  border-bottom:1px solid #fff;
  background:url(../common_img/arr01.png) no-repeat right 3% center;
  background-size: 10px auto;
  position: relative;
}
.btn_close {
  text-align: right;
  margin:10px 10px;
}

/*
----------------------------------------------------------------------------------------------------
  □ main
---------------------------------------------------------------------------------------------------- */

/*
----------------------------------------------------------------------------------------------------
 □ #site_footer
---------------------------------------------------------------------------------------------------- */
.sg_footer {
  position:relative;
  border-top: 2px solid #363581;
  z-index: 666;
}
.page_top {
   text-align: right;
   padding: 0 3% 0 0;
}
.box01_foot {
    position: relative;
    background: #eeeeee;
    padding:7% 3%;
}
.f_logo {
  text-align: center;
  margin-bottom: 25px;
}
.f_tel {
  text-align: center;
  font-size: 28px;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 5px;
}
.f_tel a {
   color: #323232;
   text-decoration: none;
   background:url(../common_img/f_tel.png) no-repeat left center;
   background-size: 25px auto;
   padding: 0 0 0 30px;
}
.f_fax {
  width: 212px;
  line-height: 1;
  margin:auto auto 15px auto;
  text-align: right;
  font-size: 16px;
  color: #323232;
}
.info_foot01 {
  width: 335px;
  margin:auto auto 25px auto;
}
.f_text01 {
  font-weight: bold;
  text-align: center;
}
.f_mail {
  width: 245px;
  background:#363581 url(../common_img/f_mail.png) no-repeat left 20px center;
  background-size: 30px auto;
  text-align: center;
  font-size: 16px;
  position: relative;
  padding: 8px 0;
  margin:auto auto 15px auto;
}
.f_mail a {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}
.f_mail a:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  top: 0;
  right: 0;
}


.f_recruit {
  width: 245px;
  background:#363581 url(../common_img/f_recruit.png) no-repeat left 20px center;
  background-size: 30px auto;
  text-align: center;
  font-size: 16px;
  position: relative;
  padding: 8px 0;
  margin:auto auto 15px auto;
}
.f_recruit a {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}
.f_recruit a:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  top: 0;
  right: 0;
}






.f_add {
  float: left;
  font-size: 12px;
  width: 200px;
}
.f_access {
  float: right;
  width: 115px;
  margin:12px 0 0 0;
}
.f_access a {
  box-sizing: border-box;
  min-height: 26px;
  padding: 15px 0 0 20px;
  background:url(../common_img/icon01.png) no-repeat 0 100%;
  background-size: 17px 26px;
  color: #323232;
  font-size: 12px;
  text-decoration: underline;
}
.box02_foot {
  background:#313131;
  padding: 7% 10% 3% 10%;
}
.f_menu01 {
  float: left;
  width: 49%;
}
.f_menu02 {
  float: right;
  width: 49%;
}
.box02_foot ul {
  margin-bottom:30px;
}
.box02_foot ul li {
  margin-bottom: 10px;
}
.box02_foot ul li a {
 color: #fff;
 text-decoration: none;
}
.f_link01 {
  background:url(../common_img/arr02.png) no-repeat left 7px;
  background-size: 9px auto;
  padding: 0 0 0 14px;
}
.f_end {
  background: #363581;
  text-align: center;position:relative;
  font-size: 16px;
  padding:2% 0 2% 0;
}
.f_end a {
  display: inline-block;
  padding:2px 0 2px 33px; color: #fff;
  background: url(../common_img/icon_pc.png) no-repeat left center;
  background-size: 30px auto;
  text-decoration: underline;
}
.f_end a:after { position:absolute;content:"";top:0;right:0;bottom:0;left:0; }

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

}
@media screen and (max-width:375px) {
   .f_mail {
      padding: 10px 0 10px 20px;
  }
}
@media screen and (max-width:320px) {
  .f_text01 {
    font-size: 13px;
   }
   .info_foot01 {
      width: 100%;
      margin: auto auto 25px auto;
  }
  .f_add {
    float: none;
    margin-bottom: 10px;
    width: 100%;
   }
   .f_access {
      float: none;
      width: 100%;
      margin: 12px 0 0 0;
  }
}
