@charset "utf-8";

/* component
=============================================================================== */
/*--------------------------------------------------------------------------------
 
  icon

--------------------------------------------------------------------------------*/
:root {
  --root-icon-size: 1.15em;
  --root-icon-size-medium: 1.5em;
  --root-icon-size-large: 1.75em;
  --root-icon-size-x-large: 2em;
}
@media (min-width: 641px) { :root { --root-pager-icon-size: 1.4em; } }
@media (max-width: 640px) { :root { --root-pager-icon-size: 1.8em; } }

/*--------------------------------------------------------------------------------
  SVG mask icon
--------------------------------------------------------------------------------*/
:root {
  --icon-home: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><polygon points="19.8571429 12.304899 19.8571429 22.5 14.4047619 22.5 14.4047619 14.782215 9.5952381 14.782215 9.5952381 22.5 4.1428571 22.5 4.1428571 12.304899 1 12.304899 12 1.5 23 12.304899 19.8571429 12.304899"/></svg>');
  --icon-info: 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.5C6.2010956,1.5,1.5,6.2010956,1.5,12s4.7010956,10.5,10.5,10.5c5.7986811,0,10.5-4.7010956,10.5-10.5S17.7986811,1.5,12,1.5ZM14.7581491,16.0708724l-.0227875.2667447c-.0737238.8744046-.2926599,1.4876482-.6702128,1.8754797-.3786701.3900643-.8520636.5875526-1.4058828.5875526-.3869358,0-.7383511-.1025425-1.0459785-.3036066-.3100852-.203522-.5410853-.4928301-.685851-.8603293-.1394044-.3525326-.2039677-.9275746-.1974891-1.7559576v-3.0416493c0-.4816592-.0453509-.6445209-.0647874-.6925529-.0366386-.0895853-.0974044-.1621919-.1860958-.2207232-.0055854-.0037975-.0636702-.032617-.2792553-.032617-.0127339.0006698-.1020959.0096062-.4597657.1259998l-.2287656.0750635-.2694258-.7633723,2.8787867-1.1695214h.6463089v6.091341c0,.6485425.1079046.8556387.1548193.915064.0913724.1152763.2135748.1693411.3842556.1693411.1177341,0,.2153619-.0502656.3067343-.1581703.0603193-.0703729.1749257-.2821597.2627231-.8967447l.0301592-.2113402h.7912978l.0612124-.0000017ZM11.7464365,8.4751277c-.893617,0-1.6339785-.7405852-1.6339785-1.6339785,0-1.2001276,1.1748827-1.7106063,1.6339785-1.6342022.893617.1532555,1.6339785.8681489,1.6339785,1.7106063.0002233.638266-.5873301,1.5575745-1.6339785,1.5575745Z"/></svg>');
  --icon-mail: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12,12.6865234L1.7147217,4.1154785c.3272705-.6586914.999939-1.1154785,1.7852783-1.1154785h17c.7852783,0,1.4579468.4567261,1.7852173,1.1152954l-10.2852173,8.571228ZM12.4003906,13.9804688c-.1162109.0966797-.2578125.1445312-.4003906.1445312-.1420898,0-.2841797-.0478516-.3999023-.1445312L1.5,5.5634155v13.4365845c0,1.1045532.8954468,2,2,2h17c1.1045532,0,2-.8954468,2-2V5.5637817l-10.0996094,8.416687Z"/></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="M22.4202832,10.4831888c-.3843062.2789935-1.5389704.2093985-2.4476221,0-.9091235-.2103422-1.8435372-.5207124-2.098373-.8395285-.2792294-.3497681-.2792294-.9793791.0700669-1.3289114.349721-.3492491.6994419-1.7477083-.2101062-2.2379405-.9091235-.4895716-5.2445405-.6639603-5.734348-.6639603s-4.8256492.1743887-5.7343008.6639603c-.9095482.4902322-.5598272,1.8886914-.2101062,2.2379405.349721.3495322.349721.9791432.0700252,1.3289114-.2547886.318816-1.1887831.6291863-2.0983313.8395285-.9086463.2093985-2.0633631.2789935-2.4471503,0-.5368019-.3907702-.6294222-.7695088-.5598744-1.748652.0700669-.9793791.4898075-2.5877087,1.9582864-3.8465136,1.4684789-1.2583727,5.5942615-1.8880231,9.0214514-1.8880231,3.4272371,0,7.5529784.6296504,9.0214986,1.8880231,1.4684789,1.258805,1.8886914,2.8671345,1.9582392,3.8465136.0700669.9791432-.0230253,1.3578818-.5593554,1.748652ZM20.8467271,17.4062672c-.0349899-.8743153-.5943674-2.6577343-1.3633963-4.0559765-.7690289-1.3991061-1.9228026-2.6577055-2.6222548-3.2173134-.699913-.5593775-.5248196-.979141-.5248196-1.2936181,0-.3147074.0350187-.979141.0350187-1.4336928s-.1575841-.7690577-.4547822-.7690577h-1.1887924c-.3497261,0-.4193315.4198211-.4193315.5591759v.4898297c0,.4544942-.2801207.663944-.560299.663944h-3.496311c-.279228,0-.5594063-.2094498-.5594063-.663944v-.4898297c0-.1393548-.0695766-.5591759-.4193027-.5591759h-1.1892532c-.2971981,0-.4538607.3145059-.4538607.7690577s.0341259,1.1189854.0341259,1.4336928c0,.3144771.1750935.7342406-.5243588,1.2936181-.6989915.5596079-1.8532548,1.8182073-2.6222836,3.2173134-.7694608,1.3982422-1.3284064,3.1816611-1.3638858,4.0559765-.0345291.8742865,0,2.4478525,0,2.7273109,0,.27966.0354795.839527,1.2588586.839527h15.1755339c1.2238111,0,1.258801-.5598671,1.258801-.839527,0-.2794584.0350475-1.8530244,0-2.7273109ZM11.983341,19.4965605c-2.4752685,0-4.4823924-2.0068935-4.4823924-4.4823924s2.0071239-4.4823924,4.4823924-4.4823924,4.4823924,2.0068935,4.4823924,4.4823924-2.0071239,4.4823924-4.4823924,4.4823924ZM11.9833395,17.1434103c-1.1758966,0-2.1292307-.9533341-2.1292307-2.1292307s.9533341-2.1292307,2.1292307-2.1292307,2.1292307.9533341,2.1292307,2.1292307-.9533341,2.1292307-2.1292307,2.1292307Z"/></svg>');
  --icon-about: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M11.3531034,1.0001231c-1.4001008.0136938-2.5672286,1.1516262-2.5536579,2.5165165-1.0562956-.8932399-2.7029417-.7630366-3.6190012.2671413-.9160595,1.0304024-.8029657,2.5905975.2533298,3.4840622l6.5662259,2.9971465,1.9112843-6.8199616c-.0158331-1.3648905-1.1603416-2.4583742-2.5581809-2.4449049ZM2.5001218,10.8978229c.0135711,1.3626454,1.1806994,2.5030467,2.5808002,2.4873326-.9183219,1.0304024-.7826088,2.635495.2736868,3.5291845,1.0562964.8954844,2.6554425.7857099,3.571502-.2449178l3.0738892-6.4044325-6.9937194-1.8632547c-1.3978393.0132444-2.5197299,1.1311972-2.5061587,2.496088ZM21.4998782,9.6339521c-.0135707-1.3648907-1.1806994-2.5052921-2.5808011-2.4895779.918321-1.0304024.7826088-2.6354954-.2736868-3.5309803-1.0562956-.8934643-2.6554417-.78122-3.571502.2469375l-3.0738883,6.4046582,6.9937194,1.8632547c1.3978393-.013694,2.5197295-1.1316468,2.5061587-2.4942922ZM3.5971312,22.158168c-.2329734.0583675-.3732094.2918358-.3144006.5208133.052023.1930603.2307114.3210187.4252329.3210187.03619,0,.0746423-.004489.1108323-.0134688,1.214627-.3097936,2.3365181-.8465454,3.3294814-1.598359.9251072-.7004049,1.7665253-1.6050934,2.5038964-2.6916171.191807-.2830804.3763765-.5803027.555517-.88875.3281982,1.00728,1.2996743,1.7328274,2.4414684,1.7216023,1.3978393-.0134688,2.564968-1.1516256,2.5513956-2.5165163,1.0562956.8934651,2.7029408.7632614,3.6190012-.2669175.9160604-1.0306277.8029666-2.5883526-.2533307-3.4842866l-6.566225-2.9966973-1.0676056,3.8106935c-1.6231217,4.5896681-4.0381269,7.2451419-7.3352631,8.0824849Z"/></svg>');
  --icon-service: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12.0297108,3.1936107c-.0374988,1.1659369-1.0574661,2.0898869-2.2724272,2.0458893-1.2149611-.0366647-2.1674306-1.0192782-2.1299318-2.192548.0449986-1.1659369,1.0649659-2.0825539,2.279927-2.0458893,1.2149611.0439976,2.1674306,1.0192782,2.122432,2.192548ZM20.8794275,20.0226998l-2.3924234-5.7050245c-.2099933-.3813127-.592481-.579302-1.2149611-.696629l-3.6748823-.696629c-.0224993-.1393258-.0899971-.571969-.2549918-1.2759309l3.622384-.2713186c.4799846-.0439976.8549726-.3959786.8549726-.8506206s-.3824878-.8139559-.8549726-.8139559h-4.1173682l-.5024839-2.2805432c-.2024935-.9826135-1.1924618-1.6279119-2.2199289-1.4372555-1.0199673.1906563-1.687446,1.1439381-1.4924522,2.1338845l1.6949457,6.7023039s.1199962.4839738.4574854.8579536h.0074998c.2849909.2859845.6824781.461975,1.124964.461975h4.6123523l2.5799174,4.7957404c.2699914.4693079.8774719.6452984,1.3649563.3886456s.6674786-.8432877.404987-1.3125956ZM16.0495821,17.0381947c-.187494,2.5885266-2.4299222,4.6490817-5.1673345,4.6710805-2.8799078.0146659-5.2348324-2.2218797-5.2573316-4.9937297-.0149995-1.6499107.8024743-3.116498,2.0699337-4.040448l-.3374892-1.3492603-.8174738-3.2118262h-3.5398866v1.0046123h2.7224128l.7274767,2.8745111c-1.342457,1.1659369-2.1824301,2.8525123-2.1674306,4.729744.0224993,3.4831448,2.9849044,6.2989924,6.6072884,6.2769936,2.8124099-.0146659,5.1973336-1.7452389,6.119804-4.1431091l-.9599693-1.8185682Z"/></svg>');
  --icon-group: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 24" fill="currentColor"><path d="M2.25,22v-10.4166663c0-.2791667.3406715-.625.6156716-.625h2.4626866c.275,0,.6156716.3458333.6156716.625v10.4166663h-3.6940297ZM26.0559711,22v-10.4166663c0-.2791667.3406715-.625.6156707-.625h2.4626875c.2749991,0,.6156707.3458333.6156707.625v10.4166663h-3.6940289ZM6.7649255,22h18.470149v-12.03125c0-1.0687506-.4350758-1.5104163-1.4878726-1.5104163h-3.0270529v-2.3958337c0-2.2437501-1.8367529-4.0625-4.1044784-4.0625h-1.2313437c-2.2677231,0-4.1044784,1.8187499-4.1044784,4.0625v2.3958337h-3.0270523c-1.0527986,0-1.4878732.4416668-1.4878732,1.5104163,0,0,0,12.03125.0000024,12.03125ZM9.2276118,11.4270837c0-.1166666.1416045-.2604163.25653-.2604163h3.18097c.1149261,0,.25653.1437497.25653.2604163v1.5625c0,.1166666-.1416039.2604163-.25653.2604163h-3.18097c-.1149255,0-.25653-.1437497-.25653-.2604163v-1.5625ZM14.1529856,11.4270837c0-.1166666.1416039-.2604163.25653-.2604163h3.18097c.1149249,0,.25653.1437497.25653.2604163v1.5625c0,.1166666-.1416051.2604163-.25653.2604163h-3.18097c-.1149261,0-.25653-.1437497-.25653-.2604163v-1.5625ZM19.0783582,11.4270837c0-.1166666.1416051-.2604163.25653-.2604163h3.18097c.1149249,0,.2565289.1437497.2565289.2604163v1.5625c0,.1166666-.1416039.2604163-.2565289.2604163h-3.18097c-.1149249,0-.25653-.1437497-.25653-.2604163v-1.5625ZM9.2276118,14.5520837c0-.1166666.1416045-.2604163.25653-.2604163h3.18097c.1149261,0,.25653.1437509.25653.2604163v1.5625c0,.1166666-.1416039.2604163-.25653.2604163h-3.18097c-.1149255,0-.25653-.1437509-.25653-.2604163v-1.5625ZM14.1529856,14.5520837c0-.1166666.1416039-.2604163.25653-.2604163h3.18097c.1149249,0,.25653.1437509.25653.2604163v1.5625c0,.1166666-.1416051.2604163-.25653.2604163h-3.18097c-.1149261,0-.25653-.1437509-.25653-.2604163v-1.5625ZM13.0324624,22c-.0061572-.0166678-.0082088-.0354171-.0082088-.0520825v-4.0625c0-.1166654.1416039-.2604175.25653-.2604175h2.3600745c.1149249,0,.25653.1437497.25653.2604175v4.0625c0,.0166678-.0020528.0354171-.0082088.0520825h-2.8567171ZM16.1108205,22c-.006156-.0166678-.0082088-.0354171-.0082088-.0520825v-4.0625c0-.1166654.1416051-.2604175.25653-.2604175h2.3600745c.1149249,0,.25653.1437497.25653.2604175v4.0625c0,.0166678-.0020528.0354171-.0082088.0520825h-2.8567171ZM19.0783582,14.5520837c0-.1166666.1416051-.2604163.25653-.2604163h3.18097c.1149249,0,.2565289.1437509.2565289.2604163v1.5625c0,.1166666-.1416039.2604163-.2565289.2604163h-3.18097c-.1149249,0-.25653-.1437509-.25653-.2604163v-1.5625ZM17.6874695,5.75h-1.0624695v-1.0624695c0-.1031494-.0843811-.1875305-.1875305-.1875305h-.874939c-.1031494,0-.1875305.0843811-.1875305.1875305v1.0624695h-1.0624695c-.1031494,0-.1875305.0843811-.1875305.1875305v.874939c0,.1031494.0843811.1875305.1875305.1875305h1.0624695v1.0624695c0,.1031494.0843811.1875305.1875305.1875305h.874939c.1031494,0,.1875305-.0843811.1875305-.1875305v-1.0624695h1.0624695c.1031494,0,.1875305-.0843811.1875305-.1875305v-.874939c0-.1031494-.0843811-.1875305-.1875305-.1875305Z"/></svg>');
  --icon-recruit: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M14.5335487,3.6428334c0-1.0432222-.8106443-1.8928334-1.8087102-1.8928334h-1.449677c-.9980641,0-1.8087102.849611-1.8087102,1.8928334v3.4121112h5.0670973v-3.4121112ZM13.0861285,4.4013332c0,.2095556-.1625809.3781111-.36129.3781111h-1.449677c-.1987091,0-.36129-.1685555-.36129-.3781111v-.7585c0-.2095556.1625809-.3781111.36129-.3781111h1.449677c.1987091,0,.36129.1685555.36129.3781111v.7585ZM21.6780647,6.3328891h-6.4196775v.7197777c0,.421389-.3251618.7585-.7248385.7585h-5.0670973c-.3996775,0-.7248385-.337111-.7248385-.7585v-.7197777H2.3219353c-.4561291,0-.8219353.3872224-.8219353.8587223v14.2019437c0,.4737782.3658066.8564449.8219353.8564449h19.3561293c.4516129,0,.8219353-.3826667.8219353-.8564449V7.191611c0-.4714999-.3703224-.8587219-.8219353-.8587219ZM5.6503228,12.3781111c0-1.1685002.9054835-2.1160558,2.0209679-2.1160558,1.1177421,0,2.0209679.9475555,2.0209679,2.1160558v.5990558c0,1.1685002-.9032258,2.1183332-2.0209679,2.1183332-1.1154836,0-2.0209679-.9498338-2.0209679-2.1183332v-.5990558ZM7.6712907,19.1112225h-3.6941937c0-1.7584447.986774-3.2071115,2.8699998-3.5305556.2596778.0888332.5374196.1412228.8241939.1412228.289032,0,.5645161-.0523897.8241939-.1412228,1.8832258.323444,2.8699998,1.7721108,2.8699998,3.5305556h-3.6941937ZM16.7712897,18.689834h-2.1722587v-.7585004h2.1722587v.7585004ZM18.9435484,15.4052771h-4.3445156v-.7585004h4.3445156v.7585004ZM18.9435484,12.1207219h-4.3445156v-.7584995h4.3445156v.7584995Z"/></svg>');
  --icon-arrowV-circle: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M1.5,12C1.5,6.2010149,6.2010101,1.5000086,12,1.5000086s10.5,4.7010063,10.5,10.4999914-4.7010101,10.4999914-10.5,10.4999914S1.5,17.7989851,1.5,12ZM10.9768165,6.75l-1.2268165,1.2212311,4.0473125,4.0282898-4.0468398,4.0278107,1.2263437,1.2226684,5.2731835-5.2504791-5.2731835-5.2495209Z"/></svg>');
  --icon-arrowV-prev: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg>');
  --icon-arrowV-next: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>');
  --icon-arrowV-down: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"/></svg>');
  --icon-arrowV-up: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14l-6-6z"/></svg>');
  --icon-arrow-down: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M5,9l7,7l7-7H5z"/></svg>');
  --icon-arrow-up: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M5,15l7-7l7,7H5z"/></svg>');
  --icon-add: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>');
  --icon-remove: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M19 13H5v-2h14v2z"/></svg>');
  --icon-check: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M9.7,16.1l-6-6l-1.4,1.4l7.4,7.4l12-12l-1.4-1.4L9.7,16.1z"/></svg>');
  --icon-newwin: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor"><path d="M14.1892465.8745423H4.1892465c-.5523071,0-1,.4476929-1,1v10c0,.5523071.4476929,1,1,1h10c.5523071,0,1-.4476929,1-1V1.8745423c0-.5523071-.4476929-1-1-1ZM14.1892465,11.8745423H4.1892465v-7h10v7ZM1.1892465,6.8745423h1v7h7v1H2.1892465c-.5522847,0-1-.4477153-1-1v-7h0Z"/></svg>');
}

