@charset "utf-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);

body,
tooltip,
popover {
}
_:lang(x)::-ms-backdrop,
.selector {
  /* IE11でのみ有効 */
}
.gothic {
  font-family: "Noto Sans JP", "M PLUS 1", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: normal;
  font-weight: 500;
}
.mincho {
  font-family: "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
  font-weight: normal;
  font-weight: 500;
  color: #111111;
}
html {
  background: #ffffff;
  scroll-behavior: smooth;
}
body {
  letter-spacing: -0.01em;
  line-height: 1.5;
  z-index: -9999;
  color: #231815;
  background-color: #ffffff;
  font-family: "Noto Sans JP", "M PLUS 1'", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
  font-size: 1rem;
}
img {
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}
table {
  text-align: left;
}
table ol {
  margin-bottom: 0;
}
a {
  color: #555555;
  text-decoration: none;
}
a:hover {
  opacity: 0.7;
  transition: all 0.3s ease;
  text-decoration: none;
}
b,
strong,
.bold {
  font-weight: bold;
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  line-height: 1.4;
}
h1,
.h1 {
  font-size: 1.875rem;
}
h2,
.h2 {
  font-size: 1.75rem;
}
h3,
.h3 {
  font-size: 1.5rem;
}
h4,
.h4 {
  font-size: 1.25rem;
}
h5,
.h5 {
  font-size: 1.1rem;
}
h6,
.h6 {
  font-size: 1rem;
}
.lead {
  font-size: 1.125rem;
  font-weight: 500;
}
.lsmall {
  font-size: 90%;
}
.small {
  font-size: 80%;
}
.xsmall {
  font-size: 70%;
}
.xxsmall {
  font-size: 50%;
}
.slarge {
  font-size: 110%;
}
.large {
  font-size: 120%;
}
.xlarge {
  font-size: 170%;
}
.xxlarge {
  font-size: 200%;
}
.xxxlarge {
  font-size: 240%;
}
.line-h10 {
  line-height: 1;
}
.line-h11 {
  line-height: 1.1;
}
.line-h12 {
  line-height: 1.2;
}
.line-h13 {
  line-height: 1.3;
}
.line-h14 {
  line-height: 1.4;
}
.line-h15 {
  line-height: 1.5;
}
p.text-indent {
  text-indent: -0.65em;
  padding-left: 1.5em;
}
h4.text-indent {
  text-indent: -0.6em;
  padding-left: 1.2em;
}
h4.text-indent span {
  text-indent: 0;
  padding-left: 0;
}

/* ########### 991px以下 ＞lg ########### */
@media (max-width: 991px) {
}

/* ########### 767px以下 ＞md ########### */
@media (max-width: 767px) {
}

/* ########### 575px以下 ＞sm ########### */
@media (max-width: 575px) {
  body {
    font-size: 0.875rem;
  }
  .lead {
    font-size: 1rem;
  }
  h1,
  .h1 {
    font-size: 1.75rem;
  }
  h2,
  .h2 {
    font-size: 1.5rem;
  }
  h3,
  .h3 {
    font-size: 1.25rem;
  }
  h4,
  .h4 {
    font-size: 1.2rem;
  }
  .xxlarge {
    font-size: 180%;
  }
  .xxxlarge {
    font-size: 200%;
  }
}

