﻿@charset "utf-8";
/*--------------------------------------------------------------------------------
 
  Google検索

--------------------------------------------------------------------------------*/
.c-gsc * { box-sizing: border-box; }
.c-gsc .gsc-control-cse { background: none; border: none; padding: 0; }
.c-gsc .gsc-search-box { margin-bottom: 0 !important; }
.c-gsc .gsc-input { height: 100%; }
.c-gsc .gsc-input-box { height: 100%; padding: 0; }
.c-gsc .gsib_a { height: 100%; }
.c-gsc input.gsc-input { display: block; height: 100%!important; -webkit-appearance: none; background-color: transparent !important; }
.c-gsc .gsib_b { height: 100%; }
.c-gsc .gsst_b { height: 100%; padding: 0; }
.c-gsc .gsst_a { display: block; height: 100%; padding: 0; text-decoration: none; }
.c-gsc .gscb_a { height: 100%; line-height: 1; display: flex; justify-content: center; align-items: center; }
.c-gsc td.gsc-search-button { height: 100%; }
.c-gsc .gsc-search-button-v2 { height: 100%; border: none; display: flex; justify-content: center; align-items: center; margin-left: 0; padding: 0; }
.c-gsc .gsc-search-button-v2:hover,
.c-gsc .gsc-search-button-v2:focus { box-shadow: none; outline: none; }

/* 全体の高さ */
@media (min-width: 761px) { :root { --gsc-height: 2.25rem; } }
@media (max-width: 760px) { :root { --gsc-height: 2.5rem; } }
.c-gsc .gsc-search-box { height: var(--gsc-height); }

/* フィールドとボタンの間のマージン */
.c-gsc td.gsc-input { padding-right: 0 !important; }
/* フィールド */
.c-gsc .gsc-input-box {
  border: 0;
  border-right: 0;
  border-radius: 0;
}
.c-gsc .gsib_a { padding: 0 0 0 0.5rem; }
.c-gsc input.gsc-input {
  font-size: 1rem;
  background-size: auto min(1rem, 15px) !important; /* Google提供画像 */
}
/* クリアボタン */
.c-gsc .gscb_a {
  width: 1.75rem;
  font-size: 1.5rem;
  color: var(--color-primary-light) !important;
}
/* 検索ボタン */
.c-gsc .gsc-search-button-v2 {
  width: 3rem;
  background: var(--color-primary);
  border-radius: 0;
}
.c-gsc .gsc-search-button-v2:hover,
.c-gsc .gsc-search-button-v2:focus {
  background: var(--color-primary-light);
}
.c-gsc .gsc-search-button-v2 svg { width: 0.9rem; height: 0.9rem; }

/* 検索結果 */
@media (min-width: 761px) { :root { --gsc-results-wp-space: calc(100% - (var(--side-space) * 2)); } }
@media (max-width: 760px) { :root { --gsc-results-wp-space: calc(100% - 3rem); } }
.gsc-results-wrapper-overlay {
  width: var(--gsc-results-wp-space) !important;
  height: var(--gsc-results-wp-space) !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%);
}

/*--------------------------------------------------------------------------------
 
  heading

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-heading
--------------------------------------------------------------------------------*/
.c-heading {
  line-height: var(--line-height-s);
  font-family: var(--ff-go);
  font-weight: 500;
  border-top: 2px solid var(--color-gray-lighter2);
  position: relative;
}
.c-heading:not([class*="u-mgb"]) { margin-bottom: var(--heading-mgb, max(2rem, var(--space-s))); }
.c-heading_txt {
  display: inline-block;
  padding-top: max(1.5rem, var(--space-s));
  border-top: 2px solid var(--color-primary);
  margin-top: -2px;
}
.c-heading_label {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0.25em;
  padding: 0.5em;
  font-size: var(--fs-s-rem);
  color: #FFF;
  line-height: 1;
  background-color: var(--color-red-light);
}
@media (min-width: 761px) {
  .c-heading:not([class*="u-fs"]) { font-size: var(--fs, calc(var(--fs-3l) + 0.15rem)); }
}
@media (max-width: 760px) {
  .c-heading:not([class*="u-fs"]) { font-size: var(--fs, var(--fs-3l)); }
}

/*--------------------------------------------------------------------------------
  .c-heading2
--------------------------------------------------------------------------------*/
.c-heading2 {
  line-height: var(--line-height-s);
  font-family: var(--ff-go);
  font-weight: 600;
}
.c-heading2:not([class*="u-mgb"]) { margin-bottom: var(--heading2-mgb, clamp(1.5rem, var(--space-2s), 2rem)); }
.c-heading2:not([class*="u-fc"]) { color: var(--color, var(--color-primary)); }
.c-heading2:not([class*="u-fs"]) { font-size: var(--fs, var(--fs-3l)); }

/*--------------------------------------------------------------------------------
  .c-heading3
--------------------------------------------------------------------------------*/
.c-heading3 {
  line-height: var(--line-height-s);
  font-family: var(--ff-go);
  font-size: var(--fs-l);
  font-weight: 500;
  background-color: var(--bg, var(--pale-color-primary));
  color: #FFF;
  padding: 0.65rem 0.75rem;
}
.c-heading3:not([class*="u-mgb"]) { margin-bottom: var(--heading3-mgb, clamp(1.5rem, var(--space-2s), 2rem)); }
.c-heading3:not([class*="u-fs"]) { font-size: var(--fs, var(--fs-l)); }