/*--------------------------------------------------------------------------------
  .c-icon
--------------------------------------------------------------------------------*/
.c-icon { --icon-size: var(--root-icon-size); }
.c-icon.-medium { --icon-size: var(--root-icon-size-medium); }
.c-icon.-large { --icon-size: var(--root-icon-size-large); }
.c-icon.-x-large { --icon-size: var(--root-icon-size-x-large); }
.c-icon.-pager { --icon-size: var(--root-pager-icon-size); }
.c-icon {
  position: relative;
  width: var(--icon-size);
  height: var(--icon-size);
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  background: currentColor;
  color: inherit;
  mask-repeat: no-repeat;
}

.c-icon.-home { mask-image: var(--icon-home); }
.c-icon.-info { mask-image: var(--icon-info); }
.c-icon.-mail { mask-image: var(--icon-mail); }
.c-icon.-tel { mask-image: var(--icon-tel); }
.c-icon.-arrowV-circle { mask-image: var(--icon-arrowV-circle); }
.c-icon.-arrowV-prev { mask-image: var(--icon-arrowV-prev); }
.c-icon.-arrowV-next { mask-image: var(--icon-arrowV-next); }
.c-icon.-arrowV-down { mask-image: var(--icon-arrowV-down); }
.c-icon.-arrowV-up { mask-image: var(--icon-arrowV-up); }
.c-icon.-arrow-down { mask-image: var(--icon-arrow-down); }
.c-icon.-arrow-up { mask-image: var(--icon-arrow-up); }
.c-icon.-add { mask-image: var(--icon-add); }
.c-icon.-remove { mask-image: var(--icon-remove); }
.c-icon.-check { mask-image: var(--icon-check); }
.c-icon.-newwin { mask-image: var(--icon-newwin); }

