﻿html,body,div,span,iframe,h1,h2,h3,h4,p,pre,del,em,img,b,i,dl,dt,dd,ol,ul,li,form,table,tbody,tr,th,td,article,aside,footer,header,nav,section{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;box-sizing:border-box}
article,aside,footer,header,nav,section{display:block}
body{line-height:1;overflow-wrap:break-word;word-wrap:break-word}
input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;vertical-align:middle;box-sizing:border-box}
a{margin:0;padding:0;text-decoration:none;outline:none;font-size:100%;vertical-align:baseline;background:transparent}
a img{border-style:none}
ul,li{list-style-type:none}
hr{border:0;display:block;margin:1em 0;padding:0;height:1px}
.cf:before,.cf:after{content:" ";display:table}.cf:after{clear:both}

/* ===================================
背景,文字,リンク設定
=================================== */

html{
font-size:75.5%;
height:100%
}
body{
background:#83b6ce;/* ※指定は下の#wrapper_ここは広告回避用 */
color:#e9fafa;
font-size:1.3em;/* 文字の大きさ */
font-family:'Segoe UI','游ゴシック Medium','Yu Gothic Medium','游ゴシック体',YuGothic,'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
letter-spacing:.1em;
line-height:1.5;
text-align:center;
height:100%
}
/*  リンク
------------------------------ */
a{
color:inherit
}
a:hover{
color:#b8daf0
}
#rightcolumn a:not(.bg-none),aside a:not(.bg-none){
border-bottom:1px dashed #57768f;
color:#57768f;
display:inline-block;
margin:2px 2px 2px 0;
padding:0 2px
}
#rightcolumn a:not(.bg-none):hover{
color:#fff;
background:#83b6ce;
border-bottom:1px solid transparent;
border-radius:5px
}
aside a:not(.bg-none):hover{
border-bottom:1px solid #57768f;
color:#57768f
}

/* ===================================
基本
=================================== */

#wrapper{
background:#fff;/* 背景色 */
color:#272933;/* 文字色 */
padding-left:300px;/* (※1)と同じ */
position:relative;
margin:0 auto;
height:auto;min-height:100%
}
header{
position:absolute;
left:0;top:0;
z-index:5;
}
#header-bg{
background:url(image/back02.gif) no-repeat 50% 50%;
height:216px;/* (※2)画像の高さ */
width:300px; /* (※1)と同じ */
}
#header-inner{
position:absolute;
top:50%;left:50%;
width:220px;
-ms-transform:translate(-50%, -50%);
-webkit-transform:translate(-50%, -50%);
transform:translate(-50%, -50%);
}
#rightcolumn{
float:right;
margin-left:0;
text-align:left;
width:100%
}
#rightcolumn-inner{
margin-left:0;
padding:20px 20px 50px
}
#leftcolumn{
color:#83b6ce; /* 文字色 */
float:left;
margin-left:-300px; /* (※1)と同じ */
min-height:100%;
width:300px; /* (※1) */
}
#leftcolumn-inner{
background:url(image/back01.gif);
border-left:1px solid #83b6ce;
border-right:1px solid #83b6ce;
margin:0 auto;
padding:220px 10px 20px;/* (※2)より余分に空ける */
width:240px;
min-height:100%
}
/*  壁紙上の文字縁取り
------------------------------ */
header,aside,#index-inner{
 text-shadow:1px 0 0 #fff, 1px 1px 0 #fff, 0 1px 0 #fff, -1px 1px 0 #fff, -1px 0 0 #fff, -1px -1px 0 #fff, 0 -1px 0 #fff, 1px -1px 0 #fff
}

/* ===================================
メニュー
=================================== */

#menu{
background:#83b6ce;
display:block;
margin:10px -10px 20px;
text-align:center
}
nav li{
color:#fff;
display:inline-block;
font-weight:700;
margin:5px 0
}
nav li a{
display:inline-block;
padding:0 5px
}
nav li a:hover{
background:#fffff3;
color:#83b6ce
}
nav > ul > li + li::before{
content:"│";
font-size:.8em
}
/*  メニューを開くボタン非表示
------------------------------ */
#open{display:none}

/* ===================================
index
=================================== */

#index{
background:#fff;
color:#76798d
}
#index-inner{
background:url(image/back01.gif);/* 背景画像 */
border-left:1px solid #83b6ce;
border-right:1px solid #83b6ce;
margin:0 auto;
padding:20px;
height:auto;min-height:100%;
position:relative;
width:300px
}
#index-bg{
position:relative;
background:url(image/back02.gif) no-repeat 50% 50%;
height:216px;width:260px
}
#index-bginner{
position:absolute;
top:50%;left:50%;
width:100%;
-ms-transform:translate(-50%, -50%);
-webkit-transform:translate(-50%, -50%);
transform:translate(-50%, -50%)
}

