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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-ttl
--------------------------------------------------------------------------------*/
.c-ttl {
  font-family: var(--ff-go);
  font-weight: 700;
  line-height: var(--line-height-s);
}
.c-ttl:not([class*="u-fs"]) { font-size: var(--ttl-fs, var(--fs-3l)); }

.c-ttl2 {
  font-family: var(--ff-go);
  font-weight: 700;
  line-height: var(--line-height-s);
}
.c-ttl2:not([class*="u-fs"]) { font-size: var(--ttl-fs, var(--fs-l)); }

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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  SVG 
--------------------------------------------------------------------------------*/
:root { 
  --icon-arrow: url("../icon/arrow.svg");
  --icon-tel: url("../icon/tel.svg");
  --icon-mail: url("../icon/mail.svg");
  --icon-line3: url("../icon/line.svg");
  --icon-newwin: url("../icon/newwin.svg");
  --icon-file: url("../icon/file.svg");
  --icon-check: url("../icon/check.svg");
  --icon-mappin: url("../icon/mappin.svg");
  --icon-caution: url("../icon/caution.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-fb2: 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-line2: 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>');
}

/*--------------------------------------------------------------------------------
  .c-sns
--------------------------------------------------------------------------------*/
:root { --sns-size: 1.35rem; }
.c-sns {
  width: var(--sns-size);
  height: var(--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: cover;
}
.c-sns.-fb { mask-image: var(--icon-fb); }
.c-sns.-fb2 { mask-image: var(--icon-fb2); }
.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.-line2 { mask-image: var(--icon-line2); }
.c-sns.-youtube { mask-image: var(--icon-youtube); }
.c-sns.-tiktok { mask-image: var(--icon-tiktok); }

/* logo 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; }

/*--------------------------------------------------------------------------------
  .c-arrow
--------------------------------------------------------------------------------*/
:root {
  /* default */
  --default-arrow-width: 2.5rem;
  --default-arrow-height: 1.5rem;
  --default-arrow-radius: 9999px;
  --default-arrow-outline: 1px solid var(--color-primary);
  --default-arrow-outline-hover: 1px solid var(--color-primary);
  --default-arrow-bg: transparent;
  --default-arrow-bg-hover: var(--color-primary);
  --default-arrow-color: var(--color-primary);
  --default-arrow-color-hover: #FFF;
}
.c-arrow {
  cursor: pointer;
  display: inline-block;
  line-height: 1;
  width: var(--arrow-width, var(--default-arrow-width));
  height: var(--arrow-height, var(--default-arrow-height));
  color: var(--arrow-color, var(--default-arrow-color));
  position: relative;
}
.c-arrow.-prev { transform: rotate(180deg); }
.c-arrow.-down { transform: rotate(90deg); }
.c-arrow:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border: var(--arrow-outline, var(--default-arrow-outline));
  background-color: var(--arrow-bg, var(--default-arrow-bg));
  border-radius: var(--default-arrow-radius);
  transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out, background 0.2s ease-in-out, border 0.15s ease-in-out, fill 0.2s ease-in-out, filter 0.2s ease-in-out, transform 0.4s var(--cubic-bezier);
}
.c-arrow_icon {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.c-arrow_icon:before,
.c-arrow_icon:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background: currentColor;
  color: currentColor;
  mask-image: var(--icon-arrow);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 25%;
  animation-fill-mode: forwards;
}
.c-arrow_icon:after { transform: translateX(-100%); }
@media (hover: hover) {
  .c-arrow_icon:before { animation-duration: 0.2s; }
  .c-arrow_icon:after, a .c-arrow_icon:after { animation-duration: 0.4s; }
  .c-arrow:hover .c-arrow_icon:before, a:hover .c-arrow_icon:before,
  .c-arrow-txt:hover .c-arrow_icon:before,
  .c-arrow-link:hover .c-arrow_icon:before {
    animation-name: arrow_before;
    animation-delay: 0s;
  }
  .c-arrow:hover .c-arrow_icon:after, a:hover .c-arrow_icon:after,
  .c-arrow-txt:hover .c-arrow_icon:after,
  .c-arrow-link:hover .c-arrow_icon:after {
    animation-name: arrow_after;
    animation-delay: 0.05s;
  }
  .c-arrow.-no-anime .c-arrow_icon:before,
  .c-arrow.-no-anime .c-arrow_icon:after { animation: none; }
  a:hover .c-arrow,
  .c-arrow:hover,
  .c-arrow-txt:hover .c-arrow,
  .c-arrow-link:hover .c-arrow {
    color: var(--arrow-color-hover, var(--default-arrow-color-hover));
  }
  a:hover .c-arrow:before,
  .c-arrow:hover:before,
  .c-arrow-txt:hover .c-arrow:before,
  .c-arrow-link:hover .c-arrow:before {
    border: var(--arrow-outline-hover, var(--default-arrow-outline-hover));
    background-color: var(--arrow-bg-hover, var(--default-arrow-bg-hover));
  }
}
@keyframes arrow_before {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes arrow_after {
  0% { transform: translateX(-100%); opacity: 0; }
  100% { transform: translateX(0); opacity: 1; }
}

/*--------------------------------------------------------------------------------
  .c-arrow-txt
--------------------------------------------------------------------------------*/
.c-arrow-txt {
  --link-color: var(--txt-color);
  --link-color-hover: var(--txt-color);
  --link-deco: none;
  --link-deco-hover: none;
  --default-arrow-txt-ff: ;
  --default-arrow-txt-fs: ;
  --default-arrow-txt-fw: ;
  --default-arrow-txt-cgap: 1rem;
}
.c-arrow-txt .c-arrow { flex-shrink: 0; }
.c-arrow-txt {
  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-mappin
--------------------------------------------------------------------------------*/
:root { --mappin-size: 1.2rem; --mappin-mgl: -0.15rem; --mappin-mgr: 0.25rem; --mappin-mgb: 0.15rem; }
.c-mappin:before {
  content: "";
  width: var(--mappin-size);
  height: var(--mappin-size);
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  margin-left: var(--mappin-mgl);
  margin-right: var(--mappin-mgr);
  margin-bottom: var(--mappin-mgb);
  background: currentColor;
  color: var(--mappin-color, var(--link-color));
  mask-image: var(--icon-mappin);
  mask-repeat: no-repeat;
  mask-position: center center;
  transition: var(--hover-trans);
}

/*--------------------------------------------------------------------------------
  .c-newwin
--------------------------------------------------------------------------------*/
:root { --newwin-size: 0.8rem; --newwin-mgl: 0.25rem; --newwin-mgr: 0.25rem; --newwin-mgb: 0.15rem; }
.c-newwin[target="_blank"]:after,
a[target="_blank"] .c-newwin:after,
.c-article-txt a[target="_blank"]:not(:has(img, p, div, span)):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: var(--newwin-color, var(--link-color));
  mask-image: var(--icon-newwin);
  mask-repeat: no-repeat;
  mask-position: center center;
  transition: var(--hover-trans);
}

/*--------------------------------------------------------------------------------
  .c-file
--------------------------------------------------------------------------------*/
:root { --file-size: 1rem; --file-mgl: 0.5rem; --file-mgr: 0; --file-mgb: 0.15rem; }
.c-file {
  line-height: 1;
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
  column-gap: 0.25rem;
  font-size: var(--fs-3s);
  color: var(--file-color, var(--color-primary));
}
.c-file:before {
  content: "";
  width: var(--file-size);
  height: var(--file-size);
  display: inline-block;
  margin-left:var(--file-mgl);
  margin-right: var(--file-mgr);
  margin-bottom: var(--file-mgb);
  background: currentColor;
  color: inherit;
  mask-image: var(--icon-file);
  mask-repeat: no-repeat;
  mask-position: center center;
  transition: var(--hover-trans);
}

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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-btn
--------------------------------------------------------------------------------*/
:root {
  /* default */
  --default-btn-fs: 1rem;
  /*--default-btn-ff: ;*/
  /*--default-btn-fw: ;*/
  --default-btn-txt: #FFF;
  --default-btn-txt-hover: var(--color-primary);
  --default-btn-icon-size: 1.15rem;
  --default-btn-icon-side: 2.5rem;
  --default-btn-arrow-size: 1.5rem;
  --default-btn-arrow-side: 1rem;
  --default-btn-cgap: 1rem;
  --default-btn-pd: 0.8rem;
  --default-btn-pd-side: 2rem;
  /*--default-btn-width: min(100%, 280px);*/
  /*--default-btn-width-min: ;*/
  --default-btn-radius: 9999px;
  --default-btn-bg: var(--color-primary);
  --default-btn-bg-hover: transparent;
  --default-btn-outline: 1px solid transparent;
  --default-btn-outline-hover: 1px solid var(--color-primary);
  --default-btn-arrow-bg: transparent;
  --default-btn-arrow-bg-hover: transparent;
  --default-btn-arrow-color: #FFF;
  --default-btn-arrow-color-hover: var(--color-primary);
  --default-btn-icon-color: #FFF;
  --default-btn-icon-color-hover: var(--color-primary);
  --default-btn-file-filter
}
.c-btn.-tertiary {
  --btn-txt: #FFF;
  --btn-txt-hover: #FFF;
  --btn-bg: var(--color-tertiary);
  --btn-bg-hover: var(--color-tertiary-light);
  --btn-outline: 1px solid transparent;
  --btn-outline-hover: 1px solid transparent;
  --btn-arrow-bg: transparent;
  --btn-arrow-bg-hover: transparent;
  --btn-arrow-color: #FFF;
  --btn-arrow-color-hover: #FFF;
  --btn-icon-color: #FFF;
  --btn-icon-color-hover: #FFF;
}
.c-btn.-gray {
  --btn-txt: #FFF;
  --btn-txt-hover: #FFF;
  --btn-bg: var(--color-gray);
  --btn-bg-hover: var(--color-gray-light);
  --btn-outline: 1px solid transparent;
  --btn-outline-hover: 1px solid transparent;
  --btn-arrow-bg: transparent;
  --btn-arrow-bg-hover: transparent;
  --btn-arrow-color: #FFF;
  --btn-arrow-color-hover: #FFF;
  --btn-icon-color: #FFF;
  --btn-icon-color-hover: #FFF;
}
.c-btn:has(.c-btn_arrow, .c-btn_icon) {
  --default-btn-pd-side: 1.5rem;
}
.c-btn:has(.c-file) {
  --file-size: var(--default-btn-icon-size);
  --file-mgr: 0;
  --file-mgb: 0;
  --file-mgl: 0;
  --btn-file-filter: brightness(0) invert(1);
  --btn-file-filter-hover: none;
}
.c-btn[data-btn-radius="0"] { --default-btn-radius: 0; }
.c-btn:not([data-btn-icon="auto"]) { --default-btn-cgap: 0; }
.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));
  color: var(--btn-txt, var(--default-btn-txt));
}
.c-btn:not([class*="u-fs"]) { font-size: var(--btn-fs, var(--default-btn-fs)); }
.c-btn:not([class*="u-fw"]) { font-weight: var(--btn-txt-fw, var(--default-btn-fw)); }
.c-btn:not([class*="u-ff"]) { font-family: var(--btn-txt-ff, var(--default-btn-ff)); }
.c-btn[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 {
    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:has(.c-btn_arrow:not(:first-of-type)) { padding-right: var(--default-btn-arrow-side); }
.c-btn[data-btn-icon="auto"]:has(.c-btn_icon:not(:first-of-type)) { padding-right: var(--default-btn-icon-side); }
.c-btn:has(.c-btn_arrow:first-of-type) { padding-left: var(--default-btn-arrow-side); }
.c-btn[data-btn-icon="auto"]:has(.c-btn_icon:first-of-type) { padding-left: var(--default-btn-icon-side); }
.c-btn: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:has(.c-btn_arrow:not(:first-of-type)) .c-btn_txt { padding-left: var(--default-btn-arrow-size); }
.c-btn:has(.c-btn_icon:not(:first-of-type)) .c-btn_txt { padding-left: var(--default-btn-icon-size); }
.c-btn: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:has(.c-btn_arrow:first-of-type) .c-btn_txt { padding-right: var(--default-btn-arrow-size); }
.c-btn:has(.c-btn_icon:first-of-type) .c-btn_txt { padding-right: var(--default-btn-icon-size); }
.c-btn_arrow,
.c-btn_icon {
  flex-shrink: 0;
  line-height: 1;
  position: relative;
  overflow: hidden;
  transition: var(--hover-trans);
}
.c-btn_icon {
  color: var(--btn-icon-color, var(--default-btn-icon-color));
}
.c-btn_icon:not(.c-file) {
  width: var(--btn-icon-size, var(--default-btn-icon-size));
  height: var(--btn-icon-size, var(--default-btn-icon-size));
}
.c-btn .c-btn_arrow.-prev { transform: scale(-1, 1); }
.c-btn_arrow {
  line-height: 1;
  width: var(--btn-arrow-size, var(--default-btn-arrow-size));
  height: var(--btn-arrow-size, var(--default-btn-arrow-size));
  background-color: var(--btn-arrow-bg, var(--default-btn-arrow-bg));
  color: var(--btn-arrow-color, var(--default-btn-arrow-color));
  /*border-radius: 50%;*/
  position: relative;
  overflow: hidden;
  transition: var(--hover-trans);
}
.c-btn_arrow:before,
.c-btn_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);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 60%;
  animation-fill-mode: forwards;
}
.c-btn_arrow:after { transform: translateX(-100%); }
.c-btn .c-file { filter: var(--btn-file-filter, var(--default-btn-file-filter)); }
@media (hover: hover) {
  .c-btn_arrow:before { animation-duration: 0.2s; }
  .c-btn_arrow:after { animation-duration: 0.4s; }
  .c-btn:hover .c-btn_arrow:before {
    animation-name: arrow_before;
    animation-delay: 0s;
  }
  .c-btn:hover .c-btn_arrow:after {
    animation-name: arrow_after;
    animation-delay: 0.05s;
  }
  .c-btn:hover .c-btn_arrow {
    background-color: var(--btn-arrow-bg-hover, var(--default-btn-arrow-bg-hover));
    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; }
.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; }

