/*
Theme Name: Fiby Master 2025
Description: Fiby株式会社のオリジナルWordPressテーマ
Author:  Fiby株式会社
Author URI:  https://fiby.ai/
Version:  3.0            
*/

*,
::before,
::after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: currentColor;
}

::before,
::after {
    --tw-content: '';
}

html,
:host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: Noto Sans JP, Roboto, Arial, 游ゴシック体, YuGothic, 游ゴシック, Yu Gothic, sans-serif;
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
}

body {
    margin: 0;
    line-height: inherit;
    color: #233438;
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
}

a {
    color: inherit;
    text-decoration: inherit;
}

b,
strong {
    font-weight: bolder;
}

code,
kbd,
samp,
pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

table {
    text-indent: 0;

    border-color: inherit;

    border-collapse: collapse;

}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;

    font-feature-settings: inherit;

    font-variation-settings: inherit;

    font-size: 100%;

    font-weight: inherit;

    line-height: inherit;

    color: inherit;

    margin: 0;

    padding: 0;

}

button,
select {
    text-transform: none;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
    -webkit-appearance: button;

    background-color: transparent;

    background-image: none;

}

:-moz-focusring {
    outline: auto;
}

:-moz-ui-invalid {
    box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
    vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto;
}

[type='search'] {
    -webkit-appearance: textfield;

    outline-offset: -2px;

}

::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;

    font: inherit;

}

summary {
    display: list-item;
}

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
    margin: 0;
}

fieldset {
    margin: 0;
    padding: 0;
}

legend {
    padding: 0;
}

ol,
ul,
menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

dialog {
    padding: 0;
}

textarea {
    resize: vertical;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    opacity: 1;

    color: #9ca3af;

}

input::placeholder,
textarea::placeholder {
    opacity: 1;

    color: #9ca3af;

}

button,
[role="button"] {
    cursor: pointer;
}

:disabled {
    cursor: default;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
    display: block;

    vertical-align: middle;

}

img,
video {
    max-width: 100%;
    height: auto;
}

[hidden] {
    display: none;
}

*,
::before,
::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
}

