@charset "utf-8";
/*--------------------------------------------------------------------------------
  .c-hdline
--------------------------------------------------------------------------------*/
.c-hdline {
  position: relative;
  text-align: center;
  display: flex;
  flex-direction: column;
  margin-bottom: var(--space-l);
}
.c-hdline:before {
  content: "";
  width: 100%;
  height: clamp(1.25em, 1.25em + (3vw - 1em), 20px);
  display: block;
  margin-bottom: 1rem;
  background: url("../image/icon/hana.svg") no-repeat center top;
  background-size: contain;
}
.c-hdline_main {
  font-weight: 400;
  font-family: var(--ff-min);
  font-size: var(--fs-4l);
  line-height: var(--lineh-2s);
  order: 2;
  margin-top: 0.25rem;
}
.c-hdline_sub {
  font-weight: 400;
  font-family: var(--ff-en);
  color: var(--pink);
  order: 1;
}

/*--------------------------------------------------------------------------------
  .c-hdline02
--------------------------------------------------------------------------------*/
.c-hdline02 {
  background-color: var(--bpink);
  font-weight: bold;
  font-size: var(--fs-m);
  color: #FFF;
  line-height: var(--lineh-s);
  padding: var(--box-space-3s);
  margin-bottom: var(--space-s);
}

/*--------------------------------------------------------------------------------
  .c-hdline03
--------------------------------------------------------------------------------*/
.c-hdline03 {
  font-weight: bold;
  font-size: var(--fs-2l);
  margin-bottom: var(--space-2s);
}

/*--------------------------------------------------------------------------------
  .c-alert
--------------------------------------------------------------------------------*/
.c-alert {
  margin-bottom: var(--space-s);
  text-align: left;
  line-height: 1.4;
  border: 1px solid var(--red);
  line-height: 1.6;
  color: var(--red);
  padding: 0.8rem;
  display: flex;
  flex-wrap: wrap;
  column-gap: 1rem;
  row-gap: 0.5rem;
  align-items: center;
}
.c-alert_ttl {
  font-size: var(--fs-2s);
  font-weight: bold;
  background-color: var(--red);
  color: #fff;
  padding: 0.25rem 0.5rem;
  vertical-align: middle;
  white-space: nowrap;
}
.c-alert_mess {
  font-size: var(--fs-s);
}

/*--------------------------------------------------------------------------------
  .c-tbl
--------------------------------------------------------------------------------*/
.c-tbl {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}
.c-tbl tr:not(:first-of-type) th {
  border-top: 1px solid var(--bg-color);
}
.c-tbl tr:not(:first-of-type) td {
  border-top: 1px solid rgba(var(--gold-rgba), 0.2);
}
.c-tbl th,
.c-tbl td {
  padding: var(--table-space);
  line-height: var(--lineh-s);
}
.c-tbl th {
  width: 25%;
  min-width: 7rem;
  vertical-align: top;
  background-color: rgba(var(--bpink2-rgba), 0.4);
  text-align: left;
  font-weight: bold;
}
.c-tbl td {
  background-color: #FFF;
  vertical-align: middle;
}
@media (max-width:640px) {
  .c-tbl { font-size: var(--fs-s); }
}

/*--------------------------------------------------------------------------------
  .c-list
--------------------------------------------------------------------------------*/
ul.c-list { margin-left:1.15rem; }

/* .c-list-mk
----------------------------------------*/
ul.c-list-mk {
  list-style: none;
  margin-left: 1em;
}
:not(ul).c-list-mk {
  display: inline-block;
  margin-left: 1em;
}
ul.c-list-mk > li:before,
:not(ul).c-list-mk:before {
  width: 1em;
  margin-left: -1em;
  display:inline-block;
}
ul.c-list-mk.-dot > li:before,
:not(ul).c-list-mk.-dot:before {
  content:"・";
}
ul.c-list-mk.-maru > li,
:not(ul).c-list-mk.-maru { padding-left: 0.25em; }
ul.c-list-mk.-maru > li:before,
:not(ul).c-list-mk.-maru:before {
  content: "";
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  margin-left: -1.25em;
  margin-right: 0.5rem;
  border-radius: 9999px;
  background-color: var(--pink);
}
ul.c-list-mk.-kome > li,
:not(ul).c-list-mk.-kome { padding-left: 0.3em; }
ul.c-list-mk.-kome > li:before,
:not(ul).c-list-mk.-kome:before {
  content:"※";
  width: 1.3em;
  margin-left: -1.3em;
}

