@charset "EUC-JP";
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    カラー設定                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* カラー定義
 ------------------------------------ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    プロパティ                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    mixin 定義                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 疑似要素

       ::before, ::after で親要素にフィットさせる処理 （ボタンの背景など）
 ------------------------------------ */
/* サイトロゴ

  想定しているHTML構造 ※見出しレベル h1〜h6 は任意
  <h1 class="SiteLogo">
    <a href="">
      <img src="<?php $this->BcBaser->themeUrl(); ?>img/common/logo/site_logo.svg" alt="" />
    </a>
  </h1>

  適用例 ）
    .SiteLogo{
        @include config.site-logo();
    }
------------------------------------------------------------------------ */
/* 基本リンク

  適用例 ）
    .hogehoge{
      @include config.hvr-txt-underline();
    }
------------------------------------------------------------------------ */
/* 基本ページ幅

  適用例 ）
    .hogehoge{
        @include config.page-width-default();
    }
------------------------------------------------------------------------ */
/* スクロールバーをカスタマイズ

  適用例 ）
    .hogehoge{
        @include config.customScrollBar();
    }
------------------------------------------------------------------------ */
/* flex 関連のプロパティをまとめて定義

  適用例 ）
    .hogehoge{
        @include config.flex();
    }
    .hogehoge{
        @include config.flex(center, flex-end);
    }
------------------------------------------------------------------------ */
/* テキストを任意の行数で切る （引数で行数を指定）

   適用例 ）
    .hogehoge{
        @include config.custom_txt_overflow(2);
    }
 ------------------------------------------------------------------------ */
/* clearfix

  適用例 ）
    .hogehoge{
        @include config.clearfix();
    }
------------------------------------------------------------------------ */
/* dotline

  適用例 ）
    .hogehoge{
        @include config.dotline();
    }
------------------------------------------------------------------------ */
/* lattice パターン

  適用例 ）
    .hogehoge{
        @include config.lattice();
    }
------------------------------------------------------------------------ */
/* エリアのデザインパターン

  適用例 ）
    .hogehoge{
        @include config.decorated_area();
    }
------------------------------------------------------------------------ */
/* レスポンシブ 対応用 ブレイクポイントによる条件分岐
   適用例 ）
   @include config.media-query(under-bp-m) {
      $breakpoint-m よりも小さいウィンドウ幅の処理をここに書く
   }
 ------------------------------------------------------------------------ */
/* 単位を除去して数値のみ返す関数
 ------------------------------------------------------------------------ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    Style Reset                                   */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote {
  margin: 0;
  padding: 0;
}

body {
  overflow-wrap: break-word;
  word-wrap: break-word;
  font-size: 100%;
}

div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote {
  font-size: inherit;
}

body.TbView,
body.SpView {
  cursor: pointer;
}

address, i, em {
  font-style: normal;
}

img {
  border: none;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}

a {
  color: inherit;
}
a, a:hover {
  text-decoration: none;
}

hr {
  border: none;
  width: 100%;
  height: 1rem;
  background: currentColor;
  -webkit-mask-image: url(../img/common/decoration/wave-hr_rpt.svg);
          mask-image: url(../img/common/decoration/wave-hr_rpt.svg);
  -webkit-mask-repeat: repeat;
          mask-repeat: repeat;
}

/* 自動文字サイズ調整をOFF iPod,iPhone,iPad用 */
html {
  -webkit-text-size-adjust: none;
}

/* ボックスサイズの算出方法を指定 */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* スクロール固定背景のがたつき防止 ie用 */
/*
html{
 overflow: hidden;
 height: 100%;
}
body{
 overflow: auto;
 height: 100%;
}
*/
/* 画像のレンダリングをバイキュービックで */
img {
  -ms-interpolation-mode: bicubic;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    Option Style                                  */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
.NoDisplay {
  display: none;
}

.Partition {
  display: none;
}

/* -----  Adjust Height Rendering  ----- */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  font-size: 0; /* firefox footer margin */
}

.clearfix {
  display: inline-block;
}

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    common_element                                */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● heading.css                                         */
/*    共通部品                                            */
/*    ・見出し                                            */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.desvg {
  opacity: 0;
}
.desvg.replaced-svg {
  opacity: 1;
}

/* 見出し common
--------------------------------------------------- */
.Heading {
  position: relative;
  font-weight: 600;
  clear: both;
}

/* 見出しバリエーション
--------------------------------------------------- */
/* Type1 :::::::::::::::::::::::::  */
.Heading.Type1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.Heading.Type1 .Main {
  font-size: 7rem;
  line-height: 1;
  color: rgb(29, 195, 104);
  font-weight: 400;
}
.Heading.Type1 .Sub {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .Heading.Type1 .Main {
    font-size: 4.5rem;
  }
  .Heading.Type1 .Sub {
    font-size: 1.3rem;
  }
}

/* Type2 :::::::::::::::::::::::::  */
.Heading.Type2 {
  font-size: 3rem;
  font-size: 150%;
  margin: 2em 0 1em;
}
.Heading.Type2:first-child {
  margin-top: 0;
}
.Heading.Type2:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .Heading.Type2 {
    font-size: 2.1rem;
    font-size: 131.25%;
  }
  .Heading.Type2 br {
    display: none;
  }
}

/* Type3 :::::::::::::::::::::::::  */
.Heading.Type3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 2em 0 0.5em;
  gap: 0.5rem;
  font-size: 131.25%;
}
.Heading.Type3:first-child {
  margin-top: 0;
}
.Heading.Type3:last-child {
  margin-bottom: 0;
}
.Heading.Type3 .Icon {
  font-size: 200%;
  color: rgb(29, 195, 104);
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .Heading.Type3 {
    font-size: 112.5%;
  }
}

/* Type4 :::::::::::::::::::::::::  */
.Heading.Type4 {
  font-size: 2.1rem;
  font-size: 131.25%;
  margin: 3em 0 1em;
  position: relative;
  padding: 0.25em 1.25rem;
  border-left: 4px solid rgb(30, 162, 109);
}
.Heading.Type4:first-child {
  margin-top: 0;
}
.Heading.Type4:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .Heading.Type4 {
    font-size: 1.8rem;
    font-size: 112.5%;
  }
}

/* Type5 :::::::::::::::::::::::::  */
.Heading.Type5 {
  font-size: 100%;
  margin: 3em 0 1em;
  padding-bottom: 0.5em;
  border-bottom: 1px dashed rgb(29, 195, 104);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1rem;
}
.Heading.Type5:first-child {
  margin-top: 0;
}
.Heading.Type5:last-child {
  margin-bottom: 0;
}
.Heading.Type5::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: rgb(29, 195, 104);
  height: 1em;
  width: 1em;
  border-radius: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* Type6 :::::::::::::::::::::::::  */
.Heading.Type6 {
  font-size: 100%;
  margin: 2em 0 0.5em;
  padding: 0.25em 1em;
  position: relative;
  z-index: 1;
  color: #fff;
}
.Heading.Type6:first-child {
  margin-top: 0;
}
.Heading.Type6:last-child {
  margin-bottom: 0;
}
.Heading.Type6::before {
  content: "";
  position: absolute;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  z-index: -1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: rgb(30, 162, 109);
  height: 100%;
  width: 100%;
  border-radius: 0.75em 0.75em 0 0;
}

