@charset "UTF-8";
/* ============================================
   スマホ対応用CSS（既存サイトに追加）
   common.cssの後に読み込んでください
   <link rel="stylesheet" href="responsive-addon.css">
============================================ */

/* タブレット・スマホ対応（768px以下） */
@media screen and (max-width: 768px) {
  
  /* ========基本設定======== */
  html {
    overflow-x: hidden !important;
  }
  
  body {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
  }
  
  /* ========全ての画像を自動リサイズ======== */
  img {
    max-width: 100% !important;
    height: auto !important;
    width: 100% !important;
  }
  
  
  /* ========コンテナ（940px→100%）======== */
  #container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px auto !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }
  
  /* ========ヘッダー======== */
  #header {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    text-align: center !important;
	border-bottom: none;
  }
  
  #header h1 {
    float: none !important;
    width: 100% !important;
    text-align: center !important;
    margin: 10px 0 !important;
  }
  
  #header h1 img {
    max-width: 80% !important;
    margin: 0 auto !important;
  }
  
  #header p {
    float: none !important;
    width: 100% !important;
    margin: 10px 0 !important;
    text-align: center !important;
  }
  
  #header form {
    float: none !important;
    width: 100% !important;
    margin: 10px 0 !important;
    text-align: center !important;
  }
  
  #font-size {
    float: none !important;
    width: 100% !important;
    margin: 10px 0 !important;
    text-align: center !important;
  }
    
  /* ========メニュー（横並び→縦並び）======== */
  #menu {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  #menu ul {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  #menu li {
    float: none !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 15px !important;
    box-sizing: border-box !important;
    background: url("../images/bg_head.gif") !important;
    border: 1px solid #CCCCCC !important;
    border-bottom: none !important;
	text-align: center;
  }
  
  #menu li:last-child {
    border-bottom: 1px solid #CCCCCC !important;
  }
  
  #menu li a {
    display: block !important;
    width: 100% !important;
    padding: 3px 0 !important;
    font-size: 14px !important;
    /* background: url("../images/bg_arrow2.gif") no-repeat left center !important; */
    background: none;
  }
  
  /* ========スライドショー======== */
  #slide {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    margin: 10px 0 !important;
  }
  
  .slideInner li img {
    width: 100% !important;
    height: auto !important;
  }
  
  .slidePrev,
  .slideNext {
    width: 30px !important;
    height: 30px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
  
  /* ========キャッチ画像======== */
  #icatch {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
  }
  
  /* ========コンテンツエリア======== */
  #contents {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 0 !important;
  }
  
  /* ========左カラム（620px→100%）======== */
  #conL {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* ========右カラム（300px→非表示）======== */
  #conR {
    display: none !important;
  }
  
  /* ========TOPナビ（3カラム→1カラム）======== */
  .topNavi {
    width: 100% !important;
    margin: 10px 0 !important;
    padding: 0 !important;
  }
  
  .topNaviPhoto {
    float: none !important;
    width: 100% !important;
    margin: 10px 0 !important;
  }
  
  .topNaviColumn {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }
  
  .topNaviImg {
    width: 100% !important;
  }
  
  .topNaviDetail {
    position: relative !important;
    width: 100% !important;
    padding: 10px !important;
    text-align: left !important;
  }
  
  /* ========お知らせ======== */
  .information {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
    padding: 0 !important;
  }
  
  .information dt {
    float: none !important;
    width: 100% !important;
    padding: 8px 10px !important;
    background: #f5f5f5 !important;
    font-weight: bold !important;
    margin-top: 5px !important;
  }
  
  .information dd {
    width: 100% !important;
    padding: 8px 10px !important;
    margin: 0 !important;
    background: #fff !important;
    border-bottom: 1px dotted #ccc !important;
  }
  
  /* ========テーブル（600px→100%）======== */
  table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
    display: block !important;
    overflow-x: auto !important;
    font-size: 13px !important;
  }
  
  table th,
  table td {
    padding: 10px 8px !important;
    font-size: 13px !important;
    word-wrap: break-word !important;
  }

  table td {
    width: 70%;
  }
  
  
  /* 採用テーブル */
  .recruit_tbl01 {
    width: 100% !important;
  }
  
  .recruit_tbl01 th {
    width: 30% !important;
    display: table-cell !important;
  }
  
  .recruit_tbl01 td {
    width: 70% !important;
    display: table-cell !important;
  }
  
  /* ========見出し======== */
  h1, h2, h3, h4, h5, h6 {
    font-size: 16px !important;
    padding: 8px 10px !important;
    margin: 10px 0 !important;
    word-wrap: break-word !important;
  }
  
  h2 {
    font-size: 18px !important;
  }
  
  h4 {
    font-size: 17px !important;
  }
  
  h5 {
    font-size: 16px !important;
    margin: 15px 10px 5px !important;
  }
  
  /* ========段落======== */
  p {
    margin: 10px 5px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
  
  ul, ol, dl {
    margin: 10px 5px !important;
  }
  
  li {
    margin: 5px 0 5px 20px;
    font-size: 14px;
  }
  
  /* ========サブメニュー======== */
  .submenu {
    width: 100% !important;
    margin: 10px 0 !important;
  }
  
  .submenu ul {
    padding: 0 5px !important;
  }
  
  .submenu li {
    margin: 8px 5px !important;
  }
  
  /* ========バナーエリア======== */
  .bnrL {
    width: 100% !important;
    margin: 10px 0 !important;
  }
  
  .bnrL ul {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }
  
  .bnrL li {
    float: none !important;
    display: inline-block !important;
    width: auto !important;
    margin: 10px 5px !important;
  }
  
  .bnrR {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }
  
  /* ========フッターメニュー======== */
  #footMenu {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
  }
  
  #footMenu ul {
    width: 100% !important;
    padding: 10px 0 !important;
    text-align: center !important;
  }
  
  #footMenu li {
    display: block !important;
    margin: 5px 0 !important;
    padding: 5px 0 !important;
  }
  
  /* ========フッター======== */
  #footer {
    clear: both !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
  
  #footer_privacymark {
    float: left !important;
    margin: 20px auto !important;
  }
  
  #privacy_text {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 !important;
    text-align: left !important;
  }
  
  .copyright {
    width: 100% !important;
    font-size: 12px !important;
    text-align: center !important;
  }
  
  /* ========ページトップ======== */
  #pageTop {
    position: fixed !important;
    right: 10px !important;
    bottom: 10px !important;
    padding: 8px !important;
    z-index: 9999 !important;
  }
  
  /* ========aboutページ======== */
  #greeting_wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }
  
  #greeting_img {
    float: none !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important;
  }
  
  #greeting_box {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
  }
  
  /* ========serviceページ======== */
  #service_box {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }
  
  #service_box img {
    float: none !important;
    width: 30% !important;
    margin: 0 auto !important;
    padding: 0 !important;
	display: block;
  }
    
  #service_box hr {
    width: 100% !important;
    margin: 10px 0 !important;
  }
  
  #service_box h5 {
    float: none !important;
    width: 100% !important;
    margin: 10px 0 !important;
    text-align: left !important;
  }
  
  #service_box h6 {
    float: none !important;
    width: 100% !important;
    margin: 10px 0 !important;
    font-size: 16px !important;
	text-align: center;
  }
  
  #service_box p {
    float: none !important;
    width: 100% !important;
    margin: 10px 0 !important;
  }
  
  #service_box p.price {
    float: none !important;
    width: 100% !important;
    margin: 10px 0 !important;
    font-size: 16px !important;
	text-align: center;
 }
 
 h4#agent {
    text-align: center;
}
  
  /* ========フォーム======== */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea,
  select {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px !important; /* iOSズーム防止 */
    padding: 10px !important;
    box-sizing: border-box !important;
  }
  
  /* ========overflow対策======== */
  * {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  
}

