@charset "utf-8";
/* CSS Document */
/* ========================================
variables
======================================== */
:root
{
  /* --- メインカラー/ベースカラー1 --- */
  /* Peachピンク (PANTONE 204C) */
  --peach-pink: #ef8da5;
  /* Peachアイボリー (PANTONE 9061C) */
  --peach-ivory: #fff9f3;
  /* --- ベースカラー2 --- */
  /* Peachベージュ (PANTONE 4725C) */
  --peach-beige: #c39378;
  /* ホワイト */
  --peach-white: #ffffff;
  /* --- サブカラー1 --- */
  /* ローズピンク (PANTONE 205C) */
  --peach-rose-pink: #e65080;
  /* ペールピンク (PANTONE 2043C) */
  --peach-pale-pink: #f9d0db;
  --peach-pale-pink-70: #fbdee6;
  --peach-pale-pink-50: #fce7ed;
  /* ライトベージュ (PANTONE 4745C) */
  --peach-light-beige: #e2c3a6;
  --peach-light-beige-50: #f0e1d2;
  --peach-light-beige-40: #f3e7db;
  --peach-light-beige-30: #f6ede4;
  /* --- テキストカラー --- */
  /* ダークブラウン (PANTONE 411C) */
  --peach-dark-brown: #6d564a;
  --peach-dark-brown-80: #8a786e;
  --peach-dark-brown-50: #b6aaa4;
  --peach-dark-brown-30: #d3ccc9;
  --peach-dark-brown-15: #e9e6e4;
  /* --- サブカラー2 --- */
  /* ブルー (PANTONE 4150C) */
  --peach-blue: #5172aa;
  --peach-blue-80: #748ebb;
  --peach-blue-60: #97aacc;
  --peach-blue-30: #cbd5e5;
  --peach-blue-20: #dce3ee;
  /* --- アクセントカラー --- */
  /* レッド (PANTONE 3546C) */
  --peach-red: #bf0008;
  --peach-red-15: #f5d9da;
  /* ---  FILTER Black To Color --- */
  /* white */
  --filter-white: invert(100%) brightness(100) grayscale(1);
  /* gray */
  --filter-gray: grayscale(1);
  /* pink */
  --filter-pink: invert(69%) sepia(22%) saturate(1005%) hue-rotate(300deg) brightness(94%) contrast(100%);
  /* dark-brown */
  --filter-darkbrown: invert(33%) sepia(20%) saturate(601%) hue-rotate(336deg) brightness(95%) contrast(84%);
  /* dark-brown-80  */
  --filter-darkbrown80: invert(53%) sepia(7%) saturate(826%) hue-rotate(337deg) brightness(89%) contrast(86%);
  /* red */
  --filter-red: invert(15%) sepia(97%) saturate(7475%) hue-rotate(354deg) brightness(73%) contrast(106%);
}


/* ========================================
base
======================================== */
#main
{
  font-weight: 600;
  font-size: 16px;
}
#main p
{
  word-break: break-all;
}
#main p a
{
  color: var(--peach-blue);
}
#main p a:hover
{
  color: var(--peach-blue-60);
}
#main input,
#main select
{
  font-weight: inherit;
}
#main input[type=text],
#main input[type=password],
#main input[type=search],
#main input[type=tel],
#main input[type=url],
#main input[type=email],
#main input[type=date],
#main input[type=time],
#main input[type=number],
#main input[type=range],
#main input[type=color],
#main input[type=datetime],
#main input[type=datetime-local],
#main input[type=month],
#main input[type=week],
#main select,
#main textarea
{
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  border: 3px solid var(--peach-light-beige);
  border-radius: 10px;
  background-color: var(--peach-white);
}
#main input.is-error,
#main select.is-error,
#main textarea.is-error
{
  border-color: var(--peach-red);
  background-color: var(--peach-red-15);
}

#main input:disabled,
#main select:disabled,
#main textarea:disabled
{
  background-color: var(--peach-dark-brown-15);

  pointer-events: none;
}


#main input::placeholder,
#main select::placeholder,
#main textarea::placeholder
{
  color: var(--peach-dark-brown-30);
}

#main input[type=checkbox],
#main input[type=radio]
{
  border-width: 1px;
  color: var(--peach-light-beige);
}
#main input[type=checkbox]
{
  border-radius: 3px;
}
#main input[type=radio]
{
  border-radius: 50%;
}
#main input[type=checkbox]:hover,
#main input[type=radio]:hover
{
  outline: 2px solid var(--peach-light-beige);

  outline-offset: -2px;
}
#main input[type=checkbox].is-error,
#main input[type=radio].is-error
{
  border-color: var(--peach-red);
  background-color: var(--peach-red-15);
  outline: 2px solid var(--peach-red);

  outline-offset: -2px;
}


#main input[type=checkbox]:checked,
#main input[type=radio]:checked
{
  outline: none;
}

#main input[type=checkbox]:checked
{
  border-color: var(--peach-pink);
  background-color: var(--peach-pink);
  color: var(--peach-ivory);
}

#main input[type=radio]:checked
{
  border-width: 2px;
  border-color: var(--peach-pink);
  background-color: var(--peach-white);
  color: var(--peach-pink);
}


#main input[type=checkbox]:disabled,
#main input[type=radio]:disabled
{
  border-color: var(--peach-dark-brown-30);
  background-color: var(--peach-dark-brown-15);
  outline: none;

  pointer-events: none;
}


@media only screen and (max-width: 767px)
{
  #main
  {
    font-size: 14px;
  }
  #main input[type=text],
  #main input[type=password],
  #main input[type=search],
  #main input[type=tel],
  #main input[type=url],
  #main input[type=email],
  #main input[type=date],
  #main input[type=time],
  #main input[type=number],
  #main input[type=range],
  #main input[type=color],
  #main input[type=datetime],
  #main input[type=datetime-local],
  #main input[type=month],
  #main input[type=week],
  #main select,
  #main textarea
  {
    border-width: 2px;
  }
}

/* ========================================
Utility
======================================== */
.clearfix:after
{
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: "";
}
.mb0
{
  margin-bottom: 0 !important;
}
.mb10
{
  margin-bottom: 10px !important;
}
.mb20
{
  margin-bottom: 20px !important;
}
.mb30
{
  margin-bottom: 30px !important;
}
.mb40
{
  margin-bottom: 40px !important;
}
.mt0
{
  margin-top: 0 !important;
}
.mt10
{
  margin-top: 10px !important;
}
.mt20
{
  margin-top: 20px !important;
}
.mt30
{
  margin-top: 30px !important;
}
.mt40
{
  margin-top: 40px !important;
}
.w1em
{
  width: 1em !important;
}
.w2em
{
  width: 2em !important;
}
.w3em
{
  width: 3em !important;
}
.w4em
{
  width: 4em !important;
}
.w5em
{
  width: 5em !important;
}
.w6em
{
  width: 6em !important;
}
.w7em
{
  width: 7em !important;
}
.w8em
{
  width: 8em !important;
}
.w9em
{
  width: 9em !important;
}
.w10em
{
  width: 10em !important;
}
.w11em
{
  width: 11em !important;
}
.w12em
{
  width: 12em !important;
}
.w13em
{
  width: 13em !important;
}
.w14em
{
  width: 14em !important;
}
.w15em
{
  width: 15em !important;
}
.w16em
{
  width: 16em !important;
}
.w17em
{
  width: 17em !important;
}
.w18em
{
  width: 18em !important;
}
.w19em
{
  width: 19em !important;
}
.w20em
{
  width: 20em !important;
}

@media only screen and (min-width: 768px)
{
  .pcNone
  {
    display: none;
  }
  .view_pc
  {
  }
  .view_sp
  {
    display: none !important;
  }
}
@media only screen and (max-width: 767px)
{
  .spNone
  {
    display: none;
  }
  .view_pc
  {
    display: none !important;
  }
  .view_sp
  {
  }
}

/* ========================================
template
======================================== */
.page-template-full #main,
.page-template-full-2024 #main
{
  max-width: 100%;
}


/* ========================================
Peach Button
======================================== */
#main .btn_book,
#main .btn_book_g,
#main .btn_book_g2,
#main .btn_book_n
{
  margin: 0;
  text-align: center;
}
#main .btn_book a,
#main .btn_book_g a,
#main .btn_book_g2 a,
#main .btn_book_n a
{
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  min-width: 240px;
  max-width: 410px;
  margin: 0 auto;
  padding-block: 15px;
  padding-inline: 30px 30px;
  border-radius: 0 12px 0 12px;
  background-color: var(--peach-rose-pink);
  color: var(--peach-ivory);
  line-height: 1.3;
  text-decoration: none;
  transition: ease .3s ;
  transition-property: background,color;
}