.c-icon.-primary { background-color: var(--color-primary-dark); }
.c-icon.-secondary { background-color: var(--color-secondary-dark); }
.c-icon.-tertiary { background-color: var(--color-tertiary-dark); }
.c-icon.-quaternary { background-color: var(--color-quaternary-dark); }

/*--------------------------------------------------------------------------------
  .c-newwin
--------------------------------------------------------------------------------*/
:root { --newwin-size: 0.9em; --newwin-mgl: 0.5rem; }
.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);
  background: currentColor;
  color: inherit;
  mask-repeat: no-repeat;
  mask-image: var(--icon-newwin);
}

/*--------------------------------------------------------------------------------
  .c-icon-img
--------------------------------------------------------------------------------*/
.c-icon-img { --icon-img-size: var(--root-icon-size); }
.c-icon-img.-medium { --icon-img-size: var(--root-icon-size-medium); }
.c-icon-img.-large { --icon-img-size: var(--root-icon-size-large); }
.c-icon-img.-x-large { --icon-img-size: var(--root-icon-size-x-large); }
.c-icon-img {
  width: var(--icon-img-size);
  height: var(--icon-img-size);
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}

/*--------------------------------------------------------------------------------
  .c-icon-txt
--------------------------------------------------------------------------------*/
:root {
  --icon-txt-gap: 0.5rem;
  --icon-txt-gap-m: 1rem;
  --icon-txt-gap-l: 1.5rem;
}
.c-icon-txt { --icon-txt-img-size: var(--root-icon-size); }
.c-icon-txt.-medium { --icon-txt-img-size: var(--root-icon-size-medium); }
.c-icon-txt.-large { --icon-txt-img-size: var(--root-icon-size-large); }
.c-icon-txt.-x-large { --icon-txt-img-size: var(--root-icon-size-x-large); }
.c-icon-txt { display: inline-block; }
a .c-icon-txt { text-decoration: inherit; }
.c-icon-txt_img { margin-bottom: 0.15rem; }

