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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-heading
--------------------------------------------------------------------------------*/
.c-heading { line-height: 1.6; }
.c-heading_main {
  line-height: 1.2;
  font-family: var(--ff-en);
  font-size: var(--fs-5l);
  font-weight: 500;
}
.c-heading_sub {
  padding-top: 0.5rem;
  font-family: var(--ff-go);
  font-size: var(--fs-m);
  font-weight: 500;
}
.c-heading.-white { color: #FFF; }
.c-heading.-white .c-heading_main:before { background-color: #FFF; }

/*--------------------------------------------------------------------------------
  .c-hdline02
--------------------------------------------------------------------------------*/
.c-hdline02 {
  line-height: 1.6;
  font-weight: bold;
  font-size: var(--fs-m);
  background-color: var(--color-quaternary);
  padding: 1.15rem 1.5rem;
  border-left: 2px solid var(--color-secondary-dark);
}

/*--------------------------------------------------------------------------------
  .c-hdline03
--------------------------------------------------------------------------------*/
.c-hdline03 {
  line-height: 1.6;
  font-size: var(--fs-2l);
  font-weight: bold;
  border-bottom: 1px solid var(--color-gray);
  padding-bottom: 1.5rem;
  margin-bottom: var(--space-m);
}

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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  SVG mask icon
--------------------------------------------------------------------------------*/
:root {
  --icon-arrow-thin: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><polygon points="14.765625 4.2348633 14.234375 4.7651367 21.0947266 11.625 2 11.625 2 12.375 21.0946655 12.375 14.234375 19.234375 14.765625 19.765625 22.5302734 12 14.765625 4.2348633"/></svg>');
  --icon-arrow: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><polygon points="14.9423828 4.0581055 14.0576172 4.9418945 20.4911499 11.375 2 11.375 2 12.625 20.4911499 12.625 14.0576172 19.0576172 14.9423828 19.9423828 22.8837891 12 14.9423828 4.0581055"/></svg>');
  --icon-newwin: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M22,2v8.999937h-1.25v-6.8656597l-11.3079795,11.3079795-.8837891-.8847656L19.8657227,3.25h-6.8656597v-1.25h8.999937ZM20.75,20.75H3.25V3.25h5.749937v-1.25H2v20h20v-6.999937h-1.25v5.749937Z"/></svg>');
  --icon-pdf: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 95 105" fill="currentColor"><path d="M68,29.5c-.5523071,0-1-.4599609-1-1.0274048V10.3587036l19.1416626,19.1412964h-18.1416626ZM74,39.0001831v31H8.9999847v-31h65.0000153M67,7.5H28c-1.6568604,0-3,1.3431396-3,3v25.5001831H6v37h19v21.4998169c0,1.6568604,1.3431396,3,3,3h58c1.6568604,0,3-1.3431396,3-3V29.5l-22-22ZM18.1064453,45.2578125h7.0458984c2.1499023,0,3.8041992.5166016,4.9638672,1.5488281,1.159668,1.0332031,1.7392578,2.5097656,1.7392578,4.4306641,0,1.9130859-.5776367,3.3945312-1.7329102,4.4433594-1.1552734,1.0498047-2.8120117,1.5742188-4.9702148,1.5742188h-3.1484375v6.4873047h-3.8974609v-18.484375ZM24.796875,54.3476562c1.1933594,0,2.0185547-.2744141,2.4755859-.8251953.4570312-.5498047.6855469-1.3115234.6855469-2.2851562,0-.9648438-.2285156-1.7158203-.6855469-2.2529297-.4570312-.5380859-1.2822266-.8066406-2.4755859-.8066406h-2.7929688v6.1699219h2.7929688ZM35.0825195,45.2578125h6.2080078c2.4799805,0,4.5595703.7597656,6.2397461,2.2792969,1.6801758,1.5185547,2.5195312,3.6455078,2.5195312,6.3789062v1.1552734c0,2.734375-.8393555,4.8623047-2.5195312,6.3857422s-3.7597656,2.2851562-6.2397461,2.2851562h-6.2080078v-18.484375ZM41.2270508,60.8349609c1.4389648,0,2.6044922-.4775391,3.4975586-1.4345703.8930664-.9560547,1.3393555-2.3691406,1.3393555-4.2402344v-1.3203125c0-1.8701172-.4462891-3.28125-1.3393555-4.2333984s-2.0585938-1.4287109-3.4975586-1.4287109h-2.2724609v12.6572266h2.2724609ZM53.9248047,45.2578125h12.2509766v2.9580078h-8.3535156v5.1542969h7.2998047v2.9199219h-7.2998047v7.4521484h-3.8974609v-18.484375Z"/></svg>');
  --icon-doc: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 95 105" fill="currentColor"><path d="M68,29.5c-.5523071,0-1-.4599609-1-1.0274048V10.3587036l19.1416626,19.1412964h-18.1416626ZM74,39.0001831v31H8.9999847v-31h65.0000153M67,7.5H28c-1.6568604,0-3,1.3431396-3,3v25.5001831H6v37h19v21.4998169c0,1.6568604,1.3431396,3,3,3h58c1.6568604,0,3-1.3431396,3-3V29.5l-22-22ZM16.8271484,45.2578125h5.8979492c2.3554688,0,4.331543.7597656,5.9277344,2.2792969,1.5957031,1.5185547,2.394043,3.6455078,2.394043,6.3789062v1.1552734c0,2.734375-.7983398,4.8623047-2.394043,6.3857422-1.5961914,1.5234375-3.5722656,2.2851562-5.9277344,2.2851562h-5.8979492v-18.484375ZM22.6645508,60.8349609c1.3671875,0,2.4746094-.4775391,3.3227539-1.4345703.8481445-.9560547,1.2724609-2.3691406,1.2724609-4.2402344v-1.3203125c0-1.8701172-.4243164-3.28125-1.2724609-4.2333984s-1.9555664-1.4287109-3.3227539-1.4287109h-2.1586914v12.6572266h2.1586914ZM33.8051758,53.9287109c0-2.953125.7338867-5.1982422,2.2011719-6.734375s3.3588867-2.3046875,5.6743164-2.3046875c2.3076172,0,4.2011719.7685547,5.6806641,2.3046875s2.2192383,3.78125,2.2192383,6.734375v1.1425781c0,2.9541016-.7397461,5.1992188-2.2192383,6.7353516s-3.3730469,2.3037109-5.6806641,2.3037109c-2.3154297,0-4.2070312-.7675781-5.6743164-2.3037109s-2.2011719-3.78125-2.2011719-6.7353516v-1.1425781ZM38.7080078,59.7177734c.7358398.9394531,1.7265625,1.4091797,2.9726562,1.4091797,1.2382812,0,2.2314453-.4697266,2.9790039-1.4091797.7480469-.9394531,1.121582-2.3652344,1.121582-4.2783203v-1.8662109c0-1.9208984-.3735352-3.3496094-1.121582-4.2841797-.7475586-.9355469-1.7407227-1.4033203-2.9790039-1.4033203-1.2460938,0-2.2368164.4677734-2.9726562,1.4033203-.7358398.9345703-1.1035156,2.3632812-1.1035156,4.2841797v1.8662109c0,1.9130859.3676758,3.3388672,1.1035156,4.2783203ZM52.3388672,53.9287109c0-2.9619141.7255859-5.2089844,2.1767578-6.7412109,1.4511719-1.53125,3.3427734-2.2978516,5.6748047-2.2978516,2.2109375,0,3.9638672.609375,5.2578125,1.828125,1.2949219,1.21875,1.9423828,2.7802734,1.9423828,4.6845703v.3046875h-3.7392578v-.3554688c0-1.1083984-.2890625-1.9628906-.8681641-2.5644531-.5791016-.6005859-1.4550781-.9013672-2.6289062-.9013672-1.1982422,0-2.1650391.4335938-2.9003906,1.3017578-.7363281.8671875-1.1044922,2.3037109-1.1044922,4.3095703v2.0058594c0,1.8535156.3603516,3.2548828,1.0800781,4.2021484.7197266.9482422,1.7099609,1.421875,2.9726562,1.421875,1.1171875,0,1.9580078-.3193359,2.5205078-.9580078.5625-.6396484.8730469-1.4833984.9287109-2.5332031v-.3300781h3.7392578v.3300781c-.0810547,1.8789062-.7480469,3.4277344-2.0019531,4.6464844-1.2548828,1.21875-2.9873047,1.828125-5.1982422,1.828125-2.3476562,0-4.2441406-.7724609-5.6865234-2.3164062-1.4433594-1.5449219-2.1650391-3.7851562-2.1650391-6.7226562v-1.1425781Z"/></svg>');
  --icon-xls: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 95 105" fill="currentColor"><path d="M68,29.5c-.5523071,0-1-.4599609-1-1.0274048V10.3587036l19.1416626,19.1412964h-18.1416626ZM74,39.0001831v31H8.9999847v-31h65.0000153M67,7.5H28c-1.6568604,0-3,1.3431396-3,3v25.5001831H6v37h19v21.4998169c0,1.6568604,1.3431396,3,3,3h58c1.6568604,0,3-1.3431396,3-3V29.5l-22-22ZM33.2709961,45.2578125h-3.8974609l-3.6552124,6.1080322-3.7461548-6.0826416-4.5068359-.0253906,5.8131714,9.0289917-6.0924683,9.4553833h4.0244141l3.9743652-6.4963989,4.0490723,6.4963989h4.5703125l-6.1785889-9.4106445,5.6453857-9.0737305ZM40.2304688,45.2578125h-3.8974609v18.484375h11.9970703v-2.9580078h-8.0996094v-15.5263672ZM63.3251953,54.7158203c-1.0488281-.8886719-2.5263672-1.5869141-4.4306641-2.0947266-1.8027344-.4824219-2.9580078-.8867188-3.4658203-1.2119141-.5078125-.3261719-.7617188-.8066406-.7617188-1.4414062,0-.6513672.2373047-1.1679688.7109375-1.5488281.4746094-.3808594,1.2148438-.5712891,2.2216797-.5712891,1.0078125,0,1.7646484.2412109,2.2724609.7236328s.7617188,1.1171875.7617188,1.9042969v.2666016h3.9101562v-.3173828c0-1.6757812-.6347656-3.0166016-1.9042969-4.0244141-1.2695312-1.0068359-2.953125-1.5107422-5.0527344-1.5107422-2.1074219,0-3.7851562.4873047-5.0332031,1.4599609-1.2490234.9736328-1.8730469,2.2773438-1.8730469,3.9101562.0087891,1.515625.5205078,2.7041016,1.5361328,3.5673828s2.4931641,1.5449219,4.4306641,2.0439453c1.8027344.4658203,2.96875.8955078,3.4980469,1.2890625.5283203.3935547.7929688.9541016.7929688,1.6816406,0,.703125-.2792969,1.265625-.8378906,1.6884766-.5585938.4238281-1.3583984.6347656-2.3994141.6347656-1.0488281,0-1.8662109-.2265625-2.4501953-.6787109-.5839844-.453125-.8759766-1.1318359-.8759766-2.0380859v-.2919922h-3.9736328v.3300781c0,1.8369141.6796875,3.2333984,2.0380859,4.1894531,1.3583984.9570312,3.1162109,1.4345703,5.2744141,1.4345703,2.1669922,0,3.9082031-.4863281,5.2246094-1.4599609,1.3154297-.9726562,1.9736328-2.3359375,1.9736328-4.0878906-.0078125-1.6757812-.5371094-2.9580078-1.5869141-3.8466797Z"/></svg>');
  --icon-ppt: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 95 105" fill="currentColor"><path d="M68,29.5c-.5523071,0-1-.4599609-1-1.0274048V10.3587036l19.1416626,19.1412964h-18.1416626ZM74,39.0001831v31H8.9999847v-31h65.0000153M67,7.5H28c-1.6568604,0-3,1.3431396-3,3v25.5001831H6v37h19v21.4998169c0,1.6568604,1.3431396,3,3,3h58c1.6568604,0,3-1.3431396,3-3V29.5l-22-22ZM19.0014648,45.2578125h7.0458984c2.1499023,0,3.8041992.5166016,4.9638672,1.5488281,1.159668,1.0332031,1.7392578,2.5097656,1.7392578,4.4306641,0,1.9130859-.5776367,3.3945312-1.7329102,4.4433594-1.1552734,1.0498047-2.8120117,1.5742188-4.9702148,1.5742188h-3.1484375v6.4873047h-3.8974609v-18.484375ZM25.6918945,54.3476562c1.1933594,0,2.0185547-.2744141,2.4755859-.8251953.4570312-.5498047.6855469-1.3115234.6855469-2.2851562,0-.9648438-.2285156-1.7158203-.6855469-2.2529297-.4570312-.5380859-1.2822266-.8066406-2.4755859-.8066406h-2.7929688v6.1699219h2.7929688ZM35.9775391,45.2578125h7.0458984c2.1499023,0,3.8041992.5166016,4.9638672,1.5488281,1.159668,1.0332031,1.7392578,2.5097656,1.7392578,4.4306641,0,1.9130859-.5776367,3.3945312-1.7329102,4.4433594-1.1552734,1.0498047-2.8120117,1.5742188-4.9702148,1.5742188h-3.1484375v6.4873047h-3.8974609v-18.484375ZM42.6679688,54.3476562c1.1933594,0,2.0185547-.2744141,2.4755859-.8251953.4570312-.5498047.6855469-1.3115234.6855469-2.2851562,0-.9648438-.2285156-1.7158203-.6855469-2.2529297-.4570312-.5380859-1.2822266-.8066406-2.4755859-.8066406h-2.7929688v6.1699219h2.7929688ZM51.2773438,45.2578125h14.8916016v2.9580078h-5.4970703v15.5263672h-3.8974609v-15.5263672h-5.4970703v-2.9580078Z"/></svg>');
}

/*--------------------------------------------------------------------------------
 
  link

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-arrow
--------------------------------------------------------------------------------*/
@media (min-width: 641px) { :root { --arrow-size: 3.5rem; } }
@media (max-width: 640px) { :root { --arrow-size: 3rem; } }
.c-arrow {
  flex-shrink: 0;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: var(--arrow-size);
  height: var(--arrow-size);
  border-radius: 50%;
}
.c-arrow,
.c-arrow:after { transition: var(--hover-trans); }
.c-arrow:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  background: currentColor;
  color: currentColor;
  mask-image: var(--icon-arrow);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 40%;
  animation-fill-mode: forwards;
}
.c-arrow.-prev:after { transform: scale(-1, 1); }
.c-arrow svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(-90deg) scale(1, -1);
  z-index: 2;
}
.c-arrow circle {
	fill: transparent;
	stroke: transparent;
	stroke-width: 0;
}
@media (hover: hover) {
  .c-arrow:hover circle,
  .c-arrow-linkarea:hover .c-arrow circle,
  .c-arrow-txt:hover .c-arrow circle {
    stroke-width: 1px;
    animation: arrow_circle 3.5s var(--cubic-bezier);
  }
}
@keyframes arrow_circle {
  from { stroke-dasharray: 0 251; }
  to { stroke-dasharray: 251 251; }
}