#main .btn_book a
{
  background-color: var(--peach-rose-pink);
  color: var(--peach-ivory);
}
#main .btn_book a:hover
{
  background-color: var(--peach-beige);
}

#main .btn_book_g a
{
  background-color: var(--peach-dark-brown-80);
  color: var(--peach-ivory);
}
#main .btn_book_g a:hover
{
  background-color: var(--peach-pink);
}

#main .btn_book_g2 a
{
  background-color: var(--peach-dark-brown-50);
  color: var(--peach-ivory);
}
#main .btn_book_g2 a:hover
{
  background-color: var(--peach-light-beige);
}

#main .btn_book_n a
{
  border: 3px solid var(--peach-light-beige);
  background-color: var(--peach-white);
  color: var(--peach-dark-brown);
}
#main .btn_book_n a:hover
{
  color: var(--peach-dark-brown-50);
}

#main .btn_book:not(.no_arrow) a,
#main .btn_book_g:not(.no_arrow) a,
#main .btn_book_g2:not(.no_arrow) a,
#main .btn_book_n:not(.no_arrow) a
{
  padding-inline: 30px 40px;
}

#main .btn_book.back_arrow a,
#main .btn_book_g.back_arrow a,
#main .btn_book_g2.back_arrow a,
#main .btn_book_n.back_arrow a
{
  padding-inline: 40px 30px;
}


#main .btn_book a::after,
#main .btn_book_g a::after,
#main .btn_book_g2 a::after,
#main .btn_book_n a::after
{
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0, -50%);
  width: 10px;
  height: 14px;
  background: url("../images/common/icon/icon_expand.svg") no-repeat left top;
  background-size: contain;
  content: "";

  filter: var(--filter-white);
}
#main .btn_book_n a::after
{
  filter: var(--filter-darkbrown);
}

#main .btn_book.back_arrow a::after,
#main .btn_book_g.back_arrow a::after,
#main .btn_book_g2.back_arrow a::after,
#main .btn_book_n.back_arrow a::after
{
  left: 15px;
  transform: scaleX(-1) translate(0, -50%);
}

#main .btn_book.size_small a,
#main .btn_book_g.size_small a,
#main .btn_book_g2.size_small a,
#main .btn_book_n.size_small a
{
  min-width: 0;
  padding-inline: 25px 25px;
}

#main .btn_book.no_arrow a::after,
#main .btn_book_g.no_arrow a::after,
#main .btn_book_g2.no_arrow a::after,
#main .btn_book_n.no_arrow a::after
{
  display: none;
}

#main .btn_book a[disabled],
#main .btn_book_g a[disabled],
#main .btn_book_g2 a[disabled],
#main .btn_book_n a[disabled],
#main .btn_book a.is-disabled,
#main .btn_book_g a.is-disabled,
#main .btn_book_g2 a.is-disabled,
#main .btn_book_n a.is-disabled
{
  border-color: transparent;
  background-color: var(--peach-dark-brown-30);
  color: var(--peach-ivory);

  pointer-events: none;
}
#main .btn_book a[disabled]::after,
#main .btn_book_g a[disabled]::after,
#main .btn_book_g2 a[disabled]::after,
#main .btn_book_n a[disabled]::after,
#main .btn_book a.is-disabled::after,
#main .btn_book_g a.is-disabled::after,
#main .btn_book_g2 a.is-disabled::after,
#main .btn_book_n a.is-disabled::after
{
  filter: var(--filter-white);
}


#main .btn_book .icon,
#main .btn_book_n .icon,
#main .btn_book_g .icon,
#main .btn_book_g2 .icon
{
  display: none;
  display: inline-block;
  margin-top: -.5em;
  margin-bottom: -.5em;
  line-height: 1;
  vertical-align: middle;
}

#main .btn_book .icon img,
#main .btn_book_n .icon img,
#main .btn_book_g .icon img,
#main .btn_book_g2 .icon img
{
  display: inline-block;
  width: 2em;
  vertical-align: middle;
}

#main .btn_book a[disabled],
#main .btn_book_g a[disabled],
#main .btn_book_g2 a[disabled],
#main .btn_book_n a[disabled],
#main .btn_book a.is-disabled,
#main .btn_book_g a.is-disabled,
#main .btn_book_g2 a.is-disabled,
#main .btn_book_n a.is-disabled
{
  border-color: transparent;
  background-color: var(--peach-dark-brown-30);
  color: var(--peach-ivory);

  pointer-events: none;
}
#main .btn_book a[disabled]::after,
#main .btn_book_g a[disabled]::after,
#main .btn_book_g2 a[disabled]::after,
#main .btn_book_n a[disabled]::after,
#main .btn_book a.is-disabled::after,
#main .btn_book_g a.is-disabled::after,
#main .btn_book_g2 a.is-disabled::after,
#main .btn_book_n a.is-disabled::after
{
  filter: var(--filter-white);
}


@media only screen and (max-width: 767px)
{
  #main .btn_book a,
  #main .btn_book_g a,
  #main .btn_book_g2 a,
  #main .btn_book_n a
  {
    padding-inline: 20px 20px;
  }
  #main .btn_book:not(.no_arrow) a,
  #main .btn_book_g:not(.no_arrow) a,
  #main .btn_book_g2:not(.no_arrow) a,
  #main .btn_book_n:not(.no_arrow) a
  {
    padding-inline: 20px 30px;
  }
  #main .btn_book_n a
  {
    border-width: 2px;
  }
  #main .btn_book.size_small a,
  #main .btn_book_g.size_small a,
  #main .btn_book_g2.size_small a,
  #main .btn_book_n.size_small a
  {
    min-width: 0;
    padding-inline: 20px 20px;
  }
  #main .btn_book.back_arrow a,
  #main .btn_book_g.back_arrow a,
  #main .btn_book_g2.back_arrow a,
  #main .btn_book_n.back_arrow a
  {
    padding-inline: 30px 20px ;
  }
  #main .btn_book a:hover,
  #main .btn_book_g a:hover,
  #main .btn_book_g2 a:hover,
  #main .btn_book_n a:hover
  {
    opacity: 1;
  }
}

/* ---------- */


#main .btn_pdf,
#main .btn_ex
{
  margin: 0;
  text-align: center;
}
#main .btn_pdf a,
#main .btn_ex a
{
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  min-width: 240px;
  max-width: 410px;
  margin: 0 auto;
  padding-block: 15px;
  padding-inline: 25px 50px;
  border: 3px solid var(--peach-light-beige);
  border-radius: 0 12px 0 12px;
  background-color: var(--peach-white);
  color: var(--peach-dark-brown);
  line-height: 1.3;
  text-decoration: none;
  transition: ease .3s ;
  transition-property: background,color;
}
#main .btn_pdf a
{
}
#main .btn_ex a
{
  padding-right: 45px;
}
#main .btn_pdf a:hover,
#main .btn_ex a:hover
{
  color: var(--peach-dark-brown-50);
}

#main .btn_pdf a::after,
#main .btn_ex a::after
{
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  background: no-repeat center center;
  background-size: contain;
  content: "";
  transition: ease .3s opacity;

  filter: var(--filter-darkbrown);
}
#main .btn_pdf a::after
{
  background-image: url("../images/common/icon/black/icon_pdf-file.svg");
}
#main .btn_ex a::after
{
  right: 20px;
  width: 20px;
  height: 20px;
  background-image: url("../images/common/icon/black/icon_link.svg");
}
#main .btn_pdf a:hover::after,
#main .btn_ex a:hover::after
{
  opacity: .5;
}

#main .btn_pdf a[disabled],
#main .btn_ex a[disabled],
#main .btn_pdf a.is-disabled,
#main .btn_ex a.is-disabled
{
  border-color: transparent;
  background-color: var(--peach-dark-brown-30);
  color: var(--peach-ivory);

  pointer-events: none;
}
#main .btn_pdf a[disabled]::after,
#main .btn_ex a[disabled]::after,
#main .btn_pdf a.is-disabled::after,
#main .btn_ex a.is-disabled::after
{
  filter: var(--filter-white);
}
@media only screen and (max-width: 767px)
{
  #main .btn_pdf a,
  #main .btn_ex a
  {
    padding-inline: 20px 30px;
    border-width: 2px;
  }
  #main .btn_pdf a:hover,
  #main .btn_ex a:hover
  {
    opacity: 1;
  }
}


/* ---------- */

