@charset "utf-8";
html, body, div, span, applet, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure, nav, header {
  padding: 0;
  margin: 0;
  border: 0;
  vertical-align: baseline;
  background: transparent;
  outline: 0;
  box-sizing: border-box;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
  box-sizing: border-box;
}
input, select, textarea {
  box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}
ol, ul, li {
  list-style: none;
}
th {
  font-weight: normal;
}
html {
  height: 100%;
  font-size: 62.5%;
}
body {
  width: 100%;
  height: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-size-adjust: none;
  font-size: 18px;
  line-height: 2em;
  color: #231815;
  text-align: left;
  overflow-x: hidden;
  font-weight: 500;
  /*background-color:#1fb8f1;
  background-color: #00a04e;*/
  background-color: #003333;
}
main {
  display: block;
}
svg {
  vertical-align: bottom;
}
a, a:link {
  color: #000;
  text-decoration: none;
}
a:visited {
  color: #000;
}
a:hover {
  color: #000;
}
a:active {
  color: #000;
}
/* +++++++++++++++++++++++++　空き設定(margin) */
.mt00 {
  margin-top: 0px !important;
}
.mt05 {
  margin-top: 5px !important;
}
.mt1 {
  margin-top: 10px !important;
}
.mt2 {
  margin-top: 20px !important;
}
.mt3 {
  margin-top: 30px !important;
}
.mt4 {
  margin-top: 40px !important;
}
.mt5 {
  margin-top: 50px !important;
}
.mt6 {
  margin-top: 60px !important;
}
.mt7 {
  margin-top: 70px !important;
}
.mt8 {
  margin-top: 80px !important;
}
.mt9 {
  margin-top: 90px !important;
}
.mt10 {
  margin-top: 100px !important;
}
.mb05 {
  margin-bottom: 5px !important;
}
.mb1 {
  margin-bottom: 10px !important;
}
.mb2 {
  margin-bottom: 20px !important;
}
.mb3 {
  margin-bottom: 30px !important;
}
.mb4 {
  margin-bottom: 40px !important;
}
.mb5 {
  margin-bottom: 50px !important;
}
.mb6 {
  margin-bottom: 60px !important;
}
.mb7 {
  margin-bottom: 70px !important;
}
.mb8 {
  margin-bottom: 80px !important;
}
.mb9 {
  margin-bottom: 90px !important;
}
.mb10 {
  margin-bottom: 100px !important;
}
.mb15 {
  margin-bottom: 150px !important;
}
.mb20 {
  margin-bottom: 200px !important;
}
.mr05 {
  margin-right: 5px !important;
}
.mr1 {
  margin-right: 10px !important;
}
.mr2 {
  margin-right: 20px !important;
}
.mr3 {
  margin-right: 30px !important;
}
.mr4 {
  margin-right: 40px !important;
}
.mr5 {
  margin-right: 50px !important;
}
.mr6 {
  margin-right: 60px !important;
}
.mr7 {
  margin-right: 70px !important;
}
.mr8 {
  margin-right: 80px !important;
}
.mr9 {
  margin-right: 90px !important;
}
.mr10 {
  margin-right: 100px !important;
}
/* +++++++++++++++++++++++++　空き設定(padding) */
.pt05 {
  padding-top: 5px !important;
}
.pt1 {
  padding-top: 10px !important;
}
.pt2 {
  padding-top: 20px !important;
}
.pt3 {
  padding-top: 30px !important;
}
.pt4 {
  padding-top: 40px !important;
}
.pt5 {
  padding-top: 50px !important;
}
.pt6 {
  padding-top: 60px !important;
}
.pt7 {
  padding-top: 70px !important;
}
.pt8 {
  padding-top: 80px !important;
}
.pt9 {
  padding-top: 90px !important;
}
.pt10 {
  padding-top: 100px !important;
}
.pb05 {
  padding-bottom: 5px !important;
}
.pb1 {
  padding-bottom: 10px !important;
}
.pb2 {
  padding-bottom: 20px !important;
}
.pb3 {
  padding-bottom: 30px !important;
}
.pb4 {
  padding-bottom: 40px !important;
}
.pb5 {
  padding-bottom: 50px !important;
}
.pb6 {
  padding-bottom: 60px !important;
}
.pb7 {
  padding-bottom: 70px !important;
}
.pb8 {
  padding-bottom: 80px !important;
}
.pb9 {
  padding-bottom: 90px !important;
}
.pb10 {
  padding-bottom: 100px !important;
}
/* +++++++++++++++++++++++++　flexbox */
/*
.flex 通常のflex
.flex-ce 中央揃え
.flex-cc　縦横中央揃え
*/
.flex {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-ce {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-cc {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-ace {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-ac {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-c {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-order {
  -webkit-box-ordinal-group: -1;
  -moz-box-ordinal-group: -1;
  -webkit-flex-order: -1;
  -moz-flex-order: -1;
  -webkit-order: -1;
  -moz-order: -1;
  order: -1;
}
/* +++++++++++++++++++++++++　テキスト揃え */
.tal {
  text-align: left !important;
}
.tac {
  text-align: center !important;
}
.tar {
  text-align: right !important;
}
/* +++++++++++++++++++++++++　ロールオーバー */
a {
  -webkit-transition: all .4s;
  transition: all .4s;
}
a:hover {
  opacity: 0.50;
}
/* +++++++++++++++++++++++++　画像 */
img {
  width: 100%;
  height: auto;
  border: none;
  vertical-align: bottom;
}
img.img-auto-width {
  width: auto;
  max-width: 100%;
}
/* +++++++++++++++++++++++++　clearfix */
.clearfix:after {
  content: ".";
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
  overflow: hidden;
}
/* ++++++　・付き通常リスト */
.base-list {
  padding-left: 25px;
}
.base-list > li {
  list-style-type: disc;
  margin-bottom: 10px;
}
/* ++++++　数字付き通常リスト */
.base-list-no {
  padding-left: 25px;
}
.base-list-no > li {
  list-style-type: decimal;
}
/* ++++++　()数字付き通常リスト */
.base-list-no2 {
  counter-reset: listno2;
  padding-left: 25px;
}
.base-list-no2 > li {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.base-list-no2 > li:before {
  counter-increment: listno2;
  content: "("counter(listno2) ") ";
}
/* ++++++　●囲い数字付き通常リスト */
.base-list-no3 {
  counter-reset: listno3;
}
.base-list-no3 > li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 15px;
}
.base-list-no3 > li:last-child {
  margin-bottom: 0;
}
.base-list-no3 > li:before {
  display: block;
  position: absolute;
  left: 0;
  top: 3px;
  counter-increment: listno3;
  content: counter(listno3);
  background-color: #1F1F1F;
  color: #11CE87;
  font-size: 18px;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  border-radius: 1000%;
  text-align: center;
  width: 24px;
  height: 24px;
  line-height: 24px;
}
/* ++++++　一文字インデント */
.indent-txt {
  text-indent: -1em;
  padding-left: 1em;
}
.indent-txt1_5 {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.indent-txt2 {
  text-indent: -2em;
  padding-left: 2em;
}
/* +++++++++++++++++++++++++　文字調整関連 */
.bold-txt {
  font-weight: 700;
}
.small-txt {
  font-size: 14px;
  line-height: 1.5;
}
.micro-txt {
  font-size: 12px !important;
  line-height: 1.5;
}
.txt-color01 {
  color: #ff0000;
}
.font-size01 {}
.font-lineheight01 {}
@media (min-width: 768px) {
  .pc-font-size12 {
    font-size: 12px;
    line-height: 2;
  }
  .pc-font-size14 {
    font-size: 14px;
    line-height: 2;
  }
  .pc-font-size16 {
    font-size: 16px;
  }
  .pc-font-size18 {
    font-size: 18px;
  }
  .pc-font-size20 {
    font-size: 20px;
  }
  .pc-font-size22 {
    font-size: 22px;
  }
  .pc-font-size24 {
    font-size: 24px;
  }
  .pc-font-size26 {
    font-size: 26px;
  }
  .pc-font-size28 {
    font-size: 28px;
  }
  .pc-font-size30 {
    font-size: 30px;
  }
  .pc-font-size32 {
    font-size: 32px;
  }
  .pc-font-size34 {
    font-size: 34px;
  }
  .pc-font-size36 {
    font-size: 36px;
  }
  .pc-font-size38 {
    font-size: 38px;
  }
  .pc-font-size40 {
    font-size: 40px;
  }
}
@media (max-width: 768px) {
  .sp-font-size12 {
    font-size: 12px;
    line-height: 1.5;
  }
  .sp-font-size14 {
    font-size: 14px;
    line-height: 1.5;
  }
  .sp-font-size16 {
    font-size: 16px;
    line-height: 1.5;
  }
  .sp-font-size18 {
    font-size: 18px;
    line-height: 1.5;
  }
  .sp-font-size20 {
    font-size: 20px;
    line-height: 1.5;
  }
  .sp-font-size22 {
    font-size: 22px;
    line-height: 1.5;
  }
  .sp-font-size24 {
    font-size: 24px;
    line-height: 1.5;
  }
  .sp-font-size26 {
    font-size: 26px;
    line-height: 1.5;
  }
  .sp-font-size28 {
    font-size: 28px;
    line-height: 1.5;
  }
  .sp-font-size30 {
    font-size: 30px;
    line-height: 1.5;
  }
  .sp-font-size32 {
    font-size: 32px;
    line-height: 1.5;
  }
  .sp-font-size34 {
    font-size: 34px;
    line-height: 1.5;
  }
  .sp-font-size36 {
    font-size: 36px;
    line-height: 1.5;
  }
  .sp-font-size38 {
    font-size: 38px;
    line-height: 1.5;
  }
  .sp-font-size40 {
    font-size: 40px;
    line-height: 1.5;
  }
}
@media (min-width: 768px) {
  .display-sp {
    display: none !important;
  }
  .display-pc {
    display: block !important;
  }
}
@media (max-width: 768px) {
  .display-sp {
    display: block !important;
  }
  .display-pc {
    display: none !important;
  }
}
@media (max-width: 375px) {
  .np21-pc {
    display: none !important;
  }
}
/* +++++++++++++++++++++++++ */
/*
/* -SP-
/*
/* +++++++++++++++++++++++++ */
@media (max-width: 768px) {
  /* +++++++++++++++++++++++++　common */
  body {
    font-size: 14px;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
    min-width: inherit;
    font-family: 'Noto Sans JP', sans-serif;
  }
  body, html {
    overflow: visible;
  }
  img, svg {
    width: 100%;
  }
  .tel-link a {
    text-decoration: none;
  }
  .sp-tal {
    text-align: left !important;
  }
  .sp-tac {
    text-align: center !important;
  }
  .sp-tar {
    text-align: right !important;
  }
  .mt05 {
    margin-top: 0.5vw !important;
  }
  .mt1 {
    margin-top: 1vw !important;
  }
  .mt2 {
    margin-top: 2vw !important;
  }
  .mt3 {
    margin-top: 3vw !important;
  }
  .mt4 {
    margin-top: 4vw !important;
  }
  .mt5 {
    margin-top: 5vw !important;
  }
  .mt6 {
    margin-top: 6vw !important;
  }
  .mt7 {
    margin-top: 7vw !important;
  }
  .mt8 {
    margin-top: 8vw !important;
  }
  .mt9 {
    margin-top: 9vw !important;
  }
  .mt10 {
    margin-top: 10vw !important;
  }
  .mb05 {
    margin-bottom: 0.5vw !important;
  }
  .mb1 {
    margin-bottom: 1vw !important;
  }
  .mb2 {
    margin-bottom: 2vw !important;
  }
  .mb3 {
    margin-bottom: 3vw !important;
  }
  .mb4 {
    margin-bottom: 4vw !important;
  }
  .mb5 {
    margin-bottom: 5vw !important;
  }
  .mb6 {
    margin-bottom: 6vw !important;
  }
  .mb7 {
    margin-bottom: 7vw !important;
  }
  .mb8 {
    margin-bottom: 8vw !important;
  }
  .mb9 {
    margin-bottom: 9vw !important;
  }
  .mb10 {
    margin-bottom: 10vw !important;
  }
  .mb15 {
    margin-bottom: 15vw !important;
  }
  .mb20 {
    margin-bottom: 20vw !important;
  }
  a, input, button {
    -webkit-touch-callout: none;
    /*-webkit-tap-highlight-color: (0, 0, 0, 0);*/
    cursor: pointer;
  }
  .small-txt {
    font-size: 12px;
    line-height: 1.5;
  }
  .micro-txt {
    font-size: 12px;
    line-height: 1.5;
  }
}
/* +++++++++++++++++++++++++　アニメーション */
.effect-b {
  position: relative;
  transform: translateY(7%);
  opacity: 0;
  -webkit-transition: all .9s;
  transition: all .9s;
}
.effect-b.active {
  position: relative;
  transform: translateY(0);
  opacity: 1;
}
/* +++++++ */
.txt-effect {
  opacity: 0;
  -webkit-transition: all 0.5s linear;
  transition: all 0.5s linear;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.txt-effect.active {
  -webkit-animation-name: txtBlur;
  animation-name: txtBlur;
  opacity: 1;
  transition: .4s;
}
@-webkit-keyframes txtBlur {
  from {
    -webkit-filter: blur(15px);
    filter: blur(15px);
  }
  to {
    -webkit-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes txtBlur {
  from {
    -webkit-filter: blur(15px);
    filter: blur(15px);
  }
  to {
    -webkit-filter: blur(0px);
    filter: blur(0px);
  }
}