/*--------------------------------------------------------------------------------
  .c-btn
--------------------------------------------------------------------------------*/
.c-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  border: none;
  margin: 0;
  outline: none;
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  height: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  column-gap: 1em;
  row-gap: 0.5rem;
  position: relative;
  z-index: 2;
  line-height: var(--lineh-2s);
  padding: 0.8em 1.5em;
  border-radius: 9999px;
  overflow: hidden;
}
.c-btn.-xx-small { padding: 0.5em 1.5em; font-size: var(--fs-3s); column-gap: 0.5em; }
.c-btn.-x-small { padding: 0.7em 1.5em; font-size: var(--fs-2s); }
.c-btn.-small { font-size: var(--fs-s); }
.c-btn.-large { padding: 1.2em 1.5em; font-size: var(--fs-m); }
.c-btn.-ru-s { border-radius: 0.5rem; }
.c-btn:before {
  background-color: var(--red);
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  transition: var(--hover-trans);
}
.c-btn.-line { border: 1px solid var(--red); }
.c-btn.-line:before { background-color: transparent; }
.c-btn.-yellow:before { background-color: var(--yellow); }
.c-btn.-gray:before { background-color: var(--gray); }
.c-btn, .c-btn:visited, .c-btn:hover,
.c-btn a, .c-btn a:visited, .c-btn a:hover {
  color: #FFF;
  text-decoration: none;
}
.c-btn.-line, .c-btn.-line:visited, .c-btn.-line:hover,
.c-btn.-line a, .c-btn.-line a:visited, .c-btn.-line a:hover {
  color: var(--red);
  text-decoration: none;
}
@media (hover: hover) {
  .c-btn:hover:before { filter: brightness(120%); }
  .c-btn.-yellow:hover:before { filter: brightness(110%); }
  .c-btn.-gray:hover:before { filter: brightness(115%); }
  .c-btn.-line:hover:before { filter: none; }
  .c-btn.-line:hover { background-color: var(--red); color: #FFF; }
}
.c-btn_icon {
  width: 1.4em;
  height: 1.4em;
  margin-bottom: 0;
}

/*--------------------------------------------------------------------------------
  .c-arrow-btn
--------------------------------------------------------------------------------*/
.c-arrow-btn {
  width: 1.5em;
  height: 1.5em;
  background-color: var(--red);
  border-radius: 9999px;
  color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-arrow-btn_svg {
  width: 33%;
  height: 33%;
  margin-left: 5%;
  margin-bottom: 0;
}
.c-arrow-btn_svg.-prev {
  transform: rotate(-180deg);
  margin-left: 0;
  margin-right: 5%;
}
.c-hana-btn {
  width: clamp(3em, 3.5em + (2.2vw - 1em), 66px);
  height: clamp(3em, 3.5em + (2.2vw - 1em), 66px);
  color: var(--red);
}
@media (hover: hover) {
  a:hover .c-arrow-btn,
  a.c-arrow-btn:hover { color: #FFF; filter: brightness(120%); }
  a:hover .c-hana-btn,
  a.c-hana-btn:hover { filter: brightness(120%); }
}

/*--------------------------------------------------------------------------------
  .c-link
--------------------------------------------------------------------------------*/
.c-link {
  display: inline-flex;
  align-items: center;
  column-gap: 0.5rem;
  text-decoration: none;
}
a .c-link:hover,
a.c-link:hover { color: inherit; }
.c-link .c-hana-btn { margin-left: 1rem; }
.c-link_uline {
  position: relative;
  padding-bottom: 0.5rem;
}
.c-link_uline:after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: var(--black);
  transform-origin: left top;
  transform: scale(1,1);
}
@media (hover: hover) {
  .c-link_uline:after { transition: transform 0.5s var(--cubic-bezier); }
  a:hover .c-link_uline:after,
  a.c-link_uline:hover:after { transform-origin: right top; transform: scale(0,1); }
}

/*--------------------------------------------------------------------------------
  .c-gmap
--------------------------------------------------------------------------------*/
.c-gmap {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
  max-width: var(--base-width);
  min-height: 300px;
  border: 0;
  vertical-align: bottom;
}

/*--------------------------------------------------------------------------------
  .c-payment-logo
--------------------------------------------------------------------------------*/
.c-payment-logo {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.c-payment-logo img { width: auto; height: clamp(20px, calc(40 / 640 * 100vw), 40px); }
.c-payment-logo.-small img { width: auto; height: clamp(20px, calc(30 / 640 * 100vw), 30px); }

/*--------------------------------------------------------------------------------
  .p-flex-cols
--------------------------------------------------------------------------------*/
.p-flex-cols {
  display: flex;
  flex-direction: column;
}
.p-flex-cols.-gap-3l { row-gap: var(--space-3l); }
.p-flex-cols.-gap-2l { row-gap: var(--space-2l); }
.p-flex-cols.-gap-l { row-gap: var(--space-l); }
.p-flex-cols.-gap-m { row-gap: var(--space-m); }
.p-flex-cols.-gap-s { row-gap: var(--space-s); }
.p-flex-cols.-gap0h { row-gap: 0.5rem; }
.p-flex-cols.-gap1 { row-gap: 1rem; }
.p-flex-cols.-gap1h { row-gap: 1.5rem; }
.p-flex-cols.-gap2 { row-gap: 2rem; }
.p-flex-cols.-gap2h { row-gap: 2.5rem; }

/*--------------------------------------------------------------------------------
  .p-breadcrumb
--------------------------------------------------------------------------------*/
.p-breadcrumb {
  padding: 1.5rem var(--side-space) 0 var(--side-space);
}
.p-breadcrumb_list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.4rem;
  row-gap: 0.5rem;
  line-height: var(--lineh-2s);
  font-size: var(--fs-2s);
}
.p-breadcrumb_list li:not(:first-child):before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 0.3rem;
  height: 0.3rem;
  border-top: 1px solid rgba(var(--gold-rgba), 0.6);
  border-right: 1px solid rgba(var(--gold-rgba), 0.6);
  transform: rotate(45deg);
  margin-right: 0.6rem;
  margin-bottom: 0.1rem;
}

/*--------------------------------------------------------------------------------
  .p-block
--------------------------------------------------------------------------------*/
.p-block {
  width: var(--base-width);
  max-width: calc(100% - (var(--side-space) * 2));
  margin: 0 auto;
}
.p-block.-small { width: 1180px; }
.p-block.-xsmall { width: 1080px; }
.p-block.-full { width: 100%; }

/*--------------------------------------------------------------------------------
  .p-bg-box
--------------------------------------------------------------------------------*/
.p-bg-box {
  width: 100%;
  background-color: #FFF;
  border-radius: 0.75rem;
  padding: var(--box-space-m);
}
.p-bg-box_hd {
  color: var(--pink);
  font-weight: bold;
  font-size: var(--fs-2l);
  padding-bottom: var(--box-space-3s);
}
.p-bg-box_hd.-small { font-size: var(--fs-l); }

/*--------------------------------------------------------------------------------
  .p-tel
--------------------------------------------------------------------------------*/
.p-tel {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  column-gap: 0.5rem;
  row-gap: 0.5rem;
}
.p-tel.-fax { column-gap: 1rem; row-gap: 1rem; align-items: center; }
.p-tel.-center { justify-content: center; }
.p-tel.-cols { flex-direction: column; align-items: center; }
.p-tel_no {
  display: flex;
  align-items: flex-end;
  font-family: var(--ff-en);
  font-weight: 500;
  line-height: 1;
  font-size: var(--fs-2l);
  text-decoration: none;
}
a[href^="tel:"].p-tel_no { text-decoration: none; }
.p-tel.-medium .p-tel_no { font-size: var(--fs-3l); }
.p-tel.-large .p-tel_no { font-size: var(--fs-4l); }
.p-tel_label {
  margin-right: 0.5rem;
}
.p-tel_label.-txt {
  font-size: 58%;
  margin-bottom: 0.15rem;
}
.p-tel_label.-icon {
  width: 1.2em;
  height: 1em;
  margin-bottom: 0.05em;
}
.p-tel_time {
  font-size: var(--fs-2s);
  line-height: var(--lineh-2s);
}
.p-tel.-large .p-tel_time { font-size: var(--fs-s); }
.p-tel_time.-cols {
  display: flex;
  flex-direction: column;
}

/*--------------------------------------------------------------------------------
  .p-menu
--------------------------------------------------------------------------------*/
@media (min-width:961px) { :root { --menu-img-break-point: 1200; } }
@media (max-width:960px) { :root { --menu-img-break-point: 800; } }
@media (max-width:640px) { :root { --menu-img-break-point: 640; } }
.p-menu.-bg {
  background-color: var(--bpink);
  padding: var(--space-m) var(--side-space);
}
.p-menu_list {
  max-width: var(--base-width);
  margin: 0 auto;
  list-style: none;
  line-height: var(--lineh-s);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: var(--box-space-2s);
}
.p-menu_item > a {
  text-decoration: none;
  width: 100%;
  height: 100%;
  padding: var(--box-space-s);
  display: flex;
  align-items: center;
  column-gap: var(--box-space-2s);
  background-color: #FFF;
  border-radius: 0.75rem;
}
.p-menu_list.-thumb .p-menu_item > a {
  padding: var(--box-space-2s);
}
.p-menu_item > a:after {
  flex-shrink: 0;
  content: "";
  width: clamp(1rem, calc(20 / var(--menu-img-break-point) * 100vw), 20px);
  height: clamp(1rem, calc(20 / var(--menu-img-break-point) * 100vw), 20px);
  margin-left: auto;
  background: currentColor;
  color: var(--red);
  mask-image: var(--icon-arrowY1);
  mask-repeat: no-repeat;
}
.p-menu_item-img {
  width: clamp(60px, (110 / var(--menu-img-break-point) * 100vw), 110px);
  flex-shrink: 0;
}
.p-menu_item-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.5rem;
}
@media (max-width:1200px) {
  .p-menu_list.-thumb {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--box-space-3s);
  }
}
@media (max-width:960px) {
  .p-menu_list {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--box-space-3s);
  }
}
@media (min-width:641px) and (max-width:960px) {
  .p-menu_item-txt {
    font-size: var(--fs-s);
  }
}
@media (max-width:640px) {
  .p-menu_list.-thumb,
  .p-menu_list {
    grid-template-columns: repeat(1, 1fr);
  }
}

