/* boot.css  v20260815
------------------------------------------------------------------
1 Spacing / 2 Grid / 3 Display & Flex / 4 Typography / 5 Media
------------------------------------------------------------------
*/

/* ------------------------------------------------------------------ 
1. Spacing
------------------------------------------------------------------ */

/* margin-top */
.mt-0 { margin-top: 0; } .mt-1 { margin-top: 4px; } .mt-2 { margin-top: 8px; } .mt-3 { margin-top: 16px; } .mt-4 { margin-top: 24px; } .mt-5 { margin-top: 48px; } .mt-6 { margin-top: 64px; } .mt-7 { margin-top: 96px; } .mt-8 { margin-top: 128px; }

/* margin-bottom */
.mb-0 { margin-bottom: 0; } .mb-1 { margin-bottom: 4px; } .mb-2 { margin-bottom: 8px; } .mb-3 { margin-bottom: 16px; } .mb-4 { margin-bottom: 24px; } .mb-5 { margin-bottom: 48px; }

/* margin-right */
.me-0 { margin-right: 0; } .me-1 { margin-right: 4px; } .me-2 { margin-right: 8px; } .me-3 { margin-right: 16px; } .me-4 { margin-right: 24px; } .me-5 { margin-right: 48px; }

/* margin-left */
.ms-0 { margin-left: 0; } .ms-1 { margin-left: 4px; } .ms-2 { margin-left: 8px; } .ms-3 { margin-left: 16px; } .ms-4 { margin-left: 24px; } .ms-5 { margin-left: 48px; }

/* margin-x */
.mx-auto { margin-left: auto; margin-right: auto; }

/* padding */
.p-0 { padding: 0; } .p-1 { padding: 4px; } .p-2 { padding: 8px; } .p-3 { padding: 16px; } .p-4 { padding: 24px; } .p-5 { padding: 48px; }

/* padding-top */
.pt-0 { padding-top: 0; } .pt-1 { padding-top: 4px; } .pt-2 { padding-top: 8px; } .pt-3 { padding-top: 16px; } .pt-4 { padding-top: 24px; } .pt-5 { padding-top: 48px; } .pt-6 { padding-top: 64px; } .pt-7 { padding-top: 96px; } .pt-8 { padding-top: 128px; } .pt-9 { padding-top: 192px; }

/* padding-bottom */
.pb-0 { padding-bottom: 0; } .pb-1 { padding-bottom: 4px; } .pb-2 { padding-bottom: 8px; } .pb-3 { padding-bottom: 16px; } .pb-4 { padding-bottom: 24px; } .pb-5 { padding-bottom: 48px; } .pb-6 { padding-bottom: 64px; } .pb-7 { padding-bottom: 96px; } .pb-8 { padding-bottom: 128px; }

/* padding-left */
.ps-0 { padding-left: 0; } .ps-1 { padding-left: 4px; } .ps-2 { padding-left: 8px; } .ps-3 { padding-left: 16px; } .ps-4 { padding-left: 24px; } .ps-5 { padding-left: 48px; }

/* padding-y */
.py-0 { padding-top: 0; padding-bottom: 0; } .py-1 { padding-top: 4px; padding-bottom: 4px; } .py-2 { padding-top: 8px; padding-bottom: 8px; } .py-3 { padding-top: 16px; padding-bottom: 16px; } .py-4 { padding-top: 24px; padding-bottom: 24px; } .py-5 { padding-top: 48px; padding-bottom: 48px; } .py-7 { padding-top: 96px; padding-bottom: 96px; } .py-9 { padding-top: 192px; padding-bottom: 192px; }

/* ------------------------------------------------------------------ 
2. Grid
------------------------------------------------------------------ */

/* Container */
.container, .container-fluid { width: 100%; padding-right: 12px; padding-left: 12px; margin-right: auto; margin-left: auto; }

