@charset "utf-8";
/*--------------------------------------------------------------------------------

  container

--------------------------------------------------------------------------------*/
.c-container {
  width: calc(var(--container-width, var(--base-width)) * 1px);
  max-width: calc(100% - (var(--container-side-space, var(--side-space)) * 2));
  margin-inline: auto;
}

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

  breadcrumb

--------------------------------------------------------------------------------*/
.c-breadcrumb {
  padding-left: var(--side-space);
  padding-right: var(--side-space);
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.5rem;
  line-height: var(--line-height-2s);
  font-size: var(--fs-3s);
}
.c-breadcrumb li { position: relative; }
.c-breadcrumb li:not(:first-child):before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 0.35rem;
  height: 0.35rem;
  border-top: 1px solid var(--color-gray);
  border-right: 1px solid var(--color-gray);
  transform: rotate(45deg);
  margin-right: 0.6rem;
}
.c-breadcrumb li:last-child {
  text-overflow: ellipsis;
  display: -webkit-box;             
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
}

/*--------------------------------------------------------------------------------
 
  title

--------------------------------------------------------------------------------*/
/* .c-ttl
----------------------------------------*/
.c-ttl { line-height: var(--line-height-s); }
.c-ttl_sub {
  color: var(--ttl-sub-color, var(--color-secondary));
  font-weight: 500;
  margin-bottom: 0.5rem;
}
.c-ttl_main {
  color: var(--ttl-main-color, var(--txt-color));
  font-family: var(--ff-go);
  font-size: var(--fs-4l);
  font-weight: 700;
}
@media (max-width: 760px) {
  .c-ttl_sub { margin-top: -1.5rem; }
}

/* .c-ttl02
----------------------------------------*/
.c-ttl02 {
  line-height: var(--line-height-m);
  background-color: var(--ttl02-bg-color, var(--color-primary-light));
  color: var(--ttl02-color, #FFF);
  font-family: var(--ff-go);
  font-size: var(--fs-2m);
  font-weight: 600;
  padding: min(0.5em, 0.5rem) min(0.75em, 0.75rem);
}
.c-ttl02:not([class*="u-mgb"]) { margin-bottom: var(--ttl02-mgb, var(--space-s)); }

/*--------------------------------------------------------------------------------
 
  table

--------------------------------------------------------------------------------*/
.c-tbl {
  width: 100%;
  border-collapse: collapse;
  line-height: var(--line-height-m);
  container-type: inline-size;
}
.c-tbl th,
.c-tbl td {
  text-align: left;
  vertical-align: top;
}
.c-tbl th {
  font-weight: bold;
  text-align: left;
  background-color: var(--bg-primary2);
}
@media not (max-width: 760px) {
  .c-tbl th,
  .c-tbl td {
    padding: clamp(1rem, 2cqi, 1.5rem);
    border: 1px solid rgba(var(--rgb-color-primary-lighter) / 0.6);
  }
}
@media (max-width: 760px) {
  .c-tbl {
    display: grid;
    border-top: 1px solid rgba(var(--rgb-color-primary-lighter) / 0.6);
  }
  .c-tbl tr {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
  }
  .c-tbl th {
    padding: 0.5rem 0.75rem;
  }
  .c-tbl td {
    padding: var(--space-s) 0.75rem;
    border-bottom: 1px solid rgba(var(--rgb-color-primary-lighter) / 0.6);
  }
}

/*--------------------------------------------------------------------------------
 
  flow

--------------------------------------------------------------------------------*/
.c-flow {
  --no-width: 1.75em;
  --no-border: 4px;
  --pd: min(4cqw, 1em);
  --rgap: 0.75rem;
  --cgap: min(4cqw, 1.5em);
  display: flex;
  flex-direction: column;
  row-gap: var(--rgap);
  line-height: var(--line-height-s);
  line-height: var(--line-height-s);
  container-type: inline-size;
}
.c-flow_item {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: var(--cgap);
  background-color: #FFF;
  border-radius: 0.4rem;
  padding: var(--pd) var(--cgap);
}
.c-flow_txt {
  align-self: center;
  font-family: var(--ff-go);
  font-size: var(--fs-m);
  font-weight: 500;
}
.c-flow_step {
  display: flex;
  align-items: center;
  column-gap: var(--cgap);
  position: relative;
}
.c-flow_step:after {
  content: "";
  width: 1px;
  height: calc(100% + (var(--pd) * 2) + var(--rgap));
  position: absolute;
  right: calc((var(--no-width) / 2) + var(--no-border) + 1px);
  top: calc(-1 * var(--pd));
  background-image: linear-gradient(to bottom, var(--color-secondary-lighter) 50%, rgba(255,255,255,0) 0%);
  background-position: left;
  background-size: 2px 3px;
  background-repeat: repeat-y;
}
.c-flow_item:last-child .c-flow_step:after { height: calc(100% - var(--pd)); }
.c-flow_item:first-child .c-flow_step:after { top: var(--pd); height: calc(100% + var(--pd)); }
.c-flow_step:before {
  content: "STEP";
  color: var(--color-secondary-light);
  font-weight: bold;
}
.c-flow_step-no {
  flex-shrink: 0;
  font-size: var(--fs-m);
  font-weight: 600;
  border-radius: 100%;
  line-height: 1;
  width: var(--no-width);
  text-align: center;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-secondary-light);
  color: #FFF;
  border: var(--no-border) solid var(--bg-primary2);
  box-sizing: content-box;
  position: relative;
  z-index: 2;
}

/*--------------------------------------------------------------------------------
 
  contact

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-contact-box
--------------------------------------------------------------------------------*/
.c-contact-box {
  border: 2px solid var(--color-primary-light);
  border-radius: 0.6rem;
  line-height: var(--line-height-m);
}
@media not (max-width: 760px) {
  .c-contact-box {
    padding: 0 var(--inner-space-m);
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: var(--inner-space-m);
  }
  .c-contact-box_content {
    margin-top: var(--inner-space-s);
    margin-bottom: var(--inner-space-s);
    border-left: 1px solid rgba(var(--rgb-color-primary-light) / 0.25);
    padding-left: var(--inner-space-m);
  }
}
@media (max-width: 760px) {
  .c-contact-box {
    padding: var(--inner-space-m);
  }
  .c-contact-box_content {
    padding-top: 0.5rem;
  }
}
.c-contact-box_hd {
  font-family: var(--ff-go);
  font-weight: 600;
  color: var(--color-primary);
  font-size: var(--fs-m);
}
.c-contact-box_txt {
  font-family: var(--ff-go);
  font-weight: 600;
  font-size: var(--fs-m);
  line-height: var(--line-height-s);
  padding-bottom: 0.5em;
}
.c-contact-box_txt-sub {
  font-size: var(--fs-3s);
  font-weight: normal;
  display: inline-block;
  margin-right: 1rem;
}
.c-contact-box_link {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0.5rem 1.25rem;
  margin-top: 0.5rem;
}
.c-contact-box_tel {
  --icon-color: var(--color-primary);
  --tel-color: var(--color-primary);
  --link-tel-color: var(--color-primary);
  --link-tel-deco: none;
  color: var(--color-primary);
  font-size: var(--fs-3l);
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  column-gap: 0.25rem;
}
.c-contact-box_hours {
  color: var(--color-primary);
  line-height: var(--line-height-s);
  display: inline-flex;
  column-gap: 0.75rem;
  font-size: var(--fs-s);
}

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

  faq

