:root{
  --blue:#006e9f;
  --lblue:#308ebf;
//  --blue:#356fc9;
//  --lblue:#358fe9;
  --orange:#ef8040;
  --bg_powder:#eff3f5;
  --basefont:"Noto Serif JP", serif;
  --basefont2:"游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --basefont3:"Noto Serif JP", serif;
  --bg_white:#ffffff;
}
*{
  font-family: var(--basefont);
  font-size:13pt;
}
body {
  margin:0px;
  color:#000;
  padding:0px;
  position:relative;
//  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0em;
  word-break:break-all;
  background-color:var(--bg_powder);
}

img {
  object-fit:contain;
}
.top_menu {
  background-color:var(--blue);
  position:fixed;
  top:0;
  left:0;
  height:70px;
  opacity:100;
}
input[type="checkbox"],input[type="radio"] {
  width: 17px;
  height: 17px;
  vertical-align: middle;
  border-color:#f00;
  cursor:pointer;
}

/* カーソル形状 */
.pointer {
  cursor:pointer;
}
.move {
  cursor:move;
}
.cell {
  cursor:cell;
}
.default {
  cursor:default;
}
.lnk:hover {
  opacity:0.5;
}

/* キャレット表示 */
.caret_on {
  caret-color: black;
}
.caret_off {
  caret-color: transparent;
}

/* ボタン関連 */
input[type='button'] {
  border:none;
}
.btn {
  ext-decoration:none;
  cursor:pointer;
  color:white;
  background-color:var(--orange);
  padding:15px 50px 15px 50px;
  border-radius:5px;
  border:0;
  font-size:110%;
  font-weight:bold;
}
.btn1 {
  ext-decoration:none;
  cursor:pointer;
  color:white;
  background-color:var(--orange);
  padding:5px 20px 5px 20px;
  border-radius:5px;
  border:0;
  font-size:110%;
  font-weight:bold;
}
.btn2 {
  ext-decoration:none;
  cursor:pointer;
  color:white;
  background-color:var(--orange);
  padding:5px 20px 5px 20px;
  font-size:110%;
  font-weight:bold;
}
.btn:hover, .btn1:hover, .btn2:hover, .btn3:hover, .btn4:hover, .btn5:hover, .btn6:hover, .btn7:hover, .btn99:hover {
  opacity:0.7;
}
.btn3 {
  cursor:pointer;
}
.btn4 {
  ext-decoration:none;
  cursor:pointer;
  color:white;
  background-color:var(--orange);
  padding:2px 5px 2px 5px;
//  font-size:110%;
  font-weight:bold;
}
.btn5 {
  ext-decoration:none;
  cursor:pointer;
  color:white;
  background-color:var(--blue);
  padding:5px 20px 5px 20px;
  font-size:110%;
  font-weight:bold;
}
.btn6 {
  color:white;
  background-color:var(--orange);
  padding:1px 10px 1px 10px;
  border-radius:20px;
//  font-size:90%;
}
.btn7 {
  ext-decoration:none;
  cursor:pointer;
  color:white;
  background-color:var(--orange);
  padding:0px 5px 0px 5px;
  font-size:90%;
  font-weight:bold;
}
.btn99 {
  ext-decoration:none;
  cursor:pointer;
  color:white;
  background-color:red;
  padding:5px 20px 5px 20px;
  font-size:110%;
  font-weight:bold;
}