/* ===================================
ページ上部へのリンク、著作権表示
=================================== */

/*  位置はscroll.jsで設定
------------------------------ */
#pagetop{
background:#83b6ce;/* 背景 */
color:#fff;/* 色 */
height:40px;width:40px; /* 大きさ */
border:0;
border-radius:30px;
box-sizing:border-box;
display:block;
font-size:13px;
letter-spacing: normal;
line-height:20px;
padding-top:12px;
position:fixed;
text-align:center;
text-decoration:none;
bottom:-80px;
z-index:10
}
#pagetop:before{
content:"";
display:block;
border-left:2px solid #fff;
border-top:2px solid #fff;
position:absolute;
top:10px;left:16px;
height:6px;width:6px;
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg)
}
#pagetop:hover{
background:#b8daf0
}
/*  著作権表示
------------------------------ */
#fl a{
display:inline-block;
margin:100px 0 20px;
text-decoration:none
}

/* ===================================
見出し、枠、線
=================================== */

h1{
color:#83b6ce;
font-size:1.4em;
letter-spacing:.1em;
line-height:1;
margin:0 0 10px
}
h2{
font-size:1.1em;
margin:20px 0 15px -10px;
padding:0.2em 0;
position:relative;
border-bottom:2px solid #76798d
}
h2:first-letter{
color:#83b6ce;
font-size:1.2em
}
h2::after{
background-color:#76798d;
position:absolute;
bottom:-2px;left:0;
content:'';
height:2px;width:20%;
z-index:2
}
h3{
background:url(image/icon02.gif) no-repeat 0 50%;
border-bottom:1px dashed;
font-size:1.1em;
margin:20px 0px 15px 0px;
padding:0 15px
}
#rightcolumn-inner h2:first-child{
margin-top:0
}
#leftcolumn h2,#leftcolumn h3{
margin:10px 0
}
dt{
background:#83b6ce;
border-radius:5px;
color:#fff;
clear:both;
font-weight:700;
float:left;
margin:0 0 5px;
padding:0 2px;
width:10em /* 文字数によっては調整 */
}
dd{
border-bottom:1px dashed;
margin:0 0 5px 12em; /* dtのwidthに2足してます */
padding:0 2px;
}
em{
background:#e8f5ff;
background:-webkit-linear-gradient(rgba(255,231,150,0) 50%, #e8f5ff 0%);
background:linear-gradient(rgba(255,231,150,0) 50%, #e8f5ff 0%);
font-style:normal;
font-weight:700
}
input,textarea{
background:#fffff3;
border:1px solid;
border-radius:5px;
margin:3px 0;
width:250px
}
textarea{
height:150px
}
#leftcolumn input,#leftcolumn textarea{
width:100%
}
hr{
border-top:1px solid #ccc
}
.marker{
background:#e8f5ff;
background:-webkit-linear-gradient(rgba(237,242,224,0) 60%, #e8f5ff 0%);
background:linear-gradient(rgba(237,242,224,0) 60%, #e8f5ff 0%);
padding:1px 5px
}
.dcline{
border-left:8px solid #83b6ce;
margin:5px 0;
padding:3px 3px 3px 10px
}
.textbox{
background:#fffff3;
border:1px solid;
border-radius:5px;
margin:10px 0;
padding:3px;
text-align:center
}
.title{
color:#83b6ce;
font-size:1.5em;
font-weight:700;
margin:1em 0
}
p{
margin: 0px 0px 10px;
}
/*  複数行の右寄せ
------------------------------ */
.r-justified{
text-align:right
}
.r-justified p{
display:inline-block;
text-align:left
}
.inline{
display:inline-block
}

/* ===================================
横幅1000pxで切り替え
=================================== */

@media screen and (max-width:1000px){

dt{float:none;clear:none}
dd{margin-left:20px}
input,textarea{width:100%}
img{max-width:100%;height:auto}/* 画像の縮小表示 */
}


/* アコーディオン、GLightboxの記述はAIに補助してもらいながら記述しています */

/* =========================
   Accordion styles
   ========================= */
.accordion-btn {
  cursor: pointer;
  padding: 5px 10px;
  width: auto;          /* 幅を自動にしてボタン内の文字幅に合わせる */
  text-align: left;
  background: none;
  border: 1px solid #83b6ce;
  margin-bottom: 5px;
  font-weight: normal;
  border-radius: 3px;   /* 角を少し丸くする場合 */
}

.accordion-btn:hover {
  background: #83b6ce;   /* マウスオーバー時の背景色 */
  color: #FFFFFF        /* 文字色 */
}

.accordion-btn.active {
  background: #83b6ce;  /* 開いた時の色 */
  color: #FFFFFF
}

.accordion-panel {
  display: none;       /* 折りたたみは非表示から */
  padding: 10px;       /* 内側の余白は必要に応じて調整 */
  background: none;    /* 背景を透明に */
  border: none;        /* 枠線を消す */
  margin-bottom: 0px; /* 下の余白は必要に応じて調整 */
}

.short-hr {
  width: 20%;
  margin-right: auto;
  border: none;
  border-top: 1px solid #83b6ce;
}


/* PC版 */
@media (min-width: 769px) {
  .gdesc-inner {
    color: #000;  /* 黒文字 */
  }
}

/* ===================================
スマホ、タブレット用
横幅600pxで切り替え
=================================== */

@media screen and (max-width:600px){
body{
font-size:1.5em;
line-height:1.7
}
#wrapper{
background:#fff url(image/back01.gif);
border-top:20px solid #83b6ce;
border-bottom:20px solid #83b6ce;
padding:20px 20px 60px
}
#header-inner{
padding:0 40px 10px 0;
text-align:left;
min-height:60px
} 
#rightcolumn-inner{
background:#fff; 
border-radius:10px;
box-shadow:2px 2px 2px #ccc;
padding:10px 10px 40px 20px
}
/*  いじらなくていいのまとめておきます
------------------------------ */
#wrapper{min-height:inherit}
header{position:static}
#header-bg{background:none;height:auto;width:auto}
#header-inner{position:static;width:auto;-ms-transform:translate(0);-webkit-transform:translate(0);transform:translate(0)}  
#rightcolumn{background:none;float:none;width:auto}
#leftcolumn{float:none;margin:0;min-height:inherit}
#leftcolumn-inner{height:100%;width:100%;min-height:inherit;overflow:auto;-webkit-overflow-scrolling:touch}
#index-inner,#index-bg{border:0;width:auto}

/* ===================================
スマホ、タブレット用メニュー
=================================== */

/*  スライド
------------------------------ */
#leftcolumn{
background:#83b6ce; /* 背景色 */
line-height:2;
padding:80px 10px 10px;/* メニューボタン分空ける */
position:fixed;
height:100%;width:300px; /* (*1)同じにする */
top:0;right:0;
-ms-transform:translate(300px); /* (*1)同じにする */
-webkit-transform:translate(300px); /* (*1)同じにする */
transform:translate(300px); /* (*1)同じにする */
transition:.3s;
z-index:1000
}
#leftcolumn-inner{
background:none;
border:0;
padding:0 10px;
}
#side-bg{
background:rgba(51,51,51,.5)/* 周りの背景色 */
}
/*  メニュー
------------------------------ */
#menu{
background:none;
margin:10px
}
nav li a{
background:#83b6ce;
border-radius:5px;
margin:5px;
padding:0 5px
}
nav > ul > li + li::before{
content:""
}
/*  メニューを開くボタン
------------------------------ */
#open{
background:#fff; /* 背景色 */
border-radius:20px;
box-shadow:2px 2px 2px #ccc;
display:inline-block;
position:absolute;
right:20px;top:20px; /* 位置 */
height:40px;width:40px; /* サイズ */
z-index:1001
}