--------------------------------------------------------------------------------*/
.c-faq {
  --list-rgap: 0.25rem;
  margin-top: var(--space-m);
  display: flex;
  flex-direction: column;
}
.c-faq_item {
  border-top: 1px solid var(--border-color);
  transition: var(--hover-trans);
  container-type: inline-size;
  font-size: min(4cqw, var(--fs-n));
}
.c-faq_item:last-of-type {
  border-bottom: 1px solid var(--border-color);
}
.c-faq_item:has(.is-active) + .c-faq_item {
  border-top-color: transparent;
}
.c-faq_item:last-of-type:has(.is-active) {
  border-bottom-color: transparent;
}
.c-faq_txt {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: min(3.5cqw, 1em);
}
.c-faq_q .c-faq_txt:before {
  content: "Q";
  background-color: var(--color-primary-light);
  color: #FFF;
}
.c-faq_a .c-faq_txt:before {
  content: "A";
  background-color: #FFF;
  color: var(--color-primary-light);
}
.c-faq_txt:before {
  align-self: start;
  font-size: var(--fs-m);
  font-weight: 600;
  border-radius: 100%;
  line-height: 1;
  width: 1.5em;
  text-align: center;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-faq_q {
  font-weight: bold;
  display: flex;
  align-items: center;
  column-gap: var(--inner-space-s);
  padding: max(1.25em, 2cqi) min(3cqw, 1em);
  line-height: var(--line-height-m);
}
.c-faq_a {
  align-self: center;
  background-color: var(--bg-gray);
  padding: max(1.25em, 2.5cqi) min(3cqw, 1em);
}
.c-faq_a .c-faq_txt {
  padding-right: 0.5em;
}
.c-faq_icon {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  position: relative;
  margin-left: auto;
}
.c-faq_icon:before,
.c-faq_icon:after {
  content: "";
  display: inline-block;
  --width: 100%;
  --height: 2px;
  width: var(--width);
  height: var(--height);
  background: var(--color-primary);
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: calc(-1 * var(--height) / 2);
}
.c-faq_icon:after {
  transition: transform 0.5s var(--cubic-bezier);
  transform-origin: center center;
  transform: rotate(90deg) scale(1,1);
}
.c-faq_item:has(.is-active) .c-faq_q .c-faq_icon:after {
  transform: rotate(90deg) scale(0,1);
}

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

  mask

--------------------------------------------------------------------------------*/
:root {
  --mask_oval: url("../img/mask_oval.svg");
  --mask_oval-line: url("../img/mask_oval-line.svg");
}

/*--------------------------------------------------------------------------------
 
  icon

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  SVG 
--------------------------------------------------------------------------------*/
:root {
  --icon-tel: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21.7421184,19.6509871l-2.8724265-3.6450161c-.4170394-.5291111-1.1945466-.6290012-1.7371311-.2231774l-1.6919053,1.2696337c-.4939426.3703583-1.1946528.3236912-1.6341745-.1084207,0,0-1.3095908-1.1050019-3.3475782-3.6906138-2.037982-2.5856523-2.7961358-4.1046437-2.7961358-4.1046437-.3150653-.5253549-.1807125-1.1966623.3133312-1.5681021l1.6916851-1.2679785c.5426561-.4063618.6436336-1.1653869.22552-1.6951833L7.0208879.9730184c-.4175194-.5297202-1.194475-.6295393-1.7370885-.2231719-.0124721.0094262-.2013018.1509734-2.2489394,1.6867769-2.385097,1.7878619-.4319999,8.4555876,3.6552965,13.6425763,4.0880765,5.1859945,10.193105,8.7405621,12.5775798,6.9531678,2.0475901-1.5357679,2.2364541-1.6779001,2.2489998-1.6872318.5424991-.4058347.6434821-1.1649012.2253823-1.6941486Z"/></svg>');
  --icon-check: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><polyline points="9 11 12 14 22 4" fill="none" stroke="%231279EC" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="M21,12v7c0,1.1-.9,2-2,2H5c-1.1,0-2-.9-2-2V5c0-1.1.9-2,2-2h11" fill="none" stroke="%23BAC3CD" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></svg>');
  
  /* stroke 2.5px */
  --icon-arrow: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2,12h18.6M13.7,3.7l8.3,8.3-8.3,8.3"/></svg>');
  --icon-arrow-chevron: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M8,21l9-9L8,3"/></svg>');
  --icon-file: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V9l-7-7z"/><path d="M13 3v6h6"/></svg>');
  --icon-newwin: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M19,14v5c0,1.1-.9,2-2,2H5c-1.1,0-2-.9-2-2V7c0-1.1.9-2,2-2h5M15,3h6v6M11,13L20.2,3.8"/></svg>');
  
  /* stroke 1.5px */
  --icon-light-file: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V9l-7-7z"/><path d="M13 3v6h6"/></svg>');
  --icon-light-pdf: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13,2h-7c-1.1045694,0-2,.8954306-2,2v16c0,1.1000004.9000001,2,2,2h12c1.1045704,0,2-.8954296,2-2v-11l-7-7Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/><path d="M13,3v6h6" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/><path d="M8.5598929,19.4617443c-.197336-.0719193-.356151-.2127518-.4421304-.3920639-.1968386-.3621933-.131226-.7243851.0807543-1.0287019.1998671-.2865799.5309597-.5302201.905458-.7346528.4744362-.2486763.9758563-.4504868,1.4959745-.6020989.4032613-.6718941.7612813-1.3661729,1.0720147-2.0788728-.1851807-.3895386-.330501-.7942605-.4340543-1.2088639-.0868105-.373394-.1201221-.7430543-.0464334-1.0604401.0757067-.3304543.2765839-.6273026.6561291-.7682587.19381-.0718788.4037716-.1120178.6076761-.0718788.2077105.0408913.3845199.1660065.4814978.3407219.0888301.1530914.1211315.3323212.1281971.5022156.0070656.1754952-.0121132.3696602-.0474427.5731598-.0847918.4760773-.2725464,1.0585732-.5249031,1.6746736.27871.5506676.6097582,1.077356.98924,1.5738565.4493054-.0324219.9011574-.0167595,1.3465783.0466744.3674327.0616104.7409217.1820297.9690526.4340706.1211315.1344223.1948194.2987152.2018858.483545.0070656.1792298-.0474427.3565918-.1393009.5255524-.0795695.156575-.2029376.2906433-.3573382.3883301-.1527359.0918305-.3328402.1368973-.5148094.1288208-.3341211-.0130692-.6601673-.1829636-.9417973-.3892639-.3425325-.2617737-.6511191-.5593605-.9195904-.8868111-.6825841.0718727-1.3570853.1986855-2.0158307.3789955-.3016139.4947205-.6459384.9661073-1.029618,1.4095643-.2947534.3267197-.6147429.6123673-.9357411.7346528-.1846004.0765213-.3935349.0861816-.5854692.0270706M9.9518963,17.6871866c-.1682382.0715668-.3226808.1456238-.4633284.2221695-.331093.1810959-.546101.3575257-.6531005.5106171-.0948863.1353562-.0969054.233371-.0403772.3369889.010767.0199142.0195157.033606.0262452.0410736l.0353299-.0112015c.138292-.0522751.3583476-.2193695.6409881-.5339539.1609547-.1818497.3125375-.3706238.4542433-.5656922M11.6073603,16.4456498c.3371388-.0724648.6772465-.1325661,1.0195235-.1801628-.1835401-.2602585-.3552923-.5274659-.5148094-.8009308-.1584213.3309662-.3267239.6578118-.5047149.9801598l.0000008.0009338ZM14.0764257,16.8657182c.1520871.1524689.2984544.2800461.4391019.3827286.242263.1773613.4108372.2361717.5026962.2389717.0246142.0035553.0497827-.0014313.0706598-.014003.0422285-.030452.0749705-.0707169.0948863-.1166855.0357421-.0569199.0561674-.1209511.059556-.1866966-.0010318-.0218399-.0103196-.0426529-.0262452-.0588097-.0524904-.0578766-.2018858-.14189-.5228843-.1950981-.2042482-.0311111-.4107803-.0476517-.6177714-.0494751,0,0,0-.0009331.0000008-.0009323ZM12.0676598,13.5929198c.0841998-.2536133.15162-.5117333.2018858-.7729264.0309556-.1754952.0437417-.3201859.0383584-.4340706.0005239-.0628494-.0103957-.1253327-.0323014-.1848305-.0505462.0055496-.0998939.0181389-.1463681.037339-.0878199.0326721-.1594899.0989494-.1978483.2641762-.0403772.179229-.0302835.4378044.0464334.7673249.0242257.1039276.0545083.2115898.090848.3229859,0,0-.0010086,0-.0010078.0000015Z" fill="currentColor"/></svg>');
}

/*--------------------------------------------------------------------------------
  .c-icon
--------------------------------------------------------------------------------*/
:root {
  --default-icon-size: 1rem;
  --default-icon-mask-size: contain;
  --default-icon-color: var(--txt-color);
  --default-icon-color-hover: var(--color-primary);
}
.c-icon.-tel { --icon-img: var(--icon-tel); --icon-size: 0.8em; }
.c-icon.-arrow { --icon-img: var(--icon-arrow); }
.c-icon.-arrow-chevron { --icon-img: var(--icon-arrow-chevron); }
.c-icon.-file { --icon-img: var(--icon-file); }
.c-icon.-newwin { --icon-img: var(--icon-newwin); }
.c-icon {
  --link-color: var(--icon-color, var(--default-icon-color));
  --link-color-hover: var(--icon-color-hover, var(--default-icon-color-hover));
  --link-deco: none;
  --link-deco-hover: none;
  display: inline-block;
  line-height: 1;
  width: var(--icon-size, var(--default-icon-size));
  height: var(--icon-size, var(--default-icon-size));
  background: currentColor;
  color: var(--icon-color, var(--default-icon-color));
  mask-image: var(--icon-img);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: var(--icon-mask-size, var(--default-icon-mask-size));
  transition: var(--hover-trans);
}
@media (hover: hover) {
  .c-icon:hover,
  a:hover .c-icon {
    color: var(--icon-color-hover, var(--default-icon-color-hover));
  }
}

/*--------------------------------------------------------------------------------
  .c-arrow
--------------------------------------------------------------------------------*/
:root {
  --default-arrow-size: 1rem;
  --default-arrow-icon: var(--icon-arrow);
  --default-arrow-icon-mask-size: contain;
  --default-arrow-color: var(--txt-color);
  --default-arrow-color-hover: var(--color-primary);
}
.c-arrow {
  --link-deco: none;
  --link-deco-hover: none;
  display: inline-block;
  line-height: 1;
  width: var(--arrow-size, var(--default-arrow-size));
  height: var(--arrow-size, var(--default-arrow-size));
  color: var(--arrow-color, var(--default-arrow-color));
  position: relative;
  overflow: hidden;
}
.c-arrow:before,
.c-arrow:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background: currentColor;
  color: currentColor;
  mask-image: var(--arrow-icon, var(--default-arrow-icon));
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: var(--arrow-icon-mask-size, var(--default-arrow-icon-mask-size));
  animation-fill-mode: forwards;
}
.c-arrow:after { transform: translateX(-100%); }
@media (hover: hover) {
  .c-arrow:before { animation-duration: 0.2s; }
  .c-arrow:after, a .c-arrow:after { animation-duration: 0.3s; }
  .c-arrow:hover:before, a:hover .c-arrow:before {
    animation-name: arrow_before;
    animation-delay: 0s;
  }
  .c-arrow:hover:after, a:hover .c-arrow:after {
    animation-name: arrow_after;
    animation-delay: 0.2s;
  }
  .c-arrow:hover,
  a:hover .c-arrow {
    color: var(--arrow-color-hover, var(--default-arrow-color-hover));
  }
}
@keyframes arrow_before {
  0% { transform: translateX(0); opacity: 1; }
  100% { transform: translateX(100%); opacity: 0; }
}
@keyframes arrow_after {
  0% { transform: translateX(-100%); opacity: 0; }
  100% { transform: translateX(0); opacity: 1; }
}