/* .c-list-mark
----------------------------------------*/
.c-list-mark { --list-mark-size: 0.5em; --list-mark-mgt: 0.6em; }
.c-list-mark { display: flex; flex-direction: column; }
.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="2m"] { --list-mark-fs: var(--fs-2m); }
.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) + 1rem); }
.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;
  background-color: var(--list-mark-color, var(--color-secondary));
  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 {
  border-radius: 100%;
}
.c-list-mark.-check li:before,
.c-list-mark.-check:not(:has(li)):before {
  --list-mark-size: 1em;
  --list-mark-mgt: 0.4em;
  mask: var(--icon-check) no-repeat center center;
  mask-size: contain;
}
/*.c-list-mark*/.-caution li,
/*.c-list-mark*/.-caution:not(:has(li)) {
  color: var(--color-tertiary);
}
/*.c-list-mark*/.-caution li:before,
/*.c-list-mark*/.-caution:not(:has(li)):before {
  --list-mark-size: 1em;
  --list-mark-mgt: 0.375em;
  background: transparent var(--icon-caution) center center / cover no-repeat;
}

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

/* .c-list-txt
   .c-notes
----------------------------------------*/
.c-list-txt:has(li),
.c-notes:has(li) { display: flex; flex-direction: column; }
.c-list-txt: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-kten
----------------------------------------*/
.c-list-kten li { display: inline; }
.c-list-kten li:not(:last-child):after {
  content: "、";
  width: 1em;
  height: 1em;
}

/* .c-list-slash
----------------------------------------*/
.c-list-slash li { display: inline; }
.c-list-slash li:not(:last-child):after {
  content: "／";
  width: 1em;
  height: 1em;
  margin: 0 0.25rem;
}