/*テンプレート設定*/
#wrapper {
  /*overflow: hidden;*/
}
/*ヘッダー・フッター設定*/
#HeaderWrapper {
  z-index: 100;
  background-color: rgba(255, 255, 255, 0.95);
}
#header h1 {
  color: #222222;
  font-size: 1.5rem;
  line-height: 1.1;
  letter-spacing: 1px;
}
#header small {
  font-size: 55%;
  letter-spacing: 0;
}
#header h1.navbar-brand img.rogo {
  width: 80px;
}
#header button.navbar-toggler {
  color: #fff;
  font-size: 13px;
  cursor: pointer;
  background-color: #00a0e9;
  background-image: url(../img/menu.svg);
  background-repeat: no-repeat;
  text-align: center;
  background-size: 80%;
  background-position: center 6px;
  height: 50px;
  width: 50px;
  padding: 5px;
  padding-top: 30px;
}
#header button.navbar-toggler img::after {
  content: "MENU";
  text-align: center;
}
#footerSign {
}
#footerSign img.rogo {
  width: 80px;
}
#footer a.text-dark:hover {
  color: #0087cd !important;
  opacity: inherit;
}
#footer a.btn-outline-dark:hover {
  color: #0087cd;
  border-color: #0087cd;
  background-color: #ffffff;
  opacity: inherit;
}
div.toTop {
  position: fixed;
  bottom: 20px;
  right: 15px;
  z-index: 9999;
  /*デフォルトは非表示*/
  opacity: 0;
}
div.toTop a {
  display: inline-block;
  text-align: center;
}
#goorder {
  position: fixed;
  top: 72px;
  right: -2px;
  width: 60px;
  z-index: 10;
}
#goorder a {
  display: block;
  background-color: #008842;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  text-decoration: none;
  text-align: center;
  padding: 30px 10px;
}
/* ########### 767px(md)以下 ########### */
@media (max-width: 767px) {
  #header h1 img.rogo {
    max-width: 18%;
  }
  div.toTop {
    bottom: 60px;
  }
  #goorder {
    position: fixed;
    top: auto;
    bottom: -2px;
    right: 0;
    height: 40px;
    width: 100%;
    z-index: 9999999;
  }
  #goorder a {
    display: block;
    background-color: #008842;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    background-image: url("../img/arrow-w-g.svg");
    background-position: right 10px center;
    background-repeat: no-repeat;
    border-radius: 10px 10px 0 0;
    background-size: 20px;
    text-decoration: none;
    padding: 5px 20px 10px 0px;
    width: 180px;
    margin: 0 auto;
  }
  #goorder a:hover {
    background-color: #23b4fd;
  }
}
/* ########### 575px(sm)以下 ########### */
@media (max-width: 575px) {
  #header h1 {
    font-size: 1.15rem;
  }
  #header h1 img.rogo {
    max-width: 15%;
  }
  #header button.navbar-toggler {
    width: 40px;
    height: 40px;
    font-size: 11px;
    padding: 3px;
    padding-top: 25px;
  }
  #footerSign img.rogo {
    width: 100px;
  }
}
/* ヘッダー・フッター設定　ここまで */