/*--------------------------------------------------------------------------------
 
  button

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-ibtn
--------------------------------------------------------------------------------*/
:root {
  --default-ibtn-size: 2.4rem;
  --default-ibtn-icon-size: 100%;
  --default-ibtn-icon-mask-size: 38%;
  --default-ibtn-outline: none;
  --default-ibtn-outline-hover: none;
  --default-ibtn-bg: var(--color-primary);
  --default-ibtn-bg-hover: var(--color-primary-light);
  --default-ibtn-color: #FFF;
  --default-ibtn-color-hover: #FFF;
  --default-ibtn-scale-hover: scale(1.2);
}
.c-ibtn.-outline {
  --default-ibtn-outline: 1px solid var(--color-primary);
  --default-ibtn-outline-hover: 1px solid var(--color-primary);
  --default-ibtn-bg: transparent;
  --default-ibtn-bg-hover: var(--color-primary);
  --default-ibtn-color: var(--color-primary);
  --default-ibtn-color-hover: #FFF;
}
.c-ibtn.-white {
  --default-ibtn-outline: none;
  --default-ibtn-outline-hover: none;
  --default-ibtn-bg: #FFF;
  --default-ibtn-bg-hover: var(--color-primary);
  --default-ibtn-color: var(--color-primary);
  --default-ibtn-color-hover: #FFF;
}
.c-ibtn.-gray {
  --default-ibtn-outline: none;
  --default-ibtn-outline-hover: none;
  --default-ibtn-bg: var(--color-gray-light);
  --default-ibtn-bg-hover: var(--color-primary);
  --default-ibtn-color: #FFF;
  --default-ibtn-color-hover: #FFF;
}
.c-ibtn {
  --link-deco: none;
  --link-deco-hover: none;
  cursor: pointer;
  width: var(--ibtn-size, var(--default-ibtn-size));
  height: var(--ibtn-size, var(--default-ibtn-size));
  position: relative;
  line-height: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.c-ibtn:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border: var(--ibtn-outline, var(--default-ibtn-outline));
  background-color: var(--ibtn-bg, var(--default-ibtn-bg));
  border-radius: 50%;
  transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out, background 0.2s ease-in-out, border 0.15s ease-in-out, fill 0.2s ease-in-out, filter 0.2s ease-in-out, transform 0.4s var(--cubic-bezier);
}
@media (hover: hover) {
  .c-ibtn:hover:before,
  a:hover .c-ibtn:before {
    border: var(--ibtn-outline-btn-hover, var(--default-ibtn-outline-btn-hover));
    background-color: var(--ibtn-bg-hover, var(--default-ibtn-bg-hover));
    transform: var(--ibtn-scale-hover, var(--default-ibtn-scale-hover));
  }
}

