@charset "UTF-8";

/* ========共通設定======== */
:root {
/*カラーパレット*/
  --color-primary: #2D2D8A;       /* コーポレートカラー（濃紺）　ブランドの核。ヘッダー、フッター、ボタン背景、リンクなどに使用。信頼感・知性を演出。 */
  --color-accent: #D4AF37;        /* アクセントカラー（ゴールド）　強調箇所（CTAボタン、見出し下線、アイコン）に使用。品格と高級感を演出。 */
  --color-bg-light: #F5F5F5;      /* セクション背景（ライトグレー）　背景やセクション分割に使用。情報の整理と落ち着きのある印象。 */
  --color-bg-white: #FFFFFF;      /* コンテンツ背景（白）　コンテンツ領域の背景。清潔感と視認性を確保。 */
  --color-text-main: #333333;     /* メインテキスト　本文やナビゲーションの標準テキスト。可読性重視。 */
  --color-text-sub: #666666;      /* 補足テキスト　補足情報やキャプションなどに使用。階層感を出す。 */
  --color-border: #DDDDDD;        /* 境界線・罫線　セクションの区切りやカードの枠線に使用。控えめな印象で情報整理。 */
  --color-hover-link: #1A1A66;    /* リンクホバー　メインカラーより濃いトーンで、ホバー時の変化を明確に。 */
  --color-hover-button: #3C3CB0;  /* ボタンホバー　メインカラーより明るめで、動きのある印象。 */

/*フォント*/
  --font-base: 'Noto Sans JP', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-heading: 'Noto Serif JP', 'Georgia', serif; /* hタグ */
}


/* ========BASIC======== */
html {
   overflow-y:scroll;
}

body {
   margin:0;
   padding:0;
   line-height:1.6;
   letter-spacing:1px;
   
   font-family: var(--font-base);
   font-size: 16px;
   line-height: 1.6;
   color: var(--color-text-main);

   background:#fff url("../images/bg.gif") 0 105px repeat-x;
   border-top:3px solid #134D99;
}

.container {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 32px;
}

br {
   letter-spacing:normal;
}

a {
   color:#000;
   text-decoration:none;
}

a:hover {
   color:#999;
   text-decoration:underline;
}

img {
   border:0;
   vertical-align:bottom;
}

h1,h2,h3,h4,h5,h6 {
   margin:0;
   font-family: var(--font-heading);
   font-weight: bold;
   color: var(--color-primary);
}

nav {
   font-size: 12px;
}

/* ========TEMPLATE LAYOUT======== */
#top {
   /*width:780px;*/
   margin:0 auto;
   padding:0;
}

#header {
   position:relative;
   /*width:780px;*/
}

#search {
   position:absolute;
   top:0;
   right:0;
}

#gnavi {
   position:absolute;
   bottom:0;
   right:0;
}

#menu {
   float:left;
   /*width:780px;*/
   margin-top:10px;
}

#icatch {
   background:#4169e1;
   /*width:780px;*/
}

#contents {
   float:left;
   /*width:780px;*/
   padding:10px 0;
   background:#fff;
}

#main {
   float:left;
   /*width:550px;*/
   width:80%;
}

#sub {
   float:right;
   /*width:220px;*/
   width:20%;
   text-align:center;
   background-color: var(--color-bg-light);
}

#pageTop {
   clear:both;
}

#footMenu {
   /*float:left;
   width:780px;*/
   margin-top:10px;
}

#footer {
   clear:both;
   /*width:780px;*/
}


/* ========HEADER CUSTOMIZE======== */
#header h1 {
   margin:0;
   padding:20px 0 0 0;
   font-size:32px;
   line-height:1.0;
}

#header h1 a:hover {
   color:#f1f1f1;
}


#header #gnavi ul {
   list-style:none;

}
#header #gnavi li {
   float:left;
   margin-left:15x;
   font-size:11px;
}

#header #gnavi li a {
   display:block;
   padding-left:8px;
   background:url("../images/bg_arrow.gif") 0 50% no-repeat;
}


/* -------------------- */
/* ▼メニューバーの装飾 */
/* -------------------- */
ul.ddmenu {
   margin: 0px;               /* メニューバー外側の余白(ゼロ) */
   padding: 0px 0px 0px 0px; /* メニューバー内側の余白(左に15px) */
   background-color: #ccccff; /* バーの背景色(濃い赤色) */
}

ul.ddmenu li.active a {
   color:#fff;
   background:#fff url("../images/bg_menu.gif") 100% 100% repeat-x;
   text-decoration:none;
}


