@charset "UTF-8";

/* ========BASIC======== */
html {
   overflow-y:scroll;
}

body {
   margin:0;
   padding:0;
   line-height:1.6;
   letter-spacing:1px;
   font-family:Verdana, Helvetica, sans-serif;
   font-size:13px;
   color:#333;
   background:#EFEFEF;
}

h1,h2,h3,h4,h5,h6 {
   margin:0;
   padding:0;
   font-weight:normal;
}

p {
   margin:0 0 1em 0;
   padding:0;
}

br {
   letter-spacing:normal;
}

img {
   border:0;
}

a {
   color:#5A5D00;
   text-decoration:none;
}

a:hover {
   color:#7B8200;
   border-bottom:1px solid #7B8200;
}

dl,ol,ul {
   margin:0 0 1em 0;
   padding:0;
}

li {
   margin:0 0 0 40px;
   padding:0;
}

em {
   font-style:normal;
   background:#ff0;
}


/* ========TEMPLATE WIREFRAME======== */
#top {
   width:800px;
   margin:20px auto;
   padding:10px;
   background:#fff;
}

#header {
   width:800px;
   position:relative;
   background:#313431;
}

#header h1 a {
   color:#fff;
}

#header h1 a:hover {
   color:#ddd;
   border-bottom:none;
}

#navi {
   position:absolute;
   top:20px;
   right:0;
}

#icatch {
   margin:5px 0;
}

#menu {
   float:left;
   width:800px;
   margin:0 0 20px 0;
   background:#7B8200;
}

#menu:hover {
   background:#A4AC1E;
}

#contents {
   width:800px;
   clear:both;
   float:left;
}

#main {
   float:left;
   width:500px;
}

#sub {
   float:right;
   width:280px;
   padding:5px;
   background:#EBE9EB;
}
#totop {
   clear:both;
}

#footer {
   width:800px;
   clear:both;
   padding:10px 0;
}


/* ========HEADER CUSTOMIZE======== */
#header h1 {
   padding:20px 10px 0 20px;
   font-weight:bold;
   font-size:24px;
   color:#fff;
}

#header p {
   margin:0;
   padding:0 10px 10px 20px;
   color:#AAAAAA;
}


/* ========MENU CUSTOMIZE======== */
#menu ul {
   list-style:none;
   margin:0;
   padding:0;
}
#menu li {
   float:left;
   margin:0;
   padding:0;
}
#menu li a {
   display:block;
   padding:8px 20px;
   color:#fff;
}

#menu li a:hover {
   color:#fff;
   background:#5A5D00 ;
   border:none;
}

#menu .current {
   background-color:#5A5D00;
   color:#fff;
}


/* ========MAIN CUSTOMIZE======== */
#main h2 {
   margin-bottom:10px;
   padding:10px 0;
   font-weight:bold;
   font-size:16px;
   border-bottom:2px solid #ddd;
}

#main h3 {
   margin-bottom:2px;
   padding:2px 0 2px 10px;
   font-weight:bold;
   font-size:15px;
   line-height:1.2;
   border-left:5px solid #333;
}

#main h4 {
   margin-bottom:2px;
   font-weight:bold;
   font-size:14px;
   border-bottom:2px solid #666;
}

#main h5 {
   margin-bottom:2px;
   padding:2px 5px;
   font-weight:bold;
   font-size:13px;
   background:#ececec;
}

#main h6 {
   font-weight:bold;
   font-size:13px;
}

#main dl {
   margin:0;
   padding:0;
}

#main dt {
   text-decoration:underline;
}

#main dd {
   margin:0 0 1em 1em;
}

#main table {
   width:100%;
   border-collapse: collapse;
}

#main table th {
   padding:5px;
   font-size:12px;
   color:#fff;
   text-align:left;
   border:1px solid #ddd;
   background:#3C3C3C;
}

#main table td {
   padding:5px;
   font-size:12px;
   text-align:left;
   border:1px solid #ddd;
}


/* ========SUB CUSTOMIZE======== */
#sub h2 {
   padding:2px 5px;
   font-size:14px;
   color:#fff;
   background:#3C3C3C;
}

#sub ul {
   margin:5px 0 0 0;
   padding:0;
   list-style:none;
}

#sub li {
   margin:0 0 0 5px;
   padding-left:10px;
   border-bottom:1px solid #fff;
   line-height:2;
   background:url(../images/bg_list.gif) 0 50% no-repeat;
}


/* ========PAGETOP CUSTOMIZE========= */
#pageTop {
   padding:10px 0;
   text-align:right;
}

#pageTop a {
   padding:0 0 0 12px;
   background:url(../images/bg_pagetop.gif) 0 60% no-repeat;
}


#footMenu {
   position: relative;
   overflow: hidden;
   padding:20px 0 0 0;
   border-top:1px solid #CECFCE;
}

