@charset "UTF-8";

/* ===============================================
  Utility: Display (u-)
=============================================== */
.u-clearfix:after {
	content: '';
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.u-overflow-hidden {
	overflow: hidden !important;
}

/*  Utility: Display Control (u-*-hide) */
@media (max-width: 767px) {
	.u-sp-hide {
		display: none !important;
	}
}
@media (min-width: 768px) {
	.u-tbpc-hide {
	  display: none !important;
	}
  }
@media (min-width: 768px) and (max-width: 959px) {
	.u-tbs-hide {
		display: none !important;
	}
}
@media (min-width: 960px) and (max-width: 1279px) {
	.u-tbl-hide {
		display: none !important;
	}
}
@media (min-width: 768px) and (max-width: 1279px) {
	.u-tb-hide {
		display: none !important;
	}
}
@media (min-width: 1280px) and (max-width: 1599px) {
	.u-pcs-hide {
		display: none !important;
	}
}
@media (min-width: 1600px) {
	.u-pcl-hide {
		display: none !important;
	}
}
@media (min-width: 1280px) {
	.u-pc-hide {
		display: none !important;
	}
}


/* ==============================
  Utility: Font Family (u-font-)
============================== */
.u-font-gothic {
	font-family: '游ゴシック','YuGothic','MS PGothic','ＭＳ Ｐゴシック','メイリオ','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',Meiryo,sans-serif;
}

.u-font-min {
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
}

.u-font-italic {
	font-style: italic;
}

.u-font-bold {
	font-weight: 700!important;
}

.u-font-black {
	font-weight: 900;
}

/* ==============================
  Utility: Font Size (u-fz-)
============================== */
.u-fz-xs { font-size: 0.75em !important;} /*12px*/
.u-fz-sm { font-size: 0.875em !important;} /*14px*/
.u-fz-md { font-size: 1em !important;} /*16px*/
.u-fz-lg { font-size: 1.125em !important;} /*18px*/
.u-fz-xl { font-size: 1.25em !important;} /*20px*/

/* ==============================
  Utility: Line Height (u-lh-)
============================== */
.u-lh-xs { line-height: 1.4 !important;}
.u-lh-sm { line-height: 1.6 !important;}
.u-lh-md { line-height: 1.8 !important;}
.u-lh-lg { line-height: 2.0 !important;}
.u-lh-xl { line-height: 2.2 !important;}

/* ==============================
  Utility: Heading Size (u-heading-)
============================== */
/* .u-heading {
	margin-bottom: 1rem;
	padding: 0.5em 0;
	text-align: center;
} */

.u-heading-xs, .u-heading-sm, .u-heading-md, .u-heading-lg, .u-heading-xl, .u-heading-ex {
    margin: 0;
    font-weight: 900;
    letter-spacing: 0.12em;
    transition: all 0.3s ease-in-out;
}

.u-heading-xxs { font-size: 1em !important;} 
.u-heading-xs { font-size: 1.125em !important;} 
.u-heading-sm { font-size: 1.25em !important;}
.u-heading-md { font-size: 1.67em !important;} /*sec-ttl 30px*/
.u-heading-lg { font-size: 1.8em !important;}
.u-heading-xl { font-size: 2em !important;}
.u-heading-ex { font-size: 2.2em !important;}

@media (max-width:767px) {
	.u-heading-xs { font-size: 1em !important;}
	.u-heading-sm { font-size: 1.2em !important;}
	.u-heading-md { font-size: 1.3em !important;}/*sec-ttl 30px*/
	.u-heading-lg { font-size: 1.4em !important;}
	.u-heading-xl { font-size: 1.5em !important;}
	.u-heading-ex { font-size: 1.6em !important;}
}

/* ==============================
  Utility: Text Alignment (u-text-)
============================== */
.u-text-left { text-align: left!important; }
.u-text-center { text-align: center!important; }
.u-text-right { text-align: right!important; }

@media (max-width: 769px) {
	.u-sp-text-left { text-align: left!important; }
	.u-sp-text-center { text-align: center!important; }
	.u-sp-text-right { text-align: right!important; }
}

.u-text-indent {
	padding-left: 1em;
	text-indent:-1em;
}

.u-text-vertical {
    writing-mode: vertical-rl;
}
/* 縦書きの中の英数字を横向き（時計回りに90度回転）にする場合 */
.u-text-orientation-mixed {
    text-orientation: mixed;
}
.u-text-horizontal {
    writing-mode: horizontal-tb;
}

@media (max-width: 769px) {
	.u-sp-text-vertical {
		writing-mode: vertical-rl;
	}
	.u-sp-text-orientation-mixed {
		text-orientation: mixed;
	}
	.u-sp-text-horizontal {
		writing-mode: horizontal-tb;
	}
}

/* ==============================
  Utility: Border (u-bd-)
============================== */
.u-bd {
	border: 1px solid var(--color-black);
}

.u-bd-t {border-top: 1px solid var(--color-black);}
.u-bd-r {border-right: 1px solid var(--color-black);}
.u-bd-b {border-bottom: 1px solid var(--color-black);}
.u-bd-l {border-left: 1px solid var(--color-black);}


/* ==============================
  Utility: Color (u-color-, u-bg-)
============================== */
/* Text Colors */
.u-color-primary { color: var(--color-primary)!important; }
.u-color-secondary { color: var(--color-secondary)!important; }
.u-color-accent { color: var(--color-accent)!important; }
.u-color-black { color: var(--color-black)!important; }
.u-color-white { color: var(--color-white)!important; }
.u-color-gray-dark { color: var(--color-gray-dark)!important; }
.u-color-gray-light { color: var(--color-gray-light)!important; }
.u-color-red { color: var(--color-red)!important; }
.u-color-pink { color: var(--color-pink)!important; }
.u-color-purple { color: var(--color-purple)!important; }
.u-color-blue { color: var(--color-blue)!important; }
.u-color-turquoise { color: var(--color-turquoise)!important; }
.u-color-green { color: var(--color-green)!important; }
.u-color-yellow { color: var(--color-yellow)!important; }
.u-color-orange { color: var(--color-orange)!important; }

/* First Letter Color */
.u-first-letter-primary::first-letter {
    color: var(--color-primary);
}

/* Background Colors */
.u-bg-primary { background-color: var(--color-primary)!important; }
.u-bg-secondary { background-color: var(--color-secondary)!important; }
.u-bg-accent { background-color: var(--color-accent)!important; }
.u-bg-black { background-color: var(--color-black)!important; }
.u-bg-white { background-color: var(--color-white)!important; }
.u-bg-gray-dark { background-color: var(--color-gray-dark)!important; }
.u-bg-gray-light { background-color: var(--color-gray-light)!important; }
.u-bg-red { background-color: var(--color-red)!important; }
.u-bg-pink { background-color: var(--color-pink)!important; }
.u-bg-purple { background-color: var(--color-purple)!important; }
.u-bg-blue { background-color: var(--color-blue)!important; }
.u-bg-turquoise { background-color: var(--color-turquoise)!important; }
.u-bg-green { background-color: var(--color-green)!important; }
.u-bg-yellow { background-color: var(--color-yellow)!important; }
.u-bg-orange { background-color: var(--color-orange)!important; }

/* ===============================================
  Utility: Marker (u-marker-*)
=============================================== */
.u-marker-primary,.u-marker-secondary,.u-marker-accent {
  display: inline;
  background-repeat: no-repeat;
  background-position: 0 0;
}
.u-marker-primary {
  background-image: linear-gradient(transparent 70%, color-mix(in srgb, var(--color-primary) 30%, white 70%) 70%);
}
.u-marker-secondary {
  background-image: linear-gradient(transparent 70%, color-mix(in srgb, var(--color-secondary) 30%, white 70%) 70%);
}
.u-marker-accent {
  background-image: linear-gradient(transparent 70%, color-mix(in srgb, var(--color-accent) 100%, white 70%) 70%);
}

/* ==============================
  Utility: Spacing (u-mg-, u-pd-)
============================== */
/* Margin */
.u-mg-none { margin-top: 0 !important;}
.u-mg-xxs { margin-top: 0.3em !important;}
.u-mg-xs { margin-top: 0.5em !important;}
.u-mg-sm { margin-top: 1em !important;}
.u-mg-md { margin-top: 1.5em !important;}
.u-mg-lg { margin-top: 2em !important;}
.u-mg-xl { margin-top: 3em !important;}
.u-mg-xxl { margin-top: 4em !important;}

.u-mgt-none { margin-top: 0 !important;}
.u-mgt-xxs { margin-top: 0.3em !important;}
.u-mgt-xs { margin-top: 0.5em !important;}
.u-mgt-sm { margin-top: 1em !important;}
.u-mgt-md { margin-top: 1.5em !important;}
.u-mgt-lg { margin-top: 2em !important;}
.u-mgt-xl { margin-top: 3em !important;}
.u-mgt-xxl { margin-top: 5em !important;}

.u-mgb-none { margin-bottom: 0 !important;}
.u-mgb-xxs { margin-bottom: 0.3em !important;}
.u-mgb-xs { margin-bottom: 0.5em !important;}
.u-mgb-sm { margin-bottom: 1em !important;}
.u-mgb-md { margin-bottom: 1.5em !important;}
.u-mgb-lg { margin-bottom: 2em !important;}
.u-mgb-xl { margin-bottom: 3em !important;}
.u-mgb-xxl { margin-bottom: 4em !important;}

.u-mgl-none { margin-left: 0 !important;}
.u-mgl-xs { margin-left: 0.5em !important;}
.u-mgl-sm { margin-left: 1em !important;}
.u-mgl-md { margin-left: 1.5em !important;}
.u-mgl-lg { margin-left: 2em !important;}
.u-mgl-xl { margin-left: 3em !important;}
.u-mgl-xxl { margin-left: 4em !important;}

.u-mgr-none { margin-right: 0 !important;}
.u-mgr-xs { margin-right: 0.5em !important;}
.u-mgr-sm { margin-right: 1em !important;}
.u-mgr-md { margin-right: 1.5em !important;}
.u-mgr-lg { margin-right: 2em !important;}
.u-mgr-xl { margin-right: 3em !important;}
.u-mgr-xxl { margin-right: 4em !important;}

.u-mg-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Padding */
.u-pd-none { padding: 0 !important;}
.u-pd-xxs { padding: 0.3em !important;}
.u-pd-xs { padding: 0.5em !important;}
.u-pd-sm { padding: 1em !important;}
.u-pd-md { padding: 1.5em !important;}
.u-pd-lg { padding: 2em !important;}
.u-pd-xl { padding: 3em !important;}

.u-pdt-none { padding-top: 0 !important;}
.u-pdt-xxs { padding-top: 0.3em !important;}
.u-pdt-xs { padding-top: 0.5em !important;}
.u-pdt-sm { padding-top: 1em !important;}
.u-pdt-md { padding-top: 1.5em !important;}
.u-pdt-lg { padding-top: 2em !important;}
.u-pdt-xl { padding-top: 3em !important;}

.u-pdb-none { padding-bottom: 0 !important;}
.u-pdb-xxs { padding-bottom: 0.3em !important;}
.u-pdb-xs { padding-bottom: 0.5em !important;}
.u-pdb-sm { padding-bottom: 1em !important;}
.u-pdb-md { padding-bottom: 1.5em!important;}
.u-pdb-lg { padding-bottom: 2em !important;}
.u-pdb-xl { padding-bottom: 3em !important;}

.u-pdr-none { padding-right: 0 !important;}
.u-pdr-xxs { padding-right: 0.3em !important;}
.u-pdr-xs { padding-right: 0.5em !important;}
.u-pdr-sm { padding-right: 1em !important;}
.u-pdr-md { padding-right: 1.5em!important;}
.u-pdr-lg { padding-right: 2em !important;}
.u-pdr-xl { padding-right: 3em !important;}

.u-pdl-none { padding-left: 0 !important;}
.u-pdl-xxs { padding-left: 0.3em !important;}
.u-pdl-xs { padding-left: 0.5em !important;}
.u-pdl-sm { padding-left: 1em !important;}
.u-pdl-md { padding-left: 1.5em!important;}
.u-pdl-lg { padding-left: 2em !important;}
.u-pdl-xl { padding-left: 3em !important;}

@media (max-width: 767px) {
	.u-sp-mg-none { margin-top: 0 !important;}
	.u-sp-mg-xxs { margin-top: 0.3em !important;}
	.u-sp-mg-xs { margin-top: 0.5em !important;}
	.u-sp-mg-sm { margin-top: 1em !important;}
	.u-sp-mg-md { margin-top: 1.5em !important;}
	.u-sp-mg-lg { margin-top: 2em !important;}
	.u-sp-mg-xl { margin-top: 3em !important;}

	.u-sp-mgt-none { margin-top: 0 !important;}
	.u-sp-mgt-xxs { margin-top: 0.3em !important;}
	.u-sp-mgt-xs { margin-top: 0.5em !important;}
	.u-sp-mgt-sm { margin-top: 1em !important;}
	.u-sp-mgt-md { margin-top: 1.5em !important;}
	.u-sp-mgt-lg { margin-top: 2em !important;}
	.u-sp-mgt-xl { margin-top: 3em !important;}

	.u-sp-mgb-none { margin-bottom: 0 !important;}
	.u-sp-mgb-xxs { margin-bottom: 0.3em !important;}
	.u-sp-mgb-xs { margin-bottom: 0.5em !important;}
	.u-sp-mgb-sm { margin-bottom: 1em !important;}
	.u-sp-mgb-md { margin-bottom: 1.5em !important;}
	.u-sp-mgb-lg { margin-bottom: 2em !important;}
	.u-sp-mgb-xl { margin-bottom: 3em !important;}

	.u-sp-mgl-none { margin-left: 0 !important;}
	.u-sp-mgl-xs { margin-left: 0.5em !important;}
	.u-sp-mgl-sm { margin-left: 1em !important;}
	.u-sp-mgl-md { margin-left: 1.5em !important;}
	.u-sp-mgl-lg { margin-left: 2em !important;}
	.u-sp-mgl-xl { margin-left: 3em !important;}

	.u-sp-mgr-none { margin-right: 0 !important;}
	.u-sp-mgr-xs { margin-right: 0.5em !important;}
	.u-sp-mgr-sm { margin-right: 1em !important;}
	.u-sp-mgr-md { margin-right: 1.5em !important;}
	.u-sp-mgr-lg { margin-right: 2em !important;}
	.u-sp-mgr-xl { margin-right: 3em !important;}

	.u-sp-pd-none { padding: 0 !important;}
	.u-sp-pd-xxs { padding: 0.3em !important;}
	.u-sp-pd-xs { padding: 0.5em !important;}
	.u-sp-pd-sm { padding: 1em !important;}
	.u-sp-pd-md { padding: 1.5em !important;}
	.u-sp-pd-lg { padding: 2em !important;}
	.u-sp-pd-xl { padding: 3em !important;}

	.u-sp-pdt-none { padding-top: 0 !important;}
	.u-sp-pdt-xxs { padding-top: 0.3em !important;}
	.u-sp-pdt-xs { padding-top: 0.5em !important;}
	.u-sp-pdt-sm { padding-top: 1em !important;}
	.u-sp-pdt-md { padding-top: 1.5em !important;}
	.u-sp-pdt-lg { padding-top: 2em !important;}
	.u-sp-pdt-xl { padding-top: 3em !important;}

	.u-sp-pdb-none { padding-bottom: 0 !important;}
	.u-sp-pdb-xxs { padding-bottom: 0.3em !important;}
	.u-sp-pdb-xs { padding-bottom: 0.5em !important;}
	.u-sp-pdb-sm { padding-bottom: 1em !important;}
	.u-sp-pdb-md { padding-bottom: 1.5em!important;}
	.u-sp-pdb-lg { padding-bottom: 2em !important;}
	.u-sp-pdb-xl { padding-bottom: 3em !important;}

	.u-sp-pdr-none { padding-right: 0 !important;}
	.u-sp-pdr-xxs { padding-right: 0.3em !important;}
	.u-sp-pdr-xs { padding-right: 0.5em !important;}
	.u-sp-pdr-sm { padding-right: 1em !important;}
	.u-sp-pdr-md { padding-right: 1.5em !important;}
	.u-sp-pdr-lg { padding-right: 2em !important;}
	.u-sp-pdr-xl { padding-right: 3em !important;}
	.u-sp-pdr-col { padding-right: 15px !important;}

	.u-sp-pdl-none { padding-left: 0 !important;}
	.u-sp-pdl-xxs { padding-left: 0.3em !important;}
	.u-sp-pdl-xs { padding-left: 0.5em !important;}
	.u-sp-pdl-sm { padding-left: 1em !important;}
	.u-sp-pdl-md { padding-left: 1.5em !important;}
	.u-sp-pdl-lg { padding-left: 2em !important;}
	.u-sp-pdl-xl { padding-left: 3em !important;}
	.u-sp-pdl-col { padding-left: 15px !important;}

	.u-sp-mg {
		margin: 0 -20px;
	}
}

/* ==============================
  Utility: Measure (Width/Height) (u-w-, u-h-)
============================== */
.u-wa { width: auto !important; }
.u-w10 { width: 10px !important; }
.u-w15 { width: 15px !important; }
.u-w20 { width: 20px !important; }
.u-w25 { width: 25px !important; }
.u-w30 { width: 30px !important; }
.u-w35 { width: 35px !important; }
.u-w40 { width: 40px !important; }
.u-w45 { width: 45px !important; }
.u-w50 { width: 50px !important; }
.u-w55 { width: 55px !important; }
.u-w60 { width: 60px !important; }
.u-w65 { width: 65px !important; }
.u-w70 { width: 70px !important; }
.u-w75 { width: 75px !important; }
.u-w80 { width: 80px !important; }
.u-w85 { width: 85px !important; }
.u-w90 { width: 90px !important; }
.u-w95 { width: 95px !important; }
.u-w100 { width: 100px !important; }
.u-w105 { width: 105px !important; }
.u-w110 { width: 110px !important; }
.u-w115 { width: 115px !important; }
.u-w120 { width: 120px !important; }
.u-w125 { width: 125px !important; }
.u-w130 { width: 130px !important; }
.u-w135 { width: 135px !important; }
.u-w140 { width: 140px !important; }
.u-w145 { width: 145px !important; }
.u-w150 { width: 150px !important; }
.u-w155 { width: 155px !important; }
.u-w160 { width: 160px !important; }
.u-w165 { width: 165px !important; }
.u-w170 { width: 170px !important; }
.u-w175 { width: 175px !important; }
.u-w180 { width: 180px !important; }
.u-w185 { width: 185px !important; }
.u-w190 { width: 190px !important; }
.u-w195 { width: 195px !important; }
.u-w200 { width: 200px !important; }
.u-w205 { width: 205px !important; }
.u-w210 { width: 210px !important; }
.u-w215 { width: 215px !important; }
.u-w220 { width: 220px !important; }
.u-w225 { width: 225px !important; }
.u-w230 { width: 230px !important; }
.u-w235 { width: 235px !important; }
.u-w240 { width: 240px !important; }
.u-w245 { width: 245px !important; }
.u-w250 { width: 250px !important; }
.u-w255 { width: 255px !important; }
.u-w260 { width: 260px !important; }
.u-w265 { width: 265px !important; }
.u-w270 { width: 270px !important; }
.u-w275 { width: 275px !important; }
.u-w280 { width: 280px !important; }
.u-w285 { width: 285px !important; }
.u-w290 { width: 290px !important; }
.u-w295 { width: 295px !important; }
.u-w300 { width: 300px !important; }
.u-w305 { width: 305px !important; }
.u-w310 { width: 310px !important; }
.u-w315 { width: 315px !important; }
.u-w320 { width: 320px !important; }
.u-w325 { width: 325px !important; }
.u-w330 { width: 330px !important; }
.u-w335 { width: 335px !important; }
.u-w340 { width: 340px !important; }
.u-w345 { width: 345px !important; }
.u-w350 { width: 350px !important; }
.u-w355 { width: 355px !important; }
.u-w360 { width: 360px !important; }
.u-w365 { width: 365px !important; }
.u-w370 { width: 370px !important; }
.u-w375 { width: 375px !important; }
.u-w380 { width: 380px !important; }
.u-w385 { width: 385px !important; }
.u-w390 { width: 390px !important; }
.u-w395 { width: 395px !important; }
.u-w400 { width: 400px !important; }
.u-w405 { width: 405px !important; }
.u-w410 { width: 410px !important; }
.u-w415 { width: 415px !important; }
.u-w420 { width: 420px !important; }
.u-w425 { width: 425px !important; }
.u-w430 { width: 430px !important; }
.u-w435 { width: 435px !important; }
.u-w440 { width: 440px !important; }
.u-w445 { width: 445px !important; }
.u-w450 { width: 450px !important; }
.u-w455 { width: 455px !important; }
.u-w460 { width: 460px !important; }
.u-w465 { width: 465px !important; }
.u-w470 { width: 470px !important; }
.u-w475 { width: 475px !important; }
.u-w480 { width: 480px !important; }
.u-w485 { width: 485px !important; }
.u-w490 { width: 490px !important; }
.u-w495 { width: 495px !important; }
.u-w500 { width: 500px !important; }
.u-w505 { width: 505px !important; }
.u-w510 { width: 510px !important; }
.u-w515 { width: 515px !important; }
.u-w520 { width: 520px !important; }
.u-w525 { width: 525px !important; }
.u-w530 { width: 530px !important; }
.u-w535 { width: 535px !important; }
.u-w540 { width: 540px !important; }
.u-w545 { width: 545px !important; }
.u-w550 { width: 550px !important; }
.u-w555 { width: 555px !important; }
.u-w560 { width: 560px !important; }
.u-w565 { width: 565px !important; }
.u-w570 { width: 570px !important; }
.u-w575 { width: 575px !important; }
.u-w580 { width: 580px !important; }
.u-w585 { width: 585px !important; }
.u-w590 { width: 590px !important; }
.u-w595 { width: 595px !important; }
.u-w600 { width: 600px !important; }
.u-w605 { width: 605px !important; }
.u-w610 { width: 610px !important; }
.u-w615 { width: 615px !important; }
.u-w620 { width: 620px !important; }
.u-w625 { width: 625px !important; }
.u-w630 { width: 630px !important; }
.u-w635 { width: 635px !important; }
.u-w640 { width: 640px !important; }
.u-w645 { width: 645px !important; }
.u-w650 { width: 650px !important; }
.u-w655 { width: 655px !important; }
.u-w660 { width: 660px !important; }
.u-w665 { width: 665px !important; }
.u-w670 { width: 670px !important; }
.u-w675 { width: 675px !important; }
.u-w680 { width: 680px !important; }
.u-w685 { width: 685px !important; }
.u-w690 { width: 690px !important; }
.u-w695 { width: 695px !important; }
.u-w700 { width: 700px !important; }

.u-w5p { width: 5% !important; }
.u-w10p { width: 10% !important; }
.u-w15p { width: 15% !important; }
.u-w20p { width: 20% !important; }
.u-w25p { width: 25% !important; }
.u-w30p { width: 30% !important; }
.u-w35p { width: 35% !important; }
.u-w40p { width: 40% !important; }
.u-w45p { width: 45% !important; }
.u-w50p { width: 50% !important; }
.u-w55p { width: 55% !important; }
.u-w60p { width: 60% !important; }
.u-w65p { width: 65% !important; }
.u-w70p { width: 70% !important; }
.u-w75p { width: 75% !important; }
.u-w80p { width: 80% !important; }
.u-w85p { width: 85% !important; }
.u-w90p { width: 90% !important; }
.u-w95p { width: 95% !important; }
.u-w100p { width: 100% !important; }

@media (max-width: 767px) {
	.u-sp-w5p { width: 5% !important; }
	.u-sp-w10p { width: 10% !important; }
	.u-sp-w15p { width: 15% !important; }
	.u-sp-w20p { width: 20% !important; }
	.u-sp-w25p { width: 25% !important; }
	.u-sp-w30p { width: 30% !important; }
	.u-sp-w35p { width: 35% !important; }
	.u-sp-w40p { width: 40% !important; }
	.u-sp-w45p { width: 45% !important; }
	.u-sp-w50p { width: 50% !important; }
	.u-sp-w55p { width: 55% !important; }
	.u-sp-w60p { width: 60% !important; }
	.u-sp-w65p { width: 65% !important; }
	.u-sp-w70p { width: 70% !important; }
	.u-sp-w75p { width: 75% !important; }
	.u-sp-w80p { width: 80% !important; }
	.u-sp-w85p { width: 85% !important; }
	.u-sp-w90p { width: 90% !important; }
	.u-sp-w95p { width: 95% !important; }
	.u-sp-w100p { width: 100% !important; }
}

.u-ha { height: auto !important; }
.u-h5 { height: 5px !important; }
.u-h10 { height: 10px !important; }
.u-h15 { height: 15px !important; }
.u-h20 { height: 20px !important; }
.u-h25 { height: 25px !important; }
.u-h30 { height: 30px !important; }
.u-h35 { height: 35px !important; }
.u-h40 { height: 40px !important; }
.u-h45 { height: 45px !important; }
.u-h50 { height: 50px !important; }
.u-h55 { height: 55px !important; }
.u-h60 { height: 60px !important; }
.u-h65 { height: 65px !important; }
.u-h70 { height: 70px !important; }
.u-h75 { height: 75px !important; }
.u-h80 { height: 80px !important; }
.u-h85 { height: 85px !important; }
.u-h90 { height: 90px !important; }
.u-h95 { height: 95px !important; }
.u-h100 { height: 100px !important; }
.u-h105 { height: 105px !important; }
.u-h110 { height: 110px !important; }
.u-h115 { height: 115px !important; }
.u-h120 { height: 120px !important; }
.u-h125 { height: 125px !important; }
.u-h130 { height: 130px !important; }
.u-h135 { height: 135px !important; }
.u-h140 { height: 140px !important; }
.u-h145 { height: 145px !important; }
.u-h150 { height: 150px !important; }
.u-h155 { height: 155px !important; }
.u-h160 { height: 160px !important; }
.u-h165 { height: 165px !important; }
.u-h170 { height: 170px !important; }
.u-h175 { height: 175px !important; }
.u-h180 { height: 180px !important; }
.u-h185 { height: 185px !important; }
.u-h190 { height: 190px !important; }
.u-h195 { height: 195px !important; }
.u-h200 { height: 200px !important; }
.u-h205 { height: 205px !important; }
.u-h210 { height: 210px !important; }
.u-h215 { height: 215px !important; }
.u-h220 { height: 220px !important; }
.u-h225 { height: 225px !important; }
.u-h230 { height: 230px !important; }
.u-h235 { height: 235px !important; }
.u-h240 { height: 240px !important; }
.u-h245 { height: 245px !important; }
.u-h250 { height: 250px !important; }
.u-h255 { height: 255px !important; }
.u-h260 { height: 260px !important; }
.u-h265 { height: 265px !important; }
.u-h270 { height: 270px !important; }
.u-h275 { height: 275px !important; }
.u-h280 { height: 280px !important; }
.u-h285 { height: 285px !important; }
.u-h290 { height: 290px !important; }
.u-h295 { height: 295px !important; }
.u-h300 { height: 300px !important; }
.u-h305 { height: 305px !important; }
.u-h310 { height: 310px !important; }
.u-h315 { height: 315px !important; }
.u-h320 { height: 320px !important; }
.u-h325 { height: 325px !important; }
.u-h330 { height: 330px !important; }
.u-h335 { height: 335px !important; }
.u-h340 { height: 340px !important; }
.u-h345 { height: 345px !important; }
.u-h350 { height: 350px !important; }
.u-h355 { height: 355px !important; }
.u-h360 { height: 360px !important; }
.u-h365 { height: 365px !important; }
.u-h370 { height: 370px !important; }
.u-h375 { height: 375px !important; }
.u-h380 { height: 380px !important; }
.u-h385 { height: 385px !important; }
.u-h390 { height: 390px !important; }
.u-h395 { height: 395px !important; }
.u-h400 { height: 400px !important; }

.u-h5p { height: 5% !important; }
.u-h10p { height: 10% !important; }
.u-h15p { height: 15% !important; }
.u-h20p { height: 20% !important; }
.u-h25p { height: 25% !important; }
.u-h30p { height: 30% !important; }
.u-h35p { height: 35% !important; }
.u-h40p { height: 40% !important; }
.u-h45p { height: 45% !important; }
.u-h50p { height: 50% !important; }
.u-h55p { height: 55% !important; }
.u-h60p { height: 60% !important; }
.u-h65p { height: 65% !important; }
.u-h70p { height: 70% !important; }
.u-h75p { height: 75% !important; }
.u-h80p { height: 80% !important; }
.u-h85p { height: 85% !important; }
.u-h90p { height: 90% !important; }
.u-h95p { height: 95% !important; }
.u-h100p { height: 100% !important; }


/* ==============================
  Utility: Image Shapes (u-img-rounded)
============================== */

.u-img-rounded-md {
	border-radius: clamp(20px, 4.5vw, 40px) !important;
	overflow: hidden;
}
/* 既存の固定角丸（必要であれば） */
.u-img-rounded-sm {
	border-radius: 10px !important;
}
/* 正円 */
.u-img-circle {
	border-radius: 50% !important;
}

/* ==============================
  Utility: Image filter
============================== */
/* <img>タグを囲む枠に、透過20%の緑フィルターをかける */
.u-filter-softlight {
    position: relative;
    display: inline-block; /* 画像のサイズに合わせる */
    line-height: 0;        /* 画像下の隙間を消す */
}

.u-filter-softlight::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(40, 168, 56, 0.3);
    mix-blend-mode: soft-light;
    pointer-events: none;
}

/* ==============================
  Utility: Icon  (u-icon)
============================== */
.u-icon {
    display: inline-flex;
    align-items: center;
    gap: .5em;
    text-decoration: none;
    vertical-align: middle;
}
.u-icon--block {
    display: flex;
    width: 100%;
}

.u-icon::before,
.u-icon::after {
    content: "";
    flex-shrink: 0;
    width: 1.2em;
    height: 1.2em;
    background-image: var(--icon-url);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.u-icon--left::after { display: none; }
.u-icon--right::before { display: none; }

.u-icon-external { --icon-url: url("/common/img/icon_external.svg"); }

/* 外部リンク（Lucideアイコン）: .u-icon-external-link を付与でテキスト前にアイコン表示 */
.u-icon-external-link.outlink[target="_blank"]::after {
	display: none; /* Lucideアイコン使用時は ::after を非表示 */
}
.u-icon-pdf { --icon-url: url("/common/img/icon_pdf.svg"); }
.u-icon-half-arrow { --icon-url: url("/common/img/icon_half-arrow.svg"); }

@media (min-width: 768px) {
    .u-icon { gap: .7em; }
}