.c-icon-txt { padding-left: calc(var(--icon-txt-img-size) + var(--icon-txt-gap)); }
.c-icon-txt_img { margin-left: calc(-1 * (var(--icon-txt-img-size) + var(--icon-txt-gap))); margin-right: var(--icon-txt-gap); }
.c-icon-txt.-cgap-m { padding-left: calc(var(--icon-txt-img-size) + var(--icon-txt-gap-m)); }
.c-icon-txt.-cgap-m .c-icon-txt_img { margin-left: calc(-1 * (var(--icon-txt-img-size) + var(--icon-txt-gap-m))); margin-right: var(--icon-txt-gap-m); }
.c-icon-txt.-cgap-l { padding-left: calc(var(--icon-txt-img-size) + var(--icon-txt-gap-l)); }
.c-icon-txt.-cgap-l .c-icon-txt_img { margin-left: calc(-1 * (var(--icon-txt-img-size) + var(--icon-txt-gap-l))); margin-right: var(--icon-txt-gap-l); }

.c-icon-txt.-end { padding-left: 0; }
.c-icon-txt.-end .c-icon-txt_img { margin-left: var(--icon-txt-gap); margin-right: 0; }
.c-icon-txt.-end.-cgap-m .c-icon-txt_img { margin-left: var(--icon-txt-gap-m); }
.c-icon-txt.-end.-cgap-l .c-icon-txt_img { margin-left: var(--icon-txt-gap-l); }

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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-btn
--------------------------------------------------------------------------------*/
.c-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  border: none;
  margin: 0;
  outline: none;
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  gap: 1rem 0.5rem;
  justify-content: center;
  align-items: center;
  line-height: 1.5;
  border-radius: 0.3rem;
}
.c-btn_txt { flex: 1; }

.c-btn.-rd0 { border-radius: 0; }
.c-btn.-rd { border-radius: 9999px; }

.c-btn.-align-left { justify-content: flex-start; }

.c-btn.-narrow { padding: calc(0.5rem + 0.25em) 0.5rem; }
.c-btn.-normal,
.c-btn.-small,
.c-btn.-full,
.c-btn.-fit { padding: calc(0.5rem + 0.25em) 1rem; }
.c-btn.-medium { padding: calc(0.5rem + 0.25em) 2.5rem; }
.c-btn.-wide { padding: calc(0.5rem + 0.25em) 5rem; }
.c-btn.-small { line-height: 1.2; font-size: var(--fs-s); }
.c-btn.-full { width: 100%; }
.c-btn.-fit { width: 100%; height: 100%; }

:root {
  /* link color */
  --btn-link: var(--color-primary-lighter);
  --btn-link-hover: var(--color-primary-lightest);
  --btn-link-txt: var(--color-link);
  --btn-link-txt-hover: var(--color-link-hover);
  --btn-link-outline: #FFF;
  --btn-link-outline-border: var(--border-color);
  --btn-link-outline-border-hover: var(--color-primary);
  --btn-link-outline-hover: var(--color-primary-lightest);
  --btn-link-outline-txt: var(--color-link);
  --btn-link-outline-txt-hover: var(--color-link-hover);
  
  /* primary color */
  --btn-primary: var(--color-primary-dark);
  --btn-primary-hover: var(--color-primary);
  --btn-primary-txt: #FFF;
  --btn-primary-txt-hover: #FFF;
  --btn-primary-outline: #FFF;
  --btn-primary-outline-border: var(--color-primary-dark);
  --btn-primary-outline-border-hover: var(--color-primary-dark);
  --btn-primary-outline-hover: var(--color-primary-dark);
  --btn-primary-outline-txt: var(--color-primary-dark);
  --btn-primary-outline-txt-hover: #FFF;
  
  /* secondary color */
  --btn-secondary: var(--color-secondary-dark);
  --btn-secondary-hover: var(--color-secondary);
  --btn-secondary-txt: #FFF;
  --btn-secondary-txt-hover: #FFF;
  --btn-secondary-outline: #FFF;
  --btn-secondary-outline-border: var(--color-secondary-dark);
  --btn-secondary-outline-border-hover: var(--color-secondary-dark);
  --btn-secondary-outline-hover: var(--color-secondary-dark);
  --btn-secondary-outline-txt: var(--color-secondary-dark);
  --btn-secondary-outline-txt-hover: #FFF;
  
  /* tertiary color */
  --btn-tertiary: var(--color-tertiary-dark);
  --btn-tertiary-hover: var(--color-tertiary);
  --btn-tertiary-txt: #FFF;
  --btn-tertiary-txt-hover: #FFF;
  --btn-tertiary-outline: #FFF;
  --btn-tertiary-outline-border: var(--color-tertiary-dark);
  --btn-tertiary-outline-border-hover: var(--color-tertiary-dark);
  --btn-tertiary-outline-hover: var(--color-tertiary-dark);
  --btn-tertiary-outline-txt: var(--color-tertiary-dark);
  --btn-tertiary-outline-txt-hover: #FFF;
  
  /* quaternary color */
  --btn-quaternary: var(--color-quaternary-dark);
  --btn-quaternary-hover: var(--color-quaternary);
  --btn-quaternary-txt: #FFF;
  --btn-quaternary-txt-hover: #FFF;
  --btn-quaternary-outline: transparent;
  --btn-quaternary-outline-border: var(--color-quaternary-dark);
  --btn-quaternary-outline-border-hover: var(--color-quaternary-dark);
  --btn-quaternary-outline-hover: var(--color-quaternary-dark);
  --btn-quaternary-outline-txt: var(--color-quaternary-dark);
  --btn-quaternary-outline-txt-hover: #FFF;
  
  /* warning color */
  --btn-warning: var(--color-warning-dark);
  --btn-warning-hover: var(--color-warning);
  --btn-warning-txt: #FFF;
  --btn-warning-txt-hover: #FFF;
  --btn-warning-outline: transparent;
  --btn-warning-outline-border: var(--color-warning-dark);
  --btn-warning-outline-border-hover: var(--color-warning-dark);
  --btn-warning-outline-hover: var(--color-warning-dark);
  --btn-warning-outline-txt: var(--color-warning-dark);
  --btn-warning-outline-txt-hover: #FFF;
  
  /* light color */
  --btn-light: var(--color-gray-lightest);
  --btn-light-hover: var(--color-gray-lighter);
  --btn-light-txt: var(--txt-color);
  --btn-light-txt-hover: var(--txt-color);
  --btn-light-outline: var(--color-gray-lightest);
  --btn-light-outline-border: var(--color-gray-light);
  --btn-light-outline-border-hover: var(--color-gray-light);
  --btn-light-outline-hover: var(--color-gray-lighter);
  --btn-light-outline-txt: var(--txt-color);
  --btn-light-outline-txt-hover: var(--txt-color);
  
  /* dark color */
  --btn-dark: var(--color-gray-dark);
  --btn-dark-hover: var(--color-gray);
  --btn-dark-txt: #FFF;
  --btn-dark-txt-hover: #FFF;
  --btn-dark-outline: transparent;
  --btn-dark-outline-border: var(--color-gray-dark);
  --btn-dark-outline-border-hover: var(--color-gray-dark);
  --btn-dark-outline-hover: var(--color-gray-dark);
  --btn-dark-outline-txt: var(--txt-color);
  --btn-dark-outline-txt-hover: #FFF;
}