/* -------------------------- */
/* ▼メインメニュー項目の装飾 */
/* -------------------------- */
ul.ddmenu li {
   width: 125px;          /* メニュー項目の横幅(125px) */
   display: inline-block; /* ★横並びに配置する */
   list-style-type: none; /* ★リストの先頭記号を消す */
   position: relative;    /* ★サブメニュー表示の基準位置にする */
}
ul.ddmenu a {
   background-color: #ccccff; /* メニュー項目の背景色(濃い赤色) */
   color: black;              /* メニュー項目の文字色(白色) */
   line-height: 40px;         /* メニュー項目のリンクの高さ(40px) */
   text-align: center;        /* メインメニューの文字列の配置(中央寄せ) */
   text-decoration: none;     /* メニュー項目の装飾(下線を消す) */
   font-weight: bold;         /* 太字にする */
   display: block;            /* ★項目内全域をリンク可能にする */
}
ul.ddmenu a:hover {
   background-color: #ddddff; /* メニュー項目にマウスが載ったときの背景色(淡いピンク) */
   color: #0000dd;            /* メニュー項目にマウスが載ったときの文字色(濃い赤色) */
}

/* ---------------------------------- */
/* ▼サブメニューがある場合に開く処理 */   /* ※サブメニューが1階層しか存在しない場合の記述 */
/* ---------------------------------- */
ul.ddmenu li:hover ul {
   display: block;      /* ★マウスポインタが載っている項目の内部にあるリストを表示する */
}

/* -------------------- */
/* ▼サブメニューの装飾 */
/* -------------------- */
ul.ddmenu ul {
   margin: 0px;         /* ★サブメニュー外側の余白(ゼロ) */
   padding: 0px;        /* ★サブメニュー内側の余白(ゼロ) */
   display: none;       /* ★標準では非表示にする */
   position: absolute;  /* ★絶対配置にする */
}

/* ------------------------ */
/* ▼サブメニュー項目の装飾 */
/* ------------------------ */
ul.ddmenu ul li {
   width: 130px;               /* サブメニュー1項目の横幅(135px) */
   border-top: 1px solid blue; /* 項目上側の枠線(ピンク色で1pxの実線) */
}
ul.ddmenu ul li a {
   line-height: 35px;     /* サブメニュー1項目の高さ(35px) */
   text-align: left;      /* 文字列の配置(左寄せ) */
   padding-left: 5px;     /* 文字列前方の余白(5px) */
   font-weight: normal;   /* 太字にはしない */
}
ul.ddmenu ul li a:hover {
   background-color: #ffffcc; /* サブメニュー項目にマウスが載ったときの背景色(淡い黄色) */
   color: #000000;            /* サブメニュー項目にマウスが載ったときの文字色(濃い緑色) */
}



/* ========search CUSTOMIZE======== */
#search dt {
   float:left;
   margin:2px 0 0 0;
   padding:0;

}

#search dd {
   float:left;
   margin:1px 0 0 10px;
   padding:0;
}

/* ========contents CUSTOMIZE======== */
#contents h2 {
   clear:both;
   margin-bottom:8px;
   padding:1px 10px;
   line-height:2.0;
   color:#fff;
   font-size:15px;
   font-weight:bold;
   background:#fff url("../images/bg_h2.gif") 100% 100% repeat-x;
}

#contents h3 {
   margin-bottom:8px;
   line-height:1.8;
   font-size:14px;
   color:#134D99;
   border-bottom:3px solid #005DD8;
}

#contents h4 {
   margin-bottom:2px;
   font-size:13px;
}

#contents h5 {
   margin-bottom:2px;
   font-size:13px;
}



/* ========MENU CUSTOMIZE======== */
#menu ul {
   margin:0 0 1px 0;
   padding:0;
   list-style:none;
}

#menu li {
   overflow:hidden;
   float:left;
   margin:0;
   margin-left:-1px;
   padding:0;
   border:1px solid #CECBCE;
   border-bottom:none;
   background:#fff url("../images/bg_menu.gif") -40px 0 repeat-x;
}

#menu li a {
   display:block;
   width:129px;
   height:20px;
   padding:10px 0;
   line-height:20px;
   font-weight:bold;
   text-align:center;
   outline:none;
}

#menu li a:hover {
   color:#fff;
   text-decoration:none;
   background:#fff url("../images/bg_menu.gif") 100% 100% repeat-x;
}

#menu li.home {
   width:128px;
   margin-left:0;
   border-left:1px solid #CECBCE;
}

#menu li.active a {
   color:#fff;
   background:#fff url("../images/bg_menu.gif") 100% 100% repeat-x;
   text-decoration:none;
}

/* ========MAINCONTENTS CUSTOMIZE======== */
#main a {
   color:var(--color-primary);
}

#main a:hover {
   color:#134D99;
   text-decoration:underline;
}

#main h2 {
   clear:both;
   margin-bottom:8px;
   padding:1px 10px;
   line-height:2.0;
   color:#fff;
   font-size:15px;
   font-weight:bold;
   background:#fff url("../images/bg_h2.gif") 100% 100% repeat-x;
}

#main h3 {
   margin-bottom:8px;
   line-height:1.8;
   font-size:14px;
   color:#134D99;
   border-bottom:3px solid #005DD8;
}

#main h4 {
   margin-bottom:2px;
   font-size:13px;
}