/* .c-ibtn_icon
----------------------------------------*/
.c-ibtn_icon {
  --arrow-size: var(--ibtn-icon-size, var(--default-ibtn-icon-size));
  --arrow-icon-mask-size: var(--ibtn-icon-mask-size, var(--default-ibtn-icon-mask-size));
  --arrow-color: var(--ibtn-color, var(--default-ibtn-color));
  --arrow-color-hover: var(--ibtn-color-hover, var(--default-ibtn-color-hover));
  --icon-size: 100%;
  --icon-mask-size: var(--ibtn-icon-mask-size, var(--default-ibtn-icon-mask-size));
  --icon-color: var(--ibtn-color, var(--default-ibtn-color));
  display: block;
}
@media (hover: hover) {
  .c-ibtn:hover .c-ibtn_icon,
  a:hover .c-ibtn_icon {
    color: var(--ibtn-color-hover, var(--default-ibtn-color-hover));
  }
}

/*--------------------------------------------------------------------------------
  .c-btn
--------------------------------------------------------------------------------*/
@media not (max-width: 760px) { :root { --default-btn-pd: min(0.8em, 1rem); } }
@media (max-width: 760px) { :root { --default-btn-pd: min(0.9em, 1.1rem); } }
:root {
  --default-btn-fs: 1rem;
  --default-btn-ff: var(--ff-go);
  --default-btn-fw: 500;
  --default-btn-txt: #FFF;
  --default-btn-txt-hover: #FFF;
  --default-btn-txt-pd-side: min(1.5em, 1.5rem);
  --default-btn-cgap: 1rem;
  --default-btn-pd-side: min(1.25em, 1.25rem);
  /*--default-btn-width: ;*/
  /*--default-btn-width-min: ;*/
  --default-btn-radius: 0.4rem;
  --default-btn-bg: var(--color-primary);
  --default-btn-bg-hover: var(--color-primary-light);
  --default-btn-outline: transparent;
  --default-btn-outline-hover: transparent;
  --default-btn-arrow-size: min(0.8em, 0.8rem);
}
.c-btn.-tertiary {
  --default-btn-txt: var(--txt-color);
  --default-btn-txt-hover: var(--txt-color);
  --default-btn-bg: var(--color-tertiary);
  --default-btn-bg-hover: var(--color-tertiary-light);
}
.c-btn {
  --link-deco: none;
  --link-deco-hover: none;
  --arrow-size: var(--btn-arrow-size, var(--default-btn-arrow-size));
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  border: none;
  margin: 0;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  line-height: var(--btn-line-height, var(--line-height-s));
  display: inline-flex;
  vertical-align: top;
  justify-content: center;
  align-items: center;
  column-gap: var(--btn-cgap, var(--default-btn-cgap));
  transition: var(--hover-trans);
  width: var(--btn-width, var(--default-btn-width));
  min-width: var(--btn-width-min, var(--default-btn-width-min));
  padding: var(--btn-pd, var(--default-btn-pd)) var(--btn-pd-side, var(--default-btn-pd-side));
  border-radius: var(--btn-radius, var(--default-btn-radius));
  border: var(--btn-outline, var(--default-btn-outline));
  background-color: var(--btn-bg, var(--default-btn-bg));
  color: var(--btn-txt, var(--default-btn-txt));
}
.c-btn:not([class*="u-fs"]) { font-size: var(--btn-fs, var(--default-btn-fs)); }
.c-btn:not([class*="u-fw"]) { font-weight: var(--btn-txt-fw, var(--default-btn-fw)); }
.c-btn:not([class*="u-ff"]) { font-family: var(--btn-txt-ff, var(--default-btn-ff)); }
.c-btn, .c-btn:hover { color: var(--btn-txt, var(--default-btn-txt)); text-decoration: none; }
@media (hover: hover) {
  .c-btn:hover {
    background-color: var(--btn-bg-hover, var(--default-btn-bg-hover));
    border: var(--btn-outline-hover, var(--default-btn-outline-hover));
    color: var(--btn-txt-hover, var(--default-btn-txt-hover));
  }
}

/* .c-btn_txt
----------------------------------------*/
.c-btn_txt {
  flex-shrink: var(--btn-txt-shrink, 1);
  flex-grow: 2;
  text-align: center;
  padding: 0 var(--btn-txt-pd-side, var(--default-btn-txt-pd-side));
}
.c-btn_txt.-left {
  padding-left: 0;
  padding-right: calc(var(--btn-txt-pd-side, var(--default-btn-txt-pd-side)) * 2);
  text-align: left;
}