/* キャッチ :::::::::::::::::::::::::  */
.Catch {
  margin: 0.5em 0;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .Catch {
    font-size: 1.9rem;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● text.css                                            */
/*    共通部品                                            */
/*    ・テキスト                                          */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* DefaultText
--------------------------------------------------- */
.DefaultText {
  margin-bottom: 2em;
}
.DefaultText a {
  padding: 0.1em 0;
  position: relative;
}
.DefaultText a::after {
  content: "";
  display: block;
  background: currentColor;
  height: 1px;
  position: absolute;
  bottom: calc(0% - 0.25em);
  width: 100%;
  left: 0%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
html.PcView .DefaultText a:hover::after, html.PcView .DefaultText a:focus::after {
  -webkit-animation: animated_underline 0.4s forwards;
          animation: animated_underline 0.4s forwards;
}
@-webkit-keyframes animated_underline {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@keyframes animated_underline {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

/* blockquote
--------------------------------------------------- */
blockquote {
  position: relative;
  padding: 2rem 4.5rem;
  border-left: 4px solid #777;
}
blockquote::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 1rem;
  content: "“";
  font-size: 30px;
  line-height: 1;
}
blockquote cite {
  display: block;
  text-align: right;
}

q {
  position: relative;
  display: block;
  padding: 0rem 4.5rem;
}
q::before {
  content: "";
  position: absolute;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  z-index: -1;
  position: absolute;
  left: 0;
  top: 50%;
  display: block;
  width: 3rem;
  height: 1px;
  background: rgb(0, 0, 0);
}

/* tel link
--------------------------------------------------- */
/* sup
--------------------------------------------------- */
sup {
  font-size: x-small;
  line-height: 1.1;
}

/* 強調
--------------------------------------------------- */
em {
  font-weight: 700;
  color: rgb(30, 162, 109);
}

/* font
--------------------------------------------------- */
/* basic */
.FontSerif {
  font-family: "YuMincho", "游明朝", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "MS PMincho", "ＭＳＰ明朝", "MS Mincho", "ＭＳ明朝", serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 400;
}

.FontMonospace {
  /*font-family: "Osaka-mono", "ＭＳ ゴシック", "MS Gothic", monospace;*/
}

.FontDecoratedLatin,
.Number {
  font-family: "Oswald", "Arial", "Helvetica", sans-serif;
}

/* TextOverFlowNone
--------------------------------------------------- */
/* 丸付き文字
--------------------------------------------------- */
.Circled {
  color: #fff;
  background: rgb(29, 195, 104);
  border-radius: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 2em;
  line-height: 2em;
  vertical-align: middle;
  white-space: nowrap;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}

/* Balloon（フキダシ）
--------------------------------------------------- */
.wrap_Balloon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.wrap_Balloon + .wrap_Balloon {
  margin-top: 0.5em;
}

.Balloon {
  position: relative;
  margin: 1em auto 0;
  text-align: left;
  background-color: rgb(72.75, 221.25, 161.625);
  min-width: 15em;
  border-radius: 0.5em;
  padding: 0.75em 1em;
  line-height: inherit;
  font-weight: 400;
  font-size: 1.3rem !important;
  color: rgba(0, 0, 0, 0.625);
  width: auto;
  display: inline-block;
  clip-path: none !important;
}
.Balloon::before {
  content: "";
  position: absolute;
  border: 0.75em solid transparent;
}
.Balloon.bottom-left {
  margin: 0 auto 0 0;
}
.Balloon.bottom-left::before {
  bottom: 100%;
  left: 2em;
  margin-left: -0.75em;
  border-bottom: 0.75em solid rgb(72.75, 221.25, 161.625);
}
.Balloon.bottom-right {
  margin: 0 0 0 auto;
}
.Balloon.bottom-right::before {
  bottom: 100%;
  right: 2em;
  margin-right: -0.75em;
  border-bottom: 0.75em solid rgb(72.75, 221.25, 161.625);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● list.css                                            */
/*    共通部品                                            */
/*    ・リスト                                            */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* リスト（汎用）
--------------------------------------------------- */
@media screen and (max-width: 767px) {
  .DefaultList {
    font-size: 87.5%;
  }
}
.DefaultList li {
  margin-left: 2em;
  position: relative;
}
.DefaultList.NoMargin li {
  margin-top: 0;
  margin-bottom: 0;
}

/* LinkList （汎用リンクリスト）
--------------------------------------------------- */
.LinkList {
  margin: 1em 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  list-style: none;
}
.LinkList li {
  margin: 0 auto;
}
.LinkList li a {
  padding: 0.25em;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  line-height: 1.5;
  padding: 0.1em 0;
  position: relative;
}
.LinkList li a::after {
  content: "";
  display: block;
  background: currentColor;
  height: 1px;
  position: absolute;
  bottom: calc(0% - 0.25em);
  width: 100%;
  left: 0%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
html.PcView .LinkList li a:hover::after, html.PcView .LinkList li a:focus::after {
  -webkit-animation: animated_underline 0.4s forwards;
          animation: animated_underline 0.4s forwards;
}
@keyframes animated_underline {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
.LinkList li a .Icon {
  width: 3rem;
}
/* ほか
--------------------------------------------------- */
/* 装飾付きリスト  */
.DecoratedList {
  margin: 0.25em 0;
}
.DecoratedList:last-child {
  margin-bottom: 0;
}
.DecoratedList > li {
  margin-bottom: 0;
  padding: 0.5em 0;
  position: relative;
}
.DecoratedList > li:last-child {
  margin-bottom: 0;
}

ol.DecoratedList {
  list-style: none;
  counter-reset: mycounter;
}
ol.DecoratedList > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
ol.DecoratedList > li::before {
  counter-increment: mycounter;
  content: counter(mycounter);
  color: rgb(30, 162, 109);
  margin-right: 2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
}

ul.DecoratedList > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
ul.DecoratedList > li::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background-color: rgb(30, 162, 109);
  margin-right: 2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
}

/* 定義リスト（ckエディタ上では使えないので注意）  */
dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1em;
}
dl dt {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
}
/* ※印付きリスト :  */
.AsteriskList {
  list-style: none;
  margin-left: 3em;
  margin-bottom: 1.75em;
}
@media screen and (max-width: 767px) {
  .AsteriskList {
    margin-left: 1.5em;
  }
}
.AsteriskList:last-child {
  margin-bottom: 0;
}
.AsteriskList > li {
  position: relative;
}
.AsteriskList > li::before {
  content: "※";
  position: absolute;
  left: -1.25em;
  top: 0;
}
.AsteriskList li {
  margin: 0.25em 0;
}

/* InlineList（インライン表示させるリスト）
--------------------------------------------------- */
/* CategoryList （カテゴリリスト）
--------------------------------------------------- */
/* MenuList（メニューリスト）
--------------------------------------------------- */
.MenuList {
  list-style: none;
  gap: 1.5em 0.75em;
}
.MenuList li {
  white-space: nowrap;
}
.MenuList li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.1em 0;
  position: relative;
}
.MenuList li a::after {
  content: "";
  display: block;
  background: currentColor;
  height: 1px;
  position: absolute;
  bottom: calc(0% - 0.25em);
  width: 100%;
  left: 0%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
html.PcView .MenuList li a:hover::after, html.PcView .MenuList li a:focus::after {
  -webkit-animation: animated_underline 0.4s forwards;
          animation: animated_underline 0.4s forwards;
}
@keyframes animated_underline {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
.MenuList li a .Icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.MenuList li a .Label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

/* SNS メニュー
--------------------------------------------------- */
.SnsList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  margin: 0 auto;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
}
.SnsList li {
  margin: 0;
}
.SnsList li a {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 1rem;
  color: rgb(30, 162, 109);
}
.SnsList li a .Label {
  display: none;
  color: currentColor;
  font-weight: 600;
  margin: 0;
}
.SnsList li a .Icon {
  font-size: 4rem;
  color: currentColor;
  position: relative;
  z-index: 1;
}
.SnsList li a .Icon::before {
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}
.SnsList li a .Icon::after {
  content: "";
  position: absolute;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  z-index: -1;
  background: #fff;
  -webkit-transition: 0.2s -webkit-transform;
  transition: 0.2s -webkit-transform;
  transition: 0.2s transform;
  transition: 0.2s transform, 0.2s -webkit-transform;
}
html.PcView .SnsList li a:hover, html.PcView .SnsList li a:focus {
  color: rgb(30, 162, 109);
}
html.PcView .SnsList li a:hover .Icon::after, html.PcView .SnsList li a:focus .Icon::after {
  -webkit-transform: scale(1.125);
          transform: scale(1.125);
}

/* 前へ次へのボタン
--------------------------------------------------- */
/* TabList
--------------------------------------------------- */
.TabList {
  list-style: none;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0 !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  border-bottom: 1px solid rgb(0, 0, 0);
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .TabList {
    font-size: 1.3rem;
  }
}
.TabList li {
  margin: 0;
}
.TabList li a {
  color: rgb(0, 0, 0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  bottom: -1px;
  border-bottom: 1px solid rgb(0, 0, 0);
  cursor: pointer;
  padding: 0.5em 1.25em;
  font-weight: 500;
  white-space: nowrap;
  -webkit-transition: 0.2s background, 0.2s color;
  transition: 0.2s background, 0.2s color;
  min-height: 3.5em;
}
html.PcView .TabList li a:hover {
  color: #fff;
  background: rgb(0, 0, 0);
}
.TabList li.current a, .TabList li.Active a {
  font-weight: 600;
  border: 1px solid rgb(0, 0, 0);
  border-bottom: none;
  color: rgb(29, 195, 104) !important;
  background: #fff !important;
}

.Scrollable .TabList {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .Scrollable .TabList li {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

/* ButtonList （ボタンを収納するリスト）
--------------------------------------------------- */
.ButtonList {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .ButtonList {
    gap: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

/* TagList
--------------------------------------------------- */
.TagList {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1.2rem;
}
.TagList li {
  border: 1px solid rgba(29, 195, 104, 0.5);
  border-radius: 0.4rem;
  padding: 0rem 0.6rem;
  text-align: center;
  width: initial !important;
}

/* PickUpList
--------------------------------------------------- */
.PickUpList {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 0.5rem 0.75rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0.5rem;
  border: 2px solid #e0e0e0;
  border-radius: 0.5rem;
  margin: 1rem auto;
  width: 100%;
}
.PickUpList li::before {
  content: "PICK UP";
  color: #fff;
  background: rgb(30, 162, 109);
  background: rgb(250, 170, 60);
  clip-path: polygon(80% 0%, 90% 50%, 80% 100%, 0% 100%, 0% 50%, 0% 0%);
  margin-right: 0.125em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  line-height: 1;
  padding: 0.25em;
  padding-right: 1em;
  font-size: smaller;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● table.css                                           */
/*    共通部品                                            */
/*    ・テーブル                                          */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body:not(.OldSiteStyle) {
  /* table クラス名無し
  --------------------------------------------------- */
}
body:not(.OldSiteStyle) table {
  margin: 2em auto;
  width: 100%;
  text-align: left;
  border-collapse: collapse;
}
body:not(.OldSiteStyle) table th,
body:not(.OldSiteStyle) table td {
  padding: 0.75em 1rem;
}
/* DefaultTable
--------------------------------------------------- */
.DefaultTable {
  margin: 0em auto 1.75em;
  width: 100%;
  text-align: left;
  border-collapse: collapse;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  border-collapse: collapse;
  /* Scrollable */
  /* + + + + + レスポンシブ + + + + +  */
}
.DefaultTable caption {
  padding: 0.25em 0;
}
.DefaultTable thead {
  border-bottom: 1px solid #e5e5e5;
}
.DefaultTable thead th {
  background-color: rgba(0, 0, 0, 0.03);
}
.DefaultTable th,
.DefaultTable td {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}
.DefaultTable th.PaddingNone,
.DefaultTable td.PaddingNone {
  padding: 0;
}
.DefaultTable th:not(:first-child),
.DefaultTable td:not(:first-child) {
  border-left: 1px solid #e5e5e5;
}
@media screen and (min-width: 768px), print {
  .DefaultTable.AutoWidth {
    width: auto;
  }
}
.DefaultTable.PaddingNone td {
  padding: 0;
}
.DefaultTable tbody {
  background-color: #fff;
}
.DefaultTable tbody tr th,
.DefaultTable tbody tr td {
  padding: 0.5em 1rem;
  padding: 1em 1rem;
}
.DefaultTable tbody tr th a,
.DefaultTable tbody tr td a {
  padding: 0.1em 0;
  position: relative;
}
.DefaultTable tbody tr th a::after,
.DefaultTable tbody tr td a::after {
  content: "";
  display: block;
  background: currentColor;
  height: 1px;
  position: absolute;
  bottom: calc(0% - 0.25em);
  width: 100%;
  left: 0%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
html.PcView .DefaultTable tbody tr th a:hover::after, html.PcView .DefaultTable tbody tr th a:focus::after,
html.PcView .DefaultTable tbody tr td a:hover::after,
html.PcView .DefaultTable tbody tr td a:focus::after {
  -webkit-animation: animated_underline 0.4s forwards;
          animation: animated_underline 0.4s forwards;
}
@keyframes animated_underline {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
.DefaultTable tbody tr th {
  font-weight: 900;
  text-align: left;
  width: 20%;
  background-color: #fafafa;
}
.DefaultTable tbody tr th a:only-of-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.DefaultTable tbody tr th .Sub {
  font-size: 87.5%;
}
.DefaultTable tbody tr td {
  vertical-align: top;
}
.DefaultTable tbody tr td.AddressCell .SknTplImageParagraph iframe {
  aspect-ratio: 1.5;
}
.DefaultTable.LargeTable thead {
  display: table-header-group;
}
.DefaultTable.LargeTable thead th {
  display: table-cell;
  text-align: center;
  font-size: 1.4rem;
  padding: 0.25em 0.5rem;
}
.DefaultTable.LargeTable tr {
  display: table-row;
}
.DefaultTable.LargeTable tr th,
.DefaultTable.LargeTable tr td {
  display: table-cell;
}
.DefaultTable.LargeTable tr td {
  width: auto;
}
@media screen and (max-width: 767px) {
  .DefaultTable {
    /* notScrollable */
  }
  .DefaultTable:not(.LargeTable) thead {
    display: none;
  }
  .DefaultTable:not(.LargeTable) tr,
  .DefaultTable:not(.LargeTable) th,
  .DefaultTable:not(.LargeTable) td {
    display: block;
    width: auto !important;
  }
  .DefaultTable:not(.LargeTable) tr {
    margin-bottom: 0;
  }
  .DefaultTable:not(.LargeTable) tr th,
  .DefaultTable:not(.LargeTable) tr td {
    border-left: none;
    border-right: none;
  }
  .DefaultTable:not(.LargeTable) tr th {
    width: auto;
    text-align: left;
  }
}

/*  記事属性などの補足情報 用テーブル
--------------------------------------------------- */
/* FormTable （ほかのTableクラスと併用で用いる。Form用のスタイルを付加）
--------------------------------------------------- */
.FormTable.HideNecessaryText th::before,
.FormTable tr.HideNecessaryText th::before {
  display: none;
}
.FormTable tbody tr th {
  text-align: left !important;
  line-height: 1.5;
  vertical-align: middle;
  vertical-align: text-top;
  width: 15rem;
}
.FormTable tbody tr th .Necessary {
  background: #f00;
  font-size: 75%;
  line-height: 1.5;
  font-weight: 500;
  white-space: nowrap;
  color: #fff;
  padding: 0em 0.5em;
  display: block;
  border-radius: 0.5em;
  width: 3em;
  text-align: center;
}
.FormTable tbody tr td:not([colspan="3"]) {
  width: calc(50% - 15rem);
}
.FormTable tbody tr td .FormItem,
.FormTable tbody tr td .TextItem {
  margin: 0.25em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: initial;
      -ms-flex-positive: initial;
          flex-grow: initial;
}
.FormTable tbody tr td .FormItem .FormGroup,
.FormTable tbody tr td .TextItem .FormGroup {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.FormTable tbody tr td .FormItem .FormGroup.RadioButtonGroup, .FormTable tbody tr td .FormItem .FormGroup.CheckBoxGroup,
.FormTable tbody tr td .TextItem .FormGroup.RadioButtonGroup,
.FormTable tbody tr td .TextItem .FormGroup.CheckBoxGroup {
  -webkit-box-flex: initial;
      -ms-flex-positive: initial;
          flex-grow: initial;
}
.FormTable tbody tr td .FormItem .FormGroup.RadioButtonGroup > *, .FormTable tbody tr td .FormItem .FormGroup.CheckBoxGroup > *,
.FormTable tbody tr td .TextItem .FormGroup.RadioButtonGroup > *,
.FormTable tbody tr td .TextItem .FormGroup.CheckBoxGroup > * {
  -webkit-box-flex: initial !important;
      -ms-flex-positive: initial !important;
          flex-grow: initial !important;
}
@media screen and (max-width: 767px) {
  .Scrollable > .FormTable {
    margin-top: 0;
    width: auto;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● icon.css                                            */
/*    共通部品                                            */
/*    ・リスト                                            */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   アイコン 等                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* アイコンに下線が付くのを回避 */
.Icon, a .Icon, a:hover .Icon,
.Icon::before,
a .Icon::before,
a:hover .Icon::before {
  text-decoration: none !important;
}

/* アイコン用のWEBフォントを適用するための継承用クラス
--------------------------------------------------- */
._webfont-icon::before {
  font-style: normal;
  font-weight: normal;
  speak: none;
  margin: 0 0.25em 0 0;
  display: inline-block;
  text-decoration: none !important;
  width: 1em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
}
._webfont-icon::before {
  font-family: "add-icon";
}

/* アイコンへの装飾
--------------------------------------------------- */
.Icon {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 1;
}
.Icon::before {
  z-index: 2;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.Icon::after {
  content: "";
  position: absolute;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: 2em;
}
.Icon.icon-empty::before {
  content: " ";
  background: none;
}
.Icon.icon-empty::after {
  display: none;
}
.Icon.icon-link-ext {
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
}
.Icon.file-icons {
  -webkit-transform: scale(2);
          transform: scale(2);
}

/* 特殊なアイコン用のスタイル */
.icon-file-pdf::before {
  color: #bb0708 !important;
}

.icon-file-excel::before {
  color: #12824b !important;
}

.icon-file-word::before {
  color: #3b67a7 !important;
}

.icon-file-image::before {
  color: #222 !important;
}

.icon-file-archive::before {
  color: #30b4df !important;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    GoogleFonts Icon定義                          */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
.Icon.material-icons::before {
  font-family: "Material Symbols Outlined";
}
.Icon.material-icons.home::before {
  content: "\e88a";
}
.Icon.material-icons.arrow_forward::before {
  content: "\e5c8";
}
.Icon.material-icons.arrow_back::before {
  content: "\e5c4";
}
.Icon.material-icons.chevron_right::before {
  content: "\e5cc";
}
.Icon.material-icons.call::before {
  content: "\e0b0";
}
.Icon.material-icons.mail::before {
  content: "\e158";
}
.Icon.material-icons.search::before {
  content: "\e8b6";
}
.Icon.material-icons.open_in_new::before {
  content: "\e89e";
}
.Icon.material-icons.map::before {
  content: "\e55b";
}
.Icon.material-icons.location_on::before {
  content: "\e0c8";
}
.Icon.material-icons.vertical_align_top::before {
  content: "\e25a";
}
.Icon.material-icons.edit::before {
  content: "\e3c9";
}
.Icon.material-icons.door_open::before {
  content: "\e77c";
}
.Icon.material-icons.comment::before {
  content: "\e0b9";
}
.Icon.material-icons.groups::before {
  content: "\f233";
}
.Icon.material-icons.picture_as_pdf::before {
  content: "\e415";
}
.Icon.material-icons.add::before {
  content: "\e145";
}
.Icon.material-icons.remove::before {
  content: "\e15b";
}
.Icon.material-icons.add_circle::before {
  content: "\e147";
}
.Icon.material-icons.first_page::before {
  content: "\e5dc";
}
.Icon.material-icons.last_page::before {
  content: "\e5dd";
}
.Icon.material-icons.chevron_left::before {
  content: "\e5cb";
}
.Icon.material-icons.chevron_right::before {
  content: "\e5cc";
}
.Icon.material-icons.lock::before {
  content: "\e897";
}
.Icon.material-icons.import_contacts::before {
  content: "\e0e0";
}
.Icon.material-icons.check::before {
  content: "\e5ca";
}
.Icon.material-icons.check_circle::before {
  content: "\e86c";
}
.Icon.material-icons.login::before {
  content: "\ea77";
}
.Icon.material-icons.logout::before {
  content: "\e9ba";
}
.Icon.material-icons.upload::before {
  content: "\f09b";
}
.Icon.material-icons.download::before {
  content: "\f090";
}
.Icon.material-icons.account_circle::before {
  content: "\e853";
}
.Icon.material-icons.error::before {
  content: "\e000";
}
.Icon.material-icons.info::before {
  content: "\e88e";
}
.Icon.material-icons.history::before {
  content: "\e889";
}
.Icon.material-icons.help::before {
  content: "\e887";
}
.Icon.material-icons.format_list_bulleted::before {
  content: "\e241";
}
.Icon.material-icons.bookmark_check::before {
  content: "\f457";
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● form.css                                            */
/*    フォーム                                            */
/*    ・フォーム関連全般                                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* FormItem （入力枠 1つ分）
--------------------------------------------------- */
.FormItem {
  margin: 0.5em 0;
  /* 入力枠の共通スタイル */
  /* 以下は js とセットで使用すること
  ---------------------------------------------- */
}
.FormItem p {
  margin-bottom: 0;
}
.FormItem input[type=text],
.FormItem input[type=password],
.FormItem input[type=date],
.FormItem input[type=number],
.FormItem input[type=tel],
.FormItem input[type=mail],
.FormItem input[type=email],
.FormItem select {
  line-height: 1.25;
}
.FormItem input[type=text],
.FormItem input[type=password],
.FormItem input[type=date],
.FormItem input[type=number],
.FormItem input[type=tel],
.FormItem input[type=mail],
.FormItem input[type=email],
.FormItem input[type=file],
.FormItem select,
.FormItem textarea {
  max-width: 100%;
  width: calc(100% - 5px);
  border: 1px solid rgb(29, 195, 104);
  border-radius: 1rem;
  padding: 1em 1rem;
  padding: 0.75em 1rem;
  background: #f0ffff;
  vertical-align: middle;
  -webkit-box-shadow: 0 3px 0 0 rgba(29, 195, 104, 0.1) inset;
          box-shadow: 0 3px 0 0 rgba(29, 195, 104, 0.1) inset;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: inherit;
}
.FormItem input[type=text],
.FormItem input[type=password],
.FormItem input[type=date],
.FormItem input[type=number],
.FormItem input[type=tel],
.FormItem input[type=mail],
.FormItem input[type=email],
.FormItem textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.FormItem input[type=number] {
  width: 5em;
  text-align: right;
  -webkit-appearance: none;
  -moz-appearance: textfield;
  margin-right: 0.25em;
}
.FormItem input[type=file] {
  cursor: pointer;
}
.FormItem select {
  position: relative;
  min-width: 8em;
}
.FormItem textarea {
  width: 100%;
  height: 12em;
}
.FormItem .TelGroup input[type].InputTel,
.FormItem .FaxGroup input[type].InputTel {
  width: 6em;
  text-align: center;
}
.FormItem .TelGroup input[type].InputTel2,
.FormItem .FaxGroup input[type].InputTel2 {
  width: 5em;
}
.FormItem input[type].InputZip {
  width: 10em;
  text-align: left;
  margin: 0 3px;
}
.FormItem .ZipGroup input[type].InputZip {
  text-align: center;
}
.FormItem .ZipGroup input[type].InputZip1 {
  width: 5em;
}
.FormItem .ZipGroup input[type].InputZip2 {
  width: 6em;
}
.FormItem .TermGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.FormItem .TermGroup label {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.FormItem .SelectGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
.FormItem .SelectGroup label {
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
}
.FormItem .wrap_select {
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .FormItem .wrap_select {
    display: block;
  }
}
.FormItem .wrap_select::before {
  content: "";
  position: absolute;
  right: 0.75em;
  top: 50%;
  z-index: 1;
  margin-top: -4px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(135deg) translate3d(0, 0, 0);
          transform: rotate(135deg) translate3d(0, 0, 0);
  pointer-events: none;
  line-height: 1.1;
  vertical-align: bottom;
}
.FormItem .wrap_select select {
  position: static;
  width: auto;
  padding-right: 1.75em !important;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: rgb(0, 0, 0);
  font-size: 100%;
}
.FormItem .wrap_select select::-ms-expand {
  display: none;
}
.FormItem .wrap_select select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}
.FormItem .wrap_select select option {
  color: rgb(0, 0, 0);
}
.FormItem .RadioButtonGroup,
.FormItem .CheckBoxGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.FormItem .RadioButtonGroup label,
.FormItem .CheckBoxGroup label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1rem;
  white-space: nowrap;
  border-radius: 0.5em;
  padding: 1em 0.75em;
  cursor: pointer;
  vertical-align: middle;
  position: relative;
  background: #fff;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
}
.FormItem .RadioButtonGroup label:not(.Invalid),
.FormItem .CheckBoxGroup label:not(.Invalid) {
  cursor: pointer;
}
html.PcView .FormItem .RadioButtonGroup label:not(.Invalid):hover,
html.PcView .FormItem .CheckBoxGroup label:not(.Invalid):hover {
  background: rgba(29, 195, 104, 0.25);
}
.FormItem .RadioButtonGroup label:not(.Invalid).Checked,
.FormItem .CheckBoxGroup label:not(.Invalid).Checked {
  background: rgba(29, 195, 104, 0.25);
}
.FormItem .RadioButtonGroup label.with_input,
.FormItem .CheckBoxGroup label.with_input {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.FormItem .RadioButtonGroup label.with_input .Label,
.FormItem .CheckBoxGroup label.with_input .Label {
  white-space: nowrap;
}
.FormItem .RadioButtonGroup label.with_input input[type=text],
.FormItem .CheckBoxGroup label.with_input input[type=text] {
  margin: -0.5em 0;
}
.FormItem .RadioButtonGroup label input[type=checkbox],
.FormItem .RadioButtonGroup label input[type=radio],
.FormItem .CheckBoxGroup label input[type=checkbox],
.FormItem .CheckBoxGroup label input[type=radio] {
  border: none;
  height: 1px;
  width: 1px;
  opacity: 0;
  position: absolute;
}
.FormItem .RadioButtonGroup label .Label,
.FormItem .CheckBoxGroup label .Label {
  line-height: 1.25;
  white-space: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
}
.FormItem .RadioButtonGroup label .Label .Main,
.FormItem .CheckBoxGroup label .Label .Main {
  font-size: 100%;
  font-weight: 600;
}
.FormItem .RadioButtonGroup label .Label .Sub,
.FormItem .CheckBoxGroup label .Label .Sub {
  font-size: 1.2rem;
}
.FormItem .RadioButtonGroup label .outside,
.FormItem .CheckBoxGroup label .outside {
  position: relative;
  width: 2rem;
  height: 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
  -webkit-transition: color 0.2s, background 0.2s, -webkit-transform 0.2s;
  transition: color 0.2s, background 0.2s, -webkit-transform 0.2s;
  transition: color 0.2s, background 0.2s, transform 0.2s;
  transition: color 0.2s, background 0.2s, transform 0.2s, -webkit-transform 0.2s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.FormItem .RadioButtonGroup label .inside,
.FormItem .CheckBoxGroup label .inside {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: -0.5rem;
  margin-top: -0.5rem;
  -webkit-transition: color 0.2s, background 0.2s, -webkit-transform 0.2s;
  transition: color 0.2s, background 0.2s, -webkit-transform 0.2s;
  transition: color 0.2s, background 0.2s, transform 0.2s;
  transition: color 0.2s, background 0.2s, transform 0.2s, -webkit-transform 0.2s;
}
.no-transforms .FormItem .RadioButtonGroup label .inside,
.no-transforms .FormItem .CheckBoxGroup label .inside {
  left: auto;
  top: auto;
  width: 0;
  height: 0;
}
.FormItem .RadioButtonGroup label input,
.FormItem .CheckBoxGroup label input {
  margin: -0.75em 0;
}
.FormItem .RadioButtonGroup label {
  border: 1px solid rgb(29, 195, 104);
  -webkit-box-shadow: 1px 1px 0 rgb(29, 195, 104);
          box-shadow: 1px 1px 0 rgb(29, 195, 104);
}
.FormItem .RadioButtonGroup label .outside {
  border-radius: 50%;
  background: rgb(198.5, 198.5, 198.5);
}
.FormItem .RadioButtonGroup label .inside {
  border-radius: 50%;
  background: rgb(29, 195, 104);
  -webkit-transform: scale(0, 0);
          transform: scale(0, 0);
}
.FormItem .RadioButtonGroup label input:checked + .outside {
  background: rgb(29, 195, 104);
}
.FormItem .RadioButtonGroup label input:checked + .outside .inside {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  background: #fff;
}
.FormItem .CheckBoxGroup label {
  border: 1px solid rgb(29, 195, 104);
  -webkit-box-shadow: 1px 1px 0 rgb(29, 195, 104);
          box-shadow: 1px 1px 0 rgb(29, 195, 104);
}
.FormItem .CheckBoxGroup label .outside {
  border-radius: 0.5rem;
  background: rgb(198.5, 198.5, 198.5);
  background: rgba(0, 0, 0, 0.1);
}
.FormItem .CheckBoxGroup label .inside {
  border: 3px solid #fff;
  -webkit-transform: scale(0, 0) rotate(-45deg);
          transform: scale(0, 0) rotate(-45deg);
  border-top: none;
  border-right: none;
  width: 1.25rem;
  height: 0.75rem;
  margin-left: -0.625rem;
  margin-top: -0.5rem;
}
.FormItem .CheckBoxGroup label input:checked + .outside {
  background: rgb(29, 195, 104);
}
.FormItem .CheckBoxGroup label input:checked + .outside .inside {
  -webkit-transform: scale(1, 1) rotate(-45deg);
          transform: scale(1, 1) rotate(-45deg);
}
.FormItem .floating-label-field .floating-label {
  color: rgb(30, 162, 109);
  font-size: 1rem;
  line-height: 1;
  opacity: 0;
  padding: 0.5em 1rem;
  pointer-events: none;
  position: absolute;
  text-overflow: ellipsis;
  text-align: left;
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.FormItem .floating-label-field.field-not-empty .floating-label, .FormItem .floating-label-field.floating-label-alway-show .floating-label {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
/* その他 フォーカス、プレースホルダー など
--------------------------------------------------- */
/* placeholder  */
::-webkit-input-placeholder {
  color: rgba(29, 195, 104, 0.5);
}
::-moz-placeholder {
  color: rgba(29, 195, 104, 0.5);
}
:-ms-input-placeholder {
  color: rgba(29, 195, 104, 0.5);
}
::-ms-input-placeholder {
  color: rgba(29, 195, 104, 0.5);
}
::placeholder {
  color: rgba(29, 195, 104, 0.5);
}

/* focus時 */
input:not([readonly]):focus,
select:not([readonly]):focus,
textarea:not([readonly]):focus {
  border: 1px solid rgb(30, 162, 109);
}

/* エラー時 */
.form-error:not([type=radio]),
.form-error:not([type=checkbox]),
.RadioButtonGroup.form-error,
.CheckBoxGroup.form-error {
  border: 2px solid #f00 !important;
}

.form-error-msg {
  color: #f00;
  display: block;
  font-size: 87.5%;
}

html.safari .form-error[type=radio],
html.safari .form-error[type=checkbox] {
  background: #333;
}

/* readonly */
input[readonly],
select[readonly],
textarea[readonly] {
  border: none !important;
  background: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  outline: none !important;
}

/* invalid */
input[invalid],
select[invalid],
textarea[invalid] {
  color: #777 !important;
  background: #ccc !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border-color: #aaa;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● crumb.css                                           */
/*    共通部品                                            */
/*    ・パンくずナビ                                      */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* PageNavigation
--------------------------------------------------- */
.PageNavigation {
  padding: 1.5em 0em;
  background: rgb(224, 224, 224);
  font-size: 1.2rem;
  line-height: 1.25;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.PageNavigation > p {
  margin-left: auto;
  margin-right: auto;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  text-align: left;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5em 0.5em;
}
@media screen and (min-width: 768px), print {
  .PageNavigation > p {
    width: 100%;
    max-width: 1200px;
  }
}
@media screen and (max-width: 1219px), print {
  .PageNavigation > p {
    max-width: calc(100% - 4rem);
  }
}
@media screen and (max-width: 767px) {
  .PageNavigation > p {
    max-width: calc(100% - 4rem);
    min-width: 320px;
  }
}
.PageNavigation > p > * {
  letter-spacing: 0em;
}
.PageNavigation > p .Partition {
  padding: 0;
  color: rgb(0, 0, 0);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0.75;
}
.PageNavigation > p .Unit {
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  font-weight: 700;
}
.PageNavigation > p .Unit:last-child {
  color: rgb(30, 162, 109);
}
.PageNavigation > p .Unit:not(.NoLink) {
  padding: 0.1em 0;
  position: relative;
}
.PageNavigation > p .Unit:not(.NoLink)::after {
  content: "";
  display: block;
  background: currentColor;
  height: 1px;
  position: absolute;
  bottom: calc(0% - 0.25em);
  width: 100%;
  left: 0%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
html.PcView .PageNavigation > p .Unit:not(.NoLink):hover::after, html.PcView .PageNavigation > p .Unit:not(.NoLink):focus::after {
  -webkit-animation: animated_underline 0.4s forwards;
          animation: animated_underline 0.4s forwards;
}
@keyframes animated_underline {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● pagenaition.css                                     */
/*    共通部品                                            */
/*    ・ページネーション                                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* pagination
--------------------------------------------------- */
.pagination {
  text-align: center;
  margin: 0.75em 0;
  font-size: 1.6rem;
}
.pagination .pagination-numbers p {
  padding: 0.25em 0.25em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pagination .pagination-numbers p a {
  background-image: none;
  text-decoration: none !important;
}
html.PcView .pagination .pagination-numbers p a:hover, html.PcView .pagination .pagination-numbers p a:focus {
  color: #fff !important;
  background-color: rgb(30, 162, 109);
  text-decoration: none;
}
.pagination .pagination-numbers p a,
.pagination .pagination-numbers p .current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  padding: 0 !important;
  min-width: 2.25em;
  aspect-ratio: 1;
  background: #fff;
  border: 1px solid rgb(30, 162, 109) !important;
  color: rgb(30, 162, 109);
  margin: 4px !important;
  border-radius: 5em;
}
.pagination .pagination-numbers p .current {
  color: #fff;
  background: rgb(30, 162, 109);
}
.pagination .pagination-numbers p .disabled {
  display: none;
}
.pagination .pagination-numbers p .Icon::before {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● column.css                                          */
/*    共通部品                                            */
/*    ・段組み                                            */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Column Setting                                 */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ColumnGroup
--------------------------------------------------- */
.ColumnGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}

/* - - column common - -  */
.ColumnGroup > * {
  margin-left: initial;
  margin-right: initial;
}

/* 要素数をクラス名に持たせて自動配置 ※ulにクラス名をつけて使用  */
/* ColumnGroup（数字）elements が横並び数（幅に応じて変化）       */
/* - - two columns - - */
.ColumnGroup2elements > * {
  width: calc((100% - 1rem) / 2);
}
@media screen and (max-width: 767px) {
  .ColumnGroup2elements:not(.FixedNumber) > * {
    width: 100%;
  }
}

/* - - three columns - - */
.ColumnGroup3elements > * {
  width: calc((100% - 2 * 1rem) / 3);
}
@media screen and (max-width: 767px) {
  .ColumnGroup3elements:not(.FixedNumber) > * {
    width: calc((100% - 1rem) / 2);
  }
}

/* - - four columns - - */
.ColumnGroup4elements > * {
  width: calc((100% - 3 * 1rem) / 4);
}
@media screen and (max-width: 767px) {
  .ColumnGroup4elements:not(.FixedNumber) > * {
    width: calc((100% - 1 * 1rem) / 2);
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● button.css                                          */
/*    共通部品                                            */
/*    ・ボタン                                            */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 共通設定 */
.Button {
  cursor: pointer;
  position: relative;
  z-index: 1;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  line-height: 1;
  padding: 0.5em 1.5rem;
  gap: 2rem;
  /* ボタンのバリエーション
  --------------------------------------------------- */
}
.Button .Label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  z-index: 2;
  font-weight: 600;
}
.Button .Icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  z-index: 2;
  position: relative;
}
.Button .Icon::after, .Button .Icon::before {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.Button .New {
  position: absolute;
  color: #fff;
  background: #f03;
  right: 0.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(0.8);
          transform: translateY(-50%) scale(0.8);
  border-radius: 100%;
  aspect-ratio: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1rem;
  font-weight: 600;
  width: 3rem;
}
.Button.Type1 {
  color: #fff;
  gap: 0.5rem;
  padding: 1.25em 1.5rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.Button.Type1 .Label {
  padding: 0 5rem;
  min-width: 17.5em;
}
.Button.Type1 .Icon {
  position: absolute;
  font-size: 120%;
}
.Button.Type1::after {
  content: "";
  position: absolute;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  z-index: -1;
  border-radius: 5rem;
  -webkit-transition: 0.2s background, 0.2s -webkit-transform;
  transition: 0.2s background, 0.2s -webkit-transform;
  transition: 0.2s transform, 0.2s background;
  transition: 0.2s transform, 0.2s background, 0.2s -webkit-transform;
  background: rgb(30, 162, 109);
  -webkit-transform: scale(1);
          transform: scale(1);
}
html.PcView .Button.Type1:hover::after, html.PcView .Button.Type1:focus::after {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  background: rgb(29, 195, 104);
}
.Button.Type1.Black::after {
  background: #000;
}
html.PcView .Button.Type1.Black:hover::after, html.PcView .Button.Type1.Black:focus::after {
  background: rgb(29, 195, 104);
}
.Button.Type1.Gray {
  color: rgb(0, 0, 0);
}
.Button.Type1.Gray::after {
  background: rgb(224, 224, 224);
}
html.PcView .Button.Type1.Gray:hover::after, html.PcView .Button.Type1.Gray:focus::after {
  background: rgb(211.25, 211.25, 211.25);
}
.Button.Type1.White {
  color: rgb(30, 162, 109);
}
.Button.Type1.White::after {
  background: #fff;
}
.Button.Type1.Invalid {
  cursor: default;
  pointer-events: none;
  opacity: 0.25;
}
.Button.Type1.Invalid .Icon {
  opacity: 0;
}
html.PcView .Button.Type1.Invalid:hover::after, html.PcView .Button.Type1.Invalid:focus::after {
  -webkit-transform: scale(1);
          transform: scale(1);
  background: inherit;
}
.Button.Type2 {
  padding: 0.25em 0;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  font-size: 1.6rem;
  padding: 0.1em 0;
  position: relative;
}
.Button.Type2 .Icon {
  color: rgb(30, 162, 109);
}
.Button.Type2::after {
  content: "";
  display: block;
  background: currentColor;
  height: 1px;
  position: absolute;
  bottom: calc(0% - 0.25em);
  width: 100%;
  left: 0%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
html.PcView .Button.Type2:hover::after, html.PcView .Button.Type2:focus::after {
  -webkit-animation: animated_underline 0.4s forwards;
          animation: animated_underline 0.4s forwards;
}
@keyframes animated_underline {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
.Button.Type3 {
  color: currentColor;
  gap: 0.5rem;
  padding: 1.25em 1.5rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.Button.Type3 .Label {
  padding: 0 5rem;
  min-width: 17.5em;
}
.Button.Type3 .Icon {
  position: absolute;
  font-size: 120%;
}
.Button.Type3::after {
  content: "";
  position: absolute;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  z-index: -1;
  border-radius: 5rem;
  -webkit-transition: 0.2s -webkit-transform;
  transition: 0.2s -webkit-transform;
  transition: 0.2s transform;
  transition: 0.2s transform, 0.2s -webkit-transform;
  border: 2px solid;
  -webkit-transform: scale(1);
          transform: scale(1);
}
html.PcView .Button.Type3:hover::after, html.PcView .Button.Type3:focus::after {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.Button.SimpleButton {
  padding: 1em 1.5em;
  font-size: 75%;
}
.Button.SimpleButton .Label {
  padding: 0;
}
.Button.SimpleButton .Icon {
  display: none;
}
.Button.SimpleButton::after {
  content: "";
  position: absolute;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  z-index: -1;
  border-radius: 5rem;
  -webkit-transition: 0.2s background;
  transition: 0.2s background;
  background: rgb(224, 224, 224);
}
html.PcView .Button.SimpleButton:hover::after, html.PcView .Button.SimpleButton:focus::after {
  background: rgb(211.25, 211.25, 211.25);
}
.Button.SimpleButton.Black {
  color: #fff;
}
.Button.SimpleButton.Black::after {
  background: #000;
}
html.PcView .Button.SimpleButton.Black:hover::after, html.PcView .Button.SimpleButton.Black:focus::after {
  background: #333;
}
.Button.SimpleButton.White {
  color: rgb(30, 162, 109);
}
.Button.SimpleButton.White::after {
  background: #fff;
}
/* トグルボタン（ チェックボックスを使うタイプ ）
--------------------------------------------------- */
/* GoPageTop
--------------------------------------------------- */
.GoPageTop {
  line-height: 1;
  z-index: 50;
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
}
.GoPageTop * {
  line-height: 1;
}
.GoPageTop p a .Icon,
.GoPageTop p a .Icon::before {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.GoPageTop p a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.GoPageTop p a .Label {
  display: none;
}
.GoPageTop p a .Icon {
  width: 3.6rem;
  height: 3.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: normal;
  border-radius: 100%;
  color: #fff;
  margin: 0 0 0.75rem;
  padding: 0;
  position: relative;
  top: 0;
}
.GoPageTop p a .Icon::after {
  -webkit-transition: 0.2s -webkit-transform;
  transition: 0.2s -webkit-transform;
  transition: 0.2s transform;
  transition: 0.2s transform, 0.2s -webkit-transform;
  background: rgb(0, 0, 0);
  -webkit-transform: scale(1);
          transform: scale(1);
}
.GoPageTop p a .Icon::before {
  margin: 0;
  padding: 0;
}
html.PcView .GoPageTop p a:hover .Icon::after, html.PcView .GoPageTop p a:focus .Icon::after {
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
}

/* menu-trigger (開閉式メニュー)
--------------------------------------------------- */
.MenuTrigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}
.MenuTrigger a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 1rem;
  background: #000;
  /* hover */
  /* Active */
}
.MenuTrigger a .Icon,
.MenuTrigger a .Label {
  display: block;
}
.MenuTrigger a .Label {
  text-align: center;
  color: #fff;
  margin-top: 0.5em;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  display: none;
}
.MenuTrigger a .Icon {
  position: relative;
  width: 2em;
  height: 2em;
  font-size: 1rem !important;
}
.MenuTrigger a .Icon span.Shape {
  position: absolute;
  display: inline-block;
  left: 0%;
  width: 100%;
  height: 0.2rem;
  margin-top: -0.15em;
  background-color: #fff;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  opacity: 1;
  border-radius: 1em;
}
.MenuTrigger a .Icon span.Shape:nth-of-type(1) {
  top: 20%;
}
.MenuTrigger a .Icon span.Shape:nth-of-type(2) {
  top: 50%;
}
.MenuTrigger a .Icon span.Shape:nth-of-type(3) {
  top: 80%;
}
html.PcView .MenuTrigger a:hover {
  text-decoration: none;
}
html.PcView .MenuTrigger a:hover .Icon span.Illust {
  -webkit-transform: scale(1) rotate(90deg);
          transform: scale(1) rotate(90deg);
}
.MenuTrigger a.Active .Icon span.Shape:nth-of-type(1) {
  -webkit-transform: rotate(-330deg);
          transform: rotate(-330deg);
  top: 50%;
}
.MenuTrigger a.Active .Icon span.Shape:nth-of-type(2) {
  opacity: 0;
}
.MenuTrigger a.Active .Icon span.Shape:nth-of-type(3) {
  -webkit-transform: rotate(330deg);
          transform: rotate(330deg);
  top: 50%;
}
.MenuTrigger a.Active .Icon span.Illust {
  opacity: 0;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● other.css                                           */
/*    共通部品                                            */
/*    ・その他                                            */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* レスポンシブ 表示ON/OFF */
/* + + + + + レスポンシブ + + + + +  */
@media screen and (min-width: 768px), print {
  .hide-wide {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .hide-narrow {
    display: none !important;
  }
}
.DisplayOff {
  display: none;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   images                                         */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
img {
  max-width: 100%;
  height: auto;
}

/* googlemap 内の画像は適用外 */
#GoogleMap img {
  max-width: none;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   video                                          */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
video {
  max-width: 100%;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   iframe                                         */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
iframe:not(.cboxIframe) {
  aspect-ratio: 1.7777777778;
  width: 100%;
  height: auto;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   ほか                                           */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 開閉コンテンツ（アコーディオン）
--------------------------------------------------- */
.AccordionParent {
  /* トグルボタン（js で AccordionParent へ Activeクラスを付ける必要あり） */
  /* トグルボタン（AccordionHeader を押せるようにしたので、Header内にボタンがある場合はクリック無効） */
}
.AccordionParent .ToggleButton {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #fff;
  border: 1px solid rgba(30, 162, 109, 0.5);
  -webkit-box-shadow: 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.05) inset;
          box-shadow: 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.05) inset;
  border-radius: 5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.5em 1.5em;
  cursor: pointer;
  position: relative;
  font-size: 1.4rem;
  margin: 0 0.5em;
}
.AccordionParent .ToggleButton .Label {
  min-width: 5em;
  padding: 0 0.5em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 1;
  position: relative;
}
.AccordionParent .ToggleButton .Icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: absolute;
  -webkit-transition: left 0.2s;
  transition: left 0.2s;
}
.AccordionParent .ToggleButton .Icon, .AccordionParent .ToggleButton .Icon::before {
  margin: 0;
  line-height: 1.25;
}
.AccordionParent .ToggleButton .Icon::before {
  height: 1.25em;
  width: 1.25em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.AccordionParent .AccordionHeader .ToggleButton {
  pointer-events: none;
}
html.PcView .AccordionParent .AccordionHeader:hover .ToggleButton, html.PcView .AccordionParent .ToggleButton:hover {
  -webkit-box-shadow: 0 0 0.125em rgb(30, 162, 109);
          box-shadow: 0 0 0.125em rgb(30, 162, 109);
  border-color: rgb(30, 162, 109);
}
.AccordionParent.in_motion .ToggleButton .Label {
  opacity: 0;
}
.AccordionParent:not(.Active) .ToggleButton .Icon {
  left: 0.75em;
}
.AccordionParent:not(.Active) .ToggleButton .Icon::before {
  color: #fff;
  background: rgb(30, 162, 109);
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.AccordionParent:not(.Active) .ToggleButton .Label {
  left: 0.75em;
}
.AccordionParent:not(.Active) .ToggleButton .Label::before {
  content: "開く";
}
.AccordionParent.Active .ToggleButton .Icon {
  left: calc(100% - 2em);
}
.AccordionParent.Active .ToggleButton .Icon::before {
  color: #fff;
  background: rgb(30, 162, 109);
}
.AccordionParent.Active .ToggleButton .Label {
  left: -0.75em;
}
.AccordionParent.Active .ToggleButton .Label::before {
  content: "閉じる";
}
.AccordionParent.Type1 {
  background: rgba(29, 195, 104, 0.25);
  background: #fff;
  border: 1px solid rgba(30, 162, 109, 0.5);
  border-radius: 1em;
  margin: 0.5em auto;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.AccordionParent.Type1 + .AccordionParent {
  margin-top: 0;
}
.AccordionParent.Type1 .AccordionHeader {
  position: relative;
  margin: 0 !important;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.5rem;
  cursor: pointer;
}
.AccordionParent.Type1 .AccordionHeader .Heading,
.AccordionParent.Type1 .AccordionHeader .ButtonGroup {
  margin: 0;
}
.AccordionParent.Type1 .AccordionHeader .Heading .Icon {
  color: rgb(30, 162, 109);
  margin-right: 0.5em;
}
.AccordionParent.Type1 .AccordionChild {
  padding: 1.5rem;
}
@media screen and (max-width: 767px) {
  .AccordionParent.Type1 .AccordionChild {
    padding: 1rem 1rem;
  }
}
.AccordionParent.Type2 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 10rem;
  min-height: 5em;
}
.AccordionParent.Type2::before {
  content: "この項目を表示するには「開く」ボタンを押してください";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  display: none;
  position: absolute;
}
.AccordionParent.Type2:not(.in_motion)::before {
  -webkit-animation: blink 2s infinite;
          animation: blink 2s infinite;
}
.AccordionParent.Type2:not(.Active) {
  background: #ccc;
}
.AccordionParent.Type2:not(.Active)::before {
  opacity: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.AccordionParent.Type2 .ToggleButton {
  font-size: 1.2rem;
  position: absolute;
  right: 0.5rem;
  z-index: 1;
  margin: 0;
}
.AccordionParent.Type2.in_motion::before {
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: none;
          animation: none;
}
/* Scrollable ウィンドウ幅が狭いときに横スクロール
--------------------------------------------------- */
.Scrollable {
  margin: 1em auto;
  /* スクロールバー装飾（firefox） */
  scrollbar-width: thin;
  scrollbar-color: rgb(30, 162, 109) rgba(0, 0, 0, 0.1);
  /* スクロールバー装飾（webkit系） */
  /* アイコン */
}
.Scrollable::-webkit-scrollbar {
  height: 2px;
  margin-top: 5px;
}
.Scrollable::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
}
.Scrollable::-webkit-scrollbar-thumb {
  background: rgb(30, 162, 109);
}
.Scrollable .ScrollableIcon {
  position: absolute;
  top: 40%;
  left: 175px;
  z-index: 10;
  padding: 28px 25px;
  border-radius: 100%;
  background: rgba(255, 255, 255, 0.95);
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
  display: inline-block;
}
.Scrollable .ScrollableIcon img {
  width: 60px;
}
@media screen and (min-width: 768px), print {
  .Scrollable .ScrollableIcon {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .Scrollable {
    position: relative;
    margin-bottom: 1em;
    /* 画像用の処理 */
    /* Table用の処理 */
  }
  .Scrollable:not(.Vertical) {
    overflow-x: auto;
  }
  .Scrollable:hover .ScrollableIcon {
    display: none;
  }
  .Scrollable:not(.Vertical) > img {
    width: 200vw;
    max-width: initial;
  }
  .Scrollable:not(.Vertical) > table {
    width: 750px; /* ここはスクロール対象の最大幅（デフォ値）を入れる */
    margin-bottom: 0 !important;
  }
  .Scrollable:not(.Vertical) > table th {
    white-space: nowrap;
  }
}
.Scrollable.Vertical {
  margin: 2.5rem auto;
  max-height: 65rem;
  overflow-y: auto;
  border: 1px solid rgb(30, 162, 109);
  padding: 0;
}
@media screen and (max-width: 767px) {
  .Scrollable.Vertical {
    max-height: 50vh;
  }
}
.Scrollable.Vertical > table {
  margin: 0;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   SearchBox                                      */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 検索ボックス
--------------------------------------------------- */
.SearchBox {
  margin: 0;
  font-size: 1.2rem;
}
.SearchBox form {
  position: relative;
}
.SearchBox form .FormItem {
  margin: 0;
}
.SearchBox form .FormItem input[type=text] {
  margin: 0;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
  background: #fff;
  border-radius: 5rem;
  padding: 0.5em;
  padding-right: 1.25em;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 1.4rem;
}
.SearchBox form .FormItem input[type=text]::-webkit-input-placeholder {
  font-size: 1rem;
}
.SearchBox form .FormItem input[type=text]::-moz-placeholder {
  font-size: 1rem;
}
.SearchBox form .FormItem input[type=text]:-ms-input-placeholder {
  font-size: 1rem;
}
.SearchBox form .FormItem input[type=text]::-ms-input-placeholder {
  font-size: 1rem;
}
.SearchBox form .FormItem input[type=text]::placeholder {
  font-size: 1rem;
}
.SearchBox form .ButtonItem .Button {
  position: absolute;
  right: 0.5em;
  top: calc(50% - 1rem);
  margin: 0;
  line-height: 1;
  font-size: 2rem;
  width: 1em;
  height: 1em;
  border: none !important;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   FontsizeChangeBox                              */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 文字サイズ可変ボックス
--------------------------------------------------- */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   MessageBox                                     */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* メッセージ表示
--------------------------------------------------- */
.MessageBox {
  padding: 25px 25px;
  margin: 1em auto;
  text-align: center;
  color: rgb(30, 162, 109);
  background: rgba(30, 162, 109, 0.25);
  border: none;
  border-radius: 1em;
  position: relative;
}
.MessageBox .Heading {
  margin: 0 0 0.5em;
  line-height: 1.75;
  font-size: 131.25%;
}
.MessageBox .Heading .Label {
  margin-top: 2rem;
  display: block;
  color: currentColor;
}
.MessageBox .Heading .Icon {
  display: block;
  color: currentColor;
}
.MessageBox .Heading .Icon::before {
  font-size: 2.5rem;
}
.MessageBox .DefaultText {
  text-align: center;
  line-height: 2;
  margin: 0;
}
.MessageBox.Error {
  border-color: #e95704;
  background: rgba(233, 87, 4, 0.25);
  color: #e95704;
}
.MessageBox.Error .Icon {
  color: currentColor;
}
.MessageBox.Caution {
  border-color: #ecec2f;
  background: rgba(236, 236, 47, 0.25);
  color: #333;
}
.MessageBox.Caution .Icon {
  color: currentColor;
}

/* ステップナビ
--------------------------------------------------- */
.StepNavigation {
  margin: 1.5em 0;
}
.StepNavigation ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  list-style: none;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
@media screen and (min-width: 768px), print {
  .StepNavigation ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .StepNavigation ul {
    font-size: 1.4rem;
  }
}
.StepNavigation ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media screen and (min-width: 768px), print {
  .StepNavigation ul li {
    max-width: 15em;
  }
}
.StepNavigation ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(0, 0, 0, 0.05);
  padding: 1em 0 1em 17.5%;
  width: 100%;
  height: 100%;
  position: relative;
  clip-path: polygon(90% 0%, 100% 50%, 90% 100%, 0% 100%, 0% 50%, 0% 0%);
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
html.PcView .StepNavigation ul li a[href]:hover {
  color: #fff;
  background: rgb(30, 162, 109);
}
.StepNavigation ul li.Active a {
  color: #fff;
  background: rgb(30, 162, 109);
  font-weight: bold;
}
.StepNavigation ul li:first-child a {
  clip-path: polygon(90% 0%, 100% 50%, 90% 100%, 0% 100%, 0% 50%, 0% 0%);
}
.StepNavigation ul li:last-child a {
  clip-path: polygon(100% 0%, 100% 50%, 100% 100%, 0% 100%, 0% 50%, 0% 0%);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   LinkBox                                        */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* LinkBox（未使用）
--------------------------------------------------- */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   枠付きボックス                                 */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* DecoratedBox
--------------------------------------------------- */
.DecoratedBoxGroup {
  margin: 2.5rem auto;
}

.DecoratedBox {
  padding: 2.5rem;
  background-color: #fff;
  border: 1px solid rgb(29, 195, 104);
  border-radius: 2.5rem;
}
.DecoratedBox .Image {
  text-align: center;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   もっと見るリンク                               */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* MoreLink
--------------------------------------------------- */
/* 開閉ボックス
--------------------------------------------------- */
.read_more_box {
  position: relative;
}
.read_more_box input {
  display: none;
}
.read_more_box .read_more_container {
  padding: 1em 0;
}
.read_more_box:not(.Invalid) {
  /*続きをよむボタン*/
  /*閉じるボタン*/
}
.read_more_box:not(.Invalid) label {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 1;
  bottom: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  text-align: center;
  /* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(white));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) calc(100% - 4em), white calc(100% - 1em));
}
.read_more_box:not(.Invalid) input:checked + label {
  background: inherit;
}
.read_more_box:not(.Invalid) input:checked + label {
  /* display: none ; 閉じるボタンを消す場合コメントアウトを外す */
}
.read_more_box:not(.Invalid) .read_more_container {
  overflow: hidden;
  max-height: 7.5em; /* 開く前に見えている部分の高さ */
  -webkit-transition: max-height 0.5s;
  transition: max-height 0.5s;
}
.read_more_box:not(.Invalid) label::after {
  content: "";
  position: absolute;
}
.read_more_box:not(.Invalid) label::after {
  content: "＋";
  z-index: 2;
  left: 50%;
  top: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: rgb(0, 0, 0);
  background: #fff;
  border-radius: 20px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3em;
  border: 2px solid;
  font-size: 1.2rem;
  font-weight: 800;
}
.read_more_box:not(.Invalid) input:checked + label:after {
  content: "−";
}
.read_more_box:not(.Invalid) input:checked ~ .read_more_container {
  max-height: 150em;
  padding-bottom: 1.5em;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    effect                                        */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● anim.css                                            */
/*    CSSアニメーションを定義                             */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 基本形
--------------------------------------------------- */
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes blink {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes blink {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes img_slide {
  0% {
    object-position: 25% 50%;
  }
  100% {
    object-position: 75% 50%;
  }
}
@keyframes img_slide {
  0% {
    -o-object-position: 25% 50%;
       object-position: 25% 50%;
  }
  100% {
    -o-object-position: 75% 50%;
       object-position: 75% 50%;
  }
}
@-webkit-keyframes txt_underline {
  0% {
    background-position: 100% 100%;
    background-size: 100% 1px;
  }
  50% {
    background-position: 100% 100%;
    background-size: 0 1px;
  }
  50.1% {
    background-position: 0 100%;
    background-size: 0 1px;
  }
  100% {
    background-position: 0 100%;
    background-size: 100% 1px;
  }
}
@keyframes txt_underline {
  0% {
    background-position: 100% 100%;
    background-size: 100% 1px;
  }
  50% {
    background-position: 100% 100%;
    background-size: 0 1px;
  }
  50.1% {
    background-position: 0 100%;
    background-size: 0 1px;
  }
  100% {
    background-position: 0 100%;
    background-size: 100% 1px;
  }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● hover.css                                           */
/*                                                        */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
a.NoLink {
  cursor: default;
}
a.NoLink .Icon {
  opacity: 0;
}
html.PcView a.NoLink:hover, html.PcView a.NoLink:focus {
  text-decoration: inherit !important;
}

/* 各種hover効果 （非推奨の処理があるため、使わない）
--------------------------------------------------- */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● delighter.css                                       */
/*    付加装飾                                            */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* delighter 用
--------------------------------------------------- */
@media screen {
  /* 基本のスタイル */
  .delighter {
    opacity: 0;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
    /* 初期値 */
    /* スタート時のスタイル */
    /* エンド時のスタイル */
  }
  .delighter .delighter {
    opacity: 1;
  }
  .delighter.top {
    -webkit-transform: translatey(-15%);
            transform: translatey(-15%);
  }
  .delighter.right {
    -webkit-transform: translate(-10%);
            transform: translate(-10%);
  }
  .delighter.left {
    -webkit-transform: translate(10%);
            transform: translate(10%);
  }
  .delighter.bottom {
    -webkit-transform: translatey(15%);
            transform: translatey(15%);
  }
  .delighter.clip-path {
    clip-path: inset(0% 100% 0% 0%);
  }
  .delighter.clip-path img {
    -webkit-filter: brightness(10);
            filter: brightness(10);
    -webkit-transition: -webkit-filter 0.5s ease-out;
    transition: -webkit-filter 0.5s ease-out;
    transition: filter 0.5s ease-out;
    transition: filter 0.5s ease-out, -webkit-filter 0.5s ease-out;
  }
  .delighter.started {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .delighter.started.clip-path {
    clip-path: inset(0% 0% 0% 0%);
  }
  .delighter.started.clip-path img {
    -webkit-filter: brightness(1);
            filter: brightness(1);
  }
  .delighter.ended.clip-path {
    clip-path: none;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    modules                                       */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● template.css                                        */
/*                                                        */
/*    ・テンプレート                                      */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.SknTplImageParagraph {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3rem;
  /* TextItem */
  /* ImageItem */
  /* 画像おおきめ */
  /* 画像小さめ */
  /* - - FullImage - - */
  /* - - LeftImage - - */
  /* - - RightImage - - */
  /* + + + + + レスポンシブ + + + + +  */
}
@media screen and (max-width: 767px) {
  .SknTplImageParagraph {
    gap: 1.5rem;
  }
}
.SknTplImageParagraph .TextItem {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.SknTplImageParagraph .TextItem > .Heading:first-child {
  margin-top: 0;
}
.SknTplImageParagraph .ImageItem {
  width: 40%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
.SknTplImageParagraph.LargeImage .ImageItem {
  width: 55%;
}
.SknTplImageParagraph.SmallImage .ImageItem {
  width: 30%;
}
@media screen and (max-width: 767px) {
  .SknTplImageParagraph.SmallImage .ImageItem {
    max-width: 80vw;
  }
}
.SknTplImageParagraph .ImageItem .Image {
  margin: 0;
  margin-bottom: 0 !important;
  display: block;
  text-align: center;
}
.SknTplImageParagraph .ImageItem .Image img {
  width: 100%;
  height: auto !important;
}
.SknTplImageParagraph .ImageItem .Caption {
  padding: 1em 0 0;
  font-size: 1.4rem;
}
.SknTplImageParagraph.FullImage {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.SknTplImageParagraph.FullImage .ImageItem,
.SknTplImageParagraph.FullImage .TextItem {
  width: auto;
}
.SknTplImageParagraph.LeftImage .ImageItem {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.SknTplImageParagraph.LeftImage .TextItem {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.SknTplImageParagraph.RightImage .ImageItem {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.SknTplImageParagraph.RightImage .TextItem {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (max-width: 767px) {
  .SknTplImageParagraph.RightImage, .SknTplImageParagraph.LeftImage {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .SknTplImageParagraph.RightImage .ImageItem,
  .SknTplImageParagraph.RightImage .TextItem, .SknTplImageParagraph.LeftImage .ImageItem,
  .SknTplImageParagraph.LeftImage .TextItem {
    width: auto;
  }
  .SknTplImageParagraph.RightImage .ImageItem, .SknTplImageParagraph.LeftImage .ImageItem {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .SknTplImageParagraph.RightImage .TextItem, .SknTplImageParagraph.LeftImage .TextItem {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    swiper.css の上書き用                         */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
.swiper-container {
  opacity: 0;
  padding-bottom: 10rem;
}

.swiper-controller {
  position: static;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.swiper-controller .swiper-pagination.swiper-pagination-bullets {
  position: static;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  padding: 2rem 1rem;
}
@media screen and (max-width: 767px) {
  .swiper-controller .swiper-pagination.swiper-pagination-bullets {
    gap: 1rem;
  }
}
.swiper-controller .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0;
  aspect-ratio: 1;
  width: 1rem;
  height: auto;
  opacity: 1;
  background-color: rgb(180, 180, 180);
}
.swiper-controller .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet-active {
  background-color: rgb(30, 162, 109);
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
}

.swiper-controller {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.5rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px), print {
  .swiper-controller {
    width: 1200px;
  }
}
.swiper-controller .swiper-pagination {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.swiper-controller .swiper-pagination.swiper-pagination-bullets {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.swiper-controller .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  aspect-ratio: 1/1;
  width: 1rem;
  height: auto;
  line-height: 0;
}
.swiper-controller .PrevSlideButton,
.swiper-controller .NextSlideButton {
  cursor: pointer;
  color: rgba(0, 0, 0, 0.25);
}
.swiper-controller .PrevSlideButton .Icon::before,
.swiper-controller .NextSlideButton .Icon::before {
  -webkit-transform: scale(2);
          transform: scale(2);
}
.swiper-controller .PrevSlideButton {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.swiper-controller .NextSlideButton {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    datepickerの上書き用                          */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* datepicker を上書き
--------------------------------------------------- */
#ui-datepicker-div {
  z-index: 120 !important;
}

.ui-datepicker {
  display: none;
  border-radius: 0 !important;
}

.ui-datepicker .ui-datepicker-header {
  position: relative;
  padding: 0.2em 0;
  border: 0;
  background: 0 0;
}

.ui-datepicker .ui-datepicker-next, .ui-datepicker .ui-datepicker-prev {
  position: absolute;
  top: 2px;
  width: 1.8em;
  height: 1.8em;
}

.ui-datepicker .ui-datepicker-prev {
  left: 2px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  display: block;
  cursor: pointer !important;
  z-index: 99;
  top: 15px !important;
  right: auto !important;
  left: 10px !important;
  position: absolute;
  border-radius: 5px;
  background: #0c5a7e;
  width: 50px;
  height: 25px;
}

.ui-datepicker .ui-datepicker-prev:before {
  content: "前月";
  color: #fff;
  position: absolute;
  top: -1px;
  left: 0px;
  text-align: center;
  font-size: 12px;
  cursor: pointer;
  z-index: 99;
  vertical-align: middle;
  width: 100%;
  line-height: 25px;
}

.ui-datepicker .ui-datepicker-prev.ui-datepicker-next-hover, .ui-datepicker .ui-datepicker-prev.ui-datepicker-prev-hover {
  border: none;
  background: #333;
  opacity: 0.7;
}

.ui-datepicker .ui-datepicker-prev.ui-datepicker-next-hover:before, .ui-datepicker .ui-datepicker-prev.ui-datepicker-prev-hover:before {
  color: #fff;
  font-weight: bold !important;
}

.ui-datepicker .ui-datepicker-prev .ui-icon {
  width: 25px;
  height: 25px;
  opacity: 1 !important;
}

.ui-datepicker .ui-datepicker-prev span {
  background: none !important;
}

.ui-datepicker .ui-datepicker-next {
  right: 2px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  display: block;
  cursor: pointer !important;
  z-index: 99;
  top: 15px !important;
  left: auto !important;
  right: 10px !important;
  position: absolute;
  border-radius: 5px;
  background: #0c5a7e;
  width: 50px;
  height: 25px;
}

.ui-datepicker .ui-datepicker-next:before {
  content: "次月";
  color: #fff;
  position: absolute;
  top: -1px;
  left: 0px;
  text-align: center;
  font-size: 12px;
  cursor: pointer;
  z-index: 99;
  vertical-align: middle;
  width: 100%;
  line-height: 25px;
}

.ui-datepicker .ui-datepicker-next.ui-datepicker-next-hover, .ui-datepicker .ui-datepicker-next.ui-datepicker-prev-hover {
  border: none;
  background: #333;
}

.ui-datepicker .ui-datepicker-next.ui-datepicker-next-hover:before, .ui-datepicker .ui-datepicker-next.ui-datepicker-prev-hover:before {
  color: #fff;
  font-weight: bold !important;
}

.ui-datepicker .ui-datepicker-next .ui-icon {
  width: 25px;
  height: 25px;
  opacity: 1 !important;
}

.ui-datepicker .ui-datepicker-next span {
  background: none !important;
}

.ui-datepicker .ui-datepicker-prev span {
  display: block;
  position: absolute;
  left: 50%;
  margin-left: -8px;
  top: 50%;
  margin-top: -8px;
}

.ui-datepicker .ui-datepicker-title {
  margin: 0;
  line-height: 30px;
  font-size: 18px;
  text-align: center;
}

.ui-datepicker .ui-datepicker-title select {
  font-size: 1em;
  margin: 1px 0;
}

.ui-datepicker select.ui-datepicker-month-year {
  width: 100%;
}

.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
  width: 49%;
}

.ui-datepicker table {
  width: 100%;
  font-size: 0.9em;
  border-collapse: collapse;
  margin: 0 0 0.4em;
  text-transform: uppercase;
}

.ui-datepicker table thead {
  border-bottom: solid 1px #cccccc;
}

.ui-datepicker table tbody:before {
  content: "";
  display: block;
  height: 10px;
}

.ui-datepicker th {
  padding: 0.7em 0.3em 1.2em;
  text-align: center;
  font-weight: 300;
  border: 0;
}

.ui-datepicker td {
  border: 0;
  padding: 2px;
}

.ui-datepicker td a, .ui-datepicker td span {
  display: block;
  padding: 5px 7px;
  text-align: center;
  text-decoration: none !important;
}

.ui-datepicker .ui-datepicker-buttonpane {
  background-image: none;
  margin: 0.7em 0 0;
  padding: 0 0.2em;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}

.ui-datepicker .ui-datepicker-buttonpane button {
  float: right;
  margin: 0.5em 0.2em 0.4em;
  cursor: pointer;
  padding: 0.2em 0.6em 0.3em;
  width: auto;
  overflow: visible;
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: left;
}

.ui-datepicker-multi .ui-datepicker-group, .ui-datepicker-rtl .ui-datepicker-buttonpane button {
  float: left;
}

.ui-datepicker.ui-datepicker-multi {
  width: auto;
}

.ui-datepicker-multi .ui-datepicker-group table {
  width: 95%;
  margin: 0 auto 0.4em;
}

.ui-datepicker-multi-2 .ui-datepicker-group {
  width: 50%;
}

.ui-datepicker-multi-3 .ui-datepicker-group {
  width: 33.3%;
}

.ui-datepicker-multi-4 .ui-datepicker-group {
  width: 25%;
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 0;
}

.ui-datepicker-multi .ui-datepicker-buttonpane {
  clear: left;
}

.ui-datepicker-row-break {
  clear: both;
  width: 100%;
  font-size: 0;
}

.ui-datepicker-rtl {
  direction: rtl;
}

.ui-datepicker-rtl .ui-datepicker-prev {
  right: 2px;
  left: auto;
}

.ui-datepicker-rtl .ui-datepicker-next {
  left: 2px;
  right: auto;
}

.ui-datepicker-rtl .ui-datepicker-next span {
  display: block;
  position: absolute;
  left: 50%;
  margin-left: -8px;
  top: 50%;
  margin-top: -8px;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane {
  clear: right;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: right;
}

.ui-datepicker-rtl .ui-datepicker-group {
  float: right;
}

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px;
}

.ui-dialog {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.2em;
  outline: 0;
}

.ui-dialog .ui-dialog-titlebar {
  padding: 0.4em 1em;
  position: relative;
}

.ui-dialog .ui-dialog-title {
  float: left;
  margin: 0.1em 0;
  white-space: nowrap;
  width: 90%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ui-dialog .ui-dialog-titlebar-close {
  position: absolute;
  right: 0.3em;
  top: 50%;
  width: 21px;
  margin: -10px 0 0;
  padding: 1px;
  height: 20px;
}

.ui-dialog .ui-dialog-content {
  position: relative;
  border: 0;
  padding: 0.5em 1em;
  background: 0 0;
  overflow: auto;
}

.ui-dialog .ui-dialog-buttonpane {
  text-align: left;
  border-width: 1px 0 0;
  background-image: none;
  margin-top: 0.5em;
  padding: 0.3em 1em 0.5em 0.4em;
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  float: right;
}

.ui-dialog .ui-dialog-buttonpane button {
  margin: 0.5em 0.4em 0.5em 0;
  cursor: pointer;
}

.ui-dialog .ui-resizable-se {
  width: 12px;
  height: 12px;
  right: -5px;
  bottom: -5px;
  background-position: 16px 16px;
}

.ui-slider-vertical .ui-slider-range-min, .ui-spinner-down {
  bottom: 0;
}

.ui-draggable .ui-dialog-titlebar {
  cursor: move;
}

.ui-menu {
  padding: 2px;
  margin: 0;
  display: block;
}

.ui-menu .ui-menu {
  margin-top: -3px;
  position: absolute;
}

.ui-menu .ui-menu-item {
  margin: 0;
  padding: 0;
  width: 100%;
  list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
}

.ui-menu .ui-menu-divider {
  margin: 5px -2px;
  height: 0;
  font-size: 0;
  line-height: 0;
  border-width: 1px 0 0;
}

.ui-menu .ui-menu-item a {
  text-decoration: none;
  display: block;
  padding: 2px 0.4em;
  line-height: 1.5;
  min-height: 0;
  font-weight: 400;
}

.ui-menu .ui-state-disabled {
  font-weight: 400;
  margin: 0.4em 0 0.2em;
  line-height: 1.5;
}

.ui-menu .ui-state-disabled a {
  cursor: default;
}

.ui-menu-icons {
  position: relative;
}

.ui-menu-icons .ui-menu-item a {
  position: relative;
  padding-left: 2em;
}

.ui-menu .ui-icon {
  position: absolute;
  top: 0.2em;
  left: 0.2em;
}

.ui-menu .ui-menu-icon {
  position: static;
  float: right;
}

.ui-progressbar {
  height: 2em;
  text-align: left;
  overflow: hidden;
}

.ui-progressbar .ui-progressbar-value {
  margin: -1px;
  height: 100%;
}

.ui-progressbar .ui-progressbar-overlay {
  height: 100%;
  filter: alpha(opacity=25);
  opacity: 0.25;
}

.ui-progressbar-indeterminate .ui-progressbar-value {
  background-image: none;
}

.ui-slider {
  position: relative;
  text-align: left;
}

.ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1.2em;
  height: 1.2em;
  cursor: default;
}

.ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  font-size: 0.7em;
  display: block;
  border: 0;
  background-position: 0 0;
}

.ui-slider.ui-state-disabled .ui-slider-handle, .ui-slider.ui-state-disabled .ui-slider-range {
  -webkit-filter: inherit;
          filter: inherit;
}

.ui-slider-horizontal {
  height: 0.8em;
}

.ui-slider-horizontal .ui-slider-handle {
  top: -0.3em;
  margin-left: -0.6em;
}

.ui-slider-horizontal .ui-slider-range {
  top: 0;
  height: 100%;
}

.ui-slider-horizontal .ui-slider-range-min {
  left: 0;
}

.ui-slider-horizontal .ui-slider-range-max {
  right: 0;
}

.ui-slider-vertical {
  width: 0.8em;
  height: 100px;
}

.ui-slider-vertical .ui-slider-handle {
  left: -0.3em;
  margin-left: 0;
  margin-bottom: -0.6em;
}

.ui-slider-vertical .ui-slider-range {
  left: 0;
  width: 100%;
}

.ui-slider-vertical .ui-slider-range-max {
  top: 0;
}

.ui-spinner {
  position: relative;
  display: inline-block;
  overflow: hidden;
  padding: 0;
}

.ui-spinner-input {
  border: none;
  background: 0 0;
  color: inherit;
  padding: 0;
  margin: 0.2em 22px 0.2em 0.4em;
}

.ui-widget-content a {
  color: #3e3e3e;
}

.ui-widget-header {
  color: #3e3e3e;
}

.ui-widget-header a {
  color: #3e3e3e;
}

.ui-spinner-button {
  width: 16px;
  height: 50%;
  font-size: 0.5em;
  padding: 0;
  margin: 0;
  text-align: center;
  position: absolute;
  cursor: default;
  display: block;
  overflow: hidden;
  right: 0;
}

.ui-spinner a.ui-spinner-button {
  border-top: none;
  border-bottom: none;
  border-right: none;
}

.ui-spinner .ui-icon {
  position: absolute;
  margin-top: -8px;
  top: 50%;
  left: 0;
}

.ui-spinner-up {
  top: 0;
}

.ui-spinner .ui-icon-triangle-1-s {
  background-position: -65px -16px;
}

.ui-tabs {
  position: relative;
  padding: 0.2em;
}

.ui-tabs .ui-tabs-nav {
  margin: 0;
  padding: 0.2em 0.2em 0;
}

.ui-tabs .ui-tabs-nav li {
  list-style: none;
  float: left;
  position: relative;
  top: 0;
  margin: 1px 0.2em 0 0;
  border-bottom-width: 0;
  padding: 0;
  white-space: nowrap;
}

.ui-tabs .ui-tabs-nav li a {
  float: left;
  padding: 0.5em 1em;
  text-decoration: none;
}

.ui-tabs .ui-tabs-nav li.ui-tabs-active {
  margin-bottom: -1px;
  padding-bottom: 1px;
}

.ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
  cursor: text;
}

.ui-tabs .ui-tabs-nav li a {
  cursor: pointer;
}

.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
  cursor: pointer;
}

.ui-tabs .ui-tabs-panel {
  display: block;
  border-width: 0;
  padding: 1em 1.4em;
  background: 0 0;
}

.ui-tooltip {
  padding: 8px;
  position: absolute;
  z-index: 9999;
  max-width: 300px;
  -webkit-box-shadow: 0 0 5px #dddddd;
  box-shadow: 0 0 5px #dddddd;
}

body .ui-tooltip {
  border-width: 2px;
}

.ui-widget .ui-widget {
  font-size: 1em;
}

.ui-widget button, .ui-widget input, .ui-widget select, .ui-widget textarea {
  font-family: Verdana, Arial, sans-serif;
  font-size: 1em;
}

.ui-widget-content {
  border: 1px solid #dddddd;
  background: #fff;
  color: #3e3e3e;
  -webkit-box-shadow: 0 0 1em rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 1em rgba(0, 0, 0, 0.5);
}

.ui-widget-header {
  border: 1px solid #dddddd;
  background: #ccc;
  font-weight: 700;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
  background: #fff;
  border: none;
  border-radius: 0.25em;
  font-weight: 400;
  color: #3e3e3e;
}

.ui-state-default a {
  color: #3e3e3e;
  text-decoration: none;
}

.ui-state-default a:link, .ui-state-default a:visited {
  color: #3e3e3e;
  text-decoration: none;
}

.ui-state-focus, .ui-state-hover {
  background: #f7c3d8;
  font-weight: 400;
  color: #fff;
}

.ui-widget-content .ui-state-focus, .ui-widget-content .ui-state-hover {
  background: #333;
  font-weight: 400;
  color: #fff;
}

.ui-widget-header .ui-state-focus, .ui-widget-header .ui-state-hover {
  background: #f7c3d8;
  font-weight: 400;
  color: #fff;
}

.ui-state-hover a {
  color: #cccccc;
  text-decoration: none;
}

.ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited {
  color: #cccccc;
  text-decoration: none;
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
  border: 0;
  background: #e80;
  font-weight: 400;
  color: #fff;
}

.ui-state-active a {
  color: #cccccc;
  text-decoration: none;
}

.ui-state-active a:link, .ui-state-active a:visited {
  color: #cccccc;
  text-decoration: none;
}

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
  background: #0c5a7e;
  color: #fff;
  border: 0;
}

.ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a {
  color: #363636;
}

.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {
  border: 1px solid #cd0a0a;
  background: #fef1ec;
  color: #cd0a0a;
}

.ui-state-error a, .ui-state-error-text {
  color: #cd0a0a;
}

.ui-widget-content .ui-state-error a, .ui-widget-content .ui-state-error-text {
  color: #cd0a0a;
}

.ui-widget-header .ui-state-error a, .ui-widget-header .ui-state-error-text {
  color: #cd0a0a;
}

.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary {
  font-weight: 700;
}

.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary {
  opacity: 0.6;
  filter: Alpha(Opacity=70);
  font-weight: 400;
}

.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled {
  opacity: 0.35;
  filter: Alpha(Opacity=35);
  background-image: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    bxslider の上書き用                           */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
.bx-wrapper {
  margin: 0 auto;
  border: none;
  background: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  /* Pagerのスタイル */
  /* DIRECTION CONTROLS (NEXT / PREV)のスタイル */
}
.bx-wrapper .bx-viewport {
  border: none;
  background: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  left: auto;
}
.bx-wrapper .bx-prev {
  left: 1em;
  background: none;
}
.bx-wrapper .bx-next {
  right: 1em;
  background: none;
}
.bx-wrapper .bx-next .Icon::before,
.bx-wrapper .bx-prev .Icon::before {
  width: 2em;
  height: 2em;
  font-size: 2.5rem;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
@media screen and (max-width: 1219px), print {
  .bx-wrapper .bx-next .Icon::before,
  .bx-wrapper .bx-prev .Icon::before {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .bx-wrapper .bx-next .Icon::before,
  .bx-wrapper .bx-prev .Icon::before {
    font-size: 1.2rem;
  }
}
.bx-wrapper .bx-next:hover .Icon::before, .bx-wrapper .bx-next:focus .Icon::before,
.bx-wrapper .bx-prev:hover .Icon::before,
.bx-wrapper .bx-prev:focus .Icon::before {
  color: rgb(30, 162, 109);
  border-color: rgb(30, 162, 109);
}
.bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: 50%;
  margin-top: -0.5em;
  outline: 0;
  width: auto;
  height: auto;
  line-height: 1;
  text-indent: 0;
  z-index: 100;
}
.bx-wrapper .bx-controls-direction a.disabled {
  display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    colorbox の上書き用                           */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
#colorbox, #cboxOverlay, #cboxWrapper {
  overflow: visible;
}

#cboxLoadedContent {
  border: none;
  -webkit-box-shadow: 0.25em 0.25em 1em rgba(0, 0, 0, 0.125);
          box-shadow: 0.25em 0.25em 1em rgba(0, 0, 0, 0.125);
  background: none;
}

#cboxContent {
  background: none;
  padding: 2.5rem;
}

#cboxTitle {
  color: #000;
  position: static;
  padding: 0.5em 0;
}

#cboxPrevious {
  left: -35px;
}

#cboxNext {
  right: -35px;
}

#cboxClose {
  top: -15px;
  right: 5px;
  width: 30px;
  height: 30px;
}

#cboxCurrent {
  display: none !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● area.css                                            */
/*                                                        */
/*    エリアの定義                                        */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* エリアの基本スタイル
--------------------------------------------------- */
.DefaultArea {
  padding: 5rem 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .DefaultArea {
    padding: 3.75rem 0;
  }
}
.DefaultArea:last-of-type {
  padding-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .DefaultArea:last-of-type {
    padding-bottom: 10rem;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● block.css                                           */
/*                                                        */
/*    ブロックの定義                                      */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* DefaultBlock (ページ・フォーム・ブログ全般の基本スタイル)
--------------------------------------------------- */
.DefaultBlock {
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
  position: relative;
  /*  - - 左インデント付き（PCのみ）ブロック - -  */
}
@media screen and (min-width: 768px), print {
  .DefaultBlock {
    width: 100%;
    max-width: 1200px;
  }
}
@media screen and (max-width: 1219px), print {
  .DefaultBlock {
    max-width: calc(100% - 4rem);
  }
}
@media screen and (max-width: 767px) {
  .DefaultBlock {
    max-width: calc(100% - 4rem);
    min-width: 320px;
  }
}
@media screen and (min-width: 768px), print {
  .DefaultBlock.IndentStyle {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .DefaultBlock.IndentStyle .BlockHeader {
    width: 300px;
  }
  .DefaultBlock.IndentStyle .BlockContents,
  .DefaultBlock.IndentStyle .BlockFooter {
    width: calc(100% - 360px);
    margin-right: 0;
    margin-left: auto;
  }
}

/* SearchBlock（情報検索）
--------------------------------------------------- */
.SearchBlock .BlockHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media screen and (max-width: 767px) {
  .SearchBlock .BlockHeader {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.SearchBlock .BlockHeader .MemberCounter .CounterGroup {
  font-weight: bold;
  font-size: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5em;
}
.SearchBlock .BlockHeader .MemberCounter .CounterGroup p {
  white-space: nowrap;
}
.SearchBlock .BlockHeader .MemberCounter .CounterGroup p .Number {
  font-size: 150%;
  color: rgb(29, 195, 104);
  padding: 0 0.5rem;
}
@media screen and (max-width: 767px) {
  .SearchBlock .BlockHeader .MemberCounter {
    -ms-flex-item-align: center;
        align-self: center;
    background: #fff;
    margin: 2.5rem auto 0;
    min-width: calc(100% - 4rem);
    border-radius: 1.5rem;
    padding: 2.5rem 2rem;
  }
  .SearchBlock .BlockHeader .MemberCounter .Heading {
    text-align: center;
  }
  .SearchBlock .BlockHeader .MemberCounter .CounterGroup {
    font-size: 87.5%;
    gap: 0 1em;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.SearchBlock .BlockContents .CategoryRadioButtonGroup {
  margin: 2rem auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
@media screen and (min-width: 768px), print {
  .SearchBlock .BlockContents .CategoryRadioButtonGroup {
    width: 80%;
  }
  .SearchBlock .BlockContents .CategoryRadioButtonGroup > * {
    width: calc((100% - 1rem) / 3);
  }
}
@media screen and (max-width: 767px) {
  .SearchBlock .BlockContents .CategoryRadioButtonGroup {
    margin-top: 0;
    font-size: 1.4rem;
  }
  .SearchBlock .BlockContents .CategoryRadioButtonGroup > * {
    width: calc((100% - 1rem) / 2);
  }
}
.SearchBlock .BlockContents .TabList {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .SearchBlock .BlockContents .TabList {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 768px), print {
  .SearchBlock .BlockContents .TabList li {
    width: 25%;
  }
}
.SearchBlock .BlockContents .TabList li i.Circled {
  -webkit-transition: 0.2s font-size;
  transition: 0.2s font-size;
  font-size: 1.2rem;
}
.SearchBlock .BlockContents .TabList li i.Circled[style*=hidden] {
  font-size: 0.1rem;
}
.SearchBlock .Tab {
  padding: 0 0 2.5rem;
  font-size: 87.5%;
}
.SearchBlock .Tab .TabHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.SearchBlock .Tab .TabContents {
  padding: 1rem 2.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .SearchBlock .Tab .TabContents {
    padding: 1rem 0rem;
  }
}
.SearchBlock .Tab .TabContents .AllCheckButtonList {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  gap: 1rem;
  position: absolute;
  bottom: 100%;
  right: 0;
}
@media screen and (max-width: 767px) {
  .SearchBlock .Tab .TabContents .AllCheckButtonList {
    position: static;
    padding: 1rem 0rem;
  }
}
.SearchBlock .Tab#SearchTab01 .TabContents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px), print {
  .SearchBlock .Tab#SearchTab01 .TabContents {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .SearchBlock .Tab#SearchTab01 .TabContents .FormItem {
    width: 65%;
  }
  .SearchBlock .Tab#SearchTab01 .TabContents .ImageItem {
    width: 30%;
  }
}
@media screen and (max-width: 767px) {
  .SearchBlock .Tab#SearchTab01 .TabContents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 1rem;
  }
  .SearchBlock .Tab#SearchTab01 .TabContents .ImageItem .Image {
    text-align: center;
  }
  .SearchBlock .Tab#SearchTab01 .TabContents .ImageItem .Image img {
    width: 80%;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● blog.css                                            */
/*                                                        */
/*    ブログの定義                                        */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* BlogList （ブログ向け汎用リスト）
--------------------------------------------------- */
.BlogList {
  list-style: none;
}
.BlogList > li > .inner > a {
  display: block;
}
.BlogList > li > .inner > a .TextItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.BlogList > li > .inner > a .TextItem .Author {
  font-size: 1.3rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .BlogList > li > .inner > a .TextItem .Author {
    -webkit-line-clamp: 1;
  }
}
.BlogList > li > .inner > a .TextItem .Meta {
  color: rgb(30, 162, 109);
}
.BlogList > li > .inner > a .TextItem .Meta .Date {
  font-family: "Oswald", "Arial", "Helvetica", sans-serif;
  white-space: nowrap;
}
.BlogList > li > .inner > a .TextItem .DefaultText {
  font-size: smaller;
}
.BlogList > li > .inner > a .TextItem .Title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  gap: 0.5rem;
}
.BlogList > li > .inner > a .TextItem .Title .Icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: rgb(30, 162, 109);
  line-height: 1;
}
.BlogList > li > .inner > a .TextItem .Title .Icon::after {
  content: "";
  position: absolute;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  outline: 1px solid rgb(30, 162, 109);
}
.BlogList > li > .inner > a .TextItem .Title .Label {
  text-align: left;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
html.PcView .BlogList > li > .inner > a:not(.NoLink):hover, html.PcView .BlogList > li > .inner > a:not(.NoLink):focus {
  text-decoration: none;
}
.BlogList.Type1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  gap: 0;
}
.BlogList.Type1 > li {
  border-bottom: 1px dashed rgb(30, 162, 109);
}
.BlogList.Type1 > li > .inner > a {
  padding: 0.5em 0.5rem;
}
@media screen and (min-width: 768px), print {
  .BlogList.Type1 > li > .inner > a .TextItem {
    gap: 0 2rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .BlogList.Type1 > li > .inner > a .TextItem .Title .Label {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) and (max-width: 767px) {
  .BlogList.Type1 > li > .inner > a .TextItem .Title .Label {
    -webkit-line-clamp: 1;
  }
}
@media screen and (max-width: 767px) {
  .BlogList.Type1 > li > .inner > a .TextItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .BlogList.Type1 > li > .inner > a .TextItem .Title .Label {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) and (max-width: 767px) {
  .BlogList.Type1 > li > .inner > a .TextItem .Title .Label {
    -webkit-line-clamp: 2;
  }
}
html.PcView .BlogList.Type1 > li > .inner > a:not(.NoLink):hover, html.PcView .BlogList.Type1 > li > .inner > a:not(.NoLink):focus {
  text-decoration: none;
  background: rgba(30, 162, 109, 0.2);
}
.BlogList.Type2 {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.BlogList.Type2 > li > .inner,
.BlogList.Type2 > li > .inner > a {
  height: 100%;
}
.BlogList.Type2 > li > .inner > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  border-bottom: 1px dashed rgb(180, 180, 180);
  padding: 1rem;
}
@media screen and (max-width: 767px) {
  .BlogList.Type2 > li > .inner > a {
    padding: 1rem 0;
  }
}
.BlogList.Type2 > li > .inner > a .ImageItem .Image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1rem;
  aspect-ratio: 1.5;
}
.BlogList.Type2 > li > .inner > a .TextItem {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.BlogList.Type2 > li > .inner > a .TextItem .Title {
  line-height: 1.5;
}
.BlogList.Type2 > li > .inner > a .TextItem .Title .Label {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .BlogList.Type2 > li > .inner > a .TextItem .Title .Label {
    -webkit-line-clamp: 2;
  }
}
@media screen and (min-width: 768px), print {
  .BlogList.Type2 > li > .inner > a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .BlogList.Type2 > li > .inner > a .TextItem {
    padding-bottom: 4rem;
  }
  .BlogList.Type2 > li > .inner > a .TextItem .Title .Icon {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) {
  .BlogList.Type2 > li > .inner > a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .BlogList.Type2 > li > .inner > a .ImageItem {
    width: 100px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .BlogList.Type2 > li > .inner > a .TextItem {
    -webkit-box-flex: 2;
        -ms-flex-positive: 2;
            flex-grow: 2;
  }
  .BlogList.Type2 > li > .inner > a .TextItem .Title .Icon {
    display: none;
  }
}
html.PcView .BlogList.Type2 > li > .inner > a:not(.NoLink):hover, html.PcView .BlogList.Type2 > li > .inner > a:not(.NoLink):focus {
  text-decoration: none;
  background: rgba(30, 162, 109, 0.2);
}
@media screen and (min-width: 768px), print {
  .BlogList.Type2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3rem;
  }
  .BlogList.Type2 li {
    width: calc((100% - 6rem) / 3);
  }
}
@media screen and (max-width: 767px) {
  .BlogList.Type2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    format                                        */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● body.css                                            */
/*    サイト共通部                                        */
/*    ・ページの共通定義                                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body {
  text-align: center;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  margin: 0 auto;
  position: relative;
  width: 100vw;
  width: 100%;
  color: rgb(0, 0, 0);
  font-family: "Noto Sans JP", "游ゴシック", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.6;
}
@media screen and (min-width: 768px), print {
  body.WebSite .ContentsDivision,
  body.WebSite .FooterDivision {
    min-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  body.WebSite .ContentsDivision,
  body.WebSite .FooterDivision {
    min-width: 320px;
  }
}
@media screen and (max-width: 767px) {
  body.CboxOpened, body.MenuOpened {
    height: 120vh;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
  }
}
/* rem の基準フォントサイズ */
html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  line-height: 1.75;
}

.World {
  text-align: left;
  margin: 0 auto;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    基本レイアウト                                */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* World とヘッダフッタ配置
--------------------------------------------------- */
.World {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  background: #fff url(../img/common/decoration/body_back.jpg) no-repeat 50% 0%;
}
@media screen and (max-width: 767px) {
  .World {
    background-size: 1500px 215px;
  }
}
.World.Blur {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}
.World .ContentsDivision {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media print {
  .World {
    display: block;
  }
}

/* GlobalNavigation
    開閉メニュー
--------------------------------------------------- */
#GlobalNavigation {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: auto;
  opacity: 0;
  z-index: -1;
  display: none;
}
#GlobalNavigation.Active {
  opacity: 1;
  z-index: 99;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px), print {
  #GlobalNavigation {
    display: none !important;
  }
}

#GlobalNavigation {
  padding: 12.5rem 0 5rem;
  color: #fff;
  background: rgb(29, 195, 104);
  gap: 5rem;
  /* - - LoginBlock - - */
  /* - - AuthorBlock - - */
  /* - - CopyrightBlock - - */
}
#GlobalNavigation .LoginBlock {
  gap: 2.5rem;
  border: 2px solid;
  border-radius: 1em;
  padding: 1.5rem 0.5rem;
  max-width: calc(100% - 2rem);
  margin: 0 auto;
}
#GlobalNavigation .LoginBlock .BlockContents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  #GlobalNavigation .LoginBlock .BlockContents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#GlobalNavigation .LoginBlock .BlockContents .FormItem {
  margin: 0;
}
#GlobalNavigation .LoginBlock .BlockContents .FormItem input {
  padding: 0.75em 1rem;
  background: #fff;
}
#GlobalNavigation .LoginBlock.LoggedIn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  padding: 1.5rem;
}
#GlobalNavigation .LoginBlock.LoggedIn .BlockContents .ButtonList {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
#GlobalNavigation .LoginBlock.LoggedIn .BlockContents .ButtonList .Button {
  padding: 1em 3em;
}
#GlobalNavigation .LoginBlock:not(.LoggedIn) .BlockHeader {
  display: none;
}
#GlobalNavigation .LoginBlock:not(.LoggedIn) .BlockFooter .LinkList {
  font-size: 75%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
#GlobalNavigation .LoginBlock:not(.LoggedIn) .BlockFooter .LinkList li:first-child {
  display: none;
}
#GlobalNavigation .AuthorBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  #GlobalNavigation .AuthorBlock {
    gap: 5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● header.css                                          */
/*    サイト共通部                                        */
/*    ・ヘッダ                                            */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    Header                                        */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
header {
  width: 100%;
  z-index: 100;
  position: sticky;
  top: 0;
  left: 0;
  border-top: 4px solid rgb(29, 195, 104);
  border-bottom: 1px solid rgb(29, 195, 104);
  background: #fff;
  /* ハンバーガーメニュー展開時 */
}
/* SiteHeaderArea
--------------------------------------------------- */
.SiteHeaderArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  /* ハンバーガーメニュー展開時 */
  /* - - SiteHeaderBlock - - */
  /* - - LoginBlock - - */
}
@media screen and (max-width: 1219px), print {
  .SiteHeaderArea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.SiteHeaderArea .SiteHeaderBlock {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%;
}
@media screen and (min-width: 1220px) {
  .SiteHeaderArea .SiteHeaderBlock {
    width: initial;
  }
}
@media screen and (max-width: 767px) {
  .SiteHeaderArea .SiteHeaderBlock {
    padding: 1rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
  }
}
.SiteHeaderArea .SiteHeaderBlock .BlockHeader {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px), print {
  .SiteHeaderArea .SiteHeaderBlock .BlockHeader {
    padding: 2rem 2.5rem;
  }
}
.SiteHeaderArea .SiteHeaderBlock .BlockHeader .SiteLogo > a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  opacity: 1;
}
html.PcView .SiteHeaderArea .SiteHeaderBlock .BlockHeader .SiteLogo > a:hover, html.PcView .SiteHeaderArea .SiteHeaderBlock .BlockHeader .SiteLogo > a:focus {
  opacity: 0.75;
}
.SiteHeaderArea .SiteHeaderBlock .BlockHeader .SiteLogo .Icon img, .SiteHeaderArea .SiteHeaderBlock .BlockHeader .SiteLogo .Icon svg {
  aspect-ratio: 3.8947368421;
  opacity: 1;
}
.SiteHeaderArea .SiteHeaderBlock .BlockHeader .SiteLogo .Icon img, .SiteHeaderArea .SiteHeaderBlock .BlockHeader .SiteLogo .Icon svg {
  width: 16rem;
}
.SiteHeaderArea .SiteHeaderBlock .BlockHeader .SiteLogo .Label {
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .SiteHeaderArea .SiteHeaderBlock .BlockHeader .SiteLogo .Label {
    font-size: 1.1rem;
  }
}
.SiteHeaderArea .SiteHeaderBlock .BlockContents {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .SiteHeaderArea .SiteHeaderBlock .BlockContents {
    display: none;
  }
}
.SiteHeaderArea .SiteHeaderBlock .BlockContents .MainMenuList {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 0;
}
.SiteHeaderArea .SiteHeaderBlock .BlockContents .MainMenuList li a {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 2rem;
  padding: 0 1vw;
}
.SiteHeaderArea .SiteHeaderBlock .BlockContents .MainMenuList li a:hover {
  color: #fff;
  background: rgb(30, 162, 109);
}
.SiteHeaderArea .SiteHeaderBlock .BlockContents .MainMenuList li a::after {
  content: initial;
}
.SiteHeaderArea .SiteHeaderBlock .BlockFooter {
  -ms-flex-item-align: center;
      align-self: center;
}
@media screen and (min-width: 768px), print {
  .SiteHeaderArea .SiteHeaderBlock .BlockFooter {
    display: none;
  }
}
.SiteHeaderArea .LoginBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 1rem 1rem;
  width: 32.5rem;
}
@media screen and (max-width: 1219px), print {
  .SiteHeaderArea .LoginBlock {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .SiteHeaderArea .LoginBlock {
    display: none;
  }
}
.SiteHeaderArea .LoginBlock.LoggedIn {
  font-size: 1.5rem;
  color: #fff;
  background: rgb(29, 195, 104);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 1219px), print {
  .SiteHeaderArea .LoginBlock.LoggedIn {
    padding: 0.5rem 2rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.SiteHeaderArea .LoginBlock.LoggedIn .BlockHeader .Heading {
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}
@media screen and (min-width: 1220px) {
  .SiteHeaderArea .LoginBlock.LoggedIn .BlockHeader .Heading .UserName {
    max-width: 10em;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
.SiteHeaderArea .LoginBlock.LoggedIn .BlockContents .ButtonList {
  gap: 0.5rem;
}
@media screen and (max-width: 1219px), print {
  .SiteHeaderArea .LoginBlock.LoggedIn .BlockContents .ButtonList {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.SiteHeaderArea .LoginBlock.LoggedIn .BlockContents .ButtonList .Button {
  padding: 1em 2.5em;
}
.SiteHeaderArea .LoginBlock.LoggedIn .BlockContents .ButtonList .Button .Label {
  padding: 0 1em;
}
.SiteHeaderArea .LoginBlock:not(.LoggedIn) {
  font-size: 1.3rem;
  background: rgb(224, 224, 224);
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (max-width: 1219px), print {
  .SiteHeaderArea .LoginBlock:not(.LoggedIn) {
    padding: 0.5rem 2rem;
    font-size: 1.2rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.SiteHeaderArea .LoginBlock:not(.LoggedIn) .BlockHeader {
  display: none;
}
.SiteHeaderArea .LoginBlock:not(.LoggedIn) .BlockContents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.SiteHeaderArea .LoginBlock:not(.LoggedIn) .BlockContents .FormItem input {
  width: 8em;
  border-radius: 0.75rem;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 0.5em 0.5rem;
  background: #fff;
}
.SiteHeaderArea .LoginBlock:not(.LoggedIn) .BlockFooter .LinkList {
  margin: 0;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 2rem;
  line-height: 1.5;
}
.SiteHeaderArea .LoginBlock:not(.LoggedIn) .BlockFooter .LinkList li a {
  color: rgb(30, 162, 109);
  padding: 0 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● contents.css                                        */
/*    サイト共通部                                        */
/*    ・コンテンツ                                        */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ロードエフェクト
--------------------------------------------------- */
#World {
  position: relative;
}
#World::before {
  content: "";
  width: 100vw;
  bottom: -1px;
  left: 0;
  position: fixed;
  z-index: 50;
  background: rgb(29, 195, 104);
  -webkit-transition: height 0.1s ease-in;
  transition: height 0.1s ease-in;
  border-bottom: 1px solid #1ea26d;
}
body.loading #World::before {
  height: 100vh;
}
body.loaded #World::before {
  height: 0vh;
  border-bottom: 0px solid rgba(30, 162, 109, 0);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    Contents                                      */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
.ContentsDivision {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media screen and (min-width: 768px), print {
  .ContentsDivision {
    font-size: 1.8rem;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● base.css                                            */
/*    共通部品 CSS                                        */
/*    ・サイト全般の共通処理をインポート                  */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    各種import                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*                                                        */
/* ● footer.css                                          */
/*    サイト共通部                                        */
/*    ・フッタ                                            */
/*                                                        */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    Footer                                        */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
footer {
  color: #fff;
  background: rgb(29, 195, 104);
}

/* GlobalMenuArea
--------------------------------------------------- */
.GlobalMenuArea {
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
  /*  - - ブロック汎用 - -  */
  /* - - AuthorBlock - - */
  /* - - CopyrightBlock - - */
}
.GlobalMenuArea > [class*=Block] {
  margin-left: auto;
  margin-right: auto;
  gap: 5rem;
}
@media screen and (min-width: 768px), print {
  .GlobalMenuArea > [class*=Block] {
    width: 100%;
    max-width: 1200px;
  }
}
@media screen and (max-width: 1219px), print {
  .GlobalMenuArea > [class*=Block] {
    max-width: calc(100% - 4rem);
  }
}
@media screen and (max-width: 767px) {
  .GlobalMenuArea > [class*=Block] {
    max-width: calc(100% - 4rem);
    min-width: 320px;
  }
}
.GlobalMenuArea .AuthorBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .GlobalMenuArea .AuthorBlock {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 768px), print {
  .GlobalMenuArea .AuthorBlock .BlockHeader,
  .GlobalMenuArea .AuthorBlock .BlockContents {
    width: calc((100% - 5rem) / 2);
  }
}
.GlobalMenuArea .AuthorBlock .BlockHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .GlobalMenuArea .AuthorBlock .BlockHeader {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}
.GlobalMenuArea .AuthorBlock .BlockHeader .AuthorName {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.GlobalMenuArea .AuthorBlock .BlockHeader .AuthorName .Main {
  font-size: 2.6rem;
}
.GlobalMenuArea .AuthorBlock .BlockHeader .AuthorName .Sub {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .GlobalMenuArea .AuthorBlock .BlockHeader .AuthorName {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
  .GlobalMenuArea .AuthorBlock .BlockHeader .AuthorName .Main {
    font-size: 1.8rem;
  }
  .GlobalMenuArea .AuthorBlock .BlockHeader .AuthorName .Sub {
    font-size: 1.5rem;
  }
}
.GlobalMenuArea .AuthorBlock .BlockContents .MenuList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.GlobalMenuArea .AuthorBlock .BlockContents .MenuList li a {
  padding: 0.25em 0;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  font-size: 1.6rem;
}
.GlobalMenuArea .AuthorBlock .BlockContents .MenuList li a .Icon {
  color: currentColor;
}
.GlobalMenuArea .AuthorBlock .BlockContents .MenuList li a::after {
  content: "";
  display: block;
  background: currentColor;
  height: 1px;
  position: absolute;
  bottom: calc(0% - 0.25em);
  width: 100%;
  left: 0%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
html.PcView .GlobalMenuArea .AuthorBlock .BlockContents .MenuList li a:hover, html.PcView .GlobalMenuArea .AuthorBlock .BlockContents .MenuList li a:focus {
  color: inherit;
  text-decoration: none;
}
html.PcView .GlobalMenuArea .AuthorBlock .BlockContents .MenuList li a:hover::after, html.PcView .GlobalMenuArea .AuthorBlock .BlockContents .MenuList li a:focus::after {
  -webkit-animation: animated_underline 0.4s forwards;
          animation: animated_underline 0.4s forwards;
}
@media screen and (min-width: 768px), print {
  .GlobalMenuArea .AuthorBlock .BlockContents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2.5rem;
  }
  .GlobalMenuArea .AuthorBlock .BlockContents .MenuList {
    width: calc((100% - 5rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .GlobalMenuArea .AuthorBlock .BlockContents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  footer .GlobalMenuArea .AuthorBlock .BlockContents {
    display: none;
  }
}
.GlobalMenuArea .CopyrightBlock {
  font-size: 1.4rem;
}
.GlobalMenuArea .CopyrightBlock .BlockContents {
  padding-bottom: 2.5rem;
  border-bottom: 1px dashed;
  margin-bottom: 2.5rem;
}
.GlobalMenuArea .CopyrightBlock .BlockContents .SnsList {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .GlobalMenuArea .CopyrightBlock .BlockContents .SnsList {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.GlobalMenuArea .CopyrightBlock .BlockFooter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media screen and (max-width: 767px) {
  .GlobalMenuArea .CopyrightBlock .BlockFooter {
    gap: 2.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 87.5%;
  }
}
.GlobalMenuArea .CopyrightBlock .BlockFooter .MenuList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5em;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    印刷設定                                      */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