/*--------------------------------------------------------------------------------
  .c-heading4
--------------------------------------------------------------------------------*/
.c-heading4 {
  line-height: var(--line-height-s);
  font-family: var(--ff-go);
  font-size: var(--fs-l);
  font-weight: 600;
  padding-left: clamp(0.5rem, 3vw, 1rem);
  border-left: clamp(2px, calc(4 / 400 * 100vw), 4px) solid var(--color-primary);
}
.c-heading4:not([class*="u-mgb"]) { margin-bottom: var(--heading4-mgb, clamp(1.5rem, var(--space-2s), 2rem)); }
.c-heading4:not([class*="u-fs"]) { font-size: var(--fs, var(--fs-2l)); }

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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  SVG 
--------------------------------------------------------------------------------*/
:root { 
  /* arrow（→） */
  --icon-arrow-alt-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-alt: 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-arrow-alt-thick: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M23.4140625,12l-8.2070312,8.2070312-1.4140625-1.4140625,5.7929688-5.7929688H2v-2h17.5859375l-5.7929688-5.7929688,1.4140625-1.4140625,8.2070312,8.2070312Z"/></svg>');

  /* arrow（>） */
  --icon-arrow-chevron: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><polygon points="9.6129485 1 8 2.6297523 17.2731665 12 8 21.3697746 9.6129485 23 20.5 12 9.6129485 1"/></svg>');
  --icon-arrow-chevron-circle: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M10.9418945,16.4423828l-.8837891-.8847656,3.5581055-3.5576172-3.5581055-3.5581055.8837891-.8837891,4.4418945,4.4418945-4.4418945,4.4423828ZM12,1.75C6.3481302,1.75,1.75,6.3481302,1.75,12s4.5981302,10.25,10.25,10.25,10.25-4.5981293,10.25-10.25S17.6518707,1.75,12,1.75M12,.5c6.3512707,0,11.5,5.1487298,11.5,11.5s-5.1487293,11.5-11.5,11.5S.5,18.3512707.5,12,5.6487298.5,12,.5h0Z"/></svg>');

  /* add・remove */
  --icon-add-circle: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12,1.75C6.3481302,1.75,1.75,6.3481302,1.75,12s4.5981302,10.25,10.25,10.25,10.25-4.5981293,10.25-10.25S17.6518707,1.75,12,1.75M12,.5c6.3512707,0,11.5,5.1487298,11.5,11.5s-5.1487293,11.5-11.5,11.5S.5,18.3512707.5,12,5.6487298.5,12,.5h0ZM16.6669922,12.625h-3.875v3.875h-1.25v-3.875h-3.8754883v-1.25h3.8754883v-3.875h1.25v3.875h3.875v1.25Z"/></svg>');
  --icon-remove-circle: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12,1.75C6.3481302,1.75,1.75,6.3481302,1.75,12s4.5981302,10.25,10.25,10.25,10.25-4.5981293,10.25-10.25S17.6518707,1.75,12,1.75M12,.5c6.3512707,0,11.5,5.1487298,11.5,11.5s-5.1487293,11.5-11.5,11.5S.5,18.3512707.5,12,5.6487298.5,12,.5h0ZM16.6669922,12.625H7.6665039v-1.25h9.0004883v1.25Z"/></svg>');
  --icon-add-fill-circle: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12,.5C5.6487427.5.5,5.6487427.5,12s5.1487427,11.5,11.5,11.5,11.5-5.1487427,11.5-11.5S18.3512573.5,12,.5ZM16.6669922,12.625h-3.875v3.875h-1.25v-3.875h-3.8754883v-1.25h3.8754883v-3.875h1.25v3.875h3.875v1.25Z"/></svg>'); 
  --icon-remove-fill-circle: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12,.5C5.6487427.5.5,5.6487427.5,12s5.1487427,11.5,11.5,11.5,11.5-5.1487427,11.5-11.5S18.3512573.5,12,.5ZM16.6669922,12.625H7.6665039v-1.25h9.0004883v1.25Z"/></svg>');

  /* SNS */
  --icon-fb: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M16.6662114,5.0205501c.6982318,0,1.2602204.0167519,1.5837886.0502556V1.3350442c-.6130773-.1675221-2.1117182-.3350442-2.9802421-.3350442-4.5810636,0-6.6927784,2.1275415-6.6927784,6.7176688v1.7757422h-2.8269795v4.1210647h2.8269795l-.0012652,9.3855243h4.9719166l.0020952-9.3855243h3.7086505l.7693087-4.1210647h-4.4779592v-1.4574465c0-2.1778005.8685306-3.0154143,3.1164852-3.0154143Z"/></svg>');
  --icon-fb02: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M23.5,12.0422676C23.5,5.6676474,18.3512765.5,12,.5S.5,5.6676474.5,12.0422676c0,5.4130755,3.7129109,9.9550762,8.72186,11.202371v-7.6752191h-2.3713977v-3.5271519h2.3713977v-1.5198287c0-3.9286148,1.7714015-5.7495428,5.614204-5.7495428.728557,0,1.9856844.1433794,2.4999613.2867588v3.1973772c-.2714236-.0286753-.742845-.043013-1.3285532-.043013-1.8856855,0-2.6142482.7168999-2.6142482,2.5808437v1.2474046h3.7563138l-.6453308,3.5271519h-3.110983v7.9305805c5.6941453-.6902845,10.1067761-5.5564944,10.1067761-11.4577324Z"/></svg>');
  --icon-insta: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12.0000017,6.2781897c-3.1354972.0001213-5.6772215,2.542017-5.6771001,5.6774826.0001213,3.1354652,2.5420426,5.6771646,5.6775398,5.6770437,3.1354112-.0001225,5.6771001-2.541884,5.6771001-5.6772636-.0060526-3.1330407-2.5444675-5.6713311-5.6775398-5.6772628ZM12.0000017,15.592676c-2.0086816-.0001208-3.6369417-1.6285613-3.6368204-3.6372227s1.6285777-3.6369051,3.6372594-3.6367838c2.0085096.0001213,3.6366988,1.6282936,3.6368204,3.636783-.0089152,2.0050788-1.6321604,3.6283085-3.6372594,3.6372236ZM17.8993005,4.8587639c.710426,0,1.28634.5759083,1.28634,1.2863271s-.5759141,1.2863271-1.28634,1.2863271-1.28634-.5759083-1.28634-1.2863271.5759141-1.2863271,1.28634-1.2863271ZM21.2257011,2.8185044c-1.1530194-1.1974479-2.7942192-1.8185016-4.6571797-1.8185016H7.4314811C3.5726813,1.0000027,1.0000014,3.5726567,1.0000014,7.431418v9.0927279c0,1.9071605.62106,3.5483438,1.86296,4.7460118,1.1976801,1.1532277,2.7940002,1.7298424,4.6129597,1.7298424h9.0483795c1.9071797,0,3.5039404-.6210533,4.6571797-1.7298424,1.1976801-1.1532277,1.8185197-2.7939712,1.8185197-4.7015731V7.431418c.0000017-1.8629413-.6210579-3.4596851-1.7742989-4.6129136ZM21.0483812,16.5683663c0,1.3749862-.4879605,2.4837752-1.28634,3.2379279s-1.9071797,1.1532277-3.2379605,1.1532277H7.4757011c-1.3305601,0-2.4395802-.3992965-3.2379601-1.1532277-.7983799-.7983715-1.1976801-1.9071605-1.1976801-3.2821467V7.431418c0-1.3305467.3993001-2.4395556,1.1976801-3.2379275.75394-.7539324,1.9071801-1.1532285,3.2379601-1.1532285h9.1372594c1.3305592,0,2.4395793.3992961,3.2379605,1.197668.7958484.870382,1.2249081,2.0144273,1.1976801,3.193488v9.1369483h-.0002199Z"/></svg>');
  --icon-x: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M14.0479843,10.3154986L22.061874,1h-1.8990351l-6.9584596,8.0885164L7.6466776,1H1.2365273l8.4043349,12.2312693L1.2365273,23h1.899143l7.3483131-8.541748,5.8693391,8.541748h6.4101504l-8.7159548-12.6845014h.0004664ZM11.4468468,13.3390299l-.8515334-1.2179584L3.8199581,2.4296474h2.9169727l5.4677903,7.8212882.8515345,1.2179584,7.107479,10.166478h-2.9169718l-5.7999159-8.2958757v-.0004664Z"/></svg>');
  --icon-line: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M19.0580092,9.863992c.3336958,0,.6042097.2705139.6042097.6042106,0,.3336958-.2705139.6042097-.6042097.6042097h-1.6817592v1.0782399h1.6817592c.333187-.0002422.603485.2696637.6037272.6028516s-.2696629.6034859-.6028516.6037281h-2.2873043c-.3317954-.002018-.599986-.2710298-.6009898-.6028296v-4.5724002c.0010107-.3330224.270728-.6027397.60375-.60375h2.2866586c.3334414.000762.6031323.2716883.6023708.6051301-.0007633.3334423-.2716896.6031323-.605131.6023699h-1.6819891v1.0782399h1.6817592ZM15.36375,12.7541725c-.0006756.2596353-.1674524.4896949-.4139998.5710904-.0616149.0197937-.1259532.0298055-.1906697.0296704-.1921445.0041123-.3743466-.0852314-.48875-.23966l-2.3411702-3.1788316v2.8175c.0065023.3326167-.2578665.6075254-.5904823.6140276-.3326167.0065014-.6075254-.2578665-.6140276-.5904823-.0001535-.0078482-.0001535-.0156981,0-.0235454v-4.5719396c.0000228-.2590623.1661723-.4889092.41216-.57017.0597092-.0209747.1225534-.0316304.1858397-.0315098.1867118.0056218.3609745.0949918.4744899.2433401l2.35911,3.19125v-2.8329103c0-.3334418.2703077-.60375.60375-.60375s.60375.2703082.60375.60375v4.5721704ZM9.8619205,12.7541725c0,.3329343-.2698962.6028296-.6028296.6028305-.3329343,0-.6028305-.2698962-.6028305-.6028305h0v-4.5721704c0-.3329338.2698962-.6028301.6028296-.6028301.3329343,0,.6028305.2698962.6028305.6028301v4.5721704ZM7.4986702,13.3570021h-2.2866603c-.3323017-.0018793-.6013635-.2705315-.60375-.6028296v-4.5721704c0-.3334418.2703082-.60375.60375-.60375s.60375.2703082.60375.60375v3.9684204h1.6829099c.3331878.0002422.6030942.2705402.602852.6037281-.0002422.3328456-.2700064.6026103-.602852.6028516M23.5,10.2961624C23.5,5.148992,18.3392592.9600021,12,.9600021S.5,5.148992.5,10.2961624c0,4.6103496,4.09216,8.473429,9.6167601,9.208279.3746704.0786607.8845802.2472493,1.0138402.56534.0892331.3379599.1016507.6916144.0363402,1.035l-.1570897.9775c-.0430101.2884195-.23,1.1366603,1.0053296.6182408s6.6279103-3.9090805,9.0429103-6.6851804c1.6523196-1.8103296,2.4419093-3.6639001,2.4419093-5.7191794"/></svg>');
  --icon-line02: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M17.7603451,14.6258304h.0003381c-1.5388804,1.7711683-4.9800319,3.9285884-5.7629311,4.2584693-.7827723.3298174-.6673257-.2101028-.635337-.3954217.0186566-.1103547.1047133-.6279209.1047133-.6279209.0246571-.187305.0502016-.4778444-.0237485-.6632056-.0821903-.2042079-.4073805-.3101045-.6461971-.3617216-3.5248208-.4658434-6.1342451-2.9300719-6.1342451-5.872483,0-3.2820744,3.2906737-5.952328,7.3348143-5.952328,4.0444998,0,7.3348354,2.6702536,7.3348354,5.952328,0,1.3135228-.5092838,2.4965131-1.5722424,3.6622836ZM23,19.9999894V4.0000106c0-1.6568542-1.3431458-3-3-3H4c-1.6568542,0-3,1.3431458-3,3v15.9999788c0,1.6568542,1.3431458,3,3,3h16c1.6568542,0,3-1.3431458,3-3ZM16.8924668,12.8587188h-2.0606934c-.0773518,0-.1400404-.0626886-.1400404-.1400404v-3.2010885c0-.0773518.0626886-.1400404.1400404-.1400404h2.0606934c.0770349,0,.1400615.0630055.1400615.1400404v.520165c0,.0773518-.0627097.1400615-.1400615.1400615h-1.4004669v.5401738h1.4004669c.0770349,0,.1400615.0630266.1400615.1400615v.520165c0,.0773518-.0627097.1400615-.1400615.1400615h-1.4004669v.5401738h1.4004669c.0770349,0,.1400615.0630266.1400615.1400404v.5201861c0,.0773518-.0627097.1400404-.1400615.1400404ZM7.2119131,12.8587188h-.0027467c-.0773518,0-.1400404-.0626886-.1400404-.1400404v-3.2010885c0-.0773518.0626886-.1400404.1400404-.1400404h.5201861c.0770137,0,.1400404.0630055.1400404.1400404v2.540862h1.4004881c.0770168,0,.1400404.0630266.1400404.1400404v.5201861c0,.0773518-.0627097.1400404-.1400404.1400404h-2.0579678ZM10.6504659,9.5175688v3.2011096c0,.0773307-.0626854.1400404-.1400404.1400404h-.5201861c-.0773307,0-.1400404-.0627097-.1400404-.1400404v-3.2011096c0-.0773307.0627097-.1400404.1400404-.1400404h.5201861c.0773549,0,.1400404.0627097.1400404.1400404ZM14.1916857,9.5175688v3.2011096c0,.0773307-.0627129.1400404-.1400436.1400404h-.5173337c-.012656,0-.0248895-.0018171-.0365947-.0049018-.0006761-.000169-.0013522-.0003381-.002004-.0005282-.0032993-.0009085-.0064897-.001965-.009659-.0030848-.001479-.0005282-.0029791-.0010564-.004437-.0016269-.0023241-.0009297-.0045849-.0019227-.0068668-.002958-.002303-.0010353-.0045638-.0021129-.0067823-.0032749-.0013945-.0007184-.0027467-.001479-.0040778-.0022396-.0029791-.0016692-.0059371-.003444-.0087895-.0053455-.0005705-.0003592-.0010987-.0007395-.0016448-.0011198-.0136734-.0092966-.0260125-.0209807-.036112-.0352636l-1.4664304-1.9803836v1.9006866c0,.0773307-.0626886.1400404-.1400404.1400404h-.5201861c-.0773307,0-.1400372-.0627097-.1400372-.1400404v-3.2011096c0-.0773307.0627065-.1400404.1400372-.1400404h.5173126c.0016269,0,.0032115.0001902.0047962.0002535.0025143.0000634.0049863.0001479.0074795.0003592.0025354.0002113.0050497.0005705.007564.0009297.0019861.0002747.0039722.0005493.0059583.0009085.0028101.0005071.0055568.0011409.0083247.0018171.001648.0004014.0033172.0008029.0049652.0012677.0028735.000824.0056836.0017537.0084937.0027256.0015213.0005493.0030425.0010987.0045669.0016692.0027647.0010987.0054934.0022819.0081736.0035285.0015001.0006972.0030003.0013945.0044581.0021551.0026411.0013311.0051765.0027678.0077331.004268.0014367.0008451.0028766.0016903.0042891.0025988.0025354.0016269.0050075.0033383.007395.005092.0012888.0009508.0025566.0018593.0038031.0028312.002602.0020495.0051131.0042046.0076063.0064231.0008663.0008029.0017568.0015846.0026199.0023875.00294.002789.0057259.0057047.0084335.0087261.0003138.0003592.0006339.0006761.0009054.0010142.0040356.004606.0078598.0093811.0112615.0144731l1.4645922,1.9778905v-1.9012782c0-.0773307.0626886-.1400404.1400404-.1400404h.5201861c.0773307,0,.1400436.0627097.1400436.1400404Z"/></svg>');
  --icon-youtube: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M22.5404207,6.7048233c-.2551152-.948792-.9962288-1.6899055-1.9450208-1.9450208-1.7157791-.4597992-8.5953999-.4597992-8.5953999-.4597992,0,0-6.87962,0-8.5953999.4597992-.9487683.2551572-1.6898639.9962523-1.9450199,1.9450208-.4595802,1.7155592-.4595802,5.2951801-.4595802,5.2951801,0,0,0,3.5796191.45958,5.2951801.2551293.9488306.9962197,1.6900012,1.9450199,1.945239,1.7157802.459581,8.5954001.459581,8.5954001.459581,0,0,6.8796191,0,8.5953999-.459581.9488239-.2551974,1.6899307-.9963882,1.9450191-1.945239.459581-1.7153394.459581-5.2951801.459581-5.2951801,0,0,0-3.5796208-.4595793-5.2951801ZM9.8,15.3000034v-6.6l5.7155991,3.3-5.7155991,3.3Z"/></svg>');
  --icon-tiktok: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12.6820013,1h3.7620013s-.2087811,4.8329605,5.2247784,5.1719806v3.7358173s-2.8998199.1819391-5.2247784-1.5934592l.0406995,7.7131995c0,3.8506647-3.121579,6.9722369-6.9722403,6.9722369s-6.9722403-3.121579-6.9722403-6.9722369c0-3.8505774,3.1214447-6.9721194,6.9720221-6.9722403h.9776801v3.8196399c-1.671246-.521127-3.4485141.4112311-3.9696411,2.0824771-.521127,1.6712427.4112311,3.4485107,2.0824771,3.9696411,1.671246.5211237,3.4485141-.4112311,3.9696378-2.0824738.0952026-.3053198.1436566-.6232886.1437036-.9431036l-.0340997-14.9014786Z"/></svg>');

  --icon-fb-btn: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12,.5C5.6487427.5.5,5.6486816.5,12c0,6.3512573,5.1487427,11.5,11.5,11.5s11.5-5.1487427,11.5-11.5C23.5,5.6486816,18.3512573.5,12,.5ZM16,7.5905151c-.2070923-.0213623-.5667725-.0319824-1.0136108-.0319824-1.4387207,0-1.9945679.53302-1.9945679,1.9188843v.9274902h2.8659058l-.4923706,2.6224976h-2.3735352l-.0013428,5.9725952h-3.1820068l.0007935-5.9725952h-1.8092651v-2.6224976h1.8092651v-1.1300659c0-2.9209595,1.3515015-4.2748413,4.2833862-4.2748413.5558472,0,1.5149536.1065674,1.9073486.2131958v2.3773193Z"/></svg>');
  --icon-insta-btn: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12,.5C5.6487427.5.5,5.6486816.5,12c0,6.3512573,5.1487427,11.5,11.5,11.5s11.5-5.1487427,11.5-11.5C23.5,5.6486816,18.3512573.5,12,.5ZM18.5,14.699585c0,1.1272583-.3668823,2.0967407-1.074585,2.7781982-.6814575.6552124-1.625,1.0222168-2.7519531,1.0222168h-5.3468018c-1.0748291,0-2.0180664-.3407593-2.725769-1.0222168-.7338867-.7077026-1.1008911-1.6774902-1.1008911-2.8044434v-5.3729858c0-2.2801514,1.5202026-3.800354,3.800415-3.800354h5.3991699c1.1008301,0,2.0706177.3669434,2.7519531,1.0745239.6815186.6815186,1.0484619,1.625,1.0484619,2.7258301v5.399231ZM14.7258911,6.7055664h-5.399353c-.786377,0-1.4678345.2359619-1.9133301.6814575-.4718018.4718018-.7077026,1.1270752-.7077026,1.9133301v5.3729858c0,.8125.2359009,1.4677124.7077026,1.9394531.4717407.4454956,1.1270752.6813965,1.9133301.6813965h5.3468018c.786377,0,1.4415283-.2357178,1.913269-.6813965.4718628-.4456177.7601318-1.1008301.7601318-1.9133301h.0001221v-5.3991089c.0161133-.6967163-.2373657-1.3727417-.7077026-1.887085-.4717407-.4717407-1.1270752-.7077026-1.913269-.7077026ZM12.0003052,15.3283691c-1.8528442.0001221-3.3548584-1.50177-3.3549194-3.3545532-.0001221-1.8527832,1.5018311-3.3548584,3.3546143-3.3549194,1.8513794.00354,3.3513184,1.503418,3.3549194,3.3547363,0,1.8527222-1.5018921,3.3546753-3.3546143,3.3547363ZM15.4859619,9.300354c-.4197998,0-.7600708-.340332-.7600708-.7601318s.340271-.7600708.7600708-.7600708.7601318.340271.7601318.7600708-.340332.7601318-.7601318.7601318ZM14.149292,11.9736328c-.005249,1.1848755-.9644165,2.144043-2.149292,2.149292-1.1869507-.0001221-2.1490479-.9623413-2.1490479-2.149292.000061-1.1868896.9624023-2.1491089,2.149353-2.1489868,1.1868286.000061,2.1488647.9621582,2.1489868,2.1489868Z"/></svg>');
  --icon-x-btn: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M13.0464944,11.1392408l4.0949974-4.7601033h-.9703832l-3.5556859,4.1331308-2.839916-4.1331308h-3.2755067l4.29451,6.2500257-4.29451,4.9916993h.9704383l3.7548961-4.3647265,2.9991589,4.3647265h3.2755067l-4.4537439-6.4816217h.0002383ZM11.7215121,12.6676155l-.4351229-.6223615-3.4621218-4.9521966h1.4905366l2.7939725,3.9965805.4351235.6223615,3.6318329,5.1949431h-1.4905361l-2.9636845-4.2390887v-.0002383ZM.5,12C.5,5.6487254,5.6487254.5,12,.5s11.5,5.1487254,11.5,11.5-5.1487254,11.5-11.5,11.5S.5,18.3512746.5,12Z"/></svg>');
  --icon-line-btn: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M23.5,12c0,6.3512573-5.1487427,11.5-11.5,11.5S.5,18.3512573.5,12C.5,5.6486816,5.6487427.5,12,.5s11.5,5.1486816,11.5,11.5ZM14.1498538,10.1157637v2.9222097c-.0004272.1659321-.1070254.3130119-.2645727.3650292-.0394135.0126572-.0804827.0190659-.1218722.0189591-.1227801.0026169-.2392584-.054474-.312371-.1531681l-1.496326-2.03172v1.800793c.0041657.2125554-.1648106.3882608-.377366.3924264-.2126088.0041657-.3883142-.1648106-.3924798-.3774194-.0000534-.0050202-.0000534-.0100403,0-.0150071v-2.9221029c.0000534-.1655582.1062243-.3124778.2634512-.3643883.0381318-.0134049.0783464-.0202408.1187747-.020134.1193087.0035782.2307134.0607225.3032386.1555179l1.5078083,2.0396241v-1.8106197c0-.2130895.172768-.3858575.3858575-.3858575s.3858575.172768.3858575.3858575ZM10.2481802,9.7304936c-.212769,0-.38527.172501-.38527.38527v2.9222097c0,.2128224.172501.3853234.38527.3853234.2128224,0,.3853234-.172501.3853234-.3853234v-2.9222097c0-.212769-.172501-.38527-.3853234-.38527ZM9.1230785,12.6521159h-1.0755945v-2.5363522c0-.2130895-.172768-.3858575-.3859109-.3858575-.2130895,0-.3858575.172768-.3858575.3858575v2.9222097c.0015488.2123952.1735157.3840951.3858575.3853234h1.4615054c.2127156-.0001602.3851098-.1726078.38527-.3853234.0001602-.2129293-.1723408-.3856973-.38527-.3858575ZM16.5111415,10.5016746c.2130895.0004807.3862848-.1719135.3867654-.385003.0004807-.2131429-.1719135-.3862848-.385003-.3867654h-1.4615054c-.2128224.0006409-.3852166.1730351-.3858575.3858575v2.9223699c.0006409.2120748.1720738.3839883.3840951.38527h1.4619326c.2129293-.0001602.3854303-.1728748.38527-.3858575-.0001602-.2129293-.1729282-.3854303-.3858575-.38527h-1.0748468v-.6891495h1.0748468c.2133031,0,.3861779-.1728748.3861779-.3861779,0-.2132497-.1728748-.3861779-.3861779-.3861779h-1.0748468v-.6890961h1.075007ZM19.3499847,11.4669859c0-3.2896956-3.2984007-5.9669859-7.3499847-5.9669859s-7.3499847,2.6772903-7.3499847,5.9669859c0,2.9466162,2.6153929,5.4156236,6.1463763,5.8853283.2394186.0502549.5653547.1579746.6479736.3612908.0569841.2160268.0649416.4420405.0231782.6614853l-.1004031.6247954c-.0274506.1843037-.146973.7264268.6425796.3950967.7894992-.3313301,4.2361012-2.4983806,5.7795847-4.2726843,1.0560479-1.1570385,1.5606801-2.3416878,1.5606801-3.6553123Z"/></svg>');
  --icon-youtube-btn: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M18.2284304,8.87103c-.1507499-.5606498-.5886806-.9985806-1.1493304-1.1493304-1.0138695-.2716995-5.0791-.2716995-5.0791-.2716995,0,0-4.06523,0-5.0791.2716995-.5606358.1507747-.9985559.5886945-1.1493299,1.1493304-.2715701,1.0137395-.2715701,3.12897-.2715701,3.12897,0,0,0,2.1152295.27157,3.12897.1507582.5606726.5886753.9986371,1.1493299,1.1494594,1.0138701.2715706,5.0791001.2715706,5.0791001.2715706,0,0,4.0652295,0,5.0791-.2715706.5606686-.1507985.9985954-.5887749,1.1493295-1.1494594.2715706-1.0136096.2715706-3.12897.2715706-3.12897,0,0,0-2.1152305-.2715696-3.12897ZM10.7,13.95v-3.9l3.3773994,1.95-3.3773994,1.95ZM.5,12C.5,5.6487254,5.6487254.5,12,.5s11.5,5.1487254,11.5,11.5-5.1487254,11.5-11.5,11.5S.5,18.3512746.5,12Z"/></svg>');
  --icon-tiktok-btn: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12.3320951,5.5h2.1633628s-.1200609,2.8558695,3.0045421,3.0562016v2.207551s-1.6675599.1075106-3.0045421-.9415991l.0234045,4.5578463c0,2.275416-1.7950839,4.1200003-4.0094312,4.1200003s-4.0094312-1.8445883-4.0094312-4.1200003c0-2.2753644,1.7950067-4.1199309,4.0093057-4.1200023h.5622211v2.257083c-.9610607-.3079418-1.98309.2430027-2.2827674,1.2305672-.2996774.9875626.2364811,2.0377772,1.1975417,2.345721.9610607.3079399,1.98309-.2430027,2.2827655-1.2305653.0547469-.1804181.0826107-.3683107.0826377-.5572942l-.0196093-8.8055092ZM12,23.7527c6.490837,0,11.7527-5.261863,11.7527-11.7527S18.490837.2473,12,.2473.2473,5.509163.2473,12s5.261863,11.7527,11.7527,11.7527Z"/></svg>');
  
  /* nav */
  --icon-nav-dl: url("../img/icon/dl.svg");
  --icon-nav-access: url("../img/icon/access.svg");
  --icon-nav-reserve: url("../img/icon/reserve.svg");
  --icon-nav-contact: url("../img/icon/contact.svg");
  
  --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.7459206,19.704165l-2.8543227-3.6529226c-.4181492-.5306909-1.1999064-.6368291-1.7453184-.2388109l-1.727138,1.2471237c-.499961.3626388-1.1999064.3095697-1.6453262-.1238279,0,0-1.3089888-1.1056061-3.3270131-3.6971468-2.0271145-2.5915407-2.7816011-4.1128547-2.7816011-4.1128547-.3090668-.5218461-.1636236-1.1940546.3363374-1.5566934l1.7180478-1.2471237c.5545022-.3980182.6635846-1.1586752.2454354-1.6893661L7.1106989.97962c-.4181492-.5306909-1.1999064-.6368291-1.7453184-.2388109l-2.2907303,1.6628316c-2.4270833,1.7601249-.5272316,8.4114512,3.5360877,13.6122224s10.1810237,8.7917797,12.6081071,7.0316548l2.2816401-1.6628316c.5545022-.3980182.6635846-1.1498303.2454354-1.6805213Z"/></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.9999938,1v10.3563823h-1.5V3.5606079l-11.3617219,11.3621492-1.0605469-1.0605469L20.439508,2.5h-7.7958965v-1.5h10.3563823Zm-1.4999938,14.3959941v4.6040059c0,.8270874-.6729126,1.5-1.5,1.5H4c-.8270874,0-1.5-.6729126-1.5-1.5V4c0-.8270874.6729126-1.5,1.5-1.5h4.5776997v-1.5h-4.5776997c-1.6568604,0-3,1.3431396-3,3v16c0,1.6568604,1.3431396,3,3,3h16c1.6568604,0,3-1.3431396,3-3v-4.6040059h-1.5Z"/></svg>');
  --icon-down: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M11.191949,19.5642049L1.6888277,5.657541c-.4731789-.692441-.0026932-1.6575413.8080502-1.6575413h19.0062432c.8107445,0,1.2812306.9651003.8080509,1.6575413l-9.5031216,13.9066639c-.3970671.5810604-1.2190342.5810604-1.6161013,0Z"/></svg>');
  --icon-up: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12.8080503,4.4357951l9.5031216,13.9066639c.4731797.692441.0026937,1.6575413-.8080509,1.6575413H2.4968778c-.8107433,0-1.281229-.9651003-.8080502-1.6575413L11.191949,4.4357951c.3970671-.5810604,1.2190342-.5810604,1.6161013,0Z"/></svg>');
  --icon-search: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M23.2777708,22.2556966l-6.6542236-6.4735704c1.5959317-1.6915717,2.4731145-3.8816305,2.4731145-6.179888C19.0966616,4.5830717,14.925213.5000177,9.7983308.5000177S.5,4.5830717.5,9.6022382c0,5.0244798,4.1714486,9.1128472,9.2983308,9.1128472,2.0693013,0,4.1028583-.6907331,5.7374324-1.9466116l6.7218479,6.531534c.1449091.1304181.319766.1999745.5071817.1999745.1951442,0,.3825599-.0753527.5168423-.208669.1429769-.143943.2202618-.3323248.2183296-.5303671-.0038642-.1941781-.0830812-.3728993-.2221939-.5052496ZM17.6253517,9.6022382c0,4.2245819-3.5116293,7.6608585-7.8270209,7.6608585-4.3163576,0-7.827987-3.4362766-7.827987-7.6608585C1.9703438,5.3834527,5.4819732,1.9510403,9.7983308,1.9510403c4.3153915,0,7.8270209,3.4324124,7.8270209,7.6511979Z"/></svg>');
}