/* .c-btn_icon
----------------------------------------*/
.c-btn_icon {
  color: var(--btn-txt, var(--default-btn-txt));
}
.c-btn_txt + .c-btn_icon {
  flex-shrink: 0;
  margin-left: auto;
}
@media (hover: hover) {
  .c-btn:hover .c-btn_icon {
    color: var(--btn-txt-hover, var(--default-btn-txt-hover));
  }
}

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

  file link

--------------------------------------------------------------------------------*/
:root {
  --default-file-color: var(--color-primary);
  --default-file-color-hover: var(--color-primary-light);
  --default-file-deco: underline;
  --default-file-deco-hover: none;
  --default-file-icon: var(--icon-light-file);
  --default-file-icon-size: min(1.5em, 1.5rem);
  --default-file-icon-mask-size: contain;
  --default-file-icon-color: var(--color-primary);
  --default-file-icon-color-hover: var(--color-primary);
}
.c-file-link {
  --link-color: var(--file-color, var(--default-file-color));
  --link-color-hover: var(--file-color-hover, var(--default-file-color-hover));
  --link-deco: var(--file-deco, var(--default-file-deco));
  --link-deco-hover: var(--file-deco-hover, var(--default-file-deco-hover));
  display: inline-flex;
  column-gap: 0.5rem;
  line-height: var(--line-height-m);
}
.c-file-link_icon {
  flex-shrink: 0;
  margin-top: 0.1em;
  width: var(--file-icon-size, var(--default-file-icon-size));
  height: var(--file-icon-size, var(--default-file-icon-size));
  background: currentColor;
  color: var(--file-icon-color, var(--default-file-icon-color));
  mask-image: var(--file-icon, var(--default-file-icon));
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: var(--file-icon-mask-size, var(--default-file-icon-mask-size));
  transition: var(--hover-trans);
}
.c-file-link_icon.-pdf {
  --file-icon: var(--icon-light-pdf);
  --file-icon-color: var(--color-red);
  --file-icon-color-hover: var(--color-red);
}
.c-file-link_txt {
  align-self: center;
}
@media (hover: hover) {
  .c-file-link:hover .c-file-link_icon,
  a:hover .c-file-link_icon {
    color: var(--file-icon-color-hover, var(--default-file-icon-color-hover));
  }
}

/* .c-file-link.-btn
----------------------------------------*/
.c-file-link.-btn {
  --file-color: var(--txt-color);
  --file-color-hover: var(--color-primary);
  --file-deco: none;
  --file-deco-hover: none;
  font-size: var(--fs-s);
  padding: 0.8em 1em 0.8em 0.8em;
  background: var(--bg-gray);
  border-radius: 0.4rem;
}

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

  pager

--------------------------------------------------------------------------------*/
:root {
  /*--default-pager-fs: ;*/
  /*--default-pager-ff: ;*/
  /*--default-pager-fw: ;*/
  --default-pager-color: var(--txt-color);
  --default-pager-color-hover: var(--color-primary);
  --default-pager-btn-bg: transparent;
  --default-pager-btn-bg-hover: var(--color-primary);
  --default-pager-btn-outline: 1px solid var(--color-primary);
  --default-pager-btn-outline-hover: 1px solid var(--color-primary);
  --default-pager-btn-color: var(--txt-color);
  --default-pager-btn-color-hover: var(--color-primary);
  --default-pager-btn-scale-hover: scale(1.2);
  --default-pager-icon-size: 100%;
  --default-pager-icon-mask-size: 38%;
  --default-pager-icon-color: var(--color-primary);
  --default-pager-icon-color-hover: #FFF;
}
.c-pager {
  --link-deco: none;
  --link-deco-hover: none;
  display: inline-flex;
  align-items: center;
  column-gap: 1.25rem;
  line-height: var(--line-height-s);
  color: var(--pager-color, var(--default-pager-color));
}
.c-pager:not([class*="u-fs"]) { font-size: var(--pager-fs, var(--default-pager-fs)); }
.c-pager:not([class*="u-fw"]) { font-weight: var(--pager-txt-fw, var(--default-pager-fw)); }
.c-pager:not([class*="u-ff"]) { font-family: var(--pager-txt-ff, var(--default-pager-ff)); }
@media (hover: hover) {
  .c-pager:hover,
  a:hover .c-pager {
    color: var(--pager-color-hover, var(--default-pager-color-hover));
  }
}

/* .c-pager_btn
----------------------------------------*/
.c-pager_btn {
  flex-shrink: 0;
  width: 2.8rem;
  height: 2.8rem;
  position: relative;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-pager_btn:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border: var(--pager-btn-outline, var(--default-pager-btn-outline));
  background-color: var(--pager-btn-bg, var(--default-pager-btn-bg));
  border-radius: 50%;
  transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out, background 0.2s ease-in-out, border 0.15s ease-in-out, fill 0.2s ease-in-out, filter 0.2s ease-in-out, transform 0.4s var(--cubic-bezier);
}
@media (hover: hover) {
  .c-pager:hover .c-pager_btn:before,
  a:hover .c-pager_btn:before {
    border: var(--pager-btn-outline-hover, var(--default-pager-btn-outline-hover));
    background-color: var(--pager-btn-bg-hover, var(--default-pager-btn-bg-hover));
    transform: var(--pager-btn-scale-hover, var(--default-pager-btn-scale-hover));
  }
}

/* .c-pager_icon
----------------------------------------*/
.c-pager_icon {
  --arrow-size: var(--pager-icon-size, var(--default-pager-icon-size));
  --arrow-icon-mask-size: var(--pager-icon-mask-size, var(--default-pager-icon-mask-size));
  --arrow-color: var(--pager-icon-color, var(--default-pager-icon-color));
  --arrow-color-hover: var(--pager-icon-color-hover, var(--default-pager-icon-color-hover));
  --icon-size: 100%;
  --icon-mask-size: var(--pager-icon-mask-size, var(--default-pager-icon-mask-size));
  --icon-color: var(--pager-icon-color, var(--default-pager-icon-color));
  width: var(--pager-icon-size, var(--default-pager-icon-size));
  height: var(--pager-icon-size, var(--default-pager-icon-size));
  display: block;
}
@media (hover: hover) {
  .c-pager:hover .c-pager_icon,
  a:hover .c-pager_icon {
    color: var(--pager-icon-color-hover, var(--default-pager-icon-color-hover));
  }
}

