/* 479 740 961 */
/* ■基本設定 */
body
{
  color: #000000;
  background-color: #ffffff;
  line-height: 2em; /* 行の高さを実数値＋単位(em)で指定する */
}

html
{
  scroll-behavior: smooth;
}

a
{
  text-decoration: none;
}
 
a:link
{
  color: #3344ff;
}
 
a:active
{
  color: #ff0000;
}
 
a:visited
{
  color: #3344ff;
}
 
a:hover
{
  color: #ff0000;
}

p
{
  margin-top: 2px;
  margin-bottom: 2px;
}


.h2 /* index h2 */
{
  font-size: 1.0em;
  font-weight: normal;
  margin: 0px;
  padding: 0px;
}


.explanation /* サイト説明 */
{
  font-size: 0.7em;
  overflow: hidden;
  font-weight: normal;
  margin: 0px;
  padding: 0px;
}

/* 大型スマホに適用するCSS */
@media screen and ( min-width:479px ) 
{
.explanation
{
  font-size: 1.0em;
  overflow: hidden; 
  font-weight: normal;
}
}


/* ■基本設定 */
.wrapper
{
  width: auto;
  padding: 0 10px;      /* 左右の余白 */
  overflow: hidden;     /* floatを解除する */
}

/* タブレットに適用するCSS */
@media screen and ( min-width:740px )
{
.wrapper
{
  width: 800px;
  margin: 0 auto;       /* 左右に[auto]を指定することで、真ん中に寄る */
  padding: 0;           /* 上下左右の余白を0にしておく */
}
}

/* タブレットに適用するCSS 縦 */
@media screen and ( min-width:740px ) and (orientation:portrait)
{
.wrapper
{
  width: auto;
  margin: 0 auto;       /* 左右に[auto]を指定することで、真ん中に寄る */
  padding: 0;           /* 上下左右の余白を0にしておく */
}
}

/* PCに適用するCSS */
@media screen and ( min-width:961px )
{
.wrapper
{
  width: 800px;
}
}


/* ■基本設定 大きさとスペース設定 */
.main
{
  width: auto ;
  padding: 0 ;            /* 余白 */
  border: none ;          /* 枠線 */
}

.side
{
  width: auto ;
}

/* タブレットに適用するCSS */
@media screen and ( min-width:740px )
{
.main
{
  width: 550px ;
  padding: 0px ;                        /* 上下左右に0pxの余白 */
  border: 1px solid rgba(0,0,0,.1) ;    /* 枠線 */
}

.side
{
  width: 200px ;
}
}

/* タブレットに適用するCSS 縦 */
@media screen and ( min-width:740px ) and (orientation:portrait)
{
.main
{
  width: auto ;
  padding: 0px ;                        /* 上下左右に0pxの余白 */
  border: 1px solid rgba(0,0,0,.1) ;    /* 枠線 */
}

.side
{
  width: auto ;
}
}

/* PCに適用するCSS */
@media screen and ( min-width:961px )
{
.main
{
  width: 550px ;
}

.side
{
  width: 200px ;
}
}


/* ■2カラム設定 */
.main
{
  float: none;          /* floatを無効する */
}

.side
{
  float: none;          /* floatを無効する */
}

.wrapper
{
  overflow: hidden;     /* floatを解除する */
}

/* タブレットに適用するCSS */
@media screen and ( min-width:740px )
{
.main
{
  float: right;           /* 右に寄せる */
}

.side
{
  float: left;            /* 左に寄せる */
}
}

/* タブレットに適用するCSS 縦 */
@media screen and ( min-width:740px ) and (orientation:portrait)
{
.main
{
  float: none;           /* floatを無効する */
}

.side
{
  float: none;           /* floatを無効する */
}
}


/* ■ページタイトル（タイトル大） */
.page-title
{
  font-size: 1.5em;
  position: relative;
  margin: 0px;
  padding: 9px;
  padding-left: 15px;
  font-weight: bold;
  font-size: 100%;
  color: #000000;
  background-color: #EDEDED;
  border-left: 10px solid #ff0000;
}


