@charset "UTF-8";

/**
 * ハチのマエストロ common.css
 *
 * #base
 *  #reset.............リセット用
 *  #default...........要素用
 *
 * #layout
 *
 * #common module
 *  #全ページ共通パーツ
 *  #全ページ共通ヘッダー
 *  #全ページ共通フッター
 *
 * #utility.........ヘルパークラス
 *  #Margin
 *  #Padding
 *  #font
 *  #position
 *  #other.............clearfix等
*/


/* ==========================================================================
   #base
   ========================================================================== */

/* #reset
   ----------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6, p, ul, ol, li {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6, th { font-weight: 600; }

ul { list-style: none; }

strong { font-weight: 600!important; }





/* #default
   ----------------------------------------------------------------- */
body {
  min-width: 1120px;
  color: #333;
  font-size: 15px;
  font-family: "Helvetica Neue", Helvetica, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.6;
  font-weight: 300;
  background-color: #f9f9f9;
}

a { color: #385996;}

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

img { vertical-align: bottom;}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}



/* ==========================================================================
   #layout
   ========================================================================== */
/*header*/
.l-header { background-color: #54381d;}

/*side*/
.l-side {
  float: left;
  width: 310px;
}

/*footerバナー*/
.l-footer-bnr { 
  overflow: hidden;
  margin-bottom: 40px;
  background-color: #54381d;
}


/*footer*/
.l-footer {
  width: 1020px;
  margin: 0 auto 50px;
}


/* ==========================================================================
   #common module
   ========================================================================== */

/* #全ページ共通パーツ
   ----------------------------------------------------------------- */
/* テキスト関係
----------------------- */
/*ポイント オレンジ*/
.point-txt01 { color: #e16f00;}

/*ポイント 赤*/
.point-txt02 { color: #e14000;}


/* #全ページ共通ヘッダー
   ----------------------------------------------------------------- */
.header {
  width: 1080px;
  margin: auto;
  padding: 8px 0 15px;
}

.logo {
  float: left;
  width: 352px;
  margin-right: 23px;
  line-height: 1;
}

.logo a { display: block;}


/* gnav
----------------------- */
.gnav {
  float: left;
  margin-top: 30px;
}

.gnav-menu {
  font-size: 0;
  line-height: 1;
}

.gnav-menu-item {
  display: inline-block;
  font-size: 18px;
  border-left: 1px solid #ffddbb;
}

.gnav-menu-item:first-child { border-left: none; }

.gnav-menu-item-link {
  display: block;
  padding: 8px 20px;

  color: #fff7e0;
  text-decoration: none;
}


/* 相談
----------------------- */
.header-counseling {
  display: block;
  position: relative;
  float: right;
  margin-top: 16px;
  width: 250px;
  padding: 20px 14px;
  font-size: 18px;
  line-height: 1;
  color: #54381d;
  text-decoration: none;
  border-radius: 4px;
  background-color: #ffd324;
  border: 1px solid #d1ae22;
  border-bottom: 3px solid #d1ae22;
}

.header-counseling:before {
  content: url('../images/parts/ico_arrow.png');
  position: absolute;
  top: 22px;
  right: 10px;
}

.header-counseling:hover {
  margin-top: 19px;
  border-bottom: 1px solid #e6c337;
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
}


/* #全ページ共通サイド
   ----------------------------------------------------------------- */
.side {
  margin-bottom: 40px;
  box-shadow:4px 2px 7px -5px #e5e5e5;
  box-shadow: 4px 2px 7px -5px rgba(220,220,220,0.9);
  -webkit-box-shadow: 4px 2px 7px -5px rgba(220,220,220,0.9);
  -moz-box-shadow: 4px 2px 7px -5px rgba(220,220,220,0.9);
  background-color: #fff;
  border: 1px solid #b88e73;
}

/* スタッフ紹介
----------------------- */
.side-staff {
  position: relative;
  margin-bottom: 17px;
}

.side-maestro {
  position: absolute;
  bottom: 26px;
  left: 77px;
  font-size: 15px;
  line-height: 1;
  font-weight: 300;
  color: #54381d;
}

.side-maestro-name {
  color: #d39e00;
  font-weight: 600;
}


.side-cap {
  padding: 0 20px;
  margin-bottom: 25px;
}


/* 記事一覧
----------------------- */
.side-column-ttl {
  margin-top: 54px;
  padding: 11px 0;
  font-size: 18px;
  font-weight: 600;
  color: #54381d;
  line-height: 1;
  text-align: center;
  background-color: #ffe88a;
}

.side-column-item {
  position: relative;
  border-top: 1px solid #eaddd5;
}

.side-column-item:first-child { border-top: none;}


/* ランキング
----------------------- */
.side-rank01,
.side-rank02,
.side-rank03,
.side-rank04,
.side-rank05 {
  display: block;
  position: relative;
  padding: 16px 25px 16px 55px;
  line-height: 1.47;
  color: #111;
  text-decoration: none;
}

.side-rank01:hover,
.side-rank02:hover,
.side-rank03:hover,
.side-rank04:hover,
.side-rank05:hover {
  color: #385996;
  text-decoration: underline;
}

.side-rank01:before,
.side-rank02:before,
.side-rank03:before,
.side-rank04:before,
.side-rank05:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
  margin: auto;
  width: 26px;
  height: 26px;
  padding-top: 6px;
  font-size: 14px;
  line-height: 1;
  color: #fff;
  text-align: center;
  border-radius: 50px;
}

/*1*/
.side-rank01:before {
  content: "1";
  background-color: #d39e00;
}

/*2*/
.side-rank02:before {
  content: "2";
  padding-left: 1px;
  background-color: #a8a8a8;
}

/*3*/
.side-rank03:before {
  content: "3";
  background-color: #cc772b;
}

/*4*/
.side-rank04:before {
  content: "4";
  background-color: #d6d6d6;
}

/*5*/
.side-rank05:before {
  content: "5";
  background-color: #d6d6d6;
}



/* ハチのお悩み
----------------------- */
.side-newpost-link {
  display: block;
  padding: 20px 15px;
  line-height: 1;
  text-decoration: none;
}

.side-newpost-thumb {
  float: left;
  margin: 0 10px 20px 0;
}

.side-newpost-thumb img {
  width: 80px;
  height: 49px;
  object-fit: cover;
}

.side-newpost-cap {
  float: right;
  width: 188px;
}

.side-newpost-ttl {
  display: block;
  width: 100%;
  margin: -3px 0 28px;
  font-size: 14px;
  line-height: 1.43;
  color: #333;
  text-decoration: none;
}


/*メタ情報*/
.side-newpost-meta {
  position: absolute;
  bottom: 20px;
  left: 105px;
  overflow: hidden;
  width: 188px;
}

.side-newpost-tag {
  float: left;
  display: inline-block;
  padding: 4px 4px 2px;
  font-size: 11px;
  line-height: 1;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #e16f00;
}

.side-newpost-date {
  float: right;
  display: inline-block;
  margin-top: 2px;
  font-size: 13px;
  line-height: 1;
  color: #9b9b9b;
}



/*バナー*/
.side-bnr {
  display: block;
  position: relative;
  float: left;
  width: 310px;
  height: 290px;
  border: 5px solid #54381d;
  background-image: url(../images/side/bnr_protect_bg.png);
  background-position: top center;
  background-repeat: no-repeat;
  box-shadow:4px 2px 7px -5px #e5e5e5;
  box-shadow: 4px 2px 7px -5px rgba(220,220,220,0.9);
  -webkit-box-shadow: 4px 2px 7px -5px rgba(220,220,220,0.9);
  -moz-box-shadow: 4px 2px 7px -5px rgba(220,220,220,0.9);
  border: 1px solid #dcdcdc\9;
}


.side-bnr-txt-area {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 300px;
  padding: 20px;
  line-height: 1;
  color: #fff;
  background-color: rgba(84, 56, 29, 0.9);
  background-color: #54381d\9;
}

.side-bnr-ttl {
  margin-bottom: 12px;
  font-size: 20px;
  font-weight: 600;
}

.side-bnr-txt {
  font-size: 15px;
  line-height: 1.33;
}


.side-bnr-more {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 5px 19px 4px 10px;
  font-size: 13px;
  color: #fff;
  background-color: #d39e00;
}

.side-bnr-more:before {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 4px;
  border-color: transparent transparent transparent #ffffff;
}


/* 全ページ共通フッター
   ----------------------------------------------------------------- */
/* バナー
----------------------- */
.footer-bnr {
  display: block;
  position: relative;
  overflow: hidden;
  width: 988px;
  margin: 30px auto;
  border: 4px solid #b88e73;
  background-color: #fff;
}

.footer-bnr-img01 {
  float: left;
  margin-right: 35px;
}

.footer-bnr-txt-area {
  float: left;
  position: relative;
  width: 428px;
  margin-top: 39px;
}

.footer-bnr-ttl {
  margin-bottom: 26px;
  font-size: 32px;
  line-height: 1;
  font-weight: 600;
  color: #e16f00;
}

.footer-bnr-txt {
  font-size: 16px;
  line-height: 1.5;
  color: #565656;
}

.footer-bnr-more {
  position: absolute;
  bottom: 0;
  right: 0;
  /*right: 37px;*/
  padding: 13px 33px 13px 26px;
  font-size: 18px;
  line-height: 1;
  color: #54381d;
  border-radius: 4px;
  background-color: #ffd324;
}

.footer-bnr-more:before {
  content: "";
  position: absolute;
  top: 18px;
  right: 15px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 4px;
  border-color: transparent transparent transparent #54381d;
}

.footer-bnr-img02 { float: right;}

/* フッターナビ
----------------------- */
/*見出し*/
.footer-menu-ttl {
  padding: 0 10px 10px;
  margin-bottom: 23px;
  font-size: 18px;
  font-weight: 600;
  color: #54381d;
  line-height: 1;
  border-bottom: 1px solid #b88e73;
}


/*メニュー*/
.footer-menu {
  overflow: hidden;
  margin: 0 -37px -18px 0;
  padding: 0 10px;
  font-size: 14px;
  line-height: 1.29;
}

/*当サイトについて*/
.l-footer-menu-mini {
  float: left;
  width: 330px;
  margin-right: 39px;
}


/*アイテム*/
.footer-menu li,
.l-footer-menu-mini li {
  position: relative;
  float: left;
  width: 295px;
  margin: 0 37px 18px 0;
  padding-left: 16px;
}

.footer-menu li:before,
.l-footer-menu-mini li:before {
  content: "・";
  position: absolute;
  top: 0px;
  left: 0px;
}

.footer-menu li a,
.l-footer-menu-mini li a {
  color: #333;
  text-decoration: none;
}

.footer-menu li a:hover,
.l-footer-menu-mini li a:hover {
  color: #385996;
  text-decoration: underline;
}


/*相談する*/
.footer-counseling {
  display: block;
  position: relative;
  width: 315px;
  margin: 60px 0 7px 15px;
  padding: 15px 0 14px 64px;
  font-size: 18px;
  line-height: 1;
  color: #54381d;
  text-decoration: none;
  border-radius: 4px;
  background-color: #ffd324;
  border: 1px solid #e6c337;
  border-bottom: 3px solid #e6c337;
}

.footer-counseling:before {
  content: url('../images/footer/ico_staff.png');
  position: absolute;
  bottom: -3px;
  left: -13px;
}

.footer-counseling:after {
  content: url('../images/parts/ico_arrow.png');
  position: absolute;
  bottom: 13px;
  right: 20px;
}

.footer-counseling:hover {
  margin-top: 62px;
  border-bottom: 1px solid #e6c337;
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
}


/*鍵のトラブル対策*/
.l-footer-menu {
  float: left;
  width: 651px;
}


/*コピーライト*/
.copyright {
  padding: 9px 0;
  font-size: 12px;
  color: #fff;
  line-height: 1;
  text-align: center;
  background-color: #54381d;
}



/* ==========================================================================
   #utility
   ========================================================================== */

/* #Margin
   ----------------------------------------------------------------- */
.m0{ margin:0!important; }

.mr0 { margin-right: 0!important; }
.mr5 { 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; }

.ml0 { margin-left: 0!important; }
.ml5 { 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; }

.mt0 { margin-top: 0!important; }
.mt5 { 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; }
.mt50 { margin-top: 50px!important; }

.mb0 { margin-bottom: 0!important; }
.mb1 { margin-bottom: 1px!important }
.mb2 { margin-bottom: 2px!important }
.mb3 { margin-bottom: 3px!important }
.mb4 { margin-bottom: 4px!important }
.mb5 { 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; }


/* #Padding
   ----------------------------------------------------------------- */
.p0{ padding: 0!important; }

.pr0 { padding-right: 0!important; }
.pr5 { 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; }
.pr50 { padding-right: 50px!important; }

.pl0 { padding-left: 0!important; }
.pl5 { 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; }
.pl50 { padding-left: 50px!important; }

.pt0 { padding-top: 0!important; }
.pt1 { padding-top: 1px!important; }
.pt2 { padding-top: 2px!important; }
.pt3 { padding-top: 3px!important; }
.pt4 { padding-top: 4px!important; }
.pt5 { 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; }
.pt50 { padding-top: 50px!important; }

.pb0 { padding-bottom: 0!important; }
.pb1 { padding-bottom: 1px!important; }
.pb2 { padding-bottom: 2px!important; }
.pb3 { padding-bottom: 3px!important; }
.pb4 { padding-bottom: 4px!important; }
.pb5 { 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; }
.pb50 { padding-bottom: 50px!important; }





/* #font
   ----------------------------------------------------------------- */
.tc { text-align: center; }
.tl { text-align: left; }
.tr { text-align: right; }

.tdu { text-decoration: underline; }

.lh10 { line-height: 1em; }
.lh15 { line-height: 1.5em; }
.lh2 { line-height: 2em; }
.lh3 { line-height: 3em; }

.vm { vertical-align: middle; }
.vt { vertical-align: top; }

.fs08 { font-size: 0.8em; }
.fs09 { font-size: 0.9em; }
.fs1 { font-size: 1em; }
.fs11 { font-size: 1.1em; }
.fs12 { font-size: 1.2em; }
.fs13 { font-size: 1.3em; }

.bn { border:none; }
.bbn { border-bottom: none; }
.bol { font-weight: 600; }





/* #position
   ----------------------------------------------------------------- */
.relative { position: relative; }
.absolute { position: absolute; }

/* float解除 */
.cb { clear:both; }

/* float */
.fl-left { float: left; }
.fl-right { float: right; }





/* #other
   ----------------------------------------------------------------- */
.oh { overflow: hidden; }
.di { display: inline; }
.db { display: block; }

.clearfix:before, .clearfix:after {
  content:"";
  display:table;
}

.clearfix:after { clear:both; }
.clearfix { zoom: 1; } /* For IE 6/7 */