/* ========スマホ専用（480px以下）======== */
@media screen and (max-width: 480px) {
  
  body {
    font-size: 13px !important;
  }
  
  #container {
    padding: 5px !important;
    margin: 5px auto !important;
  }
  
  #menu li {
    padding: 10px 12px !important;
    font-size: 13px !important;
    background: none #eff6ea !important;
  }
  
  h1, h2, h3, h4, h5, h6 {
    font-size: 15px !important;
    padding: 6px 8px !important;
  }
  
  h2 {
    font-size: 16px !important;
  }
  
  p, li {
    font-size: 13px !important;
  }
  
  table th,
  table td {
    font-size: 12px !important;
    padding: 8px 5px !important;
  }
  
  .information dt,
  .information dd {
    font-size: 12px !important;
    padding: 6px 8px !important;
  }
  
   /* ハンバーガーボタンの見た目（最低限） */
  #navToggle{
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #88b12b;
    background: #d1e6ba;
    cursor: pointer;
    color: #006633;
    font-weight: bold;
}
  #navToggle .navIcon{
    margin-left: auto;
    width: 22px;
    height: 2px;
    background: #006633;
    position: relative;
    display: inline-block;
	top: -5px;
	left: -5px;
  }
  #navToggle .navIcon::before,
  #navToggle .navIcon::after{
    content:"";
    position:absolute;
    left:0;
    width:22px;
    height:2px;
    background:#006633;
  }
  #navToggle .navIcon::before{ top:-7px; }
  #navToggle .navIcon::after{ top: 7px; }

  /* メニューは閉じる */
  #menu{ display: none; }

  /* 開いた状態 */
  #menu.is-open{ display: block; }

  /* スマホで縦並びにする */
  #menu ul{ margin: 0; padding: 0; }
  #menu li{ display: block; }
  #menu a{
    display: block;
    padding: 12px 14px;
  }
}
  
/* ========PC表示時はスマホ用要素を非表示======== */
@media screen and (min-width: 769px) {
  .sp-only,
  .mobile-only {
    display: none !important;
  }
}

/* ========スマホ表示時はPC用要素を非表示======== */
@media screen and (max-width: 768px) {
  .pc-only,
  .desktop-only {
    display: none !important;
  }
}