/* ■見出し（タイトル中） */
.sub-title
{
  font-size: 1.5em;
  position: relative;
  margin: 0px;
  padding: 9px;
  padding-left: 15px;
  font-weight: bold;
  font-size: 100%;
  color: #000000;
  background-color: #EDEDED;
  border-left: 10px solid #ffff00;
}


/* ■サブタイトル（タイトル小） */
.sub-title2
{
  font-size: 1.0em;
  font-weight: bold;
  border-left: 10px solid #ffff00;
  border-bottom: 0px dashed #000000; /* 下ボーダーを、1px幅の破線、線色#に */
  overflow:hidden; 
   /* font-weight:normal; */
  margin: 25px 0px 5px 0px; /* マージン（上、右、下、左） */
  padding: 5px 0 5px 10px; /* パディング（上下、左右） */
}


/* ■メニューリスト */
ul.list-menu
{
  margin: 5; /* マージン（上下左右） */
  padding: 7px 5px; /* パディング（上下、左右） */
  list-style-type: none; /* リストマーク非表示 */
  font-size: 1em; /* 文字サイズ */
}
/* リスト項目 */
ul.list-menu li
{
  padding-left: 5px; /* 左パディング */
}
/* リスト項目（最初の項目） */
ul.list-menu li.first
{
  padding-left: 20px; /* 左パディング */
}
/* リンクエリア */
ul.list-menu li a
{
  padding-right: 18px; /* 右パディング */
}

ul.list-menu a
{
 display: block;
 padding: 5px 1px ; 	/* パディング（上下、左右） */
}

ul.list-menu a:hover
{
 background-color: #ffff00;
 color: #000000;
}