/*--------------------------------------------------------------------------------
  .c-icon
--------------------------------------------------------------------------------*/
:root { --default-icon-size: 1rem; }
.c-icon {
  width: var(--icon-size, var(--default-icon-size));
  height: var(--icon-size, var(--default-icon-size));
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  background: currentColor;
  color: var(--icon-color, currentColor);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
}
.c-icon.-nav-dl { mask-image: var(--icon-nav-dl); }
.c-icon.-nav-access { mask-image: var(--icon-nav-access); }
.c-icon.-nav-reserve { mask-image: var(--icon-nav-reserve); }
.c-icon.-nav-contact { mask-image: var(--icon-nav-contact); }
.c-icon.-search { mask-image: var(--icon-search); }

/*--------------------------------------------------------------------------------
  .c-sns
--------------------------------------------------------------------------------*/
:root { --default-sns-size: 1.4rem; }
.c-sns {
  width: var(--sns-size, var(--default-sns-size));
  height: var(--sns-size, var(--default-sns-size));
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  background: currentColor;
  color: currentColor;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
}
.c-sns.-fb { mask-image: var(--icon-fb); }
.c-sns.-fb02 { mask-image: var(--icon-fb02); }
.c-sns.-insta { mask-image: var(--icon-insta); }
.c-sns.-x { mask-image: var(--icon-x); }
.c-sns.-line { mask-image: var(--icon-line); }
.c-sns.-line02 { mask-image: var(--icon-line02); }
.c-sns.-youtube { mask-image: var(--icon-youtube); }
.c-sns.-tiktok { mask-image: var(--icon-tiktok); }

