@charset "utf-8";

/* ----------------------------------------------------------------------
 レイアウト
---------------------------------------------------------------------- */
html { max-width:100vw;max-height:100vw; }

@media only screen and (max-width:1329px) {
  body { min-width:300px;}
  #left_col { width:-webkit-calc(100% - 3.3333% - 300px); width:-moz-calc(100% - 3.3333% - 300px); width:calc(100% - 3.3333% - 300px); }
  #side_col { width:300px;}
  #main_col, .inner { width:96.22556%;  /* 1200/1330 */ }
}
@media only screen and (min-width:841px) {
  #left_col { padding-left:40px;width:-webkit-calc(100% - 0.0003% - 300px); width:-moz-calc(100% - 0.0003% - 300px); width:calc(100% - 0.0003% - 300px); }
}
@media only screen and (max-width:840px) {
  body { font-size:12px;height:100%;}
  #left_col, #side_col { width:initial; width:auto; }
  #left_col, #side_col { float:none !important; }
  #main_col, .inner { width:initial; width:auto;}
  #main_col { margin:0;  /*margin:30px 0 33px;*/ }
  #side_col { margin:0;background:#f1f1f1!important;}
  #left_col,#main_col { margin:0;background:#ffffff!important;}
}

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
@media only screen and (max-width:840px) {
  body { font-size:12px; }
}

/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
@media only screen and (max-width:1329px) {
  .fix_top.header_fix #header_top { width:100%; min-width:initial; }
}

@media only screen and (max-width:991px) {
  #header { position:relative; border-top:0!important; }
  #header_top { overflow:initial; }
  #header_top .inner { height:60px; min-height:initial; }

  /* ロゴ */
  #header_logo, #header_logo_fix { max-height:60px; }
  #header_logo .logo, #header_logo_fix .logo { line-height:60px; }
  #header_logo #logo_text .logo, #header_logo_fix #logo_text_fixed .logo { font-size:26px; }
  #header_logo img, #header_logo_fix img { max-height:50px; }
  #header_logo .desc { display:none; }

  /* メニューボタン */
  a.menu_button {
    position:absolute; right:0px; z-index:9; text-align: center;
    display:inline-block; color:#000; width:60px; height:60px; line-height:60px; text-decoration:none;
  }
  a.menu_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
  a.menu_button:before {
    content:'≡'; color:#fff; display:block; position:absolute; top:17px; left:19px;
    font-size:28px; width:24px; height:24px; line-height:24px;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }

  /* グローバルメニュー */
  #global_menu { display:none; clear:both; width:100%; margin:0; top:60px; left:0; position:absolute; z-index:9; background:#b69e84; max-height:-webkit-calc(100vh - 60px); max-height:calc(100vh - 60px); overflow-y:auto; }
  #global_menu ul { margin:0; width:100%; text-align:left; }
  #global_menuli, #global_menu > ul > li { display:block; width:100%; }
  #global_menu ul li:last-child { border-bottom:none; }
  #global_menu ul ul { display:none; }
  #global_menu a, #global_menu > ul > li > a {
    position:relative; display:block; margin:0; padding:9.5px 14px; height:auto; min-height:40px; line-height:1.6; overflow:hidden; text-decoration:none; font-size:13px; border-bottom:1px solid rgba(255,255,255,.3);
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  #global_menu a:hover { background:#92785f; }
  #global_menu ul ul a { padding-left:28px; background:rgba(255,255,255,.1); }
  #global_menu ul ul ul a { padding-left:42px; background:rgba(255,255,255,.2); }
  #global_menu ul ul ul ul a { padding-left:55px; background:rgba(255,255,255,.3); }
  #global_menu li.menu-item-has-children { position:relative; }
  #global_menu .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:39px; right:0px; top:1px; z-index:5; cursor:pointer; }
  #global_menu .child_menu_button .icon:before {
    content:'▼'; font-family:'design_plus'; font-size:13px; color:#eee; text-align:center;
    display:block; width:20px; height:20px; line-height:20px;
    position:absolute; left:20px; top:10px;
    -webkit-transition:transform 0.5s ease; -moz-transition:transform 0.5s ease; -ms-transition:transform 0.5s ease; -o-transition:transform 0.5s ease; transition:transform 0.5s ease;
  }
  #global_menu .child_menu_button.active .icon:before, #global_menu .child_menu_button:hover .icon:before { color:#fff; border-color:#fff; }
  #global_menu li.menu-item-has-children.open > .child_menu_button .icon:before {
    -webkit-transform:rotateX(180deg); -moz-transform:rotateX(180deg); -ms-transform:rotateX(180deg); -o-transform:rotateX(180deg); transform:rotateX(180deg);
  }

  /* パンくずリンク */
  #breadcrumb { padding:13px 0; height:initial; font-size:10px; line-height:1.7; }
  #breadcrumb ul { white-space:initial; }
  #breadcrumb li.home a:before { font-size:10px; color:#999; }
  #breadcrumb li { font-size:10px; }
  #breadcrumb li:after { font-size:9px; bottom:0; }
}