/* メニュー関連 */
.menu_btn {
  background-color:var(--blue);
  border:0;
  cursor:pointer;
  text-decoration:none;
  color:white;
}
.menu_btn:hover {
  background-color:var(--lblue);
}
.box1 {
  background-color:white;
  margin:10px;
  border-radius:6px;
  filter:drop-shadow(3px 8px 8px #888);
}
.box2 {
  background-color:white;
  margin:10px;
  border:1px dotted silver;
}
.box3 {
  background-color:white;
  margin:10px;
}
.bdu {
  border-bottom:1px dotted #888;
}
.bdt {
  border-top:1px dotted #888;
}

.mg_auto {
  margin:auto;
}

/* ボックスの罫線 */
div, table {
  box-sizing : border-box;
  border-collapse : collapse;
}
hr {
  color:#333;
  size:1px;
}

/* 改ページさせない */
.pg, table .pg {
  break-inside: avoid;
}

/* 1文字回転(右へ90度) */
.rt90, table th .rt90, table td .rt90 {
  display: inline-block;
  transform: rotate(90deg)
}

#base_box {
  width:1000px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:30px;
//  background-color:#e0ffff;
  position:relative;
//  border:1px solid #09c;
}

/* 罫線テーブルの制御 */
.list th {
  border:1px solid silver;
  background-color:#f0fdfd;
  text-align:center;
  vertical-align:middle;
}
.list td {
  border:1px solid silver;
  background-color:white;
  vertical-align:top;
}

/* 角の丸み */
.r3 {
  border-radius:3px 3px 3px 3px;
}
.r5 {
  border-radius:5px 5px 5px 5px;
}
.r7 {
  border-radius:7px 7px 7px 7px;
}
.r10 {
  border-radius:10px 10px 10px 10px;
}
.r15 {
  border-radius:15px 15px 15px 15px;
}
.r20 {
  border-radius:20px 20px 20px 20px;
}
.r30 {
  border-radius:30px 30px 30px 30px;
}
.r50 {
  border-radius:50px 50px 50px 50px;
}

