@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Dela+Gothic+One&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');
/* =========================================================
   modern-update.css  v4  ＝大胆・インパクト重視＝
   ・写真/文面/レイアウト構造はそのまま
   ・見出し=Dela Gothic One（極太）/ 本文=Zen Kaku Gothic New
   ・横幅拡張＋写真大きく＋見出しを大きな青ブロックに
   ========================================================= */

/* ====== 下地・上部の極太ブランドバー ====== */
body{
  background:#eaeff6 !important;
  border-top:14px solid #1666d6;
  box-shadow:inset 0 0 0 0 transparent;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ====== 本文フォント（大胆な字体＋大きめ）====== */
#container,#container p,#container td,#container th,
#container li,#container dt,#container dd,#container address{
  font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",
    "Yu Gothic","Meiryo",sans-serif !important;
  font-weight:500;
  color:#2b2f36;
  letter-spacing:.02em;
}

/* ====== 横幅拡張（写真を大きく見せる土台）====== */
#container{
  width:1040px !important;
  background:#fff !important;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(15,35,70,.20);
}
#wrap{ padding-top:34px !important; padding-bottom:44px; }
#content{ width:820px !important; }
#footer .footer{ width:1040px !important; }
.sbox{ max-width:1040px; margin:0 auto !important; padding:4px 12px 0; text-align:center; }
.sbox .summary,.sbox h1.stext{ color:#9aa6b5 !important; }

/* ====== 写真を大きく（トップ＆下層の見出し画像・問合せボタン）====== */
body.home #content img{ width:100% !important; height:auto !important; }
body.home #content p.banner{ margin-bottom:28px; }
#content h1 img{ width:100% !important; height:auto !important; }
#content p.contact img{ width:100% !important; height:auto !important; }

/* ====== 見出し（極太ディスプレイ書体・大きな青ブロック＝大胆）====== */
#content h2,#content h3{
  font-family:"Dela Gothic One","Zen Kaku Gothic New",sans-serif !important;
  font-weight:400 !important;
  background:linear-gradient(100deg,#0c3f96 0%,#1f6fe0 100%) !important;
  color:#fff !important;
  border:none !important;
  border-radius:10px !important;
  padding:20px 22px !important;
  font-size:1.85em !important;
  line-height:1.5 !important;
  letter-spacing:.03em;
  margin:6px 0 22px !important;
  box-shadow:0 6px 0 #082a64, 0 12px 22px rgba(8,42,100,.25);
  text-shadow:0 2px 0 rgba(0,0,0,.12);
}
#content h4{
  font-family:"Zen Kaku Gothic New",sans-serif !important;
  font-weight:900 !important;
  color:#0c3f96 !important;
  border-bottom:3px solid #1666d6 !important;
  font-size:1.5em !important;
  padding-bottom:6px !important;
  margin:24px 0 14px !important;
}

/* ====== 本文の大きさ・読みやすさ ====== */
#content p{ font-size:1.12em; line-height:2.05; }
#content table th{ background:#0c3f96 !important; color:#fff !important; font-weight:700 !important; font-size:1.05em; }
#content table td{ font-size:1.06em; }
#content table th,#content table td{ border-color:#cfdcef !important; padding:15px 18px !important; }

/* ====== リンク ====== */
#container a:link,#container a:visited{ color:#1666d6; font-weight:700; }
#container a:hover{ color:#0c3f96; text-decoration:underline; }
a img{ transition:opacity .2s ease, transform .25s ease; }
a:hover img{ opacity:.92; transform:translateY(-2px); }

img{ max-width:100%; }

/* ===========================================================
   スマホ・タブレット対応（820px以下は1カラム）
   =========================================================== */
@media screen and (max-width: 820px){
  #wrap{ padding-top:14px !important; padding-bottom:14px; }
  #container,#footer .footer{
    width:auto !important; max-width:1040px;
    box-sizing:border-box; border-radius:12px;
  }
  #header{
    height:auto !important; position:static !important;
    padding:14px 10px; text-align:center; background-size:cover;
  }
  #header h2,#header p.logo,#header address,#header p.info{
    position:static !important; left:auto !important; right:auto !important; top:auto !important;
    display:block; margin:8px auto; text-align:center;
  }
  #header h2 img,#header p.logo img{ max-width:86%; }
  #main{ display:flex; flex-direction:column; padding-right:0 !important; }
  #content,#side{ width:auto !important; float:none !important; }
  #side{ order:-1; padding:0 10px; margin-bottom:18px; }
  #content{ padding:0 12px; }
  #side ul.menu li{ margin-bottom:6px; }
  #side ul.menu li img{ width:100%; }
  #topics{ height:auto !important; max-height:260px; }
  #footer .footer{ padding:14px 10px; }
  #footer .footer .box{ padding:0 0 16px; }
  #footer .footer p,#footer .footer address{
    float:none !important; text-align:center !important; padding:6px 0 !important;
  }
  #footer .footer ul{ text-align:center !important; padding-right:0 !important; }
  #content h2,#content h3{ font-size:1.35em !important; padding:14px 16px !important; }
  #content h4{ font-size:1.25em !important; }
  #content p{ font-size:1.05em; }
  img{ height:auto; }
  .map iframe{ width:100% !important; height:260px; }
}

@media screen and (max-width: 480px){
  #container{ font-size:1.0em; }
  #header h2 img,#header p.logo img{ max-width:78%; }
  #content h2,#content h3{ font-size:1.15em !important; }
}
