@charset "UTF-8";


/*---------- ページ全体の指定 ----------*/

html, body, header, section, article, nav, footer,
div, span, p, h1, h2, h3, h4,
ul, ol, li, dl, dt, dd,
table, tr, th, td, tbody, thead, tfoot {
  margin: 0;
  padding: 0;
}

img {border: 0;}

body {
  width: 100%;
  background-color: #ffffff;
  font: 14px/1.231 'ヒラギノ角ゴ pro W3', "Hiragino KaKu Gothic Pro", Osaka, sans-serif;
  line-height: 1.7;
}

a:link {
  color: #005ebb;
}

a:hover {
  color: #004080;
}

a:visited {
  color: #005ebb;
}


/*---------- ヘッダー ----------*/

header {
  width: 100%;
}

header h1 {
  padding: 5px 0 5px 0;
  text-align: center;
  color: #333333;
  font-size: 18px;
}

header h1 a {
  color: #333333 !important;
  text-decoration: none;
  font-size: 18px;
}

header h1 a:hover {
  color: #004080 !important;
  text-decoration: underline;
  font-size: 18px;
}

header img.main_photo {
  width: 100%;
  height: auto;
}

#page_top {
  margin: 0;
  padding: 0;
}


/*---------- コンテンツ ----------*/

#content {
  padding: 6px;
}

section {
  margin: 0 0 8px 0;
}

section h2 {
  margin: 0 0 8px 0;
  padding: 5px 0 3px 14px;
  font-size: 14px;
  color: #ffffff;
  border-bottom: solid 1px;
  border-bottom-color: #cccccc;
  background: url(img/h_bg.gif) center repeat-x;
}

section p {
  margin: 0 0 12px 0;
  padding: 3px 0;
  line-height: 1.8;
}

section .gray_bg {
  margin: 8px 0 8px 0;
  padding: 2px 8px 2px 8px;
  line-height: 1.7;
  letter-spacing: 1px;
  border-top: solid 1px #dddddd;
  border-right: solid 1px #dddddd;
  border-bottom: solid 1px #dddddd;
  border-left: solid 1px #dddddd;
  background-color: #eeeeee;
}

section .gray_bg p {
  padding: 3px;
  line-height: 1.7;
  letter-spacing: 1px;
}

section img.picture {
  margin: 0 10px 10px 0;
  float: left;
}

section img.picture_r {
  margin: 0 0 10px 10px;
  float: right;
}

section span.red {
  color: #e60033;
}

section span.red_b {
  color: #e60033;
  font-weight: bold;
}

section span.blue {
  color: #007bbb;
}

section span.pink {
  color: #c53d43;
}

section span.brown {
  color: #993300;
}

section span.brown_b {
  color: #993300;
  font-weight: bold;
}

section span.green {
  color: #00ae4f;
}

section table.table_line {
  width: 100%;
  border-collapse: collapse;
  border: solid 1px #bbbbbb;
  margin : 8px  0 8px 0;
}

section td.table_line {
  border-collapse: collapse;
  border: solid 1px #bbbbbb;
  padding : 8px 10px 8px 10px;
}


/*---------- ナビ ----------*/

nav {
  width: 100%;
  text-decoration: none;
  margin: 0 0 10px 0;
  background: url(img/nav_bg.gif) repeat-x;
}

nav h2 {
  padding: 5px 0 3px 14px;
  font-size: 14px;
  color: #ffffff;
  border-bottom: solid 1px;
  border-bottom-color: #cccccc;
  background: url(img/h_bg_gray.gif) center repeat-x;
}

nav ul {
  width: 100%;
  border-top: solid 1px;
  border-top-color: #cccccc;
}

nav li {
  width: 100%;
  list-style: none;
  text-align: center;
}

nav li a {
  padding: 10px;
  display: block;
  color: #005ebb !important;
  font-weight: bold;
  text-decoration: none;
  border-bottom: solid 2px;
  border-bottom-color: #cccccc;
  background: url(img/nav_bg.gif) repeat-x;
}

nav li a:hover {
  color: #004080 !important;
  display: block;
  font-weight: bold;
  text-decoration: none;
  border-bottom: solid 2px;
  border-bottom-color: #cccccc;
  background: url(img/nav_bg_hover.gif) repeat-x;
}


/*---------- トップに戻る ----------*/

#page_back {
  margin: 0 0 8px 0;
  padding: 0 6px 0 0;
  text-align: right;
}


/*---------- フッター ----------*/

footer {
  width: 100%;
  padding: 10px 0 10px 0;
  color: #333333;
  text-align: center;
  border-top: solid 1px;
  border-top-color: #cccccc;
  background-color: #eeeeee;
}

footer p {
  padding: 10px;
  color: #555555;
}

footer a {
  color: #555555 !important;
}

footer a:hover {
  color: #777777 !important;
}

footer a:visited {
  color: #555555;
}

footer p.copy {
  padding: 10px;
  font-size: 12px;
  color: #555555;
}

footer p.copy a {
  color: #005ebb !important;
  text-decoration: none;
}

footer p.copy a:hover {
  color: #004080 !important;
  text-decoration: underline;
}

footer p.copy a:visited {
  color: #005ebb;
  text-decoration: none;
}

/* ここから下がハンバーガーメニューに関するCSS */
/*
header {
  padding:10px;
  background: #ccc;
}
*/

#nav-drawer {
  position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 30px;
  height: 22px;
  vertical-align: middle;
}

/*ハンバーガーの形をCSSで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 25px;/*長さ*/
  border-radius: 3px;
  background: #555;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

/*閉じる用の薄黒箇所*/
#nav-close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*メニューの中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 90%;
  max-width: 330px;/*最大幅（お好みで調整を）*/
  height: 100%;
  background: #fff;
  transition: .3s ease-in-out;
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);
  font-size:140%;
  line-height:1.5;
}

/*チェックがついたら表示させる*/
#nav-input:checked ~ #nav-close {
  display: block;
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

.header-logo-menu{
 display: flex;
 display: -moz-flex;
 display: -o-flex;
 display: -webkit-flex;
 display: -ms-flex;
 flex-direction: row;
 -moz-flex-direction: row;
 -o-flex-direction: row;
 -webkit-flex-direction: row;
 -ms-flex-direction: row;
}

/*ロゴやサイトタイトルをセンタリング*/
.logo-area{text-align:center;margin:auto;}


/* 固定フッタ用*/
.bottom_menu {
        position: fixed;
        width: 100%;
        bottom: 0;
        left: 0;
        z-index: 1000;
        display: block;
        background-color: var(--color_main);
        font-size: 12px;
        padding: 0.5rem;
        transition: transform 0.3s ease-in-out; /* スムーズなアニメーション */
}

.bottom_menu.hide {transform: translateY(100%); /* メニューを下に隠す */}