/*全ページ共通*/
.font-weight-light {
  font-weight: 400 !important;
}
.font-weight-midium {
  font-weight: 500 !important;
}
.font-weight-bold {
  font-weight: 700 !important;
}
.font-weight-black {
  font-weight: 900 !important;
}
.img-responsive {
  width: 100%;
  max-width: 100%;
}
img.gray {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}
img.gray:hover {
  -webkit-filter: grayscale(0);
  -moz-filter: grayscale(0);
  -ms-filter: grayscale(0);
  -o-filter: grayscale(0);
  filter: grayscale(0);
}
.title {
  letter-spacing: 1px;
}
.btn {
  font-weight: bold;
  line-height: 1.3;
}
.btn-sm {
  font-weight: normal;
  line-height: 1.2;
}
.btn-210 {
  width: 210px;
  max-width: 100%;
}
.btn-280 {
  width: 280px;
  max-width: 100%;
}
.btn-330 {
  width: 330px;
  max-width: 100%;
}
.btn-lg {
  font-weight: bold;
  font-size: 1.1rem;
  border-radius: 0.8rem;
}
.btn-xlg {
  padding: 1rem 1rem;
  font-weight: bold;
  font-size: 1.3rem;
}
.rounded-lg {
  border-radius: 0.8rem !important;
}
.btn.arrow {
  display: flex;
  align-items: center;
  justify-content: left;
  text-align: left;
  position: relative;
}
.btn.arrow.text-center {
  justify-content: center;
}
.btn-outline-blue,
.btn-outline-green,
.btn-outline-sky,
.btn-outline-dark {
  border-width: 2.5px;
  vertical-align: middle;
}
.btn-yellow {
  vertical-align: middle;
}
.btn-outline-blue:hover,
.btn-outline-green:hover,
.btn-outline-sky:hover,
.btn-yellow:hover,
.btn-darkgreen:hover {
  opacity: inherit;
}
.btn-yellow:hover {
  background-color: #3e3a39 !important;
  border-color: #3e3a39 !important;
  color: #ffd800 !important;
}
.btn-outline-blue.arrow::after,
.btn-outline-green.arrow::after,
.btn-outline-sky.arrow::after,
.btn-yellow.arrow::after,
.btn-darkgreen.arrow::after {
  position: absolute;
  right: 3%;
  padding-top: 2.7px;
}
.btn-outline-blue.arrow::after,
.btn-outline-sky.arrow::after {
  content: url(../img/arrow-b-w.svg);
}
.btn-outline-blue.arrow:hover::after,
.btn-outline-sky.arrow:hover::after {
  content: url(../img/arrow-w-b.svg);
}
.btn-outline-green.arrow::after {
  content: url(../img/arrow-g-w.svg);
}
.btn-outline-green.arrow:hover::after {
  content: url(../img/arrow-w-g.svg);
}
.btn-yellow.arrow::after {
  content: url(../img/arrow-d-y.svg);
}
.btn-yellow.arrow:hover::after {
  content: url(../img/arrow-y-d.svg);
}
.btn-darkgreen.arrow::after {
  content: url(../img/arrow-dg-w.svg);
}
.btn-darkgreen.arrow:hover::after {
  content: url(../img/arrow-dg-w.svg);
}
.btn-bluegrade {
  color: #ffffff;
  height: 84px;
  display: inline-grid;
  align-items: center;
}
.btn-bluegrade {
  border-radius: 0 !important;
  position: relative;
  background: linear-gradient(90deg, #008742, #00adba);
}
.btn-bluegrade em {
  font-style: normal;
  position: absolute;
  left: -1px;
  top: -1px;
  z-index: 2;
  font-size: 1rem;
  display: inline-block;
  text-align: center;
  width: 95px;
}
.bg-opacity50 {
  position: relative;
  z-index: 1;
}
.bg-opacity50::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: white;
  opacity: 0.5;
}
.bg-opacity50 div {
  position: relative;
  z-index: 3;
}
.bg-bluegrade {
  background: linear-gradient(270deg, #008742, #00adba);
}
.PointMidashi {
  position: relative;
}
.PointMidashi em {
  position: absolute;
  top: -14px;
  left: 10px;
  width: 76px;
  height: 76px;
  text-align: center;
}
.PointMidashi span {
  padding-left: 65px;
}
.WonderMidashi {
  position: relative;
}
.WonderMidashi:before,
.WonderMidashi:after {
  position: relative;
  display: inline-block;
  content: "";
  background: #333333; /*斜め線の色*/
  width: 1px; /*斜め線の太さ*/
  height: 2em; /*斜め線の長さ*/
  margin: 0 1em; /*テキストとの間に左右余白をつくる*/
  margin-top: -0.2em; /*斜め線の位置調整*/
  vertical-align: middle;
}
.WonderMidashi:before {
  transform: rotate(-35deg); /*角度調整*/
}
.WonderMidashi:after {
  transform: rotate(35deg); /*角度調整*/
}
.accordion h3 {
  border-width: 5px !important;
}
.accordion a {
  position: relative;
}
.accordion a .plus::before,
a .plus::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 2px;
  background-color: #00aebb;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.1s;
}
.accordion a[aria-expanded="false"] .plus::after {
  transform: translateY(-50%) rotate(90deg);
  transition: transform 0.1s;
}
.accordion a[aria-expanded="true"] .plus::after {
  transform: translateY(-50%) rotate(180deg);
  transition: transform 0.1s;
}