/* ■下付き線 */
.blue-line
{
   background: linear-gradient(transparent 80%, #33ccff 0%) ;
}

.pink-line
{
   background: linear-gradient(transparent 80%, #ff99cc 0%) ;
}


/* ■リンク箱 */
.yellow-linkbox
{
    width:100%;
    font-size:1em;
    font-weight:bold;
    text-decoration:none;
    display:block;
    text-align:center;
    margin: 10px 0px 0px 0px; /* マージン（上、右、下、左） */
    padding:10px 0 10px; /* パディング（上下、左右） */
    color:#fff;
    background-color:#ffffe0;
}


/* ■上部メニュー */
ol.head-menu
{
  margin: 10px 0px 0px 0px; /* マージン（上、右、下、左） */
  padding: 7px 5px; /* パディング（上下、左右） */
  background-color: #f9f9f9; /* 背景色 */
  list-style-type: none; /* リストマーク非表示 */
  font-size: 1em; /* 文字サイズ */
}
/* リスト項目 */
ol.head-menu li
{
  padding-left: 5px; /* 左パディング */
  display: inline; /* 項目を横並び */
}
/* リスト項目（最初の項目） */
ol.head-menu li.first
{
  padding-left: 25px; /* 左パディング */
}
/* リンクエリア */
ol.head-menu li a
{
  padding-right: 18px; /* 右パディング */
}


/* ■パンくずリスト */
ol.topic-path
{
  margin: 0px; /* マージン（上下左右） */
  padding: 7px 5px; /* パディング（上下、左右） */
  background-color: #f9f9f9; /* 背景色 */
  list-style-type: none; /* リストマーク非表示 */
  font-size: 1.0em; /* 文字サイズ */
}
/* リスト項目 */
ol.topic-path li
{
  padding-left: 5px; /* 左パディング */
  display: inline; /* 項目を横並び */
}
/* リスト項目（最初の項目） */
ol.topic-path li.first
{
  padding-left: 25px; /* 左パディング */
}
/* リンクエリア */
ol.topic-path li a
{
  padding-right: 18px; /* 右パディング */
  background: url(/img/y.gif) no-repeat right; /* 矢印記号（※） */
}


/* ■メインメニュー */
.main-menu
{
    width: 100%;
    font-size: 1.0em;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    margin: 0px 0px 1px 0px; /* マージン（上、右、下、左） */
    padding: 15px 0 15px; /* 8 0 10 */
    color: #ffffff;
    background-color: #EDEDED;
    border-collapse: separate;
    border-bottom: 1px solid #888888 ;	/* 下線 */
}


/* ■下部メニュー設定1/2 大きさとスペース設定 */
.r
{
  width: auto ;
  padding: 0 ;            /* 余白 */
  border: none ;          /* 枠線 */
}

.l
{
  width: auto ;
}

/* タブレットに適用するCSS */
@media screen and ( min-width:740px )
{
.r
{
  width: 50% ;
  padding: 0px ;                        /* 上下左右に0pxの余白 */
  border: 0px solid rgba(0,0,0,.1) ;    /* 枠線 */
}

.l
{
  width: 50% ;
}
}

/* タブレットに適用するCSS 縦 */
@media screen and ( min-width:740px ) and (orientation:portrait)
{
.r
{
  width: auto ;
  padding: 0px ;                        /* 上下左右に0pxの余白 */
  border: 0px solid rgba(0,0,0,.1) ;    /* 枠線 */
}

.l
{
  width: auto ;
}
}

/* PCに適用するCSS */
@media screen and ( min-width:961px )
{
.r
{
  width: 50% ;
}

.l
{
  width: 50% ;
}
}


/* ■下部メニュー設定2/2 */
.r
{
  float: none;          /* floatを無効する */
}

.l
{
  float: none;          /* floatを無効する */
}

.wrapper
{
  overflow: hidden;     /* floatを解除する */
}

/* タブレットに適用するCSS */
@media screen and ( min-width:740px )
{
.r
{
  float: left;           /* 右に寄せる */
}

.l
{
  float: right ;         /* 左に寄せる */
}
}

/* タブレットに適用するCSS 縦 */
@media screen and ( min-width:740px ) and (orientation:portrait)
{
.r
{
  float: none;          /* floatを無効する */
}

.l
{
  float: none;         /* floatを無効する */
}
}


.footer-menu
{
    width: 100%;
    font-size: 1.0em;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    margin: 0px 0px 1px 0px; /* マージン（上、右、下、左） */
    padding: 15px 0 15px; /* 8 0 10 */
    color: #ffffff;
    background-color: #EDEDED;
    border-collapse: separate;
}


/* ■ヒント開閉 ヒントbox */
.hidden_box {
  margin: 0px 0;
  padding: 1;
  text-align: left;
}

.hidden_box label {
  cursor: pointer;
  color: #3344ff;
}

.hidden_box label:hover {
  background: #f5f5f5;
  color: #ff0000;
}

.hidden_box label:after {
  content: "を表示";	/* 閉じている状態のときにラベルの後ろに続く文字 */
}

.hidden_box input {
  display: none;
}

.hidden_box .hidden_show {
  height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0;
  text-align: left;
  transition: 0.25s;
}

.hidden_box input:checked + label:after {
  content: "を隠す";	/* 開いている状態のときにラベルの後ろに続く文字 */
}

.hidden_box input:checked ~ .hidden_show {
  height: auto;
  opacity: 1;
  padding: 0 10px;      /* 左右の余白 */
  margin: 15px auto 15px auto; /* マージン（上、右、下、左） */
  overflow: hidden;     /* floatを解除する */
  width: 70%;
  heifht:100%;
  background:#F9F9F9;
  border:1px solid #009933;
}


/* ■非表示設定 */
/* PCのみ非表示 */
@media only screen and (min-width: 480px)
{
.pc-no { display: none; }
}

/* SPのみ非表示 */
@media screen and (max-width: 479px)
{
.sp-no { display: none;}
}


/* ■JavaScript無効メッセージ */
/* PCのみ非表示 */
.js
{
  background-color: #ff00ff;
}


/* ■目次box */
.box
{
  padding: 0 10px;      /* 左右の余白 */
  margin: 15px auto 0px auto; /* マージン（上、右、下、左） */
  overflow: hidden;     /* floatを解除する */
  width: 50%;
  heifht:100%;
  background:#F9F9F9;
  border:1px solid #009933;
}