.c-btn.-link { background-color: var(--btn-link); color: var(--btn-link-txt); }
.c-btn.-primary { background-color: var(--btn-primary); color: var(--btn-primary-txt); }
.c-btn.-secondary { background-color: var(--btn-secondary); color: var(--btn-secondary-txt); }
.c-btn.-tertiary { background-color: var(--btn-tertiary); color: var(--btn-tertiary-txt); }
.c-btn.-quaternary { background-color: var(--btn-quaternary); color: var(--btn-quaternary-txt); }
.c-btn.-warning { background-color: var(--btn-warning); color: var(--btn-warning-txt); }
.c-btn.-light { background-color: var(--btn-light); color: var(--btn-light-txt); }
.c-btn.-dark { background-color: var(--btn-dark); color: var(--btn-dark-txt); }

.c-btn.-outline { border-width: 1px; border-style: solid; }
.c-btn.-outline.-link { background-color: var(--btn-link-outline); border-color: var(--btn-link-outline-border); color: var(--btn-link-outline-txt); }
.c-btn.-outline.-primary { background-color: var(--btn-primary-outline); border-color: var(--btn-primary-outline-border); color: var(--btn-primary-outline-txt); }
.c-btn.-outline.-secondary { background-color: var(--btn-secondary-outline); border-color: var(--btn-secondary-outline-border); color: var(--btn-secondary-outline-txt); }
.c-btn.-outline.-tertiary { background-color: var(--btn-tertiary-outline); border-color: var(--btn-tertiary-outline-border); color: var(--btn-tertiary-outline-txt); }
.c-btn.-outline.-quaternary { background-color: var(--btn-quaternary-outline); border-color: var(--btn-quaternary-outline-border); color: var(--btn-quaternary-outline-txt); }
.c-btn.-outline.-warning { background-color: var(--btn-warning-outline); border-color: var(--btn-warning-outline-border); color: var(--btn-warning-outline-txt); }
.c-btn.-outline.-light { background-color: var(--btn-light-outline); border-color: var(--btn-light-outline-border); color: var(--btn-light-outline-txt); }
.c-btn.-outline.-dark { background-color: var(--btn-dark-outline); border-color: var(--btn-dark-outline-border); color: var(--btn-dark-outline-txt); }

@media (hover: hover) {
  .c-btn { transition: var(--hover-trans); }
  .c-btn.-link:hover { background-color: var(--btn-link-hover); color: var(--btn-link-txt-hover); }
  .c-btn.-primary:hover { background-color: var(--btn-primary-hover); color: var(--btn-primary-txt-hover); }
  .c-btn.-secondary:hover { background-color: var(--btn-secondary-hover); color: var(--btn-secondary-txt-hover); }
  .c-btn.-tertiary:hover { background-color: var(--btn-tertiary-hover); color: var(--btn-tertiary-txt-hover); }
  .c-btn.-quaternary:hover { background-color: var(--btn-quaternary-hover); color: var(--btn-quaternary-txt-hover); }
  .c-btn.-warning:hover { background-color: var(--btn-warning-hover); color: var(--btn-warning-txt-hover); }
  .c-btn.-light:hover { background-color: var(--btn-light-hover); color: var(--btn-light-txt-hover); }
  .c-btn.-dark:hover { background-color: var(--btn-dark-hover); color: var(--btn-dark-txt-hover); }
  
  .c-btn.-outline.-link:hover { background-color: var(--btn-link-outline-hover); border-color: var(--btn-link-outline-border-hover); color: var(--btn-link-outline-txt-hover); }
  .c-btn.-outline.-primary:hover { background-color: var(--btn-primary-outline-hover); border-color: var(--btn-primary-outline-border-hover); color: var(--btn-primary-outline-txt-hover); }
  .c-btn.-outline.-secondary:hover { background-color: var(--btn-secondary-outline-hover); border-color: var(--btn-secondary-outline-border-hover); color: var(--btn-secondary-outline-txt-hover); }
  .c-btn.-outline.-tertiary:hover { background-color: var(--btn-tertiary-outline-hover); border-color: var(--btn-tertiary-outline-border-hover); color: var(--btn-tertiary-outline-txt-hover); }
  .c-btn.-outline.-quaternary:hover { background-color: var(--btn-quaternary-outline-hover); border-color: var(--btn-quaternary-outline-border-hover); color: var(--btn-quaternary-outline-txt-hover); }
  .c-btn.-outline.-warning:hover { background-color: var(--btn-warning-outline-hover); border-color: var(--btn-warning-outline-border-hover); color: var(--btn-warning-outline-txt-hover); }
  .c-btn.-outline.-light:hover { background-color: var(--btn-light-outline-hover); border-color: var(--btn-light-outline-border-hover); color: var(--btn-light-outline-txt-hover); }
  .c-btn.-outline.-dark:hover { background-color: var(--btn-dark-outline-hover); border-color: var(--btn-dark-outline-border-hover); color: var(--btn-dark-outline-txt-hover); }
}

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

  tag

--------------------------------------------------------------------------------*/
.c-tag {
  line-height: 1.5;
  border-radius: 0.2rem;
  padding: 0.25em 0.5em;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none;
}

.c-tag.-small { font-size: var(--fs-3s); }
.c-tag.-normal { font-size: var(--fs-2s); }
.c-tag.-medium { font-size: var(--fs-n); }
.c-tag.-large { font-size: var(--fs-m); }

:root {
  /* primary light color */
  --tag-primary-light: var(--color-primary-light);
  --tag-primary-light-txt: #FFF;
  --tag-primary-light-hover: #9CE1FE;  /* 0.7 */
  --tag-primary-light-txt-hover: #FFF;
  
  /* warning color */
  --tag-warning: var(--color-warning-dark);
  --tag-warning-txt: #FFF;
  --tag-warning-outline: transparent;
  --tag-warning-outline-border: var(--color-warning-dark);
  --tag-warning-outline-txt: var(--color-warning-dark);
}