/*--------------------------------------------------------------------------------
 
  text animation

--------------------------------------------------------------------------------*/
.c-text-animation {
  opacity: 0;
  overflow: hidden;
  display: inline-flex;
}
.c-text-animation:not(.-no-wrap) { flex-wrap: wrap; }
.c-text-animation.is-active { opacity: 1; }
.c-text-animation_item {
  flex-shrink: 0;
  opacity: 0;
  transform: translateY(50%);
  min-width: 0.25em;  /* 半角スペース用 */
}

/* up(default)
----------------------------------------*/
.c-text-animation.is-active .c-text-animation_item {
  animation: text-animation 1s forwards var(--cubic-bezier);
}
@keyframes text-animation {
  from { opacity: 0; transform: translateY(50%); }
  to { opacity: 1; transform: translateY(0); }
}

/* right
----------------------------------------*/
.c-text-animation.-right.is-active .c-text-animation_item {
  animation: text-animation-right 1.2s forwards var(--cubic-bezier);
}
@keyframes text-animation-right {
  from { opacity: 0; transform: translateX(100%); }
  to { opacity: 1; transform: translateX(0); }
}

/*--------------------------------------------------------------------------------
 
  marker

--------------------------------------------------------------------------------*/
.c-marker {
  background: linear-gradient(var(--color-tertiary-lighter) 100%);
  padding: 0.15rem 0;
  font-weight: bold;
}

/* animation
----------------------------------------*/
.c-marker[data-animation="marker"] {
  background-image: linear-gradient(var(--color-tertiary-lighter));
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 100%;
  padding: 0.15rem 0;
  font-weight: bold;
  transition-property: background;
  transition-timing-function: var(--cubic-bezier);
}
.c-marker[data-animation="marker"].is-active {
  background-size: 100% 100%;
}

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

  list

--------------------------------------------------------------------------------*/
:root { --list-mgl: 1.15em; --list-ol-mgl: 1.5em; }
.c-list { display: flex; flex-direction: column; }
.c-list:not([class*="u-line"]) { line-height: var(--list-line-height, var(--line-height-m)); }
.c-list:not([class*="u-rgap"]):not([class*="u-gap"]) { row-gap: var(--list-rgap, 0.5rem); }
.c-list, ol.c-list { overflow: hidden; }
.c-list:not([data-list-style="none"]) > li { left: var(--list-mgl); padding-right: var(--list-mgl); list-style-type: disc; position: relative; }
ol.c-list:not([data-list-style="none"]) > li { left: var(--list-ol-mgl); padding-right: var(--list-ol-mgl); list-style-type: decimal; position: relative; }
.c-list[data-list-type="circle"] > li { list-style: circle; }
.c-list ul:not([class*="c-list"]):not(.c-notes),
.c-list ol:not([class*="c-list"]):not(.c-notes) { padding-left: 0.85em; }

/* .c-list-mark
----------------------------------------*/
.c-list-mark { --default-list-mark-size: 0.6em; --default-list-mark-mgt: 0.15em; --default-list-mark-left: 0.2em; --default-list-mark-pdl: 0.75rem; }
.c-list-mark { display: flex; flex-direction: column; }
.c-list-mark:not([class*="u-line"]) { line-height: var(--list-line-height, var(--line-height-m)); }
.c-list-mark:not([class*="u-rgap"]):not([class*="u-gap"]) { row-gap: var(--list-rgap, 0.5rem); }
.c-list-mark li,
.c-list-mark:not(:has(li)) { position: relative; padding-left: calc(var(--list-mark-size, var(--default-list-mark-size)) + var(--list-mark-pdl, var(--default-list-mark-pdl))); }
.c-list-mark li:before,
.c-list-mark:not(:has(li)):before {
  content: "";
  width: var(--list-mark-size, var(--default-list-mark-size));
  height: var(--list-mark-size, var(--default-list-mark-size));
  font-size: var(--list-mark-fs);
  display: inline-block;
  vertical-align: middle;
  background-color: var(--list-mark-color, var(--color-primary-light));
  position: absolute;
  left: var(--list-mark-left, var(--default-list-mark-left));
  top: calc((1em - var(--list-mark-size, var(--default-list-mark-size))) + var(--list-mark-mgt, var(--default-list-mark-mgt)));
}
.c-list-mark.-circle li:before,
.c-list-mark.-circle:not(:has(li)):before {
  border-radius: 50%;
}

/* .c-list-dot
----------------------------------------*/
.c-list-dot { --default-list-dot-size: 1em; --default-list-dot-mgt: 0; --default-list-dot-left: 0.2em; --default-list-dot-pdl: 0em; }
.c-list-dot { display: flex; flex-direction: column; }
.c-list-dot:not([class*="u-line"]) { line-height: var(--list-line-height, var(--line-height-m)); }
.c-list-dot:not([class*="u-rgap"]):not([class*="u-gap"]) { row-gap: var(--list-rgap, 0.5rem); }
.c-list-dot li,
.c-list-dot:not(:has(li)) { position: relative; padding-left: calc(var(--list-dot-size, var(--default-list-dot-size)) + var(--list-dot-pdl, var(--default-list-dot-pdl))); }
.c-list-dot li:before,
.c-list-dot:not(:has(li)):before {
  content: "・";
  width: var(--list-dot-size, var(--default-list-dot-size));
  height: var(--list-dot-size, var(--default-list-dot-size));
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  left: var(--list-dot-left, var(--default-list-dot-left));
  top: calc((1em - var(--list-dot-size, var(--default-list-dot-size))) + var(--list-dot-mgt, var(--default-list-dot-mgt)));
}

/* .c-list-txt
   .c-notes
----------------------------------------*/
.c-list-txt:has(li),
.c-notes:has(li) { display: flex; flex-direction: column; }
.c-list-txt:has(li):not([class*="u-line"]),
.c-notes:has(li):not([class*="u-line"]) { line-height: var(--list-line-height, var(--line-height-m)); }
.c-list-txt:not(:has(li)),
.c-list-txt li:not(.col-full),
.c-notes:not(:has(li)),
.c-notes li:not(.col-full) { display: grid; grid-template-columns: max-content 1fr; }
.c-list-txt:not(:has(li)):not([class*="u-cgap"]):not([class*="u-gap"]),
.c-list-txt li:not([class*="u-cgap"]):not([class*="u-gap"]),
.c-notes:not(:has(li)):not([class*="u-cgap"]):not([class*="u-gap"]),
.c-notes li:not([class*="u-cgap"]):not([class*="u-gap"]) { column-gap: var(--list-txt-cgap, 0.5em); }
.c-list-txt:has(li):not([class*="u-rgap"]):not([class*="u-gap"]),
.c-notes:has(li):not([class*="u-rgap"]):not([class*="u-gap"]) { row-gap: var(--list-txt-rgap, 0.25rem); }