/* コンテンツ配置 */
.fl_r {
  display:inline-block;
  float:right;
}
.fl_l {
  display:inline-block;
  float:left;
}
.fl_c {
  display:inline-block;
  float:center;
}
.both {
  clear:both;
}
.flex {
  display: -webkit-flex;
  display: flex;
}
.flex_a {//余白有り均等割り付け
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
  justify-content: space-around;
}
.flex_b {//均等割り付け
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.flex_l {//左寄せ
  display: -webkit-flex;
  display:flex;
  -webkit-justify-content:flex-start;
  justify-content:flex-start;
}
.flex_c {//横中央寄せ
  display: -webkit-flex;
  display:flex;
  -webkit-justify-content:center;
  justify-content:center;
}
.flex_r {//右寄せ
  display: -webkit-flex;
  display:flex;
  -webkit-justify-content:flex-end;
  justify-content:flex-end;
}
.flex_t {
  display: -webkit-flex;
  display:flex;
  align-items:center;
  -webkit-align-items:center;
  height:100%;
}
.table {
  display:table;
}
.trow {
  display:table-row;
}
.tcell {
  vertical-align:middle;
  display:table-cell;
}

/* 位置を中心に */
.center {
  left:0;
  right:0;
  margin-left:auto;
  margin-right:auto;
}

/* アライン(表示位置)制御 */
.ll, .list .ll, .skeleton .ll {
  text-align:left;
}
.rr, .list .rr, .skeleton .rr {
  text-align:right;
}
.cc, .list .cc, .skeleton .cc {
  text-align:center;
}
.tt, .list .tt {
  vertical-align:top;
}
.mm, .list .mm {
  height:100%;
  line-height:100%;
  vertical-align:middle;
}
.bmm {
  display:flex;
  justify-content: center;
  align-items    : center;
}
.bb, .list .bb {
  vertical-align:bottom;
}

/*縦の高さ*/
.line_hi1, .lh1 {
  line-height:1em;
}
.line_hi11, .lh11 {
  line-height:1.1em;
}
.line_lh12, .lh12 {
  line-height:1.2em;
}
.line_hi14, .lh14 {
  line-height:1.4em;
}
.line_hi15, .lh15 {
  line-height:1.5em;
}
.line_hi20, .lh20 {
  line-height:2em;
}
.line_hi100, .lh100p {
  line-height:100%;
}

textarea {
  width:98%;
}

/* インデント */
.indent {
  text-indent:-1em;
  padding-left:2em;
}

/* マージン */
.mg_1 {
  margin:1px;
}
.mg_3 {
  margin:3px;
}
.mg_5 {
  margin:5px;
}
.mg_10 {
  margin:10px;
}
.mg_20 {
  margin:20px;
}
.mg_30 {
  margin:30px;
}
.mg_50 {
  margin:50px;
}

/* カラー */
.red {
  color:red;
}
.white {
  color:white;
}
.blue {
  color:#0044aa;
}
.light_blue {
  color:#83feef;
}
.water {
  color:#48c;
}
.black {
  color:black;
}
.gray {
  color:#555;
}
.dark {
  color:#444;
}
.silver {
  color:silver;
}
.mist {
  color:#f8f8f8;
}
.brown {
  color:#642926;
}
.orange {
  color:orange;
}
.purple {
  color:#f8b;
}
.green {
  color:green;
}
.light_green {
  color:#0f4;
}
.lightgreen {
  color:#392;
}
.greenyellow {
  color:greenyellow;
}
.yellow {
  color:yellow;
}
.navy, .list .navy {
  color:navy;
}
.menubar {
  color:#0c407e;
}
.thin, .list .thin {
  color:#eaeaea;
}
.grape {
  color:#a04;
  font-weight:bold;
}
.mediumblue {
  color:mediumblue;
}
.darkgreen {
  color:darkgreen;
}
.crimson {
  color:crimson;
}
.maroon {
  color:maroon;
}
.peach, .list .peach {
  color:#fff5e6;
}
.olive {
  color:olive;
}

/* 背面カラー */
.bg_btn {
  background-color:#4888a4;
}
.bg_menu {
  background-color:#00ade0;
}
.bg_white, .list .bg_white {
  background-color:white;
}
.bg_choco, .list .bg_choco {
  background-color:#633;
}
.bg_menubar {
  background-color:#0c407e;
}
.bg_light, .list .bg_light {
  background-color:#f0fdfd;
}
.bg_silver, .list .bg_silver {
  background-color:silver;
}
.bg_mist, .list .bg_mist {
  background-color:#f4f4f4;
}
.bg_thin, .list .bg_thin {
  background-color:#eaeaea;
}
.bg_gray, .list .bg_gray {
  background-color:gray;
}
.bg_blue, .list .bg_blue {
  background-color:var(--blue);
}
.bg_lblue, .list .bg_lblue {
  background-color:var(--lblue);
}
.bg_lightblue, .list .bg_lightblue {
  background-color:var(--lblue);
}
.bg_lemon, .list .bg_lemon {
  background-color:#f8ffdf;
}
.bg_yellow, .list .bg_yellow {
  background-color:yellow;
}
.bg_melon, .list .bg_melon {
  background-color:#dfffdf;
}
.bg_pink, .list .bg_pink {
  background-color:#ffeaff;
}
.bg_orange, .list .bg_orange {
  background-color:orange;
}
.bg_azure, .list .bg_azure {
  background-color:azure;
}
.bg_purple, .list .bg_purple {
  background-color:#f8b;
}
.bg_brown, .list .bg_brown {
  background-color:brown;
}
.bg_greenyellow, .list .bg_greenyellow {
  background-color:greenyellow;
}
.bg_green, .list .bg_green {
  background-color:green;
}
.bg_navy, .list .bg_navy {
  background-color:navy;
}
.bg_red, .list .bg_red {
  background-color:#ff0000;
}
.bg_light_blue, .list .bg_light_blue {
  background-color:#83feef;
}
.bg_peach, .list .bg_peach {
  background-color:#fff5e6;
}
.bg_topmenu {
  background-color:#ccffff;
}
.bg_base {
  background-color:#e0ffff;
}
.bg_back {
  background-color:#faf6f3;
//  background-color:#e5e3dc;
}
.bg_footer {
  background-color:#a79f85;
}
.bg_black {
  background-color:black;
}
.bg_powder {
  background-color:var(--bg_powder);
}
/* フォントサイズ */
.fs_30 {
  font-size:30%;
}
.fs_40 {
  font-size:40%;
}
.fs_50 {
  font-size:50%;
}
.fs_60 {
  font-size:60%;
}
.fs_65 {
  font-size:65%;
}
.fs_70 {
  font-size:70%;
}
.fs_75 {
  font-size:75%;
}
.fs_80 {
  font-size:80%;
}
.fs_85 {
  font-size:85%;
}
.fs_90 {
  font-size:90%;
}
.fs_92 {
  font-size:92%;
}
.fs_95 {
  font-size:95%;
}
.fs_110 {
  font-size:110%;
}
.fs_120 {
  font-size:120%;
}
.fs_130 {
  font-size:130%;
}
.fs_150 {
  font-size:150%;
}
.fs_160 {
  font-size:160%;
}
.fs_175 {
  font-size:175%;
}
.fs_200 {
  font-size:200%;
}
.fs_250 {
  font-size:250%;
}
.fs_300 {
  font-size:300%;
}
.fs_400 {
  font-size:400%;
}
.fs_500 {
  font-size:500%;
}

/* 強調表示制御 */
.bold {
  font-weight:bold;
}
.none_bold {
  font-weight:normal;
}
.italic {
  font-style:italic;
}

/* パディング制御 */
.pp_500 {
  padding:500px;
}
.pp_300 {
  padding:300px;
}
.pp_200 {
  padding:200px;
}
.pp_100 {
  padding:100px;
}
.pp_50 {
  padding:50px;
}
.pp_40 {
  padding:40px;
}
.pp_30 {
  padding:30px;
}
.pp_20 {
  padding:20px;
}
.pp_15 {
  padding:15px;
}
.pp_10 {
  padding:10px;
}
.pp_7 {
  padding:7px;
}
.pp_5 {
  padding:5px;
}
.pp_3 {
  padding:3px;
}
.pp_2 {
  padding:2px;
}
.pp_1h {
  padding:1.5px;
}
.pp_1 {
  padding:1px;
}
.pp_0 {
  padding:0px;
}
.pl_500 {
  padding-left:500px;
}
.pl_300 {
  padding-left:300px;
}
.pl_200 {
  padding-left:200px;
}
.pl_100 {
  padding-left:100px;
}
.pl_50 {
  padding-left:50px;
}
.pl_30 {
  padding-left:30px;
}
.pl_20 {
  padding-left:20px;
}
.pl_15 {
  padding-left:15px;
}
.pl_10 {
  padding-left:10px;
}
.pl_7 {
  padding-left:7px;
}
.pl_5 {
  padding-left:5px;
}
.pl_3 {
  padding-left:3px;
}
.pl_0 {
  padding-left:0px;
}
.pr_500 {
  padding-right:500px;
}
.pr_300 {
  padding-right:300px;
}
.pr_200 {
  padding-right:200px;
}
.pr_100 {
  padding-right:100px;
}
.pr_50 {
  padding-right:50px;
}
.pr_30 {
  padding-right:30px;
}
.pr_20 {
  padding-right:20px;
}
.pr_10 {
  padding-right:10px;
}
.pr_7 {
  padding-right:7px;
}
.pr_5 {
  padding-right:5px;
}
.pr_3 {
  padding-right:3px;
}
.pr_1 {
  padding-right:1px;
}
.pr_0 {
  padding-right:0px;
}
.pt_500 {
  padding-top:500px;
}
.pt_300 {
  padding-top:300px;
}
.pt_200 {
  padding-top:200px;
}
.pt_100 {
  padding-top:100px;
}
.pt_80 {
  padding-top:80px;
}
.pt_50 {
  padding-top:50px;
}
.pt_40 {
  padding-top:40px;
}
.pt_30 {
  padding-top:30px;
}
.pt_20 {
  padding-top:20px;
}
.pt_10 {
  padding-top:10px;
}
.pt_7 {
  padding-top:7px;
}
.pt_5 {
  padding-top:5px;
}
.pt_3 {
  padding-top:3px;
}
.pt_0 {
  padding-top:0px;
}
.pb_500 {
  padding-bottom:500px;
}
.pb_300 {
  padding-bottom:300px;
}
.pb_200 {
  padding-bottom:200px;
}
.pb_100 {
  padding-bottom:100px;
}
.pb_70 {
  padding-bottom:70px;
}
.pb_50 {
  padding-bottom:50px;
}
.pb_30 {
  padding-bottom:30px;
}
.pb_20 {
  padding-bottom:20px;
}
.pb_10 {
  padding-bottom:10px;
}
.pb_7 {
  padding-bottom:7px;
}
.pb_5 {
  padding-bottom:5px;
}
.pb_3 {
  padding-bottom:3px;
}
.pb_0 {
  padding-bottom:0px;
}

/* エレメントの表示種別 */
.relative {
  position:relative;
}
.absolute {
  position:absolute;
}
.fixed {
	position:fixed;
}
.static {
	position:static;
}

/* 表示切り替え制御 */
.hide {
  display:none;
}
.block {
  display:block;
}
.show, .show_i {
  display:inline;
}
.show_b, .blk {
  display:block;
}
.show_ib, .ib {
  display:inline-block;
}

/* 縦文字列 */
.tate {
  display: inline-block;
  text-orientation: upright;
  writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
}

/* inputエリア */
input[type='text'], input[type='number'], input[type='password'], input[type='email'] {
  font-family: var(--basefont);
//  font-family: serif;
  border:none;
  padding:5px;
  border-radius:3px;
  background-color:white;
  height:50px;
  border:none;
}
textarea, select {
  font-family: var(--basefont);
  border:none;
  padding:3px;
  border-radius:3px;
  background-color:white;
}
input[type='number'] {
  font-family: var(--basefont);
  text-align:right;
  background-color:bg_white;
}
button  {
  font-family: var(--basefont);
  border:none;
  background-color:var(--bg_powder);
}

/* 高さ制御 */
.h10 {
  height:10px;
}
.h20 {
  height:20px;
}
.h30 {
  height:30px;
}
.h40 {
  height:40px;
}
.h50 {
  height:50px;
}
.h60 {
  height:60px;
}
.h70 {
  height:70px;
}
.h80 {
  height:80px;
}
.h100 {
  height:100px;
}
.h150 {
  height:150px;
}
.h200 {
  height:200px;
}
.h250 {
  height:250px;
}
.h300 {
  height:300px;
}
.h400 {
  height:400px;
}
.h500 {
  height:500px;
}
.h600 {
  height:600px;
}
.h800 {
  height:800px;
}
.h1000 {
  height:1000px;
}
.h100p {
  height:100%;
}

/* スクロール制御 */
.scrolly {
  overflow-y:scroll;
}
.scrollx {
  overflow-x:scroll;
}
.scrollx0 {
  overflow-x:hidden;
}
.scrolly0 {
  overflow-y:hidden;
}

/* 重なり制御 */
.z0 {
  z-index:0;
}
.z999 {
  z-index:999;
}

/* 透過値制御 */
.opa1 {
  opacity:1;
}
.opa7 {
  opacity:0.7;
}
.opa5 {
  opacity:0.5;
}
.opa0 {
  opacity:0;
}

/* リンクボタン制御 */
.link {
  color:#444;
  cursor:pointer;
}
.link2 {
  color:white;
  cursor:pointer;
}
.link3 {
  cursor:pointer;
}
.link4 {
  text-weight:bold;
  font-size:110%;
  cursor:pointer;
}
.link:hover, .link2:hover, .link4:hover, .a_link:hover {
  opacity:0.5;
//  cursor:pointer;
}
.a_link {
  text-decolation:none;
  color:white;
}
/* 下線 */
.undr {
  text-decoration:underline;
}
.no_undr {
  text-decoration:none;
}

/* 最大横幅制御 */
.max2000 {
  max-width:2000px;
}
.max1800 {
  max-width:1800px;
}
.max1500 {
  max-width:1500px;
}
.max1200 {
  max-width:1200px;
}
.max1000 {
  max-width:1000px;
}
.max950 {
  max-width:950px;
}
.max800 {
  max-width:800px;
}
.max600 {
  max-width:600px;
}
.max500 {
  max-width:500px;
}
.max400 {
  max-width:400px;
}
.max330 {
  max-width:330px;
}
.max300 {
  max-width:300px;
}
.max200 {
  max-width:200px;
}

/* 最小横幅制御 */
.min1000 {
  min-width:1000px;
}
.min950 {
  min-width:950px;
}
.min800 {
  min-width:800px;
}
.min500 {
  min-width:500px;
}
.min400 {
  min-width:400px;
}
.min-w380 {
  min-width:380px;
}
.min350 {
  min-width:350px;
}
.min300 {
  min-width:300px;
}

/* 横幅制御 */
.w2048 {
  width:2048px;
}
.w2000 {
  width:2000px;
}
.w1600 {
  width:1600px;
}
.w1200 {
  width:1200px;
}
.w1100 {
  width:1100px;
}
.w1000 {
  width:1000px;
}
.w900 {
  width:900px;
}
.w800 {
  width:800px;
}
.w700 {
  width:700px;
}
.w600 {
  width:600px;
}
.w500 {
  width:500px;
}
.w400 {
  width:400px;
}
.w300 {
  width:300px;
}
.w200 {
  width:200px;
}
.w150 {
  width:150px;
}
.w120 {
  width:120px;
}
.w100 {
  width:100px;
}
.w80 {
  width:80px;
}
.w70 {
  width:70px;
}
.w60 {
  width:60px;
}
.w55 {
  width:55px;
}
.w50 {
  width:50px;
}
.w40 {
  width:40px;
}
.w30 {
  width:30px;
}
.w25 {
  width:25px;
}
.w20 {
  width:20px;
}
.w10 {
  width:10px;
}
.w110p {
  width:110%;
}
.w100p {
  width:100%;
}
.w98p {
  width:98%;
}
.w95p {
  width:95%;
}
.w90p {
  width:90%;
}
.w80p {
  width:80%;
}
.w70p {
  width:70%;
}
.w60p {
  width:60%;
}
.w55p {
  width:55%;
}
.w50p {
  width:50%;
}
.w48p {
  width:48%;
}
.w45p {
  width:45%;
}
.w40p {
  width:40%;
}
.w33p {
  width:33.3%;
}
.w30p {
  width:30%;
}
.w25p {
  width:25%;
}
.w20p {
  width:20%;
}
.w15p {
  width:15%;
}
.w10p {
  width:10%;
}

/* メニューナビゲーション */
.nav {
  overflow: hidden;
}
.nav ul {
  top:55px;
  display: none;
  margin-left: -50px;
//  margin-top:24px;
  position: absolute;
}
.nav li {
  list-style: none;
  background-color:var(--lblue);
  border: 1px solid white;
  border-bottom:none;
}
.nav li .lst {
  list-style: none;
  background-color:var(--lblue);
  border-bottom: 1px solid white;
}
.nav li a {
  display: block;
  padding:10px 40px 10px 20px;
  color: #fff;
  background-color:var(--lblue);
  text-decoration: none;
  box-sizing: border-box;
}
.nav li:hover a {
  background-color:var(--blue);
}
.nav a.yellow {
  color:yellow;
//  font-weight:bold;
}
.nowrap {
  white-space:nowrap;
}