/* Row */
.row { display: flex; flex-wrap: wrap; margin-right: -12px; margin-left: -12px; }
.row>* { flex-shrink: 0; width: 100%; max-width: 100%; padding-right: 12px; padding-left: 12px; }

/* Gutters */
.row.g-0 { --gutter-x: 0; --gutter-y: 0; } .row.g-1 { --gutter-x: 4px; --gutter-y: 4px; } .row.g-2 { --gutter-x: 8px; --gutter-y: 8px; } .row.g-3 { --gutter-x: 16px; --gutter-y: 16px; } .row.g-4 { --gutter-x: 24px; --gutter-y: 24px; } .row.g-5 { --gutter-x: 48px; --gutter-y: 48px; }
.row[class*="g-"] { margin-top: calc(-1 * var(--gutter-y)); margin-right: calc(-0.5 * var(--gutter-x)); margin-left: calc(-0.5 * var(--gutter-x)); }
.row[class*="g-"]>* { padding-right: calc(var(--gutter-x) * 0.5); padding-left: calc(var(--gutter-x) * 0.5); margin-top: var(--gutter-y); }

/* Columns */
[class*="col-"] { flex: 0 0 auto; }
.col-1 { width: 8.333333%; } .col-2 { width: 16.666667%; } .col-3 { width: 25%; } .col-4 { width: 33.333333%; } .col-5 { width: 41.666667%; } .col-6 { width: 50%; } .col-7 { width: 58.333333%; } .col-8 { width: 66.666667%; } .col-9 { width: 75%; } .col-10 { width: 83.333333%; } .col-11 { width: 91.666667%; } .col-12 { width: 100%; }

/* ------------------------------------------------------------------ 
3. Display & Flex
!important 必須。.text-reveal 等の display に勝つため
------------------------------------------------------------------ */