:root {
  /* default */
  --arrow-circle: var(--color-secondary);
  --arrow-bg: var(--color-secondary);
  --arrow-bg-hover: trantparent;
  --arrow-icon: #FFF;
  --arrow-icon-hover: var(--color-secondary);
  
  /* white */
  --arrow-white-circle: #FFF;
  --arrow-white-bg: #FFF;
  --arrow-white-bg-hover: trantparent;
  --arrow-white-icon: var(--color-tertiary);
  --arrow-white-icon-hover: #FFF;
}
/* default */
.c-arrow { background-color: var(--arrow-bg); }
.c-arrow:after { background: var(--arrow-icon); }
.c-arrow circle { stroke: var(--arrow-circle); }

/* white */
.c-arrow.-white { background-color: var(--arrow-white-bg); }
.c-arrow.-white:after { background: var(--arrow-white-icon); }
.c-arrow.-white circle { stroke: var(--arrow-white-circle); }

@media (hover: hover) {
  /* default */
  .c-arrow:hover,
  .c-arrow-linkarea:hover .c-arrow,
  .c-arrow-txt:hover .c-arrow { background-color: var(--arrow-bg-hover); }
  .c-arrow:hover:after,
  .c-arrow-linkarea:hover .c-arrow:after,
  .c-arrow-txt:hover .c-arrow:after { background: var(--arrow-icon-hover); }
  
  /* white */
  .c-arrow.-white:hover,
  .c-arrow-linkarea:hover .c-arrow.-white,
  .c-arrow-txtn:hover .c-arrow.-white { background-color: var(--arrow-white-bg-hover); }
  .c-arrow.-white:hover:after,
  .c-arrow-linkarea:hover .c-arrow.-white:after,
  .c-arrow-txt:hover .c-arrow.-white:after { background: var(--arrow-white-icon-hover); }
}