/* スマホ用 */
@media screen and (max-width: 600px) {
  .accordion-btn {
    font-size: 14px;
    background: none;
  border-radius: 3px;
  }
  .accordion-btn.active {
    background-color: #83b6ce;
    color: #FFFFFF
  }
  .short-hr {
    width: 70%;
  margin-right: auto;
  border: none;
  border-top: 1px solid #83b6ce;
  }
}

/* 文字色の継承を強制的にリセット */
.gdesc-inner, 
.gdesc-inner * {
    color: inherit !important;
    text-decoration: none !important;
    border-bottom: none !important;
}

/* スマホ版 */
@media (max-width: 768px) {
  .gslide-title, .gdesc-inner {
    color: #fff;  /* 白文字 */
  }
}



#leftcolumn.open{-ms-transform:translate(0);-webkit-transform:translate(0);transform:translate(0)}
#side-bg{display:none;position:fixed;height:100%;width:100%;top:0;left:0;z-index:999;cursor:pointer}
#open.buttonclose{position:fixed}
#open-icon,#open-icon:before,#open-icon:after{background:#76798d}/* 線の色 */
#open-icon{display:block;margin:-1px 0 0 -10px;position:absolute;top:50%;left:50%;height:2px;width:20px}
#open-icon:before,#open-icon:after{content:"";display:block;position:absolute;top:50%;left:0;height:2px;width:20px;transition:.3s}
#open-icon:before{margin-top:-8px}
#open-icon:after{margin-top:6px}
#open .close{background:transparent}
#open .close:before,#open .close:after{margin-top:0}
#open .close:before{-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
#open .close:after{-ms-transform:rotate(-135deg);-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}
}