/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
@media only screen and (min-width:992px) {
  #footer_contents { padding:0px 0 110px 0;color:#fff;background:#4f2d1a;width:100%;max-width:1200px;margin:0 auto; }
  #footer_contents a { color:#fff;}
  /* ページ上部へ戻るボタン */
  #return_top { display:none; position:fixed; bottom:0; right:1%; }
  #return_top a { display:block; width:50px; height:50px; border-radius:0; }
  #return_top a:before {
    font-family:'design_plus'; color:#fff; font-size:16px; display:block; position:absolute; top:50%; left:50%; margin:-0.4em 0 0 -0.5em;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  }

  /* footer bottom menu */
  #footer_bottom_menu { display:block; margin:30px auto 0;padding-left:130px; }
/*
  #footer_bottom_menu ul { display:inline; font-size:0;width:92%;margin:0 auto; }
  #footer_bottom_menu li { display:inline-block; font-size:12px; line-height:2;text-align:left; }
  #footer_bottom_menu li:after { content:""; display:inline-block; padding:0 0.5em; }
  #footer_bottom_menu li:last-child:after { content:""; }
*/

  /* エリア・カテゴリーメニュー */
  #footer_nav { padding:30px 0 24px 0; }
  #footer_nav .footer_nav_cols .footer_nav_type5 { width:initial; width:auto; float:none; }
  #footer_nav .footer_nav_cols .footer_nav_type5 { width:initial; width:auto; float:none; margin-top:22px; }
  #footer_nav .footer_nav_type5 li { line-height:1.5; }
  #footer_nav .footer_nav_type5 li { min-width:20% !important; }

}

@media only screen and (max-width:991px) {
  #footer_contents { padding:0px 0 110px 0;background:#4f2d1a;color:#fff; }
  #footer_contents a { color:#fff;}
  #footer_info { padding:18px 0 0 0; }

  /* logo */
  #footer_logo .logo { font-size:26px; line-height:1.2; }

  /* footer bottom menu */
  #footer_bottom_menu { display:block; margin:30px 0 0 0; }
/*
  #footer_bottom_menu ul { display:inline; font-size:0; }
  #footer_bottom_menu li { display:inline-block; font-size:12px; line-height:2; }
  #footer_bottom_menu li:after { content:"|"; display:inline-block; padding:0 0.5em; }
  #footer_bottom_menu li:last-child:after { content:""; }
*/

  /* ページ上部へ戻るボタン */
  #return_top { display:none; position:fixed; bottom:0; right:1%; }
  #return_top a { display:block; width:50px; height:50px; border-radius:0; }
  #return_top a:before {
    font-family:'design_plus'; color:#fff; font-size:16px; display:block; position:absolute; top:50%; left:50%; margin:-0.4em 0 0 -0.5em;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  }

  /* コピーライト */
  #copyright { margin:32px -20px 0 -20px; padding:17px 20px; width:initial; width:auto; font-size:10px; line-height:1.6; text-align:center; background:#000; position:static;
    -webkit-transform:none; -moz-transform:none; -ms-transform:none; -o-transform:none; transform:none;
  }
  #copyright span { display:none; }


  /* エリア・カテゴリーメニュー */
  #footer_nav { padding:30px 0 24px 0; }
  #footer_nav .footer_nav_cols .footer_nav_1 { width:initial; width:auto; float:none; }
  #footer_nav .footer_nav_cols .footer_nav_2 { width:initial; width:auto; float:none; margin-top:22px; }
  #footer_nav .headline { margin:0 0 12px 0; padding:0 12px; min-width:46px; line-height:21px; border-radius:10.5px; }
  #footer_nav li { font-size:12px; line-height:2; }
  #footer_nav .footer_nav_type1 li { min-width:25% !important; }
  #footer_nav .footer_nav_type4 li { line-height:2; }
  #footer_nav .footer_nav_type4 li { min-width:20% !important; }
  #footer_nav .footer_nav_type5 li { line-height:1.5; }
  #footer_nav .footer_nav_type5 li { min-width:20% !important; }
}

@media only screen and (max-width:767px) {
  #footer_info { padding:10px 0 0 0; }
  /* エリア・カテゴリーメニュー */
  #footer_nav .footer_nav_type1 li { min-width:33% !important; }
  #footer_nav .footer_nav_type4 li { min-width:25% !important; }
  #footer_nav .footer_nav_type5 li { min-width:20% !important; }
}

@media only screen and (max-width:480px) {
  /* エリア・カテゴリーメニュー */
  #footer_nav .footer_nav_type1 li { min-width:50% !important; }
  #footer_nav .footer_nav_type4 li { min-width:50% !important; }
  #footer_nav .footer_nav_type5 li { min-width:50% !important; }
}