/*--------------------------------------------------------------------------------
  
  archive

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-archive-list
--------------------------------------------------------------------------------*/
@media not (max-width: 760px) { .c-archive-list { --img-break-point: 1000; --img-max-width: 180; } }
@media (max-width: 760px) { .c-archive-list { --img-break-point: 640; --img-max-width: 180; } }
.c-archive-list {
  --link-color: var(--txt-color);
  --link-color-hover: var(--txt-color);
  --link-deco: none;
  --link-deco-hover: none;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--border-color);
  container-type: inline-size;
}
.c-archive-list_item {
  border-bottom: 1px solid var(--border-color);
  line-height: var(--line-height-m);
}
.c-archive-list_item:not(:has(.c-archive-list_link)),
.c-archive-list_link {
  display: grid;
  column-gap: var(--space-2s);
  padding: max(1.25rem, 2.5cqi) 0;
}
.c-archive-list_area-img { grid-area: archive-list_img; }
.c-archive-list_meta { grid-area: archive-list_meta; }
.c-archive-list_ttl { grid-area: archive-list_ttl; }
.c-archive-list_desc { grid-area: archive-list_desc; }
.c-archive-list_icon { grid-area: archive-list_icon; }
@media not (max-width: 760px) {
  .c-archive-list_item:not(:has(.c-archive-list_link)),
  .c-archive-list_link {
    grid-template-columns: minmax(0, min(min(calc(var(--img-max-width) / var(--img-break-point) * 100vw), calc(var(--img-max-width) * 1px)))) 1fr auto;
    grid-template-rows: 1fr auto 1fr;
    grid-template-areas: 
      "archive-list_img archive-list_meta archive-list_icon"
      "archive-list_img archive-list_ttl archive-list_icon"
      "archive-list_img archive-list_desc archive-list_icon";
  }
  .c-archive-list_area-img { align-self: start; }
  .c-archive-list_meta { align-self: end; margin-bottom: 0.5rem; }
  .c-archive-list_ttl { align-self: end; }
  .c-archive-list_desc { align-self: start; }
  .c-archive-list_icon { align-self: center; margin-right: 1rem; }
  .c-archive-list_link:not(:has(.c-archive-list_desc)) .c-archive-list_ttl { grid-row: span 2; align-self: start; }
}
@media (max-width: 760px) {
  .c-archive-list_item:not(:has(.c-archive-list_link)),
  .c-archive-list_link {
    grid-template-columns: minmax(0, min(min(calc(var(--img-max-width) / var(--img-break-point) * 100vw), calc(var(--img-max-width) * 1px)))) 1fr;
    grid-template-rows: auto 0.5fr 1fr auto;
    grid-template-areas: 
      "archive-list_meta archive-list_meta"
      "archive-list_img archive-list_ttl"
      "archive-list_img archive-list_desc"
      "archive-list_img archive-list_icon";
  }
  .c-archive-list_area-img { align-self: start; }
  .c-archive-list_meta { margin-top: -0.25rem; padding-bottom: 0.75rem; }
  .c-archive-list_ttl { align-self: end; }
  .c-archive-list_desc { align-self: start; }
  .c-archive-list_icon { align-self: center; justify-self: end; margin-top: 1rem; }
  .c-archive-list_link:not(:has(.c-archive-list_desc)) .c-archive-list_ttl { grid-row: span 2; align-self: center; }
}
.c-archive-list_area-img {
  border-radius: 0.4rem;
  overflow: hidden;
}
.c-archive-list_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}
.c-archive-list_meta {
  display: flex;
  align-items: center;
  column-gap: 1rem;
}
.c-archive-list_meta-date {
  font-size: var(--fs-s);
  color: var(--color-gray);
}
.c-archive-list_meta-file {
  font-size: var(--fs-3s);
  color: var(--color-primary);
}
.c-archive-list_ttl {
  --line-clamp: 2;
  font-size: 1.05rem;
  font-weight: bold;
  line-height: var(--line-height-s);
  transition: var(--hover-trans);
}
.c-archive-list_desc {
  --line-clamp: 1;
  font-size: var(--fs-2s);
  margin-top: 0.5rem;
}
.c-archive-list_txt {
  text-overflow: ellipsis;
  display: -webkit-box;             
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: var(--line-clamp, 1);
}
.c-archive-list_icon {
  --ibtn-size: 2rem;
}
@media (max-width: 760px) {
  .c-archive-list_desc { --line-clamp: 2; }
}
@media (hover: hover) {
  .c-archive-list_link:hover .c-archive-list_ttl {
    color: var(--color-primary);
  }
}

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

  article

--------------------------------------------------------------------------------*/
/* 絵文字 */
img[src*="_mfile/smiley/"] {
  width: 1rem;
  vertical-align: middle;
  margin-bottom: 0.15rem;
}
.c-article {
  padding-bottom: var(--space-2l);
}

/*--------------------------------------------------------------------------------
  .c-article-meta
  .c-article-date
  .c-article-ttl
--------------------------------------------------------------------------------*/
.c-article-meta {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.5rem;
  row-gap: 1rem;
}
.c-article-date,
.c-article-meta_date {
  color: var(--color-gray);
  font-size: var(--fs-s);
}
.c-article-date {
  display: inline-block;
  margin-bottom: 1rem;
}
.c-article-ttl {
  line-height: var(--line-height-s);
  font-size: var(--fs-2l);
  font-weight: bold;
  border-bottom: 1px solid var(--border-color-black);
  padding-bottom: 1.25em;
  margin-bottom: 0.5em;
}

/*--------------------------------------------------------------------------------
  .c-article-block-area
  .c-article-block
--------------------------------------------------------------------------------*/
.c-article-block-area {
  padding-top: var(--space-l);
}
.c-article-block {
  width: 100%;
}
.c-article-block-area > .c-article-block:not(:last-of-type) {
  padding-bottom: var(--space-l);
}
.c-article-block:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}

