/* =========================================================
  Utility CSS - Part1
  display / position / margin / z-index
========================================================= */

/* ===== Base (optional) ===== */
*{box-sizing:border-box;}

/* =========================================================
  DISPLAY
========================================================= */
.block{display:block;}
.inline{display:inline;}
.inblock{display:inline-block;}
.flex{display:flex;}
.inflex{display:inline-flex;}
.grid{display:grid;}
.ingrid{display:inline-grid;}
.table{display:table;}
.intable{display:inline-table;}
.listitem{display:list-item;}
.contents{display:contents;}
.flowroot{display:flow-root;}
.none{display:none;}

.visible{visibility:visible;}
.invisible{visibility:hidden;}

/* =========================================================
  POSITION
========================================================= */
.static{position:static;}
.relative{position:relative;}
.absolute{position:absolute;}
.fixed{position:fixed;}
.sticky{position:sticky;}

/* inset shorthand */
.inset__0{top:0;right:0;bottom:0;left:0;}
.inset__auto{top:auto;right:auto;bottom:auto;left:auto;}

/* edges */
.top__0{top:0;}
.right__0{right:0;}
.bottom__0{bottom:0;}
.left__0{left:0;}

.top__auto{top:auto;}
.right__auto{right:auto;}
.bottom__auto{bottom:auto;}
.left__auto{left:auto;}

/* common absolute centering */
.abs--center{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}

/* =========================================================
  Z-INDEX
========================================================= */
.z__-10{z-index:-10;}
.z__-5{z-index:-5;}
.z__-1{z-index:-1;}
.z__0{z-index:0;}
.z__1{z-index:1;}
.z__2{z-index:2;}
.z__3{z-index:3;}
.z__4{z-index:4;}
.z__5{z-index:5;}
.z__10{z-index:10;}
.z__20{z-index:20;}
.z__50{z-index:50;}
.z__100{z-index:100;}
.z__999{z-index:999;}
.z__9999{z-index:9999;}

/* =========================================================
  MARGIN
  scale(px): 0,2,4,6,8,10,12,14,16,20,24,28,32,36,40,48,56,64,80,96,120,160,200
========================================================= */

/* all */
.mgn__0{margin:0;}
.mgn__2{margin:2px;}
.mgn__4{margin:4px;}
.mgn__6{margin:6px;}
.mgn__8{margin:8px;}
.mgn__10{margin:10px;}
.mgn__12{margin:12px;}
.mgn__14{margin:14px;}
.mgn__16{margin:16px;}
.mgn__20{margin:20px;}
.mgn__24{margin:24px;}
.mgn__28{margin:28px;}
.mgn__32{margin:32px;}
.mgn__36{margin:36px;}
.mgn__40{margin:40px;}
.mgn__48{margin:48px;}
.mgn__56{margin:56px;}
.mgn__64{margin:64px;}
.mgn__80{margin:80px;}
.mgn__96{margin:96px;}
.mgn__120{margin:120px;}
.mgn__160{margin:160px;}
.mgn__200{margin:200px;}

/* vertical/horizontal shorthand */
.mgn__0__auto{margin:0 auto;}
.mgn__8__auto{margin:8px auto;}
.mgn__16__auto{margin:16px auto;}
.mgn__24__auto{margin:24px auto;}
.mgn__32__auto{margin:32px auto;}
.mgn__40__auto{margin:40px auto;}
.mgn__auto{margin:auto;}
.mgn__auto__0{margin:auto 0;}

/* x */
.mgn--x__auto{margin-left:auto;margin-right:auto;}
.mgn--x__0{margin-left:0;margin-right:0;}
.mgn--x__2{margin-left:2px;margin-right:2px;}
.mgn--x__4{margin-left:4px;margin-right:4px;}
.mgn--x__6{margin-left:6px;margin-right:6px;}
.mgn--x__8{margin-left:8px;margin-right:8px;}
.mgn--x__10{margin-left:10px;margin-right:10px;}
.mgn--x__12{margin-left:12px;margin-right:12px;}
.mgn--x__14{margin-left:14px;margin-right:14px;}
.mgn--x__16{margin-left:16px;margin-right:16px;}
.mgn--x__20{margin-left:20px;margin-right:20px;}
.mgn--x__24{margin-left:24px;margin-right:24px;}
.mgn--x__28{margin-left:28px;margin-right:28px;}
.mgn--x__32{margin-left:32px;margin-right:32px;}
.mgn--x__36{margin-left:36px;margin-right:36px;}
.mgn--x__40{margin-left:40px;margin-right:40px;}
.mgn--x__48{margin-left:48px;margin-right:48px;}
.mgn--x__56{margin-left:56px;margin-right:56px;}
.mgn--x__64{margin-left:64px;margin-right:64px;}
.mgn--x__80{margin-left:80px;margin-right:80px;}
.mgn--x__96{margin-left:96px;margin-right:96px;}
.mgn--x__120{margin-left:120px;margin-right:120px;}
.mgn--x__160{margin-left:160px;margin-right:160px;}
.mgn--x__200{margin-left:200px;margin-right:200px;}

/* y */
.mgn--y__0{margin-top:0;margin-bottom:0;}
.mgn--y__2{margin-top:2px;margin-bottom:2px;}
.mgn--y__4{margin-top:4px;margin-bottom:4px;}
.mgn--y__6{margin-top:6px;margin-bottom:6px;}
.mgn--y__8{margin-top:8px;margin-bottom:8px;}
.mgn--y__10{margin-top:10px;margin-bottom:10px;}
.mgn--y__12{margin-top:12px;margin-bottom:12px;}
.mgn--y__14{margin-top:14px;margin-bottom:14px;}
.mgn--y__16{margin-top:16px;margin-bottom:16px;}
.mgn--y__20{margin-top:20px;margin-bottom:20px;}
.mgn--y__24{margin-top:24px;margin-bottom:24px;}
.mgn--y__28{margin-top:28px;margin-bottom:28px;}
.mgn--y__32{margin-top:32px;margin-bottom:32px;}
.mgn--y__36{margin-top:36px;margin-bottom:36px;}
.mgn--y__40{margin-top:40px;margin-bottom:40px;}
.mgn--y__48{margin-top:48px;margin-bottom:48px;}
.mgn--y__56{margin-top:56px;margin-bottom:56px;}
.mgn--y__64{margin-top:64px;margin-bottom:64px;}
.mgn--y__80{margin-top:80px;margin-bottom:80px;}
.mgn--y__96{margin-top:96px;margin-bottom:96px;}
.mgn--y__120{margin-top:120px;margin-bottom:120px;}
.mgn--y__160{margin-top:160px;margin-bottom:160px;}
.mgn--y__200{margin-top:200px;margin-bottom:200px;}

/* sides */
.mgn--top__0{margin-top:0;}
.mgn--top__2{margin-top:2px;}
.mgn--top__4{margin-top:4px;}
.mgn--top__6{margin-top:6px;}
.mgn--top__8{margin-top:8px;}
.mgn--top__10{margin-top:10px;}
.mgn--top__12{margin-top:12px;}
.mgn--top__14{margin-top:14px;}
.mgn--top__16{margin-top:16px;}
.mgn--top__20{margin-top:20px;}
.mgn--top__24{margin-top:24px;}
.mgn--top__28{margin-top:28px;}
.mgn--top__32{margin-top:32px;}
.mgn--top__36{margin-top:36px;}
.mgn--top__40{margin-top:40px;}
.mgn--top__48{margin-top:48px;}
.mgn--top__56{margin-top:56px;}
.mgn--top__64{margin-top:64px;}
.mgn--top__80{margin-top:80px;}
.mgn--top__96{margin-top:96px;}
.mgn--top__120{margin-top:120px;}
.mgn--top__160{margin-top:160px;}
.mgn--top__200{margin-top:200px;}

.mgn--bottom__0{margin-bottom:0;}
.mgn--bottom__2{margin-bottom:2px;}
.mgn--bottom__4{margin-bottom:4px;}
.mgn--bottom__6{margin-bottom:6px;}
.mgn--bottom__8{margin-bottom:8px;}
.mgn--bottom__10{margin-bottom:10px;}
.mgn--bottom__12{margin-bottom:12px;}
.mgn--bottom__14{margin-bottom:14px;}
.mgn--bottom__16{margin-bottom:16px;}
.mgn--bottom__20{margin-bottom:20px;}
.mgn--bottom__24{margin-bottom:24px;}
.mgn--bottom__28{margin-bottom:28px;}
.mgn--bottom__32{margin-bottom:32px;}
.mgn--bottom__36{margin-bottom:36px;}
.mgn--bottom__40{margin-bottom:40px;}
.mgn--bottom__48{margin-bottom:48px;}
.mgn--bottom__56{margin-bottom:56px;}
.mgn--bottom__64{margin-bottom:64px;}
.mgn--bottom__80{margin-bottom:80px;}
.mgn--bottom__96{margin-bottom:96px;}
.mgn--bottom__120{margin-bottom:120px;}
.mgn--bottom__160{margin-bottom:160px;}
.mgn--bottom__200{margin-bottom:200px;}

.mgn--left__0{margin-left:0;}
.mgn--left__2{margin-left:2px;}
.mgn--left__4{margin-left:4px;}
.mgn--left__6{margin-left:6px;}
.mgn--left__8{margin-left:8px;}
.mgn--left__10{margin-left:10px;}
.mgn--left__12{margin-left:12px;}
.mgn--left__14{margin-left:14px;}
.mgn--left__16{margin-left:16px;}
.mgn--left__20{margin-left:20px;}
.mgn--left__24{margin-left:24px;}
.mgn--left__28{margin-left:28px;}
.mgn--left__32{margin-left:32px;}
.mgn--left__36{margin-left:36px;}
.mgn--left__40{margin-left:40px;}
.mgn--left__48{margin-left:48px;}
.mgn--left__56{margin-left:56px;}
.mgn--left__64{margin-left:64px;}
.mgn--left__80{margin-left:80px;}
.mgn--left__96{margin-left:96px;}
.mgn--left__120{margin-left:120px;}
.mgn--left__160{margin-left:160px;}
.mgn--left__200{margin-left:200px;}

.mgn--right__0{margin-right:0;}
.mgn--right__2{margin-right:2px;}
.mgn--right__4{margin-right:4px;}
.mgn--right__6{margin-right:6px;}
.mgn--right__8{margin-right:8px;}
.mgn--right__10{margin-right:10px;}
.mgn--right__12{margin-right:12px;}
.mgn--right__14{margin-right:14px;}
.mgn--right__16{margin-right:16px;}
.mgn--right__20{margin-right:20px;}
.mgn--right__24{margin-right:24px;}
.mgn--right__28{margin-right:28px;}
.mgn--right__32{margin-right:32px;}
.mgn--right__36{margin-right:36px;}
.mgn--right__40{margin-right:40px;}
.mgn--right__48{margin-right:48px;}
.mgn--right__56{margin-right:56px;}
.mgn--right__64{margin-right:64px;}
.mgn--right__80{margin-right:80px;}
.mgn--right__96{margin-right:96px;}
.mgn--right__120{margin-right:120px;}
.mgn--right__160{margin-right:160px;}
.mgn--right__200{margin-right:200px;}






/* =========================================================
 Utility CSS - Part2
  padding (all / x-y / sides)
  scale(px): 0,2,4,6,8,10,12,14,16,20,24,28,32,36,40,48,56,64,80,96,120,160,200
========================================================= */

/* all */
.pd__0{padding:0;}
.pd__2{padding:2px;}
.pd__4{padding:4px;}
.pd__6{padding:6px;}
.pd__8{padding:8px;}
.pd__10{padding:10px;}
.pd__12{padding:12px;}
.pd__14{padding:14px;}
.pd__16{padding:16px;}
.pd__20{padding:20px;}
.pd__24{padding:24px;}
.pd__28{padding:28px;}
.pd__32{padding:32px;}
.pd__36{padding:36px;}
.pd__40{padding:40px;}
.pd__48{padding:48px;}
.pd__56{padding:56px;}
.pd__64{padding:64px;}
.pd__80{padding:80px;}
.pd__96{padding:96px;}
.pd__120{padding:120px;}
.pd__160{padding:160px;}
.pd__200{padding:200px;}