.c-tag.-primary-light { background-color: var(--tag-primary-light); color: var(--tag-primary-light-txt); }
.c-tag.-warning { background-color: var(--tag-warning); color: var(--tag-warning-txt); }

.c-tag.-outline { border-width: 1px; border-style: solid; }
.c-tag.-outline.-warning { background-color: var(--tag-warning-outline); border-color: var(--tag-warning-outline-border); color: var(--tag-warning-outline-txt); }

@media (hover: hover) {
  a.c-tag.-primary-light:hover { background-color: var(--tag-primary-light-hover); color: var(--tag-primary-light-txt-hover); }
}

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

  list

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

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

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

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

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

  table

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-tbl
--------------------------------------------------------------------------------*/
.c-tbl {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}
.c-tbl th,
.c-tbl td {
  padding: 0.75em;
  border-width: 1px;
  border-style: solid;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.c-tbl th {
  padding-left: 1.5em;
  padding-right: 1.5em;
  text-align: center;
  vertical-align: top;
}
.c-tbl td { background-color: #FFF; }
@media (max-width: 640px) {
  .c-tbl th { padding: 0.75em; }
}

/* primary color */
.c-tbl th,
.c-tbl td { border-color: var(--color-primary-light); }
.c-tbl th { background-color: var(--color-primary-lighter); }

/* light color */
.c-tbl.-light th,
.c-tbl.-light td { border-color: var(--color-gray-light); }
.c-tbl.-light th { background-color: var(--color-gray-lightest); }

/*--------------------------------------------------------------------------------
  .c-grid-tbl
--------------------------------------------------------------------------------*/
.c-grid-tbl {
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-rows: auto;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.c-grid-tbl.-w15 { grid-template-columns: minmax(7em, 15%) 1fr; }
.c-grid-tbl.-w20 { grid-template-columns: minmax(7em, 20%) 1fr; }
.c-grid-tbl.-w25 { grid-template-columns: minmax(7em, 25%) 1fr; }
.c-grid-tbl.-w30 { grid-template-columns: minmax(7em, 30%) 1fr; }
.c-grid-tbl.-w35 { grid-template-columns: minmax(7em, 35%) 1fr; }
.c-grid-tbl_item {
  border-width: 1px;
  border-style: solid;
  border-bottom: 0;
}
.c-grid-tbl_item.-ttl {
  padding-left: 1.5em;
  padding-right: 1.5em;
  text-align: center;
  font-weight: bold;
  border-right-width: 0;
}
.c-grid-tbl_item.-valign-center { align-content: center; }
@media (min-width: 641px) {
  .c-grid-tbl_item { padding: 0.75em; }
}
@media (max-width: 640px) {
  .c-grid-tbl_item,
  .c-grid-tbl_item.-ttl { padding: 0.75em; }
}

/* primary color */
.c-grid-tbl,
.c-grid-tbl_item { border-color: var(--color-primary-light); }
.c-grid-tbl_item.-ttl { background-color: var(--color-primary-lighter); }

/* break point
----------------------------------------*/
@media (max-width: 640px) {
  .c-grid-tbl.-break-sp { grid-template-columns: 1fr; }
  .c-grid-tbl.-break-sp .c-grid-tbl_item { padding: 1em 0.75em; }
  .c-grid-tbl.-break-sp .c-grid-tbl_item.-ttl {
    padding: 0.75em;
    text-align: left;
    border-right-width: 1px;
  }
}

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

  column

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

/* break point
----------------------------------------*/
@media (max-width: 640px) {
  .c-column.-break-sp { flex-direction: column; }
}
@media (max-width: 480px) {
  .c-column.-break-sp-s { flex-direction: column; }
}

/* image + text
----------------------------------------*/
.c-column.-img-default.-img-left,
.c-column.-img-default.-img-right { gap: var(--space-2s) var(--space-s); }
.c-column.-img-left .c-column_img,
.c-column.-img-right .c-column_txt { order: 1; }
.c-column.-img-left .c-column_txt,
.c-column.-img-right .c-column_img { order: 2; }
.c-column_txt { flex: 1; }
.c-column .c-column_img { width: min(40%, 360px); }

/* break point */
@media (max-width: 640px) {
  .c-column.-img-default { flex-direction: column; }
  .c-column.-img-default .c-column_txt { order: 2; }
  .c-column.-img-default .c-column_img { order: 1; align-self: center; text-align: center; width: 100%; }
  
  .c-column.-img-left.-break-sp .c-column_txt,
  .c-column.-img-right.-break-sp .c-column_txt { order: 2; }
  .c-column.-img-left.-break-sp .c-column_img,
  .c-column.-img-right.-break-sp .c-column_img { order: 1; align-self: center; text-align: center; width: 100%; }
}
@media (max-width: 480px) {
  .c-column.-img-left.-break-sp-s .c-column_txt,
  .c-column.-img-right.-break-sp-s .c-column_txt { order: 2; }
  .c-column.-img-left.-break-sp-s .c-column_img,
  .c-column.-img-right.-break-sp-s .c-column_img { order: 1; align-self: center; text-align: center; width: 100%; }
}

/*--------------------------------------------------------------------------------
  .c-grid
--------------------------------------------------------------------------------*/
.c-grid { display: grid; }
.c-grid.-column-2 { grid-template-columns: repeat(2, 1fr); }
.c-grid.-column-3 { grid-template-columns: repeat(3, 1fr); }
.c-grid.-column-4 { grid-template-columns: repeat(4, 1fr); }

/* break point
----------------------------------------*/
@media (max-width: 640px) {
  .c-grid.-column-2.-break-sp { grid-template-columns: 1fr; }
}

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

--------------------------------------------------------------------------------*/
:root {
  --input-border: 1px solid var(--border-color);
  --input-border-focus: 1px solid var(--border-color);
  --input-border-error: 1px solid var(--color-warning-light);
  --input-border-checked: 1px solid var(--color-primary-dark);
  --input-bg: var(--color-gray-lightest);
  --input-bg-focus: #FFF;
  --input-bg-error: var(--color-warning-lightest);
  --input-bg-checked: var(--color-primary-lightest);
  --input-radius: 0.3rem;
  --input-pd: 0.5rem;
}

/*--------------------------------------------------------------------------------
  .c-txtbox
  .c-txtarea
  .c-select
--------------------------------------------------------------------------------*/
.c-txtbox.-narrow { width: max(15em, 40%); }
.c-txtbox.-wide { width: 100%; }
@media (min-width:641px) {
  .c-txtbox.-medium { width: max(25em, 60%); }
  .c-txtbox.-normal { width: max(35em, 80%); }
}
@media (max-width:640px) {
  .c-txtbox.-medium,
  .c-txtbox.-normal { width: 100%; }
}

.c-txtbox,
.c-txtarea,
.c-select {
  display: inline-block;
  outline: none;
  padding: var(--input-pd);
  border-radius: var(--input-radius);
  border: var(--input-border);
  background-color: var(--input-bg);
  transition: background-color ease-out 0.1s, border-color ease-out 0.1s;
  line-height: 1.5;
}
.c-txtarea {
  width: 100%;
  height: clamp(150px, (300 / 640 * 100vw), 300px);
  resize: vertical;
}
.c-txtbox:focus,
.c-txtarea:focus {
  border: var(--input-border-focus);
  background-color: var(--input-bg-focus);
}
form .is-err .c-txtbox,
form .is-err .c-txtarea {
  border: var(--input-border-error);
  background-color: var(--input-bg-error);
}

/* .c-select
----------------------------------------*/
:root {
  --select-icon-area: 1.25rem;
  --select-icon-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M5,9l7,7l7-7H5z"/></svg>');
  --select-icon: var(--color-gray-dark);
  --select-icon-size: 80%;
}
.c-select-field {
  display: inline-block;
  position: relative;
}
.c-select-field:after {
  content: "";
  width: var(--select-icon-area);
  height: 100%;
  position: absolute;
  right: calc(var(--input-pd) / 2);
  top: 0;
  pointer-events: none;
  mask-image: var(--select-icon-image);
  mask-repeat: no-repeat;
  mask-size: var(--select-icon-size);
  mask-position: center center;
  background-color: var(--txt-color);
}
.c-select {
  width: 100%;
  overflow-x: hidden;
  cursor: pointer;
  padding-right: calc(var(--select-icon-area) + var(--input-pd));
}
.c-select:focus {
  border: var(--input-border-focus);
  background-color: var(--input-bg-focus);
}
form .is-err .c-select {
  border: var(--input-border-error);
  background-color: var(--input-bg-error);
}

/*--------------------------------------------------------------------------------
  .c-checkbox
  .c-radio
--------------------------------------------------------------------------------*/
:root {
  --checkbox-size: 1.25rem;
  --checkbox-radius: 0.2rem;
  --checkbox-border: 0;
  --checkbox-border-checked: 0;
  --checkbox-bg: var(--color-gray-light);
  --checkbox-bg-checked: var(--color-primary-dark);
  --checkbox-icon-image: rl('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" fill="currentColor"><polygon points="25.0881481 5.0147733 12.9413981 17.1615229 4.9118515 9.1325232 1 13.0437734 9.0295471 21.0733197 12.9413981 24.9852267 16.8527026 21.0733197 29 8.9266799 25.0881481 5.0147733"/></svg>');
  --checkbox-icon-size: 65%;
  --checkbox-icon: transparent;
  --checkbox-icon-checked: #FFF;
  --checkbox-mgt: 0.175em;
  
  --radio-size: 1.25rem;
  --radio-border: 0;
  --radio-border-checked: 0;
  --radio-bg: var(--color-gray-light);
  --radio-bg-checked: var(--color-primary-dark);
  --radio-icon-size: 35%;
  --radio-icon: #FFF;
  --radio-icon-checked: #FFF;
  --radio-mgt: 0.175em;
}

.c-checkbox-field,
.c-radio-field {
  cursor: pointer;
  display: flex;
  column-gap: 0.75rem;
  align-self: flex-start;
  padding: calc(var(--input-pd) + 0.25rem);
  border-radius: var(--input-radius);
  border: var(--input-border);
  background-color: var(--input-bg);
  transition: background-color ease-out 0.1s, border-color ease-out 0.1s;
  line-height: 1.5;
}
.c-checkbox-field:has(input:checked) { border: var(--input-border-checked); background-color: var(--input-bg-checked); }
.c-radio-field:has(input:checked) { border: var(--input-border-checked); background-color: var(--input-bg-checked); }
form .is-err .c-checkbox-field,
form .is-err .c-radio-field {
  border: var(--input-border-error);
  background-color: var(--input-bg-error);
}
.c-checkbox-field_txt,
.c-radio-field_txt {
  flex: 1;
}
.c-checkbox-field_input,
.c-radio-field_input {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-checkbox-field_input input,
.c-radio-field_input input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0, 0);
  border: 0;
}
.c-checkbox-field_input:after,
.c-radio-field_input:after {
  content: "";
}

/* .c-checkbox */
.c-checkbox-field_input {
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  border-radius: var(--checkbox-radius);
  border: var(--checkbox-border);
  background-color: var(--checkbox-bg);
  margin-top: var(--checkbox-mgt);
}
.c-checkbox-field_input:after {
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  mask-image: var(--checkbox-icon-image);
  mask-repeat: no-repeat;
  mask-size: var(--checkbox-icon-size);
  mask-position: center center;
  background-color: var(--checkbox-icon);
}
.c-checkbox-field_input:has(input:checked) { border: var(--checkbox-border-checked); background-color: var(--checkbox-bg-checked); }
.c-checkbox-field_input:has(input:checked):after { background-color: var(--checkbox-icon-checked); }

/* .c-radio */
.c-radio-field_input {
  width: var(--radio-size);
  height: var(--radio-size);
  border-radius: 100%;
  border: var(--radio-border);
  background-color: var(--radio-bg);
  margin-top: var(--radio-mgt);
}
.c-radio-field_input:after {
  width: var(--radio-icon-size);
  height: var(--radio-icon-size);
  border-radius: 100%;
  background-color: var(--radio-icon);
}
.c-radio-field_input:has(input:checked) { border: var(--radio-border-checked); background-color: var(--radio-bg-checked); }
.c-radio-field_input:has(input:checked):after { background-color: var(--radio-icon-checked); }

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

/*--------------------------------------------------------------------------------
  .c-form-errmsg
--------------------------------------------------------------------------------*/
.c-form-errmsg {
  font-size: var(--fs-s);
  color: var(--color-warning-dark);
  display: none;
}
form .is-err .c-form-errmsg {
  display: block;
  padding-bottom: 0.75rem;
}

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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-heading01
--------------------------------------------------------------------------------*/
.c-heading01 {
  line-height: 1.5;
  font-family: var(--ff-go);
  font-weight: 600;
  font-size: var(--fs-m);
  color: #FFF;
  border-radius: 0.3rem;
  padding: 0.7em 1rem;
  background-color: var(--color-primary);
  margin-bottom: var(--space-2s);
}

/*--------------------------------------------------------------------------------
  .c-heading02
--------------------------------------------------------------------------------*/
.c-heading02 {
  line-height: 1.5;
  font-family: var(--ff-go);
  font-weight: 700;
  font-size: var(--fs-l);
  padding-left: 1.25rem;
  position: relative;
  margin-bottom: var(--space-2s);
}
.c-heading02:before {
  content: "";
  width: 5px;
  height: 100%;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--color-primary-dark);
}

/*--------------------------------------------------------------------------------
 
  other

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-gmap
--------------------------------------------------------------------------------*/
.c-gmap { width:100%; height:100%; vertical-align:bottom; }
.c-gmap, .c-gmap_canvas { width: 100%; }
@media print,screen and (min-width:641px) { .c-gmap, .c-gmap_canvas { height:500px; } }
@media screen and (max-width:640px) { .c-gmap, .c-gmap_canvas { height:400px; } }

/*--------------------------------------------------------------------------------
  .c-bnr
--------------------------------------------------------------------------------*/
.c-bnr {
  display: block;
  border-radius: 0.3rem;
  overflow: hidden;
}
.c-bnr.-outline { border-width: 1px; border-style: solid; }
.c-bnr.-outline.-primary { border-width: 2px; border-color: var(--color-primary-light); }
.c-bnr.-outline.-light { border-color: var(--color-gray-light); background-color: #FFF; }
@media (hover: hover) {
  .c-bnr.-outline.-primary:hover { border-color: var(--color-primary); background-color: var(--color-primary-lightest); }
  .c-bnr.-outline.-light:hover { background-color: var(--color-gray-lightest); }
}

/*--------------------------------------------------------------------------------
  .c-noimage
--------------------------------------------------------------------------------*/
.c-noimage { outline: 1px solid var(--border-color-light); }

/*--------------------------------------------------------------------------------
  .c-blinking
--------------------------------------------------------------------------------*/
.c-blinking { animation:blink 0.6s ease-in-out infinite alternate; }
@keyframes blink {
  0% { opacity: 0; }
  20% { opacity: 1; }
  100% { opacity: 1; }
}


/* project
=============================================================================== */
/*--------------------------------------------------------------------------------
  .p-breadcrumb
--------------------------------------------------------------------------------*/
.p-breadcrumb {
  width: calc(var(--base-width) * 1px);
  max-width: calc(100% - (var(--side-space) * 2));
  margin: 0 auto;
  padding: 1.5rem 0 var(--space-s) 0;
}
.p-breadcrumb_list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.4rem;
  row-gap: 0.5rem;
  line-height: 1.4;
  font-size: var(--fs-s);
}
.p-breadcrumb_list li { position: relative; }
.p-breadcrumb_list li:not(:first-child):before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 0.4rem;
  height: 0.4rem;
  border-top: 1px solid var(--color-gray);
  border-right: 1px solid var(--color-gray);
  transform: rotate(45deg);
  margin-right: 0.6rem;
  margin-bottom: 0.1rem;
}
.p-breadcrumb_list li:first-child a {
  display: inline-flex;
  column-gap: 0.4rem;
  position: relative;
}
.p-breadcrumb_list li:first-child a:before {
  content: "";
  width: 1.2em;
  height: 1.2em;
  align-self: center;
  line-height: 1;
  background: var(--color-secondary-dark);
  color: inherit;
  mask-repeat: no-repeat;
  mask-image: var(--icon-home);
}
@media (max-width: 640px) {
  .p-breadcrumb { display: none; }
}