.d-flex                 { display: flex !important; }
.d-block                { display: block !important; }
.d-inline-block         { display: inline-block !important; }
.d-none                 { display: none !important; }
.flex-column            { flex-direction: column; }
.flex-wrap              { flex-wrap: wrap; }
.flex-shrink-0          { flex-shrink: 0; }
.align-items-center     { align-items: center; }
.align-items-start      { align-items: flex-start; }
.align-items-stretch    { align-items: stretch; }
.justify-content-center { justify-content: center; }
.justify-content-start  { justify-content: flex-start; }
.gap-2                  { gap: 8px; }
.gap-3                  { gap: 16px; }
.w-100                  { width: 100%; }
.h-100                  { height: 100%; }
.min-vh-100             { min-height: 100vh; }
.sticky-top             { position: sticky; top: 0; z-index: 1020; }
.img-fluid              { max-width: 100%; height: auto; }
.rounded                { border-radius: 6px; }
.rounded-pill           { border-radius: 9999px; }
.list-unstyled          { padding-left: 0; list-style: none; }
.text-decoration-none   { text-decoration: none; }
.border-bottom          { border-bottom: 1px solid #dee2e6; }
.fw-normal              { font-weight: 400; }
.bg-black               { background-color: #000; }

/* ------------------------------------------------------------------ 
4. Typography
------------------------------------------------------------------ */

.small8   { font-size: 8px; }
.small10  { font-size: 10px; }
.small12  { font-size: 12px; }
.small14  { font-size: 14px; }
.small15  { font-size: 15px; }
.big20    { font-size: 20px; line-height: 1.2; }
.big25    { font-size: 25px; line-height: 1.2; }
.big30    { font-size: 30px; line-height: 1.2; }
.big35    { font-size: 35px; line-height: 1.2; }
.big40    { font-size: 40px; line-height: 1.1; }
.big45    { font-size: 45px; line-height: 1.1; }
.big50    { font-size: 50px; line-height: 1.1; }
.big100   { font-size: 100px; line-height: 0.9; }
.clamp50  { font-size: clamp(32px, 11vw, 50px); line-height: 0.9; }
.clamp100 { font-size: clamp(48px, 25vw, 100px); line-height: 0.9; }
.bold      { font-weight: bold; }
.center    { text-align: center; }
.mobileon  { display: block !important; }
.mobileoff { display: none !important; }

/* ------------------------------------------------------------------ 
5. Media
------------------------------------------------------------------ */

@media (max-width: 767px) {
.row.card-grid { --gutter-x: 12px; --gutter-y: 12px; }
}

@media (min-width: 576px) {
.container { max-width: 540px; }
.col-sm-1 { width: 8.333333%; } .col-sm-2 { width: 16.666667%; } .col-sm-3 { width: 25%; } .col-sm-4 { width: 33.333333%; } .col-sm-5 { width: 41.666667%; } .col-sm-6 { width: 50%; } .col-sm-7 { width: 58.333333%; } .col-sm-8 { width: 66.666667%; } .col-sm-9 { width: 75%; } .col-sm-10 { width: 83.333333%; } .col-sm-11 { width: 91.666667%; } .col-sm-12 { width: 100%; }
}

@media (min-width: 768px) {
.mb-md-0 { margin-bottom: 0; }
.container { max-width: 720px; }
.col-md-1 { width: 8.333333%; } .col-md-2 { width: 16.666667%; } .col-md-3 { width: 25%; } .col-md-4 { width: 33.333333%; } .col-md-5 { width: 41.666667%; } .col-md-6 { width: 50%; } .col-md-7 { width: 58.333333%; } .col-md-8 { width: 66.666667%; } .col-md-9 { width: 75%; } .col-md-10 { width: 83.333333%; } .col-md-11 { width: 91.666667%; } .col-md-12 { width: 100%; }
.flex-md-row { flex-direction: row; }
.align-items-md-center { align-items: center; }
.mobileon  { display: none !important; }
.mobileoff { display: block !important; }
}

@media (min-width: 992px) {
.container { max-width: 960px; }
.col-lg-1 { width: 8.333333%; } .col-lg-2 { width: 16.666667%; } .col-lg-3 { width: 25%; } .col-lg-4 { width: 33.333333%; } .col-lg-5 { width: 41.666667%; } .col-lg-6 { width: 50%; } .col-lg-7 { width: 58.333333%; } .col-lg-8 { width: 66.666667%; } .col-lg-9 { width: 75%; } .col-lg-10 { width: 83.333333%; } .col-lg-11 { width: 91.666667%; } .col-lg-12 { width: 100%; }
}

@media (min-width: 1200px) {
.container { max-width: 1140px; }
.col-xl-1 { width: 8.333333%; } .col-xl-2 { width: 16.666667%; } .col-xl-3 { width: 25%; } .col-xl-4 { width: 33.333333%; } .col-xl-5 { width: 41.666667%; } .col-xl-6 { width: 50%; } .col-xl-7 { width: 58.333333%; } .col-xl-8 { width: 66.666667%; } .col-xl-9 { width: 75%; } .col-xl-10 { width: 83.333333%; } .col-xl-11 { width: 91.666667%; } .col-xl-12 { width: 100%; }
}

@media (min-width: 1400px) {
.container { max-width: 1320px; }
.col-xxl-1 { width: 8.333333%; } .col-xxl-2 { width: 16.666667%; } .col-xxl-3 { width: 25%; } .col-xxl-4 { width: 33.333333%; } .col-xxl-5 { width: 41.666667%; } .col-xxl-6 { width: 50%; } .col-xxl-7 { width: 58.333333%; } .col-xxl-8 { width: 66.666667%; } .col-xxl-9 { width: 75%; } .col-xxl-10 { width: 83.333333%; } .col-xxl-11 { width: 91.666667%; } .col-xxl-12 { width: 100%; }
}

/* Bootstrap v5.3.3 (c) The Bootstrap Authors / MIT */