#main .btn_small
{
  margin: 0;
  text-align: center;
}
#main .btn_small:where(span)
{
  display: inline-block;
}
#main .btn_small a
{
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  min-width: 140px;
  margin: 0 auto;
  padding-block: 5px;
  padding-inline: 20px;
  border-radius: 50em;
  background-color: var(--peach-white);
  font-size: 11px;
  line-height: 1.2;
  text-decoration: none;
  transition: ease .3s ;
  transition-property: background,color;
}
#main .btn_small a::after
{
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  width: 1em;
  height: 1em;
  margin-right: 5px;
  background: url("../images/common/icon/icon_expand.svg") no-repeat left top;
  background-size: contain;
  content: "";

  filter: var(--filter-darkbrown);
}
#main .btn_small a:hover
{
  color: var(--peach-rose-pink);
}

/* ---------- */


#main .btn_pdf,
#main .btn_ex
{
  margin: 0;
  text-align: center;
}
#main .btn_pdf a,
#main .btn_ex a
{
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  min-width: 240px;
  max-width: 410px;
  margin: 0 auto;
  padding-block: 15px;
  padding-inline: 25px 50px;
  border: 3px solid var(--peach-light-beige);
  border-radius: 0 12px 0 12px;
  background-color: var(--peach-white);
  color: var(--peach-dark-brown);
  line-height: 1.3;
  text-decoration: none;
  transition: ease .3s ;
  transition-property: background,color;
}
#main .btn_pdf a
{
}
#main .btn_ex a
{
  padding-right: 45px;
}
#main .btn_pdf a:hover,
#main .btn_ex a:hover
{
  color: var(--peach-dark-brown-50);
}

#main .btn_pdf a::after,
#main .btn_ex a::after
{
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  background: no-repeat center center;
  background-size: contain;
  content: "";
  transition: ease .3s opacity;

  filter: var(--filter-darkbrown);
}
#main .btn_pdf a::after
{
  background-image: url("../images/common/icon/black/icon_pdf-file.svg");
}
#main .btn_ex a::after
{
  right: 20px;
  width: 20px;
  height: 20px;
  background-image: url("../images/common/icon/black/icon_link.svg");
}
#main .btn_pdf a:hover::after,
#main .btn_ex a:hover::after
{
  opacity: .5;
}

#main .btn_pdf a[disabled],
#main .btn_ex a[disabled],
#main .btn_pdf a.is-disabled,
#main .btn_ex a.is-disabled
{
  border-color: transparent;
  background-color: var(--peach-dark-brown-30);
  color: var(--peach-ivory);

  pointer-events: none;
}
#main .btn_pdf a[disabled]::after,
#main .btn_ex a[disabled]::after,
#main .btn_pdf a.is-disabled::after,
#main .btn_ex a.is-disabled::after
{
  filter: var(--filter-white);
}
@media only screen and (max-width: 767px)
{
  #main .btn_pdf a,
  #main .btn_ex a
  {
    padding-inline: 20px 30px;
    border-width: 2px;
  }
  #main .btn_pdf a:hover,
  #main .btn_ex a:hover
  {
    opacity: 1;
  }
}


/* ---------- */
#main .pageNavCol1,
#main .pageNavCol2,
#main .pageNavCol3,
#main .pageNavCol4
{
  display: grid;
  gap: 1em;
}
#main .pageNavCol1
{
  grid-template-columns: repeat(1, 1fr);
}
#main .pageNavCol2
{
  grid-template-columns: repeat(2, 1fr);
}
#main .pageNavCol3
{
  grid-template-columns: repeat(3, 1fr);
}
#main .pageNavCol4
{
  grid-template-columns: repeat(4, 1fr);
}


#main .pageLink,
#main .pageNavCol1>li a,
#main .pageNavCol2>li a,
#main .pageNavCol3>li a,
#main .pageNavCol4>li a
{
  display: inline-block;
  position: relative;
  padding-left: 1.2em;
  line-height: 1.3;
  text-decoration: none;
  text-indent: -1.2em;
}
#main .pageLink:hover,
#main .pageNavCol1>li a:hover,
#main .pageNavCol2>li a:hover,
#main .pageNavCol3>li a:hover,
#main .pageNavCol4>li a:hover
{
  text-decoration: underline;
}

#main .pageLink::before,
#main .pageNavCol1>li a::before,
#main .pageNavCol2>li a::before,
#main .pageNavCol3>li a::before,
#main .pageNavCol4>li a::before
{
  display: inline-block;
  position: relative;
  top: 0;
  left: 0;
  transform: rotate(90deg);
  width: 1em;
  height: 1em;
  margin-top: -.25em;
  margin-right: .2em;
  background: no-repeat center center;
  background-image: url(../images/common/icon/icon_expand.svg);
  background-size: contain;
  vertical-align: middle;
  content: "";

  filter: var(--filter-darkbrown);
}

@media only screen and (max-width: 767px)
{
  #main .pageNavCol1,
  #main .pageNavCol2,
  #main .pageNavCol3,
  #main .pageNavCol4
  {
    grid-template-columns: repeat(1, 1fr);
  }
}


/* ---------- */
#main .siteNavCol1,
#main .siteNavCol2,
#main .siteNavCol3,
#main .siteNavCol4
{
  display: grid;
  gap: 1em;
}
#main .siteNavCol1
{
  grid-template-columns: repeat(1, 1fr);
}
#main .siteNavCol2
{
  grid-template-columns: repeat(2, 1fr);
}
#main .siteNavCol3
{
  grid-template-columns: repeat(3, 1fr);
}
#main .siteNavCol4
{
  grid-template-columns: repeat(4, 1fr);
}

#main .siteLink,
#main .siteNavCol1>li a,
#main .siteNavCol2>li a,
#main .siteNavCol3>li a,
#main .siteNavCol4>li a
{
  display: inline-block;
  position: relative;
  padding-left: 1.2em;
  line-height: 1.3;
  text-decoration: none;
  text-indent: -1.2em;
}
#main .siteLink:hover,
#main .siteNavCol1>li a:hover,
#main .siteNavCol2>li a:hover,
#main .siteNavCol3>li a:hover,
#main .siteNavCol4>li a:hover
{
  text-decoration: underline;
}

#main .siteLink::before,
#main .siteNavCol1>li a::before,
#main .siteNavCol2>li a::before,
#main .siteNavCol3>li a::before,
#main .siteNavCol4>li a::before
{
  display: inline-block;
  position: relative;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  margin-top: -.25em;
  margin-right: .2em;
  background: no-repeat center center;
  background-image: url(../images/common/icon/icon_expand.svg);
  background-size: contain;
  vertical-align: middle;
  content: "";

  filter: var(--filter-darkbrown);
}

@media only screen and (max-width: 767px)
{
  #main .siteNavCol1,
  #main .siteNavCol2,
  #main .siteNavCol3,
  #main .siteNavCol4
  {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* ========================================
Title text
======================================== */
#main h1:not(.-noStyle),
#main h2:not(.-noStyle),
#main h3:not(.-noStyle),
#main h4:not(.-noStyle),
#main h5:not(.-noStyle),
#main h6:not(.-noStyle)
{
  font-weight: 700;
}

/* ---------- */
#main h1:not(.-noStyle)
{
  margin-bottom: 20px;
  font-size: 38px;
  line-height: 1.3;
}

@media only screen and (max-width: 767px)
{
  #main h1:not(.-noStyle)
  {
    font-size: 23px;
  }
}

/* ---------- */

#main h2:not(.-noStyle)
{
  margin-bottom: 20px;
  padding-bottom: .3em;
  border-bottom: 5px solid var(--peach-pink);
  font-size: 26px;
  line-height: 1.4;
}

@media only screen and (max-width: 767px)
{
  #main h2:not(.-noStyle)
  {
    border-bottom-width: 3px;
    font-size: 16px;
  }
}


/* ---------- */
#main h3:not(.-noStyle)
{
  margin-bottom: 8px;
  padding-left: 10px;
  border-left: 5px var(--peach-pink) solid;
  font-size: 22px;
  line-height: 1.45;
}
@media only screen and (max-width: 767px)
{
  #main h3:not(.-noStyle)
  {
    font-size: 14px;
  }
}

/* ---------- */
#main h4:not(.-noStyle)
{
  margin-bottom: 5px;
  font-size: 100%;
}
/* ---------- */
#main h5:not(.-noStyle)
{
  margin-bottom: 10px;
  font-size: 100%;
}
/* ---------- */

#main h6:not(.-noStyle)
{
  font-size: 100%;
}


/* ========================================
Button
======================================== */

#main .searchForm
{
  display: flex;
  position: relative;
  overflow: hidden;
  border: 3px solid var(--peach-light-beige);
  border-radius: 10px;
  background-color: var(--peach-white);
}

#main .searchForm .searchForm_input
{
  display: block;
  flex: 1;
  min-height: 100%;
}

#main .searchForm .searchForm_input input
{
  width: 100%;
  height: 100%;
  border: 0;
}

@media only screen and (max-width: 767px)
{
  #main .searchForm
  {
    border-width: 2px;
  }
}


/* ---------- */


#main .btn_icon
{
  line-height: 1;
}
#main .btn_icon a,
#main .btn_icon button
{
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background-image: none;
  background-color: var(--peach-rose-pink);
  color: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
  transition: ease .3s ;
  transition-property: background,color;

  appearance: none;
}

#main .btn_icon a:hover,
#main .btn_icon button:hover
{
  background-color: var(--peach-beige);
}
#main .btn_icon .icon
{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 58px;
  height: 58px;
  font-size: 1em;
}
#main .btn_icon .icon img
{
  width: 32px;
  height: 32px;

  object-fit: contain;
  object-position: 50% 50%;
}


/* ---------- */


#main .btn_thumb
{
  position: relative;
}
#main .btn_thumb a
{
  display: block;
  position: relative;
  max-width: 300px;
  overflow: hidden;
  border-radius: 10px;
}

#main .btn_thumb figure
{
  display: block;
  padding-top: 80%;
}

#main .btn_thumb figure img
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  object-fit: cover;
}

#main .btn_thumb figcaption
{
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  padding: 1em 40px;
  background-color: var(--peach-dark-brown-80);
  color: var(--peach-white);
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  transition: ease .3s ;
  transition-property: background,color;
}
#main .btn_thumb a:hover figcaption
{
  background-color: var(--peach-pink);
}
#main .btn_thumb figcaption::after
{
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0, -50%);
  width: 10px;
  height: 14px;
  background: url("../images/common/icon/icon_expand.svg") no-repeat left top;
  background-size: contain;
  content: "";

  filter: var(--filter-white);
}