/*--------------------------------------------------------------------------------
  .p-faq
--------------------------------------------------------------------------------*/
.p-faq {
  display: flex;
  flex-direction: column;
}
.p-faq_item {
  display: flex;
  flex-direction: column;
}
.p-faq_inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-column-gap: 0.75rem;
}
.p-faq_q {
  font-weight: bold;
  font-size: 1.1em;
  line-height: var(--lineh-s);
}
.p-faq_inner:before {
  content: "";
  width: 1em;
  font-family: var(--ff-en);
  font-weight: 500;
  font-size: 1.75rem;
  line-height: 1;
  margin-top: -0.25rem;
}
.p-faq_q .p-faq_inner:before {
  content: "Q";
  color: var(--red);
}

/* list
----------------------------------------*/
.p-faq.-list { row-gap: 0.75rem; }
.p-faq.-list .p-faq_item {
  background-color: #FFF;
  border-radius: 0.75rem;
}
.p-faq.-list .p-faq_q {
  padding: var(--box-space) var(--box-space-s) var(--box-space-s) var(--box-space-s);
}
.p-faq.-list .p-faq_a {
  padding: 0 var(--box-space-s) var(--box-space-m) var(--box-space-s);
}

/* accordion
----------------------------------------*/
.p-faq.-acod .p-faq_item { border-bottom: 1px solid rgba(var(--gold-rgba), 0.3); }
.p-faq.-acod .p-faq_q  {
  padding: var(--box-space) var(--box-space-s);
  cursor: pointer;
}
.p-faq.-acod .p-faq_q .p-faq_inner:after {
  content: "";
  justify-self: end;
  width: 1rem;
  height: 1rem;
  margin-top: 0.25rem;
  background: currentColor;
  color: var(--red);
  mask-image: var(--icon-plus);
  mask-repeat: no-repeat;
  transition: all 0.15s ease-out;
}
.p-faq.-acod .p-faq_a {
  padding: 0 var(--box-space-s) calc(var(--box-space) + 0.5rem) var(--box-space-s);
  display: none;
  opacity: 0;
}
.p-faq.-acod .p-faq_q,
.p-faq.-acod .p-faq_a { transition: opacity 0.15s ease-out, background 0.15s ease-out; }