ul.arrow {
}
ul.arrow li {
  position: relative;
  padding: 0px 0px 0px 0.7rem;
}
ul.arrow li::before {
  position: absolute;
  top: 0.85rem;
  left: 0px;
  transform: translateY(-50%);
  width: 0px;
  height: 0px;
  border: 0.3em solid transparent;
  border-left: 0.4em solid #231815;
  content: "";
}
ul.circle-sky li,
ol.decimal-circle-sky li,
ul.circle-dark li {
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
  text-indent: -1.4rem;
  margin-left: 1.4rem;
}
ul.circle-sky li::before {
  content: "●";
  padding-right: 0.5rem;
  color: #00aebb;
}
ul.circle-dark li::before {
  content: "●";
  padding-right: 0.5rem;
  color: #343a40;
}
ol.decimal-circle-sky {
  counter-reset: my-counter;
  list-style: none;
}
ol.decimal-circle-sky li::before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #00aebb;
  color: #ffffff;
  display: inline-block;
  text-align: center;
  height: 22px;
  width: 22px;
  border-radius: 50%;
  margin-right: 0.5rem;
  line-height: 1.3;
  padding-left: 1.35rem;
}
#PageHeader h1 {
  font-size: 2.25rem;
}
h1.large {
  font-size: 2.25rem;
}
h2.midashi {
  padding: 0 1rem;
}
h2.midashi span.point {
  color: #ffd800;
  background-color: #3e3a39;
  display: block;
  font-size: 1.125rem;
  margin: 0 -1rem 0.2rem;
  padding: 0.17rem 1rem;
}
h3.border-bottom {
  border-width: 2px !important;
  border-color: #231815 !important;
}
h6.table-title {
  padding: 0.5rem 1rem;
  overflow: hidden;
  margin: 0;
  background-color: #231815;
  color: #ffffff;
  clip-path: polygon(0 0, 98% 0, 100% 100%, 0% 100%);
}
/*　コンテンツエリア設定 */
#PriceTable {
  border-color: #000;
}
#PriceTable.table-bordered thead td,
#PriceTable.table-bordered thead th {
  border-bottom-width: 1px !important;
  border-color: #000;
}
#PriceTable th,
#PriceTable td {
  vertical-align: middle;
  border-color: #000;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}
#PriceTable td .h1 {
  font-size: 2.25rem;
  line-height: 1 !important;
}
.QABox {
  background-color: #f9f7ef;
  border: #0082c8 2px solid;
  list-style: none;
  border-radius: 10px;
}
.QABox ul li {
  margin-bottom: 0.5rem;
}
.QABox ul li.q {
  padding-left: 1.5rem;
}
.QABox ul li.q::before {
  content: "Q";
  color: #0082c8;
  margin-left: -1.5rem;
  padding-right: 0.5rem;
}
.QABox ul li.a {
  padding-left: 1.5rem;
}
.QABox ul li.a::before {
  content: "A";
  font-size: 1.125rem;
  color: #ef8200;
  margin-left: -1.5rem;
  padding-right: 0.7rem;
}
/*全ページ共通ここまで*/

/*特殊レイアウト*/
#option-span {
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
}

/* ########### 991px(lg)以下 ########### */
@media (max-width: 991px) {
}
/* ########### 767px(md)以下 ########### */
@media (max-width: 767px) {
  #PageHeader h1 {
    font-size: 1.875rem;
  }
  h1.large {
    font-size: 1.6rem;
  }
  #option-span {
    position: relative;
    margin-top: -1rem;
    margin-left: -1rem;
    display: inline-block;
  }
}
/* ########### 575px(sm)以下 ########### */
@media (max-width: 575px) {
  .btn-lg {
    font-weight: bold;
    font-size: 1rem;
  }
  .btn-xlg {
    padding: 1rem 1rem;
    font-weight: bold;
    font-size: 1.1rem;
  }
  .PointMidashi em {
    top: -8px;
    left: 5px;
    width: 50px;
    height: 50px;
    text-align: center;
  }
  .PointMidashi span {
    padding-left: 45px;
  }
  .accordion h3 {
    font-size: 1.1rem !important;
  }

  #PriceTable {
    font-size: 80% !important;
  }
  #PriceTable td {
    font-size: 70% !important;
  }
  #PriceTable th,
  #PriceTable td {
    padding: 0.2rem;
  }
  #PriceTable td .h1 {
    font-size: 2rem !important;
  }
  #PriceTable td .lead {
    font-size: 0.9rem !important;
  }
}

/*---------------------------------------------------------
パンくずデザイン
---------------------------------------------------------*/
.breadcrumb {
  width: auto;
  max-width: 1200px;
  text-align: right;
  margin: 5px auto 25px;
  color: #aaa;
}
ol.breadcrumb li {
  display: inline-block;
  text-align: left;
  margin-left: 10px;
}
ol.breadcrumb li:before {
  content: "» ";
}
ol.breadcrumb li a {
  color: #aaa;
  color: #0e438a;
}