#footMenu ul {
   position:relative;
   left:50%;
   float:left;
   list-style:none;
   margin:0;
   padding:0;
}

#footMenu li {
   position:relative;
   left:-50%;
   float:left;
   margin:0 30px 0 0;
   padding:0;
}


/* ========FOOTER CUSTOMIZE======== */
.copyright {
   text-align:center;
   font-size:11px;
   padding:20px 0;
}


/* ===== Responsive additions (2025-09) ===== */

/* レイアウト全体の最大幅を制限して、画面幅に合わせて可変 */
#top, #header, #menu, #contents, #footer {
  width: 100%;
  max-width: 1100px;   /* PC表示時の上限 */
  margin: 0 auto;
  box-sizing: border-box;
}

/* 画像がはみ出さない */
img { max-width: 100%; height: auto; }

/* メニュー：横並び→狭い時は折り返し */
#menu ul { display: flex; flex-wrap: wrap; padding:0; margin:0; }
#menu li { flex: 1 1 auto; text-align:center; }
#menu li a { padding: 10px; }

/* 2カラム：PCは横並び、スマホは縦並び */
#contents { display: flex; flex-wrap: wrap; gap: 20px; }
#main { flex: 1 1 60%; min-width: 0; }
#sub  { flex: 1 1 35%; min-width: 260px; }

/* タブレット以下 */
@media (max-width: 1024px) {
  #main, #sub { flex: 1 1 100%; }
}

/* スマホ（縦持ち） */
@media (max-width: 768px) {
  body { font-size: 15px; line-height: 1.6; }
  #contents { flex-direction: column; }
  #main, #sub { flex: 1 1 100%; min-width: 0; }
  #menu li { flex: 1 1 50%; }  /* 2列に並ぶ */
}

/* 小型スマホ（〜480px） */
@media (max-width: 480px) {
  #menu li { flex: 1 1 100%; } /* 1列表示 */
  #menu li a { padding: 14px; }
}
/* ===== Font size adjustments for better readability ===== */

/* PC表示 */
body {
  font-size: 15px;   /* 元は13px → 少し大きく */
  line-height: 1.7;  /* 行間を広げて読みやすく */
}

/* タブレット以下 */
@media (max-width: 1024px) {
  body {
    font-size: 16px;   /* さらに少し大きめ */
    line-height: 1.7;
  }
}


/* スマホ（縦持ち） */
@media (max-width: 768px) {
  body {
    font-size: 19px;   /* ← さらに大きくしました */
    line-height: 1.9;  /* 行間も広げて読みやすく */
  }
}

/* 小型スマホ（〜480px） */
@media (max-width: 480px) {
  body {
    font-size: 20px;   /* ← 小さい画面ではさらに大きく */
    line-height: 2.0;
  }
}
/* ===== 全体の文字を大きくする設定 ===== */

/* PC表示 */
body {
  font-size: 16px;   /* 元は13px程度 → 大きめに変更 */
  line-height: 1.8;  /* 行間も広めにして読みやすく */
}

/* タブレット */
@media (max-width: 1024px) {
  body {
    font-size: 18px;  /* さらに大きく */
    line-height: 1.9;
  }
}

/* スマホ（縦持ち） */
@media (max-width: 768px) {
  body {
    font-size: 20px;  /* スマホで特に見やすいサイズ */
    line-height: 2.0;
  }
}

/* 小型スマホ（〜480px） */
@media (max-width: 480px) {
  body {
    font-size: 22px;  /* 小さい画面でも読みやすく大きめ */
    line-height: 2.1;
  }
}
/* ===== 見出しも含めて全体を大きくする設定 ===== */

/* PC表示 */
body {
  font-size: 16px;    /* 全文 */
  line-height: 1.8;
}
h1 { font-size: 2.2em; }   /* 約35px相当 */
h2 { font-size: 1.8em; }   /* 約29px相当 */
h3 { font-size: 1.6em; }   /* 約26px相当 */
h4 { font-size: 1.4em; }
h5 { font-size: 1.2em; }
h6 { font-size: 1.1em; }

/* タブレット */
@media (max-width: 1024px) {
  body { font-size: 18px; line-height: 1.9; }
  h1 { font-size: 2.4em; }
  h2 { font-size: 2.0em; }
  h3 { font-size: 1.8em; }
}

/* スマホ（縦持ち） */
@media (max-width: 768px) {
  body { font-size: 20px; line-height: 2.0; }
  h1 { font-size: 2.6em; }
  h2 { font-size: 2.2em; }
  h3 { font-size: 2.0em; }
}

/* 小型スマホ（〜480px） */
@media (max-width: 480px) {
  body { font-size: 22px; line-height: 2.1; }
  h1 { font-size: 2.8em; }
  h2 { font-size: 2.4em; }
  h3 { font-size: 2.2em; }
}

/* ===== end responsive additions ===== */