/* .c-arrow-txt
----------------------------------------*/
.c-arrow-txt {
  display: flex;
  width: fit-content;
  align-items: center;
  column-gap: clamp(1rem, 3vw, 2rem);
  position: relative;
  transition: var(--hover-trans);
}
.c-arrow-txt { color: inherit; text-decoration: none; }
.c-arrow-txt:hover { color: var(--color-secondary); text-decoration: none; }
.c-arrow-txt.-en { font-family: var(--ff-en); font-weight: 500; }

/*--------------------------------------------------------------------------------
  .c-newwin
--------------------------------------------------------------------------------*/
:root { --newwin-size: 0.95rem; --newwin-mgl: 0.5rem; --newwin-mgr: 0.5rem; --newwin-mgb: 0.15rem; }
.c-newwin[target="_blank"]:after {
  content: "";
  width: var(--newwin-size);
  height: var(--newwin-size);
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  margin-left: var(--newwin-mgl);
  margin-right: var(--newwin-mgr);
  margin-bottom: var(--newwin-mgb);
  background: currentColor;
  color: currentColor;
  mask-repeat: no-repeat;
  mask-image: var(--icon-newwin);
  transition: var(--hover-trans);
}
.c-newwin[target="_blank"]:after,
.c-newwin[target="_blank"]:hover:after { color: inherit; }

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