.c-sns.-fb-btn { mask-image: var(--icon-fb-btn); }
.c-sns.-insta-btn { mask-image: var(--icon-insta-btn); }
.c-sns.-x-btn { mask-image: var(--icon-x-btn); }
.c-sns.-line-btn { mask-image: var(--icon-line-btn); }
.c-sns.-youtube-btn { mask-image: var(--icon-youtube-btn); }
.c-sns.-tiktok-btn { mask-image: var(--icon-tiktok-btn); }

/* color
----------------------------------------*/
.c-sns.-color[class*="-fb"] { background-color: #0866FF; }
.c-sns.-color[class*="-insta"] {
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  overflow: hidden;
}
.c-sns.-color[class*="-insta"]:before {
  content: "";
  width: 110%;
  height: 110%;
  position: absolute;
  left: -25%;
  top: 45%;
  background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
  background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
}
.c-sns.-color[class*="-x"] { background-color: #000; }
.c-sns.-color[class*="-line"] { background-color: #06c755; }
.c-sns.-color[class*="-youtube"] { background-color: #FF0000; }
.c-sns.-color[class*="-tiktok"] { background-color: #000; }

/* button
----------------------------------------*/
:root {
  --sns-btn-outline: 1px solid var(--border-color);
  --sns-btn-outline-hover: var(--sns-btn-outline);
  --sns-btn-bg: transparent;
  --sns-btn-bg-hover: transparent;
  --sns-btn-pd: 0.8rem;
}
.c-sns-btn {
  border: var(--sns-btn-outline);
  background-color: var(--sns-btn-bg);
  border-radius: 100%;
  padding: var(--sns-btn-pd);
  line-height: 1;
  display: inline-flex;
  vertical-align: top;
  transition: var(--hover-trans);
}
@media (hover: hover) {
  .c-sns-btn:hover {
    border: var(--sns-btn-outline-hover);
    background-color: var(--sns-btn-bg-hover);
  }
  .c-sns-btn .c-sns { transition: opacity 0.2s ease-in-out; }
  .c-sns-btn:hover .c-sns { opacity: 0.6; }
}

/*--------------------------------------------------------------------------------
  .c-file
--------------------------------------------------------------------------------*/
:root {
  --default-file-size: 2rem;
}
.c-file {
  width: var(--file-size, var(--default-file-size));
  height: var(--file-size, var(--default-file-size));
  margin: var(--file-mgt, 0) var(--file-mgr, 0.75rem) var(--file-mgb, 0) var(--file-mgl, 0);
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.c-file.-pdf { background-image: url("../img/icon/pdf.svg"); }
.c-file.-doc { background-image: url("../img/icon/doc.svg"); }
.c-file.-xls { background-image: url("../img/icon/xls.svg"); }
.c-file.-ppt { background-image: url("../img/icon/ppt.svg"); }

/*--------------------------------------------------------------------------------
  .c-arrow
--------------------------------------------------------------------------------*/
:root {
  /* default */
  --default-arrow-size: 2.2rem;
  --default-arrow-outline: 1px solid transparent;
  --default-arrow-outline-hover: 1px solid transparent;
  --default-arrow-bg: var(--color-primary);
  --default-arrow-bg-hover: var(--color-primary-light);
  --default-arrow-color: #FFF;
  --default-arrow-color-hover: #FFF;
}
.c-arrow.-gray-line {
  --arrow-bg: #FFF;
  --arrow-bg-hover: var(--color-primary);
  --arrow-outline: 1px solid var(--color-gray-light);
  --arrow-outline-hover: 1px solid var(--color-primary);
  --arrow-color: var(--color-primary);
  --arrow-color-hover: #FFF;
}
.c-arrow.-disabled {
  --arrow-bg: var(--color-gray-lighter);
  --arrow-bg-hover: var(--color-gray-lighter);
  --arrow-outline: 1px solid var(--color-gray-lighter);
  --arrow-outline-hover: 1px var(--color-gray-lighter);
  --arrow-color: #FFF;
  --arrow-color-hover: #FFF;
}
.c-arrow {
  cursor: pointer;
  display: inline-block;
  line-height: 1;
  width: var(--arrow-size, var(--default-arrow-size));
  height: var(--arrow-size, var(--default-arrow-size));
  border: var(--arrow-outline, var(--default-arrow-outline));
  background-color: var(--arrow-bg, var(--default-arrow-bg));
  color: var(--arrow-color, var(--default-arrow-color));
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  transition: var(--hover-trans);
}
.c-arrow.-prev { transform: scale(-1, 1); }
.c-arrow:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background: currentColor;
  color: currentColor;
  mask-image: var(--icon-arrow-alt-thick);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 38%;
}

/* .newwin
----------------------------------------*/
.c-arrow.-newwin:after {
  mask-image: var(--icon-newwin);
}

/*--------------------------------------------------------------------------------
  .c-arrow2
--------------------------------------------------------------------------------*/
:root {
  /* default */
  --default-arrow2-size: 1.2rem;
  --default-arrow2-outline: 1px solid var(--color-gray-dark);
  --default-arrow2-outline-hover: 1px solid var(--color-primary);
  --default-arrow2-color: var(--color-gray-dark);
  --default-arrow2-color-hover: var(--color-primary);
}
.c-arrow-txt:has(.c-arrow2) {
  --default-arrow-size: var(--default-arrow2-size);
}
.c-arrow2 {
  display: inline-block;
  vertical-align: top;
  width: var(--arrow2-size, var(--default-arrow2-size));
  height: var(--arrow2-size, var(--default-arrow2-size));
  line-height: 1;
  background: currentColor;
  color: var(--arrow2-color, var(--default-arrow2-color));
  mask-image: var(--icon-arrow-chevron-circle);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  transition: var(--hover-trans);
}
.c-arrow2.-prev { transform: scale(-1, 1); }
.c-arrow2.-up { transform: rotate(-90deg); }
.c-arrow2.-down { transform: rotate(90deg); }
@media (hover: hover) {
  .c-arrow-txt:hover .c-arrow2,
  .c-arrow2:hover, a:hover .c-arrow2,
  .js_linkblock:hover .c-arrow2 {
    color: var(--arrow2-color-hover, var(--default-arrow2-color-hover));
  }
}

/*--------------------------------------------------------------------------------
  .c-arrow-txt
--------------------------------------------------------------------------------*/
.c-arrow-txt {
  --link-color: var(--txt-color);
  --link-color-hover: var(--color-primary);
  --link-deco: none;
  --link-deco-hover: none;
  --default-arrow-txt-ff: ;
  --default-arrow-txt-fs: ;
  --default-arrow-txt-fw: ;
  --default-arrow-txt-cgap: min(0.5rem + 0.25vw);
}
.c-arrow-txt:not(:has(.c-arrow2)) { --arrow-txt-cgap: clamp(1rem, 4vw, 1.25rem); }
.c-arrow-txt .c-arrow { flex-shrink: 0; }
.c-arrow-txt .c-arrow2 { vertical-align: middle; margin-bottom: 0.25rem; margin-left: var(--arrow-txt-cgap, var(--default-arrow-txt-cgap)); }
.c-arrow-txt {
  line-height: var(--line-height);
  vertical-align: top;
  position: relative;
  transition: var(--hover-trans);
}
.c-arrow-txt:has(.c-arrow) {
  display: inline-flex;
  align-items: center;
  column-gap: var(--arrow-txt-cgap, var(--default-arrow-txt-cgap));
}
.c-arrow-txt:not([class*="u-ff"]) { font-family: var(--arrow-txt-ff, var(--default-arrow-txt-ff)); }
.c-arrow-txt:not([class*="u-fs"]) { font-size: var(--arrow-txt-fs, var(--default-arrow-txt-fs)); }
.c-arrow-txt:not([class*="u-fw"]) { font-weight: var(--arrow-txt-fw, var(--default-arrow-txt-fw)); }

/*--------------------------------------------------------------------------------
  .c-icon-txt
--------------------------------------------------------------------------------*/
.c-icon-txt:has(.c-file) {
  --icon-txt-mgt: calc(-1 * (var(--file-size, var(--default-file-size)) / 2) + 0.85em);
  --icon-txt-pdt: calc((var(--file-size, var(--default-file-size)) / 2) - 0.85em);
  --file-mgt: 0;
  --file-mgr: 0;
  --file-mgb: 0;
  --file-mgl: 0;
}
.c-icon-txt:has(.c-icon) {
  --icon-txt-mgt: calc(-1 * (var(--icon-size, var(--default-icon-size)) / 2) + 0.85em);
  --icon-txt-pdt: calc((var(--icon-size, var(--default-icon-size)) / 2) - 0.85em);
}
.c-icon-txt .c-icon,
.c-icon-txt .c-file { flex-shrink: 0; margin-top: var(--icon-txt-mgt); }
.c-icon-txt {
  --link-color: var(--txt-color);
  --link-color-hover: var(--color-primary);
  --link-deco: none;
  --link-deco-hover: none;
  line-height: var(--line-height);
  display: inline-flex;
  vertical-align: top;
  position: relative;
  transition: var(--hover-trans);
  padding-top: var(--icon-txt-pdt);
}
.c-icon-txt:not([class*="u-cgap"], [class*="u-gap"]) {
  column-gap: min(0.5rem + 0.25vw);
}

/*--------------------------------------------------------------------------------
  .c-newwin
--------------------------------------------------------------------------------*/
:root { --newwin-size: 0.75rem; --newwin-mgl: 0.5rem; --newwin-mgr: 0.5rem; --newwin-mgb: 0.1rem; }
.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; }

/*--------------------------------------------------------------------------------
  .c-tel
--------------------------------------------------------------------------------*/
.c-tel {
  --link-color: var(--color-primary);
  --link-color-hover: var(--color-primary);
  --link-deco: none;
  --link-deco-hover: none;
  font-weight: var(--tel-fw, 600);
  line-height: 1;
  display: inline-flex;
  vertical-align: top;
  text-decoration: none;
}
.c-tel:not([class*="u-fc"]) {
  color: var(--tel-color, var(--color-primary));
}
.c-tel:not([class*="u-fs"]) {
  font-size: var(--tel-fs, var(--fs-4l));
}
.c-tel:before {
  content: "";
  width: 1em;
  height: 1em;
  background: var(--tel-icon-bg, var(--color-primary));
  color: currentColor;
  mask-image: var(--icon-tel);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 80%;
}

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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-btn
--------------------------------------------------------------------------------*/
:root {
  /* default */
  --default-btn-fs: inherit;
  --default-btn-ff: inherit;
  --default-btn-fw: inherit;
  --default-btn-txt: var(--txt-color);
  --default-btn-txt-hover: var(--color-primary);
  --default-btn-icon-size: 1.5rem;
  --default-btn-icon-side: 0.75rem;
  --default-btn-arrow-size: 1rem;
  --default-btn-arrow-side: 0.75rem;
  --default-btn-cgap: min(0.75rem + 0.25vw);
  --default-btn-pd: 0.5em;
  --default-btn-pd-side: 1.5em;
  /*--default-btn-width: ;*/
  /*--default-btn-width-min: ;*/
  --default-btn-radius: 0.35rem;
  --default-btn-bg: #FFF;
  --default-btn-bg-hover: #FFF;
  --default-btn-outline: 1px solid var(--color-gray-light);
  --default-btn-outline-hover: 1px solid var(--color-primary);
  --default-btn-arrow-color: var(--color-primary);
  --default-btn-arrow-color-hover: var(--color-primary);
  --default-btn-icon-color: var(--color-primary);
  --default-btn-icon-color-hover: var(--color-primary);
}
.c-btn[data-btn-pd="s"] { --default-btn-pd: 0.35em; --default-btn-pd-side: 1.25em; }
.c-btn[data-btn-pd="m"] { --default-btn-pd: 0.75em; }
.c-btn[data-btn-pd="l"] { --default-btn-pd: 1em; }
@media (max-width: 600px) {
  .c-btn[data-btn-pd="m"] { --default-btn-pd: 1em; }
  .c-btn[data-btn-pd="l"] { --default-btn-pd: 1.25em; }
}
.c-btn[data-btn-width="s"] { --default-btn-width-min: min(100%, 240px); }
.c-btn[data-btn-width="m"] { --default-btn-width-min: min(100%, 320px); }
.c-btn[data-btn-width="l"] { --default-btn-width-min: min(100%, 480px); }
.c-btn[data-btn-radius="0"] { --default-btn-radius: 0; }
.c-btn[data-btn-radius="100"] { --default-btn-radius: 9999px; }
.c-btn:not([data-btn-icon="auto"]) { --default-btn-cgap: 0; }
.c-btn:has(.c-icon) { --default-btn-icon-size: 1.15rem; }
.c-btn:has(.c-icon.-pdf, .c-icon.-doc, .c-icon.-xls, .c-icon.-ppt, .c-file) { --default-btn-icon-size: 1.5rem; }
.c-btn[data-btn-pd="m"]:has(.c-icon.-pdf, .c-icon.-doc, .c-icon.-xls, .c-icon.-ppt, .c-file),
.c-btn[data-btn-pd="l"]:has(.c-icon.-pdf, .c-icon.-doc, .c-icon.-xls, .c-icon.-ppt, .c-file) { --default-btn-icon-size: 2rem; }
.c-btn:has(.c-file) {
  --file-mgt: 0;
  --file-mgr: 0;
  --file-mgb: 0;
  --file-mgl: 0;
  --default-btn-file-filter: none;
  --default-btn-file-filter-hover: none;
}
.c-btn.-primary {
  --btn-txt: #FFF;
  --btn-txt-hover: #FFF;
  --btn-bg: var(--color-primary);
  --btn-bg-hover: var(--color-primary-light);
  --btn-outline: 0;
  --btn-outline-hover: 0;
  --btn-arrow-color: #FFF;
  --btn-arrow-color-hover: #FFF;
  --btn-icon-color: #FFF;
  --btn-icon-color-hover: #FFF;
  --btn-file-filter: brightness(0) invert(1);
  --btn-file-filter-hover: brightness(0) invert(1);
}
.c-btn.-primary-line {
  --btn-txt: var(--color-primary);
  --btn-txt-hover: #FFF;
  --btn-bg: #FFF;
  --btn-bg-hover: var(--color-primary);
  --btn-icon-color: var(--color-primary);
  --btn-icon-color-hover: #FFF;
  --btn-outline: 1px solid var(--color-primary);
  --btn-outline-hover: 1px solid var(--color-primary);
  --btn-icon-color: var(--color-primary);
  --btn-icon-color-hover: #FFF;
  --btn-file-filter: none;
  --btn-file-filter-hover: brightness(0) invert(1);
}
.c-btn.-secondary {
  --btn-txt: #FFF;
  --btn-txt-hover: #FFF;
  --btn-bg: var(--color-secondary);
  --btn-bg-hover: var(--color-secondary-light);
  --btn-outline: 0;
  --btn-outline-hover: 0;
  --btn-arrow-color: #FFF;
  --btn-arrow-color-hover: #FFF;
  --btn-icon-color: #FFF;
  --btn-icon-color-hover: #FFF;
  --btn-file-filter: brightness(0) invert(1);
  --btn-file-filter-hover: brightness(0) invert(1);
}
.c-btn.-secondary-line {
  --btn-txt: var(--color-secondary);
  --btn-txt-hover: #FFF;
  --btn-bg: #FFF;
  --btn-bg-hover: var(--color-secondary);
  --btn-outline: 1px solid var(--color-secondary);
  --btn-outline-hover: 1px solid var(--color-secondary);
  --btn-arrow-color: var(--color-secondary);
  --btn-arrow-color-hover: #FFF;
  --btn-icon-color: var(--color-secondary);
  --btn-icon-color-hover: #FFF;
  --btn-file-filter: none;
  --btn-file-filter-hover: brightness(0) invert(1);
}
.c-btn.-red {
  --btn-txt: #FFF;
  --btn-txt-hover: #FFF;
  --btn-bg: var(--color-red);
  --btn-bg-hover: var(--color-red-light);
  --btn-outline: 0;
  --btn-outline-hover: 0;
  --btn-arrow-color: #FFF;
  --btn-arrow-color-hover: #FFF;
  --btn-icon-color: #FFF;
  --btn-icon-color-hover: #FFF;
  --btn-file-filter: brightness(0) invert(1);
  --btn-file-filter-hover: brightness(0) invert(1);
}
.c-btn {
  --link-deco: none;
  --link-deco-hover: none;
  -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(--line-height-s);
  display: inline-flex;
  vertical-align: top;
  justify-content: center;
  align-items: center;
  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));
}
.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[data-btn-icon="auto"]:not([class*="u-cgap"], [class*="u-gap"]) { column-gap: var(--btn-cgap, var(--default-btn-cgap)); }
.c-btn,
.c-btn:hover { color: var(--btn-txt, var(--default-btn-txt)); text-decoration: none; }
@media (hover: hover) {
  .c-btn:hover,
  .js_linkblock:hover .c-btn {
    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 { text-align: center; }
.c-btn:not([data-btn-icon="auto"]):has(.c-btn_arrow, .c-btn_icon) .c-btn_txt  { flex-grow: 2; }
.c-btn:not([data-btn-icon="auto"]):has(.c-btn_arrow:not(:first-of-type)) { padding-right: var(--default-btn-arrow-side); }
.c-btn:not([data-btn-icon="auto"]):has(.c-btn_icon:not(:first-of-type)) { padding-right: var(--default-btn-icon-side); }
.c-btn:not([data-btn-icon="auto"]):has(.c-btn_arrow:first-of-type) { padding-left: var(--default-btn-arrow-side); }
.c-btn:not([data-btn-icon="auto"]):has(.c-btn_icon:first-of-type) { padding-left: var(--default-btn-icon-side); }
.c-btn:not([data-btn-icon="auto"]):has(.c-btn_arrow:not(:first-of-type)) .c-btn_txt,
.c-btn:not([data-btn-icon="auto"]):has(.c-btn_icon:not(:first-of-type)) .c-btn_txt { padding-right: var(--default-btn-pd-side); }
.c-btn:not([data-btn-icon="auto"]):has(.c-btn_arrow:first-of-type) .c-btn_txt,
.c-btn:not([data-btn-icon="auto"]):has(.c-btn_icon:first-of-type) .c-btn_txt { padding-left: var(--default-btn-pd-side); }
.c-btn_arrow,
.c-btn_icon {
  flex-shrink: 0;
  line-height: 1;
  position: relative;
  overflow: hidden;
  transition: var(--hover-trans);
}
.c-btn_icon {
  width: var(--btn-icon-size, var(--default-btn-icon-size));
  height: var(--btn-icon-size, var(--default-btn-icon-size));
  color: var(--btn-icon-color, var(--default-btn-icon-color));
}
.c-btn .c-btn_arrow.-prev { transform: scale(-1, 1); }
.c-btn_arrow {
  width: var(--btn-arrow-size, var(--default-btn-arrow-size));
  height: var(--btn-arrow-size, var(--default-btn-arrow-size));
}
.c-btn_arrow:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: currentColor;
  color: var(--btn-arrow-color, var(--default-btn-arrow-color));
  mask-image: var(--icon-arrow-alt-thick);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 90%;
  animation-fill-mode: forwards;
}
.c-btn .c-file { filter: var(--btn-file-filter, var(--default-btn-file-filter)); }
@media (hover: hover) {
  .c-btn:hover .c-btn_arrow:after { color: var(--btn-arrow-color-hover, var(--default-btn-arrow-color-hover)); }
  .c-btn:hover .c-btn_icon { color: var(--btn-icon-color-hover, var(--default-btn-icon-color-hover)); }
  .c-btn:hover .c-file { filter: var(--btn-file-filter-hover, var(--default-btn-file-filter-hover)); }
}

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

  list

--------------------------------------------------------------------------------*/
:root { --list-mgl: 1.15em; --list-ol-mgl: 1.15em; }
.c-list { display: flex; flex-direction: column; line-height: var(--line-height); }
.c-list:not([class*="u-rgap"]):not([class*="u-gap"]) { row-gap: var(--list-rgap, 0.25rem); }
.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; }

/* .-cols
----------------------------------------*/
.c-list.-cols2,
.c-list-mark.-cols2 { --list-cols: 2; }
.c-list.-cols3,
.c-list-mark.-cols3 { --list-cols: 3; }
.c-list.-cols4,
.c-list-mark.-cols4 { --list-cols: 4; }
@media (min-width: 761px) {
  .c-list[class*="-cols"],
  .c-list-mark[class*="-cols"] { --cgap: 3rem; }
}
@media (max-width: 760px) {
  .c-list[class*="-cols"],
  .c-list-mark[class*="-cols"] { --cgap: clamp(2rem, 6vw, 3rem); }
  .c-list.-cols2,
  .c-list-mark.-cols2 { --list-cols: 1; }
  .c-list.-cols3,
  .c-list-mark.-cols3 { --list-cols: 2; }
  .c-list.-cols4,
  .c-list-mark.-cols4 { --list-cols: 2; }
}
@media (max-width: 600px) {
  .c-list.-cols3,
  .c-list-mark.-cols3 { --list-cols: 1; }
  .c-list.-cols4,
  .c-list-mark.-cols4 { --list-cols: 2; }
}
.c-list[class*="-cols"],
.c-list-mark[class*="-cols"] {
  display: grid;
  width: fit-content;
  column-gap: var(--cgap);
  grid-template-columns: repeat(var(--list-cols), auto);
}
.c-list[class*="-cols"] .col-full,
.c-list-mark[class*="-cols"] .col-full { grid-column: span var(--list-cols); }

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

/* .c-list-txt
   .c-notes
----------------------------------------*/
.c-list-txt:has(li),
.c-notes:has(li) { display: flex; flex-direction: column; }
.c-list-txt,
.c-notes { line-height: var(--line-height); }
.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.25rem); }
.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); }

