@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;
}
p{
	line-height:1em;
}

img{
	border: 0;
}

body{
  width: 100%;
  background-color: #ffffff;
  font : normal normal normal 14px /1.7 'ヒラギノ角ゴ pro W3', "Hiragino KaKu Gothic Pro", Osaka, sans-serif;
}

a:link{
  color: #192f60;
}

a:hover{
  color: #1e50a2;
}

a:visited{
  color: #192f60;
}


/*---------- ヘッダー ----------*/

header{
  width: 100%;
	background: skyblue;
}

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: #1e50a2 !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: #444444;
  border-bottom: solid 2px;
  border-bottom-color: #777777;
  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: #777777;
  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: #192f60 !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: #1e50a2 !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;
}

#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%);/*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#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);
}


/*---------- トップに戻る ----------*/

#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: #192f60 !important;
  text-decoration: none;
}

footer p.copy a:hover{
  color: #1e50a2 !important;
  text-decoration: underline;
}

footer p.copy a:visited{
  color: #192f60;
  text-decoration: none;
}

/*---------- 画像BOX ----------*/
.SideBySide p{
 display:inline-block;
 vertical-align:top; /*縦方向の揃え位置を指定*/
}
.box11{
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 5px #5d627b;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
.box11 p {
    margin: 0; 
    padding: 0;
}

.box7{
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #474747;
    background: whitesmoke;/*背景色*/
    border-left: double 7px #4ec4d3;/*左線*/
    border-right: double 7px #4ec4d3;/*右線*/
}
.box7 p {
    margin: 0; 
    padding: 0;
}
.box5 {
    padding: 0.5em 1em;
    margin: 2em 0;
    border: double 5px #4ec4d3;
}
.box5 p {
    margin: 0; 
    padding: 0;
}

.box16{
    padding: 0.5em 1em;
    margin: 2em 0;
    background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
    background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
}
.box16 p {
    margin: 0; 
    padding: 0;
}

.box27 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #62c1ce;
}
.box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #62c1ce;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.box27 p {
    margin: 0; 
    padding: 0;
}

.box2 {
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
    color: #6091d3;/*文字色*/
    background: #FFF;
    border: solid 3px #6091d3;/*線*/
    border-radius: 10px;/*角の丸み*/
}
.box2 p {
    margin: 0; 
    padding: 0;
}

.box28 {
    position: relative;
    margin: 2em 0;
    padding: 25px 10px 7px;
    border: solid 2px #FFC107;
}
.box28 .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #FFC107;
    color: #ffffff;
    font-weight: bold;
}
.box28 p {
    margin: 0; 
    padding: 0;
}

.box17{
    margin:2em 0;
    position: relative;
    padding: 0.5em 1.5em;
    border-top: solid 2px black;
    border-bottom: solid 2px black;
}
.box17:before, .box17:after{
    content: '';
    position: absolute;
    top: -10px;
    width: 2px;
    height: -webkit-calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: black;
}
.box17:before {left: 10px;}
.box17:after {right: 10px;}
.box17 p {
    margin: 0; 
    padding: 0;
}

.accordion-box {
    position: relative;
}
.accordion-box label {
    height: 140px; /* グラデーションの高さ */
    cursor: pointer;
    text-align: center;
    font-size: 12px;
    position: absolute;
    bottom: 0;
    width: 100%;

    /* 以下グラデーションは「背景が白」に併せて設定しています */ 
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
}
.accordion-box input:checked + label {
    background: inherit; /* 開いた時には背景グラデーションを消す */
}
.accordion-box label:after {
    content: "続きをよむ"; /* ラベルの文字 */
    letter-spacing: .05em;
    line-height: 2.5rem;
    position: absolute;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    color: #fff;
    background-color: #000;
    width: 18.75rem;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.accordion-box label:before {
    content: "↓";
    font-weight: 700;
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translate(-140px, 0);
    transform: translate(-140px, 0);
    background-color: #fff;
    z-index: 1;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    width: 20px;
    height: 20px;
    line-height: 20px;
}
.accordion-box input {
    display: none;
}
.accordion-box .accordion-container {
    overflow: hidden;
    height: 200px; /* 開く前に見えている部分の高さ */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}


.accordion-box input:checked + label {
    /* display: none ; 閉じるボタンは要らないとき */
}
.accordion-box input:checked + label:after {
    content: "閉じる";
}
.accordion-box input:checked + label:before {
    content: "↑";
}
.accordion-box input:checked ~ .accordion-container {
    height: auto;
    padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}