/*--------------------------------------------------------------------------------
  .c-article-columns
--------------------------------------------------------------------------------*/
.c-article-columns { --cgap: var(--space-2s); --rgap: var(--space-2s); }
.c-article-columns:has(.c-article-txt) { --cgap: var(--space-s); --rgap: var(--space-l); }
.c-article-columns.-col1 { --col: 100%; }
.c-article-columns:not(.-col1) .c-article-img { --pdb: 1rem; }
@media not (max-width: 760px) { .c-article-columns.-col1 .c-article-img.-center { --pdt: var(--space-l); --pdb: var(--space-l); } }
/* col4 */
@media not (max-width: 1000px) { .c-article-columns.-col4 { --col: calc(((100% + var(--cgap)) / 4) - var(--cgap)); } }
@media (max-width: 1000px) { .c-article-columns.-col4 { --col: calc(((100% + var(--cgap)) / 3) - var(--cgap)); } }
@media (max-width: 760px) { .c-article-columns.-col4 { --col: calc(((100% + var(--cgap)) / 2) - var(--cgap)); } }
/* col3 */
@media not (max-width: 1000px) { .c-article-columns.-col3 { --col: calc(((100% + var(--cgap)) / 3) - var(--cgap)); } }
@media (max-width: 1000px) { .c-article-columns.-col3 { --col: calc(((100% + var(--cgap)) / 2) - var(--cgap)); } }
@media (max-width: 640px) {
  .c-article-columns.-col3 { --col: 100%; }
  .c-article-columns.-col3 > .c-article-block:has(.c-article-txt) { padding-bottom: var(--space-s); }
}
/* col2 */
@media not (max-width: 640px) { .c-article-columns.-col2 { --col: calc(((100% + var(--cgap)) / 2) - var(--cgap)); } }
@media (max-width: 500px) {
  .c-article-columns.-col2 { --col: 100%; }
  .c-article-columns.-col2 > .c-article-block:has(.c-article-txt) { padding-bottom: var(--space-s); }
}
.c-article-columns {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  column-gap: var(--cgap);
  row-gap: var(--rgap);
}
.c-article-columns:has(+ .c-article-columns) {
  padding-bottom: var(--space-l);
}
.c-article-columns:has(+ .c-article-heading, + .c-article-sheading) {
  padding-bottom: var(--space-l);
}
.c-article-columns:has(+ .c-article-block) {
  padding-bottom: var(--space-2l);
}
.c-article-columns .c-article-block {
  flex-basis: calc(var(--col) - 0.01px);
  /*max-width: fit-content;*/
  align-self: stretch;
}
.c-article-columns > .c-article-heading,
.c-article-columns > .c-article-sheading {
  width: 100%;
  margin-bottom: calc(-1 * var(--rgap));
}
/*
.c-article-columns .c-article-block:has(> .c-article-img:nth-child(1):last-child) .c-article-img {
  margin-left: 0;
  margin-right: 0;
}
@media not (max-width: 760px) {
  .c-article-columns .c-article-block:has(.c-article-txt) { flex-grow: 1; }
}
*/
@media (max-width: 760px) {
  .c-article-columns .c-article-img {
    min-width: fit-content;
  }
}

/*--------------------------------------------------------------------------------
  .c-article-txt
--------------------------------------------------------------------------------*/
.c-article-txt { text-align: left; }
.c-article-txt ul:not([class*="c-list"]),
.c-article-txt ol:not([class*="c-list"]) { overflow: hidden; }
.c-article-txt ul:not([class*="c-list"]) li { left: var(--list-mgl); padding-right: var(--list-mgl); list-style-type: disc; position: relative; }
.c-article-txt ol:not([class*="c-list"]) li { left: var(--list-ol-mgl); padding-right: var(--list-ol-mgl); list-style-type: decimal; position: relative; }
.c-article-txt img { vertical-align: middle; }
.c-article-txt table:not([class]) { max-width: 100%; }
@media not (max-width: 760px) {
  .c-article-txt table.-auto { width: auto; }
}

/*--------------------------------------------------------------------------------
  .c-article-heading
  .c-article-sheading
--------------------------------------------------------------------------------*/
.c-article-heading,
.c-article-sheading {
  text-align: left;
  padding-top: calc(var(--space-2l) - var(--space-l));
}

/*--------------------------------------------------------------------------------
  .c-article-img
--------------------------------------------------------------------------------*/
.c-article-img { --pdb: var(--space-s); }
.c-article-img.-center { --pdt: var(--space-l); --pdb: var(--space-l); }
@media (max-width: 760px) {
  .c-article-img:not(:has(.c-article-img_cap)) { --pdb: var(--space-m); }
}
.c-article-img.-center {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.c-article-block:has(.c-article-txt) .c-article-img {
  padding-bottom: var(--pdb);
}
.c-article-txt + .c-article-img.-center {
  padding-top: var(--pdt);
  padding-bottom: 0;
}
.c-article-img img {
  max-width: inherit;
  width: 100%;
}
@media not (max-width: 760px) {
  .c-article-img.-left,
  .c-article-img.-right {
    display: inline-block;
  }
  .c-article-img.-left {
    float: left;
    margin-right: var(--space-m);
  }
  .c-article-img.-right {
    float: right;
    margin-left: var(--space-m);
  }
}
@media (max-width: 760px) {
  .c-article-img {
    width: auto !important;
    min-width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .c-article-img img {
    width: auto !important;
    max-width: 100% !important;
  }
}
/* caption */
.c-article-img_cap {
  font-size: var(--fs-2s);
  line-height: var(--line-height-s);
  padding-top: 0.75rem;
  padding-bottom: 1rem;
  text-align: center;
}
.c-article-img_cap-txt {
  display: inline-block;
  margin-inine: auto;
  text-align: left;
}

/*--------------------------------------------------------------------------------
  .c-article-file
--------------------------------------------------------------------------------*/
.c-article-file {
  text-align: left;
}
.c-article-txt + .c-article-file {
  margin-top: var(--space-s);
}

/*--------------------------------------------------------------------------------
  .c-article-alert
--------------------------------------------------------------------------------*/
.c-article-alert {
  background-color: var(--color-red);
  padding: 0.5em 1em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 1rem;
  color: #FFF;
  line-height: var(--line-height-s);
}
.c-article-alert_type { font-size: var(--fs-s); font-weight: bold; }
.c-article-alert_txt { font-size: var(--fs-3s); }

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

  pagination

--------------------------------------------------------------------------------*/
.c-pagination {
  padding-top: var(--space-2l);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-l) 1.5rem;
  line-height: 1;
}
.c-pagination_arrow {
  --icon-size: 1.2rem;
  --icon-color: var(--color-primary);
  --icon-color-hover: var(--color-primary-light);
  padding: 0.5rem;
  margin: 0 -0.5rem;
}

/*--------------------------------------------------------------------------------
  .c-pagination-list
--------------------------------------------------------------------------------*/
.c-pagination-list {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.5rem;
  font-size: var(--fs-2s);
}
.c-pagination-list_link {
  --link-color: var(--txt-color);
  --link-color-hover: var(--txt-color);
  --link-deco: none;
  --link-deco-hover: none;
  width: 2.8em;
  aspect-ratio: 1 / 1;
  line-height: 1;
  background-color: var(--bg-gray);
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-pagination-list_link.-active {
  --link-color: #FFF;
  --link-color-hover: #FFF;
  background-color: var(--color-primary);
}
@media (hover: hover) {
  .c-pagination-list_link:not(.-active):hover {
    background-color: var(--bg-gray2);
  }
}