.container {
    width: 100%;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.not-sr-only {
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

.pointer-events-none {
    pointer-events: none;
}

.pointer-events-auto {
    pointer-events: auto;
}

.\!visible {
    visibility: visible !important;
}

.visible {
    visibility: visible;
}

.invisible {
    visibility: hidden;
}

.collapse {
    visibility: collapse;
}

.static {
    position: static;
}

.fixed {
    position: fixed;
}

.absolute {
    position: absolute;
}

.relative {
    position: relative;
}

.sticky {
    position: sticky;
}

.-inset-1 {
    inset: -0.25rem;
}

.end-1 {
    inset-inline-end: 0.25rem;
}

.isolate {
    isolation: isolate;
}

.isolation-auto {
    isolation: auto;
}

.float-start {
    float: inline-start;
}

.float-end {
    float: inline-end;
}

.float-right {
    float: right;
}

.float-left {
    float: left;
}

.float-none {
    float: none;
}

.clear-start {
    clear: inline-start;
}

.clear-end {
    clear: inline-end;
}

.clear-left {
    clear: left;
}

.clear-right {
    clear: right;
}

.clear-both {
    clear: both;
}

.clear-none {
    clear: none;
}

.mt-2 {
    margin-top: 0.5rem;
}

.box-border {
    box-sizing: border-box;
}

.box-content {
    box-sizing: content-box;
}

.line-clamp-none {
    overflow: visible;
    display: block;
    -webkit-box-orient: horizontal;
    -webkit-line-clamp: none;
}

.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.inline {
    display: inline;
}

.flex {
    display: flex;
}

.inline-flex {
    display: inline-flex;
}

.table {
    display: table;
}

.inline-table {
    display: inline-table;
}

.table-caption {
    display: table-caption;
}

.table-cell {
    display: table-cell;
}

.table-column {
    display: table-column;
}

.table-column-group {
    display: table-column-group;
}

.table-footer-group {
    display: table-footer-group;
}

.table-header-group {
    display: table-header-group;
}

.table-row-group {
    display: table-row-group;
}

.table-row {
    display: table-row;
}

.flow-root {
    display: flow-root;
}

.\!grid {
    display: grid !important;
}

.grid {
    display: grid;
}

.inline-grid {
    display: inline-grid;
}

.contents {
    display: contents;
}

.list-item {
    display: list-item;
}

.hidden {
    display: none;
}

.h-12 {
    height: 3rem;
}

.w-12 {
    width: 3rem;
}

.w-\[this-is\\\\\] {
    width: this-is\\;
}

.w-\[this-is\] {
    width: this-is;
}

.w-\[weird-and-invalid\] {
    width: weird-and-invalid;
}

.flex-shrink {
    flex-shrink: 1;
}

.shrink {
    flex-shrink: 1;
}

.flex-grow {
    flex-grow: 1;
}

.grow {
    flex-grow: 1;
}

.table-auto {
    table-layout: auto;
}

.table-fixed {
    table-layout: fixed;
}

.caption-top {
    caption-side: top;
}

.caption-bottom {
    caption-side: bottom;
}

.border-collapse {
    border-collapse: collapse;
}

.border-separate {
    border-collapse: separate;
}

.\!transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform-cpu {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform-gpu {
    transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform-none {
    transform: none;
}

.touch-auto {
    touch-action: auto;
}

.touch-none {
    touch-action: none;
}

.touch-pan-x {
    --tw-pan-x: pan-x;
    touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}

.touch-pan-left {
    --tw-pan-x: pan-left;
    touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}

.touch-pan-right {
    --tw-pan-x: pan-right;
    touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}

.touch-pan-y {
    --tw-pan-y: pan-y;
    touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}

.touch-pan-up {
    --tw-pan-y: pan-up;
    touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}

.touch-pan-down {
    --tw-pan-y: pan-down;
    touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}

.touch-pinch-zoom {
    --tw-pinch-zoom: pinch-zoom;
    touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}

.touch-manipulation {
    touch-action: manipulation;
}

.select-none {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.select-text {
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
}

.select-all {
    -webkit-user-select: all;
    -moz-user-select: all;
    user-select: all;
}

.select-auto {
    -webkit-user-select: auto;
    -moz-user-select: auto;
    user-select: auto;
}

.resize-none {
    resize: none;
}

.resize-y {
    resize: vertical;
}

.resize-x {
    resize: horizontal;
}

.resize {
    resize: both;
}

.snap-none {
    scroll-snap-type: none;
}

.snap-x {
    scroll-snap-type: x var(--tw-scroll-snap-strictness);
}

.snap-y {
    scroll-snap-type: y var(--tw-scroll-snap-strictness);
}

.snap-both {
    scroll-snap-type: both var(--tw-scroll-snap-strictness);
}

.snap-mandatory {
    --tw-scroll-snap-strictness: mandatory;
}

.snap-proximity {
    --tw-scroll-snap-strictness: proximity;
}

.snap-start {
    scroll-snap-align: start;
}

.snap-end {
    scroll-snap-align: end;
}

.snap-center {
    scroll-snap-align: center;
}

.snap-align-none {
    scroll-snap-align: none;
}

.snap-normal {
    scroll-snap-stop: normal;
}

.snap-always {
    scroll-snap-stop: always;
}

.list-inside {
    list-style-position: inside;
}

.list-outside {
    list-style-position: outside;
}

.appearance-none {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.appearance-auto {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
}

.break-before-auto {
    -moz-column-break-before: auto;
    break-before: auto;
}

.break-before-avoid {
    -moz-column-break-before: avoid;
    break-before: avoid;
}

.break-before-all {
    -moz-column-break-before: all;
    break-before: all;
}

.break-before-avoid-page {
    -moz-column-break-before: avoid;
    break-before: avoid-page;
}

.break-before-page {
    -moz-column-break-before: page;
    break-before: page;
}

.break-before-left {
    -moz-column-break-before: left;
    break-before: left;
}

.break-before-right {
    -moz-column-break-before: right;
    break-before: right;
}

.break-before-column {
    -moz-column-break-before: column;
    break-before: column;
}

.break-inside-auto {
    -moz-column-break-inside: auto;
    break-inside: auto;
}

.break-inside-avoid {
    -moz-column-break-inside: avoid;
    break-inside: avoid;
}

.break-inside-avoid-page {
    break-inside: avoid-page;
}

.break-inside-avoid-column {
    -moz-column-break-inside: avoid;
    break-inside: avoid-column;
}

.break-after-auto {
    -moz-column-break-after: auto;
    break-after: auto;
}

.break-after-avoid {
    -moz-column-break-after: avoid;
    break-after: avoid;
}

.break-after-all {
    -moz-column-break-after: all;
    break-after: all;
}

.break-after-avoid-page {
    -moz-column-break-after: avoid;
    break-after: avoid-page;
}

.break-after-page {
    -moz-column-break-after: page;
    break-after: page;
}

.break-after-left {
    -moz-column-break-after: left;
    break-after: left;
}

.break-after-right {
    -moz-column-break-after: right;
    break-after: right;
}

.break-after-column {
    -moz-column-break-after: column;
    break-after: column;
}

.grid-flow-row {
    grid-auto-flow: row;
}

.grid-flow-col {
    grid-auto-flow: column;
}

.grid-flow-dense {
    grid-auto-flow: dense;
}

.grid-flow-row-dense {
    grid-auto-flow: row dense;
}

.grid-flow-col-dense {
    grid-auto-flow: column dense;
}

.flex-row {
    flex-direction: row;
}

.flex-row-reverse {
    flex-direction: row-reverse;
}

.flex-col {
    flex-direction: column;
}

.flex-col-reverse {
    flex-direction: column-reverse;
}

.flex-wrap {
    flex-wrap: wrap;
}

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

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

.place-content-center {
    place-content: center;
}

.place-content-start {
    place-content: start;
}

.place-content-end {
    place-content: end;
}

.place-content-between {
    place-content: space-between;
}

.place-content-around {
    place-content: space-around;
}

.place-content-evenly {
    place-content: space-evenly;
}

.place-content-baseline {
    place-content: baseline;
}

.place-content-stretch {
    place-content: stretch;
}

.place-items-start {
    place-items: start;
}

.place-items-end {
    place-items: end;
}

.place-items-center {
    place-items: center;
}

.place-items-baseline {
    place-items: baseline;
}

.place-items-stretch {
    place-items: stretch;
}

.content-normal {
    align-content: normal;
}

.content-center {
    align-content: center;
}

.content-start {
    align-content: flex-start;
}

.content-end {
    align-content: flex-end;
}

.content-between {
    align-content: space-between;
}

.content-around {
    align-content: space-around;
}

.content-evenly {
    align-content: space-evenly;
}

.content-baseline {
    align-content: baseline;
}

.content-stretch {
    align-content: stretch;
}

.items-start {
    align-items: flex-start;
}

.items-end {
    align-items: flex-end;
}

.items-center {
    align-items: center;
}

.items-baseline {
    align-items: baseline;
}

.items-stretch {
    align-items: stretch;
}

.justify-normal {
    justify-content: normal;
}

.justify-start {
    justify-content: flex-start;
}

.justify-end {
    justify-content: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.justify-around {
    justify-content: space-around;
}

.justify-evenly {
    justify-content: space-evenly;
}

.justify-stretch {
    justify-content: stretch;
}

.justify-items-start {
    justify-items: start;
}

.justify-items-end {
    justify-items: end;
}

.justify-items-center {
    justify-items: center;
}

.justify-items-stretch {
    justify-items: stretch;
}

.space-x-2> :not([hidden])~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-y-reverse> :not([hidden])~ :not([hidden]) {
    --tw-space-y-reverse: 1;
}

.space-x-reverse> :not([hidden])~ :not([hidden]) {
    --tw-space-x-reverse: 1;
}

.divide-x> :not([hidden])~ :not([hidden]) {
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}

.divide-y> :not([hidden])~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.divide-y-reverse> :not([hidden])~ :not([hidden]) {
    --tw-divide-y-reverse: 1;
}

.divide-x-reverse> :not([hidden])~ :not([hidden]) {
    --tw-divide-x-reverse: 1;
}

.divide-solid> :not([hidden])~ :not([hidden]) {
    border-style: solid;
}

.divide-dashed> :not([hidden])~ :not([hidden]) {
    border-style: dashed;
}

.divide-dotted> :not([hidden])~ :not([hidden]) {
    border-style: dotted;
}

.divide-double> :not([hidden])~ :not([hidden]) {
    border-style: double;
}

.divide-none> :not([hidden])~ :not([hidden]) {
    border-style: none;
}

.place-self-auto {
    place-self: auto;
}

.place-self-start {
    place-self: start;
}

.place-self-end {
    place-self: end;
}

.place-self-center {
    place-self: center;
}

.place-self-stretch {
    place-self: stretch;
}

.self-auto {
    align-self: auto;
}

.self-start {
    align-self: flex-start;
}

.self-end {
    align-self: flex-end;
}

.self-center {
    align-self: center;
}

.self-stretch {
    align-self: stretch;
}

.self-baseline {
    align-self: baseline;
}

.justify-self-auto {
    justify-self: auto;
}

.justify-self-start {
    justify-self: start;
}

.justify-self-end {
    justify-self: end;
}

.justify-self-center {
    justify-self: center;
}

.justify-self-stretch {
    justify-self: stretch;
}

.overflow-auto {
    overflow: auto;
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-clip {
    overflow: clip;
}

.overflow-visible {
    overflow: visible;
}

.overflow-scroll {
    overflow: scroll;
}

.overflow-x-auto {
    overflow-x: auto;
}

.overflow-y-auto {
    overflow-y: auto;
}

.overflow-x-hidden {
    overflow-x: hidden;
}

.overflow-y-hidden {
    overflow-y: hidden;
}

.overflow-x-clip {
    overflow-x: clip;
}

.overflow-y-clip {
    overflow-y: clip;
}

.overflow-x-visible {
    overflow-x: visible;
}

.overflow-y-visible {
    overflow-y: visible;
}

.overflow-x-scroll {
    overflow-x: scroll;
}

.overflow-y-scroll {
    overflow-y: scroll;
}

.overscroll-auto {
    overscroll-behavior: auto;
}

.overscroll-contain {
    overscroll-behavior: contain;
}

.overscroll-none {
    overscroll-behavior: none;
}

.overscroll-y-auto {
    overscroll-behavior-y: auto;
}

.overscroll-y-contain {
    overscroll-behavior-y: contain;
}

.overscroll-y-none {
    overscroll-behavior-y: none;
}

.overscroll-x-auto {
    overscroll-behavior-x: auto;
}

.overscroll-x-contain {
    overscroll-behavior-x: contain;
}

.overscroll-x-none {
    overscroll-behavior-x: none;
}

.scroll-auto {
    scroll-behavior: auto;
}

.scroll-smooth {
    scroll-behavior: smooth;
}

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

.overflow-ellipsis {
    text-overflow: ellipsis;
}

.text-ellipsis {
    text-overflow: ellipsis;
}

.text-clip {
    text-overflow: clip;
}

.hyphens-none {
    -webkit-hyphens: none;
    hyphens: none;
}

.hyphens-manual {
    -webkit-hyphens: manual;
    hyphens: manual;
}

.hyphens-auto {
    -webkit-hyphens: auto;
    hyphens: auto;
}

.whitespace-normal {
    white-space: normal;
}

.whitespace-nowrap {
    white-space: nowrap;
}

.whitespace-pre {
    white-space: pre;
}

.whitespace-pre-line {
    white-space: pre-line;
}

.whitespace-pre-wrap {
    white-space: pre-wrap;
}

.whitespace-break-spaces {
    white-space: break-spaces;
}

.text-wrap {
    text-wrap: wrap;
}

.text-nowrap {
    text-wrap: nowrap;
}

.text-balance {
    text-wrap: balance;
}

.text-pretty {
    text-wrap: pretty;
}

.break-normal {
    overflow-wrap: normal;
    word-break: normal;
}

.break-words {
    overflow-wrap: break-word;
}

.break-all {
    word-break: break-all;
}

.break-keep {
    word-break: keep-all;
}

.rounded {
    border-radius: 0.25rem;
}

.rounded-b {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.rounded-e {
    border-start-end-radius: 0.25rem;
    border-end-end-radius: 0.25rem;
}

.rounded-l {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.rounded-r {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}

.rounded-s {
    border-start-start-radius: 0.25rem;
    border-end-start-radius: 0.25rem;
}

.rounded-t {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
}

.rounded-bl {
    border-bottom-left-radius: 0.25rem;
}

.rounded-br {
    border-bottom-right-radius: 0.25rem;
}

.rounded-ee {
    border-end-end-radius: 0.25rem;
}

.rounded-es {
    border-end-start-radius: 0.25rem;
}

.rounded-se {
    border-start-end-radius: 0.25rem;
}

.rounded-ss {
    border-start-start-radius: 0.25rem;
}

.rounded-tl {
    border-top-left-radius: 0.25rem;
}

.rounded-tr {
    border-top-right-radius: 0.25rem;
}

.border {
    border-width: 1px;
}

.border-x {
    border-left-width: 1px;
    border-right-width: 1px;
}

.border-y {
    border-top-width: 1px;
    border-bottom-width: 1px;
}

.border-b {
    border-bottom-width: 1px;
}

.border-e {
    border-inline-end-width: 1px;
}

.border-l {
    border-left-width: 1px;
}

.border-r {
    border-right-width: 1px;
}

.border-s {
    border-inline-start-width: 1px;
}

.border-t {
    border-top-width: 1px;
}

.border-solid {
    border-style: solid;
}

.border-dashed {
    border-style: dashed;
}

.border-dotted {
    border-style: dotted;
}

.border-double {
    border-style: double;
}

.border-hidden {
    border-style: hidden;
}

.border-none {
    border-style: none;
}

.bg-\[rgb\(255\2c 0\2c 0\)\] {
    --tw-bg-opacity: 1;
    background-color: rgb(255 0 0 / var(--tw-bg-opacity));
}

.decoration-slice {
    -webkit-box-decoration-break: slice;
    box-decoration-break: slice;
}

.decoration-clone {
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.box-decoration-slice {
    -webkit-box-decoration-break: slice;
    box-decoration-break: slice;
}

.box-decoration-clone {
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.bg-fixed {
    background-attachment: fixed;
}

.bg-local {
    background-attachment: local;
}

.bg-scroll {
    background-attachment: scroll;
}

.bg-clip-border {
    background-clip: border-box;
}

.bg-clip-padding {
    background-clip: padding-box;
}

.bg-clip-content {
    background-clip: content-box;
}

.bg-clip-text {
    -webkit-background-clip: text;
    background-clip: text;
}

.bg-repeat {
    background-repeat: repeat;
}

.bg-no-repeat {
    background-repeat: no-repeat;
}

.bg-repeat-x {
    background-repeat: repeat-x;
}

.bg-repeat-y {
    background-repeat: repeat-y;
}

.bg-repeat-round {
    background-repeat: round;
}

.bg-repeat-space {
    background-repeat: space;
}

.bg-origin-border {
    background-origin: border-box;
}

.bg-origin-padding {
    background-origin: padding-box;
}

.bg-origin-content {
    background-origin: content-box;
}

.object-contain {
    -o-object-fit: contain;
    object-fit: contain;
}

.object-cover {
    -o-object-fit: cover;
    object-fit: cover;
}

.object-fill {
    -o-object-fit: fill;
    object-fit: fill;
}

.object-none {
    -o-object-fit: none;
    object-fit: none;
}

.object-scale-down {
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.text-start {
    text-align: start;
}

.text-end {
    text-align: end;
}

.align-baseline {
    vertical-align: baseline;
}

.align-top {
    vertical-align: top;
}

.align-middle {
    vertical-align: middle;
}

.align-bottom {
    vertical-align: bottom;
}

.align-text-top {
    vertical-align: text-top;
}

.align-text-bottom {
    vertical-align: text-bottom;
}

.align-sub {
    vertical-align: sub;
}

.align-super {
    vertical-align: super;
}

.font-bold {
    font-weight: 700;
}

.uppercase {
    text-transform: uppercase;
}

.lowercase {
    text-transform: lowercase;
}

.capitalize {
    text-transform: capitalize;
}

.normal-case {
    text-transform: none;
}

.italic {
    font-style: italic;
}

.not-italic {
    font-style: normal;
}

.normal-nums {
    font-variant-numeric: normal;
}

.ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.slashed-zero {
    --tw-slashed-zero: slashed-zero;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.lining-nums {
    --tw-numeric-figure: lining-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.oldstyle-nums {
    --tw-numeric-figure: oldstyle-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.proportional-nums {
    --tw-numeric-spacing: proportional-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.diagonal-fractions {
    --tw-numeric-fraction: diagonal-fractions;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.stacked-fractions {
    --tw-numeric-fraction: stacked-fractions;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.text-\[\#336699\]\/\[\.35\] {
    color: rgb(51 102 153 / .35);
}

.underline {
    text-decoration-line: underline;
}

.overline {
    text-decoration-line: overline;
}

.line-through {
    text-decoration-line: line-through;
}

.no-underline {
    text-decoration-line: none;
}

.decoration-solid {
    text-decoration-style: solid;
}

.decoration-double {
    text-decoration-style: double;
}

.decoration-dotted {
    text-decoration-style: dotted;
}

.decoration-dashed {
    text-decoration-style: dashed;
}

.decoration-wavy {
    text-decoration-style: wavy;
}

.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.subpixel-antialiased {
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
}

.bg-blend-normal {
    background-blend-mode: normal;
}

.bg-blend-multiply {
    background-blend-mode: multiply;
}

.bg-blend-screen {
    background-blend-mode: screen;
}

.bg-blend-overlay {
    background-blend-mode: overlay;
}

.bg-blend-darken {
    background-blend-mode: darken;
}

.bg-blend-lighten {
    background-blend-mode: lighten;
}

.bg-blend-color-dodge {
    background-blend-mode: color-dodge;
}

.bg-blend-color-burn {
    background-blend-mode: color-burn;
}

.bg-blend-hard-light {
    background-blend-mode: hard-light;
}

.bg-blend-soft-light {
    background-blend-mode: soft-light;
}

.bg-blend-difference {
    background-blend-mode: difference;
}

.bg-blend-exclusion {
    background-blend-mode: exclusion;
}

.bg-blend-hue {
    background-blend-mode: hue;
}

.bg-blend-saturation {
    background-blend-mode: saturation;
}

.bg-blend-color {
    background-blend-mode: color;
}

.bg-blend-luminosity {
    background-blend-mode: luminosity;
}

.mix-blend-normal {
    mix-blend-mode: normal;
}

.mix-blend-multiply {
    mix-blend-mode: multiply;
}

.mix-blend-screen {
    mix-blend-mode: screen;
}

.mix-blend-overlay {
    mix-blend-mode: overlay;
}

.mix-blend-darken {
    mix-blend-mode: darken;
}

.mix-blend-lighten {
    mix-blend-mode: lighten;
}

.mix-blend-color-dodge {
    mix-blend-mode: color-dodge;
}

.mix-blend-color-burn {
    mix-blend-mode: color-burn;
}

.mix-blend-hard-light {
    mix-blend-mode: hard-light;
}

.mix-blend-soft-light {
    mix-blend-mode: soft-light;
}

.mix-blend-difference {
    mix-blend-mode: difference;
}

.mix-blend-exclusion {
    mix-blend-mode: exclusion;
}

.mix-blend-hue {
    mix-blend-mode: hue;
}

.mix-blend-saturation {
    mix-blend-mode: saturation;
}

.mix-blend-color {
    mix-blend-mode: color;
}

.mix-blend-luminosity {
    mix-blend-mode: luminosity;
}

.mix-blend-plus-lighter {
    mix-blend-mode: plus-lighter;
}

.\!shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1) !important;
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.outline {
    outline-style: solid;
}

.outline-dashed {
    outline-style: dashed;
}

.outline-dotted {
    outline-style: dotted;
}

.outline-double {
    outline-style: double;
}

.ring {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-inset {
    --tw-ring-inset: inset;
}

.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow {
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.sepia {
    --tw-sepia: sepia(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.\!filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}

.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter-none {
    filter: none;
}

.backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-grayscale {
    --tw-backdrop-grayscale: grayscale(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-invert {
    --tw-backdrop-invert: invert(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-sepia {
    --tw-backdrop-sepia: sepia(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-filter-none {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.ease-in {
    transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out {
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.content-\[\'this-is-also-valid\]-weirdly-enough\'\] {
    --tw-content: 'this-is-also-valid]-weirdly-enough';
    content: var(--tw-content);
}

.forced-color-adjust-auto {
    forced-color-adjust: auto;
}

.forced-color-adjust-none {
    forced-color-adjust: none;
}


/*-------------------------
  components  - 共通スタイル
-------------------------*/

html {
    --tw-bg-opacity: 1;
    background-color: rgb(248 248 248 / var(--tw-bg-opacity));
    scroll-behavior: smooth !important;
    scroll-padding-top: 70px;
    scrollbar-gutter: stable;
    box-sizing: border-box !important;
}

body {
    position: relative;
    font-family: Noto Sans JP, Roboto, Arial, 游ゴシック体, YuGothic, 游ゴシック, Yu Gothic, sans-serif;
    font-size: 1rem;
    line-height: 1.5rem;
    line-height: 1.5;
    font-feature-settings: "palt" 1;
}

a {
    scroll-behavior: smooth;
}

.grecaptcha-badge {
    z-index: 9999;
}

.container {
    margin-top: -1px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1535px;
    padding-left: 5rem;
    padding-right: 5rem;
}

@media (max-width: 1535px) {
    .container {
        max-width: 1336px;
    }
}

@media (max-width: 1336px) {
    .container {
        max-width: 1280px;
    }
}

@media (max-width: 1279px) {
    .container {
        max-width: 1024px;
    }
}

@media (max-width: 1023px) {
    html {
        scroll-padding-top: 0;
    }

    .container {
        max-width: 820px;
        padding-left: 4rem;
        padding-right: 4rem;
    }
}

@media (max-width: 819px) {
    .container {
        max-width: 760px;
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

@media (max-width: 767px) {
    .container {
        max-width: 100%;
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
}

.btn {
    display: inline-block;
    width: 100%;
    max-width: 320px;
    border-radius: 9999px;
    border-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(35 52 56 / var(--tw-border-opacity));
    background-color: transparent;
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.btn-primary {
    display: inline-block;
    width: 100%;
    max-width: 320px;
    border-radius: 9999px;
    border-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(35 52 56 / var(--tw-border-opacity));
    background-color: transparent;
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: #fff;
    background-color: #233438;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.btn:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(35 52 56 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}

.btn-outline {
    display: inline-block;
    width: 100%;
    max-width: 320px;
    border-radius: 9999px;
    border-width: 2px;
    border-color: transparent;
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.btn-outline:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(35 52 56 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}

/*-------------------------
    header - ヘッダー
-------------------------*/

.header {
    position: fixed;
    z-index: 900;
    margin-left: 2rem;
    margin-right: 2rem;
    margin-top: 1rem;
    box-sizing: border-box;
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    border-radius: 0.75rem;
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    width: calc(100% - 4rem);
}

.sub-header {
    position: fixed;
    z-index: 50;
    margin-left: 2rem;
    margin-right: 2rem;
    margin-top: 1rem;
    box-sizing: border-box;
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    border-radius: 0.75rem;
    --tw-bg-opacity: 1;
    background-color: rgb(248 248 248 / var(--tw-bg-opacity));
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    width: calc(100% - 4rem);
}

.header-logo,
.sub-header-logo {
    height: auto;
    width: 75px;
}

.header-button,
.sub-header-button {
    display: none;
}

.header-nav,
.sub-header-nav {
    font-family: Lato, sans-serif;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
}

.header-nav-list,
.sub-header-nav-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
}

.header-nav-list li,
.sub-header-nav-list li {
    line-height: 1;

    a {
        display: inline-block;
    }

    a {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    a {
        padding-top: 1rem;
    }

    &::after {
        content: "";
    }

    &::after {
        display: inline-block;
    }

    &::after {
        height: 2.25px;
    }

    &::after {
        width: 33.333333%;
    }

    &::after {
        background-color: transparent;
    }

    &::after {
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }

    &::after {
        transition-delay: 100ms;
    }

    &:hover {
        &::after {
            width: 100%;
        }

        &::after {
            --tw-bg-opacity: 1;
            background-color: rgb(35 52 56 / var(--tw-bg-opacity));
        }
    }
}

.header.is-on {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

@media (max-width: 1023px) {

    .header,
    .sub-header {
        position: absolute;
        margin-left: 2rem;
        margin-right: 2rem;
        margin-top: 2rem;
        margin-bottom: 2rem;
        padding: 2rem;
    }

    .header-button,
    .sub-header-button {
        position: fixed;
        top: 2rem;
        right: 2rem;
        z-index: 100;
        display: block;
        cursor: pointer;
        border-radius: 0.5rem;
        background-color: transparent;
        --tw-text-opacity: 1;
        color: rgb(35 52 56 / var(--tw-text-opacity));
        z-index: 999;
    }

    .header-button:focus,
    .sub-header-button:focus {
        outline-width: 2px;
    }

    .header-button,
    .sub-header-button {
        svg>.close {
            display: none;
        }
    }

    .header-button.is-active,
    .sub-header-button.is-active {
        svg>.open {
            display: none;
        }

        svg>.close {
            display: block;
        }

        svg>.close {
            fill: #FFFFFF;
        }
    }

    .header-nav,
    .sub-header-nav {
        position: fixed;
        top: 0px;
        right: 0px;
        z-index: 50;
        display: none;
        height: 100vh;
        width: 75svw;
        --tw-bg-opacity: 1;
        background-color: rgb(35 52 56 / var(--tw-bg-opacity));
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity));
    }

    .header-nav.is-active,
    .sub-header-nav.is-active {
        display: block;
        --tw-translate-x: 0px;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }

    .header-nav-list,
    .sub-header-nav-list {
        display: block;
        padding: 4rem;
        font-size: 1.875rem;
        line-height: 2.25rem;
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity));

        li {
            margin-bottom: 2rem;
        }

        li {
            &::after {
                content: none;
            }
        }
    }

    .sub-header {
        padding: 0px;
        background-color: transparent;
    }

    .header.is-on {
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity));
        --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
        --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
}

@media (max-width: 767px) {
    .header {
        padding: 0px;
    }

    .header-button,
    .sub-header-button {
        top: 1rem;
        right: 1rem;
    }

    .header-nav-list,
    .sub-header-nav-list {
        padding-left: 2rem;
        padding-right: 2rem;
        font-size: 1.25rem;
        line-height: 1.75rem;
        letter-spacing: 0.1em;
    }
}

/*-------------------------
    footer - フッター
-------------------------*/

.footer {
    display: flex;
    width: 100%;
    align-items: stretch;
    justify-content: space-between;
    gap: 12%;
    --tw-bg-opacity: 1;
    background-color: rgb(35 52 56 / var(--tw-bg-opacity));
    padding-left: 4rem;
    padding-right: 4rem;
    padding-top: 4rem;
    padding-bottom: 5rem;
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}

.footer-info {
    width: 100%;

    .footer-info__logo {
        margin-bottom: 1.5rem;
    }

    .footer-info__company-name {
        margin-bottom: 0.5rem;
    }

    .footer-info__company-name {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }

    .footer-info__company-address {
        margin-bottom: 2rem;
    }

    .footer-info__company-address {
        font-size: 15px;
    }

    .footer-info__detail {
        dl {
            display: flex;
        }

        dl {
            -moz-columns: 2;
            columns: 2;
        }

        dl {
            align-items: stretch;
        }

        dl {
            justify-content: flex-start;
        }

        dl {
            border-bottom-width: 1px;
        }

        dl {
            --tw-border-opacity: 1;
            border-color: rgb(255 255 255 / var(--tw-border-opacity));
        }

        dl {
            >dt {
                width: auto;
            }

            >dt {
                min-width: 150px;
            }

            >dt {
                padding-left: 0.375rem;
                padding-right: 0.375rem;
            }

            >dt {
                padding-top: 1rem;
                padding-bottom: 1rem;
            }

            >dd {
                width: auto;
            }

            >dd {
                padding-left: 0.375rem;
                padding-right: 0.375rem;
            }

            >dd {
                padding-top: 1rem;
                padding-bottom: 1rem;
            }
        }
    }
}

.footer-utility {
    position: relative;
    height: auto;
    width: 100%;
}

.footer-contact {
    padding-top: 0.75rem;
}

.footer-contact__ttl {
    margin-bottom: 1.25rem;
    font-family: Lato, sans-serif;
    font-size: 1.875rem;
    line-height: 2.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3.25px;
}

.footer-contact__message {
    margin-bottom: 1.25rem;
}

.footer-contact__link {
    margin-bottom: 2rem;
    line-height: 2rem;
}

.footer-contact__link a {
    padding: 5px 10px;
    border: 1px solid #fff;
    border-radius: 9999px;
}

.footer-contact__email {
    padding-bottom: 3rem;

    address {
        font-family: Lato, sans-serif;
    }

    address {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }

    address {
        font-weight: 400;
    }

    address {
        font-style: normal;
    }

    address {
        letter-spacing: 0.05em;
    }
}

.footer-nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    -moz-column-gap: 3.75rem;
    column-gap: 3.75rem;
    font-family: Lato, sans-serif;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;

    li>a {
        position: relative;
    }

    li>a {
        padding-left: 0.125rem;
        padding-right: 0.125rem;
    }

    li>a {
        padding-bottom: 0.75rem;
    }

    li>a {
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }

    li>a {
        transition-delay: 150ms;
    }

    li>a {
        &::after {
            content: "";
        }

        &::after {
            position: absolute;
        }

        &::after {
            bottom: 0px;
        }

        &::after {
            left: 50%;
        }

        &::after {
            display: none;
        }

        &::after {
            height: 3px;
        }

        &::after {
            width: 0px;
        }

        &::after {
            --tw-translate-x: -50%;
            transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        }

        &::after {
            --tw-bg-opacity: 1;
            background-color: rgb(255 255 255 / var(--tw-bg-opacity));
        }

        &::after {
            transition-property: all;
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            transition-duration: 150ms;
        }

        &::after {
            transition-delay: 150ms;
        }

        &:hover {
            &:after {
                width: 100%;
            }
        }
    }
}

.footer-copyright {
    position: absolute;
    right: 0px;
    bottom: 0px;
    z-index: 0;
    display: block;
    width: 100%;
    --tw-translate-y: 1.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    text-align: right;
    font-size: 1rem;
    line-height: 1.5rem;
}

@media (max-width: 1023px) {
    .footer {
        display: block;
    }

    .footer-info {
        margin-bottom: 3rem;
    }
}

@media (max-width: 767px) {
    .footer {
        max-height: 100%;
        width: 100%;
        padding: 2.5rem;
    }

    .footer-info {
        margin-bottom: 1.65rem;
    }

    .footer-info .footer-info__detail dl>dt {
        min-width: 100px;
    }

    .footer-contact {
        margin-bottom: 3rem;
    }

    .footer-contact__email {
        padding-bottom: 1.5rem;
    }

    .footer-contact__email address {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }

    .footer-nav {
        margin-bottom: 1rem;
        align-items: center;
        justify-content: center;
        border-top-width: 1px;
        border-bottom-width: 1px;
        --tw-border-opacity: 1;
        border-color: rgb(255 255 255 / var(--tw-border-opacity));
        padding-top: 1rem;
        padding-bottom: 1rem;
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .footer-nav li {
        margin: 0px;
        height: auto;
        padding: 0px;

        &::after {
            content: none;
        }
    }

    .footer-nav li a {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        line-height: 1.5;
    }

    .footer-copyright {
        position: static;
        margin-bottom: 3rem;
        width: 100%;
        text-align: center;
    }
}

.scrollbar {
    position: absolute;
    left: 5rem;
    top: 100vh;
    z-index: 10;
    max-width: 0.75rem;
    --tw-translate-y: -100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scrollbar-ball {
    position: absolute;
    top: 43%;
    left: 0px;
    z-index: 30;
    height: 0.625rem;
    width: 0.625rem;
    --tw-translate-x: 0.625rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-radius: 9999px;
    --tw-bg-opacity: 1;
    background-color: rgb(35 52 56 / var(--tw-bg-opacity));
}

@media (max-width: 1023px) {
    .scrollbar {
        left: 4rem;
    }
}

@media (max-width: 767px) {
    .scrollbar {
        left: 2.5rem;
        z-index: 20;
    }
}

/*-------------------------
    main - メインコンテンツ
-------------------------*/

/* top - トップページ
-------------------------*/

/* .hero - ヒーローイメージ */

.hero {
    position: relative;
    height: 100%;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.hero-message {
    position: absolute;
    top: 50%;
    left: 0px;
    z-index: 10;
    --tw-translate-y: -20rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    font-size: 3.75rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 3.60px;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
    width: 810px;

    h1 {
        display: flex;
    }

    h1 {
        align-items: flex-start;
    }
}

.hero-video {
    position: relative;
    aspect-ratio: 16 / 9;
    height: 100%;
    min-height: 120vh;
    width: 100%;
    -webkit-mask-image: url(./assets/movie/mask.svg);
    mask-image: url(./assets/movie/mask.svg);
    -webkit-mask-size: cover;
    mask-size: cover;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center bottom;
    mask-position: center bottom;
}

.hero-video video {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    min-height: calc(100vh + 250px);
}

.hero-video-overlay {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 150%;
    background-color: rgba(255, 255, 255, 0.6);
    background-image: radial-gradient(#ffffff 20%, transparent 21%), radial-gradient(#ffffff 30%, transparent 31%);
    background-size: 4px 4px;
    background-position: 0 0, 2px 2px;
    opacity: 0.15;
    z-index: 1;
}

.hero-about {
    position: relative;
    z-index: 30;
    margin-bottom: -2.5rem;
    width: 100%;
    --tw-translate-y: -10rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    text-align: center;
}

.hero-about__icon {
    margin-bottom: 2rem;
    width: 100%;

    img {
        display: inline-block;
    }
}

.hero-about__txt {
    font-size: 1.875rem;
    line-height: 2.25rem;
    font-weight: 700;
    line-height: 1.625;
    letter-spacing: 0.025em;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
}

@media (max-width: 1279px) {
    .hero-message h1 {
        --tw-translate-y: -3.5vw;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        font-size: 3rem;
        line-height: 1.625;
    }
}

@media (max-width: 1023px) {
    .hero-message {
        padding-left: 4rem;
        padding-right: 4rem;
    }

    .hero-message h1 {
        font-weight: 700;
    }

    .hero-about {
        margin-bottom: -5rem;
    }
}

@media (max-width: 819px) {
    .hero-message {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .hero-video {
        max-height: 100lvh;
        min-height: 100svh;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .hero-video video {
        position: relative;
        z-index: 0;
        min-height: 100lvh;
    }

    .hero-video-overlay {
        z-index: 10;
        opacity: 0.8;
    }

    .hero-message {
        z-index: 20;
        --tw-translate-y: -12rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        padding-left: 2.5rem;
        padding-right: 2.5rem;
        font-size: 1.9rem;
        letter-spacing: 0.025em;
    }

    .hero-about {
        margin-bottom: 2rem;
        --tw-translate-y: 0px;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        padding-top: 2rem;
    }

    .hero-about__icon {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 0.75rem;
        max-width: 100px;
    }

    .hero-about__txt {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
}

@media (max-width: 375px) {
    .hero-message {
        font-size: 1.7rem;
    }
}

/* .service - サービス */

.service {
    border-top-left-radius: 36px;
    border-top-right-radius: 36px;
    --tw-bg-opacity: 1;
    background-color: rgb(35 52 56 / var(--tw-bg-opacity));
}

.service-main {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 5rem;
    padding-top: 5rem;
    padding-bottom: 5rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}

.service-main__txt {
    width: 100%;
}

.service-main__ttl {
    .en {
        font-family: Lato, sans-serif;
    }

    .en {
        font-size: 1.5rem;
        line-height: 2rem;
    }

    .en {
        font-weight: 700;
    }

    .en {
        text-transform: uppercase;
    }

    .en {
        line-height: 1.5;
    }

    .en {
        letter-spacing: 0.1em;
    }

    .ja {
        margin-top: 1.25rem;
    }

    .ja {
        margin-bottom: 2.5rem;
    }

    .ja {
        display: block;
    }

    .ja {
        font-size: 3rem;
        line-height: 1;
    }

    .ja {
        font-weight: 700;
    }
}

.service-main__detail {
    font-size: 1.25rem;
    line-height: 1.75rem;
    line-height: 1.625;
    letter-spacing: 0.025em;
}

.service-main__img {
    min-height: 450px;
    width: 100%;
    border-radius: 32px;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(./assets/images/img-service001.png);
}

@media (max-width: 1336px) {
    .service-main__img {
        min-height: 27.5vw;
    }
}

@media (max-width: 1023px) {
    .service-main {
        display: block;
        padding-bottom: 8rem;
    }

    .service-main__txt {
        margin-bottom: 3rem;
    }

    .service-main__img {
        min-height: 50vw;
    }
}

@media (max-width: 767px) {
    .service-main {
        padding-top: 2.5rem;
        padding-bottom: 5rem;
    }

    .service-main__ttl .en {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }

    .service-main__ttl .ja {
        margin-top: 0.5rem;
        margin-bottom: 1.25rem;
        font-size: 2.25rem;
        letter-spacing: 0.05em;
    }

    .service-main__detail {
        font-size: 1rem;
        line-height: 1.5rem;
        line-height: 2;
    }

    .service-main__img {
        border-radius: 0.75rem;
    }
}

.service-what {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    padding-bottom: 8rem;
}

.service-what__ttl {
    display: inline-block;
    --tw-translate-y: -50%;
    --tw-translate-x: -25%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-radius: 50px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    padding-left: 3rem;
    padding-right: 3rem;
    padding-top: 1.5rem;
    font-family: Lato, sans-serif;
    color: rgb(35 52 56 / var(--tw-text-opacity));
    font-size: 2rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    --tw-text-opacity: 1;
    z-index: 15;
}

.service-what__inner {
    width: 100%;
}

.service-what-header {
    position: relative;
    margin-bottom: 7rem;
}

.service-what-header__ttl {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0.095rem;
    z-index: 50;

    & .on-sp {
        display: none;
    }
}

.service-what-header__img {
    width: 100%;

    & picture,
    img {
        display: inline-block;
        width: 100%;
        height: auto;
        max-height: 600px;
    }
}

.service-what-main {
    display: flex;
    -moz-columns: 2;
    columns: 2;
    align-items: baseline;
    justify-content: space-between;
    row-gap: 5rem;
    z-index: 10;
}

.service-what-main-item {
    position: relative;
    padding-right: 4rem;
    width: calc(50% - 2.5rem);
}

.service-what-main-item::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 2.35rem;
    z-index: 0;
    height: 100%;
    width: 100%;
    border-top-right-radius: 35px;
    border-top-width: 1px;
    border-right-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(204 204 204 / var(--tw-border-opacity));
    z-index: 1;
}

.service-what-main-item__ttl {
    position: relative;
    z-index: 10;
    margin-bottom: 1rem;
    display: inline-block;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    padding-right: 3rem;
    font-size: 2.25rem;
    line-height: 2.5rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.175rem;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));

    &::before {
        content: "";
    }

    &::before {
        display: inline-block;
    }

    &::before {
        padding-right: 0.75rem;
    }

    &::before {
        letter-spacing: 0em;
    }

    &::before {
        --tw-text-opacity: 1;
        color: rgb(1 200 200 / var(--tw-text-opacity));
    }
}

.service-what-main-item:first-of-type {
    margin-top: -2.5rem;

    .service-what-main-item__ttl {
        &::before {
            content: "01";
        }
    }
}

.service-what-main-item:nth-child(2) {
    .service-what-main-item__ttl {
        &::before {
            content: "02";
        }
    }
}

.service-what-main-item__detail {
    margin-bottom: 2.5rem;
    color: #233438;

    dl {
        dt {
            padding-top: 1.25rem;
        }

        dt {
            font-size: 1.5rem;
            line-height: 2rem;
        }

        dt {
            font-weight: 500;
        }

        dt {
            line-height: 2;
        }

        dt {
            letter-spacing: 0.025em;
        }

        dt {
            --tw-text-opacity: 1;
            color: rgb(35 52 56 / var(--tw-text-opacity));
        }

        dd {
            padding-top: 0.5rem;
        }

        dd {
            padding-bottom: 1.5rem;
        }

        dd {
            line-height: 2;
        }
    }
}

@media (max-width: 1366px) {
    .service-what-header__img {
        text-align: right;
    }

    .service-what-header__img picture,
    .service-what-header__img img {
        width: auto;
        transform: translateX(-5%);
    }
}

@media (max-width: 1336px) {
    .service-what {
        padding-bottom: 3.5rem;
    }
}

@media (max-width: 1279px) {
    .service-what-header__ttl {
        position: static;
        margin-bottom: 1.5rem;
    }

    .service-what-header__img picture,
    .service-what-header__img img {
        width: 100%;
        max-height: 450px;
        transform: translateX(0);
    }

    .service-what-main-item__ttl {
        font-size: 2.15rem;
    }

    .service-what-main-item__detail dl dt {
        font-size: 1.125rem;
        line-height: 1.75rem;
        font-weight: 700;
    }
}

@media (max-width: 1023px) {
    .service-what__ttl {
        --tw-translate-x: -0.75rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        padding-left: 4rem;
        padding-right: 4rem;
    }

    .service-what-main {
        display: block;
        -moz-columns: 1;
        columns: 1;
    }

    .service-what-main-item {
        margin-bottom: 6rem;
        width: 100%;
        padding-right: 0px;

        &:last-of-type {
            margin-bottom: 0px;
        }
    }

    .service-what-main-item::after {
        content: none;
    }

    .service-what-main-item__ttl {
        padding-right: 0px;
        font-size: 1.5rem;
        line-height: 2rem;
    }
}

@media (max-width: 767px) {
    .service-what__ttl {
        --tw-translate-x: -0.75rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        padding-left: 3rem;
        padding-right: 3rem;
        font-size: 1.25rem;
        line-height: 1.75rem;
    }

    .service-what-header__ttl {
        font-size: clamp(1.25rem, 0.7rem + 2.04vw, 1.75rem);
        margin-bottom: 1rem;

        & .on-sp {
            display: block;
        }
    }

    .service-what-header__img picture,
    .service-what-header__img img {
        width: 100%;
    }

    .service-what-main-item {
        margin-bottom: 4rem;
    }

    .service-what-main-item__ttl {
        margin-bottom: 1.5rem;
    }

    .service-what-main-item__detail {
        margin-bottom: 0px;
    }

    .service-what-main-item__detail dl dt {
        padding-top: 0px;
    }
}

.service-work {
    --tw-bg-opacity: 1;
    background-color: rgb(248 248 248 / var(--tw-bg-opacity));
    padding-bottom: 5.25rem;
}

.service-work__ttl {
    display: inline-block;
    --tw-translate-y: -50%;
    --tw-translate-x: -20%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-radius: 50px;
    --tw-bg-opacity: 1;
    background-color: rgb(248 248 248 / var(--tw-bg-opacity));
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1.5rem;
    font-family: Lato, sans-serif;
    font-size: 2rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
}

.service-work-contents {
    display: flex;
    -moz-columns: 2;
    columns: 2;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    row-gap: 5rem;
}

.service-work-item {
    position: relative;
    width: calc(50% - 2.5rem);
}

.service-work-item__ttl {
    position: relative;
    z-index: 30;
    margin-bottom: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    --tw-bg-opacity: 1;
    background-color: rgb(248 248 248 / var(--tw-bg-opacity));
    padding-right: 3rem;
    font-size: 1.75rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
    letter-spacing: 0.025em;
}

.service-work-item__ttl::before {
    content: "";
    display: inline-block;
    height: 2.25rem;
    width: 2.25rem;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.service-work-item__txt {
    margin-bottom: 1.5rem;
    min-height: 5rem;
    color: #233438;
    font-size: 1.15rem;
    line-height: 1.5rem;
    line-height: 2;
}

.service-work-item__img {
    height: 21vw;
    border-radius: 18px;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(204 204 204 / var(--tw-border-opacity));
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 1.875rem;
    aspect-ratio: 55 / 34;
    width: 100%;
}

.service-work-item__link {
    text-align: right;
}

.service-work-item__link a {
    width: 100%;
    max-width: 15.75rem;
    padding: 1.125rem 0 1.125rem 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    column-gap: 0.9375rem;
    font-size: 1.25rem;
    color: #fff;
    font-weight: 500;
    background-color: rgb(35 52 56);
    line-height: 1;
    border-radius: 8px;
    border: 2px solid rgb(35 52 56);
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);

    &:hover {
        color: #233438;
        background-color: transparent;

        svg {
            path {
                --tw-fill-opacity: 1;
                fill: rgb(35 52 56 / var(--tw-fill-opacity));
            }
        }
    }
}

.service-work-item:nth-of-type(1) {
    .service-work-item__ttl::before {
        background-image: url(./assets/images/icon-work001.svg);
    }

    .service-work-item__img {
        background-image: url(./assets/images/img-work001.png);
    }
}

.service-work-item:nth-of-type(2) {
    .service-work-item__ttl::before {
        background-image: url(./assets/images/icon-work002.svg);
    }

    .service-work-item__img {
        background-image: url(./assets/images/img-work002.png);
    }
}

.service-work-item:nth-of-type(3) {
    .service-work-item__ttl::before {
        background-image: url(./assets/images/icon-work003.svg);
    }

    .service-work-item__img {
        background-image: url(./assets/images/img-work003.png);
    }
}

.service-work-item:nth-of-type(4) {
    .service-work-item__ttl::before {
        background-image: url(./assets/images/icon-work004.svg);
    }

    .service-work-item__img {
        background-image: url(./assets/images/img-work004.png);
    }
}

.service-work-item:nth-of-type(5) {
    .service-work-item__ttl::before {
        background-image: url(./assets/images/icon-work005.svg);
    }

    .service-work-item__img {
        background-image: url(./assets/images/img-work005.png);
    }
}

.service-work-item:nth-of-type(6) {
    .service-work-item__ttl::before {
        background-image: url(./assets/images/icon-work006.svg);
    }

    .service-work-item__img {
        background-image: url(./assets/images/img-work006.png);
    }
}

.service-work-item:nth-of-type(7) {
    .service-work-item__ttl::before {
        background-image: url(./assets/images/icon-work007.svg);
    }

    .service-work-item__img {
        background-image: url(./assets/images/img-work007.png);
    }
}

@media (max-width: 1279px) {
    .service-work {
        padding-bottom: 6rem;
    }

    .service-work-item__ttl {
        font-size: 1.25rem;
        line-height: 1.75rem;
        font-weight: 700;
    }

    .service-work-item__ttl::before {
        height: 1.75rem;
        width: 1.75rem;
    }

    .service-work-item__txt {
        min-height: 5rem;
    }

    .service-work-item:nth-child(3) .service-work-item__txt {
        min-height: 6rem;
    }

    .service-work-item:nth-child(4) .service-work-item__txt {
        min-height: 6rem;
    }
}

@media (max-width: 1023px) {
    .service-work__ttl {
        margin-bottom: 1.25rem;
        --tw-translate-x: -0.75rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        padding-left: 4rem;
        padding-right: 4rem;
    }

    .service-work-contents {
        display: block;
        -moz-columns: 1;
        columns: 1;
    }

    .service-work-item {
        margin-bottom: 6rem;
        width: 100%;
        padding-right: 0px;

        &:last-of-type {
            margin-bottom: 0px;
        }
    }

    .service-work-item::after {
        content: none;
    }

    .service-work-item__ttl {
        padding-right: 0px;
        font-size: 2rem;
        letter-spacing: 0.25rem;
    }

    .service-work-item__ttl::before {
        height: 2rem;
        width: 2rem;
    }

    .service-work-item__txt {
        min-height: 0px;
    }

    .service-work-item__img {
        height: 50vw;
    }
}

@media (max-width: 767px) {
    .service-work {
        margin-top: -1px;
        padding-top: 0;
        padding-bottom: 2.5rem;

        & .container {
            margin-top: 0;
            padding-top: 0;
        }
    }

    .service-work__ttl {
        --tw-translate-x: -0.75rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        padding-left: 3rem;
        padding-right: 3rem;
        padding-top: 0.75rem;
        font-size: 1.25rem;
        line-height: 1.75rem;
    }

    .service-work-item {
        margin-bottom: 3rem;
    }

    .service-work-item__ttl {
        font-size: clamp(1.125rem, 0.904rem + 0.98vw, 1.375rem);
        line-height: 1.65;
        letter-spacing: 0.05em;
        column-gap: 0.65rem;
    }

    .service-work-item__txt {
		min-height: auto;
		font-size: 1rem;
        margin-bottom: 1.25rem;
    }
	
	.service-work-item:nth-child(3) .service-work-item__txt {
        min-height: auto;
    }

    .service-work-item:nth-child(4) .service-work-item__txt {
        min-height: auto;
    }

    .service-work-item__img {
        border-radius: 0.75rem;
        margin-bottom: 1.25rem;
    }

    .service-work-item__link {
        text-align: center;
    }

    .service-work-item__link a {
        position: relative;
        max-width: 100%;
        font-size: clamp(1rem, 0.779rem + 0.98vw, 1.25rem);
        padding: 1.25rem;

        & .icon {
            position: absolute;
            top: 50%;
            right: 1.25rem;
            transform: translateY(-50%);
            width: 1rem;
            height: 1rem;

            & svg {
                width: 100%;
                height: 100%;
                object-fit: contain;
            }
        }
    }
}

/* .technology - サービス */

.technology {
    position: relative;
    background-color: #fff;
    z-index: 1;
}

.technology__ttl {
    display: inline-block;
    --tw-translate-y: -50%;
    --tw-translate-x: -11%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-radius: 50px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    padding-left: 3rem;
    padding-right: 3rem;
    padding-top: 1.5rem;
    font-family: Lato, sans-serif;
    color: rgb(35 52 56 / var(--tw-text-opacity));
    font-size: 2rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    --tw-text-opacity: 1;
    z-index: 15;
}

.technology-main {
    background: url(assets/images/bg-technology.svg) no-repeat center top;
    background-size: auto;
    z-index: 10;

    & .container {
        padding-bottom: 3rem;
    }
}

.technology-main-item {
    max-width: 45vw;
    margin: 0 auto 2rem auto;
    padding: 24px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0 0 15px 0 rgba(35, 52, 56, 0.10);

    &:first-of-type {
        transform: translateX(-25%);
    }

    &:last-of-type {
        transform: translateX(25%);
    }
}

.technology-main-item__ttl {
    display: inline-block;
    width: auto;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    padding: 6px 12px;
    background-color: #233438;
    margin-bottom: 0.75rem;
}

.technology-main-item__txt {
    font-size: 0.9375rem;
    line-height: 1.55;
    letter-spacing: 0.02813rem;
}


@media (max-width: 1366px) {
    .technology__ttl {
        --tw-translate-x: -12.5%;
    }

    .technology-main-item {
        width: 100%;
        max-width: 70%;
    }
}

@media (max-width: 1023px) {
    .technology__ttl {
        --tw-translate-x: -0.75rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        padding-left: 4rem;
        padding-right: 4rem;
    }
}

@media (max-width: 820px) {
    .technology-main .container {
        padding-bottom: 3.5rem;
    }

    .technology-main-item {
        width: 100%;
        max-width: max-content;

        &:first-of-type,
        &:last-of-type {
            transform: translateX(0%);
        }
    }
}

@media (max-width: 767px) {
    .technology__ttl {
        --tw-translate-x: -0.75rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        padding-left: 3rem;
        padding-right: 3rem;
        padding-top: 0.75rem;
        font-size: 1.25rem;
        line-height: 1.75rem;
    }

    .technology-main-item__ttl {
        font-size: 1.0625rem;
    }

    .technology-main-item__txt {
        font-size: 0.9375rem;
    }
}

.technology-value-proposition {
    padding-top: 3.75rem;
    padding-bottom: 5rem;
}

.value-proposition__ttl {
    margin-bottom: 2.5rem;

    & .en {
        font-family: Lato, sans-serif;
        color: #01C8C8;
        font-size: 1.125rem;
        font-style: normal;
        font-weight: 900;
        letter-spacing: 0.02813rem;
    }

    & .jp {
        font-size: 1.875rem;
        font-weight: 700;
        letter-spacing: 0.075rem;
    }
}

.value-proposition-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 5%;
}

.value-proposition-item {
    min-width: 23.33%;
    padding: 1.875rem;
    border: 1px solid #CCCCCC;
    border-radius: 0.75rem;
}

.value-proposition-item__img {
    width: 100%;
    max-width: 100%;
    text-align: center;
    margin-bottom: 1.75rem;
    aspect-ratio: 292 / 163;

    & img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.value-proposition-item-txt__ttl {
    width: 100%;
    text-align: center;
    margin-bottom: 18.5px;

    & .marker {
        display: inline-block;
        font-size: clamp(1.105rem, 0.509rem + 0.72vw, 1.375rem);
        font-weight: 700;
        letter-spacing: 0.06875rem;
        text-decoration: underline;
        text-underline-offset: -0.15em;
        text-decoration-thickness: 0.5em;
        text-decoration-color: rgba(1, 200, 200, 0.25);
        text-decoration-skip-ink: none;
    }
}

.value-proposition-item-txt__detail {
    margin-bottom: 16px;
    font-size: 0.9375rem;
    letter-spacing: 0.025rem;
}

.value-proposition-item-txt__point {
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0.025rem;
}


@media (max-width: 1336px) {
    .value-proposition__ttl {
        & .jp {
            margin-bottom: 1.5rem;
        }
    }

    .value-proposition-list {
        column-gap: 2%;
    }

    .value-proposition-item {
        padding: 1.05rem;
    }
}

@media (max-width: 1023px) {
    .value-proposition-list {
        grid-template-columns: 1fr;
        row-gap: 1.875rem;
    }
}

@media (max-width: 1023px) and (min-width: 768px) {
    .value-proposition-item {
        padding: 1.875rem;
    }

    .value-proposition-item-txt__ttl {
        & .marker {
            font-size: 1.375rem;
        }
    }

    .value-proposition-item__img {
        max-height: 160px;

        & img {
            object-fit: contain;
        }
    }
}

@media (max-width: 767px) {
    .technology-value-proposition {
        padding-bottom: 3.15rem;
    }

    .value-proposition__ttl {
        & .en {
            font-size: 0.9375rem;
        }

        & .jp {
            font-size: 1.5rem;
        }
    }

    .value-proposition-item {
        padding: 1.25rem;
    }

    .value-proposition-item-txt__ttl {
        & .marker {
            font-size: clamp(1.125rem, 0.904rem + 0.98vw, 1.375rem);
        }
    }
}


.technology-process {
    padding-bottom: 7rem;
}

.process__ttl {
    margin-bottom: 1rem;

    & .en {
        font-family: Lato, sans-serif;
        color: #01C8C8;
        font-size: 1.125rem;
        font-style: normal;
        font-weight: 900;
        letter-spacing: 0.02813rem;
    }

    & .jp {
        font-size: 1.875rem;
        font-weight: 700;
        letter-spacing: 0.075rem;
    }
}

.process__txt {
    font-size: 1.0625rem;
    font-weight: 500;
    line-height: 1.65;
    padding-bottom: 2rem;
}

.process-contents {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 5%;
    align-items: stretch;

    & .arrow {
        padding: 8px 0;
        text-align: center;

        & svg {
            margin: 0 auto;
        }
    }
}

.process-step {
    height: auto;
}

.process-detail {
    height: 100%;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid #233438;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.process-contents {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 5%;
    align-items: stretch;
}

.process-step {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: auto;

    &::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        transform: translate(150%, 1.25rem);
        display: block;
        width: 30px;
        height: 20px;
        background: url(assets/images/icon-arrow-right-outline.svg) no-repeat center center;
        background-size: contain;
        z-index: 10;
    }

    &:last-child::after {
        content: none;
    }
}

.process-item__ttl {
    position: relative;
    width: 100%;
    padding: 1rem 0;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.1rem;
    border-radius: 10px;
    background-color: #233438;
    margin-bottom: 1.3rem;

    &::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translate(-50%, 13px);
        display: block;
        width: 18px;
        height: 16px;
        background-color: #233438;
        clip-path: polygon(50% 100%, 0 0, 100% 0);
        z-index: -1;
    }
}

.process-detail {
    height: 100%;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid #233438;
}

.process-detail-item {
    padding: 1rem;
    border-radius: 8px;
    border: 1px solid #233438;

    &.line-dashed {
        border-style: dashed;
    }
}

.process-detail-item__caption {
    margin-bottom: 0.5rem;
    font-weight: 700;
    line-height: 1;
}

.process-detail-item__txt {
    font-size: 0.9375rem;
}


.process-step.pickup {
    & .process-item__ttl {
        background-color: #01C8C8;

        &::after {
            background-color: #01C8C8;
        }
    }

    & .process-detail-item {
        background: rgba(53, 187, 187, 0.10);
        border: none;
    }
}


@media (max-width: 1336px) {
    .process__ttl {
        & .jp {
            margin-bottom: 1.5rem;
        }
    }

    .process-contents {
        column-gap: 2%;
    }
}

@media (max-width: 1023px) {
    .process-contents {
        grid-template-columns: 1fr;
        row-gap: 3rem;
    }

    .process-step {
        &::after {
            top: 100%;
            left: 50%;
            transform: translate(-50%, 50%) rotate(90deg);
            transform-origin: center;
        }
    }
}


@media (max-width: 767px) {
    .process__ttl {
        & .en {
            font-size: 0.9375rem;
        }

        & .jp {
            font-size: 1.5rem;
        }
    }
}

/* .case - 事例 */

.case {
    padding-bottom: 3.75rem;

    & .container {
        padding-left: 0;
        padding-right: 0;
    }
}

.case__ttl {
    position: relative;
    display: inline-block;
    --tw-translate-y: -50%;
    --tw-translate-x: 25%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-radius: 50px;
    --tw-bg-opacity: 1;
    background-color: rgb(248 248 248 / var(--tw-bg-opacity));
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1.5rem;
    font-family: Lato, sans-serif;
    font-size: 2rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
    z-index: 10;
}


/* swiper */
.case-swiper-box {
    position: relative;

    & .swiper-button-prev {
        width: 42px;
        height: 42px;
        background: url('assets/images/icon-pagenation-left.svg') no-repeat center center;
        z-index: 500 !important;

        &::after {
            content: none;
        }

        & .swiper-navigation-icon {
            display: none;
        }
    }

    & .swiper-button-next {
        width: 42px;
        height: 42px;
        background: url('assets/images/icon-pagenation-right.svg') no-repeat center center;
        z-index: 500 !important;

        &::after {
            content: none;
        }

        & .swiper-navigation-icon {
            display: none;
        }
    }
}

.case-articles .swiper-wrapper {
    display: flex;
    width: 100%;
    height: 100%;
    z-index: 100;
    align-items: stretch !important;
}

.case-articles .swiper-slide {
    position: relative;
    width: auto;
    height: auto;
    background-color: #FFF;
    border-radius: 12px;
    overflow: hidden;
    z-index: 150;
}

.case-articles .swiper-slide .num {
    position: absolute;
    top: -12px;
    right: -12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: url(assets/images/bg-case-num.png) no-repeat center center;
    background-size: contain;
    color: #fff;
    font-family: lato, sans-serif;
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 0.1rem;
    z-index: 200;
    pointer-events: none;
}

.case-articles {
    width: calc(100% - 12vw);
    height: 100%;
    box-sizing: border-box;
    z-index: 100;

    & a {
        display: inline-block;
        height: 100%;
        min-height: max-content;

        &:hover {
            & .img {
                & img {
                    --tw-scale-x: 1.1;
                    --tw-scale-y: 1.1;
                    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
                }
            }
        }
    }

    & .img {
        width: 100%;
        overflow: hidden;
        aspect-ratio: 176 / 115;

        & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition-property: all;
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            transition-delay: 75ms;
            transition-duration: 500ms;
        }
    }

    & .txt {
        padding: 1.56rem 1.25rem;

        & .ttl {
            margin-bottom: 1.88rem;
            font-size: 1rem;
            font-weight: 600;
            line-height: 1.65;
            letter-spacing: 0.03rem;
        }

        & .client-name {
            color: #777F81;
            font-size: 0.9375rem;
        }
    }
}

.case-feed .post-ttl {
    width: 100%;
    min-height: 3.25rem;
    color: #233438;
    font-size: 19px;
    font-weight: bold;
    line-height: 1.5;
    margin: 0.5em auto 0.5em;
}

.case__link {
    margin-top: 2.5rem;
    text-align: center;
}

.case-feed a:hover .post-thumbnail img {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media (max-width: 1280px) {
    .case-articles {
        & .num {
            font-size: 1.15rem;
            width: 60px;
            height: 60px;
        }
    }
}

@media (max-width: 1023px) {
    .case__ttl {
        margin-bottom: 1.25rem;
        --tw-translate-x: -0.75rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        padding-left: 4rem;
        padding-right: 4rem;
    }
}

@media (max-width: 767px) {
    .case__ttl {
        --tw-translate-x: -0.75rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        padding-left: 3rem;
        padding-right: 3rem;
        padding-top: 0.75rem;
        font-size: 1.25rem;
        line-height: 1.75rem;
    }

    .case-swiper-box {
        & .swiper-button-prev {
            left: 22px !important;
        }

        & .swiper-button-next {
            right: 22px !important;
        }
    }

    .case-articles {
        padding-left: 21px !important;
        padding-right: 21px !important;

        & .num {
            font-size: 1.25rem;
        }
    }

}

/* .team - our team  */
.team {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.team__ttl {
    margin-bottom: 2.5rem;
    font-family: Lato, sans-serif;
    font-size: 3.5rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.5;
    letter-spacing: 0.1em;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
}

.board-member {
    margin-bottom: 2.5rem;
    display: flex;
    -moz-columns: 42rem;
    columns: 42rem;
    align-items: stretch;
    justify-content: space-between;
}

.board-member-item {
    position: relative;
    width: calc(50% - 2.25rem);
}

.board-member-item__img {
    height: 25vw;
    border-radius: 35px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.board-member-item:nth-child(1) .board-member-item__img {
    background-image: url(./assets/images/img-team_okamoto.png);
}

.board-member-item:nth-child(2) .board-member-item__img {
    background-image: url(./assets/images/img-team_nakazato.png);
}

.board-member-info {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.board-member-info__pos,
.lead-engineer-info__pos,
.engineer-item__pos {
    margin-bottom: 0.375rem;
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
}

.board-member-info__name,
.lead-engineer-info__name,
.engineer-item__name {
    margin-bottom: 1.25rem;
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 2.25rem;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
}

.board-member-info__introduce,
.lead-engineer-info__introduce,
.engineer-item__introduce {
    font-size: 15px;
    font-weight: 400;
    line-height: 2;
}

.lead-engineer-item {
    margin-bottom: 3rem;
    padding-bottom: 2.5rem;
    width: calc(50% - 2.25rem);
}

.engineers {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.engineer-list {
    display: flex;
    -moz-columns: 4;
    columns: 4;
    align-items: center;
    justify-content: flex-start;
    gap: 6rem;
}

.engineer-item {
    margin-bottom: 3rem;
    padding-bottom: 2.5rem;
    width: calc(50% - 2.25rem);
}


@media (max-width: 1279px) {
    .team {
        padding-top: 3rem;
    }

    .engineer-list {
        justify-content: space-between;
        gap: 0px;
    }
}

@media (max-width: 1023px) {
    .team {
        padding-bottom: 1.5rem;
    }

    .team__ttl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }

    .board-member {
        margin-bottom: 0px;
        display: block;
        -moz-columns: 1;
        columns: 1;
    }

    .board-member-item {
        margin-bottom: 1.25rem;
        width: 100%;

        &:last-of-type {
            margin-bottom: 0px;
        }
    }

    .board-member-item__img {
        height: 50vw;
    }

    .lead-engineer-item {
        margin-bottom: 3rem;
        width: 100%;
        padding-bottom: 0px;
    }

    .engineer-list {
        display: block;
        -moz-columns: 1;
        columns: 1;
    }

    .engineer-item {
        margin-bottom: 2.5rem;
    }
}

@media (max-width: 767px) {
    .team__ttl {
        margin-bottom: 1.5rem;
    }

    .board-member-item:last-child {
        margin-bottom: 1.25rem;
    }

    .board-member-item__img {
        border-radius: 0.75rem;
    }

    .board-member-info {
        padding-left: 0px;
        padding-right: 0px;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .board-member-info__name,
    .lead-engineer-info__name,
    .engineer-item__name {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }


    .engineers {
        padding-left: 0;
    }

    .engineer-list {
        display: block;
        padding-left: 0px;
        padding-right: 0px;
        margin-bottom: 2.5rem;
    }

    .engineer-item {
        width: 100%;
        margin-bottom: 1.5rem;

        &:last-of-type {
            padding-bottom: 0;
        }
    }
}

/* .blog - ブログ */

.blog {
    border-top-left-radius: 36px;
    border-top-right-radius: 36px;
    --tw-bg-opacity: 1;
    background-color: rgb(35 52 56 / var(--tw-bg-opacity));
}

.blog-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5rem;
    padding-top: 5rem;
    padding-bottom: 5rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}

.blog-textarea {
    width: 100%;
}

.blog-main-txt {
    margin-bottom: 1.25rem;

    .en {
        font-family: Lato, sans-serif;
    }

    .en {
        font-size: 3rem;
        line-height: 1;
    }

    .en {
        font-weight: 700;
    }

    .en {
        text-transform: uppercase;
    }

    .en {
        line-height: 1.5;
    }

    .en {
        letter-spacing: 0.1em;
    }
}

.blog-main-txt__detail {
    font-size: 1.25rem;
    line-height: 1.75rem;
    line-height: 1.625;
    letter-spacing: 0.025em;
}

.blog-main__img {
    min-height: 450px;
    width: 100%;
    border-radius: 32px;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(./assets/images/img-blog.png);
}

@media (max-width: 1279px) {
    .blog-main__img {
        min-height: 27.5vw;
    }
}

@media (max-width: 1023px) {
    .blog-main {
        display: block;
    }

    .blog-main__txt {
        margin-bottom: 3rem;
    }

    .blog-main__img {
        min-height: 50vw;
    }
}

/* add_20250912 - 取引実績 */
.clients__inner {
    margin-bottom: 8rem;
    padding: 3rem 3rem 3rem 6rem;
    border-radius: 2.25rem;
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(204 204 204 / var(--tw-border-opacity));
    display: grid;
    grid-template-columns: 12.6875rem auto;
    gap: 1.5rem;
    line-height: 1;
}

.clients__ttl {
    font-size: clamp(1.625rem, 0.375rem + 1.56vw, 2.25rem);
    font-weight: 600;
    letter-spacing: 0.01em;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
}

.clients__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    align-items: center;
}

@media (max-width: 1368px) {
    .clients__inner {
        padding: 2rem 3rem;
        grid-template-columns: 10.6875rem auto;
    }
}

@media (max-width: 1279px) {
    .clients__inner {
        grid-template-columns: 8.75rem auto;
    }

    .clients__ttl {
        font-size: 1.375rem;
    }
}

@media (max-width: 820px) {
    .clients__inner {
        margin-bottom: 5.75rem;
        grid-template-columns: 1fr;
    }

    .clients__ttl {
        display: inline-block;
        width: 100%;
        font-size: clamp(1.125rem, 0.969rem + 0.66vw, 1.5rem);
        text-align: center;
    }
}

@media (max-width: 767px) {
    .clients {
        padding-bottom: 3.5rem;
        background-color: rgba(255, 255, 255, 0.6);
    }

    .clients__inner {
        margin-bottom: 0;
        padding: 1.6rem;
    }

    .clients__ttl {
        margin-bottom: 0.25rem;
    }

    .clients__list {
        grid-template-columns: repeat(2, 1fr);
    }
}


.sub-page-hero {
    height: 100%;
    max-height: 50%;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../../assets/images/bg-header.jpg");
}

.sub-page-hero-inner {
    height: 100%;
    padding-top: 10rem;
    padding-bottom: 6rem;
}

@media (max-width: 819px) {
    .sub-page-main-title {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
}

.sub-page-contents {
    margin-left: auto;
    margin-right: auto;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.cat-nav {
    margin-bottom: 3rem;
    width: 100%;
}

.cat-nav-title {
    margin-bottom: 2rem;
    font-family: Lato, sans-serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.05em;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
}

.cat-nav-list {
    margin: 0px;
    display: grid;
    width: 100%;
    grid-template-columns: repeat(6, minmax(0px, 1fr));
    gap: 1rem;
    padding: 0px;
}

.cat-nav-list li {
    display: inline-grid;
    overflow: hidden;
    border-radius: 0.375rem;
    border-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(35 52 56 / var(--tw-border-opacity));
    text-align: center;
}

.cat-nav-list li a {
    width: 100%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
    --tw-text-opacity: 1;
    color: rgb(35 52 56 / var(--tw-text-opacity));
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 75ms;
}

.cat-nav-list li a.active,
.cat-nav-list li a:hover {
    color: rgb(255, 255, 255);
    background-color: rgb(35, 52, 56);
}

@media screen and (max-width: 780px) {
    .cat-nav-title {
        font-size: 8.8vw;
        line-height: 1.5;
        text-align: center;
        margin: 0px 0px 1.5rem;
    }

    .cat-nav-list {
        margin: 0px auto;
        width: 85.7vw;
    }

    .cat-nav-item {
        display: inline-block;
        min-width: 42vw;
        font-size: 4.5vw;
        line-height: 1.8;
        margin: 0em 0px 0.5em;
        padding: 0.2em 0px;
        border-radius: 5px;
    }
}

.nav-links {
    display: flex;
    justify-content: center;
}

.pagination {
    margin-bottom: 0px !important;
}

.nav-links>.page-numbers {
    padding: 0em;
    margin: 0px;
}

.pagination .page-numbers {
    display: flex;
    justify-content: center;
}

.pagination .page-numbers .page-numbers {
    padding: 0.85rem 1rem;
    font-size: 18px;
    color: rgb(35, 52, 56);
    line-height: 1;
    text-align: center;
    border: 2px solid rgb(35, 52, 56);
    border-radius: 5px;
    transition-duration: 0.3s;
}

.pagination .page-numbers li {
    margin: 0px 8px;
}

.page-numbers .page-numbers:hover,
.page-numbers .page-numbers.current {
    background-color: rgb(35, 52, 56);
    color: rgb(255, 255, 255);
    transition-duration: 0.3s;
}

.screen-reader-text {
    display: none;
}

@media screen and (max-width: 780px) {
    .pagination .page-numbers .page-numbers {
        display: inline-block;
    }

    .pagination .page-numbers li {
        margin: 0px 1vw;
    }

    .page-numbers .page-numbers:hover,
    .page-numbers .page-numbers.current {
        color: rgb(255, 255, 255);
        background-color: rgb(35, 52, 56);
    }
}

@media screen and (max-width: 350px) {
    .pagination .page-numbers .page-numbers {
        width: 30px;
        height: 36px;
        font-size: 14px;
        line-height: 36px;
    }

    .pagination .page-numbers li {
        margin: 0px 0.5vw;
    }
}

.site-content.page-blog {
    max-width: 1050px;
    margin: 0px auto 5em;
}

.sub-page-contents .blog-feed {
    display: grid;
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    gap: 2.5rem 4rem;
    background-color: transparent;
    margin-bottom: 3rem;
}

.sub-page-contents .blog-feed .post {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 1023px) {
    .cat-nav-list {
        width: 100%;
        grid-template-columns: repeat(3, minmax(0px, 1fr));
    }

    .sub-page-contents .blog-feed {
        display: block;
        columns: 1;
    }

    .blog-feed .post {
        margin-bottom: 2rem;
        width: 100%;
        max-width: 100%;
        border-bottom-width: 1.5px;
        --tw-border-opacity: 1;
        border-color: rgb(204 204 204 / var(--tw-border-opacity));
        padding-bottom: 2rem;

        &:last-child {
            margin-bottom: 0px;
        }

        &:last-child {
            border-style: none;
        }
    }

    .blog-feed .post-thumbnail {
        max-height: 50vw;
    }
}

@media (max-width: 767px) {
    .cat-nav {
        margin-bottom: 2rem;
    }

    .cat-nav-list {
        grid-template-columns: repeat(2, minmax(0px, 1fr));
    }

    .blog-feed .container {
        width: 100%;
        max-width: 100%;
        padding-top: 2.5rem;
        padding-bottom: 0px;
    }

    .sm\:container {
        width: 100%;
    }
}


.blog-feed {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));

    & .container {
        display: flex;
        -moz-columns: 3;
        columns: 3;
        align-items: stretch;
        justify-content: space-between;
        padding-top: 4rem;
        padding-bottom: 2.5rem;
    }
}

.blog-feed .post {
    max-width: calc(33.33% - 2.5rem);
}

.blog-feed .post-thumbnail {
    margin-bottom: 1rem;
    height: 235px;
    width: 100%;
    overflow: hidden;
    border-radius: 0.75rem;
    background-size: cover;
    background-repeat: no-repeat;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-delay: 75ms;
    transition-duration: 500ms;
}

.blog-feed .post-thumbnail img {
    max-height: 100%;
    height: 100%;
    object-fit: cover;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.blog-feed .post-category {
    display: inline-block;
    width: 175px;
    border-radius: 0.5rem;
    --tw-bg-opacity: 1;
    background-color: rgb(35 52 56 / var(--tw-bg-opacity));
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: center;
    font-size: 15px;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
    transition-duration: 150ms;
}

.blog-feed .post-summary {
    margin-bottom: 1rem;
    font-size: 15px;
    line-height: 2;
}

.blog-feed .post-date {
    width: 100%;
    text-align: right;
}

.blog-readmore {
    padding-bottom: 4rem;
    text-align: center;
}

@media (max-width: 1023px) {
    .blog-feed .container {
        display: block;
        -moz-columns: 1;
        columns: 1;
    }

    .blog-feed .post {
        margin-bottom: 2rem;
        width: 100%;
        max-width: 100%;
        border-bottom-width: 1.5px;
        --tw-border-opacity: 1;
        border-color: rgb(204 204 204 / var(--tw-border-opacity));
        padding-bottom: 2rem;

        &:last-child {
            margin-bottom: 0px;
        }

        &:last-child {
            border-style: none;
        }
    }

    .blog-feed .post-thumbnail {
        max-height: 50vw;
    }
}

@media (max-width: 767px) {
    .blog-main {
        padding: 2.5rem;
    }

    .blog-main-textarea {
        margin-bottom: 1.5rem;
    }

    .blog-main-textarea__ttl .en {
        margin-top: 0.5rem;
        margin-bottom: 1.25rem;
        font-size: 2.25rem;
        line-height: 2.5rem;
        letter-spacing: 0.1em;
    }

    .blog-main-textarea__content {
        font-size: 1rem;
        line-height: 1.5rem;
        line-height: 2;
    }

    .blog-main-img {
        border-radius: 0.75rem;
    }

    .blog-feed .container {
        width: 100%;
        max-width: 100%;
        padding-top: 2.5rem;
        padding-bottom: 0px;
    }

    .sm\:container {
        width: 100%;
    }
}

.blog-feed {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.blog-feed .container {
    display: flex;
    -moz-columns: 3;
    columns: 3;
    align-items: stretch;
    justify-content: space-between;
    padding-top: 4rem;
    padding-bottom: 2.5rem;
}

.blog-feed .post {
    max-width: calc(33.33% - 2.5rem);
}

.blog-feed .post-thumbnail {
    margin-bottom: 1rem;
    height: 235px;
    width: 100%;
    overflow: hidden;
    border-radius: 0.75rem;
    background-size: cover;
    background-repeat: no-repeat;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-delay: 75ms;
    transition-duration: 500ms;
}

.blog-feed .post-thumbnail img {
    max-height: 100%;
    height: 100%;
    object-fit: cover;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.blog-feed .post-category {
    display: inline-block;
    width: 175px;
    border-radius: 0.5rem;
    --tw-bg-opacity: 1;
    background-color: rgb(35 52 56 / var(--tw-bg-opacity));
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: center;
    font-size: 15px;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
    transition-duration: 150ms;
}

.blog-feed a:hover .post-thumbnail img {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.blog-feed a:hover .post-category {
    --tw-bg-opacity: 1;
    background-color: rgb(1 200 200 / var(--tw-bg-opacity));
}

.blog-feed .post-ttl {
    width: 100%;
    min-height: 3.25rem;
    color: #233438;
    font-size: 19px;
    font-weight: bold;
    line-height: 1.5;
    margin: 0.5em auto 0.5em;
}

.blog-feed .post-summary {
    margin-bottom: 1rem;
    font-size: 15px;
    line-height: 2;
}

.blog-feed .post-date {
    width: 100%;
    text-align: right;
}

.blog-readmore {
    padding-bottom: 4rem;
    text-align: center;
}

@media (max-width: 1023px) {
    .blog-feed .container {
        display: block;
        -moz-columns: 1;
        columns: 1;
    }

    .blog-feed .post {
        margin-bottom: 2rem;
        width: 100%;
        max-width: 100%;
        border-bottom-width: 1.5px;
        --tw-border-opacity: 1;
        border-color: rgb(204 204 204 / var(--tw-border-opacity));
        padding-bottom: 2rem;

        &:last-child {
            margin-bottom: 0px;
        }

        &:last-child {
            border-style: none;
        }
    }

    .blog-feed .post-thumbnail {
        max-height: 50vw;
    }
}

@media (max-width: 767px) {
    .blog-main {
        padding: 2.5rem;
    }

    .blog-main-textarea {
        margin-bottom: 1.5rem;
    }

    .blog-main-textarea__ttl .en {
        margin-top: 0.5rem;
        margin-bottom: 1.25rem;
        font-size: 2.25rem;
        line-height: 2.5rem;
        letter-spacing: 0.1em;
    }

    .blog-main-textarea__content {
        font-size: 1rem;
        line-height: 1.5rem;
        line-height: 2;
    }

    .blog-main-img {
        border-radius: 0.75rem;
    }

    .blog-feed .container {
        width: 100%;
        max-width: 100%;
        padding-top: 2.5rem;
        padding-bottom: 0px;
    }

    .sm\:container {
        width: 100%;
    }
}



/*-------------------------
  .sub-page  - 下層ページ
-------------------------*/

.sub-page-main-title {
    color: #233438;
    margin-bottom: 1rem;
    text-align: center;
    font-family: Lato, sans-serif;
    font-size: 3rem;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.sub-page-main-copy {
    color: #233438;
    text-align: center;
    font-size: 1rem;
    line-height: 2;

    & span {
        display: inline;
    }
}

@media (max-width: 767px) {
    .sub-page-main-copy {
        & span {
            display: inline-block;
            width: 100%;
        }
    }
}

.hover\:font-bold:hover {
    font-weight: 700;
}

.before\:hover\:text-center:hover::before {
    content: var(--tw-content);
    text-align: center;
}

.hover\:before\:text-center:hover::before {
    content: var(--tw-content);
    text-align: center;
}

.focus\:hover\:text-center:hover:focus {
    text-align: center;
}

.hover\:focus\:text-center:focus:hover {
    text-align: center;
}

@media (max-width: 1279px) {
    .xl\:hidden {
        display: none;
    }
}

@media (max-width: 1023px) {
    .lg\:block {
        display: block;
    }
}

@media (max-width: 767px) {
    .sm\:underline {
        text-decoration-line: underline;
    }
}

@media (prefers-color-scheme: dark) {
    @media (max-width: 1023px) {
        .dark\:lg\:hover\:\[paint-order\:markers\]:hover {
            paint-order: markers;
        }
    }
}

.hover\:font-bold:hover {
    font-weight: 700;
}

.before\:hover\:text-center:hover::before {
    content: var(--tw-content);
    text-align: center;
}

.hover\:before\:text-center:hover::before {
    content: var(--tw-content);
    text-align: center;
}

.focus\:hover\:text-center:hover:focus {
    text-align: center;
}

.hover\:focus\:text-center:focus:hover {
    text-align: center;
}

@media (max-width: 1279px) {
    .xl\:hidden {
        display: none;
    }
}

@media (max-width: 1023px) {
    .lg\:block {
        display: block;
    }
}

@media (max-width: 767px) {
    .sm\:underline {
        text-decoration-line: underline;
    }
}

@media (prefers-color-scheme: dark) {
    @media (max-width: 1023px) {
        .dark\:lg\:hover\:\[paint-order\:markers\]:hover {
            paint-order: markers;
        }
    }
}