/* ========================================
Object
======================================== */

#main .box1
{
  padding: 30px 30px;
  border-radius: 10px;
  background: var(--peach-light-beige-30);
}
@media only screen and (max-width: 767px)
{
  #main .box1
  {
    padding: 15px 15px;
    border-radius: 5px;
  }
}


/* ---------- */


#main .box2
{
  padding: 30px 30px;
  border-radius: 10px;
  background: var(--peach-white);
}
@media only screen and (max-width: 767px)
{
  #main .box2
  {
    padding: 15px 15px;
    border-radius: 5px;
  }
}

/* ---------- */


#main .box3
{
  padding: 30px 30px;
  border-radius: 10px;
  background: var(--peach-pale-pink-50);
}
@media only screen and (max-width: 767px)
{
  #main .box3
  {
    padding: 15px 15px;
    border-radius: 5px;
  }
}

/* ---------- */

#main .box_definition
{
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  background-color: var(--peach-white);
  line-height: 1.5;
}
#main .box_definition::after
{
  display: block;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 3px solid transparent;
  content: "";

  pointer-events: none;
}
#main .box_definition,
#main .box_definition::after
{
  border-radius: 10px;
}
#main .box_definition dt,
#main .box_definition dd
{
  position: relative;
  margin: 0;
  padding: 15px 30px;
  font-weight: inherit;
}
#main .box_definition dt
{
  background-color: var(--peach-white);
  font-size: 112.5%;
}
#main .box_definition dt.js-acBtn
{
  padding-right: calc(30px + 1.5em);
  cursor: pointer;
}
#main .box_definition dt.js-acBtn:after
{
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(90deg);
  width: 1.125em;
  height: 1.125em;
  margin-right: 30px;
  background: url("../images/common/icon/icon_expand.svg") no-repeat center center;
  background-size: contain;
  content: "";

  filter: var(--filter-darkbrown);
}
#main .box_definition.js-acWrap.open dt.js-acBtn:after
{
  transform: translateY(-50%) rotate(-90deg);
}

#main .box_definition dd
{
}
@media only screen and (max-width: 767px)
{
  #main .box_definition
  {
  }
  #main .box_definition::after
  {
    border-width: 2px;
  }
  #main .box_definition,
  #main .box_definition::after
  {
    border-radius: 5px;
  }
  #main .box_definition dt,
  #main .box_definition dd
  {
    padding: 15px 15px;
  }
  #main .box_definition dt
  {
  }
  #main .box_definition dt.js-acBtn
  {
    padding-right: calc(15px + 1.5em);
  }
  #main .box_definition dt.js-acBtn:after
  {
    margin-right: 15px;
  }
  #main .box_definition dd
  {
  }
}


/* ---------- */

#main .box_definition:where(.-attention)::after
{
  visibility: visible;
  border-color: var(--peach-rose-pink);
}
#main .box_definition:where(.-attention) dt
{
  background-color: var(--peach-rose-pink);
  color: var(--peach-white);
}
#main .box_definition:where(.-attention) dt.js-acBtn:after
{
  filter: var(--filter-white);
}



/* ---------- */


#main .noteList
{
  padding: 30px 27px;
  border: 3px var(--peach-rose-pink) solid;
  border-radius: 10px;
  line-height: 1.5;
}
#main .noteList dt
{
  margin-bottom: 5px;
  padding-left: 2em;
  color: var(--peach-rose-pink);
  font-size: 112.5%;
  text-indent: -2em;
}
#main .noteList dt::before
{
  display: inline-block;
  position: relative;
  width: 1.75em;
  height: 1.75em;
  margin-right: .25em;
  margin-block: -.75em -.5em;
  border-radius: 50%;
  background: url("../images/common/icon/black/icon_caution.svg") no-repeat left top;
  background-size: contain;
  vertical-align: middle;
  content: "";

  filter: invert(42%) sepia(85%) saturate(2627%) hue-rotate(315deg) brightness(99%) contrast(82%);
}
#main .noteList dd
{
  margin-bottom: 3px;
  padding-left: 1em;
  color: var(--peach-rose-pink);
  text-indent: -1em;
}
#main .noteList dd:last-child
{
  margin-bottom: 0;
}



@media only screen and (max-width: 767px)
{
  #main .noteList
  {
    padding: 15px 13px;
    border-width: 2px;
    border-radius: 5px;
  }
}


/* ========================================
Text icon
======================================== */

#main .text_icon1
{
  display: inline-block;
  box-sizing: border-box;
  min-width: 5em;
  padding: 3px 10px;
  border-radius: 50em;
  font-size: 12px;
  line-height: 1;
  letter-spacing: .05em;
  text-align: center;
  vertical-align: middle;
}
#main .text_icon1.outline_pink
{
  padding: 1px 8px;
  border: 2px solid currentColor;
  background-color: var(--peach-pale-pink-70);
  color: var(--peach-rose-pink);
}
#main .text_icon1.bg_brown
{
  background-color: var(--peach-dark-brown);
  color: var(--peach-ivory);
}
#main .text_icon1.bg_pink
{
  background-color: var(--peach-pink);
  color: var(--peach-ivory);
}
#main .text_icon1.bg_blue
{
  background-color: var(--peach-blue-60);
  color: var(--peach-ivory);
}

/* ---------- */


#main .text_icon2
{
  display: inline-block;
  box-sizing: border-box;
  padding: 3px 5px;
  border-radius: 3px;
  color: var(--peach-ivory);
  font-size: 12px;
  line-height: 1;
  letter-spacing: .05em;
  text-align: center;
  vertical-align: middle;
}

#main .text_icon2.bg_rosepink
{
  background-color: var(--peach-rose-pink);
}
#main .text_icon2.bg_palebrown
{
  background-color: var(--peach-dark-brown-30);
}

/* ========================================
Text field
======================================== */

#main .formItemGroup
{
}

#main .formItemGroup>dt
{
  font-size: 14px;
}
#main .formItemGroup>dt .text_icon2
{
  margin-top: -.25em;
}

#main .formItemGroup>dd
{
  margin-top: 5px;
}

#main .formItemGroup .error
{
  margin-top: 5px;
  color: var(--peach-red);
  font-size: 12px;
}


/* ========================================
TEXT
======================================== */

#main p.noteText
{
  margin-top: 5px;
  margin-bottom: 15px;
  font-size: 87.5%;
  line-height: 1.6;
  letter-spacing: 1px;
}

#main .annotation
{
  margin-top: 5px;
  font-size: 81.25%;
  line-height: 1.5;
}

/* ---------- */

#main em
{
  color: var(--peach-rose-pink);
  font-style: normal;
  font-weight: 700;
}

/* ---------- */

#main em.note
{
  color: var(--peach-rose-pink);
  font-style: normal;
  font-weight: 700;
}


/* ---------- */


#main ul.bulletsList
{
  margin-left: 1.5em;
}
#main ul.bulletsList>li
{
  list-style: disc;
  margin-bottom: .5em;
  color: inherit;
  line-height: 1.5;
}
#main ul.bulletsList>li>ul
{
  margin-top: 6px;
}