/* x (left+right) */
.pd--x__0{padding-left:0;padding-right:0;}
.pd--x__2{padding-left:2px;padding-right:2px;}
.pd--x__4{padding-left:4px;padding-right:4px;}
.pd--x__6{padding-left:6px;padding-right:6px;}
.pd--x__8{padding-left:8px;padding-right:8px;}
.pd--x__10{padding-left:10px;padding-right:10px;}
.pd--x__12{padding-left:12px;padding-right:12px;}
.pd--x__14{padding-left:14px;padding-right:14px;}
.pd--x__16{padding-left:16px;padding-right:16px;}
.pd--x__20{padding-left:20px;padding-right:20px;}
.pd--x__24{padding-left:24px;padding-right:24px;}
.pd--x__28{padding-left:28px;padding-right:28px;}
.pd--x__32{padding-left:32px;padding-right:32px;}
.pd--x__36{padding-left:36px;padding-right:36px;}
.pd--x__40{padding-left:40px;padding-right:40px;}
.pd--x__48{padding-left:48px;padding-right:48px;}
.pd--x__56{padding-left:56px;padding-right:56px;}
.pd--x__64{padding-left:64px;padding-right:64px;}
.pd--x__80{padding-left:80px;padding-right:80px;}
.pd--x__96{padding-left:96px;padding-right:96px;}
.pd--x__120{padding-left:120px;padding-right:120px;}
.pd--x__160{padding-left:160px;padding-right:160px;}
.pd--x__200{padding-left:200px;padding-right:200px;}

/* y (top+bottom) */
.pd--y__0{padding-top:0;padding-bottom:0;}
.pd--y__2{padding-top:2px;padding-bottom:2px;}
.pd--y__4{padding-top:4px;padding-bottom:4px;}
.pd--y__6{padding-top:6px;padding-bottom:6px;}
.pd--y__8{padding-top:8px;padding-bottom:8px;}
.pd--y__10{padding-top:10px;padding-bottom:10px;}
.pd--y__12{padding-top:12px;padding-bottom:12px;}
.pd--y__14{padding-top:14px;padding-bottom:14px;}
.pd--y__16{padding-top:16px;padding-bottom:16px;}
.pd--y__20{padding-top:20px;padding-bottom:20px;}
.pd--y__24{padding-top:24px;padding-bottom:24px;}
.pd--y__28{padding-top:28px;padding-bottom:28px;}
.pd--y__32{padding-top:32px;padding-bottom:32px;}
.pd--y__36{padding-top:36px;padding-bottom:36px;}
.pd--y__40{padding-top:40px;padding-bottom:40px;}
.pd--y__48{padding-top:48px;padding-bottom:48px;}
.pd--y__56{padding-top:56px;padding-bottom:56px;}
.pd--y__64{padding-top:64px;padding-bottom:64px;}
.pd--y__80{padding-top:80px;padding-bottom:80px;}
.pd--y__96{padding-top:96px;padding-bottom:96px;}
.pd--y__120{padding-top:120px;padding-bottom:120px;}
.pd--y__160{padding-top:160px;padding-bottom:160px;}
.pd--y__200{padding-top:200px;padding-bottom:200px;}

/* sides */
.pd--top__0{padding-top:0;}
.pd--top__2{padding-top:2px;}
.pd--top__4{padding-top:4px;}
.pd--top__6{padding-top:6px;}
.pd--top__8{padding-top:8px;}
.pd--top__10{padding-top:10px;}
.pd--top__12{padding-top:12px;}
.pd--top__14{padding-top:14px;}
.pd--top__16{padding-top:16px;}
.pd--top__20{padding-top:20px;}
.pd--top__24{padding-top:24px;}
.pd--top__28{padding-top:28px;}
.pd--top__32{padding-top:32px;}
.pd--top__36{padding-top:36px;}
.pd--top__40{padding-top:40px;}
.pd--top__48{padding-top:48px;}
.pd--top__56{padding-top:56px;}
.pd--top__64{padding-top:64px;}
.pd--top__80{padding-top:80px;}
.pd--top__96{padding-top:96px;}
.pd--top__120{padding-top:120px;}
.pd--top__160{padding-top:160px;}
.pd--top__200{padding-top:200px;}

.pd--bottom__0{padding-bottom:0;}
.pd--bottom__2{padding-bottom:2px;}
.pd--bottom__4{padding-bottom:4px;}
.pd--bottom__6{padding-bottom:6px;}
.pd--bottom__8{padding-bottom:8px;}
.pd--bottom__10{padding-bottom:10px;}
.pd--bottom__12{padding-bottom:12px;}
.pd--bottom__14{padding-bottom:14px;}
.pd--bottom__16{padding-bottom:16px;}
.pd--bottom__20{padding-bottom:20px;}
.pd--bottom__24{padding-bottom:24px;}
.pd--bottom__28{padding-bottom:28px;}
.pd--bottom__32{padding-bottom:32px;}
.pd--bottom__36{padding-bottom:36px;}
.pd--bottom__40{padding-bottom:40px;}
.pd--bottom__48{padding-bottom:48px;}
.pd--bottom__56{padding-bottom:56px;}
.pd--bottom__64{padding-bottom:64px;}
.pd--bottom__80{padding-bottom:80px;}
.pd--bottom__96{padding-bottom:96px;}
.pd--bottom__120{padding-bottom:120px;}
.pd--bottom__160{padding-bottom:160px;}
.pd--bottom__200{padding-bottom:200px;}

.pd--left__0{padding-left:0;}
.pd--left__2{padding-left:2px;}
.pd--left__4{padding-left:4px;}
.pd--left__6{padding-left:6px;}
.pd--left__8{padding-left:8px;}
.pd--left__10{padding-left:10px;}
.pd--left__12{padding-left:12px;}
.pd--left__14{padding-left:14px;}
.pd--left__16{padding-left:16px;}
.pd--left__20{padding-left:20px;}
.pd--left__24{padding-left:24px;}
.pd--left__28{padding-left:28px;}
.pd--left__32{padding-left:32px;}
.pd--left__36{padding-left:36px;}
.pd--left__40{padding-left:40px;}
.pd--left__48{padding-left:48px;}
.pd--left__56{padding-left:56px;}
.pd--left__64{padding-left:64px;}
.pd--left__80{padding-left:80px;}
.pd--left__96{padding-left:96px;}
.pd--left__120{padding-left:120px;}
.pd--left__160{padding-left:160px;}
.pd--left__200{padding-left:200px;}

.pd--right__0{padding-right:0;}
.pd--right__2{padding-right:2px;}
.pd--right__4{padding-right:4px;}
.pd--right__6{padding-right:6px;}
.pd--right__8{padding-right:8px;}
.pd--right__10{padding-right:10px;}
.pd--right__12{padding-right:12px;}
.pd--right__14{padding-right:14px;}
.pd--right__16{padding-right:16px;}
.pd--right__20{padding-right:20px;}
.pd--right__24{padding-right:24px;}
.pd--right__28{padding-right:28px;}
.pd--right__32{padding-right:32px;}
.pd--right__36{padding-right:36px;}
.pd--right__40{padding-right:40px;}
.pd--right__48{padding-right:48px;}
.pd--right__56{padding-right:56px;}
.pd--right__64{padding-right:64px;}
.pd--right__80{padding-right:80px;}
.pd--right__96{padding-right:96px;}
.pd--right__120{padding-right:120px;}
.pd--right__160{padding-right:160px;}
.pd--right__200{padding-right:200px;}



/* =========================================================
  Utility CSS - Part3
  width / height / overflow
========================================================= */

/* =========================================================
  WIDTH (%, auto, fit, full)
========================================================= */
.w__auto{width:auto;}
.w__fit{width:fit-content;}
.w__min{width:min-content;}
.w__max{width:max-content;}

.w__0{width:0;}
.w__5{width:5%;}
.w__10{width:10%;}
.w__15{width:15%;}
.w__20{width:20%;}
.w__25{width:25%;}
.w__30{width:30%;}
.w__33{width:33.3333%;}
.w__40{width:40%;}
.w__50{width:50%;}
.w__60{width:60%;}
.w__66{width:66.6666%;}
.w__70{width:70%;}
.w__75{width:75%;}
.w__80{width:80%;}
.w__90{width:90%;}
.w__100{width:100%;}

/* fixed px */
.wpx__10{width:10px;}
.wpx__15{width:15px;}
.wpx__20{width:20px;}
.wpx__24{width:24px;}
.wpx__28{width:28px;}
.wpx__32{width:32px;}
.wpx__36{width:36px;}
.wpx__40{width:40px;}
.wpx__48{width:48px;}
.wpx__56{width:56px;}
.wpx__64{width:64px;}
.wpx__72{width:72px;}
.wpx__80{width:80px;}
.wpx__96{width:96px;}
.wpx__100{width:100px;}
.wpx__150{width:150px;}
.wpx__200{width:200px;}
.wpx__240{width:240px;}
.wpx__280{width:280px;}
.wpx__320{width:320px;}
.wpx__360{width:360px;}
.wpx__400{width:400px;}
.wpx__480{width:480px;}
.wpx__560{width:560px;}
.wpx__640{width:640px;}
.wpx__720{width:720px;}
.wpx__800{width:800px;}
.wpx__960{width:960px;}
.wpx__1200{width:1200px;}
.wpx__1250{width:1250px;}

/* max-width */
.maxw__100{max-width:100%;}
.maxw__320{max-width:320px;}
.maxw__480{max-width:480px;}
.maxw__640{max-width:640px;}
.maxw__768{max-width:768px;}
.maxw__960{max-width:960px;}
.maxw__1200{max-width:1200px;}
.maxw__1024{max-width:1024px;}
.maxw__1440{max-width:1440px;}

/* min-width */
.minw__0{min-width:0;}
.minw__100{min-width:100%;}
.minw__200{min-width:200px;}
.minw__320{min-width:320px;}
.minw__480{min-width:480px;}
.minw__640{min-width:640px;}


/* =========================================================
  HEIGHT
========================================================= */
.h__auto{height:auto;}
.h__fit{height:fit-content;}
.h__min{height:min-content;}
.h__max{height:max-content;}

.h__0{height:0;}
.h__25{height:25%;}
.h__50{height:50%;}
.h__75{height:75%;}
.h__100{height:100%;}

.h__25vh{height:25vh;}
.h__50vh{height:50vh;}
.h__75vh{height:75vh;}
.h__100vh{height:100vh;}

/* fixed px */
.hpx__80{height:80px;}
.hpx__100{height:100px;}
.hpx__150{height:150px;}
.hpx__200{height:200px;}
.hpx__240{height:240px;}
.hpx__280{height:280px;}
.hpx__320{height:320px;}
.hpx__360{height:360px;}
.hpx__400{height:400px;}
.hpx__480{height:480px;}
.hpx__560{height:560px;}
.hpx__640{height:640px;}
.hpx__720{height:720px;}
.hpx__800{height:800px;}

/* max-height */
.maxh__100{max-height:100%;}
.maxh__50vh{max-height:50vh;}
.maxh__100vh{max-height:100vh;}
.maxh__320{max-height:320px;}
.maxh__480{max-height:480px;}
.maxh__640{max-height:640px;}
.maxh__800{max-height:800px;}

/* min-height */
.minh__0{min-height:0;}
.minh__100{min-height:100%;}
.minh__50vh{min-height:50vh;}
.minh__100vh{min-height:100vh;}
.minh__320{min-height:320px;}
.minh__480{min-height:480px;}
.minh__640{min-height:640px;}
.minh__800{min-height:800px;}


/* =========================================================
  OVERFLOW
========================================================= */
.of__visible{overflow:visible;}
.of__hidden{overflow:hidden;}
.of__scroll{overflow:scroll;}
.of__auto{overflow:auto;}

.of--x__visible{overflow-x:visible;}
.of--x__hidden{overflow-x:hidden;}
.of--x__scroll{overflow-x:scroll;}
.of--x__auto{overflow-x:auto;}

.of--y__visible{overflow-y:visible;}
.of--y__hidden{overflow-y:hidden;}
.of--y__scroll{overflow-y:scroll;}
.of--y__auto{overflow-y:auto;}