/* .c-list-row
----------------------------------------*/
.c-list-row { display: flex; flex-wrap: wrap; }
.c-list-row.-kten:not([class*="u-cgap"]):not([class*="u-gap"]) { column-gap: var(--list-row-cgap, 1rem); }
.c-list-row.-kten li:not(:last-child):after {
  content: "、";
  width: 1em;
  height: 1em;
}

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

  flex

--------------------------------------------------------------------------------*/
.c-flex { display: flex; flex-direction: column; }

/* .c-flex-row
----------------------------------------*/
.c-flex-row { display: flex; flex-wrap: wrap; align-items: center; }
.c-flex-row.-nowrap { flex-wrap: nowrap; }
.c-flex-row.-top { align-items: flex-start; }
.c-flex-row.-bottom { align-items: flex-end; }
.c-flex-row.-baseline { align-items: baseline; }
.c-flex-row.-content-center { justify-content: center; }

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

  image area（image + text）

--------------------------------------------------------------------------------*/
.c-img-area { display: flex; }
.c-img-area:not(.-normal) { flex-wrap: wrap; }
.c-img-area:has(.c-img-area_img.-left),
.c-img-area:has(.c-img-area_img.-right) { gap: 2rem var(--space-s); }
.c-img-area_txt { flex: 1; }
.c-img-area_img { width: var(--img-area-wide, 35%); }
@media (min-width: 761px) {
  .c-img-area:not(.-normal):not([data-break="sp"]) > .c-img-area_img.-right { order: 2; }
  .c-img-area:not([data-break="sp"]) .c-img-area_img.-right.-top { margin-top: calc(-1 * (var(--space-m) + 0.5rem)); }
}
@media (min-width: 601px) {
  .c-img-area[data-break="sp"] > .c-img-area_img.-right { order: 2; }
  .c-img-area[data-break="sp"] .c-img-area_img.-right.-top { margin-top: calc(-1 * (var(--space-m) + 0.5rem)); }
}
@media (max-width: 760px) {
  .c-img-area:not(.-normal):not([data-break="sp"]) { flex-direction: column; }
  .c-img-area:not(.-normal):not([data-break="sp"]) .c-img-area_img {
    width: var(--img-area-wide, fit-content);
    min-width: inherit;
    max-width: 560px;
    margin-inline: auto;
  }
}
@media (max-width: 600px) {
  .c-img-area[data-break="sp"] { flex-direction: column; }
  .c-img-area[data-break="sp"] .c-img-area_img {
    width: var(--img-area-wide, fit-content);
    min-width: inherit;
    margin-inline: auto;
  }
}

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

  image cols