/* open */
.p-faq.-acod .p-faq_q.is-active,
.p-faq.-acod .p-faq_q.is-active + .p-faq_a { background: #FFF; }
.p-faq.-acod .p-faq_q.is-active .p-faq_inner:after { transform: rotate(45deg); }
.p-faq.-acod .p-faq_q.is-active + .p-faq_a { opacity: 1; }

/*--------------------------------------------------------------------------------
  .p-contact-box
--------------------------------------------------------------------------------*/
.p-contact-box {
  text-align: center;
  background-color: #FFF;
  border-radius: 1rem;
  padding: var(--box-space-l);
}
.p-contact-box_txt {
  padding: 0.5rem 0;
}
.p-contact-box_tel {
  padding: var(--space-2s) 0;
}
.p-contact-box_tel .p-tel {
  justify-content: center;
}
.p-contact-box_btn {
  padding-top: 0.5rem;
  max-width: 820px;
  margin: 0 auto;
  list-style: none;
  display: flex;
  justify-content: center;
  gap: var(--space-3s);
}
.p-contact-box_btn-item,
.p-contact-box_btn-item a {
  width: 100%;
}
@media (max-width: 760px) {
  .p-contact-box_btn {
    flex-wrap: wrap;
  }
}

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

  article

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .p-archive
--------------------------------------------------------------------------------*/
@media (min-width: 961px) {
  :root { --archive-break-point: 1200; }
}
@media (max-width: 960px) {
  :root { --archive-break-point: 640; }
}
.p-archive {
  list-style: none;
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
}
.p-archive a,
.p-archive a:visited,
.p-archive a:hover {
  color: inherit;
  text-decoration: none;
}
.p-archive_item {
  background-color: #FFF;
  border-radius: 0.75rem;
  line-height: var(--lineh-s);
}
.p-archive_item-in {
  display: flex;
  padding: var(--box-space-s);
  column-gap: var(--box-space-s);
  align-items: center;
  position: relative;
}
a.p-archive_item-in.-arrow:before {
  flex-shrink: 0;
  content: "";
  width: clamp(1rem, calc(26 / var(--archive-break-point) * 100vw), 26px);
  height: clamp(1rem, calc(26 / var(--archive-break-point) * 100vw), 26px);
  order: 999;
  margin-left: auto;
  background: currentColor;
  color: var(--red);
  mask-image: var(--icon-arrowY1);
  mask-repeat: no-repeat;
}
.p-archive_img {
  width: clamp(60px, (140 / var(--archive-break-point) * 100vw), 140px);
  flex-shrink: 0;
}
.p-archive_img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.5rem;
}
.p-archive_txt {
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
}
.p-archive_date {
  font-size: var(--fs-2s);
  color: var(--gold);
}