/*--------------------------------------------------------------------------------
  .p-card
--------------------------------------------------------------------------------*/
.p-card {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(--space-3s);
}
.p-card_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  grid-gap: 0;
  border: 1px solid var(--color-primary-light);
  border-radius: 0.3rem;
  overflow: hidden;
}
.p-card_inner {
  display: block;
  padding: var(--box-space-s);
}
.p-card_hd {
  border-bottom: 1px solid var(--color-primary-light);
  background-color: var(--color-primary-lightest);
  line-height: 1.5;
}
.p-card_hd-ttl {
  font-weight: bold;
  font-size: var(--fs-m);
  display: block;
}
.p-card_hd-ttl-sub {
  color: var(--color-gray);
  font-size: var(--fs-s);
}
.p-card_hd-link {
  text-decoration: none;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-column-gap: 0.5rem;
}
.p-card_hd-link:after {
  content: "";
  margin-top: 0.15rem;
  margin-right: -0.25rem;
  width: 1.2em;
  height: 1.2em;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  background: currentColor;
  color: inherit;
  mask-repeat: no-repeat;
  mask-image: var(--icon-arrowV-next);
}
.p-card_content {
  display: flex;
  column-gap: 1.25rem;
}
.p-card_tmb { width: max(100px,35%); }
.p-card_data { flex: 1; }
@media (max-width: 640px) {
  .p-card {
    grid-template-columns: 1fr;
  }
}