--------------------------------------------------------------------------------*/
@media (min-width: 761px) {
  .c-img-cols.-cols4 { --cols: 4; }
  .c-img-cols.-cols3 { --cols: 3; }
  .c-img-cols { --default-col-max: 560px; }
  .c-img-cols:has(> :nth-child(1):last-child) { --default-col-max: 800px; }
}
.c-img-cols { --cols: 2; }
.c-img-cols:has(> :nth-child(1):last-child) { --cols: 1; }
.c-img-cols[data-img-size="m"] { --col-max: 640px; }
.c-img-cols[data-img-size="l"] { --col-max: 960px; }
.c-img-cols[data-img-size="fit"] { --col-max: 100%; }
.c-img-cols_item.line,
.c-img-cols_item.line-img img { border: 1px solid var(--border-color); }
.c-img-cols {
  width: fit-content;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(var(--cols), auto);
  gap: 1.5rem var(--space-3s);
  justify-items: center;
}
.c-img-cols_item { max-width: var(--col-max, var(--default-col-max)); }
@media (max-width: 760px) {
  .c-img-cols[data-break]:not([data-break="sp"]) { grid-template-columns: auto; }
}
@media (max-width: 600px) {
  .c-img-cols[data-break="sp"] { grid-template-columns: auto; }
}

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

  table

--------------------------------------------------------------------------------*/
table { line-height: var(--line-height); }
thead { line-height: var(--line-height-s); }
table small { display: inline-block; line-height: var(--line-height-s); }
.c-tbl {
  width: 100%;
  border-collapse: collapse;
}
.c-tbl th {
  width: 25%;
  background-color: var(--pale-color-primary-lightest);
}
.c-tbl td { vertical-align: middle; }
@media (min-width: 761px) {
  .c-tbl { border-top: 1px solid var(--pale-color-primary); }
  .c-tbl th, .c-tbl td { border-bottom: 1px solid var(--pale-color-primary); }
  .c-tbl th, .c-tbl td { padding: 1.25rem; }
  .c-tbl[data-pd="s"] th,
  .c-tbl[data-pd="s"] td { padding: 1rem; }
}
@media (max-width: 760px) {
  .c-tbl.-normal { font-size: var(--fs-s); border-top: 1px solid var(--pale-color-primary); }
  .c-tbl.-normal th, .c-tbl.-normal td { border-bottom: 1px solid var(--pale-color-primary); }
  .c-tbl.-normal th,
  .c-tbl.-normal td { padding: 1rem 0.75rem; }
  .c-tbl.-normal[data-pd="s"] th,
  .c-tbl.-normal[data-pd="s"] td { padding: 0.75rem; }
  
  .c-tbl:not(.-normal) { display: grid; }
  .c-tbl:not(.-normal) tr {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
  }
  .c-tbl:not(.-normal) th,
  .c-tbl:not(.-normal) td {
    width: 100% !important;
    height: 100% !important;
    text-align: left;
  }
  .c-tbl:not(.-normal) th { padding: 0.5rem 0.75rem; }
  .c-tbl:not(.-normal) td { padding: 1.25rem 0.75rem; }
  .c-tbl:not(.-normal) tr:last-child td:last-child { padding-bottom: 0.5rem; }
}

/*--------------------------------------------------------------------------------
  .c-tbl2
--------------------------------------------------------------------------------*/
.c-tbl2 {
  width: 100%;
  border-collapse: collapse;
  line-height: var(--line-height-s);
}
.c-tbl2:has(.sticky) {
  /* ※stickyでborderが消える現象の対策 */
  border-collapse: separate;
	border-spacing: 0;
  /* */
  border-bottom: 1px solid var(--pale-color-primary);
}
.c-tbl2 .sticky {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 2;
}
.c-tbl2 th,
.c-tbl2 td {
  padding: 1em;
  vertical-align: middle;
}
.c-tbl2 thead th {
  padding: 0.75em 1rem;
  background-color: var(--pale-color-primary-lightest);
}
.c-tbl2[data-pd="m"] th,
.c-tbl2[data-pd="m"] td { padding: 1.25rem; }
.c-tbl2[data-pd="m"] thead th { padding: 0.75rem 1.25rem; }
.c-tbl2 thead[data-th-bg="dark"] th {
  background-color: var(--pale-color-primary);
  color: #FFF;
}
.c-tbl2 thead[data-th-bg="dark"] th:first-child { border-left: 1px solid var(--pale-color-primary); }
.c-tbl2 thead[data-th-bg="dark"] th { border-right: 1px solid rgba(255,255,255,0.4); }
.c-tbl2 thead[data-th-bg="dark"] th:last-child { border-right-color: var(--pale-color-primary); }
.c-tbl2 tbody[data-th-bg] th,
.c-tbl2 tbody th.bg { background-color: var(--pale-color-primary-lightest); }
.c-tbl2:not(:has(.sticky)) th,
.c-tbl2:not(:has(.sticky)) td {
  border: 1px solid var(--pale-color-primary);
}
.c-tbl2:has(.sticky) th,
.c-tbl2:has(.sticky) td {
  border-top: 1px solid var(--pale-color-primary);
}
.c-tbl2:has(.sticky) tbody:not([data-th-bg]) .sticky:not(.bg) { background-color: #FFF; }
.c-tbl2:has(.sticky) th,
.c-tbl2:has(.sticky) td { border-right: 1px solid var(--pale-color-primary); }
.c-tbl2:has(.sticky) thead th:first-child,
.c-tbl2:has(.sticky) tbody td:first-child,
.c-tbl2:has(.sticky) tbody th:first-child { border-left: 1px solid var(--pale-color-primary); }
@media (max-width: 760px) {
  .c-tbl2 { font-size: var(--fs-s); }
  .c-tbl2 thead th,
  .c-tbl2 th,
  .c-tbl2 td {
    padding: 0.75em;
  }
  .c-tbl2[data-pd="m"] th,
  .c-tbl2[data-pd="m"] td { padding: 1rem 0.75rem; }
  .c-tbl2[data-pd="m"] thead th { padding: 0.75rem; }
}

/*--------------------------------------------------------------------------------
  .c-tbl3
--------------------------------------------------------------------------------*/
.c-tbl3 {
  width: 100%;
  border-collapse: collapse;
  line-height: var(--line-height-s);
}
.c-tbl3:has(.sticky) {
  /* ※stickyでborderが消える現象の対策 */
  border-collapse: separate;
	border-spacing: 0;
  /* */
  border-bottom: 1px solid var(--pale-color-quaternary);
}
.c-tbl3 .sticky {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 2;
}
.c-tbl3 th,
.c-tbl3 td {
  padding: 1em;
  vertical-align: middle;
}
.c-tbl3 thead th {
  padding: 0.75em 1rem;
  background-color: var(--pale-color-quaternary-lightest);
}
.c-tbl3[data-pd="m"] th,
.c-tbl3[data-pd="m"] td { padding: 1.25rem; }
.c-tbl3[data-pd="m"] thead th { padding: 0.75rem 1.25rem; }
.c-tbl3 thead[data-th-bg="dark"] th {
  background-color: var(--pale-color-quaternary);
  color: #FFF;
}
.c-tbl3 thead[data-th-bg="dark"] th:first-child { border-left: 1px solid var(--pale-color-quaternary); }
.c-tbl3 thead[data-th-bg="dark"] th { border-right: 1px solid rgba(255,255,255,0.4); }
.c-tbl3 thead[data-th-bg="dark"] th:last-child { border-right-color: var(--pale-color-quaternary); }
.c-tbl3 tbody[data-th-bg] th,
.c-tbl3 tbody th.bg { background-color: var(--pale-color-quaternary-lightest); }
.c-tbl3:not(:has(.sticky)) th,
.c-tbl3:not(:has(.sticky)) td {
  border: 1px solid var(--pale-color-quaternary);
}
.c-tbl3:has(.sticky) th,
.c-tbl3:has(.sticky) td {
  border-top: 1px solid var(--pale-color-quaternary);
}
.c-tbl3:has(.sticky) tbody:not([data-th-bg]) .sticky:not(.bg) { background-color: #FFF; }
.c-tbl3:has(.sticky) th,
.c-tbl3:has(.sticky) td { border-right: 1px solid var(--pale-color-quaternary); }
.c-tbl3:has(.sticky) thead th:first-child,
.c-tbl3:has(.sticky) tbody td:first-child,
.c-tbl3:has(.sticky) tbody th:first-child { border-left: 1px solid var(--pale-color-quaternary); }
@media (max-width: 760px) {
  .c-tbl3 { font-size: var(--fs-s); }
  .c-tbl3 thead th,
  .c-tbl3 th,
  .c-tbl3 td {
    padding: 0.75em;
  }
  .c-tbl3[data-pd="m"] th,
  .c-tbl3[data-pd="m"] td { padding: 1rem 0.75rem; }
  .c-tbl3[data-pd="m"] thead th { padding: 0.75rem; }
}

/*--------------------------------------------------------------------------------
  .c-tbl4
--------------------------------------------------------------------------------*/
.c-tbl4 {
  width: 100%;
  border-collapse: collapse;
}
.c-tbl4 th {
  width: 20%;
  white-space: nowrap;
}
.c-tbl4.-normal th { white-space: nowrap; }
.c-tbl4 td { vertical-align: middle; }
@media (min-width: 761px) {
  .c-tbl4.-line-top tr:first-child th,
  .c-tbl4.-line-top tr:first-child td { border-top: 1px solid var(--border-color); }
  .c-tbl4 th, .c-tbl4 td {
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--border-color);
  }
  .c-tbl4 td { padding-left: 1.25rem; }
  .c-tbl4:not(.-line-top) tr:first-child th,
  .c-tbl4:not(.-line-top) tr:first-child td { padding-top: 0; }
}
@media (max-width: 760px) {
  .c-tbl4.-normal.-line-top tr:first-child th,
  .c-tbl4.-normal.-line-top tr:first-child td { border-top: 1px solid var(--border-color); }
  .c-tbl4.-normal th, .c-tbl4.-normal td {
    padding: 1rem 0;
    border-bottom: 1px solid var(--border-color);
  }
  .c-tbl4.-normal td { padding-left: 1rem; }
  .c-tbl4:not(.-line-top).-normal tr:first-child th,
  .c-tbl4:not(.-line-top).-normal tr:first-child td { padding-top: 0; }

  .c-tbl4:not(.-normal) { display: grid; }
  .c-tbl4:not(.-normal) tr {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
  }
  .c-tbl4:not(.-normal) th,
  .c-tbl4:not(.-normal) td {
    width: 100% !important;
    height: 100% !important;
    text-align: left;
  }
  .c-tbl4:not(.-normal) th {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-color);
  }
  .c-tbl4:not(.-normal) td { padding: 1rem 0 1.5rem 0; }
  .c-tbl4:not(.-normal) tr:last-child td:last-child { padding-bottom: 0.5rem; }
}

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

  box