/*--------------------------------------------------------------------------------
  .p-pager
--------------------------------------------------------------------------------*/
.p-pager {
  padding-top: var(--space-m);
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  line-height: 1;
  column-gap: 0.5rem;
}
.p-pager_page {
  display: block;
  padding: 0.5rem;
  text-decoration: none;
}
.p-pager_extend {
  display: block;
  padding: 0.5rem 0.25rem;
}
.p-pager_page.-active { color: var(--red); }
.p-pager_first,
.p-pager_last { font-size: var(--fs-3l); padding: 0.5rem 0; }
.p-pager_first { padding-right: 1rem; }
.p-pager_last { padding-left: 1rem; }

/*--------------------------------------------------------------------------------
  .p-pager02
--------------------------------------------------------------------------------*/
.p-pager02 {
  padding-top: var(--space-2l);
  list-style: none;
  display: grid;
  justify-content: space-between;
  align-items: center;
  grid-row-gap: var(--space-s);
  grid-template-columns: auto 1fr auto;
  grid-template-areas:
    "pager02-prev pager02-all pager02-next";
}
.p-pager02_item.-all {
  grid-area: pager02-all;
  text-align: center;
}
.p-pager02_item.-prev {
  grid-area: pager02-prev;
}
.p-pager02_item.-next {
  grid-area: pager02-next;
}
.p-pager02_btn {
  width: 80%;
  max-width: 260px;
}
@media (max-width:960px) {
  .p-pager02 {
    grid-template-columns: 1fr;
    grid-template-areas:
      "pager02-all pager02-all"
      "pager02-prev pager02-next";
  }
}