#main h5 {
   margin-bottom:2px;
   font-size:13px;
}

#main h6 {
   margin-bottom:2px;
   font-size:13px;
}

#main p {
   margin:0 0 1em 0;
}

#main dt {
   margin-bottom:3px;
}

#main dd {
   padding:0;
   margin:0 0 0.5em 1em;
   padding:3px;
   background:#f1f1f1;
}


/* TOPNAVI CUSTOMIZE */
#main div.topNavi {
   overflow:hidden;
   position:relative;
   margin-left:-10px;
   margin-bottom:20px;
}

* html #main div.topNavi {
   height:1em;
   overflow:visible;
}

#main div.topNavi div.topNaviColumn {
   display:inline;
   width:270px;
   float:left;
   margin-left:10px;
   padding:0 0 2em 0;
}

#main div.topNavi h2.topNaviImg {
   margin:0;
   padding:0;
   background:none;
}

#main div.topNavi div.topNaviColumn p.detail {
   position:absolute;
   bottom:0;
   width:270px;
   text-align:right;
}

#main div.topNavi div.topNaviColumn p.detail a {
   padding:0 0 0 7px;
   background:url("../images/bg_arrow.gif") no-repeat left 50%;
}

#main div.topNavi div.topNaviColumn p.cLeft {
   right:280px;
}

#main div.topNavi div.topNaviColumn p.cRight {
   right:0;
}

/* INFORMATION CUSTOMIZE */
#main dl.information {
   margin:0;
}
#main dl.information dt {
   float:left;
   padding-top:5px;
}

#main dl.information dd {
   margin:0 0 5px 0;
   padding: 5px 0px 5px 9em;
   background:url("../images/bg_dotline.gif") 0 100% repeat-x;
}

#main table {
   font-size:12px;
}

#main table {
   /*width:550px;*/
   width:100%;
   margin-bottom:20px;
   border-collapse:collapse;
   border:1px solid #999;
   border-spacing:0;
   line-height:1.8;
}

#main table th {
   padding:5px;
   border:1px solid #999;
   border-width:0 0 1px 1px;
   background:#EFEBEF;
   font-weight:bold;
   text-align:left;
}

#main table td {
   padding:5px;
   border:1px solid #999;
   border-width:0 0 1px 1px;
   text-align:left;
}

#main table td ol {
   margin:0;
   padding:0 0 0 30px;
}

#main table td li {
   margin:0;
   padding:0;
}


/* ========SUBCONTENTS CUSTOMIZE======== */
#sub .section {
   margin-bottom:10px;
}

#sub h2 {
   padding:5px;
   font-size:14px;
   font-weight:bold;
   color:#fff;
   background:#6E6E6E;
}

#sub h3 {
   padding:5px;
   font-size:13px;
   font-weight:bold;
   background:#EFEBEF;
}

#sub ul {
   margin:0;
   padding:0;
   border:1px solid #EFEBEF;
}

#sub li {
   padding:5px;
   line-height:1.8;
   list-style:none;
   border-bottom:1px solid #E7E7EF;
}

#sub li a {
   display:block;
   padding:5px 5px 5px 15px;
   background:url("../images/bg_arrow.gif") 5px 50% no-repeat;
}

#sub li a:hover {
   display:block;
   color:#333;
   background:#EFEBEF url("../images/bg_arrow.gif") 5px 50% no-repeat;
   text-decoration:none;
}


/* ========PAGRTOP CUSTOMIZE========= */
#pageTop {
   text-align:right;
   font-size:11px;
}

#pageTop a {
   padding:0 0 0 12px;
   background:url("../images/bg_pagetop.gif") 0 50% no-repeat;
}


/* ========FOOTMENU CUSTOMIZE======== */
#footMenu ul {
   margin:5px 0;
   padding:20px 0;
   text-align:center;
   border-top:1px solid #ddd;
}

#footMenu li {
   display:inline;
   margin:0 0 0 20px;
   list-style:none;
}

#footMenu li a:hover {
   color:#666;
   text-decoration:underline;
}


/* ========FOOTER CUSTOMIZE======== */
.copyright {
   font-style:normal;
   font-size:11px;
   color:#999;
   line-height:3.0;
   text-align:center;
}

/* レスポンシブ対応 ----------------------------------------------------------------------------------*/


@media (max-width: 768px) {
  h1 { font-size: 26px; }
  h2 { font-size: 22px; }
  h3 { font-size: 20px; }
  h4 { font-size: 17px; }
  h5 { font-size: 15px; }
  .container {
    padding: 0 20px;
  }

  body {
    font-size: 15px;
  }

  h1 {
    font-size: 1.8em;
  }

  h2 {
    font-size: 1.5em;
  }

}
@media (max-width: 480px) {
  .container {
    padding: 0 16px;
  }

  body {
    font-size: 14px;
  }

  h1 {
    font-size: 1.5em;
  }

  h2 {
    font-size: 1.3em;
  }
}