#main ul.bulletsList>li>ul>li
{
  list-style: none;
  position: relative;
  margin-bottom: .5em;
  margin-left: .5em;
  padding-left: 12px;
  color: inherit;
  line-height: 1.5;
}

#main ul.bulletsList>li>ul>li::after
{
  position: absolute;
  top: .75em;
  left: 0;
  width: 4px;
  height: 1px;
  background: currentColor;
  content: "";
}


/* ---------- */


#main ol.numberList
{
  margin-left: 1.8em;
  letter-spacing: 1px;
}

#main ol.numberList>li
{
  list-style-type: decimal;
  margin-bottom: .5em;
  color: inherit;
  line-height: 1.5;
  letter-spacing: 1px;
}

/* ---------- */

#main ol.numberList2
{
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: my-counter;
}
#main ol.numberList2>li
{
  position: relative;
  margin-bottom: .5em;
  padding-left: 30px;
  line-height: 1.5;
}
#main ol.numberList2>li:before
{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  margin-top: .15em;
  border-radius: 50%;
  background-color: var(--peach-dark-brown);
  color: var(--peach-white);
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  content: counter(my-counter);
  counter-increment: my-counter;
}



/* ---------- */

#main a.triangle
{
}
#main a.triangle:before
{
  display: inline-block;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  width: .5em;
  height: calc(tan(60deg) * .7em / 2);
  margin-top: -.15em;
  margin-right: .3em;
  background: currentColor;
  vertical-align: middle;
  content: "";
}

/* ---------- */

#main .iayoutPatternImageLeft,
#main .layoutPatternImageLeft
{
  display: flex;
}
#main .iayoutPatternImageLeft figure,
#main .layoutPatternImageLeft figure
{
  margin-right: 40px;
}
#main .iayoutPatternImageLeft .txtArea,
#main .layoutPatternImageLeft .txtArea
{
  flex: 1;
}
#main .iayoutPatternImageRight,
#main .layoutPatternImageRight
{
  display: flex;
  flex-flow: row-reverse nowrap;
}
#main .iayoutPatternImageRight figure,
#main .layoutPatternImageRight figure
{
  margin-left: 40px;
}
#main .iayoutPatternImageRight .txtArea,
#main .layoutPatternImageRight .txtArea
{
  flex: 1;
}
@media only screen and (max-width: 767px)
{
  #main .iayoutPatternImageLeft,
  #main .layoutPatternImageLeft
  {
    display: block;
  }
  #main .iayoutPatternImageLeft figure,
  #main .layoutPatternImageLeft figure
  {
    margin: 0 0 40px;
    text-align: center;
  }
  #main .iayoutPatternImageLeft .txtArea,
  #main .layoutPatternImageLeft .txtArea
  {
  }
  #main .iayoutPatternImageRight,
  #main .layoutPatternImageRight
  {
    display: block;
  }
  #main .iayoutPatternImageRight figure,
  #main .layoutPatternImageRight figure
  {
    margin: 0 0 40px;
    text-align: center;
  }
  #main .iayoutPatternImageRight .txtArea,
  #main .layoutPatternImageRight .txtArea
  {
  }
}


/* ---------- */


#main .MainImageBlock
{
}
#main .MainImageBlock figure
{
  margin-bottom: 36px;
}
@media only screen and (max-width: 767px)
{
  #main .MainImageBlock figure
  {
    display: block;
    margin-bottom: 80px;
  }
}


/* ========================================
Tab
========================================*/








/* ========================================
Status bar
========================================*/

#main .statusBar
{
  display: flex;
  position: relative;
  margin-right: 25px;
  background-color: var(--peach-white);
}
#main .statusBar:after
{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 15;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 3px solid var(--peach-light-beige);
  border-right: 0;
  content: "";

  pointer-events: none;
}
#main .statusBar li
{
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  position: relative;
  box-sizing: border-box;
  min-height: 50px;
  padding: 10px 15px;
  line-height: 1.1;
  text-align: center;
}
#main .statusBar li:not(:first-child)
{
  padding-left: 30px;
}
#main .statusBar li+li
{
  border-left: 0;
}
#main .statusBar li:nth-child(1)
{
  z-index: calc(10 - 1) ;
}
#main .statusBar li:nth-child(2)
{
  z-index: calc(10 - 2) ;
}
#main .statusBar li:nth-child(3)
{
  z-index: calc(10 - 3) ;
}
#main .statusBar li:nth-child(4)
{
  z-index: calc(10 - 4) ;
}
#main .statusBar li:nth-child(5)
{
  z-index: calc(10 - 5) ;
}
#main .statusBar li:nth-child(6)
{
  z-index: calc(10 - 6) ;
}
#main .statusBar li>span
{
  display: inline-block;
  position: relative;
  z-index: 1;
}
#main .statusBar li::before,
#main .statusBar li::after
{
  display: block;
  position: absolute;
  right: 0;
  width: 50px;
  height: calc(50% + .1px);
  border-right: 4px solid var(--peach-light-beige);
  background-color: var(--peach-white);
  content: "";
}
#main .statusBar li:not(:last-child)::before,
#main .statusBar li:not(:last-child)::after
{
}
#main .statusBar li::before
{
  top: 0;
  transform: skewX(45deg);

  transform-origin: 100% 0;
}
#main .statusBar li::after
{
  bottom: 0;
  transform: skewX(-45deg);

  transform-origin: 100% 100%;
}

#main .statusBar li.is-passed,
#main .statusBar li.is-passed::before,
#main .statusBar li.is-passed::after
{
  background-color: var(--peach-light-beige);
  color: var(--peach-white);
}


#main .statusBar li.is-current,
#main .statusBar li.is-current::before,
#main .statusBar li.is-current::after
{
  background-color: var(--peach-light-beige-50);
}


@media only screen and (max-width: 959px)
{
  #main .statusBar li
  {
    font-size: 14px;
  }
}

@media only screen and (max-width: 767px)
{
  #main .statusBar
  {
    margin-right: 8px;
  }
  #main .statusBar:after
  {
    border-width: 2px;
  }
  #main .statusBar li
  {
    min-height: 40px;
    padding: 6px 8px;
    font-size: 11px;
  }
  #main .statusBar li:not(:first-child)
  {
    padding-left: 14px;
  }
  #main .statusBar li::before,
  #main .statusBar li::after
  {
    border-right-width: 2.5px;
  }
  #main .statusBar li::before
  {
    transform: skewX(20deg);
  }
  #main .statusBar li::after
  {
    transform: skewX(-20deg);
  }
}



/* ========================================
Separate
========================================*/

#main hr.dividing,
#main hr.contents
{
  height: 1px;
  border: none;
  border-bottom: 5px dotted var(--peach-light-beige);
}


/* ---------- */

#main .bgBox
{
  position: relative;
  padding: 30px 30px;
  border-radius: 10px;
}
#main .bgBox.-full:has(.bgBox_content)
{
  padding-inline: 0;
}
#main .bgBox.-full:has(.bgBox_content)::before
{
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 0;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background-color: inherit;
  content: "";
}
#main .bgBox.-pink
{
  background-color: var(--peach-pale-pink-50);
}

#main .bgBox.-beige
{
  background-color: var(--peach-light-beige-50);
}

#main .bgBox .bgBox_content
{
  position: relative;
  z-index: 1;
}


@media only screen and (max-width: 767px)
{
  #main .bgBox
  {
    padding: 15px;
  }
}


/* ---------- */


#main .infoStatus
{
  border-collapse: separate;
}
#main .infoStatus th,
#main .infoStatus td
{
  padding: 10px 10px;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
  vertical-align: middle;
}
#main .infoStatus .-number
{
  width: 75px;
}
#main .infoStatus .-name
{
  width: 140px;
}
#main .infoStatus .-gender
{
  width: 75px;
}
#main .infoStatus .-seat
{
}
#main .infoStatus thead
{
}
#main .infoStatus thead th
{
}
#main .infoStatus thead td
{
}
#main .infoStatus tbody th,
#main .infoStatus tbody td
{
  border: 3px solid var(--peach-light-beige);
  border-right-style: dotted;
  background-color: var(--peach-white);
}
#main .infoStatus tbody th:nth-child(n+2),
#main .infoStatus tbody td:nth-child(n+2)
{
  border-left: 0;
}
#main .infoStatus tbody th:first-child,
#main .infoStatus tbody td:first-child
{
  border-radius: 10px 0 0 10px;
}
#main .infoStatus tbody th:last-child,
#main .infoStatus tbody td:last-child
{
  border-right-style: solid;
  border-radius: 0 10px 10px 0;
}
#main .infoStatus tbody th
{
}
#main .infoStatus tbody td
{
}
#main .infoStatus tbody td em
{
  font-size: inherit;
}