/* text overflow */
.ellipsis{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

/* scrollbar (webkit) */
.scrollbar__none::-webkit-scrollbar{display:none;}
.scrollbar__thin::-webkit-scrollbar{width:6px;height:6px;}
.scrollbar__thin::-webkit-scrollbar-thumb{background:#999;border-radius:6px;}
.scrollbar__dark::-webkit-scrollbar-thumb{background:#333;}



/* =========================================================
  Utility CSS - Part4
  text / typography
========================================================= */

/* =========================================================
  FONT SIZE (rem)
========================================================= */
.fs__075{font-size:0.75rem;}
.fs__0875{font-size:0.875rem;}
.fs__1{font-size:1rem;}
.fs__1125{font-size:1.125rem;}
.fs__125{font-size:1.25rem;}
.fs__15{font-size:1.5rem;}
.fs__175{font-size:1.75rem;}
.fs__2{font-size:2rem;}
.fs__225{font-size:2.25rem;}
.fs__25{font-size:2.5rem;}
.fs__3{font-size:3rem;}
.fs__35{font-size:3.5rem;}
.fs__4{font-size:4rem;}

/* =========================================================
  FONT WEIGHT
========================================================= */
.fw__100{font-weight:100;}
.fw__200{font-weight:200;}
.fw__300{font-weight:300;}
.fw__400{font-weight:400;}
.fw__500{font-weight:500;}
.fw__600{font-weight:600;}
.fw__700{font-weight:700;}
.fw__800{font-weight:800;}
.fw__900{font-weight:900;}
.fw__bold{font-weight:bold;}
.fw__normal{font-weight:normal;}

/* =========================================================
  LINE HEIGHT
========================================================= */
.lh__1{line-height:1;}
.lh__11{line-height:1.1;}
.lh__12{line-height:1.2;}
.lh__13{line-height:1.3;}
.lh__14{line-height:1.4;}
.lh__15{line-height:1.5;}
.lh__16{line-height:1.6;}
.lh__18{line-height:1.8;}
.lh__2{line-height:2;}

/* =========================================================
  LETTER SPACING
========================================================= */
.ls__n02{letter-spacing:-0.02em;}
.ls__n01{letter-spacing:-0.01em;}
.ls__0{letter-spacing:0;}
.ls__01{letter-spacing:0.01em;}
.ls__02{letter-spacing:0.02em;}
.ls__03{letter-spacing:0.03em;}
.ls__05{letter-spacing:0.05em;}
.ls__1{letter-spacing:0.1em;}

/* =========================================================
  TEXT ALIGN
========================================================= */
.ta__left{text-align:left;}
.ta__center{text-align:center;}
.ta__right{text-align:right;}
.ta__justify{text-align:justify;}

/* =========================================================
  TEXT DECORATION
========================================================= */
.td__none{text-decoration:none;}
.td__underline{text-decoration:underline;}
.td__line{text-decoration:line-through;}
.td__over{text-decoration:overline;}

/* =========================================================
  TEXT TRANSFORM
========================================================= */
.tt__upper{text-transform:uppercase;}
.tt__lower{text-transform:lowercase;}
.tt__cap{text-transform:capitalize;}
.tt__none{text-transform:none;}

/* =========================================================
  FONT STYLE
========================================================= */
.italic{font-style:italic;}
.normal{font-style:normal;}

/* =========================================================
  WHITE SPACE / WRAP
========================================================= */
.nowrap{white-space:nowrap;}
.pre{white-space:pre;}
.prewrap{white-space:pre-wrap;}
.preline{white-space:pre-line;}
.breakword{overflow-wrap:break-word;}
.breakall{word-break:break-all;}

/* =========================================================
  TEXT OVERFLOW
========================================================= */
.ellipsis{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

/* =========================================================
  LIST STYLE
========================================================= */
.list__none{list-style:none;padding-left:0;}
.list__disc{list-style:disc;}
.list__decimal{list-style:decimal;}

/* =========================================================
  VERTICAL ALIGN
========================================================= */
.va__top{vertical-align:top;}
.va__middle{vertical-align:middle;}
.va__bottom{vertical-align:bottom;}
.va__baseline{vertical-align:baseline;}

/* =========================================================
  COLOR (basic set)
========================================================= */
.clr__black{color:#000;}
.clr__white{color:#fff;}
.clr__gray{color:#666;}
.clr__light{color:#999;}
.clr__red{color:#e53935;}
.clr__blue{color:#1e88e5;}
.clr__green{color:#43a047;}

/* =========================================================
  BACKGROUND COLOR (basic)
========================================================= */
.bg__black{background:#000;}
.bg__white{background:#fff;}
.bg__gray{background:#f5f5f5;}
.bg__light{background:#fafafa;}
.bg__red{background:#e53935;}
.bg__blue{background:#1e88e5;}
.bg__green{background:#43a047;}

/* =========================================================
  OPACITY
========================================================= */
.opacity__0{opacity:0;}
.opacity__25{opacity:.25;}
.opacity__50{opacity:.5;}
.opacity__75{opacity:.75;}
.opacity__100{opacity:1;}


/* =========================================================
  Utility CSS - Part5
  flex / grid detail
========================================================= */

/* =========================================================
  FLEX (container)
========================================================= */
.flex{display:flex;}
.inflex{display:inline-flex;}

.flex--row{flex-direction:row;}
.flex--rowr{flex-direction:row-reverse;}
.flex--col{flex-direction:column;}
.flex--colr{flex-direction:column-reverse;}

.flex--wrap{flex-wrap:wrap;}
.flex--nowrap{flex-wrap:nowrap;}
.flex--wrapr{flex-wrap:wrap-reverse;}

.jc__start{justify-content:flex-start;}
.jc__center{justify-content:center;}
.jc__end{justify-content:flex-end;}
.jc__between{justify-content:space-between;}
.jc__around{justify-content:space-around;}
.jc__evenly{justify-content:space-evenly;}

.ai__start{align-items:flex-start;}
.ai__center{align-items:center;}
.ai__end{align-items:flex-end;}
.ai__stretch{align-items:stretch;}
.ai__baseline{align-items:baseline;}

.ac__start{align-content:flex-start;}
.ac__center{align-content:center;}
.ac__end{align-content:flex-end;}
.ac__between{align-content:space-between;}
.ac__around{align-content:space-around;}
.ac__evenly{align-content:space-evenly;}
.ac__stretch{align-content:stretch;}

/* gap */
.gap__0{gap:0;}
.gap__4{gap:4px;}
.gap__8{gap:8px;}
.gap__12{gap:12px;}
.gap__16{gap:16px;}
.gap__20{gap:20px;}
.gap__24{gap:24px;}
.gap__28{gap:28px;}
.gap__32{gap:32px;}
.gap__40{gap:40px;}
.gap__48{gap:48px;}
.gap__56{gap:56px;}
.gap__64{gap:64px;}

.gapx__0{column-gap:0;}
.gapx__4{column-gap:4px;}
.gapx__8{column-gap:8px;}
.gapx__12{column-gap:12px;}
.gapx__16{column-gap:16px;}
.gapx__20{column-gap:20px;}
.gapx__24{column-gap:24px;}
.gapx__32{column-gap:32px;}
.gapx__40{column-gap:40px;}
.gapx__48{column-gap:48px;}
.gapx__64{column-gap:64px;}

.gapy__0{row-gap:0;}
.gapy__4{row-gap:4px;}
.gapy__8{row-gap:8px;}
.gapy__12{row-gap:12px;}
.gapy__16{row-gap:16px;}
.gapy__20{row-gap:20px;}
.gapy__24{row-gap:24px;}
.gapy__32{row-gap:32px;}
.gapy__40{row-gap:40px;}
.gapy__48{row-gap:48px;}
.gapy__64{row-gap:64px;}

/* =========================================================
  FLEX (items)
========================================================= */
.flex__auto{flex:1 1 auto;}
.flex__none{flex:none;}
.flex__1{flex:1 1 0%;}
.flex__0{flex:0 0 auto;}

.grow__0{flex-grow:0;}
.grow__1{flex-grow:1;}
.grow__2{flex-grow:2;}
.grow__3{flex-grow:3;}

.shrink__0{flex-shrink:0;}
.shrink__1{flex-shrink:1;}

.basis__auto{flex-basis:auto;}
.basis__0{flex-basis:0;}
.basis__25{flex-basis:25%;}
.basis__33{flex-basis:33.3333%;}
.basis__50{flex-basis:50%;}
.basis__66{flex-basis:66.6666%;}
.basis__75{flex-basis:75%;}
.basis__100{flex-basis:100%;}

.self__auto{align-self:auto;}
.self__start{align-self:flex-start;}
.self__center{align-self:center;}
.self__end{align-self:flex-end;}
.self__stretch{align-self:stretch;}
.self__baseline{align-self:baseline;}

/* order */
.order__n1{order:-1;}
.order__0{order:0;}
.order__1{order:1;}
.order__2{order:2;}
.order__3{order:3;}
.order__4{order:4;}
.order__5{order:5;}
.order__10{order:10;}
.order__99{order:99;}

/* =========================================================
  GRID (container)
========================================================= */
.grid{display:grid;}
.ingrid{display:inline-grid;}

.place__start{place-items:start;}
.place__center{place-items:center;}
.place__end{place-items:end;}
.place__stretch{place-items:stretch;}

.pi__start{place-items:start;}
.pi__center{place-items:center;}
.pi__end{place-items:end;}
.pi__stretch{place-items:stretch;}

.pc__start{place-content:start;}
.pc__center{place-content:center;}
.pc__end{place-content:end;}
.pc__between{place-content:space-between;}
.pc__around{place-content:space-around;}
.pc__evenly{place-content:space-evenly;}
.pc__stretch{place-content:stretch;}

/* grid gaps (reuse gap classes also work) */
.cg__0{column-gap:0;}
.cg__8{column-gap:8px;}
.cg__16{column-gap:16px;}
.cg__24{column-gap:24px;}
.cg__32{column-gap:32px;}
.cg__40{column-gap:40px;}
.cg__64{column-gap:64px;}

.rg__0{row-gap:0;}
.rg__8{row-gap:8px;}
.rg__16{row-gap:16px;}
.rg__24{row-gap:24px;}
.rg__32{row-gap:32px;}
.rg__40{row-gap:40px;}
.rg__64{row-gap:64px;}

/* =========================================================
  GRID TEMPLATE COLUMNS
========================================================= */
.cols__1{grid-template-columns:repeat(1,minmax(0,1fr));}
.cols__2{grid-template-columns:repeat(2,minmax(0,1fr));}
.cols__3{grid-template-columns:repeat(3,minmax(0,1fr));}
.cols__4{grid-template-columns:repeat(4,minmax(0,1fr));}
.cols__5{grid-template-columns:repeat(5,minmax(0,1fr));}
.cols__6{grid-template-columns:repeat(6,minmax(0,1fr));}
.cols__7{grid-template-columns:repeat(7,minmax(0,1fr));}
.cols__8{grid-template-columns:repeat(8,minmax(0,1fr));}
.cols__9{grid-template-columns:repeat(9,minmax(0,1fr));}
.cols__10{grid-template-columns:repeat(10,minmax(0,1fr));}
.cols__12{grid-template-columns:repeat(12,minmax(0,1fr));}

/* auto-fit helpers */
.cols__autofit_120{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));}
.cols__autofit_160{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.cols__autofit_200{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.cols__autofit_240{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.cols__autofit_280{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.cols__autofit_320{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}

/* =========================================================
  GRID TEMPLATE ROWS
========================================================= */
.rows__1{grid-template-rows:repeat(1,minmax(0,1fr));}
.rows__2{grid-template-rows:repeat(2,minmax(0,1fr));}
.rows__3{grid-template-rows:repeat(3,minmax(0,1fr));}
.rows__4{grid-template-rows:repeat(4,minmax(0,1fr));}
.rows__5{grid-template-rows:repeat(5,minmax(0,1fr));}
.rows__6{grid-template-rows:repeat(6,minmax(0,1fr));}

/* =========================================================
  GRID ITEM (span)
========================================================= */
.colspan__1{grid-column:span 1;}
.colspan__2{grid-column:span 2;}
.colspan__3{grid-column:span 3;}
.colspan__4{grid-column:span 4;}
.colspan__5{grid-column:span 5;}
.colspan__6{grid-column:span 6;}
.colspan__12{grid-column:span 12;}

.rowspan__1{grid-row:span 1;}
.rowspan__2{grid-row:span 2;}
.rowspan__3{grid-row:span 3;}
.rowspan__4{grid-row:span 4;}
.rowspan__5{grid-row:span 5;}
.rowspan__6{grid-row:span 6;}

/* grid item placement */
.gi__center{justify-self:center;align-self:center;}
.js__start{justify-self:start;}
.js__center{justify-self:center;}
.js__end{justify-self:end;}
.js__stretch{justify-self:stretch;}
.as__start{align-self:start;}
.as__center{align-self:center;}
.as__end{align-self:end;}
.as__stretch{align-self:stretch;}


/* =========================================================
 Utility CSS - Part6
  border / radius / shadow
========================================================= */

/* =========================================================
  BORDER (solid 1px #000000)
========================================================= */
.border{border:1px solid #000000;}
.border__0{border:0;}

.border--top{border-top:1px solid #000000;}
.border--right{border-right:1px solid #000000;}
.border--bottom{border-bottom:1px solid #000000;}
.border--left{border-left:1px solid #000000;}

/* =========================================================
  BORDER STYLE (optional variations)
========================================================= */
.border--dashed{border-style:dashed;}
.border--dotted{border-style:dotted;}
.border--double{border-style:double;}
.border--none{border-style:none;}

/* =========================================================
  BORDER WIDTH
========================================================= */
.bw__1{border-width:1px;}
.bw__2{border-width:2px;}
.bw__3{border-width:3px;}
.bw__4{border-width:4px;}

/* =========================================================
  BORDER COLOR
========================================================= */
.bc__black{border-color:#000000;}
.bc__white{border-color:#ffffff;}
.bc__gray{border-color:#999999;}
.bc__light{border-color:#dddddd;}

/* =========================================================
  RADIUS
========================================================= */
.radius__0{border-radius:0;}
.radius__2{border-radius:2px;}
.radius__4{border-radius:4px;}
.radius__6{border-radius:6px;}
.radius__8{border-radius:8px;}
.radius__10{border-radius:10px;}
.radius__12{border-radius:12px;}
.radius__16{border-radius:16px;}
.radius__20{border-radius:20px;}
.radius__24{border-radius:24px;}
.radius__32{border-radius:32px;}
.radius__40{border-radius:40px;}
.radius__50{border-radius:50px;}
.radius__64{border-radius:64px;}
.radius__999{border-radius:999px;}

/* corner only */
.radius--top{border-radius:16px 16px 0 0;}
.radius--bottom{border-radius:0 0 16px 16px;}
.radius--left{border-radius:16px 0 0 16px;}
.radius--right{border-radius:0 16px 16px 0;}

/* =========================================================
  SHADOW
========================================================= */
.shadow__none{box-shadow:none;}

/* light */
.shadow__xs{box-shadow:0 1px 2px rgba(0,0,0,.08);}
.shadow__sm{box-shadow:0 2px 6px rgba(0,0,0,.12);}

/* standard */
.shadow__md{box-shadow:0 6px 16px rgba(0,0,0,.14);}
.shadow__lg{box-shadow:0 12px 32px rgba(0,0,0,.18);}
.shadow__xl{box-shadow:0 20px 48px rgba(0,0,0,.22);}

/* heavy */
.shadow__2xl{box-shadow:0 30px 80px rgba(0,0,0,.28);}

/* inner */
.shadow__inner{box-shadow:inset 0 2px 6px rgba(0,0,0,.15);}
.shadow__innerlg{box-shadow:inset 0 4px 12px rgba(0,0,0,.2);}

/* glow */
.shadow__glow{box-shadow:0 0 0 4px rgba(0,0,0,.12),0 12px 32px rgba(0,0,0,.18);}
.shadow__soft{box-shadow:0 8px 40px rgba(0,0,0,.12);}

/* =========================================================
  OUTLINE (bonus)
========================================================= */
.outline__none{outline:none;}
.outline__black{outline:1px solid #000;}
.outline__gray{outline:1px solid #999;}

/* =========================================================
 Utility CSS - Part7
  hover / animation / transition
========================================================= */

/* =========================================================
  TRANSITION (base)
========================================================= */
.transition{transition:all .25s ease;}
.transition--fast{transition:all .15s ease;}
.transition--slow{transition:all .4s ease;}

.tr--opacity{transition:opacity .25s ease;}
.tr--transform{transition:transform .25s ease;}
.tr--shadow{transition:box-shadow .25s ease;}
.tr--color{transition:color .25s ease, background-color .25s ease, border-color .25s ease;}
.tr--filter{transition:filter .25s ease;}
.tr--width{transition:width .25s ease;}
.tr--height{transition:height .25s ease;}
.tr--clip{transition:clip-path .35s ease;}
.tr--bgpos{transition:background-position .6s ease;}
.tr--stroke{transition:stroke .25s ease, fill .25s ease;}

/* =========================================================
  HOVER: opacity
========================================================= */
.hover--opacity90{transition:opacity .25s ease;}
.hover--opacity90:hover{opacity:.9;}
.hover--opacity80{transition:opacity .25s ease;}
.hover--opacity80:hover{opacity:.8;}
.hover--opacity70{transition:opacity .25s ease;}
.hover--opacity70:hover{opacity:.7;}
.hover--opacity50{transition:opacity .25s ease;}
.hover--opacity50:hover{opacity:.5;}

/* =========================================================
  HOVER: translate
========================================================= */
.hover--up2{transition:transform .25s ease;}
.hover--up2:hover{transform:translateY(-2px);}
.hover--up4{transition:transform .25s ease;}
.hover--up4:hover{transform:translateY(-4px);}
.hover--up8{transition:transform .25s ease;}
.hover--up8:hover{transform:translateY(-8px);}

.hover--down2{transition:transform .25s ease;}
.hover--down2:hover{transform:translateY(2px);}
.hover--left2{transition:transform .25s ease;}
.hover--left2:hover{transform:translateX(-2px);}
.hover--right2{transition:transform .25s ease;}
.hover--right2:hover{transform:translateX(2px);}

/* =========================================================
  HOVER: scale
========================================================= */
.hover--scale102{transition:transform .25s ease;}
.hover--scale102:hover{transform:scale(1.02);}
.hover--scale105{transition:transform .25s ease;}
.hover--scale105:hover{transform:scale(1.05);}
.hover--scale110{transition:transform .25s ease;}
.hover--scale110:hover{transform:scale(1.10);}

.hover--shrink98{transition:transform .25s ease;}
.hover--shrink98:hover{transform:scale(.98);}

/* =========================================================
  HOVER: rotate
========================================================= */
.hover--rot1{transition:transform .25s ease;}
.hover--rot1:hover{transform:rotate(1deg);}
.hover--rot2{transition:transform .25s ease;}
.hover--rot2:hover{transform:rotate(2deg);}
.hover--rotm2{transition:transform .25s ease;}
.hover--rotm2:hover{transform:rotate(-2deg);}

/* =========================================================
  HOVER: combine (up + scale)
========================================================= */
.hover--lift{transition:transform .25s ease, box-shadow .25s ease;}
.hover--lift:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px rgba(0,0,0,.18);}

.hover--press{transition:transform .15s ease;}
.hover--press:hover{transform:translateY(1px) scale(.99);}

/* =========================================================
  HOVER: shadow (works with your Part6)
========================================================= */
.hover--shadow{transition:box-shadow .25s ease;}
.hover--shadow:hover{box-shadow:0 12px 32px rgba(0,0,0,.2);}

.hover--shadowsoft{transition:box-shadow .25s ease;}
.hover--shadowsoft:hover{box-shadow:0 8px 40px rgba(0,0,0,.12);}

.hover--shadowin{transition:box-shadow .25s ease;}
.hover--shadowin:hover{box-shadow:inset 0 2px 8px rgba(0,0,0,.18);}

/* =========================================================
  HOVER: color/bg (preset)
========================================================= */
.hover--bgblack{transition:background-color .25s ease, color .25s ease;}
.hover--bgblack:hover{background:#000;color:#fff;}

.hover--bggray{transition:background-color .25s ease;}
.hover--bggray:hover{background:#f5f5f5;}

.hover--invert{transition:filter .25s ease;}
.hover--invert:hover{filter:invert(1);}

/* =========================================================
  HOVER: filter
========================================================= */
.hover--blur{transition:filter .25s ease;}
.hover--blur:hover{filter:blur(1px);}

.hover--bright{transition:filter .25s ease;}
.hover--bright:hover{filter:brightness(1.1);}

.hover--dark{transition:filter .25s ease;}
.hover--dark:hover{filter:brightness(.9);}

.hover--sat{transition:filter .25s ease;}
.hover--sat:hover{filter:saturate(1.2);}

.hover--gray{transition:filter .25s ease;}
.hover--gray:hover{filter:grayscale(1);}

/* =========================================================
  HOVER: underline animations
========================================================= */
/* simple underline */
.hover--underline{position:relative;}
.hover--underline::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}
.hover--underline:hover::after{transform:scaleX(1);}

/* underline from center */
.hover--underlineC{position:relative;}
.hover--underlineC::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-2px;
  width:100%;
  height:1px;
  background:currentColor;
  transform:translateX(-50%) scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.hover--underlineC:hover::after{transform:translateX(-50%) scaleX(1);}

/* =========================================================
  HOVER: border animation (requires border set)
========================================================= */
.hover--borderthick{transition:border-width .2s ease;}
.hover--borderthick:hover{border-width:2px;}

.hover--bordernone{transition:border-color .2s ease;}
.hover--bordernone:hover{border-color:transparent;}

/* =========================================================
  HOVER: shine (sweep)
========================================================= */
.hover--shine{position:relative;overflow:hidden;}
.hover--shine::after{
  content:"";
  position:absolute;
  top:0;
  left:-140%;
  width:80%;
  height:100%;
  background:linear-gradient(120deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.35) 50%,rgba(255,255,255,0) 100%);
  transform:skewX(-18deg);
}
.hover--shine:hover::after{animation:shine .8s ease;}
@keyframes shine{0%{left:-140%;}100%{left:160%;}}

/* =========================================================
  HOVER: glow ring (focus-ish look)
========================================================= */
.hover--ring{transition:box-shadow .25s ease;}
.hover--ring:hover{box-shadow:0 0 0 4px rgba(0,0,0,.12),0 12px 32px rgba(0,0,0,.16);}

/* =========================================================
  HOVER: background slide (needs background)
========================================================= */
.hover--bgslide{
  background-size:200% 100%;
  background-position:0% 0%;
  transition:background-position .6s ease;
}
.hover--bgslide:hover{background-position:100% 0%;}

/* =========================================================
  HOVER: reveal (clip-path)
========================================================= */
.hover--reveal{transition:clip-path .35s ease;}
.hover--reveal{clip-path:inset(0 100% 0 0);}
.hover--reveal:hover{clip-path:inset(0 0 0 0);}

/* =========================================================
  ACTIVE (press feeling)
========================================================= */
.active--press:active{transform:translateY(1px) scale(.99);}
.active--dark:active{filter:brightness(.92);}

/* =========================================================
  KEYFRAME ANIMATIONS (attach classes)
========================================================= */
.anim--spin{animation:spin 1.2s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

.anim--pulse{animation:pulse 1.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.03);}}

/* subtle float */
.anim--float{animation:float 3s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}

/* shake (for error) */
.anim--shake{animation:shake .5s ease-in-out;}
@keyframes shake{
  0%,100%{transform:translateX(0);}
  20%{transform:translateX(-4px);}
  40%{transform:translateX(4px);}
  60%{transform:translateX(-3px);}
  80%{transform:translateX(3px);}
}

/* pop-in */
.anim--pop{animation:pop .25s ease;}
@keyframes pop{0%{transform:scale(.96);opacity:.6;}100%{transform:scale(1);opacity:1;}}

/* fade-in */
.anim--fadein{animation:fadein .35s ease;}
@keyframes fadein{from{opacity:0;}to{opacity:1;}}

/* slide up */
.anim--slideup{animation:slideup .35s ease;}
@keyframes slideup{from{transform:translateY(8px);opacity:0;}to{transform:translateY(0);opacity:1;}}

/* =========================================================
  REDUCED MOTION (safety)
========================================================= */
@media (prefers-reduced-motion: reduce){
  .transition,
  .transition--fast,
  .transition--slow,
  .tr--opacity,
  .tr--transform,
  .tr--shadow,
  .tr--color,
  .tr--filter,
  .tr--width,
  .tr--height,
  .tr--clip,
  .tr--bgpos,
  .tr--stroke{
    transition:none !important;
  }
  .anim--spin,
  .anim--pulse,
  .anim--float,
  .anim--shake,
  .anim--pop,
  .anim--fadein,
  .anim--slideup{
    animation:none !important;
  }
}

/* =========================================================
  REDUCED MOTION (safety)
========================================================= */
.viewmore-btn_1_1{
    border: 1px solid #0f172a;
    font-family: "Helvetica", sans-serif;
    font-weight: 500;
    background: transparent;
    outline: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    display: inline-block;
}

.viewmore-btn_1_2{
    font-weight:normal;/*y*/
    outline: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    display: inline-block;
}

/* =========================================================
  Utility CSS - Responsive (Tablet)
  Breakpoint: max-width 1023px
  Prefix: win1023--
  Category: display / position / z-index / gap / font-size
========================================================= */

@media screen and (max-width: 1023px) {

  /* =================================================
    DISPLAY
  ================================================= */
  .win1023--block{display:block;}
  .win1023--inline{display:inline;}
  .win1023--inblock{display:inline-block;}
  .win1023--flex{display:flex;}
  .win1023--inflex{display:inline-flex;}
  .win1023--grid{display:grid;}
  .win1023--ingrid{display:inline-grid;}
  .win1023--table{display:table;}
  .win1023--intable{display:inline-table;}
  .win1023--contents{display:contents;}
  .win1023--flowroot{display:flow-root;}
  .win1023--none{display:none;}

  .win1023--visible{visibility:visible;}
  .win1023--invisible{visibility:hidden;}

  /* =================================================
    POSITION
  ================================================= */
  .win1023--static{position:static;}
  .win1023--relative{position:relative;}
  .win1023--absolute{position:absolute;}
  .win1023--fixed{position:fixed;}
  .win1023--sticky{position:sticky;}

  .win1023--top__0{top:0;}
  .win1023--right__0{right:0;}
  .win1023--bottom__0{bottom:0;}
  .win1023--left__0{left:0;}

  .win1023--top__auto{top:auto;}
  .win1023--right__auto{right:auto;}
  .win1023--bottom__auto{bottom:auto;}
  .win1023--left__auto{left:auto;}

  .win1023--inset__0{top:0;right:0;bottom:0;left:0;}

  .win1023--abs--center{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
  }

  /* =================================================
    Z-INDEX
  ================================================= */
  .win1023--z__-10{z-index:-10;}
  .win1023--z__-5{z-index:-5;}
  .win1023--z__-1{z-index:-1;}
  .win1023--z__0{z-index:0;}
  .win1023--z__1{z-index:1;}
  .win1023--z__2{z-index:2;}
  .win1023--z__3{z-index:3;}
  .win1023--z__4{z-index:4;}
  .win1023--z__5{z-index:5;}
  .win1023--z__10{z-index:10;}
  .win1023--z__20{z-index:20;}
  .win1023--z__50{z-index:50;}
  .win1023--z__100{z-index:100;}
  .win1023--z__999{z-index:999;}
  .win1023--z__9999{z-index:9999;}

  /* =================================================
    GAP (flex / grid)
  ================================================= */
  .win1023--gap__0{gap:0;}
  .win1023--gap__4{gap:4px;}
  .win1023--gap__8{gap:8px;}
  .win1023--gap__12{gap:12px;}
  .win1023--gap__16{gap:16px;}
  .win1023--gap__20{gap:20px;}
  .win1023--gap__24{gap:24px;}
  .win1023--gap__28{gap:28px;}
  .win1023--gap__32{gap:32px;}
  .win1023--gap__36{gap:36px;}
  .win1023--gap__40{gap:40px;}
  .win1023--gap__48{gap:48px;}
  .win1023--gap__56{gap:56px;}
  .win1023--gap__64{gap:64px;}
  .win1023--gap__80{gap:80px;}

  .win1023--gapx__0{column-gap:0;}
  .win1023--gapx__8{column-gap:8px;}
  .win1023--gapx__16{column-gap:16px;}
  .win1023--gapx__24{column-gap:24px;}
  .win1023--gapx__32{column-gap:32px;}
  .win1023--gapx__40{column-gap:40px;}
  .win1023--gapx__64{column-gap:64px;}

  .win1023--gapy__0{row-gap:0;}
  .win1023--gapy__8{row-gap:8px;}
  .win1023--gapy__16{row-gap:16px;}
  .win1023--gapy__24{row-gap:24px;}
  .win1023--gapy__32{row-gap:32px;}
  .win1023--gapy__40{row-gap:40px;}
  .win1023--gapy__64{row-gap:64px;}

  /* =================================================
    FONT SIZE (rem)
  ================================================= */
  .win1023--fs__10{font-size:1.0rem;}
  .win1023--fs__11{font-size:1.1rem;}
  .win1023--fs__12{font-size:1.2rem;}
  .win1023--fs__13{font-size:1.3rem;}
  .win1023--fs__14{font-size:1.4rem;}
  .win1023--fs__15{font-size:1.5rem;}
  .win1023--fs__16{font-size:1.6rem;}
  .win1023--fs__18{font-size:1.8rem;}
  .win1023--fs__20{font-size:2.0rem;}
  .win1023--fs__22{font-size:2.2rem;}
  .win1023--fs__24{font-size:2.4rem;}
  .win1023--fs__28{font-size:2.8rem;}
  .win1023--fs__32{font-size:3.2rem;}
  .win1023--fs__36{font-size:3.6rem;}
  .win1023--fs__40{font-size:4.0rem;}
  .win1023--fs__48{font-size:4.8rem;}
  .win1023--fs__56{font-size:5.6rem;}
  .win1023--fs__64{font-size:6.4rem;}
}

/* =========================================================
  Utility CSS - Responsive (Tablet)
  Breakpoint: max-width 1023px
  Prefix: win1023--
  Category: margin
========================================================= */

@media screen and (max-width: 1023px) {

  /* ========== all ========== */
  .win1023--mgn__0{margin:0;}
  .win1023--mgn__8{margin:8px;}
  .win1023--mgn__16{margin:16px;}
  .win1023--mgn__24{margin:24px;}
  .win1023--mgn__32{margin:32px;}
  .win1023--mgn__40{margin:40px;}
  .win1023--mgn__48{margin:48px;}
  .win1023--mgn__64{margin:64px;}
  .win1023--mgn__80{margin:80px;}
  .win1023--mgn__120{margin:120px;}

  /* ========== vertical horizontal ========== */
  .win1023--mgn__0__auto{margin:0 auto;}
  .win1023--mgn__16__auto{margin:16px auto;}
  .win1023--mgn__24__auto{margin:24px auto;}
  .win1023--mgn__32__auto{margin:32px auto;}
  .win1023--mgn__40__auto{margin:40px auto;}

  /* ========== x ========== */
  .win1023--mgn--x__0{margin-left:0;margin-right:0;}
  .win1023--mgn--x__8{margin-left:8px;margin-right:8px;}
  .win1023--mgn--x__16{margin-left:16px;margin-right:16px;}
  .win1023--mgn--x__24{margin-left:24px;margin-right:24px;}
  .win1023--mgn--x__32{margin-left:32px;margin-right:32px;}
  .win1023--mgn--x__40{margin-left:40px;margin-right:40px;}

  /* ========== y ========== */
  .win1023--mgn--y__0{margin-top:0;margin-bottom:0;}
  .win1023--mgn--y__8{margin-top:8px;margin-bottom:8px;}
  .win1023--mgn--y__16{margin-top:16px;margin-bottom:16px;}
  .win1023--mgn--y__24{margin-top:24px;margin-bottom:24px;}
  .win1023--mgn--y__32{margin-top:32px;margin-bottom:32px;}
  .win1023--mgn--y__40{margin-top:40px;margin-bottom:40px;}

  /* ========== sides ========== */
  .win1023--mgn--top__0{margin-top:0;}
  .win1023--mgn--top__8{margin-top:8px;}
  .win1023--mgn--top__16{margin-top:16px;}
  .win1023--mgn--top__24{margin-top:24px;}
  .win1023--mgn--top__32{margin-top:32px;}
  .win1023--mgn--top__40{margin-top:40px;}

  .win1023--mgn--bottom__0{margin-bottom:0;}
  .win1023--mgn--bottom__8{margin-bottom:8px;}
  .win1023--mgn--bottom__16{margin-bottom:16px;}
  .win1023--mgn--bottom__24{margin-bottom:24px;}
  .win1023--mgn--bottom__32{margin-bottom:32px;}
  .win1023--mgn--bottom__40{margin-bottom:40px;}

  .win1023--mgn--left__0{margin-left:0;}
  .win1023--mgn--left__8{margin-left:8px;}
  .win1023--mgn--left__16{margin-left:16px;}
  .win1023--mgn--left__24{margin-left:24px;}
  .win1023--mgn--left__32{margin-left:32px;}
  .win1023--mgn--left__40{margin-left:40px;}

  .win1023--mgn--right__0{margin-right:0;}
  .win1023--mgn--right__8{margin-right:8px;}
  .win1023--mgn--right__16{margin-right:16px;}
  .win1023--mgn--right__24{margin-right:24px;}
  .win1023--mgn--right__32{margin-right:32px;}
  .win1023--mgn--right__40{margin-right:40px;}
}



/* =========================================================
  Utility CSS - Responsive (Tablet)
  Breakpoint: max-width 1023px
  Prefix: win1023--
  Category: padding
========================================================= */

@media screen and (max-width: 1023px) {

  /* ========== all ========== */
  .win1023--pd__0{padding:0;}
  .win1023--pd__2{padding:2px;}
  .win1023--pd__4{padding:4px;}
  .win1023--pd__6{padding:6px;}
  .win1023--pd__8{padding:8px;}
  .win1023--pd__10{padding:10px;}
  .win1023--pd__12{padding:12px;}
  .win1023--pd__14{padding:14px;}
  .win1023--pd__16{padding:16px;}
  .win1023--pd__20{padding:20px;}
  .win1023--pd__24{padding:24px;}
  .win1023--pd__28{padding:28px;}
  .win1023--pd__32{padding:32px;}
  .win1023--pd__36{padding:36px;}
  .win1023--pd__40{padding:40px;}
  .win1023--pd__48{padding:48px;}
  .win1023--pd__56{padding:56px;}
  .win1023--pd__64{padding:64px;}
  .win1023--pd__80{padding:80px;}
  .win1023--pd__96{padding:96px;}
  .win1023--pd__120{padding:120px;}
  .win1023--pd__160{padding:160px;}
  .win1023--pd__200{padding:200px;}

  /* ========== x (left+right) ========== */
  .win1023--pd--x__0{padding-left:0;padding-right:0;}
  .win1023--pd--x__8{padding-left:8px;padding-right:8px;}
  .win1023--pd--x__16{padding-left:16px;padding-right:16px;}
  .win1023--pd--x__24{padding-left:24px;padding-right:24px;}
  .win1023--pd--x__32{padding-left:32px;padding-right:32px;}
  .win1023--pd--x__40{padding-left:40px;padding-right:40px;}

  /* ========== y (top+bottom) ========== */
  .win1023--pd--y__0{padding-top:0;padding-bottom:0;}
  .win1023--pd--y__8{padding-top:8px;padding-bottom:8px;}
  .win1023--pd--y__16{padding-top:16px;padding-bottom:16px;}
  .win1023--pd--y__24{padding-top:24px;padding-bottom:24px;}
  .win1023--pd--y__32{padding-top:32px;padding-bottom:32px;}
  .win1023--pd--y__40{padding-top:40px;padding-bottom:40px;}

  /* ========== sides ========== */
  .win1023--pd--top__0{padding-top:0;}
  .win1023--pd--top__8{padding-top:8px;}
  .win1023--pd--top__16{padding-top:16px;}
  .win1023--pd--top__24{padding-top:24px;}
  .win1023--pd--top__32{padding-top:32px;}
  .win1023--pd--top__40{padding-top:40px;}

  .win1023--pd--bottom__0{padding-bottom:0;}
  .win1023--pd--bottom__8{padding-bottom:8px;}
  .win1023--pd--bottom__16{padding-bottom:16px;}
  .win1023--pd--bottom__24{padding-bottom:24px;}
  .win1023--pd--bottom__32{padding-bottom:32px;}
  .win1023--pd--bottom__40{padding-bottom:40px;}

  .win1023--pd--left__0{padding-left:0;}
  .win1023--pd--left__8{padding-left:8px;}
  .win1023--pd--left__16{padding-left:16px;}
  .win1023--pd--left__24{padding-left:24px;}
  .win1023--pd--left__32{padding-left:32px;}
  .win1023--pd--left__40{padding-left:40px;}

  .win1023--pd--right__0{padding-right:0;}
  .win1023--pd--right__8{padding-right:8px;}
  .win1023--pd--right__16{padding-right:16px;}
  .win1023--pd--right__24{padding-right:24px;}
  .win1023--pd--right__32{padding-right:32px;}
  .win1023--pd--right__40{padding-right:40px;}
}


/* =========================================================
  Utility CSS - Responsive (Tablet)
  Breakpoint: max-width 1023px
  Prefix: win1023--
  Category: width / height / max-width / min-width
========================================================= */

@media screen and (max-width: 1023px) {

  /* ---------- width (%) ---------- */
  .win1023--w__auto{width:auto;}
  .win1023--w__0{width:0;}
  .win1023--w__10{width:10%;}
  .win1023--w__20{width:20%;}
  .win1023--w__25{width:25%;}
  .win1023--w__30{width:30%;}
  .win1023--w__33{width:33.3333%;}
  .win1023--w__40{width:40%;}
  .win1023--w__50{width:50%;}
  .win1023--w__60{width:60%;}
  .win1023--w__66{width:66.6666%;}
  .win1023--w__70{width:70%;}
  .win1023--w__75{width:75%;}
  .win1023--w__80{width:80%;}
  .win1023--w__90{width:90%;}
  .win1023--w__100{width:100%;}

  /* ---------- width (px) common ---------- */
  .win1023--wpx__160{width:160px;}
  .win1023--wpx__200{width:200px;}
  .win1023--wpx__240{width:240px;}
  .win1023--wpx__280{width:280px;}
  .win1023--wpx__320{width:320px;}
  .win1023--wpx__360{width:360px;}
  .win1023--wpx__400{width:400px;}
  .win1023--wpx__480{width:480px;}
  .win1023--wpx__560{width:560px;}
  .win1023--wpx__640{width:640px;}

  /* ---------- max-width ---------- */
  .win1023--maxw__100{max-width:100%;}
  .win1023--maxw__480{max-width:480px;}
  .win1023--maxw__560{max-width:560px;}
  .win1023--maxw__640{max-width:640px;}
  .win1023--maxw__720{max-width:720px;}
  .win1023--maxw__768{max-width:768px;}
  .win1023--maxw__960{max-width:960px;}
  .win1023--maxw__1023{max-width:1023px;}

  /* ---------- min-width ---------- */
  .win1023--minw__0{min-width:0;}
  .win1023--minw__100{min-width:100%;}
  .win1023--minw__240{min-width:240px;}
  .win1023--minw__320{min-width:320px;}
  .win1023--minw__480{min-width:480px;}

  /* ---------- height (%) / vh ---------- */
  .win1023--h__auto{height:auto;}
  .win1023--h__0{height:0;}
  .win1023--h__25{height:25%;}
  .win1023--h__50{height:50%;}
  .win1023--h__75{height:75%;}
  .win1023--h__100{height:100%;}

  .win1023--h__25vh{height:25vh;}
  .win1023--h__50vh{height:50vh;}
  .win1023--h__75vh{height:75vh;}
  .win1023--h__100vh{height:100vh;}

  /* ---------- height (px) common ---------- */
  .win1023--hpx__100{height:100px;}
  .win1023--hpx__160{height:160px;}
  .win1023--hpx__200{height:200px;}
  .win1023--hpx__240{height:240px;}
  .win1023--hpx__320{height:320px;}
  .win1023--hpx__400{height:400px;}
  .win1023--hpx__480{height:480px;}
  .win1023--hpx__560{height:560px;}

  /* ---------- max-height ---------- */
  .win1023--maxh__100{max-height:100%;}
  .win1023--maxh__50vh{max-height:50vh;}
  .win1023--maxh__100vh{max-height:100vh;}
  .win1023--maxh__480{max-height:480px;}

  /* ---------- min-height ---------- */
  .win1023--minh__0{min-height:0;}
  .win1023--minh__100{min-height:100%;}
  .win1023--minh__50vh{min-height:50vh;}
  .win1023--minh__100vh{min-height:100vh;}
}


/* =========================================================
  Utility CSS - Responsive (Tablet)
  Breakpoint: max-width 1023px
  Prefix: win1023--
  Category: flex direction / wrap / align / justify (row→column)
========================================================= */

@media screen and (max-width: 1023px) {

  /* =================================================
    FLEX DIRECTION
  ================================================= */
  .win1023--flex--row{flex-direction:row;}
  .win1023--flex--rowr{flex-direction:row-reverse;}
  .win1023--flex--col{flex-direction:column;}
  .win1023--flex--colr{flex-direction:column-reverse;}

  /* “Tabletは縦寄せにしたい”最頻出 */
  .win1023--flex--stack{flex-direction:column;}

  /* =================================================
    FLEX WRAP
  ================================================= */
  .win1023--flex--wrap{flex-wrap:wrap;}
  .win1023--flex--nowrap{flex-wrap:nowrap;}
  .win1023--flex--wrapr{flex-wrap:wrap-reverse;}

  /* =================================================
    JUSTIFY CONTENT
  ================================================= */
  .win1023--jc__start{justify-content:flex-start;}
  .win1023--jc__center{justify-content:center;}
  .win1023--jc__end{justify-content:flex-end;}
  .win1023--jc__between{justify-content:space-between;}
  .win1023--jc__around{justify-content:space-around;}
  .win1023--jc__evenly{justify-content:space-evenly;}

  /* =================================================
    ALIGN ITEMS
  ================================================= */
  .win1023--ai__start{align-items:flex-start;}
  .win1023--ai__center{align-items:center;}
  .win1023--ai__end{align-items:flex-end;}
  .win1023--ai__stretch{align-items:stretch;}
  .win1023--ai__baseline{align-items:baseline;}

  /* =================================================
    ALIGN CONTENT
  ================================================= */
  .win1023--ac__start{align-content:flex-start;}
  .win1023--ac__center{align-content:center;}
  .win1023--ac__end{align-content:flex-end;}
  .win1023--ac__between{align-content:space-between;}
  .win1023--ac__around{align-content:space-around;}
  .win1023--ac__evenly{align-content:space-evenly;}
  .win1023--ac__stretch{align-content:stretch;}

  /* =================================================
    FLEX ITEMS (optional overrides)
  ================================================= */
  .win1023--grow__0{flex-grow:0;}
  .win1023--grow__1{flex-grow:1;}
  .win1023--shrink__0{flex-shrink:0;}
  .win1023--shrink__1{flex-shrink:1;}

  .win1023--basis__auto{flex-basis:auto;}
  .win1023--basis__0{flex-basis:0;}
  .win1023--basis__50{flex-basis:50%;}
  .win1023--basis__100{flex-basis:100%;}

  /* =================================================
    COMMON COMBOS (よく使うセット)
  ================================================= */

  /* 横並び→縦並び + gapは別クラスで調整 */
  .win1023--flex--colcenter{flex-direction:column;align-items:center;}

  /* 縦並び + 左揃え（フォーム/カードで多い） */
  .win1023--flex--colstart{flex-direction:column;align-items:flex-start;}

  /* 縦並び + 中央寄せ + 余白均等（ヒーロー/CTAで多い） */
  .win1023--flex--colmid{flex-direction:column;align-items:center;justify-content:center;}
}

/* =========================================================
 Utility CSS - Responsive (Tablet)
  Breakpoint: max-width 1023px
  Prefix: win1023--
  Category: text-align / line-height
========================================================= */

@media screen and (max-width: 1023px) {

  /* text-align */
  .win1023--ta__left{text-align:left;}
  .win1023--ta__center{text-align:center;}
  .win1023--ta__right{text-align:right;}
  .win1023--ta__justify{text-align:justify;}

  /* line-height */
  .win1023--lh__11{line-height:1.1;}
  .win1023--lh__12{line-height:1.2;}
  .win1023--lh__13{line-height:1.3;}
  .win1023--lh__14{line-height:1.4;}
  .win1023--lh__15{line-height:1.5;}
  .win1023--lh__16{line-height:1.6;}
  .win1023--lh__18{line-height:1.8;}
  .win1023--lh__2{line-height:2;}
}

/* =========================================================
  AOI Utility CSS - Responsive (Tablet)
  Breakpoint: max-width 1023px
  Prefix: win1023--
  Category: border / radius / shadow
========================================================= */

@media screen and (max-width: 1023px) {

  /* border (base rule: solid 1px #000000) */
  .win1023--border{border:1px solid #000000;}
  .win1023--border__0{border:0;}
  .win1023--border--top{border-top:1px solid #000000;}
  .win1023--border--right{border-right:1px solid #000000;}
  .win1023--border--bottom{border-bottom:1px solid #000000;}
  .win1023--border--left{border-left:1px solid #000000;}

  /* radius */
  .win1023--radius__0{border-radius:0;}
  .win1023--radius__8{border-radius:8px;}
  .win1023--radius__12{border-radius:12px;}
  .win1023--radius__16{border-radius:16px;}
  .win1023--radius__20{border-radius:20px;}
  .win1023--radius__24{border-radius:24px;}
  .win1023--radius__32{border-radius:32px;}
  .win1023--radius__40{border-radius:40px;}
  .win1023--radius__50{border-radius:50px;}
  .win1023--radius__999{border-radius:999px;}

  /* shadow (tablet is medium, between PC & SP) */
  .win1023--shadow__none{box-shadow:none;}
  .win1023--shadow__xs{box-shadow:0 1px 2px rgba(0,0,0,.08);}
  .win1023--shadow__sm{box-shadow:0 2px 6px rgba(0,0,0,.12);}
  .win1023--shadow__md{box-shadow:0 6px 16px rgba(0,0,0,.14);}
  .win1023--shadow__lg{box-shadow:0 12px 32px rgba(0,0,0,.18);}

  /* “PCは影強め・Tabletは影弱め”の上書き用 */
  .win1023--shadow__soft{box-shadow:0 8px 40px rgba(0,0,0,.12);}
}


/* =========================================================
 Utility CSS - Responsive (Tablet)
  Breakpoint: max-width 1023px
  Prefix: win1023--
  Category: disable hover/animations (touch friendly)
========================================================= */

@media screen and (max-width: 1023px) {

  /* hover系を無効化したい要素に付ける */
  .win1023--nohover:hover{
    transform:none !important;
    filter:none !important;
    opacity:1 !important;
    box-shadow:none !important;
  }

  /* transition / animation を止めたい要素に付ける */
  .win1023--nomotion{
    transition:none !important;
    animation:none !important;
  }

  /* underline / shine などの疑似要素系を止めたい要素に付ける */
  .win1023--nohoverfx::before,
  .win1023--nohoverfx::after{
    animation:none !important;
    transition:none !important;
    transform:none !important;
    opacity:1 !important;
    left:auto !important;
  }
}


/* =========================================================
 Utility CSS - Responsive (SP)
  Breakpoint: max-width 599px
  Prefix: win599--
  Category: margin
========================================================= */

@media screen and (max-width: 599px) {

  /* ========== all ========== */
  .win599--mgn__0{margin:0;}
  .win599--mgn__8{margin:8px;}
  .win599--mgn__16{margin:16px;}
  .win599--mgn__24{margin:24px;}
  .win599--mgn__32{margin:32px;}
  .win599--mgn__40{margin:40px;}
  .win599--mgn__48{margin:48px;}
  .win599--mgn__64{margin:64px;}
  .win599--mgn__80{margin:80px;}
  .win599--mgn__120{margin:120px;}

  /* ========== vertical horizontal ========== */
  .win599--mgn__0__auto{margin:0 auto;}
  .win599--mgn__16__auto{margin:16px auto;}
  .win599--mgn__24__auto{margin:24px auto;}
  .win599--mgn__32__auto{margin:32px auto;}
  .win599--mgn__40__auto{margin:40px auto;}

  /* ========== x ========== */
  .win599--mgn--x__0{margin-left:0;margin-right:0;}
  .win599--mgn--x__8{margin-left:8px;margin-right:8px;}
  .win599--mgn--x__16{margin-left:16px;margin-right:16px;}
  .win599--mgn--x__24{margin-left:24px;margin-right:24px;}
  .win599--mgn--x__32{margin-left:32px;margin-right:32px;}
  .win599--mgn--x__40{margin-left:40px;margin-right:40px;}

  /* ========== y ========== */
  .win599--mgn--y__0{margin-top:0;margin-bottom:0;}
  .win599--mgn--y__8{margin-top:8px;margin-bottom:8px;}
  .win599--mgn--y__16{margin-top:16px;margin-bottom:16px;}
  .win599--mgn--y__24{margin-top:24px;margin-bottom:24px;}
  .win599--mgn--y__32{margin-top:32px;margin-bottom:32px;}
  .win599--mgn--y__40{margin-top:40px;margin-bottom:40px;}

  /* ========== sides ========== */
  .win599--mgn--top__0{margin-top:0;}
  .win599--mgn--top__8{margin-top:8px;}
  .win599--mgn--top__16{margin-top:16px;}
  .win599--mgn--top__24{margin-top:24px;}
  .win599--mgn--top__32{margin-top:32px;}
  .win599--mgn--top__40{margin-top:40px;}

  .win599--mgn--bottom__0{margin-bottom:0;}
  .win599--mgn--bottom__8{margin-bottom:8px;}
  .win599--mgn--bottom__16{margin-bottom:16px;}
  .win599--mgn--bottom__24{margin-bottom:24px;}
  .win599--mgn--bottom__32{margin-bottom:32px;}
  .win599--mgn--bottom__40{margin-bottom:40px;}

  .win599--mgn--left__0{margin-left:0;}
  .win599--mgn--left__8{margin-left:8px;}
  .win599--mgn--left__16{margin-left:16px;}
  .win599--mgn--left__24{margin-left:24px;}
  .win599--mgn--left__32{margin-left:32px;}
  .win599--mgn--left__40{margin-left:40px;}

  .win599--mgn--right__0{margin-right:0;}
  .win599--mgn--right__8{margin-right:8px;}
  .win599--mgn--right__16{margin-right:16px;}
  .win599--mgn--right__24{margin-right:24px;}
  .win599--mgn--right__32{margin-right:32px;}
  .win599--mgn--right__40{margin-right:40px;}
}

/* =========================================================
  Utility CSS - Responsive (SP)
  Breakpoint: max-width 599px
  Prefix: win599--
  Category: padding
========================================================= */

@media screen and (max-width: 599px) {

  /* ========== all ========== */
  .win599--pd__0{padding:0;}
  .win599--pd__2{padding:2px;}
  .win599--pd__4{padding:4px;}
  .win599--pd__6{padding:6px;}
  .win599--pd__8{padding:8px;}
  .win599--pd__10{padding:10px;}
  .win599--pd__12{padding:12px;}
  .win599--pd__14{padding:14px;}
  .win599--pd__16{padding:16px;}
  .win599--pd__20{padding:20px;}
  .win599--pd__24{padding:24px;}
  .win599--pd__28{padding:28px;}
  .win599--pd__32{padding:32px;}
  .win599--pd__36{padding:36px;}
  .win599--pd__40{padding:40px;}
  .win599--pd__48{padding:48px;}
  .win599--pd__56{padding:56px;}
  .win599--pd__64{padding:64px;}
  .win599--pd__80{padding:80px;}
  .win599--pd__96{padding:96px;}
  .win599--pd__120{padding:120px;}
  .win599--pd__160{padding:160px;}
  .win599--pd__200{padding:200px;}

  /* ========== x (left+right) ========== */
  .win599--pd--x__0{padding-left:0;padding-right:0;}
  .win599--pd--x__2{padding-left:2px;padding-right:2px;}
  .win599--pd--x__4{padding-left:4px;padding-right:4px;}
  .win599--pd--x__6{padding-left:6px;padding-right:6px;}
  .win599--pd--x__8{padding-left:8px;padding-right:8px;}
  .win599--pd--x__10{padding-left:10px;padding-right:10px;}
  .win599--pd--x__12{padding-left:12px;padding-right:12px;}
  .win599--pd--x__14{padding-left:14px;padding-right:14px;}
  .win599--pd--x__16{padding-left:16px;padding-right:16px;}
  .win599--pd--x__20{padding-left:20px;padding-right:20px;}
  .win599--pd--x__24{padding-left:24px;padding-right:24px;}
  .win599--pd--x__28{padding-left:28px;padding-right:28px;}
  .win599--pd--x__32{padding-left:32px;padding-right:32px;}
  .win599--pd--x__36{padding-left:36px;padding-right:36px;}
  .win599--pd--x__40{padding-left:40px;padding-right:40px;}
  .win599--pd--x__48{padding-left:48px;padding-right:48px;}
  .win599--pd--x__56{padding-left:56px;padding-right:56px;}
  .win599--pd--x__64{padding-left:64px;padding-right:64px;}
  .win599--pd--x__80{padding-left:80px;padding-right:80px;}
  .win599--pd--x__96{padding-left:96px;padding-right:96px;}
  .win599--pd--x__120{padding-left:120px;padding-right:120px;}
  .win599--pd--x__160{padding-left:160px;padding-right:160px;}
  .win599--pd--x__200{padding-left:200px;padding-right:200px;}

  /* ========== y (top+bottom) ========== */
  .win599--pd--y__0{padding-top:0;padding-bottom:0;}
  .win599--pd--y__2{padding-top:2px;padding-bottom:2px;}
  .win599--pd--y__4{padding-top:4px;padding-bottom:4px;}
  .win599--pd--y__6{padding-top:6px;padding-bottom:6px;}
  .win599--pd--y__8{padding-top:8px;padding-bottom:8px;}
  .win599--pd--y__10{padding-top:10px;padding-bottom:10px;}
  .win599--pd--y__12{padding-top:12px;padding-bottom:12px;}
  .win599--pd--y__14{padding-top:14px;padding-bottom:14px;}
  .win599--pd--y__16{padding-top:16px;padding-bottom:16px;}
  .win599--pd--y__20{padding-top:20px;padding-bottom:20px;}
  .win599--pd--y__24{padding-top:24px;padding-bottom:24px;}
  .win599--pd--y__28{padding-top:28px;padding-bottom:28px;}
  .win599--pd--y__32{padding-top:32px;padding-bottom:32px;}
  .win599--pd--y__36{padding-top:36px;padding-bottom:36px;}
  .win599--pd--y__40{padding-top:40px;padding-bottom:40px;}
  .win599--pd--y__48{padding-top:48px;padding-bottom:48px;}
  .win599--pd--y__56{padding-top:56px;padding-bottom:56px;}
  .win599--pd--y__64{padding-top:64px;padding-bottom:64px;}
  .win599--pd--y__80{padding-top:80px;padding-bottom:80px;}
  .win599--pd--y__96{padding-top:96px;padding-bottom:96px;}
  .win599--pd--y__120{padding-top:120px;padding-bottom:120px;}
  .win599--pd--y__160{padding-top:160px;padding-bottom:160px;}
  .win599--pd--y__200{padding-top:200px;padding-bottom:200px;}

  /* ========== sides ========== */
  .win599--pd--top__0{padding-top:0;}
  .win599--pd--top__2{padding-top:2px;}
  .win599--pd--top__4{padding-top:4px;}
  .win599--pd--top__6{padding-top:6px;}
  .win599--pd--top__8{padding-top:8px;}
  .win599--pd--top__10{padding-top:10px;}
  .win599--pd--top__12{padding-top:12px;}
  .win599--pd--top__14{padding-top:14px;}
  .win599--pd--top__16{padding-top:16px;}
  .win599--pd--top__20{padding-top:20px;}
  .win599--pd--top__24{padding-top:24px;}
  .win599--pd--top__28{padding-top:28px;}
  .win599--pd--top__32{padding-top:32px;}
  .win599--pd--top__36{padding-top:36px;}
  .win599--pd--top__40{padding-top:40px;}
  .win599--pd--top__48{padding-top:48px;}
  .win599--pd--top__56{padding-top:56px;}
  .win599--pd--top__64{padding-top:64px;}
  .win599--pd--top__80{padding-top:80px;}
  .win599--pd--top__96{padding-top:96px;}
  .win599--pd--top__120{padding-top:120px;}
  .win599--pd--top__160{padding-top:160px;}
  .win599--pd--top__200{padding-top:200px;}

  .win599--pd--bottom__0{padding-bottom:0;}
  .win599--pd--bottom__2{padding-bottom:2px;}
  .win599--pd--bottom__4{padding-bottom:4px;}
  .win599--pd--bottom__6{padding-bottom:6px;}
  .win599--pd--bottom__8{padding-bottom:8px;}
  .win599--pd--bottom__10{padding-bottom:10px;}
  .win599--pd--bottom__12{padding-bottom:12px;}
  .win599--pd--bottom__14{padding-bottom:14px;}
  .win599--pd--bottom__16{padding-bottom:16px;}
  .win599--pd--bottom__20{padding-bottom:20px;}
  .win599--pd--bottom__24{padding-bottom:24px;}
  .win599--pd--bottom__28{padding-bottom:28px;}
  .win599--pd--bottom__32{padding-bottom:32px;}
  .win599--pd--bottom__36{padding-bottom:36px;}
  .win599--pd--bottom__40{padding-bottom:40px;}
  .win599--pd--bottom__48{padding-bottom:48px;}
  .win599--pd--bottom__56{padding-bottom:56px;}
  .win599--pd--bottom__64{padding-bottom:64px;}
  .win599--pd--bottom__80{padding-bottom:80px;}
  .win599--pd--bottom__96{padding-bottom:96px;}
  .win599--pd--bottom__120{padding-bottom:120px;}
  .win599--pd--bottom__160{padding-bottom:160px;}
  .win599--pd--bottom__200{padding-bottom:200px;}

  .win599--pd--left__0{padding-left:0;}
  .win599--pd--left__2{padding-left:2px;}
  .win599--pd--left__4{padding-left:4px;}
  .win599--pd--left__6{padding-left:6px;}
  .win599--pd--left__8{padding-left:8px;}
  .win599--pd--left__10{padding-left:10px;}
  .win599--pd--left__12{padding-left:12px;}
  .win599--pd--left__14{padding-left:14px;}
  .win599--pd--left__16{padding-left:16px;}
  .win599--pd--left__20{padding-left:20px;}
  .win599--pd--left__24{padding-left:24px;}
  .win599--pd--left__28{padding-left:28px;}
  .win599--pd--left__32{padding-left:32px;}
  .win599--pd--left__36{padding-left:36px;}
  .win599--pd--left__40{padding-left:40px;}
  .win599--pd--left__48{padding-left:48px;}
  .win599--pd--left__56{padding-left:56px;}
  .win599--pd--left__64{padding-left:64px;}
  .win599--pd--left__80{padding-left:80px;}
  .win599--pd--left__96{padding-left:96px;}
  .win599--pd--left__120{padding-left:120px;}
  .win599--pd--left__160{padding-left:160px;}
  .win599--pd--left__200{padding-left:200px;}

  .win599--pd--right__0{padding-right:0;}
  .win599--pd--right__2{padding-right:2px;}
  .win599--pd--right__4{padding-right:4px;}
  .win599--pd--right__6{padding-right:6px;}
  .win599--pd--right__8{padding-right:8px;}
  .win599--pd--right__10{padding-right:10px;}
  .win599--pd--right__12{padding-right:12px;}
  .win599--pd--right__14{padding-right:14px;}
  .win599--pd--right__16{padding-right:16px;}
  .win599--pd--right__20{padding-right:20px;}
  .win599--pd--right__24{padding-right:24px;}
  .win599--pd--right__28{padding-right:28px;}
  .win599--pd--right__32{padding-right:32px;}
  .win599--pd--right__36{padding-right:36px;}
  .win599--pd--right__40{padding-right:40px;}
  .win599--pd--right__48{padding-right:48px;}
  .win599--pd--right__56{padding-right:56px;}
  .win599--pd--right__64{padding-right:64px;}
  .win599--pd--right__80{padding-right:80px;}
  .win599--pd--right__96{padding-right:96px;}
  .win599--pd--right__120{padding-right:120px;}
  .win599--pd--right__160{padding-right:160px;}
  .win599--pd--right__200{padding-right:200px;}
}

/* =========================================================
  AOI Utility CSS - Responsive (SP)
  Breakpoint: max-width 599px
  Prefix: win599--
  Category: position / display / gap / z-index / font-size
========================================================= */

@media screen and (max-width: 599px) {

  /* =================================================
    DISPLAY
  ================================================= */
  .win599--block{display:block;}
  .win599--inline{display:inline;}
  .win599--inblock{display:inline-block;}
  .win599--flex{display:flex;}
  .win599--inflex{display:inline-flex;}
  .win599--grid{display:grid;}
  .win599--ingrid{display:inline-grid;}
  .win599--table{display:table;}
  .win599--intable{display:inline-table;}
  .win599--contents{display:contents;}
  .win599--flowroot{display:flow-root;}
  .win599--none{display:none;}

  .win599--visible{visibility:visible;}
  .win599--invisible{visibility:hidden;}

  /* =================================================
    POSITION
  ================================================= */
  .win599--static{position:static;}
  .win599--relative{position:relative;}
  .win599--absolute{position:absolute;}
  .win599--fixed{position:fixed;}
  .win599--sticky{position:sticky;}

  .win599--top__0{top:0;}
  .win599--right__0{right:0;}
  .win599--bottom__0{bottom:0;}
  .win599--left__0{left:0;}

  .win599--top__auto{top:auto;}
  .win599--right__auto{right:auto;}
  .win599--bottom__auto{bottom:auto;}
  .win599--left__auto{left:auto;}

  .win599--inset__0{top:0;right:0;bottom:0;left:0;}

  .win599--abs--center{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
  }

  /* =================================================
    Z-INDEX
  ================================================= */
  .win599--z__-10{z-index:-10;}
  .win599--z__-5{z-index:-5;}
  .win599--z__-1{z-index:-1;}
  .win599--z__0{z-index:0;}
  .win599--z__1{z-index:1;}
  .win599--z__2{z-index:2;}
  .win599--z__3{z-index:3;}
  .win599--z__4{z-index:4;}
  .win599--z__5{z-index:5;}
  .win599--z__10{z-index:10;}
  .win599--z__20{z-index:20;}
  .win599--z__50{z-index:50;}
  .win599--z__100{z-index:100;}
  .win599--z__999{z-index:999;}
  .win599--z__9999{z-index:9999;}

  /* =================================================
    GAP (flex / grid)
  ================================================= */
  .win599--gap__0{gap:0;}
  .win599--gap__4{gap:4px;}
  .win599--gap__8{gap:8px;}
  .win599--gap__12{gap:12px;}
  .win599--gap__16{gap:16px;}
  .win599--gap__20{gap:20px;}
  .win599--gap__24{gap:24px;}
  .win599--gap__28{gap:28px;}
  .win599--gap__32{gap:32px;}
  .win599--gap__36{gap:36px;}
  .win599--gap__40{gap:40px;}
  .win599--gap__48{gap:48px;}
  .win599--gap__56{gap:56px;}
  .win599--gap__64{gap:64px;}
  .win599--gap__80{gap:80px;}

  .win599--gapx__0{column-gap:0;}
  .win599--gapx__8{column-gap:8px;}
  .win599--gapx__16{column-gap:16px;}
  .win599--gapx__24{column-gap:24px;}
  .win599--gapx__32{column-gap:32px;}
  .win599--gapx__40{column-gap:40px;}
  .win599--gapx__64{column-gap:64px;}

  .win599--gapy__0{row-gap:0;}
  .win599--gapy__8{row-gap:8px;}
  .win599--gapy__16{row-gap:16px;}
  .win599--gapy__24{row-gap:24px;}
  .win599--gapy__32{row-gap:32px;}
  .win599--gapy__40{row-gap:40px;}
  .win599--gapy__64{row-gap:64px;}

  /* =================================================
    FONT SIZE (rem)
  ================================================= */
  .win599--fs__10{font-size:1.0rem;}
  .win599--fs__11{font-size:1.1rem;}
  .win599--fs__12{font-size:1.2rem;}
  .win599--fs__13{font-size:1.3rem;}
  .win599--fs__14{font-size:1.4rem;}
  .win599--fs__15{font-size:1.5rem;}
  .win599--fs__16{font-size:1.6rem;}
  .win599--fs__18{font-size:1.8rem;}
  .win599--fs__20{font-size:2.0rem;}
  .win599--fs__22{font-size:2.2rem;}
  .win599--fs__24{font-size:2.4rem;}
  .win599--fs__28{font-size:2.8rem;}
  .win599--fs__32{font-size:3.2rem;}
  .win599--fs__36{font-size:3.6rem;}
  .win599--fs__40{font-size:4.0rem;}
  .win599--fs__48{font-size:4.8rem;}
  .win599--fs__56{font-size:5.6rem;}
  .win599--fs__64{font-size:6.4rem;}
}


/* =========================================================
 Utility CSS - Responsive (SP)
  Breakpoint: max-width 599px
  Prefix: win599--
  Category: width / height / max-width / min-width
========================================================= */

@media screen and (max-width: 599px) {

  /* ---------- width (%) ---------- */
  .win599--w__auto{width:auto;}
  .win599--w__0{width:0;}
  .win599--w__5{width:5%;}
  .win599--w__10{width:10%;}
  .win599--w__15{width:15%;}
  .win599--w__20{width:20%;}
  .win599--w__25{width:25%;}
  .win599--w__30{width:30%;}
  .win599--w__33{width:33.3333%;}
  .win599--w__40{width:40%;}
  .win599--w__50{width:50%;}
  .win599--w__60{width:60%;}
  .win599--w__66{width:66.6666%;}
  .win599--w__70{width:70%;}
  .win599--w__75{width:75%;}
  .win599--w__80{width:80%;}
  .win599--w__90{width:90%;}
  .win599--w__100{width:100%;}

  /* ---------- width (px) common ---------- */
  .win599--wpx__10{width:10px;}
  .win599--wpx__16{width:16px;}
  .win599--wpx__20{width:20px;}
  .win599--wpx__24{width:24px;}
  .win599--wpx__28{width:28px;}
  .win599--wpx__32{width:32px;}
  .win599--wpx__36{width:36px;}
  .win599--wpx__40{width:40px;}
  .win599--wpx__48{width:48px;}
  .win599--wpx__50{width:50px;}
  .win599--wpx__55{width:55px;}
  .win599--wpx__60{width:48px;}
  .win599--wpx__65{width:65px;}
  .win599--wpx__70{width:70px;}
  .win599--wpx__75{width:75px;}
  .win599--wpx__80{width:80px;}
  .win599--wpx__108{width:100px;}
  .win599--wpx__120{width:120px;}
  .win599--wpx__160{width:160px;}
  .win599--wpx__200{width:200px;}
  .win599--wpx__240{width:240px;}
  .win599--wpx__280{width:280px;}
  .win599--wpx__320{width:320px;}
  .win599--wpx__360{width:360px;}
  .win599--wpx__400{width:400px;}
  .win599--wpx__480{width:480px;}

  /* ---------- max-width ---------- */
  .win599--maxw__100{max-width:100%;}
  .win599--maxw__320{max-width:320px;}
  .win599--maxw__360{max-width:360px;}
  .win599--maxw__400{max-width:400px;}
  .win599--maxw__480{max-width:480px;}
  .win599--maxw__560{max-width:560px;}
  .win599--maxw__599{max-width:599px;}

  /* ---------- min-width ---------- */
  .win599--minw__0{min-width:0;}
  .win599--minw__100{min-width:100%;}
  .win599--minw__200{min-width:200px;}
  .win599--minw__240{min-width:240px;}
  .win599--minw__280{min-width:280px;}
  .win599--minw__320{min-width:320px;}

  /* ---------- height (%) / vh ---------- */
  .win599--h__auto{height:auto;}
  .win599--h__0{height:0;}
  .win599--h__25{height:25%;}
  .win599--h__50{height:50%;}
  .win599--h__75{height:75%;}
  .win599--h__100{height:100%;}

  .win599--h__25vh{height:25vh;}
  .win599--h__50vh{height:50vh;}
  .win599--h__75vh{height:75vh;}
  .win599--h__100vh{height:100vh;}

  /* ---------- height (px) common ---------- */
  .win599--hpx__80{height:80px;}
  .win599--hpx__100{height:100px;}
  .win599--hpx__120{height:120px;}
  .win599--hpx__160{height:160px;}
  .win599--hpx__200{height:200px;}
  .win599--hpx__240{height:240px;}
  .win599--hpx__280{height:280px;}
  .win599--hpx__320{height:320px;}
  .win599--hpx__400{height:400px;}
  .win599--hpx__480{height:480px;}

  /* ---------- max-height ---------- */
  .win599--maxh__100{max-height:100%;}
  .win599--maxh__50vh{max-height:50vh;}
  .win599--maxh__100vh{max-height:100vh;}
  .win599--maxh__320{max-height:320px;}
  .win599--maxh__480{max-height:480px;}

  /* ---------- min-height ---------- */
  .win599--minh__0{min-height:0;}
  .win599--minh__100{min-height:100%;}
  .win599--minh__50vh{min-height:50vh;}
  .win599--minh__100vh{min-height:100vh;}
}

/* =========================================================
  Category: flex override helpers
========================================================= */
@media screen and (max-width: 599px) {

  /* direction */
  .win599--flex--row{flex-direction:row;}
  .win599--flex--col{flex-direction:column;}
  .win599--flex--rowr{flex-direction:row-reverse;}
  .win599--flex--colr{flex-direction:column-reverse;}

  /* “SPは縦並び”最頻出 */
  .win599--flex--stack{flex-direction:column;}

  /* wrap */
  .win599--flex--wrap{flex-wrap:wrap;}
  .win599--flex--nowrap{flex-wrap:nowrap;}

  /* justify */
  .win599--jc__start{justify-content:flex-start;}
  .win599--jc__center{justify-content:center;}
  .win599--jc__end{justify-content:flex-end;}
  .win599--jc__between{justify-content:space-between;}

  /* align items */
  .win599--ai__start{align-items:flex-start;}
  .win599--ai__center{align-items:center;}
  .win599--ai__end{align-items:flex-end;}
  .win599--ai__stretch{align-items:stretch;}

  /* common combo: 縦並び+中央寄せ */
  .win599--flex--colcenter{flex-direction:column;align-items:center;}
}


/* =========================================================
  Category: text-align / line-height
========================================================= */
@media screen and (max-width: 599px) {

  /* text-align */
  .win599--ta__left{text-align:left;}
  .win599--ta__center{text-align:center;}
  .win599--ta__right{text-align:right;}
  .win599--ta__justify{text-align:justify;}

  /* line-height */
  .win599--lh__11{line-height:1.1;}
  .win599--lh__12{line-height:1.2;}
  .win599--lh__13{line-height:1.3;}
  .win599--lh__14{line-height:1.4;}
  .win599--lh__15{line-height:1.5;}
  .win599--lh__16{line-height:1.6;}
  .win599--lh__18{line-height:1.8;}
  .win599--lh__2{line-height:2;}
}

/* =========================================================
  Category: border / radius / shadow
========================================================= */
@media screen and (max-width: 599px) {

  /* border (your base rule) */
  .win599--border{border:1px solid #000000;}
  .win599--border__0{border:0;}
  .win599--border--top{border-top:1px solid #000000;}
  .win599--border--right{border-right:1px solid #000000;}
  .win599--border--bottom{border-bottom:1px solid #000000;}
  .win599--border--left{border-left:1px solid #000000;}

  /* radius */
  .win599--radius__0{border-radius:0;}
  .win599--radius__8{border-radius:8px;}
  .win599--radius__12{border-radius:12px;}
  .win599--radius__16{border-radius:16px;}
  .win599--radius__20{border-radius:20px;}
  .win599--radius__24{border-radius:24px;}
  .win599--radius__32{border-radius:32px;}
  .win599--radius__50{border-radius:50px;}
  .win599--radius__999{border-radius:999px;}

  /* shadow (SPは軽めが基本) */
  .win599--shadow__none{box-shadow:none;}
  .win599--shadow__xs{box-shadow:0 1px 2px rgba(0,0,0,.08);}
  .win599--shadow__sm{box-shadow:0 2px 6px rgba(0,0,0,.12);}
  .win599--shadow__md{box-shadow:0 6px 16px rgba(0,0,0,.14);}

  /* “PCは影あり・SPは影なし”用 */
  .win599--shadow__off{box-shadow:none;}
}

/* =========================================================
  Category: disable hover/animations for touch (SP)
========================================================= */
@media screen and (max-width: 599px) {

  /* hover系を“無効化したい要素”に付ける */
  .win599--nohover:hover{
    transform:none !important;
    filter:none !important;
    opacity:1 !important;
    box-shadow:none !important;
  }

  /* transition/animationを止めたい要素に付ける */
  .win599--nomotion{
    transition:none !important;
    animation:none !important;
  }

  /* hoverで疑似要素が出る系（underline/shine等）を止めたい場合 */
  .win599--nohoverfx::before,
  .win599--nohoverfx::after{
    animation:none !important;
    transition:none !important;
    transform:none !important;
    opacity:1 !important;
    left:auto !important;
  }
}