--------------------------------------------------------------------------------*/
:root {
  /* default */
  --default-box-pd: var(--box-space-s);
  --default-box-bg: var(--pale-color-primary-lightest);
  --default-box-outline: none;
  --default-box-hd-bg: var(--pale-color-primary);
  --default-box-hd-color: #FFF;
}
.c-box[data-box-pd="m"] { --default-box-pd: var(--box-space-m); }
.c-box[data-box-pd="l"] { --default-box-pd: var(--box-space-l); }
.c-box.-line {
  --box-bg: transparent;
  --box-outline: 2px solid var(--pale-color-primary-light);
}
.c-box.-gray-line {
  --box-bg: transparent;
  --box-outline: 2px solid var(--border-color);
}
.c-box.-gray {
  --box-bg: var(--color-gray-lightest);
}
.c-box.-quaternary {
  --box-bg: var(--pale-color-quaternary-lightest);
}
.c-box-hd:has(+.c-box.-quaternary) {
  --box-hd-bg: var(--pale-color-quaternary-light);
  --box-hd-color: var(--txt-color);
}
.c-box.-red-line {
  --box-bg: transparent;
  --box-outline: 2px solid var(--pale-color-red);
}
.c-box.-red {
  --box-bg: var(--pale-color-red-lightest);
}
.c-box.-quinary-line {
  --box-bg: transparent;
  --box-outline: 2px solid var(--color-quinary);
}
.c-box-hd:has(+.c-box.-red-line),
.c-box-hd:has(+.c-box.-red) {
  --box-hd-bg: var(--color-red-light);
}
.c-box:not([class*="u-pd"]) { padding: var(--box-pd, var(--default-box-pd)); }
.c-box {
  border: var(--box-outline, var(--default-box-outline));
  background-color: var(--box-bg, var(--default-box-bg));
}
.c-box-hd + .c-box { border-top: 0; }
.c-box-hd {
  background-color: var(--box-hd-bg, var(--default-box-hd-bg));
  color: var(--box-hd-color, var(--default-box-hd-color));
  padding: 0.75rem 1rem;
  line-height: var(--line-height);
}
.c-box-hd:not([class*="u-fw"]) { font-weight: bold; }
.c-box-hd:not([class*="u-fs"]) { font-size: var(--fs-m); }
@media (max-width: 760px) {
  .c-box_hd { padding: 0.75rem; }
}

/* .c-box-contact
----------------------------------------*/
:root {
  /* default */
  --default-box-contact-line: var(--pale-color-primary-light);
}
.c-box-contact.-line { --box-contact-line: var(--pale-color-primary-lighter); }
.c-box-contact.-gray-line { --box-contact-line: var(--border-color-light); }
.c-box-contact.-red { --box-contact-line: var(--pale-color-red); }
.c-box-contact.-red-line { --box-contact-line: var(--pale-color-red-lighter); }
.c-box-contact {
  display: grid;
  align-items: center;
  line-height: var(--line-height);
}
.c-box-contact_ttl {
  text-align: center;
  font-weight: bold;
  position: relative;
}
@media (min-width: 761px) {
  .c-box-contact {
    grid-template-columns: auto 1fr;
  }
  .c-box-contact_ttl {
    padding-left: var(--box-space-s);
    padding-right: calc(var(--box-pd, var(--default-box-pd)) + var(--box-space-s));
  }
  .c-box-contact_txt {
    padding-left: var(--box-space-m);
    border-left: 1px solid var(--box-contact-line, var(--default-box-contact-line));
  }
}
@media (max-width: 760px) {
  .c-box-contact { justify-items: center; }
  .c-box-contact_ttl {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--box-contact-line, var(--default-box-contact-line));
  }
  .c-box-contact_txt {
    text-align: center;
    align-items: center;
    padding-top: var(--box-space-s);
  }
  .c-box-contact_txt * {
    justify-content: center;
  }
}

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

  definition list

--------------------------------------------------------------------------------*/
.c-dl-list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5rem;
  line-height: var(--line-height);
}
.c-dl-list dt {
  color: var(--color-primary);
}
.c-dl-list dd {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.5rem;
}
.c-dl-list dd:before {
  content: "...";
}
@media (max-width: 760px) {
  .c-dl-list:not([data-no-break]) { grid-template-columns: 1fr; }
  .c-dl-list:not([data-no-break]) { gap: 0.25rem 0.5rem; }
  .c-dl-list:not([data-no-break]) dd:not(:last-child) { padding-bottom: 0.5rem; }
}

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

  tag list

--------------------------------------------------------------------------------*/
.c-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  line-height: var(--line-height-s);
}
.c-tag-list li {
  color: var(--color-primary-lighter);
  border: 1px solid var(--pale-color-primary-light);
  background-color: #FFF;
  padding: 0.5em 0.75em;
}
@media (max-width: 760px) {
  .c-tag-list { font-size: var(--fs-s); }
}

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

  tab

--------------------------------------------------------------------------------*/
.c-tab-wrap.-scroll { overflow-x: auto; }
.c-tab-wrap.-scroll .c-tab_item { min-width: fit-content; }
.c-tab {
  --link-color: var(--txt-color);
  --link-color-hover: var(--color-tertiary-light);
  --link-deco: none;
  --link-deco-hover: none;
  width: 100%;
  line-height: var(--line-height-s);
  display: flex;
}
.c-tab_item {
  width: 100%;
  text-align: center;
}
.c-tab_item a {
  display: grid;
  height: 100%;
  place-items: center;
  padding: 1rem;
  position: relative;
  background-color: var(--color-gray-lightest);
  border-bottom: 1px solid var(--color-tertiary-light);
}
.c-tab_item:not(:first-child) a:before {
  content: "";
  width: 1px;
  height: 35%;
  background-color: var(--color-gray-light);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.c-tab_item:has(.is-active) + .c-tab_item a:before,
.c-tab_item a.is-active:before {
  display: none;
}
.c-tab_item a.is-active {
  background-color: var(--color-tertiary-light);
  color: #FFF;
}
@media (max-width: 760px) {
  .c-tab-wrap {
    width: 100vw;
    margin-left: calc(-1 * var(--side-space));
    margin-right: calc(-1 * var(--side-space));
  }
}

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

  accordion

--------------------------------------------------------------------------------*/
.c-acod {
  line-height: var(--line-height);
  border-bottom: 1px solid var(--border-color);
  padding: 1rem;
  transition: var(--hover-trans);
  display: flex;
  align-items: center;
  column-gap: 1rem;
}
.c-acod:first-of-type {
  border-top: 1px solid var(--border-color);
}
.c-acod.is-active { background-color: var(--pale-color-quaternary-lightest); }
.c-acod-item { padding: 2rem 1rem 3rem 1rem; }
.c-acod-item:last-of-type { padding-bottom: 1.5rem; }
.c-acod-item:not(:last-of-type) {
  border-bottom: 1px solid var(--border-color);
}
.c-acod .icon {
  flex-shrink: 0;
  margin-left: auto;
  position: relative;
  width: 1rem;
}
.c-acod .icon:before,
.c-acod .icon:after {
  content: "";
  display: inline-block;
  --width: 0.75rem;
  --height: 1px;
  width: var(--width);
  height: var(--height);
  background: var(--color-tertiary);
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: calc(-1 * var(--height) / 2);
}
.c-acod .icon:after {
  transition: transform 0.5s var(--cubic-bezier);
  transform-origin: center center;
  transform: rotate(90deg) scale(1,1);
}
.c-acod.is-active .icon:after {
  transform: rotate(90deg) scale(0,1);
}
@media (max-width: 760px) {
  .c-acod { padding: 0.75rem; }
  .c-acod-item { padding: 1.25rem 0.75rem 2.25rem 0.75rem; }
  .c-acod-item:last-of-type { padding-bottom: 1.25rem; }
}

/*--------------------------------------------------------------------------------
 
  anchor top

--------------------------------------------------------------------------------*/
.c-anchor-top {
  --link-color: var(--txt-color);
  --link-color-hover: var(--color-primary);
  --link-deco: none;
  --link-deco-hover: none;
  display: flex;
  justify-content: flex-end;
}
.c-anchor-top:not([class*="u-pdt"]) { padding-top: var(--space-2s); }
.c-anchor-top_link {
  font-size: var(--fs-s);
  line-height: var(--line-height-s);
  width: fit-content;
  position: relative;
  padding-left: calc(1.2rem + (min(0.5rem + 0.25vw)));
}
.c-anchor-top_link:before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  line-height: 1;
  position: absolute;
  top: 0.065rem;
  left: 0;
  background: currentColor;
  color: var(--color-gray-dark);
  mask-image: var(--icon-arrow-chevron-circle);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  transition: var(--hover-trans);
  transform: rotate(-90deg);
}
@media (max-width: 760px) {
  .c-anchor-top_link:before { top: 0.025rem; }
}
@media (hover: hover) {
  .c-anchor-top_link:hover:before { color: currentColor; }
}

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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-archive-list
--------------------------------------------------------------------------------*/
.c-archive-list {
  line-height: var(--line-height);
  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.5rem;
}
.c-archive-list_item:not(:has(a)),
.c-archive-list_item a {
  display: flex;
  column-gap: 2rem;
  row-gap: 0.25rem;
  padding: 1.35rem 0;
}
.c-archive-list_date {
  color: var(--color-gray);
  font-size: var(--fs-s);
}
.c-archive-list_area-ttl {
  --file-size: 1.8rem;
  flex: 1;
  display: flex;
  column-gap: 2.5rem;
}
.c-archive-list_item a[target="_blank"] .c-archive-list_area-ttl:after {
  content: "";
  width: 0.9rem;
  height: 0.9rem;
  line-height: 1;
  flex-shrink: 0;
  align-self: center;
  background: currentColor;
  color: var(--color-primary);
  mask-image: var(--icon-newwin);
  mask-repeat: no-repeat;
  margin-left: auto;
  transform: translateX(-1rem);
  transition: var(--hover-trans);
}
.c-archive-list_ttl {
  display: flex;
  align-items: flex-start;
  transition: var(--hover-trans);
}
.c-archive-list_icon { flex-shrink: 0; }
.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(--link-color); }
@media (max-width: 760px) {
  .c-archive-list_item:not(:has(a)),
  .c-archive-list_item a {
    flex-direction: column;
  }
}


/*--------------------------------------------------------------------------------
  
  form

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

/* input
----------------------------------------*/
input[type=text],
input[type=tel],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=url],
select,
textarea {
	border: 1px solid var(--border-color);
	padding: .25em .5em;
	box-sizing: border-box;
	border-radius: .25em;
}
.c-ip-2s { width: 5em }
.c-ip-s { width: 30%; min-width: 240px; }
.c-ip-m { width: 50%; min-width: 300px; }
.c-ip-l { width: 75%; min-width: 360px; }
.c-ip-max { width: 100%; }
@media (max-width:425px) {
  .c-ip-s { width: 50%; }
  .c-ip-m { width: 75%; min-width: auto; }
  .c-ip-l { width: 100%; min-width: auto; }
}


/* radio
----------------------------------------*/
input[type=radio] {
	position: absolute;
  opacity: 0;
  z-index: -1; 
}
input[type=radio]+label {
	display:flex;
  align-items: center;
	cursor:pointer;
}
input[type=radio]+label:before {
	content:"";
	display:inline-block;
	width:1.25em;
	height:1.25em;
	border-radius:1.25em;
	vertical-align:middle;
	border:2px solid var(--color-gray);
	background-color:#fff;
	margin-right:.25em;
  box-sizing:border-box;
	-webkit-transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	-o-transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
}
input[type=radio]:hover+label:before {
	border-color:var(--color-gray);
	background-color:var(--color-gray);
	box-shadow:inset 0 0 0 0.25em #fff;
}
input[type=radio]:checked+label:before {
	border-color:var(--color-primary);
	background-color:var(--color-primary);
	box-shadow:inset 0 0 0 0.25em #fff;
}

.radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1.5em;
}