#main .infoStatus .infoStatus_person
{
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
}
#main .infoStatus .infoStatus_person>*
{
  margin: 0;
  padding: 0;
}
#main .infoStatus .infoStatus_person dt
{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  min-width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: var(--peach-dark-brown);
  color: var(--peach-white);
  font-size: 13px;
}

#main .infoStatus .infoStatus_person dd
{
  font-size: 10px;
}
#main .infoStatus .infoStatus_person dd img
{
  display: block;
  width: 40px;
  margin: 0 auto 1px;
}


@media only screen and (max-width: 959px)
{
  #main .infoStatus th,
  #main .lnfomationTable td
  {
    padding-inline: 6px;
    font-size: 12px;
  }
  #main .infoStatus .-number
  {
    width: 60px;
  }
  #main .infoStatus .-name
  {
    width: auto;
  }
  #main .infoStatus .-gender
  {
    width: auto;
  }
}






/* ========================================
Table
======================================== */
#main table
{
  font-size: inherit;
}
#main table th,
#main table td
{
  font-weight: inherit;
  vertical-align: top;
}

@media only screen and (max-width: 1279px)
{
  #main table
  {
    font-size: calc(1em - 1px);
    font-size: max(calc(1em - 1px) , 15px);
  }
}
@media only screen and (max-width: 1199px)
{
  #main table
  {
    font-size: 14px;
    font-size: max(calc(1em - 2px) , 14px);
  }
}
@media only screen and (max-width: 1079px)
{
  #main table
  {
    font-size: 13px;
    font-size: max(calc(1em - 3px) , 13px);
  }
}
@media only screen and (max-width: 979px)
{
  #main table
  {
    font-size: 15px;
    font-size: max(calc(1em - 1px) , 15px);
  }
}

/* ---------- */

#main .basicTable
{
  box-sizing: border-box;
}

#main .basicTable table
{
  overflow: hidden;
  font-size: inherit;
  table-layout: auto;
  border-collapse: separate;
}
#main .basicTable table tr>*
{
  width: auto;
  padding-block: 20px;
  padding-inline: 15px;
  border: 0 solid var(--peach-light-beige);
  border-width: 3px 0 0 3px;
  background-color: #ffffff;
  font-weight: inherit;
  font-size: inherit;
  line-height: 1.4;
  vertical-align: middle;
}
#main .basicTable table tr>* small
{
  font-size: 12px;
}
#main .basicTable table tr>*:last-child
{
  border-right-width: 3px;
}
#main .basicTable table tbody tr:last-child>*
{
  border-bottom-width: 3px;
}
#main .basicTable table tr:first-child>*:first-child
{
  border-radius: 10px 0 0 0 ;
}
#main .basicTable table tr:first-child>*:last-child
{
  border-radius: 0 10px 0 0 ;
}
#main .basicTable table tr:last-child>*:first-child
{
  border-radius: 0 0 0 10px;
}
#main .basicTable table tr:last-child>*:last-child
{
  border-radius: 0 0 10px 0 ;
}
#main .basicTable table th
{
  background-color: var(--peach-light-beige-30);
  text-align: center;
}
#main .basicTable table td
{
  font-size: 100%;
}