/*--------------------------------------------------------------------------------
  .p-pager
--------------------------------------------------------------------------------*/
.p-pager {
  padding-top: var(--space-m);
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.5rem;
  row-gap: 1.5rem;
  line-height: 1;
}
.p-pager_item { font-size: var(--fs-2s); }
.p-pager_item.-extend { align-self: flex-end; padding: 0.75rem 0.25rem; }
.p-pager_item.-prev, .p-pager_item.-next { font-size: var(--fs-m); }
.p-pager_item-link {
  display: block;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 2.5rem;
  padding: 0.5rem;
  text-decoration: none;
  background-color: #FFF;
  border: 1px solid var(--border-color);
  border-radius: 0.2rem;
}
.p-pager_item.-prev .p-pager_item-link, .p-pager_item.-next .p-pager_item-link { padding: 0.5rem; }
.p-pager_item.-is-active .p-pager_item-link { background-color: var(--color-secondary-dark); border-color: var(--color-secondary-dark); color: #FFF; }

.p-pager a { color: var(--gray); }
.p-pager a:hover { border-color: var(--color-secondary-dark); color: var(--color-secondary-dark); }
@media (max-width: 640px) {
  .p-pager { justify-content: center; }
}

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

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .p-archive
--------------------------------------------------------------------------------*/
.p-archive_item {
  display: flex;
  column-gap: 1rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border-color-light);
}
.p-archive_item:not(:first-of-type) { padding-top: 1.25rem; }
.p-archive_item:first-of-type { padding-top: 0.5rem; }
.p-archive_date { color: var(--color-gray); }
.p-archive_ttl { flex: 1; }

/*--------------------------------------------------------------------------------
  .p-archive-select
--------------------------------------------------------------------------------*/
.p-archive-select {
  display: flex;
  gap: 1rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 641px) {
  .p-archive-select { display: none; }
}

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

  article

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .p-article-hd
  .p-article-date
  .p-article-ttl
--------------------------------------------------------------------------------*/
.p-article-hd {
  line-height: 1.5;
  padding-left: 1.25rem;
  position: relative;
  margin-bottom: var(--space-2s);
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-color);
}
.p-article-hd:before {
  content: "";
  width: 5px;
  height: calc(100% - 1rem);
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--color-primary-dark);
}
.p-article-date {
  color: var(--color-gray);
  font-size: var(--fs-s);
  display: inline-block;
  margin-bottom: 0.5rem;
}
.p-article-ttl {
  font-size: var(--fs-l);
  font-weight: bold;
}

/*--------------------------------------------------------------------------------
  .p-article-block
--------------------------------------------------------------------------------*/
.p-article-block {
  padding-bottom: var(--space-m);
}
.p-article-block:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}

/*--------------------------------------------------------------------------------
  .p-article-txt
--------------------------------------------------------------------------------*/
.p-article-txt ul:not([list="none"]) { margin-left: var(--list-mgl); list-style: disc; }
.p-article-txt ol:not([list="none"]) { margin-left: var(--list-mgl); list-style: decimal; }
.p-article-txt img { vertical-align: middle; }
.p-article-txt a[target="_blank"]:not([icon="none"]):not(:has(img)):after {
  content: "";
  width: var(--newwin-size);
  height: var(--newwin-size);
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  margin-left: var(--newwin-mgl);
  background: currentColor;
  color: inherit;
  mask-repeat: no-repeat;
  mask-image: var(--icon-newwin);
}

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

/*--------------------------------------------------------------------------------
  .p-article-file
--------------------------------------------------------------------------------*/
.p-article-txt + .p-article-file {
  padding-top: var(--space-s);
}