/*--------------------------------------------------------------------------------
  .p-article
--------------------------------------------------------------------------------*/
/* .p-article-hd
----------------------------------------*/
.p-article-hd {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(var(--gold-rgba), 0.3);
}
.p-article-hd_date {
  font-size: var(--fs-2s);
  color: var(--gold);
}
.p-article-hd_ttl {
  font-weight: bold;
  font-size: var(--fs-2l);
  line-height: var(--lineh-s);
}

/* .p-article
----------------------------------------*/
.p-article {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-l);
  padding-top: var(--space-m);
}
.p-article_item:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.p-article_item ul,
.p-article_item ol {
  margin-left:1.15rem;
}

/* .p-article_img
----------------------------------------*/
.p-article_img {
  padding-bottom: 1.5rem;
}
.p-article_img.-center {
  text-align: center;
  padding-bottom: var(--space-s);
}
.p-article_txt + .p-article_img.-center {
  padding-top: var(--space-m);
  padding-bottom: 0;
}
.p-article_img img {
  max-width: inherit;
  width: 100%;
}
@media (min-width:961px) {
  .p-article_img.-left,
  .p-article_img.-right {
    display: inline-block;
  }
  .p-article_img.-left {
    float: left;
    margin-right: var(--space-s);
  }
  .p-article_img.-right {
    float: right;
    margin-left: var(--space-s);
  }
}
@media (max-width:960px) {
  .p-article_img.-left,
  .p-article_img.-right {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center;
    padding-bottom: var(--space-s);
  }
}
/* caption */
.p-article_cp {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0.75rem;
  font-size: var(--fs-s);
  line-height: var(--lineh-s);
  text-align: left;
  color: var(--gray);
}

/* .p-article_file
----------------------------------------*/
.p-article_file-link:after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.5rem;
  margin-bottom: 0.15rem;
  background: currentColor;
  color: var(--red);
  mask-image: var(--icon-file);
  mask-repeat: no-repeat;
}
.p-article_txt + .p-article_file {
  padding-top: var(--space-s);
}

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

  form

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-txtbox
  .c-txtarea
  .c-checkbox
  .c-radio
--------------------------------------------------------------------------------*/
.c-txtbox,
.c-txtarea {
  width: 100%;
  display: inline-block;
  outline: none;
  padding: 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(var(--gold-rgba), 0.3);
  background-color: #FFF;
  transition: background-color ease-out 0.1s, border-color ease-out 0.1s;
  line-height: var(--lineh-s);
}
.c-txtarea {
  width: 100%;
  height: clamp(150px, (300 / 640 * 100vw), 300px);
  resize: vertical;
}
.c-txtbox:focus,
.c-txtarea:focus {
}
.is-err .c-txtbox,
.is-err .c-txtarea {
}
.c-checkbox-field,
.c-radio-field {
  cursor: pointer;
  position: relative;
}
.c-checkbox-field_text,
.c-radio-field_text {
  display: inline-block;
  position: relative;
  padding-left: 2rem;
}
.c-checkbox-field input,
.c-radio-field input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0, 0);
  border: 0;
}
.c-checkbox-field_text:before,
.c-radio-field_text:before,
.c-checkbox-field_text:after,
.c-radio-field_text:after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* .c-checkbox */
.c-checkbox-field_text:before {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 0.25rem;
  background-color: rgba(var(--gold-rgba), 0.3);
}
.c-checkbox-field input:checked + .c-checkbox-field_text:before {
  background-color: var(--red);
}
.c-checkbox-field_text:after {
  width: 1.25rem;
  height: 1.25rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><polygon points="25.0881481 5.0147733 12.9413981 17.1615229 4.9118515 9.1325232 1 13.0437734 9.0295471 21.0733197 12.9413981 24.9852267 16.8527026 21.0733197 29 8.9266799 25.0881481 5.0147733" fill="%23FFFFFF"/></svg>');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 70% auto;
  opacity: 0;
}
.c-checkbox-field input:checked + .c-checkbox-field_text:after { opacity: 1; }