--------------------------------------------------------------------------------*/
.c-tbl-scroll { overflow-x: auto; }

/*--------------------------------------------------------------------------------
  .c-tbl
--------------------------------------------------------------------------------*/
.c-tbl {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}
.c-tbl th,
.c-tbl td { border-bottom: 1px solid var(--border-color); }
.c-tbl th,
.c-tbl td {
  padding: 1.5rem;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.c-tbl th {
  padding-left: 0;
  vertical-align: top;
  white-space: nowrap;
}

/* break point
----------------------------------------*/
@media (max-width: 640px) {
  .c-tbl.-break-sp { display: block; }
  .c-tbl.-break-sp th,
  .c-tbl.-break-sp td { width: 100%; display: block; padding-left: 0; padding-right: 0; }
  .c-tbl.-break-sp th { border-bottom: 0; padding-bottom: 0; }
  .c-tbl.-break-sp td { padding-top: 0.75rem; }
}

/*--------------------------------------------------------------------------------
  .c-tbl02
--------------------------------------------------------------------------------*/
.c-tbl02 {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}
.c-tbl02 thead th,
.c-tbl02 thead td {
  padding: 1rem;
  background-color: var(--color-primary);
  color: #FFF;
  line-height: 1.6;
}
.c-tbl02 thead th:not(:first-child),
.c-tbl02 thead td:not(:first-child) { border-left: 1px solid rgba(255,255,255,0.2); }
.c-tbl02 tbody tr:not(:last-child) th,
.c-tbl02 tbody tr:not(:last-child) td { border-bottom: 1px solid var(--color-quaternary); }
.c-tbl02 tbody th:not(:first-child),
.c-tbl02 tbody td:not(:first-child) { border-left: 1px solid var(--color-quaternary); }
.c-tbl02 tbody th,
.c-tbl02 tbody td {
  padding: 1.5rem;
  background-color: #FFF;
  vertical-align: middle;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media (max-width: 999px) {
  .c-tbl02 { font-size: var(--fs-s); }
  .c-tbl02 tbody th,
  .c-tbl02 tbody td { padding: 1rem; }
}

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

  tag

--------------------------------------------------------------------------------*/
:root {
  /* default */
  --tag-bg: var(--color-secondary);
  --tag-bg-hover: var(--color-secondary-light);
  --tag-txt: #FFF;
  --tag-txt-hover: #FFF;
  --tag-outline: var(--color-secondary);
  --tag-outline-hover: var(--color-secondary-light);
  --tag-outline-bg: trantparent;
  --tag-outline-bg-hover: var(--color-secondary-light);
  --tag-outline-txt: var(--color-secondary);
  --tag-outline-txt-hover: #FFF;
}

.c-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.c-tag { display: inline-block; vertical-align: top; }
.c-tag, .c-tag:hover,
.c-tag a, .c-tag a:hover,
.c-tag-list a,
.c-tag-list a:hover { color: inherit; text-decoration: none; }
.c-tag,
.c-tag-list li { line-height: 1.6; }
.c-tag a,
.c-tag-list a { display: block; }
.c-tag:not(:has(a)),
.c-tag a,
.c-tag-list li:not(:has(a)),
.c-tag-list li a { padding: 0.15em 0.5em; }

/* default */
.c-tag:not(:has(a)),
.c-tag-list li:not(:has(a)) { background-color: var(--tag-bg); color: var(--tag-txt); }
.c-tag a,
.c-tag-list li a { background-color: var(--tag-bg); color: var(--tag-txt); }
.c-tag.-outline:not(:has(a)),
.c-tag-list.-outline li:not(:has(a)) { border: 1px solid var(--tag-outline); background-color: var(--tag-outline-bg); color: var(--tag-outline-txt); }
.c-tag.-outline a,
.c-tag-list.-outline li a { border: 1px solid var(--tag-outline); background-color: var(--tag-outline-bg); color: var(--tag-outline-txt); }
.c-tag.is-active, .c-tag. a.is-active,
.c-tag-list li a.is-active { background-color: var(--tag-bg-hover); color: var(--tag-txt-hover); }
.c-tag.-outline.is-active, .c-tag.-outline a.is-active,
.c-tag-list.-outline li a.is-active { border-color: var(--tag-outline-hover); background-color: var(--tag-outline-bg-hover); color: var(--tag-outline-txt-hover); }

@media (hover: hover) {
  a.c-tag:hover, .c-tag a:hover,
  .c-tag-list li a:hover { background-color: var(--tag-bg-hover); color: var(--tag-txt-hover); }
  a.c-tag.-outline:hover, .c-tag.-outline a:hover,
  .c-tag-list.-outline li a:hover { border-color: var(--tag-outline-hover); background-color: var(--tag-outline-bg-hover); color: var(--tag-outline-txt-hover); }
}

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

  list

--------------------------------------------------------------------------------*/
:root { --list-mgl: 1em; --list-ol-mgl: 1.25em; }
.c-list { --list-rgap: 0.5rem; }
.c-list.-rgap-s { --list-rgap: 0.25rem; }
.c-list.-rgap-m { --list-rgap: 1rem; }
.c-list.-rgap-l { --list-rgap: 1.5rem; }
.c-list.-rgap-xl { --list-rgap: 2rem; }
.c-list.-rgap0 { --list-rgap: 0; }
.c-list.-primary { --list-mark-color: var(--color-primary); }

.c-list { display: flex; flex-direction: column; row-gap: var(--list-rgap); }
.c-list.-normal { margin-left: var(--list-mgl); list-style: disc; }
 ol.c-list.-normal { margin-left: var(--list-ol-mgl); list-style: decimal; }

/* .c-list-mark
----------------------------------------*/
.c-list.-list-mark.-circle { --list-mark-size: 0.75em; --list-mark-mgt: 0.5em; }
.c-list.-list-mark.-square { --list-mark-size: 0.75em; --list-mark-mgt: 0.5em; }
.c-list.-list-mark li { position: relative; padding-left: calc(var(--list-mark-size) + 0.5rem); }
.c-list.-list-mark li:before {
  content: "";
  width: var(--list-mark-size);
  height: var(--list-mark-size);
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  background-color: var(--list-mark-color);
  position: absolute;
  left: 0;
  top: var(--list-mark-mgt);
}
.c-list.-list-mark.-circle li:before { border-radius: 50%; }

/* .c-list-mark-txt
----------------------------------------*/
.c-list.-list-mark-txt.-note { --list-mark-txt: "※"; --list-mark-txt-size: 1em; --list-mark-txt-mgt: 0; }
.c-list.-list-mark-txt li { position: relative; padding-left: calc(var(--list-mark-txt-size) + 0.25rem); }
.c-list.-list-mark-txt li:before {
  content: var(--list-mark-txt);
  width: var(--list-mark-txt-size);
  height: var(--list-mark-txt-size);
  font-size: var(--list-mark-txt-size);
  display: inline-block;
  vertical-align: middle;
  color: var(--list-mark-color);
  position: absolute;
  left: 0;
  top: var(--list-mark-txt-mgt);
}

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

--------------------------------------------------------------------------------*/
.c-text-animate {
  opacity: 0;
  overflow: hidden;
  display: inline-flex;
}
.c-text-animate:not(.-no-wrap) { flex-wrap: wrap; }
.c-text-animate.-mgr-0h { margin-right: 0.5em; }
.c-text-animate.-mgr-1 { margin-right: 1em; }
.c-text-animate.is-active { opacity: 1; }
.c-text-animate_item {
  opacity: 0;
  transform: translateY(50%);
}
.c-text-animate.is-active .c-text-animate_item {
  animation: text-animate 1.2s var(--cubic-bezier);
  animation-fill-mode: forwards;
}
@keyframes text-animate {
  from { opacity: 0; transform: translateY(50%); }
  to { opacity: 1; transform: translateY(0); }
}

/*--------------------------------------------------------------------------------
 
  img animation

--------------------------------------------------------------------------------*/
.c-img-animate {
  display: block;
  height: 100%;
  overflow: hidden;
}
.c-img-animate_img {
  filter: blur(10px);
  transform: scale(1.15);
}
.c-img-animate.is-active .c-img-animate_img {
  animation: img-animate 2s var(--cubic-bezier);
  animation-fill-mode: forwards;
}
@keyframes img-animate {
  from { filter: blur(10px); transform: scale(1.15); }
  to { filter: blur(0); transform: scale(1); }
}

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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-archive-search
--------------------------------------------------------------------------------*/
.c-archive-search {
  background-color: #FFF;
  padding: var(--box-space-m);
  margin-bottom: var(--space-l);
  display: flex;
  column-gap: var(--box-space-m);
  row-gap: 1rem;
}
.c-archive-search_hd {
  font-weight: bold;
  font-size: var(--fs-m);
  flex-shrink: 0;
}
@media (min-width: 1000px) {
  .c-archive-search_hd { padding: 0 var(--box-space); }
}
@media (max-width: 999px) {
  .c-archive-search { flex-direction: column; }
}

/*--------------------------------------------------------------------------------
  .c-archive-list
--------------------------------------------------------------------------------*/
.c-archive-list {
  display: flex;
  flex-direction: column;
}
.c-archive-list_item {
  border-bottom: 1px solid var(--border-color);
}
.c-archive-list_item:first-of-type {
  margin-top: -1.75rem;
}
.c-archive-list_item:not(:has(a)),
.c-archive-list_item a {
  display: flex;
  column-gap: 2rem;
  row-gap: 0.25rem;
  padding: 1.75rem 0;
}
.c-archive-list_date { color: var(--color-gray-light);  }
.c-archive-list_ttl {
  flex: 1;
  transition: var(--hover-trans);
  display: flex;
  column-gap: 2rem;
}
.c-archive-list_ttl:after {
  content: "";
  line-height: 1;
  flex-shrink: 0;
  align-self: center;
  background: currentColor;
  color: var(--color-secondary);
  mask-repeat: no-repeat;
  margin-left: auto;
  transition: var(--hover-trans);
}
.c-archive-list_item a[target="_blank"] .c-archive-list_ttl:after {
  width: 0.95rem;
  height: 0.95rem;
  mask-image: var(--icon-newwin);
}
.c-archive-list a,
.c-archive-list a:hover { color: inherit; text-decoration: none; }
.c-archive-list a:hover .c-archive-list_ttl { color: var(--color-link-hover); }
@media (max-width: 640px) {
  .c-archive-list_item:not(:has(a)),
  .c-archive-list_item a {
    flex-direction: column;
  }
}

/*--------------------------------------------------------------------------------
  .c-archive
--------------------------------------------------------------------------------*/
.c-archive_item {
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}
.c-archive_item:not(:last-of-type) { border-bottom: 0; }
.c-archive_item:not(:has(a)),
.c-archive_item a {
  display: grid;
  grid-column-gap: var(--box-space-m);
  padding: var(--box-space-m) 0;
}
.c-archive_item a { height: 100%; }
@media (min-width: 641px) {
  .c-archive_item:not(:has(a)),
  .c-archive_item a {
    grid-template-columns: minmax(min(calc(380 / 1400 * 100vw), 380px), 180px) 1fr;
    grid-template-rows: auto 1fr;
  }
  .c-archive_img { grid-area: 1 / 1 / 2 / 2; }
  .c-archive_content { grid-area:  1 / 2 / 2 / 3; }
}
.c-archive_content { padding-bottom: 1rem; }
.c-archive_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-archive_meta {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.5rem;
  row-gap: 0.75rem;
  margin-bottom: 0.25rem;
}
.c-archive_tag {
  font-size: var(--fs-2s);
}
.c-archive_date {
  color: var(--color-gray-light);
}
.c-archive_ttl {
  transition: var(--hover-trans);
  font-weight: bold;
  line-height: 1.6;
}
.c-archive_txt {
  padding-top: 1rem;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}
@media (min-width: 1000px) {
  .c-archive_ttl { font-size: var(--fs-l); }
  .c-archive_txt { -webkit-line-clamp: 3; }
}
@media (max-width: 999px) {
  .c-archive_ttl { font-size: var(--fs-m); }
  .c-archive_txt { -webkit-line-clamp: 2; }
}
@media (min-width: 641px) {
  .c-archive_img img { aspect-ratio: 1.25 / 1; }
  .c-archive_ttl { padding-top: 1.5rem; }
}
@media (max-width: 640px) {
  .c-archive_img { margin-bottom: 1.5rem; }
  .c-archive_img img { aspect-ratio: 1.5 / 1; }
  .c-archive_img { margin-top: 1rem; }
  .c-archive_meta { flex-direction: column; }
}
.c-archive a,
.c-archive a:hover { color: inherit; text-decoration: none; }
.c-archive a:hover .c-archive_ttl { color: var(--color-link-hover); }

/*--------------------------------------------------------------------------------
  .c-archive-column
--------------------------------------------------------------------------------*/
.c-archive-column { display: grid; }
.c-archive-column_item {
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}
@media (min-width: 641px) {
  .c-archive-column { grid-template-columns: repeat(2, 1fr); }
  .c-archive-column_item:nth-of-type(n+3) { border-top: 0; }
  .c-archive-column_item:nth-of-type(even) { border-left: 1px solid var(--border-color); }
}
@media (max-width: 640px) {
  .c-archive-column_item:not(:last-of-type) { border-bottom: 0; }
}

.c-archive-column_item:not(:has(a)),
.c-archive-column_item a {
  display: grid;
  grid-column-gap: var(--box-space-s);
}
.c-archive-column_item a { height: 100%; }
@media (min-width: 1000px) {
  .c-archive-column_item:not(:has(a)),
  .c-archive-column_item a {
    grid-template-columns: minmax(min(calc(240 / 1400 * 100vw), 240px), 160px) 1fr;
    grid-template-rows: auto 1fr;
  }
  .c-archive-column_img { grid-area: 1 / 1 / 3 / 2; }
  .c-archive-column_tag { grid-area:  1 / 2 / 2 / 3; }
  .c-archive-column_content { grid-area: 2 / 2 / 3 / 3; align-self: center; }
}
@media (min-width: 641px) {
  .c-archive-column_item:not(:has(a)),
  .c-archive-column_item a { padding: var(--box-space-s); }
  .c-archive-column_item:nth-of-type(odd):not(:has(a)),
  .c-archive-column_item:nth-of-type(odd) a { padding-left: 0; }
  .c-archive-column_item:nth-of-type(even),
  .c-archive-column_item:nth-of-type(even) a { padding-right: 0; }
}
@media (max-width: 640px) {
  .c-archive-column_item:not(:has(a)),
  .c-archive-column_item a { padding: var(--box-space-m) 0; }
}
.c-archive-column_content { padding-bottom: 1rem; }
.c-archive-column_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-archive-column_tag {
  font-size: var(--fs-2s);
}
.c-archive-column_date {
  color: var(--color-gray-light);
  display: inline-block;
  margin: 0.75rem 0 0.25rem 0;
}
.c-archive-column_ttl {
  transition: var(--hover-trans);
  font-weight: bold;
  font-size: var(--fs-m);
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media (min-width: 1000px) {
  .c-archive-column_img img { aspect-ratio: 1.25 / 1; }
}
@media (max-width: 999px) {
  .c-archive-column_img { margin-bottom: 1.5rem; }
  .c-archive-column_img img { aspect-ratio: 1.5 / 1; }
}
@media (max-width: 640px) {
  .c-archive-column_img { margin-top: 1rem; }
}
.c-archive-column a,
.c-archive-column a:hover { color: inherit; text-decoration: none; }
.c-archive-column a:hover .c-archive-column_ttl { color: var(--color-link-hover); }

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

  article

--------------------------------------------------------------------------------*/
.c-article { padding-bottom: var(--space-3l); }

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

/*--------------------------------------------------------------------------------
  .c-article-block
--------------------------------------------------------------------------------*/
.c-article-block:not(:last-of-type) {
  padding-bottom: var(--space-m);
}
.c-article-block:not(:has(.c-article-txt)) {
  padding-bottom: 0;
}
.c-article-block:not(:has(.c-article-txt)) + .c-article-block:has(.c-article-txt) {
  padding-top: var(--space-m);
}
.c-article-block:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}

/*--------------------------------------------------------------------------------
  .c-article-txt
--------------------------------------------------------------------------------*/
.c-article-txt ul:not([list="none"]) { margin-left: var(--list-mgl); list-style: inherit; }
.c-article-txt ol:not([list="none"]) { margin-left: var(--list-ol-mgl); list-style: inherit; }
.c-article-txt img { vertical-align: middle; }
.c-article-txt a { text-decoration: underline; }
.c-article-txt a:hover { text-decoration: none; }
.c-article-txt a[target="_blank"]:not([icon="none"]):not(:has(img)):after {
  content: "";
  width: var(--newwin-size);
  height: var(--newwin-size);
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  margin-left: var(--newwin-mgl);
  margin-right: var(--newwin-mgr);
  margin-bottom: var(--newwin-mgb);
  background: currentColor;
  color: currentColor;
  mask-repeat: no-repeat;
  mask-image: var(--icon-newwin);
  transition: var(--hover-trans);
}
.c-article-txt a[target="_blank"]:not([icon="none"]):not(:has(img)):after,
.c-article-txt a[target="_blank"]:not([icon="none"]):not(:has(img)):hover:after {
  color: inherit;
}

/*--------------------------------------------------------------------------------
  .c-article-heading
--------------------------------------------------------------------------------*/
.c-article-heading {
  margin: var(--space-s) 0;
}

/*--------------------------------------------------------------------------------
  .c-article-img
--------------------------------------------------------------------------------*/
.c-article-img.-center {
  text-align: center;
  padding-bottom: var(--space-s);
}
.c-article-txt + .c-article-img.-center {
  padding-top: var(--space-m);
}
.c-article-img img {
  max-width: inherit;
  width: 100%;
}
@media (min-width:641px) {
  .c-article-img.-left,
  .c-article-img.-right {
    display: inline-block;
    padding-bottom: 1.5rem;
  }
  .c-article-img.-left {
    float: left;
    margin-right: var(--space-s);
  }
  .c-article-img.-right {
    float: right;
    margin-left: var(--space-s);
  }
}
@media (max-width:640px) {
  .c-article-img.-left,
  .c-article-img.-right {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center;
    padding-bottom: var(--space-s);
  }
}

/* caption */
.c-article-img_cp {
  display: block;
  text-align: center;
  padding-top: 0.5rem;
  color: var(--color-gray);
}

/*--------------------------------------------------------------------------------
  .c-article-file
--------------------------------------------------------------------------------*/
.c-article-file {
  padding: 0.5rem 0;
}
.c-article-txt + .c-article-file {
  margin-top: 1.5rem;
}
.c-article-file_link {
  display: inline-block;
  position: relative;
  padding-left: 2.8rem;
  min-height: 2.4rem;
}
.c-article-file_link:before {
  content: "";
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: -0.4rem;
}
.c-article-file_link.-pdf:before { background-image: url("../image/icon/pdf.svg"); }
.c-article-file_link.-doc:before { background-image: url("../image/icon/doc.svg"); }
.c-article-file_link.-xls:before { background-image: url("../image/icon/xls.svg"); }
.c-article-file_link.-ppt:before { background-image: url("../image/icon/ppt.svg"); }
.c-article-file_link { text-decoration: underline; }
.c-article-file_link:hover { text-decoration: none; }

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

  alert

--------------------------------------------------------------------------------*/
.c-alert {
  margin-bottom: var(--space-m);
  text-align: left;
  line-height: 1.4;
  border: 1px solid var(--color-warning);
  line-height: 1.6;
  color: var(--color-warning);
  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(--color-warning);
  color: #fff;
  padding: 0.25rem 0.5rem;
  vertical-align: middle;
  white-space: nowrap;
}
.c-alert_mess {
  font-size: var(--fs-s);
}

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

  pager

--------------------------------------------------------------------------------*/
.c-pager {
  padding-top: var(--space-2l);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  column-gap: 0.5rem;
  row-gap: 1.5rem;
  line-height: 1;
}
.c-pager_item.-extend {  }
.c-pager_item-link {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0.5rem;
  color: inherit;
  text-decoration: none;
}
.c-pager_item-link:hover { color: var(--color-link-hover); text-decoration: none; }
.c-pager_item.is-active .c-pager_item-link,
.c-pager_item.is-active .c-pager_item-link:hover { color: var(--color-secondary); }

/* arrow
----------------------------------------*/
.c-pager_item.-prev { padding-right: 1rem; }
.c-pager_item.-next { padding-left: 1rem; }