/* checkbox
----------------------------------------*/
.chk-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1.5em;
}
.chk-group label {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  box-sizing: border-box;
}
.chk-group label input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.chk-group .chk-txt {
  display: inline-block;
  padding-left: 1.5em;
}
.chk-group .indicator {
  display: inline-block;
  position: absolute;
	width:1.25em;
	height:1.25em;
  background: var(--color-gray-light);
  border-radius: .25em;
}
.chk-group label:hover input ~ .indicator,
.chk-group label input:focus ~ .indicator {
  background: var(--color-gray);
}
.chk-group label input:checked ~ .indicator {
  background: var(--color-primary);
}
.chk-group label:hover input:not([disabled]):checked ~ .indicator,
.chk-group label input:checked:focus ~ .indicator {
  background: var(--color-primary);
}
.chk-group label input:disabled ~ .indicator {
  background: var(--color-gray-light);
  opacity: 0.6;
  pointer-events: none;
}
.indicator:after {
  content: '';
  position: absolute;
  display: none;
}
.chk-group label input:checked ~ .indicator:after {
  display: block;
}
.chk-group .checkbox .indicator:after {
  left: .45em;
  top: .1em;
  width: .4em;
  height: .75em;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.chk-group .checkbox input:disabled ~ .indicator:after {
  border-color: var(--color-gray-dark);
}

/* c-form 
----------------------------------------*/
.c-form {  
  border-top: 1px solid var(--pale-color-primary);
}
.c-form-item {
  display: grid;
  grid-template-columns: 1fr 3fr;
  grid-column-gap: 1em;
  border-bottom: 1px solid var(--pale-color-primary);
}
.c-form-item02 {
  width: 100%;
  border-bottom: 1px solid var(--pale-color-primary);
}
.c-form-item-label {
  min-width: 16em;
  padding: 1.25em 1em;
  background-color: var(--pale-color-primary-lightest);
  font-weight: 500;
}
@media (max-width:760px) {
  .c-form-item {
    grid-template-columns: 1fr;
  }
  .c-form-item-label {
    width: 100%;
    padding: 1em;
  }
}
.c-form-item-label-inner {
  position: relative;
  padding-right: 4em;
  box-sizing: border-box;
  line-height: var(--line-height-2s);
}
.c-form-item-required {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  padding: 0.25em 0.5em;
  margin-left: 1em;
  background-color: var(--color-red);
  border-radius: .25em;
  color: #fff;
  font-size: var(--fs-2s);
}
.c-form-item-optional {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  padding: 0.25em 0.5em;
  margin-left: 1em;
  background-color: var(--color-gray-dark);
  border-radius: .25em;
  color: #fff;
  font-size: var(--fs-2s);
}
.c-form-item-input {
  padding: 1em 0;
}

.c-form-item-input02 {
  padding: 1em;
}

p.error {
  font-size: var(--fs-s);
  color: #fff;
  background-color: var(--color-red-lighter);
  margin-top: .5em;
  padding: .25em .5em;
}

/* c-form-btn
----------------------------------------*/
.c-form-btn {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2s);
  justify-content: center;
}

/* c-form-chk
----------------------------------------*/
.c-form-chk-alart {
  padding: 1em;
	background-color: var(--pale-color-primary-lightest);
	border: 1px solid var(--pale-color-primary);
	border-radius: .25em;
	box-sizing: border-box;
	margin-bottom: var(--space-s);
	text-align: center;
}

.c-form-chk-alart.error {
	background-color: #ffffff;
	border: 2px solid var(--color-red);
	color: var(--color-red);
	font-weight: 500;
}

.c-form-chk-setup-alart {
  padding: 1em;
	background-color: #ffffff;
	border: 1px solid var(--color-red);
	border-radius: .25em;
	box-sizing: border-box;
	margin-bottom: var(--space-s);
	color: var(--color-red);
	text-align: center;
}

/* c-form-end
----------------------------------------*/
.c-form-end-msg {
  text-align: center;
}

.c-form-end-remail {  
}

.c-form-end-remail-title {
  display: flex;
  align-items: center;
}
.c-form-end-remail-title img {
  display: inline-block;
  margin-right: .5em;
}


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

  news/info

--------------------------------------------------------------------------------*/
.info-hd:not(:first-of-type) {
  margin-top: var(--space-l);
}
.info-hd .date {
  font-size: var(--fs-2s);
}
.info-hd .cate {
  font-size: var(--fs-2s);
  display: inline-block;
  margin-left: 1em;
}
.info-detail {
  padding-top: 1.5em;
  padding-bottom: var(--block-space-m);
}
@media screen and (max-width:640px) {
  .info-hd {
    font-size: var(--fs-s);
  }
}


/* l-side-news-nav */
.l-side-news-nav:not(:last-of-type) {
}
.l-side-news-nav-title {
  display: block;
  padding: var(--fs-s);
  background-color: var(--color-primary); 
  border-radius: 0.35rem;
  color: #fff;
  font-weight: 500;
}

.l-side-news-nav-list {
  list-style: none;
}
.l-side-news-nav-list li {
  border-bottom:1px solid var(--border-color);
  padding: 0.75em;
  line-height: var(--line-height-2s);
}
.l-side-news-nav-list a { display: block; }
.l-side-news-nav-list a,
.l-side-news-nav-list a:visited,
.l-side-news-nav-list a:hover {
  text-decoration: none;
}

/* サムネイル有 */
.l-side-news-nav-list li.cols {
  display: flex;
  padding-left: 0;
  padding-right: 0;
}
.l-side-news-nav-list li.cols .photo,
.l-side-news-nav-list li.cols .txt {
  -ms-flex-item-align: center;
  align-self: center;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}
.l-side-news-nav-list li.cols .photo {
  width: 30%;
  padding-right: 1em;
}
.l-side-news-nav-list li.cols .txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.l-side-news-nav-list li.cols .sbikou {
  font-size: var(--fs-s);
}
@media print,screen and (min-width:761px) {
  .l-side-news-nav-list li.cols .txt {
    font-size: var(--fs-s);
  }
}

/* 最新の投稿 */
.l-side-news-recent-list .date {
  font-size: var(--fs-2s);
}


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

  Photo hover
  
----------------------------------------------------------------------------------------------------*/
.p-hvPhoto {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.p-hvPhoto__img {
  transition: transform 0.8s var(--cubic-bezier);
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit:cover;"
}
.ua-pc .p-hvPhoto:hover .p-hvPhoto__img,
.ua-pc .js__linkBox:hover .p-hvPhoto__img {
  transform: scale(1.04) rotate(0.001deg);
}


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

  Photo zoom
  
----------------------------------------------------------------------------------------------------*/
.p-zmPhoto {
  display: inline-block;
}
.p-zmPhoto a {
  display: block;
  position: relative;
}
.p-zmPhoto a:after {
  content: "";
  width: 1.2em;
  height: 1.2em;
  display: inline-block;
  position: absolute;
  right: 0.75em;
  bottom: 0.75em;
  background: url("../image/icon/zoom.svg") no-repeat center center;
  background-size: contain;
}


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

  ブログパターン
  
----------------------------------------------------------------------------------------------------*/

.glog {
  margin-top:1.25em;
}

.glog:after {
  content:"";
  display:block;
  height:0;
  clear:both;
}

.glog ul,
.glog ol {
  list-style:inherit;
  margin-left:1.25em;
}
.glog ol {
  list-style:decimal;
}

.glog-txt {
  box-sizing:border-box;
  word-break:break-all;
}

.glog-image-left .glog-txt {
  float:right;
}

.glog-image-right .glog-txt {
  float:left;
}

.glog-image-left .glog-img,
.glog-image-right .glog-img {
  display:inline-block;
  margin-bottom:0.5em;
  margin-top:0.5em;
  box-sizing:border-box;
}

.glog-image-left .glog-img {
  float:left;
}

.glog-image-right .glog-img {
  float:right;
}

.glog-image-center .glog-img {
  display:block;
  text-align:center;
  margin-bottom:1em;
}

@media only screen and (max-width:640px) {
  .glog-txt {
    width:inherit !important;
  }
  
  .glog-image-left .glog-img,
  .glog-image-right .glog-img {
    float:none;
    display:block;
    text-align:center;
    margin-bottom:1em;
    width:inherit !important;
  }
}

/* Table ----------------------------------------*/

.glog table {
  width:100%;
  max-width:100%;
  border-collapse:collapse;
  border-spacing:0;
  border:0;
}

.glogTbl th,
.glogTbl td {
  border:1px solid #8bc9e9;
  text-align:left;
  padding:12px 15px;
}

.glogTbl th {
  background-color:#eaf5fb;
}

@media only screen and (max-width:767px) {
  .glogTbl {
    font-size:93.8%;
  }
  
  .glogTbl th,
  .glogTbl td {
    padding:0.75em;
  }
}

@media only screen and (max-width:500px) {
  .glogTbl th,
  .glogTbl td {
    padding:0.5em;
  }
}


/*
.p-glog {
  text-align: left;
}
.p-glog:not(:first-of-type) {
  padding-top: 2em;
}
.p-glog:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.p-glog a {
  text-decoration: underline;
}
.p-glog a:hover {
  text-decoration: none;
}
.p-glog ul,
.p-glog ol {
  margin-left: 1.25em;
}
.p-glog b,
.p-glog strong {
  font-weight: 500;
}
.p-glog__txt {
  word-break: break-all;
}
.p-glog__txt--column,
.p-glog__img--center,
.p-glog__datafile {
  width: 100%;
}
.p-glog__img--center {
  text-align: center;
}
.p-glog__img--left,
.p-glog__img--right {
  display: inline-block;
}
.p-glog__img--left:not([data-mg="0"]),
.p-glog__img--right:not([data-mg="0"]),
.img--center__item[data-ps="top"]:not([data-mg="0"]) {
  margin-bottom: 1.5em;
}
.img--center__item[data-ps="bottom"]:not([data-mg="0"]) {
  margin-top: 1.5em;
}
.p-glog__img--center img,
.p-glog__img--left img,
.p-glog__img--right img {
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}
.img--center__item {
  display: inline-block;
}
.p-glog__datafile {
  padding: 0.5em 0;
}
.p-glog__datafile + .p-glog__txt {
  padding-top: 1em;
}
.p-glog__txt + .p-glog__datafile {
  padding-top: 1em;
}
.p-glog__img__cp {
  display: block;
  text-align: center;
  line-height: var(--line-height-s);
  padding-top: 0.5em;
  font-size: var(--fs-2s);
  color: rgba(0,0,0,0.5);
}
.p-glog__back {
  padding-top: var(--block-space-l);
}
.p-glog__more {
  padding-top: 1.5em;
}
@media print, screen and (min-width:641px) {
  .p-glog__img--left {
    float: left;
    margin-right: 1.5em;
  }
  .p-glog__img--right {
    float: right;
    margin-left: 1.5em;
  }
  .p-glog__img--left img,
  .p-glog__img--right img,
  .img--center__item img {
    max-width: 100% !important;
  }
}
@media screen and (max-width:640px) {
  .p-glog__img--left,
  .p-glog__img--right,
  .p-glog__img--left + .p-glog__txt,
  .p-glog__img--right + .p-glog__txt {
    width: 100% !important;
  }
  .p-glog__img--left,
  .p-glog__img--right {
    max-width: 100% !important;
    text-align: center;
  }
  .p-glog__img--left img,
  .p-glog__img--right img,
  .img--center__item img {
    width: 100% !important;
  }
}

/*--------------------------------------------------------------------------------
  非公開
--------------------------------------------------------------------------------*/
.private-alert p {
  text-align: left;
  background-color: #fff0f5;
  border: 1px dotted #eb2d32;
  line-height: var(--line-height-s);
  color: #eb2d32;
  padding: 0.75em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.private-alert b {
  font-size: var(--fs-3s);
  font-weight: 500;
  background-color: #eb2d32;
  color: #fff;
  padding: 0.4em 0.4em 0.5em 0.4em;
  vertical-align: middle;
  margin-right: 1em;
  white-space: nowrap;
}
.private-alert small {
  font-size: var(--fs-s);
  -webkit-flex: 1;
  flex: 1;
}


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

  ページネーション
  
----------------------------------------------------------------------------------------------------*/
.p-pagination {
  width: 100%;
  display: flex;
  margin-top: var(--space-s);
}
.p-pagination--center {
  justify-content: center;
}
.p-pagination__list {
  list-style: none;
  text-align: center;
  display: flex;
  flex-wrap:wrap;
  justify-content: center;
  margin-left: -0.5em;
  margin-right: -0.5em;
}
.p-pagination__list a,
.p-pagination__list a:visited,
.p-pagination__list a:hover { text-decoration: none; }
.p-pagination__list li {
  line-height: 1;
}
.p-pagination a {
  display: block;
}
.p-pagination__list li,
.p-pagination__list li a {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-pagination__list li a {
  width: 2em;
  height: 2em;
  padding: 1em;
  border-radius: 2em;
  margin-left: 0.5em;
  margin-right: 0.5em;
  line-height: 1;
  border:1px solid var(--color-primary);
}
.p-pagination__list li a:hover {
  border:1px solid var(--color-primary-light);
}
.p-pagination__list li span.is-active {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  padding: 1em;
  border-radius: 2em;
  margin-left: 0.5em;
  margin-right: 0.5em;
  line-height: 1;
  color: #fff;
  background-color: var(--color-primary);
}
.p-pagination__list li.first:after,
.p-pagination__list li.last:before {
  content: "...";
  font-size: var(--fs-3s);
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-pagination .more {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
.p-pagination .more .p-arrow { font-size: var(--fs-3l); margin-bottom: 0; }
.p-pagination .more-prev { padding-right: 1em; }
.p-pagination .more-next { padding-left: 1em; }