/* .c-radio */
.c-radio-field_text:before {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 100%;
  background-color: rgba(var(--gold-rgba), 0.3);
}
.c-radio-field_text:after {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 100%;
  background-color: #FFF;
  left: 0.375rem;
}
.c-radio-field input:checked + .c-radio-field_text:before { background-color: var(--red); }

/*--------------------------------------------------------------------------------
  .c-form-label
--------------------------------------------------------------------------------*/
.c-form-label {
  display: inline-block;
  min-width: 3.5rem;
  text-align: center;
  line-height: 1;
  border-radius: 0.25rem;
  padding: 0.5em;
  font-size: var(--fs-3s);
  font-weight: normal;
  color: #FFF;
  background-color: var(--gray);
}
.c-form-label.-required {
  background-color: var(--red);
}

/*--------------------------------------------------------------------------------
  .c-form-alert
--------------------------------------------------------------------------------*/
.c-form-alert {
  text-align: left;
  line-height: var(--lineh-s);
  border: 1px solid var(--red);
  color: var(--red);
  padding: var(--box-space-2s);
}

/*--------------------------------------------------------------------------------
  .p-form
--------------------------------------------------------------------------------*/
.p-form { display: grid; }
.p-form_ttl .c-form-label { margin-top: 0.25rem; }
.p-form_ttl {
  font-weight: bold;
  display: flex;
  column-gap: 1rem;
  align-items: flex-start;
  font-size: var(--fs-m);
}
.p-form_input .err-msg {
  color: var(--red);
  display: none;
}
.p-form_input.is-err .err-msg {
  display: block;
}
@media (min-width:961px) {
  .p-form {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-column-gap: 2.5rem;
    grid-row-gap: var(--space-s);
  }
  .p-form_ttl {
    width: 30%;
    min-width: 16rem;
    justify-content: space-between;
    padding-top: 0.75rem;
  }
  .p-form_input.is-err .err-msg { padding: 0.75rem 0; }
  .p-form_input.-pdt { padding-top: 0.75rem; }
  .p-form_input.-pdt.is-err .err-msg { padding-top: 0; }
}
@media (max-width:960px) {
  .p-form {
    grid-template-columns: 1fr;
    grid-row-gap: 1.25rem;
  }
  .p-form_ttl:not(:first-of-type) {
    border-top: 1px solid rgba(var(--gold-rgba), 0.3);
    margin-top: var(--box-space-s);
    padding-top: calc(var(--box-space-s) + 1rem);
  }
  .p-form .err-msg { padding-bottom: 0.75rem; }
}
@media (max-width:640px) {
  .p-form-tbl { font-size: var(--fs-s); }
}

/*--------------------------------------------------------------------------------
  .p-form-btn
--------------------------------------------------------------------------------*/
.p-form-btn {
  padding-top: var(--space-l);
  display: flex;
  flex-direction: row-reverse;
  gap: var(--space-3s) var(--space-s);
}
.p-form-btn_item {
  width: 100%;
  text-align: center;
}
.p-form-btn_item .c-btn {
  width: 80%;
  max-width: 320px;
}
@media (min-width:801px) {
  .p-form-btn.-cols .p-form-btn_item:first-of-type { text-align: left; }
  .p-form-btn.-cols .p-form-btn_item:last-of-type { text-align: right; }
}
@media (max-width:800px) {
  .p-form-btn {
    flex-direction: column;
  }
}