@media only screen and (max-width: 959px)
{
  #main .basicTable
  {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px)
{
  #main .basicTable.-spScroll
  {
    margin-right: -20px;
    padding-right: 20px;
    padding-bottom: 10px;
    overflow-x: scroll;
  }
  #main .basicTable.-spScroll table
  {
    width: 870px;
    white-space: nowrap;
  }
  #main .basicTable table tr>*
  {
    padding-block: 15px;
    padding-inline: 10px;
    font-size: 14px;
  }
}

/* ---------- */




#main .specialTable
{
  box-sizing: border-box;
}

#main .specialTable table
{
  font-size: inherit;
  table-layout: fixed;
  border-collapse: separate;
}
#main .specialTable table tr>*
{
  width: auto;
  padding-block: 20px;
  padding-inline: 15px;
  border: 0 solid var(--peach-light-beige);
  border-width: 3px 0 0 3px;
  background-color: #ffffff;
  font-weight: inherit;
  font-size: inherit;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
}
#main .specialTable table tr>* small
{
  font-size: 12px;
}
#main .specialTable table tr>*:last-child
{
  border-right-width: 3px;
}
#main .specialTable table tbody tr:last-child>*
{
  border-bottom-width: 3px;
}
#main .specialTable table tr>*.-empty
{
  border: 0;
  background: transparent;
}
#main .specialTable table tr>*.-radius1
{
  border-radius: 10px 0 0 0;
}
#main .specialTable table tr>*.-radius2
{
  border-radius: 0 10px 0 0;
}
#main .specialTable table tr>*.-radius3
{
  border-radius: 0 0 10px 0;
}
#main .specialTable table tr>*.-radius4
{
  border-radius: 0 0 0 10px;
}
#main .specialTable table th
{
  background-color: var(--peach-light-beige-30);
}
#main .specialTable table thead
{
}
#main .specialTable table thead th
{
  padding: 10px 20px;
}
#main .specialTable table thead td
{
}
#main .specialTable table tbody
{
}
#main .specialTable table tbody th
{
}
#main .specialTable table tbody td
{
}

@media only screen and (max-width: 959px)
{
  #main .specialTable
  {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px)
{
  #main .specialTable
  {
  }
  #main .specialTable.-spScroll
  {
    margin-right: -20px;
    padding-right: 20px;
    padding-bottom: 10px;
    overflow-x: scroll;
  }
  #main .specialTable.-spScroll table
  {
    width: 870px;
    white-space: nowrap;
  }
  #main .specialTable table tr>*
  {
    padding-block: 15px;
    padding-inline: 10px;
  }
}







/* ========================================
Client Add
========================================*/


#main .asterisk
{
  margin: 0 auto 30px;
  padding: 0;
}

#main .asterisk li::marker
{
  content: "*";
}

#main .asterisk li
{
  list-style-type: disc!important;
  margin: 0 0 0 20px;
  padding: 0 0 0 5px;
}



#main .asterisk,
#main .hyphen,
#main .list,
#main .kome
{
  display: block;
  margin: 0 auto 30px;
  padding: 0;
}
#main .asterisk li,
#main .hyphen li,
#main .list li,
#main .kome li
{
  list-style-type: disc !important;
  position: relative;
  margin: 0 0 5px 10px;
  padding: 0 0 0 5px;
}




#main .list,
#main .number
{
  margin: 0 auto 30px;
  padding: 0;
  counter-reset: listnum;
}
#main .list li::marker
{
  content: "・";
}
#main .list li
{
  list-style-type: disc;
  margin: 0 0 5px 20px;
  padding: 0;
}
#main .list li:last-child
{
  margin: 0 0 0 20px;
}
#main .number li:before
{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  content: counter(listnum)".";
  counter-increment: listnum;
}
#main .number li
{
  position: relative;
  margin: 0 auto 5px;
  padding: 0 0 0 20px;
}
#main .number li:last-child
{
  margin: 0 auto;
}
#main .number .circle-number
{
  margin: 0 auto;
  padding: 0;
  counter-reset: listnum;
}
#main .number .circle-number li:before
{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  counter-increment: listnum;
}
#main .number .circle-number li:first-child:before
{
  content: "①";
}
#main .number .circle-number li:nth-child(2):before
{
  content: "②";
}
#main .number .circle-number li:nth-child(3):before
{
  content: "③";
}
#main .number .circle-number li:nth-child(4):before
{
  content: "④";
}
#main .number .circle-number li:nth-child(5):before
{
  content: "⑤";
}
#main .number .circle-number li:nth-child(6):before
{
  content: "⑥";
}
#main .number .circle-number li:nth-child(7):before
{
  content: "⑦";
}
#main .number .circle-number li:nth-child(8):before
{
  content: "⑧";
}
#main .number .circle-number li:nth-child(9):before
{
  content: "⑨";
}
#main .number .circle-number li
{
  position: relative;
  margin: 0 auto 5px;
  padding: 0 0 0 20px;
}
#main .number .circle-number li:last-child
{
  margin: 0 auto;
}
#main .number .brackets-number
{
  margin: 0 auto;
  padding: 0;
  counter-reset: listnum;
}
#main .number .brackets-number li:before
{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  content: "("counter(listnum)")";
  counter-increment: listnum;
}
#main .number .brackets-number li
{
  position: relative;
  margin: 0 auto 5px;
  padding: 0 0 0 20px;
}
#main .number .brackets-number li:last-child
{
  margin: 0 auto;
}
#main .number .brackets-number .circle-number
{
  margin: 0 auto;
  padding: 0;
  counter-reset: listnum;
}
#main .number .brackets-number .circle-number li:before
{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  content: "("counter(listnum)")";
  counter-increment: listnum;
}
#main .number .brackets-number .circle-number li:first-child:before
{
  content: "①";
}
#main .number .brackets-number .circle-number li:nth-child(2):before
{
  content: "②";
}
#main .number .brackets-number .circle-number li:nth-child(3):before
{
  content: "③";
}
#main .number .brackets-number .circle-number li:nth-child(4):before
{
  content: "④";
}
#main .number .brackets-number .circle-number li:nth-child(5):before
{
  content: "⑤";
}
#main .number .brackets-number .circle-number li
{
  position: relative;
  margin: 0 auto 5px;
  padding: 0 0 0 20px;
}
#main .number .brackets-number .circle-number li:last-child
{
  margin: 0 auto;
}
#main .number .brackets-number .list
{
  margin: 0 auto;
  padding: 0;
  counter-reset: listnum;
}
#main .number .brackets-number .list li:before
{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  content: "";
  counter-increment: listnum;
}
#main .number .brackets-number .list li
{
  margin: 0 0 5px 20px;
  padding: 0;
}
#main .number .brackets-number .list li:last-child
{
  margin: 0 0 0 20px;
}































/* ================================================================================
 *
 *
 *
 * OLD * 
 *
 *
 *
================================================================================ */
#contents_1
{
  display: inline-block;
  width: 680px;
  margin-top: 27px !important;
  margin-bottom: 25px !important;
}
#contents_2
{
  display: inline-block;
  width: 680px;
  margin-bottom: 25px;
}

#main a:hover .box_1,
#main a:hover .box_4
{
  opacity: .9;
  text-decoration: none;
}
#main a:hover .box_2,
#main a:hover .box_3
{
  opacity: .8;
  text-decoration: none;
}
#contents_1 div div>img,
#contents_1 div div>p
{
  margin: 10px 0 0 12px;
  border: medium none;
}
#contents_2 div div>img,
#contents_2 div div>p
{
  margin: 10px 0 0 12px;
  border: medium none;
}
[id^="contents_"] [class^="box_"] p
{
  display: inline-block;
  width: 300px;
  margin: 7px 0 7px 15px !important;
  line-height: 1.5em !important;
  letter-spacing: normal !important;
}
#main .box_1,
#main .box_2,
#main .box_3,
#main .box_4
{
  float: left;
  width: 323px;
  margin-bottom: 3px !important;
  border-radius: 10px;
  color: #ffffff;
  text-align: left;
}
#main .box_1,
#main .box_3
{
  float: left;
}
#main .box_2,
#main .box_4
{
  float: right;
}
#main .box_1,
#main .box_4
{
  border: 2px solid rgb(222, 129, 211);
}
#main .box_2,
#main .box_3
{
  border: 2px solid rgb(217, 0, 166);
}
#main .box_1 table,
#main .box_4 table
{
  border-width: 2px 7px;
  border-style: solid;
  border-color: rgb(222, 129, 211);
  border-top-left-radius: 7px;
  border-top-right-radius: 7px;
  background: rgb(222, 129, 211) none repeat scroll 0 0;
  font-weight: bold;
  font-size: 18px;
}
#main .box_2 table,
#main .box_3 table
{
  border-width: 2px 7px;
  border-style: solid;
  border-color: rgb(217, 0, 166);
  border-top-left-radius: 7px;
  border-top-right-radius: 7px;
  background: rgb(217, 0, 166) none repeat scroll 0 0;
  font-weight: bold;
  font-size: 18px;
}
#main .box_1 table,
#main .box_2 table,
#main .box_3 table,
#main .box_4 table
{
  width: 100%;
}
#main .box_1 table td.left,
#main .box_2 table td.left,
#main .box_3 table td.left,
#main .box_4 table td.left
{
  color: #ffffff !important;
  text-align: left;
}
#main .box_1 table td.right,
#main .box_2 table td.right,
#main .box_3 table td.right,
#main .box_4 table td.right
{
  color: #ffffff !important;
  font-size: 14px;
  text-align: right;
}
#main .box_1 table td,
#main .box_2 table td,
#main .box_3 table td,
#main .box_4 table td
{
  vertical-align: bottom;
}

#main .box_1.link,
#main .box_2.link,
#main .box_3.link,
#main .box_4.link
{
  border: medium none;
  text-align: right;
}

/* ========================================
* OLD * Line
======================================== */
#main .dot_line
{
  background-image: url("/portals/_default/images/dot_line.png");
  background-position: bottom;
  background-repeat: repeat-x;
  text-align: right;
}

#main a.dot_line
{
  display: inline-block;
  margin-right: 10px;
  padding: 0 18px 5px 0;
  background: url("../images/icon_page-up.png") right 2px no-repeat;
  color: #434343;
  /* font-size: 10px; */
  font-size: 12px;
}

#main .dot_line a:visited,
#main .dot_line a:hover
{
  color: #434343;
}

/* ========================================
* OLD * Heading
======================================== */
#main h3.faq
{
  padding-left: 0;
  background: url(#) center left no-repeat;
  color: #cc009e;
  font-weight: bold;
  /* font-size: 16px; */
  font-size: 18px;
  line-height: 1.5;
}

/* ========================================
* OLD * Contents
======================================== */

#main dl:not([class]) dt
{
  font-weight: 700;
}
#main dl:not([class]) dd
{
  margin-bottom: 7px;
  padding-left: 10px;
}
#main dl:not([class]) dd strong
{
  color: var(--peach-rose-pink);
  font-size: 120%;
}

/* ========================================
* OLD * Btn Book
======================================== */
#main .btn_book_middle
{
  width: 340px;
  margin: 0;
  /* font-size: 13px; */
  font-size: 15px;
}

#main .btn_book_middle
{
  border: 3px solid #ffffff;
          border-radius: 10px;
          box-shadow: 2px 2px 2px #a9a9a9;/* 右に5px、下に5px */
  background: #bc0095;
  text-align: center;

  -webkit-border-radius: 10px;
     -moz-border-radius: 10px;
  -webkit-box-shadow: 2px 2px 2px #a9a9a9;
     -moz-box-shadow: 2px 2px 2px #a9a9a9;
}

#main .btn_book_middle a
{
  display: block;
  width: 340px;
  height: 30px;
  padding: 6px 0;
  background: url(/portals/1/images/arrow_btn_book.gif) no-repeat 20px center;
  color: #ffffff;
  font-weight: bold;
  /* font-size: 20px; */
  font-size: 22px;
  text-decoration: none;
}

#main .btn_book_middle a:link,
#main .btn_book_middle a:visited
{
  color: #ffffff;
  text-decoration: none;
}
#main .btn_book_middle a:hover
{
  color: #ff0000;
  text-decoration: underline;
}


#main .btn_book_long
{
  width: 560px;
  margin: 0;
  font-size: 13px;
}

#main .btn_book_long
{
  border: 3px solid #ffffff;
          border-radius: 10px;
          box-shadow: 2px 2px 2px #a9a9a9;/* 右に5px、下に5px */
  background: #bc0095;
  text-align: center;

  -webkit-border-radius: 10px;
     -moz-border-radius: 10px;
  -webkit-box-shadow: 2px 2px 2px #a9a9a9;
     -moz-box-shadow: 2px 2px 2px #a9a9a9;
}

#main .btn_book_long a
{
  display: block;
  width: 560px;
  height: 30px;
  padding: 6px 0;
  background: url(/portals/1/images/arrow_btn_book.gif) no-repeat 20px center;
  color: #ffffff;
  font-weight: bold;
  font-size: 20px;
  text-decoration: none;
}

#main .btn_book_long a:link,
#main .btn_book_long a:visited
{
  color: #ffffff;
  text-decoration: none;
}
#main .btn_book_long a:hover
{
  color: #ff0000;
  text-decoration: underline;
}

/* ========================================
* OLD * imageCaptionPattern
======================================== */

#main .imageCaptionPattern
{
}
#main .imageCaptionPattern figure.view_pc
{
  margin-bottom: 12px;
  text-align: center;
}
#main .imageCaptionPattern figure.view_sp
{
  display: none;
}
#main .imageCaptionPattern figcaption
{
  font-size: 12px;
  line-height: 1.5;
}
@media only screen and (max-width: 767px)
{
  #main .imageCaptionPattern
  {
  }
  #main .imageCaptionPattern figure.view_pc
  {
    display: none;
  }
  #main .imageCaptionPattern figure.view_sp
  {
    display: block;
    margin-bottom: 24px;
    text-align: center;
  }
  #main .imageCaptionPattern figcaption
  {
    font-size: 24px;
    line-height: 1.5;
  }
}

/* ========================================
* OLD * relationLink
======================================== */

#main .relationLink
{
  display: flex;
  flex-flow: row wrap;
}

#main .relationLink a
{
  position: relative;
  box-sizing: border-box;
  width: calc( ( 100% - 40px ) / 3 );
  /*display: flex;
	align-items: center;*/
  margin: 0 20px 20px 0;
  padding: 15px 15px 15px 30px;
  background: #f5f5f5;
  color: #4b4848;
  /* font-size: 16px; */
  font-size: 18px;
  line-height: 1.5;
  text-decoration: none;
}
#main .relationLink a:hover
{
  opacity: 1;
  text-decoration: underline;
}
#main .relationLink a:nth-child(3n)
{
  margin-right: 0;
}
#main .relationLink a::after
{
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translate(0, -50%);
  width: 6px;
  height: 11px;
  background: url("../images/icon_expand3.png") no-repeat left top;
  background-size: 6px 11px;
  content: "";
}
@media only screen and (max-width: 767px)
{
  #main .relationLink
  {
    display: block;
  }

  #main .relationLink a
  {
    display: block;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 48px 0;
    padding: 15px 15px 15px 24px;
    background: #f5f5f5;
    color: #4b4848;
    /* font-size: 16px; */
    font-size: 18px;
    line-height: 1.5;
    text-decoration: none;
  }
  #main .relationLink a:hover
  {
    opacity: 1;
  }
  #main .relationLink a:nth-child(3n)
  {
    margin-right: 0;
  }
}




/* ========================================
* OLD * TABLE
======================================== */



#main .tableType1
{
  width: 100%;
  border-top: 1px #bfbfc0 solid;
  border-left: 1px #bfbfc0 solid;
  border-collapse: collapse;
}

#main .tableType1 th
{
  padding: 10px;
  border-right: 1px #bfbfc0 solid;
  border-bottom: 1px #bfbfc0 solid;
  background: #f5e6f0;
  text-align: center;
}

#main .tableType1 td
{
  padding: 10px;
  border-right: 1px #bfbfc0 solid;
  border-bottom: 1px #bfbfc0 solid;
  text-align: center;
}

/* ---------- */


#main .tableType2 table
{
  width: 100%;
  border-top: 1px #bfbfc0 solid;
  border-left: 1px #bfbfc0 solid;
  border-collapse: collapse;
}

#main .tableType2 table th
{
  box-sizing: border-box;
  width: 100px;
  padding: 10px;
  border-right: 1px #bfbfc0 solid;
  border-bottom: 1px #bfbfc0 solid;
  background: #f5e6f0;
  text-align: center;
  vertical-align: middle;
}

#main .tableType2 table td
{
  padding: 10px;
  border-right: 1px #bfbfc0 solid;
  border-bottom: 1px #bfbfc0 solid;
}
@media only screen and (max-width: 767px)
{
  #main .tableType2
  {
    overflow: scroll;
  }
  #main .tableType2 table
  {
    width: 130%;
  }
  #main .tableType2 table th
  {
    position: sticky;
    left: 0;
    width: 100px;
    border: none;
  }
  #main .tableType2 table th::before
  {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-right: 1px solid #bfbfc0;
    content: "";
  }
  #main .tableType2 table th::after
  {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-bottom: 1px solid #bfbfc0;
    content: "";
  }
}

/* ---------- */

#main .tableType3 table
{
  width: 100%;
  border-top: 1px #bfbfc0 solid;
  border-left: 1px #bfbfc0 solid;
  border-collapse: collapse;
}
#main .tableType3 th
{
  padding: 12px 5px;
  border-right: 1px #bfbfc0 solid;
  border-bottom: 1px #bfbfc0 solid;
  text-align: center;
}
#main .tableType3 thead th
{
  vertical-align: middle;
}
#main .tableType3 thead th.th_type1
{
  border-right: none;
  background: #9b308c;
  color: #ffffff;
}
#main .tableType3 thead th.th_type2
{
  border-right: none;
  background: #2369aa;
  color: #ffffff;
}
#main .tableType3 thead th.th_type3
{
  border-right: none;
  background: #d14e97;
  color: #ffffff;
}
#main .tableType3 thead th.th_type4
{
  background: #26bc62;
  color: #ffffff;
}
#main .tableType3 tbody th
{
  padding: 10px;
  background: none;
  text-align: left;
}
#main .tableType3 tbody th.tb_th
{
  width: auto;
  background: #f5f5f5;
}
#main .tableType3 td
{
  padding: 10px;
  border-right: 1px #bfbfc0 solid;
  border-bottom: 1px #bfbfc0 solid;
  text-align: center;
}
#main .tableType3 tbody th
{
}


@media only screen and (max-width: 767px)
{
  #main .tableType3
  {
    box-sizing: border-box;
    width: 100%;
    overflow-x: scroll;
  }
  #main .tableType3 table
  {
    width: 870px;
    white-space: nowrap;
  }
}


/* ---------- */


#main .tableType4
{
  width: 100%;
  border-top: 1px #bfbfc0 solid;
  border-left: 1px #bfbfc0 solid;
  border-collapse: collapse;
}
#main .tableType4 th
{
  padding: 12px 15px;
  border-right: 1px #bfbfc0 solid;
  border-bottom: 1px #bfbfc0 solid;
  background: #f5e6f0;
  text-align: center;
}
#main .tableType4 thead th
{
  color: #ffffff;
}
#main .tableType4 thead th.th_type1
{
  border-right: none;
  background: #9b308c;
}
#main .tableType4 thead th.th_type2
{
  border-right: none;
  background: #2369aa;
}
#main .tableType4 thead th.th_type3
{
  border-right: none;
  background: #d14e97;
}
#main .tableType4 thead th.th_type4
{
  background: #26bc62;
}
#main .tableType4 tbody th
{
  padding: 10px;
  background: none;
  text-align: left;
}
#main .tableType4 tbody th.tb_th
{
  width: auto;
  background: #f5f5f5;
}
#main .tableType4 td
{
  padding: 10px;
  border-right: 1px #bfbfc0 solid;
  border-bottom: 1px #bfbfc0 solid;
  text-align: center;
}
#main .tableType4 tbody th
{
  width: 150px;
}





/* ========================================
* OLD * TAB
======================================== */

#main .tabIndex
{
  display: flex;
}
#main .tabIndex.three li
{
  width: calc(100% / 3) ;
}
#main .tabIndex.two li
{
  width: calc(100% / 2) ;
}
#main .tabIndex li
{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-top: 1px #bfbfc0 solid;
  border-right: 1px #bfbfc0 solid;
  border-bottom: 4px #9e3a90 solid;
  background: none;
  color: #4b4848;
  cursor: pointer;
}
#main .tabIndex li:first-child
{
  border-left: 1px #bfbfc0 solid;
}
#main .tabIndex li.active
{
  border-top: 1px #9b308c solid;
  border-right: 1px #9b308c solid;
  background: #9b308c;
  color: #ffffff;
}
#main .tabIndex li.active:first-child
{
  border-left: 1px #9b308c solid;
}
#main .tabIndex li span
{
  padding: 10px 5px;
  text-align: center;
}
#main .tabIndex li.active::after
{
  position: absolute;
  bottom: -12px;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 8px solid #9b308c;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  content: "";
}

/* ========================================
* OLD * indexLayout
======================================== */

#main .indexLayout
{
  display: flex;
  flex-flow: wrap;
  align-items: flex-start;
}
#main .indexLayout li
{
  box-sizing: border-box;
  width: calc( ( 100% - 40px ) / 3 );
  margin: 0 20px 20px 0;
  padding: 20px;
  background: #f5f5f5;
}
#main .indexLayout li:nth-child(3n)
{
  margin-right: 0;
}
#main .indexLayout li figure
{
  margin: 0 0 10px;
  text-align: center;
}
#main .indexLayout li .ttl
{
  position: relative;
  margin: 0;
  padding-left: 12px;
  /* font-size: 16px; */
  font-size: 18px;
  line-height: 1.5;
}
#main .indexLayout li .ttl::after
{
  position: absolute;
  top: .5em;
  left: 0;
  transform: translate(0,0);
  width: 6px;
  height: 11px;
  background: url("../images/icon_expand3.png") no-repeat left top;
  background-size: 6px 11px;
  content: "";
}
#main .indexLayout li .ttl a
{
  color: #333333;
}
#main .indexLayout li p
{
  margin-top: 10px;
  /* font-size: 14px; */
  font-size: 16px;
  line-height: 1.5;
}
@media only screen and (max-width: 767px)
{
  #main .indexLayout
  {
    display: block;
  }
  #main .indexLayout li
  {
    width: 100%;
    margin: 0 0 48px;
    padding: 20px;
  }
  #main .indexLayout li figure
  {
  }
}