@charset "UTF-8";
html {
    font-size: 16px;
}

body {
    color: #333;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2;
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
    /*   pointer-events: none; */
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
    margin: 0;
}

/* Set core body defaults */
body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
    list-style: none;
    padding: 0;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

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

/* Make images easier to work with */
/* Natural flow and rhythm in articles by default */
article > * + * {
    margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
    font: inherit;
}

/* フォームリセット */
/*input,*/
button,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none;
}

textarea {
    resize: vertical;
}

input[type="checkbox"],
input[type="radio"] {
    /*display: none;*/
}

input[type="submit"],
input[type="button"],
label,
button,
select {
    cursor: pointer;
}

select::-ms-expand {
    display: none;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
.l-sec {
    padding: 3.75rem 0 5rem;
}
.l-sec01 {
    padding: 3.5rem 0 6.875rem;
}

.c-btn {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-top: 5rem;
}

.c-btn__allShowLink {
    background-color: #004697;
    border-radius: 100vh;
    display: block;
    max-width: 25rem;
    padding: 1.25rem 0;
    text-align: center;
    width: 100%;
}
.c-btn__allShowTitle {
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
    position: relative;
}
.c-btn__allShowTitle::after {
    background: url(img/custom-top/icon_arrow02.webp) center center/contain no-repeat;
    content: "";
    height: 1.5rem;
    left: 90%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.3s ease;
    width: 1.5rem;
}
.c-btn__allShowTitle:hover::after {
    transform: translate(-30%, -50%);
}

.c-cat {
    background-color: #004697;
    color: #fff;
    display: inline-block;
    font-size: 0.75rem;
    min-width: 6.25rem;
    padding: 0.25rem 0.625rem;
    text-align: center;
}

.c-column2 {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: repeat(2, 1fr);
}

.c-column2--gap60 {
    gap: 3.75rem;
}

.c-column3 {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: repeat(3, 1fr);
}

.c-column4 {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: repeat(4, 1fr);
}

.c-headline1__main {
    border-left: 2px solid #004697;
    font-size: 1.875rem;
    padding-left: 1.875rem;
    text-align: center;
}

.c-headline1__sub {
    font-size: 1rem;
    margin-top: 0.875rem;
}

.c-hoverRun {
    background-image: linear-gradient(90deg, #000, #000);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 0 1px;
    color: #000;
    display: inline;
    text-decoration: none;
    transition: background-size 0.5s;
}
.c-hoverUnderline {
    display: inline-block;
    position: relative;
}

.c-hoverUnderline::after {
    background: #000;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    opacity: 0;
    position: absolute;
    transition: opacity 0.5s ease-in-out;
    width: 100%;
}
.c-hoverUnderline {
    display: inline-block;
    position: relative;
}

.c-hoverUnderline::after {
    background: #000;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    opacity: 0;
    position: absolute;
    transition: opacity 0.3s ease-in-out;
    width: 100%;
}
.c-imgHover {
    position: relative;
}

.c-imgHover img {
    transition: 0.5s opacity;
    width: 2.25rem;
}

.c-imgHover img:nth-of-type(2) {
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: 0.5s opacity;
}
.c-imgZoom {
    overflow: hidden;
    position: relative;
}
.c-imgZoom img {
    -o-object-fit: cover;
    object-fit: cover;
    transition: transform 0.8s;
}
.c-link {
    line-height: 1;
    position: relative;
}

.c-link::after {
    background: url(img/custom-top/common/link.svg) center center/contain no-repeat;
    content: "";
    height: 0.625rem;
    position: absolute;
    right: -0.9375rem;
    top: 0.3em;
    width: 0.625rem;
}

.c-marker {
    background: linear-gradient(transparent 70%, #fcf65f 0%);
    display: inline;
}

.c-tag {
    border: 1px solid #d9d9d9;
    color: #000;
    display: inline-block;
    font-size: 0.875rem;
    padding: 0.375rem 0.5rem;
}

.c-title__sub {
    color: #004697;
    font-family: "Red Hat Display", serif;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.1;
    padding-left: 1.5rem;
    position: relative;
}
.c-title__sub::before {
    background: url(img/custom-top/icon_check.webp) center center/contain no-repeat;
    content: "";
    height: 1.25rem;
    left: 0;
    position: absolute;
    top: -0.2rem;
    width: 1.25rem;
}

.c-title__main {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.25rem;
    font-weight: 500;
    line-height: 1.4;
    margin-top: 1rem;
    color: #333;
}

.c-title--white {
    color: #fff;
}

.c-underBar {
    display: inline-block;
    position: relative;
}
.c-underBar::before {
    background-color: #333;
    bottom: 0;
    content: "";
    height: 1px;
    left: 50%;
    opacity: 1;
    position: absolute;
    transform: translateX(-50%);
    transition: 0.5s;
    width: 100%;
}
.free-consult {
    letter-spacing: 0.05em;
    padding-bottom: 175px;
}

.free-consult * {
    font-size: inherit;
}

.free-consult__inner {
    margin: 0 auto;
    max-width: 1220px;
    padding: 0 50px;
    width: 100%;
}

.free-consult .free-consult__title {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 61px;
    text-align: center;
}

.free-consult__container {
    -moz-column-gap: 40px;
    column-gap: 40px;
    display: flex;
    margin-top: 114px;
}

.free-consult__overview {
    width: 46.5%;
}

.free-consult .free-consult__messages {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    text-align: left;
}
.free-consult .free-consult__messages p {
    line-height: 1.8;
    margin: 0;
}

.free-consult .worries {
    background-color: #f5f8fa;
    margin-top: 43px;
    padding: 49px 37px 53px;
}

.free-consult .worries__ttl {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    /* font-size: 1.9696969697vw; */
    font-size: 1.625rem;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.5;
}
.free-consult .worries__items {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    /* font-size: 1.3636363636vw; */
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 2;
    margin: 31px auto 0;
    padding-left: 2.5rem;
}

.free-consult .worries__item {
    list-style: disc;
    position: relative;
    text-align: left;
}

.free-consult .worries__item::marker {
    font-size: 1.3em;
}

.free-consult .free-consult__description {
    border: 1px solid #003978;
    color: #003978;
    letter-spacing: 0;
    line-height: 1.5;
    margin-top: 21px;
    padding: 38px 28px;
    text-align: left;
}

.free-consult .free-consult__description-txt {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    /* font-size: 1.3636363636vw; */
    font-size: 1.125rem;
    font-weight: 400;
    margin: 1.125rem 0;
}

.free-consult .free-consult__achievements {
    margin-top: 23px;
}

.free-consult .achievements__items {
    -moz-column-gap: 5px;
    column-gap: 5px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.free-consult .achievements__item {
    align-items: center;
    background-color: #f5f8fa;
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
    padding: 36px 10px 29px;
    position: relative;
    text-align: center;
}

.free-consult .achievements__item::before {
    border-bottom: 20px solid transparent;
    border-left: 20px solid #003978; /* 三角形の色 */
    content: "";
    height: 0;
    left: 0;
    position: absolute;
    top: 0;
    width: 0;
}

.free-consult .achievements__item-image {
    align-items: center;
    display: flex;
    flex-direction: column;
}

.free-consult .achievements__item-img {
    -o-object-fit: cover;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.achievements__item-img--global {
    aspect-ratio: 1/1;
    max-width: 42px;
}

.achievements__item-img--comp-sup {
    aspect-ratio: 52/36;
    max-width: 52px;
}

.achievements__item-img--service {
    aspect-ratio: 32/40;
    max-width: 32px;
}

.achievements__item-ttl {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    /* font-size: 1.2121212121vw; */
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
    margin: 24px 0 0;
}

.achievements__item-txt {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    /* font-size: 1.3636363636vw; */
    font-size: 1.125rem;
    font-weight: 700;
    margin: 0;
}

.free-consult__form {
    background-color: #f9f9f9;
    border: 1px solid #dbdbdb;
/*     padding: 57px 40px 0; */
    padding: 57px 40px 30px;
    width: 50%;
}
.free-consult__form-title {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.625rem;
    font-weight: bold;
    margin: 0;
    text-align: center;
}

.free-consult__form-subtitle {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5;
    margin: 33px 0 45px;
    text-align: left;
}

.p-banner {
    background-color: #004697;
}

.p-banner__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-banner__container {
    padding: 2rem 0;
}

.p-banner__title {
    color: #fff;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
}

.p-banner__point {
    color: #fad200;
    display: inline;
    font-size: 1.25rem;
    font-weight: bold;
}

.p-banner__badgeWrap {
    align-items: center;
    display: flex;
    gap: 7.875rem;
    justify-content: center;
    margin-top: 2rem;
}

.p-banner__badge {
    position: relative;
    text-align: center;
}

.p-banner__badge--sp {
    margin-left: auto;
    margin-right: auto;
}

.p-banner__badge--career {
    width: 13.125rem;
}
.p-banner__badge--career::before {
    background: url(img/custom-top/icon_leaf01.webp) center center/contain no-repeat;
    content: "";
    height: 5rem;
    left: -3rem;
    position: absolute;
    top: 0;
    width: 1.9375rem;
}
.p-banner__badge--career::after {
    background: url(img/custom-top/icon_leaf02.webp) center center/contain no-repeat;
    content: "";
    height: 5rem;
    position: absolute;
    right: -3rem;
    top: 0;
    width: 1.9375rem;
}

.p-banner__badge--achievement {
    width: 16.875rem;
}
.p-banner__badge--achievement::before {
    background: url(img/custom-top/icon_leaf01.webp) center center/contain no-repeat;
    content: "";
    height: 5rem;
    left: -3rem;
    position: absolute;
    top: 0;
    width: 1.9375rem;
}
.p-banner__badge--achievement::after {
    background: url(img/custom-top/icon_leaf02.webp) center center/contain no-repeat;
    content: "";
    height: 5rem;
    position: absolute;
    right: -3rem;
    top: 0;
    width: 1.9375rem;
}

.p-banner__badge--from {
    width: 9.375rem;
}
.p-banner__badge--from::before {
    background: url(img/custom-top/icon_leaf01.webp) center center/contain no-repeat;
    content: "";
    height: 5rem;
    left: -3rem;
    position: absolute;
    top: -0.3125rem;
    width: 1.9375rem;
}
.p-banner__badge--from::after {
    background: url(img/custom-top/icon_leaf02.webp) center center/contain no-repeat;
    content: "";
    height: 5rem;
    position: absolute;
    right: -3rem;
    top: -0.3125rem;
    width: 1.9375rem;
}

.p-banner__badgeValue.p-banner__badge--fromValue {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.5rem;
    line-height: 1.6;
}

.p-banner__badge--fromInfo {
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.6;
}

.p-banner__badgeInfo {
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
}

.p-banner__badgeMain {
    margin-top: 0.25rem;
}

.p-banner__badgeValue {
    font-family: "Red Hat Display", serif;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
}

.p-banner_badgeValue--ml8 {
    margin-left: 0.5rem;
}

.p-banner__badgeUnit {
    font-size: 1rem;
    font-weight: bold;
    line-height: 1;
}

.p-banner__badgeBlock02 {
    align-items: center;
    display: flex;
    justify-content: center;
    line-height: 1;
    margin-top: 1rem;
}

.p-btn__btnWrap {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: center;
    width: 100%;
}

.p-btn__btnDownload,
.p-btn__btnContact {
    width: 50%;
}

.p-btn__btnDownload {
    position: relative;
}

.p-btn__btnBox {
    align-items: center;
    background-color: #be9200;
    border-radius: 100vh;
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    padding: 1rem 2rem;
    text-align: center;
}
.p-btn__btnBox img {
    -o-object-fit: cover;
    aspect-ratio: 16/16;
    height: auto;
    max-width: 1rem;
    object-fit: cover;
    width: 100%;
}

.p-btn__image img {
    -o-object-fit: cover;
    aspect-ratio: 16/16;
    height: auto;
    max-width: 1rem;
    object-fit: cover;
    width: 100%;
}

.p-btn__btnTitle {
    color: #fff;
    font-size: 0.75rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.6;
}

.p-btn__btnContact {
    border-left: 1px solid #917000;
    position: relative;
}
.p-contact {
    background-color: #004697;
    padding: 5rem 0;
}

.p-contact .p-contact__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-bottom: 0;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-contact__title {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
}

.p-contact__description {
    color: #fff;
    font-weight: 500;
    line-height: 2;
    margin-top: 3rem;
    text-align: center;
    font-size: 20px;
}
.p-contact__description__notice {
    text-decoration: underline;
}
.p-contact__description .marker {
    background: linear-gradient(transparent 80%, #be9200 80%);
}
.p-contact__contactBlock {
    align-items: center;
    background-color: #fff;
    border-radius: 0.5rem;
    display: flex;
    gap: 8rem;
    justify-content: center;
    margin-top: 2rem;
}

.p-contact__contactBtnWrap,
.p-contact__telWrapper {
    max-width: 27.75rem;
    padding: 3rem 0;
    text-align: center;
    width: 100%;
}

.p-contact__contactBtnWrap {
    position: relative;
}
.p-contact__contactBtnWrap::after {
    background-color: #cbd5e1;
    content: "";
    height: 100%;
    left: 100%;
    margin-left: 4rem;
    position: absolute;
    top: 0;
    transform: translate(50%, 0);
    width: 0.0625rem;
}

.p-contact__contactTitle {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.8;
}

.p-contact__contactTitle--secondary {
    color: #be9200;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.8;
}

.p-contact__contactBtnLink {
    align-items: center;
    background-color: #be9200;
    border-radius: 100vh;
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    margin-top: 0.5rem;
    padding: 1.25rem 0;
    font-size: 1.275rem;
}
.p-contact__contactBtnLink img {
    -o-object-fit: cover;
    aspect-ratio: 16/16;
    height: auto;
    max-width: 1rem;
    object-fit: cover;
    width: 100%;
}
.p-contact__contactBtnLink:hover {
    opacity: 0.8;
    transition: 0.5s;
}

.p-contact__contactBtnLabel {
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
}

.p-contact__telBody {
    margin-left: auto;
    margin-right: auto;
    max-width: 21.6875rem;
    width: 100%;
}

.p-contact__tel {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    justify-content: center;
}
.p-contact__tel img {
    -o-object-fit: cover;
    aspect-ratio: 36/36;
    height: auto;
    max-width: 2.25rem;
    object-fit: cover;
    width: 100%;
}

.p-contact__phoneNumber {
    color: #be9200;
    font-family: "Red Hat Display", serif;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
}

.p-contact__telInfo {
    margin-top: 0.5rem;
}

.p-contact__telText {
    color: #475569;
    display: block;
    font-size: 0.875rem;
    line-height: 1.8;
}

.p-contact__downloadBlock {
    align-items: center;
    background-color: rgba(255, 255, 255, 0.1);
    display: flex;
    justify-content: space-between;
    margin-top: 1.5rem;
    padding: 1.5rem 2rem;
}

.p-contact__downloadBlockText {
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 2;
    max-width: 41.125rem;
    width: 100%;
}

.p-contact__downloadBtnLink {
    align-items: center;
    background-color: #fff;
    border-radius: 100vh;
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    padding: 1rem 1.5rem;
}
.p-contact__downloadBtnLink img {
    -o-object-fit: cover;
    aspect-ratio: 16/16;
    height: auto;
    max-width: 1rem;
    object-fit: cover;
    width: 100%;
}
.p-contact__downloadBtnLabel {
    color: #333;
    font-size: 0.875rem;
    font-weight: bold;
    line-height: 1.6;
}

.p-contact__downloadBtnBadge {
    background-color: #be9200;
    border-radius: 0.25rem;
    color: #fff;
    font-size: 0.625rem;
    font-weight: bold;
    line-height: 1.6;
    padding: 0.125rem 0.75rem;
    text-align: center;
}

.p-copyright {
    align-items: center;
    background-color: #192a51;
    border-top: 1px solid #64748b;
    color: #cbd5e1;
    display: flex;
    justify-content: space-between;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
}

.p-copyright__txt {
    font-size: 0.6875rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.6;
    padding-block: 1.5rem;
}

.p-copyright__txt a {
    color: #cbd5e1;
}

.p-copyright__pagetop-link {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-family: "Red Hat Display", serif;
    font-size: 0.875rem;
    font-weight: bold;
    gap: 0.25rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
}

.p-copyright__pagetop-link img {
    -o-object-fit: cover;
    aspect-ratio: 24/24;
    height: auto;
    max-width: 1.5rem;
    object-fit: cover;
    rotate: -90deg;
    width: 100%;
}
/* 無料資料ダウンロード */
.free-download {
    line-height: 1.5;
    padding-bottom: 175px;
}

.free-download__inner {
    margin: 0 auto;
    max-width: 1220px;
    padding: 0 50px;
    width: 100%;
}
.free-download .free-download__title {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.5rem;
    font-weight: bold;
    margin-top: 61px;
    text-align: center;
}
.free-download__container {
    -moz-column-gap: 40px;
    column-gap: 40px;
    display: flex;
    margin-top: 114px;
}
.free-download__overview {
    letter-spacing: 0;
    width: 46.5%;
}
.free-download__ttl {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.625rem;
    font-weight: bold;
    margin-bottom: 1.625rem;
    margin-top: 0;
    text-align: left;
}
.free-download .free-download__messages {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    text-align: left;
}
.free-download .free-download__messages p {
    line-height: 1.8;
    margin: 0;
}

.free-download .worries {
    background-color: #f5f8fa;
    margin-top: 43px;
    padding: 49px 37px 53px;
}
.free-download .worries__ttl {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    /* font-size: 1.9696969697vw; */
    font-size: 1.625rem;
    font-weight: bold;
    margin: 0;
}
.free-download .worries__items {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    /* font-size: 1.3636363636vw; */
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 2;
    margin: 31px auto 0;
    /* padding: 0 0 0 37px; */
    padding-left: 2.5rem;
}
.free-download .worries__item {
    list-style: disc;
    position: relative;
    text-align: left;
}

.free-download .worries__item p {
    margin: 0;
}

.free-download .worries__item::marker {
    font-size: 1.3em;
}

.free-download .free-download__description {
    border: 1px solid #003978;
    color: #003978;
    margin-top: 21px;
    padding: 38px 28px;
    text-align: left;
}

.free-download .free-download__description-txt {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    /* font-size: 1.3636363636vw; */
    font-size: 1.125rem;
    font-weight: 400;
}
.free-download .free-download__achievements {
    margin-top: 23px;
}

.free-download .achievements__items {
    -moz-column-gap: 5px;
    column-gap: 5px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.free-download .achievements__item {
    align-items: center;
    background-color: #f5f8fa;
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
    padding: 36px 10px 29px;
    position: relative;
    text-align: center;
}

.free-download .achievements__item::before {
    border-bottom: 20px solid transparent;
    border-left: 20px solid #003978; /* 三角形の色 */
    content: "";
    height: 0;
    left: 0;
    position: absolute;
    top: 0;
    width: 0;
}

.free-download .achievements__item-image {
    align-items: center;
    display: flex;
    flex-direction: column;
}

.free-download .achievements__item-img {
    -o-object-fit: cover;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.free-download__materials {
    margin-top: 58px;
}

.free-download__form {
    background-color: #f9f9f9;
    border: 1px solid #dbdbdb;
/*     padding: 57px 40px 0; */
    padding: 57px 40px 30px;
    width: 50%;
}
.free-download__form-title {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.625rem;
    font-weight: bold;
    margin: 0;
    text-align: center;
}
.free-download__form-subtitle {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.125rem;
    font-weight: 400;
    margin: 33px 0 45px;
    text-align: center;
}
.p-drawer {
    background-color: #192a51;
    height: calc(100vh - 60px);
    position: fixed;
    right: 0;
    top: 60px;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    width: 100vw;
    z-index: 9999;
}
.p-drawer.is-open {
    transform: translateX(0);
}

.p-drawer__inner {
    height: 100%;
    overflow-y: auto;
}

.p-drawer__logo {
    align-items: center;
    display: flex;
    justify-content: space-between;
}
.p-drawer__logo img {
    height: 2rem;
}
.p-drawer__logo .p-drawer__telBtn {
    align-items: center;
    background-color: #c39f2e;
    border-radius: 0.25rem;
    color: #fff;
    display: flex;
    font-size: 0.625rem;
    font-weight: bold;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
}
.p-drawer__logo .p-drawer__telBtn img {
    height: 1rem;
    width: 1rem;
}

.p-drawer__menu {
    list-style: none;
    padding: 2rem 1.75rem 6rem;
}
.p-drawer__menu img {
    -o-object-fit: cover;
    aspect-ratio: 24/24;
    height: auto;
    max-width: 1.5rem;
    object-fit: cover;
    width: 100%;
}
.p-drawer__menu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.p-drawer__menu li a,
.p-drawer__menu li .p-drawer__toggle {
    align-items: center;
    background: none;
    border: none;
    color: #fff;
    display: flex;
    font-weight: bold;
    gap: 0.625rem;
    justify-content: flex-start;
    padding: 0.75rem 0;
    text-align: left;
    width: 100%;
}
.p-drawer__menu .p-drawer__submenu {
    background-color: #003978;
    display: none;
    padding-left: 0;
}
.p-drawer__menu .p-drawer__submenu li {
    margin-top: 0rem;
}
.p-drawer__menu .p-drawer__submenu li a {
    font-size: 0.8125rem;
    font-weight: normal;
    padding: 0.625rem 0 0.625rem 0.75rem;
}
.p-drawer__menu .has-child.open > .p-drawer__submenu {
    display: block;
}

.p-drawer__itemWrap {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.p-drawer__plus {
    background-color: #003978;
    border: none;
    cursor: pointer;
    height: 3.4375rem;
    position: relative;
    width: 3.4375rem;
}
.p-drawer__plus::before,
.p-drawer__plus::after {
    background-color: #fff;
    border-radius: 0.0625rem;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform-origin: center;
    transition:
        transform 0.4s ease,
        opacity 0.4s ease;
}
.p-drawer__plus::before {
    height: 0.125rem;
    transform: translate(-50%, -50%) rotate(0deg);
    width: 1.25rem;
}
.p-drawer__plus::after {
    height: 1.25rem;
    opacity: 1;
    transform: translate(-50%, -50%) rotate(0deg);
    width: 0.125rem;
}

.has-child.is-open > .p-drawer__itemWrap > .p-drawer__plus::before {
    opacity: 0;
}
.has-child.is-open > .p-drawer__itemWrap > .p-drawer__plus::after {
    transform: translate(50%, -50%) rotate(90deg);
}

.p-drawer__submenu {
    background-color: #1e40af;
    display: none;
    padding-left: 1rem;
}

.has-child.is-open > .p-drawer__submenu {
    display: block;
}

.p-drawer__menu li.is-nested {
    border-bottom: none;
    padding-left: 1.5rem;
}
.p-drawer__menu li.is-nested a:first-child {
    border-left: 1px solid #192a51;
    border-top: 1px solid #192a51;
}
.p-drawer__menu li.is-nested li a {
    align-items: center;
    color: #fff;
    display: flex;
    font-size: 0.8125rem;
    font-weight: normal;
    gap: 0.5rem;
    padding: 0.625rem 0;
}

.p-drawer__menu li.has-child.is-open {
    border-bottom: 1px solid #192a51;
}

.p-drawer__submenu .has-child .p-drawer__toggle {
    font-size: 0.8125rem;
    font-weight: 400;
    padding-left: 0.75rem;
}

.p-faq {
    padding: 6rem 0;
}

.p-faq__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

summary {
    cursor: pointer;
    list-style: none;
}
summary::-webkit-details-marker {
    display: none;
}

.p-faq__items {
    border-top: 1px solid #cbd5e1;
    margin-top: 4rem;
}

.p-faq__item {
    border-bottom: 1px solid #cbd5e1;
    font-size: 1rem;
    padding-block: 1.875rem 1.875rem;
    position: relative;
}

.p-faq__question {
    padding-right: 3.125rem;
    position: relative;
}
.p-faq__question .p-faq__icon {
    background-color: #0f3e85;
    border-radius: 50%;
    height: 2rem;
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2rem;
    z-index: 0;
}
.p-faq__question::before,
.p-faq__question::after {
    background-color: #fff;
    border-radius: 0.0625rem;
    content: "";
    position: absolute;
    right: 2.25rem;
    top: 50%;
    transform: translate(50%, -50%);
    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
    z-index: 1;
}
.p-faq__question::before {
    height: 0.125rem;
    width: 0.75rem;
}
.p-faq__question::after {
    height: 0.75rem;
    transform: translate(50%, -50%) rotate(0deg);
    width: 0.125rem;
}

.js-details.is-opened .p-faq__question::before {
    opacity: 0;
}
.js-details.is-opened .p-faq__question::after {
    transform: translate(50%, -50%) rotate(90deg);
}

.p-faq__answer {
    margin-top: 0.75rem;
}

.p-faq__answer-text {
    line-height: 2;
    padding-left: 3.125rem;
    position: relative;
}
.p-faq__answer-text::before {
    align-items: center;
    background: #faf6e7;
    border-radius: 0.5rem;
    color: #be9200;
    content: "A";
    display: flex;
    font-size: 1.125rem;
    font-weight: bold;
    height: 2.5rem;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 2.5rem;
}

.p-faq__answer-link {
    align-items: center;
    color: #020617;
    display: inline-flex;
    gap: 0.5rem;
    line-height: 1.6;
    margin-top: 0.75rem;
    padding-left: 3.125rem;
    position: relative; /* ← 追加 */
    text-decoration: underline;
    text-underline-offset: 0.625rem;
}
.p-faq__answer-link::after {
    background: url("img/custom-top/icon_arrow01.webp") center/contain no-repeat;
    content: "";
    display: inline-block;
    height: 1.6875rem;
    transition: transform 0.3s ease; /* ← 追加 (ふわっと動かす) */
    width: 1.6875rem;
}
.p-faq__answer-link:hover::after {
    transform: translateX(5px); /* ← ホバーしたら右へ5px動かす */
}

a.p-faq__answer-link {
    color: #020617;
}

.p-faq__question-wrap {
    align-items: center;
    display: flex;
    gap: 0.75rem;
}

.p-faq__label {
    align-items: center;
    background: #f1f5f9;
    border-radius: 0.5rem;
    color: #0f3e85;
    display: flex;
    flex-shrink: 0;
    font-size: 1rem;
    font-weight: bold;
    height: 2.5rem;
    justify-content: center;
    min-width: 2.5rem;
}

.p-faq__question-text {
    color: #020617;
    font-size: 1rem;
    line-height: 1.6;
    word-break: break-word;
}
.p-footer {
    background-color: #192a51;
    color: #fff;
}

.p-footer__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 87.5rem;
    padding: 6rem 0;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-footer__container {
    display: grid;
    gap: 6rem;
    grid-template-columns: repeat(3, 1fr);
    text-align: left;
}

.p-footer__logoImage img {
    -o-object-fit: cover;
    aspect-ratio: 163/45;
    height: auto;
    max-width: 10.1875rem;
    object-fit: cover;
    width: 100%;
}

.p-footer__offiece {
    color: #fff;
    margin-top: 3rem;
}

.p-footer__officeLocation {
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.64;
}

.p-footer__officeAddress {
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.64;
    margin-top: 0.5rem;
}

.p-footer__officeTel {
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.64;
}

.p-footer__menu {
    list-style: none;
}

.p-footer__menu img {
    -o-object-fit: cover;
    aspect-ratio: 24/24;
    height: auto;
    max-width: 1.5rem;
    object-fit: cover;
    width: 100%;
}

.p-footer__menu li a,
.p-footer__menu li .p-footer__toggle {
    align-items: center;
    background: none;
    color: #fff;
    display: flex;
    font-weight: bold;
    justify-content: flex-start;
    padding: 1.5rem 0;
    text-align: left;
    width: 100%;
}

.p-footer__menu .p-footer__submenu {
    display: block;
    margin-top: 1.2rem;
    padding-left: 0;
}

.p-footer__menu .p-footer__submenu li {
    margin-top: 0rem;
}

.p-footer__menu .p-footer__submenu li a {
    color: #cbd5e1;
    font-size: 0.8125rem;
    font-weight: 400;
    padding: 0.625rem 0 0.625rem 0.75rem;
    position: relative;
}

.p-footer__menu .p-footer__submenu li a::before {
    background-color: #fff;
    content: "";
    height: 0.0625rem;
    left: 0;
    position: absolute;
    top: calc(0.5lh + 0.5rem);
    width: 0.375rem;
}

.p-footer__menu .has-child.open > .p-footer__submenu {
    display: block;
}

.p-footer__itemWrap {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.p-footer__plus {
    background-color: #003978;
    border: none;
    cursor: pointer;
    height: 3.4375rem;
    position: relative;
    width: 3.4375rem;
}

.p-footer__plus::before,
.p-footer__plus::after {
    background-color: #fff;
    border-radius: 0.0625rem;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform-origin: center;
    transition:
        transform 0.4s ease,
        opacity 0.4s ease;
}

.p-footer__plus::before {
    height: 0.125rem;
    transform: translate(-50%, -50%) rotate(0deg);
    width: 1.25rem;
}

.p-footer__plus::after {
    height: 1.25rem;
    opacity: 1;
    transform: translate(-50%, -50%) rotate(0deg);
    width: 0.125rem;
}

.has-child.is-open > .p-footer__itemWrap > .p-footer__plus::before {
    opacity: 0;
}

.has-child.is-open > .p-footer__itemWrap > .p-footer__plus::after {
    transform: translate(50%, -50%) rotate(90deg);
}

.p-footer__submenu {
    display: block;
    padding-left: 1rem;
}

.has-child.is-open > .p-footer__submenu {
    display: block;
}

.p-footer__menu li.is-nested {
    border-bottom: none;
    padding-left: 1.5rem;
}

.p-footer__menu li.is-nested a:first-child {
    border-left: 1px solid #192a51;
    border-top: 1px solid #192a51;
}

.p-footer__menu li.is-nested li a {
    align-items: center;
    color: #fff;
    display: flex;
    font-size: 0.8125rem;
    font-weight: normal;
    gap: 0.5rem;
    padding: 0.625rem 0;
}

.p-footer__menu li.has-child.is-open {
    border-bottom: 1px solid #192a51;
}

.p-footer__submenu .has-child .p-footer__toggle {
    padding-left: 0.75rem;
}

.p-footer__menu li a {
    padding: 0;
}

.p-footer__toggle {
    border-bottom: 1px solid #64748b;
}

.p-footer__menu li .p-footer__submenu li .p-footer__submenu {
    margin-left: 1.5rem;
}

.p-footer__copyright {
    align-items: center;
    background-color: #192a51;
    border-top: 1px solid #64748b;
    color: #cbd5e1;
    display: flex;
    justify-content: space-between;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
}

.p-footer__copyrightTxt {
    font-size: 0.6875rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.6;
    padding-block: 1.5rem;
}

.p-footer__copyrightTxt a {
    color: #cbd5e1;
}

.p-footer__pagetop-link {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-family: "Red Hat Display", serif;
    font-size: 0.875rem;
    font-weight: bold;
    gap: 0.25rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
}

.p-footer__pagetop-link img {
    -o-object-fit: cover;
    aspect-ratio: 24/24;
    height: auto;
    max-width: 1.5rem;
    object-fit: cover;
    rotate: -90deg;
    width: 100%;
}
.p-form {
    line-height: 1.5;
}
.p-form p {
    margin-bottom: 0.875rem;
    margin-top: 0.875rem;
}

.p-form__list {
    padding: 0;
}

.p-form__item {
    list-style: none;
}

.p-form__item:not(:first-child) {
    margin-top: 33px;
}

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

.p-form__title p {
    margin: 0;
}

.p-form__title label {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.125rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.p-form__title span {
    background-color: #ff0000;
    color: #fff;
    display: inline-block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.75rem;
    font-weight: bold;
    margin-left: 15px;
    padding: 2px 14px;
}

.p-form__title--type02 {
    justify-content: space-between;
}
.p-form__title--type03 {
    flex-direction: column;
}

.p-form__title--aiStart {
    align-items: flex-start;
}

.p-form__title--sm {
    font-size: 0.875rem;
}

.p-form__input {
    flex: 1;
}

.p-formInput input::-moz-placeholder,
.p-formTextarea textarea::-moz-placeholder {
    color: lightgray;
    font-size: 16px;
}

.p-formInput input::-moz-placeholder,
.p-formTextarea textarea::-moz-placeholder {
    color: lightgray;
    font-size: 16px;
}

.p-formInput input::placeholder,
.p-formTextarea textarea::placeholder {
    color: lightgray;
    font-size: 16px;
}

.p-formInput input {
    background-color: #f5f8fa;
    border: 1px solid #ccc;
    font-family: "Noto Sans JP", sans-serif;
    height: 60px;
    padding: 8px;
    width: 100%;
}
.p-formInput input:focus,
.p-formTextarea textarea:focus {
    outline: 2px solid #b5b5b5;
}

.p-formInput--sm input {
    max-width: 100%;
    width: 350px;
}
.p-formInput__post {
    align-items: center;
    display: flex;
    gap: 10px;
}

.p-formInput__post input {
    margin-left: auto;
    margin-right: auto;
    width: 320px;
}
.p-formInput__address {
    margin-top: 10px;
}

.p-formInput__address input {
    width: 70%;
}
.p-formInput--tel {
    align-items: center;
    display: flex;
    gap: 5px;
}

.p-formInput--tel > * {
    min-width: 0;
}

.p-formInput--tel input {
    max-width: 100%;
    width: 150px;
}

.p-formSelect select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #f5f8fa;
    border: 1px solid #b5b5b5;
    font-size: 16px;
    height: 60px;
    padding-left: 20px;
    width: 100%;
}
.p-formSelect select:focus {
    outline: 2px solid #b5b5b5;
}

.p-formSelect--selected select {
    color: #333;
}

.p-formDate__flex {
    align-items: center;
    display: flex;
    gap: 35px;
}
.p-formDate__flex + .p-formDate__flex {
    margin-top: 20px;
}

.p-formDate__label {
    font-size: 16px;
}
.p-form__dataBlockFlex {
    align-items: center;
    display: flex;
}

.p-form__dataBlockFlex + .p-form__dataBlockFlex {
    margin-top: 20px;
}

.p-form__dataBlockLabel {
    font-size: 16px;
    width: 80px;
}
.p-formCalendar {
    position: relative;
}

.p-formCalendar input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../images/common/calendar.svg) right 8px center/15px no-repeat;
    background-color: #fff;
    border: 1px solid #b5b5b5;
    border-radius: 0;
    color: lightgray;
    font-size: 16px;
    height: 60px;
    padding-left: 20px;
    padding-right: 5px;
    position: relative;
    width: 250px;
}
.p-formCalendar input::-webkit-calendar-picker-indicator {
    background: transparent;
    bottom: 0;
    color: transparent;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1;
}

@-moz-document url-prefix() {
    .p-formCalendar input {
        background: none;
    }
    .p-formCalendar::after {
        background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M13.5 2H13V1c0-.6-.4-1-1-1s-1 .4-1 1v1H5V1c0-.6-.4-1-1-1S3 .4 3 1v1h-.5C1.1 2 0 3.1 0 4.5v9C0 14.9 1.1 16 2.5 16h11c1.4 0 2.5-1.1 2.5-2.5v-9C16 3.1 14.9 2 13.5 2zm0 12.5h-11c-.6 0-1-.4-1-1V6h13v7.5c0 .6-.4 1-1 1z"></path></svg>')
            no-repeat center center/contain;
        content: "";
        display: block;
        height: 16px;
        pointer-events: none;
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-55%);
        width: 16px;
    }
}
.p-formCalendar input::-webkit-date-and-time-value {
    text-align: left;
}
.p-formCalendar input:focus {
    outline: 2px solid #b5b5b5;
}
.p-form__dataBlockDate input:not(.p-formDate__default) {
    color: #333;
}

.p-formNumber__txt {
    font-size: 16px;
}

.p-formNumber__flex {
    align-items: center;
    display: flex;
    gap: 30px;
    margin-top: 20px;
}
.p-formNumber__block {
    align-items: center;
    display: flex;
}

.p-formNumber__blockLabel01 {
    font-size: 16px;
    margin-right: 30px;
}
.p-formNumber__blockLabel01 {
    font-size: 16px;
}

.p-formNumber__blockInput {
    margin-right: 10px;
    width: 150px;
}
.p-formCheckbox input {
    display: none;
}

.p-formCheckbox .wpcf7-checkbox {
    align-items: baseline;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
    gap: 10px;
}

.p-formCheckbox .wpcf7-list-item {
    margin-left: 0;
}

.p-formCheckbox--vertical .wpcf7-checkbox {
    display: block;
}

.p-formCheckbox--vertical .wpcf7-list-item {
    display: block;
    margin: 0;
}

.p-formCheckbox--vertical .wpcf7-list-item + .wpcf7-list-item {
    margin-top: 20px;
}

.p-formCheckbox input + span {
    color: #003978;
    cursor: pointer;
    display: inline-block;
    font-size: 1.125rem;
    padding: 0 0 0 35px;
    position: relative;
    text-align: left;
    width: auto;
}
.p-formCheckbox input + span::before {
    background-color: #f5f8fa;
    border: 1px solid #bcbcbc;
    content: "";
    display: block;
    height: 26px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
}

.p-formCheckbox input + span::after {
    border-bottom: 3px solid white;
    border-right: 3px solid white;
    content: "";
    display: block;
    height: 13px;
    left: 9px;
    margin-top: -8px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 8px;
}

.p-formCheckbox input:checked + span::before {
    background-color: #0036ff;
}

.p-formCheckbox input:checked + span::after {
    opacity: 1;
}

.p-formRadio .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.p-formRadio--vertical .wpcf7-radio {
    color: #003978;
    display: block;
    font-weight: 700;
}

.p-formRadio .wpcf7-list-item {
    margin: 0;
}

.p-formRadio--vertical .wpcf7-list-item {
    display: block;
    margin: 0;
}

.p-formRadio--vertical .wpcf7-list-item + .wpcf7-list-item {
    margin-top: 10px;
}

.p-formRadio input + span {
    cursor: pointer;
    display: flex;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.125rem;
    font-weight: bold;
}
.p-formRadio input[type="radio"] {
    display: none;
}

.p-formRadio input + span::before {
    background: #fff;
    border: 1px solid #b5b5b5;
    border-radius: 100%;
    content: "";
    height: 20px;
    margin-bottom: auto;
    margin-right: 0.5em;
    margin-top: auto;
    transition: background-color 0.5s;
    width: 20px;
}

.p-formRadio input:checked + span::before {
    background-color: #fff;
    box-shadow: inset 0 0 0 5px #0036ff;
}

.p-formTextarea textarea {
    background-color: #f5f8fa;
    border: 1px solid #bcbcbc;
    border-radius: 0;
    font-size: 16px;
    min-height: 350px;
    padding-left: 20px;
    padding-top: 10px;
    width: 100%;
}
p.p-form__subtext {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    margin-top: 19px;
    text-align: left;
}

.p-form__privacy {
    color: #003978;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    margin-left: 35px;
    text-align: left;
}
.p-form__privacy a {
    line-height: 1;
    position: relative;
    text-decoration: none;
}

.p-form__privacy a::after {
    background-color: #003978; /* 下線の色 */
    bottom: -3px; /* 下線とテキストの間に隙間を作る */
    content: "";
    display: block;
    height: 1px; /* 下線の太さ */
    left: 0;
    position: absolute;
    width: 100%;
}

.p-form__acceptance {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    margin-top: 45px;
    text-align: left;
}
.p-form__acceptance .wpcf7-list-item .wpcf7-list-item-label {
    font-size: 0.875rem;
}

.p-form__submit {
    margin-top: 40px;
    text-align: center;
}
.p-formBtn input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #003978;
    border: none;
    border: none;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    padding: 20px 0;
    text-align: center;
    transition: opacity 0.5s;
    width: 100%;
}

.p-formBtn input:disabled {
    background-color: #eee;
    border-color: #eee;
    color: #fff;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #2c94de;
    font-size: 24px;
    padding: 15px 10px;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: red;
    font-size: 24px;
    padding: 15px 10px;
}
.wpcf7-spinner {
    display: none;
}

.wpcf7-not-valid-tip {
    color: red;
    display: block;
    font-size: 16px;
    font-weight: normal;
}

.wpcf7-form.hide_error_message .wpcf7-not-valid-tip {
    display: none;
}

.p-formValidation .wpcf7-not-valid-tip {
    display: none;
}

.p-formValidation__error {
    color: red;
    display: none;
    font-size: 16px;
    font-weight: normal;
    margin-top: 10px;
}

.wpcf7-form:not(.hide_error_message)
    .p-formValidation:has(.wpcf7-not-valid-tip)
    .p-formValidation__error {
    display: block;
}

.p-header {
    background-color: #fff;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 20;
}

.p-header__container {
    align-items: center;
    display: flex;
}

.p-header__logo {
    padding: 1.59375rem 0 1.59375rem 2rem;
}
.p-header__logo img {
    -o-object-fit: cover;
    aspect-ratio: 163/45;
    height: auto;
    max-width: 10.1875rem;
    object-fit: cover;
    width: 100%;
}

.p-header__block01 {
    align-items: center;
    display: flex;
    flex-grow: 1;
    flex-wrap: wrap-reverse;
    gap: 2rem;
    justify-content: flex-end;
}

.p-header__nav :is(.open-menu, .p-header__subList) {
    box-sizing: border-box;
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    width: 15.625rem;
    z-index: 1;
}

.p-header__list {
    align-items: center;
    display: flex;
    gap: 2rem;
    justify-content: center;
    position: relative;
}

.p-header__item {
    font-size: 0.875rem;
    font-weight: bold;
    line-height: 1.6;
}

.p-header__link {
    position: relative;
}
.p-header__link:hover::after {
    background-color: #192a51;
    bottom: -0.375rem;
    content: "";
    height: 0.1875rem;
    left: 0;
    position: absolute;
    transition: 0.5s;
    width: 100%;
}

.p-header__subItem {
    width: 100%;
}
.p-header__subItem:not(:first-of-type) {
    border-top: 1px rgba(255, 255, 255, 0.8) solid;
}

.p-header__nav .p-header__subList li > a {
    align-content: center;
    align-items: center;
    background-color: rgba(51, 51, 51, 0.8);
    color: #ffffff;
    display: flex;
    font-size: 0.75rem;
    justify-content: center;
    justify-content: flex-start;
    padding: 1rem 0.5rem;
    text-align: left;
    text-decoration: none;
    transition: ease 0.4s;
    width: 99.5%;
}
.p-header__nav .p-header__subList li > a:hover {
    background-color: rgba(200, 167, 56, 0.8);
}

.open-menu li .p-header__subList {
    left: 100%;
    top: 50%;
}

.open-menu li .p-header__subList a {
    background-color: rgba(112, 112, 112, 0.8);
}

.p-header__tel {
    align-items: center;
    display: flex;
    gap: 0.25rem;
    justify-content: center;
}
.p-header__tel img {
    -o-object-fit: cover;
    aspect-ratio: 20/20;
    height: auto;
    max-width: 1.25rem;
    object-fit: cover;
    width: 100%;
}

.p-header__phoneNumber {
    color: #be9200;
    font-family: "Red Hat Display", serif;
    font-size: 1.6875rem;
    font-weight: bold;
    line-height: 1;
}

.p-header__telText {
    color: #475569;
    display: block;
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1.8;
}

.p-header__btnWrap {
    align-items: center;
    display: flex;
    margin-left: 1.5rem;
    max-width: 17.5rem;
    width: 100%;
}

.p-header__contactBtn:hover,
.p-header__downloadBtn:hover {
    color: #fff;
    opacity: 0.8;
    transition: 0.5s;
}

.p-header__contactBtn {
    background-color: #004697;
    border-bottom-left-radius: 0.25rem;
    border-top-left-radius: 0.25rem;
    color: #fff;
    max-width: 8.125rem;
    text-align: center;
    width: 100%;
}

.p-header__contactWrap,
.p-header__downloadWrap {
    color: #fff;
    padding: 1rem 1.0625rem;
}

.p-header__contactTitle,
.p-header__downloadTitle {
    font-size: 0.8125rem;
    font-weight: 900;
    line-height: 1.6;
}

.p-header__contactSubTitle,
.p-header__downloadSubTitle {
    font-size: 0.625rem;
    font-weight: bold;
    line-height: 1.6;
    margin-top: 0.25rem;
}

.p-header__downloadBtn {
    background-color: #003978;
    border-bottom-right-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    color: #fff;
    max-width: 9.375rem;
    text-align: center;
    width: 100%;
}

.p-header__wrap {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.p-header__actions {
    display: flex;
    height: inherit;
    max-width: 7.5rem;
    width: 100%;
}

.p-header__telBtn,
.p-header__menuBtn {
    width: 50%;
}

.p-header__telBtn,
.p-header__menuBtn {
    align-items: center;
    color: #fff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    font-size: 0.625rem;
    font-weight: bold;
    height: 3.75rem;
    justify-content: flex-end;
    padding: 0.5rem 0.75rem;
    width: 3.75rem;
}

.p-header__telBtn {
    background-color: #c39f2e;
}
.p-header__telBtn img {
    -o-object-fit: cover;
    aspect-ratio: 24/24;
    height: auto;
    max-width: 1.5rem;
    object-fit: cover;
    width: 100%;
}

.p-header__menuBtn {
    background-color: #192a51;
}

.p-header__menuIcon {
    display: flex;
    flex-direction: column;
    gap: 0.1875rem;
}
.p-header__menuIcon span {
    background-color: #fff;
    height: 0.125rem;
    transform-origin: center;
    transition:
        transform 0.4s ease,
        opacity 0.4s ease;
    width: 1.5rem;
}

.is-open .p-header__menuIcon span:nth-child(1) {
    transform: translateY(0.3125rem) rotate(45deg);
}
.is-open .p-header__menuIcon span:nth-child(2) {
    opacity: 0;
}
.is-open .p-header__menuIcon span:nth-child(3) {
    transform: translateY(-0.3125rem) rotate(-45deg);
}

.p-header__menuLabel {
    margin-top: 0.25rem;
}

.p-header__container.u-sp {
    height: 3.75rem;
}

a.p-header__link {
    color: #333;
}

a.p-header__telBtn:hover,
a.p-header__telBtn:focus {
    color: #fff;
}

.p-hoge {
    color: blue;
    font-size: 6.25rem;
}

.p-hoge2 {
    color: pink;
    font-size: 1.875rem;
}

.p-info {
    background-color: #f1f5f9;
    padding: 6rem 0;
}

.p-info__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-info__categoryItems {
    align-items: center;
    display: flex;
    gap: 1rem;
    margin-top: 4rem;
}

.p-info__categoryItem {
    border: 1px solid #cbd5e1;
    border-radius: 100vh;
    padding: 0.3125rem 1.1875rem;
}

.p-info__categoryItem.is-active {
    background-color: #004697;
    color: #fff;
}

.p-info__categoryItemName {
    color: #333;
    font-size: 0.9375rem;
    line-height: 1.5;
}

.p-info__contentsItems {
    border-top: 1px solid #cbd5e1;
    margin-top: 4rem;
}

.p-info__contentsItem {
    border-bottom: 1px solid #cbd5e1;
    font-size: 1.125rem;
    padding: 2rem 0;
    position: relative;
    transition: opacity 0.3s ease;
}
.p-info__contentsItem::after {
    background: url(img/custom-top/icon_arrow03.webp) center center/contain no-repeat;
    content: "";
    height: 1.5rem;
    left: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-100%, -50%);
    transition: transform 0.3s ease;
    width: 1.5rem;
}
.p-info__contentsItem:hover::after {
    transform: translate(-80%, -50%);
}

.p-info__contentsLink {
    align-items: center;
    display: flex;
    gap: 3rem;
}

.p-info__contentsImages img {
    -o-object-fit: cover;
    aspect-ratio: 240/135;
    border-radius: 0.5rem;
    height: auto;
    max-width: 15rem;
    object-fit: cover;
    width: 100%;
}

.p-info__contentItemInfoWrap {
    max-width: 47rem;
    text-align: left;
    width: 100%;
}

.p-info__contentsItemInfo {
    align-items: center;
    display: flex;
    gap: 1rem;
}

.p-info__contentsItemInfoDate {
    color: #475569;
    font-family: "Red Hat Display", serif;
    font-size: 0.8125rem;
    line-height: 2;
}

.p-info__contentsItemInfoCategory {
    background-color: #004697;
    border-radius: 0.25rem;
    color: #fff;
    font-size: 0.75rem;
    font-weight: bold;
    letter-spacing: 0em;
    line-height: 1.6;
    padding: 0.25rem 1rem;
    text-align: center;
}

.p-info__contentsItemInfoText {
    color: #333;
    font-size: 1.125rem;
    line-height: 1.6;
    margin-top: 1rem;
}

.p-info__categoryItem.is-active .p-info__categoryItemName {
    color: #fff;
}

.p-media {
    display: flex;
    font-size: 1.25rem;
    justify-content: space-between;
    max-width: 100%;
}

.foo {
    font-size: 6.25rem;
}

.p-media__head {
    font-size: 1.875rem;
}

.p-media__txt {
    font-size: 1.25rem;
}

.p-media__img {
    width: 40%;
}

.p-media__body {
    width: 50%;
}

.p-modal {
    background: rgba(255, 255, 255, 0.7);
    display: none;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
}

.p-modal__block {
    background-color: #feaebb;
    border-radius: 0.625rem;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 27.5rem;
}

.p-modal__wrap {
    padding: 3.75rem 0 2.5rem;
    position: relative;
}

.p-mv {
    position: relative;
    width: 100%;
}
.p-mv__inner {
    height: 100%;
}

.p-mv__container {
    height: 100%;
}

.p-mv__sliderWrap {
    height: 100%;
}

.swiper-wrapper {
    height: 100%;
}
.p-mv__textBox {
    color: #fff;
    content: "";
    left: 50%;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%);
    /* width: 77.7777777778%; */
    max-width: 72rem;
    width: 100%;
    z-index: 1;
}

.p-mv__subTitle {
    /* font-size: 1.5rem; */
    font-size: max(18px, 1.5rem);
    font-weight: bold;
    line-height: 1.5;
}

.p-mv__title {
    font-size: min(4rem, 50px);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.25;
    margin-top: 0.5rem;
}

.p-mv__description {
    font-size: 0.9375rem;
    font-weight: bold;
    margin-top: 1.5rem;
}
.mv-cta {
    background: rgb(5 54 115 / 60%);
    /* max-width: 45rem; */
    max-width: max(400px, 45rem);
    margin: 1rem auto;
    padding: 1rem;
}

.mv-cta__tit {
    /* font-size: 1.6rem; */
    font-size: max(14px, 1.6rem);
    font-weight: bold;
}

.mv-cta__txt.--small {
    font-size: 0.875rem;
    text-decoration: underline;
}
.p-mv__btnWrap {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 1rem;
}

.p-mv__btnDownload {
    position: relative;
    width: 14.4375rem;
}
.p-mv__btnDownload::before {
    background: url(img/custom-top/icon_download01.webp) center center/contain no-repeat;
    content: "";
    height: 1rem;
    left: 1rem;
    position: absolute;
    top: calc(0.5lh + 0.4375rem);
    width: 1rem;
}

.p-mv__btnBox {
    background-color: #be9200;
    border-radius: 100vh;
    padding: 1rem 2rem;
    text-align: center;
}
.p-mv__linkTxtWrap a {
    border-bottom: 1px solid;
    display: inline-block;
    margin-bottom: 1rem;
    color: #fff;
    text-decoration: none;
}
.p-mv__linkTxtWrap a:hover {
    color: #fff;
    opacity: 0.6;
}

.p-mv__image img {
    -o-object-fit: contain;
    aspect-ratio: 16/16;
    height: auto;
    max-width: 1rem;
    object-fit: contain;
    width: 100%;
}

.p-mv__btnTitle {
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
    margin-left: 0.75rem;
}

.p-mv__btnContact {
    position: relative;
    width: auto;
}
.p-mv__btnContact::before {
    background: url(img/custom-top/icon_mail.webp) center center/contain no-repeat;
    content: "";
    height: 1rem;
    left: 1rem;
    position: absolute;
    top: calc(0.5lh + 0.4375rem);
    width: 1rem;
}
.p-mv__banner {
    background-color: #004697;
}

.p-mv__bannerInner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-mv__bannerContainer {
    padding: 2rem 0;
}

.p-mv__bannerTitle {
    color: #fff;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
}

.p-mv__bannerPoint {
    color: #fad200;
}

.p-mv__bannerBadgeWrap {
    align-items: center;
    display: flex;
    gap: 7.875rem;
    justify-content: center;
    margin-top: 2rem;
}

.p-mv__bannerBadge {
    position: relative;
    text-align: center;
}
.p-mv__bannerBadge::before {
    background: url(img/custom-top/icon_leaf01.webp) center center/contain no-repeat;
    content: "";
    height: 5rem;
    left: -3rem;
    position: absolute;
    top: 0;
    width: 1.9375rem;
}
.p-mv__bannerBadge::after {
    background: url(img/custom-top/icon_leaf02.webp) center center/contain no-repeat;
    content: "";
    height: 5rem;
    position: absolute;
    right: -3rem;
    top: 0;
    width: 1.9375rem;
}

.p-mv__bannerBadge--career {
    width: 13.125rem;
}

.p-mv__bannerBadge--achievement {
    width: 16.875rem;
}

.p-mv__bannerBadge--from {
    width: 9.375rem;
}

.p-mv__bannerBadgeValue.p-mv__bannerBadge--fromValue {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.5rem;
    line-height: 1.6;
}

.p-mv__bannerBadge--fromInfo {
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.6;
}

.p-mv__bannerBadgeInfo {
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
}

.p-mv__bannerBadgeMain {
    margin-top: 0.25rem;
}

.p-mv__bannerBadgeValue {
    font-family: "Red Hat Display", serif;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
}

.p-mv__bannerBadgeValue--ml8 {
    margin-left: 0.5rem;
}

.p-mv__bannerBadgeUnit {
    font-weight: bold;
    line-height: 1;
}

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

.p-pageTop {
    bottom: 1.875rem;
    cursor: pointer;
    position: fixed;
    right: 1.875rem;
    z-index: 50;
}

.p-pageTop__wrap {
    position: relative;
}

.p-pageTop__wrap img {
    width: 3.125rem;
}

.p-pageTop__wrap img:nth-of-type(2) {
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: 0.5s opacity;
}
.p-reason {
    margin-top: 6rem;
}

.p-reason__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-reason__contents {
    margin-top: 4rem;
}

.p-reason__contentBlock {
    align-items: center;
    display: flex;
    gap: 4rem;
    justify-content: center;
}
.p-reason__contentBlock:not(:first-child) {
    margin-top: 8rem;
    position: relative;
}
.p-reason__contentBlock:not(:first-child)::before {
    border-top: 1px solid #cbd5e1;
    content: "";
    height: 0.0625rem;
    left: 0;
    position: absolute;
    top: -4rem;
    width: 100%;
}

.p-reason__contentBlock--Reverse {
    flex-direction: row-reverse;
}

.p-reason__contentLeft {
    max-width: 36rem;
    width: 100%;
}

.p-reason__contentUpper {
    align-items: center;
    display: flex;
    gap: 3rem;
}

.p-reason__contentNumWrap {
    color: #be9200;
    font-family: "Red Hat Display", serif;
    text-align: center;
}

.p-reason__contentNumUpper {
    font-size: 0.8125rem;
    font-weight: bold;
    line-height: 1;
}

.p-reason__contentNumDown {
    font-size: 6rem;
    font-weight: 600;
    line-height: 1;
}

.p-reason__contentTitle {
    color: #004697;
    font-size: 1.75rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.4;
}

.p-reason__contentDescription {
    font-size: 0.9375rem;
    line-height: 1.8;
    margin-top: 1.5rem;
}

.p-reason__contentBlock:not(:first-child) .p-reason__contentRight {
    margin-top: -2rem;
}

.p-result {
    background-color: #f1f5f9;
    padding: 6rem 0;
}

.p-result__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-result__contentsWrap {
    margin-top: 4rem;
}

.p-result__contentList {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(3, 1fr);
}

.p-result__contentItem {
    max-width: 19.8125rem;
    position: relative;
    text-align: center;
    width: 100%;
}
.p-result__contentItem:not(:last-child)::after {
    background-color: #cbd5e1;
    content: "";
    height: 100%;
    left: 100%;
    margin-left: 2rem;
    position: absolute;
    top: 0;
    transform: translate(50%, 0);
    width: 0.0625rem;
}

.p-result__contentTitle {
    font-weight: 500;
    line-height: 1.6;
}

.p-result__contentValue {
    color: #004697;
    line-height: 1;
    margin-top: 1rem;
}

.p-result__num {
    font-family: "Red Hat Display", serif;
    font-size: 5rem;
    font-weight: 600;
    letter-spacing: 0em;
}

.p-result__unit {
    font-size: 1.25rem;
    font-weight: bold;
}

.p-seminar {
    padding: 6rem 0;
}

.p-seminar__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-seminar__items {
    border-top: 1px solid #cbd5e1;
    margin-top: 4rem;
}

.p-seminar__item {
    border-bottom: 1px solid #cbd5e1;
    font-size: 1rem;
    position: relative;
}
.p-seminar__item::after {
    background: url(img/custom-top/icon_arrow03.webp) center center/contain no-repeat;
    content: "";
    height: 1.5rem;
    left: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-100%, -50%);
    transition: transform 0.3s ease;
    width: 1.5rem;
}
.p-seminar__item:hover::after {
    transform: translate(-80%, -50%);
}

.p-seminar__link {
    display: block;
    padding-block: 2rem 2rem;
}

.p-seminar__itemInfo {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: flex-start;
}

.p-seminar__itemInfoDate {
    color: #475569;
    font-family: "Red Hat Display", serif;
    font-size: 0.8125rem;
    line-height: 2;
}

.p-seminar__itemInfoCategory {
    background-color: #004697;
    border-radius: 0.25rem;
    color: #fff;
    font-size: 0.75rem;
    line-height: 1.6;
    padding: 0.25rem 1rem;
    text-align: center;
}

.p-seminar__itemInfoText {
    font-size: 1.125rem;
    line-height: 1.6;
    margin-top: 1rem;
}

.p-service {
    background: url(img/custom-top/img_service01.webp);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
}

.p-service__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-service__container {
    padding: 6rem 0;
}

.p-service__supportListWrap {
    margin-top: 4rem;
}

.p-service__supportList {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(4, 1fr);
}

.p-service__supportItem {
    align-items: center;
    background-color: #fff;
    border-radius: 0.25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.p-service__supportItemImage {
    padding: 2rem 0;
}
.p-service__supportItemImage img {
    -o-object-fit: cover;
    aspect-ratio: 60/60;
    height: auto;
    max-width: 3.75rem;
    object-fit: cover;
    width: 100%;
}

.p-service__supportLink {
    display: block;
    width: 100%;
}

.p-service__supportItemTitle {
    background-color: #f1f5f9;
    border-bottom-left-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    padding: 1.28125rem 0;
    position: relative;
    text-align: center;
    width: 100%;
}
.p-service__supportItemTitle span {
    color: #004697;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
}
.p-service__supportItemTitle::after {
    background: url(img/custom-top/icon_arrow01.webp) center center/contain no-repeat;
    content: "";
    height: 1.75rem;
    left: 90%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.3s ease; /* ← 追加 (ふわっと動かす) */
    width: 1.6875rem;
}
.p-service__supportItemTitle:hover::after {
    transform: translate(calc(-50% + 5px), -50%);
}

.p-service__btnWrap {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 3rem;
}

.p-service__btn {
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 100vh;
    color: #fff;
    max-width: 25rem;
    width: 100%;
}
.p-service__btnSupport {
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
    padding: 1.25rem 0;
    position: relative;
    text-align: center;
}
.p-service__btnSupport::after {
    background: url(img/custom-top/icon_arrow02.webp) center center/contain no-repeat;
    content: "";
    height: 1.5rem;
    left: 95%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1.5rem;
}

.p-showcase {
    background-color: #f1f5f9;
    padding: 6rem 0;
}

.p-showcase__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-showcase__contentsWrap {
    margin-top: 4rem;
}

.p-showcase__card {
    display: grid;
    gap: 0 2rem;
    grid-template-columns: repeat(3, 1fr);
}

.p-showcase__cardItem {
    background-color: #fff;
    border-radius: 0.5rem;
    display: grid;
    grid-row: span 7;
    grid-template-rows: subgrid;
    padding-bottom: 1.5rem;
}

.p-showcase__cardItemImage img {
    -o-object-fit: cover;
    aspect-ratio: 350/215;
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    height: auto;
    object-fit: cover;
    width: 100%;
}

a.p-showcase__cardItemTitle {
    color: #004697;
}

.p-showcase__cardItemTitle {
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.5;
    padding: 1.25rem 2rem 0rem;
}
.p-showcase__cardItemCompanyName {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 2;
    margin-bottom: 1.5rem;
    margin-top: 0.5rem;
    padding: 0 2rem;
}

.p-showcase__cardItemDetail {
    align-items: center;
    display: flex;
    gap: 1.5rem;
    padding: 0.625rem 2rem;
    position: relative;
}
.p-showcase__cardItemDetail::after {
    background-color: #cbd5e1;
    bottom: 0;
    content: "";
    height: 1px;
    left: 2rem;
    position: absolute;
    right: 2rem;
}

.p-showcase__cardItemDetail.is-first::before {
    background-color: #cbd5e1;
    content: "";
    height: 1px;
    left: 2rem;
    position: absolute;
    right: 2rem;
    top: 0;
}

.p-showcase__cardItemDetailLeft {
    color: #004697;
    font-size: 0.75rem;
    line-height: 1.6;
    max-width: 3.75rem;
    width: 100%;
}

.p-showcase__cardItemDetailRight {
    font-size: 0.8125rem;
    line-height: 1.6;
}

.p-showcase__detailLink {
    -webkit-text-decoration: solid;
    font-size: 0.75rem;
    line-height: 1.6;
    margin-top: 2.915625rem;
    padding: 0 2rem;
    text-decoration: solid;
    text-decoration: underline;
    text-underline-offset: 0.625rem;
}

.p-showcase__detailLinkWrap {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}
.p-showcase__detailLinkWrap img {
    -o-object-fit: cover;
    height: auto;
    max-width: 1.6875rem;
    object-fit: cover;
    transition: transform 0.3s ease;
    width: 100%;
}
.p-showcase__detailLinkName {
    color: #333;
}

.p-showcase__allShowLinkWrap {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-top: 5rem;
}

.p-showcase__allShowLink {
    background-color: #004697;
    border-radius: 100vh;
    display: block;
    max-width: 25rem;
    padding: 1.25rem 0;
    text-align: center;
    width: 100%;
}
.p-showcase__allShowTitle {
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
    position: relative;
}
.p-showcase__allShowTitle::after {
    background: url(img/custom-top/icon_arrow02.webp) center center/contain no-repeat;
    content: "";
    height: 1.5rem;
    left: 90%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1.5rem;
}

.p-slider {
    height: 100%;
    width: 100%;
}
.p-slider .swiper-slide {
    overflow: hidden;
    height: 100%;
}
.p-slider .slide-img {
    height: 100%;
}
.p-slider .slide-img img {
    width: 100%;
}
.p-slider img {
    -o-object-fit: cover;
    height: 100%;
    object-fit: cover;
}
@keyframes zoomUp {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.15);
    }
}
.p-slider .slide-img img {
    display: block;
}

.p-support {
    padding: 6rem 0;
}

.p-support__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-support__contentsWrap {
    align-items: flex-start;
    display: flex;
    gap: 5rem;
    justify-content: center;
    margin-top: 4rem;
}

.p-support__contentLeft {
    max-width: 35rem;
    width: 100%;
}

.p-support__contentList {
    margin: 2rem 0;
}

.p-support__contentItem {
    color: #004697;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 1.6;
    padding-left: 1.5rem;
    position: relative;
}
.p-support__contentItem:not(:first-child) {
    margin-top: 1rem;
}
.p-support__contentItem::before {
    background: url(img/custom-top/icon_check.webp) center center/contain no-repeat;
    content: "";
    height: 0.8625rem;
    left: 0;
    position: absolute;
    top: calc(0.5lh - 0.4125rem);
    width: 1.05rem;
}

.p-support__engineerExpertWrap {
    background-color: #f1f5f9;
    border-radius: 0.5rem;
    margin-top: 5rem;
    padding: 2.5rem 4rem;
    text-align: center;
}

.p-support__engineerExpertTitle {
    color: #004697;
    font-size: 1.25rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 2;
}

.p-support__engineerExpertList {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 1.5rem;
}

.p-support__engineerExpertItem {
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.25rem;
    color: #004697;
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0em;
    line-height: 1.6;
    padding: 1.25rem 0;
    width: 100%;
}

.p-support__engineerExpertOther {
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.25rem;
    color: #004697;
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0em;
    line-height: 1.6;
    margin-top: 1rem;
    max-width: 100%;
    padding: 1.25rem 0;
}

.p-support__engineerExpertName {
    font-weight: bold;
}

.p-support__engineerExpertInfo {
    font-size: 0.875rem;
    line-height: 1.8;
    margin-top: 1.5rem;
}

.p-support__contentImage img {
    border-radius: 0.5rem;
}

.p-support__contentText--mt16 {
    margin-top: 1rem;
}

.p-footer__menu li a:hover {
    opacity: 0.8;
    transition: 0.5s;
}

.p-why {
    background-color: #f1f5f9;
    margin-top: 6rem;
    padding-bottom: 6rem;
}

.p-why__block {
    background-image: url("img/custom-top/img_why01.webp");
    background-position: center left;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 6rem 0 12rem;
}

.p-why__title {
    margin-left: auto;
    margin-right: auto;
    max-width: 73.75rem;
    width: 100%;
}

.p-why__titleSub {
    color: #fff;
    font-family: "Red Hat Display", serif;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.1;
    padding-left: 1.5rem;
    position: relative;
}
.p-why__titleSub::before {
    background: url(img/custom-top/icon_check.webp) center center/contain no-repeat;
    content: "";
    height: 1.25rem;
    left: 0;
    position: absolute;
    top: -0.2rem;
    width: 1.25rem;
}

.p-why__titleMain {
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.25rem;
    font-weight: 500;
    line-height: 1.4;
    margin-top: 1rem;
}

.p-why__contentsWrap {
    margin-left: auto;
    margin-right: auto;
    margin-top: -5rem;
    max-width: 90.5rem;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    position: relative;
    width: 100%;
    z-index: 2;
}

.p-why__contentBox {
    background-color: #fff;
    margin-left: auto;
    margin-right: auto;
    padding: 5rem 7rem;
}

.p-why__description {
    font-size: 1rem;
    max-width: 69.5rem;
    width: 100%;
}
.p-why__description:not(:first-child) {
    margin-top: 4rem;
}

.p-why__caseBlock {
    border-radius: 0.5rem;
    padding: 3rem;
    text-align: center;
}

.p-why__caseBlock--theme {
    background-color: #f1f5f9;
}

.p-why__caseBlock--secondary {
    background-color: #faf6e7;
}

.p-why__caseSubTitle {
    border-radius: 100vh;
    color: #fff;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.8;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.875rem;
    padding: 0.25rem 0;
    text-align: center;
    top: 1.75rem;
    width: 17.5rem;
}

.p-why__caseSubTitle--theme {
    background-color: #004697;
    position: relative;
}
.p-why__caseSubTitle--theme::after {
    border-color: #004697 transparent transparent transparent;
    border-style: solid;
    border-width: 1.25rem 1.25rem 0 1.25rem;
    bottom: -0.625rem;
    content: "";
    height: 0.375rem;
    height: 0rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 1rem;
    width: 0rem;
}

.p-why__caseSubTitle--secondary {
    background-color: #be9200;
    position: relative;
}
.p-why__caseSubTitle--secondary::after {
    border-color: #be9200 transparent transparent transparent;
    border-style: solid;
    border-width: 1.25rem 1.25rem 0 1.25rem;
    bottom: -0.625rem;
    content: "";
    height: 0.375rem;
    height: 0rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 1rem;
    width: 0rem;
}

.p-why__caseBlockTitle {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0em;
    line-height: 1.5;
    text-align: center;
}

.p-why__caseBlockImage {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-top: 1.5rem;
}
.p-why__caseBlockImage img {
    -o-object-fit: cover;
    aspect-ratio: 183/133;
    height: auto;
    max-width: 11.4375rem;
    object-fit: cover;
    width: 100%;
}

.p-why__caseBlockImage02 img {
    -o-object-fit: cover;
    aspect-ratio: 240/133;
    height: auto;
    max-width: 15rem;
    object-fit: cover;
    width: 100%;
}

.p-why__caseBlockCard {
    margin-top: 2rem;
}

.p-why__caseList {
    display: grid;
    gap: 1.5rem 0.5rem;
    grid-template-columns: repeat(3, 1fr);
}

.p-why__caseItem {
    align-items: center;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    padding: 1.5rem 0;
}

.p-why__caseItemTitle {
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.8;
}

.p-why__caseBlockTitle--theme,
.p-why__caseItemTitle--theme {
    color: #004697;
}

.p-why__caseBlockTitle--secondary,
.p-why__caseItemTitle--secondary {
    color: #be9200;
}

.p-why__caseItemImage img {
    -o-object-fit: cover;
    aspect-ratio: 40/40;
    height: auto;
    max-width: 2.5rem;
    object-fit: cover;
    width: 100%;
}

.p-why__caseItemDescription {
    font-size: 0.875rem;
    letter-spacing: 0em;
    line-height: 1.8;
}

.p-why__secondary {
    color: #be9200;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
}

/* TOPアイコンリスト */
.p-icon {
    background: #f1f5f9;
    padding: 1.5rem 0;
}

.p-icon__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    width: 100%;
}

.p-icon__list {
    display: flex;
    gap: 1rem;
}

.p-icon__item {
    text-align: center;
    width: 11.1%;
}

.p-icon__item p {
    font-size: 0.875rem;
    color: #004697;
}

.u-base1 {
    font-size: 1.125rem;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

.u-base2 {
    font-size: 1.125rem;
    letter-spacing: 0.02em;
    line-height: 1.5;
}

.u-flex {
    display: flex;
}

.u-font14 {
    font-size: 0.875rem;
}

.u-font16 {
    font-size: 1rem;
}

.u-font18 {
    font-size: 1.125rem;
}

.u-font20 {
    font-size: 1.25rem;
}

.u-font22 {
    font-size: 1.375rem;
}

.u-font24 {
    font-size: 1.5rem;
}

.u-font28 {
    font-size: 1.75rem;
}

.u-font32 {
    font-size: 2rem;
}

.u-font40 {
    font-size: 2.5rem;
}

.u-hover {
    transition: opacity 0.5s;
}

.u-hover:hover {
    opacity: 0.6;
    transition: opacity 0.5s;
}

.u-lh10 {
    line-height: 1;
}

.u-lh13 {
    line-height: 1.3;
}

.u-lh15 {
    line-height: 1.5;
}

.u-lh16 {
    line-height: 1.6;
}

.u-lh20 {
    line-height: 2;
}

.u-ls05 {
    letter-spacing: 0.05em;
}

.u-ls10 {
    letter-spacing: 0.1em;
}

.u-ls15 {
    letter-spacing: 0.15em;
}

.u-ls20 {
    letter-spacing: 0.2em;
}

.u-mt10 {
    margin-top: 10px !important;
    margin-top: 0.625rem !important;
}

.u-mt20 {
    margin-top: 20px !important;
    margin-top: 1.25rem !important;
}

.u-mt30 {
    margin-top: 30px !important;
    margin-top: 1.875rem !important;
}

.u-mt40 {
    margin-top: 40px !important;
    margin-top: 2.5rem !important;
}

.u-mt50 {
    margin-top: 50px !important;
    margin-top: 3.125rem !important;
}

.u-mt60 {
    margin-top: 60px !important;
    margin-top: 3.75rem !important;
}

.u-mt70 {
    margin-top: 70px !important;
    margin-top: 4.375rem !important;
}

.u-mt80 {
    margin-top: 80px !important;
    margin-top: 5rem !important;
}

.u-mt90 {
    margin-top: 90px !important;
    margin-top: 5.625rem !important;
}

.u-mt100 {
    margin-top: 100px !important;
    margin-top: 6.25rem !important;
}

.u-mt110 {
    margin-top: 110px !important;
    margin-top: 6.875rem !important;
}

.u-mt120 {
    margin-top: 120px !important;
    margin-top: 7.5rem !important;
}

.u-mt130 {
    margin-top: 130px !important;
    margin-top: 8.125rem !important;
}

.u-mt140 {
    margin-top: 140px !important;
    margin-top: 8.75rem !important;
}

.u-mt150 {
    margin-top: 150px !important;
    margin-top: 9.375rem !important;
}

.u-mt160 {
    margin-top: 160px !important;
    margin-top: 10rem !important;
}

.u-mt170 {
    margin-top: 170px !important;
    margin-top: 10.625rem !important;
}

.u-mt180 {
    margin-top: 180px !important;
    margin-top: 11.25rem !important;
}

.u-mt190 {
    margin-top: 190px !important;
    margin-top: 11.875rem !important;
}

.u-mt200 {
    margin-top: 200px !important;
    margin-top: 12.5rem !important;
}

.u-rootText {
    font-size: 16px;
}

.u-shadow {
    box-shadow: 6px 6px 16px rgba(0, 0, 0, 0.16);
}

.u-sp {
    display: none;
}

.u-textLeft {
    text-align: Left !important;
}

.u-textCenter {
    text-align: Center !important;
}

.u-textRight {
    text-align: Right !important;
}

.u-textJustify {
    text-align: Justify !important;
}
.u-w300 {
    font-weight: 300;
}

.u-w400 {
    font-weight: 400;
}

.u-w500 {
    font-weight: 500;
}

.u-w600 {
    font-weight: 600;
}

.u-w700 {
    font-weight: 700;
}

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

/* NOTE: 20260620 ADD START */
.p-top-task {
    margin: 1rem 0 2rem;
}

.p-top-task__title {
    color: #004697;
    font-size: 1.75rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.4;

    text-align: center;
}

.p-top-task__list {
    display: grid;
    grid-template-columns: repeat(3, 21rem);
    justify-content: center;
    gap: 0.625rem;
    max-width: 66rem;
    margin: 0 auto;
    padding: 0;
    list-style: none;

    padding: 1rem;
}

.p-top-task__item {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    width: 21rem;
    min-height: 7.25rem;
    padding: 1rem;
    box-sizing: border-box;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    background: #fff;
}

.p-top-task__itemLeft {
    flex: 0 0 44px;
    width: 44px;
}

.p-top-task__itemLeft img {
    display: block;
    width: 100%;
    height: auto;
	
	aspect-ratio: 39 / 44;
    object-fit: contain;
}

.p-top-task__itemRight {
    flex: 1;
    min-width: 0;
}

.p-top-task__desc {
    margin: 0;
    line-height: 1.65;
}
/* 20260620 ADD END */

@media screen and (min-width: 768px) {
    .c-hoverRun:hover {
        background-size: 100% 1px;
    }
    .c-hoverUnderline:hover::after {
        opacity: 1;
    }
    .c-hoverUnderline:hover::after {
        opacity: 1;
    }
    .c-underBar:hover:before {
        opacity: 0;
        transition: 0.5s all;
    }
    .p-formBtn input:disabled:hover {
        cursor: not-allowed;
    }
    .p-formBtn input:hover {
        opacity: 0.7;
        transition: opacity 0.5s;
    }
}

@media screen and (min-width: 769px) {
    .c-imgHover:hover img:nth-of-type(1) {
        opacity: 0;
        transition: 0.5s opacity;
    }
    .c-imgHover:hover img:nth-of-type(2) {
        opacity: 1;
        transition: 0.5s opacity;
    }
    .c-imgZoom:hover img {
        transform: scale(1.2);
        transition: transform 0.8s;
    }
}

@media screen and (max-width: 1440px) {
    html {
        font-size: 1.1111111111vw;
    }
    html .free-consult {
        font-size: 16px;
    }
    .u-rootText {
        font-size: 1.1111111111vw;
    }
}

@media screen and (max-width: 1359px) {
    .p-header__block01 {
        gap: 0.5rem;
    }
}

@media screen and (max-width: 1200px) {
    .p-media__txt {
        color: pink;
    }
}

@media (max-width: 768px) {
    .free-consult .achievements__items {
        grid-template-columns: 1fr;
        row-gap: 5px;
    }
    .free-consult__form {
/*         padding: 57px 20px 0; */
        padding: 57px 20px 30px;
        width: 100%;
    }
    .free-download__inner {
        padding: 0 20px;
    }
    .free-download__container {
        flex-direction: column;
        margin-top: 57px;
        row-gap: 50px;
    }
    .free-download .achievements__items {
        grid-template-columns: 1fr;
        row-gap: 5px;
    }
    .free-download__form {
/*         padding: 57px 20px 0; */
        padding: 57px 20px 30px;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .mv-cta {
        padding: 0.8rem;
    }

    .mv-cta__tit {
        /* font-size: 1.2rem; */
        line-height: 1.8;
    }

    /* .mv-cta__txt {
        font-size: 0.75rem;
    } */

    .mv-cta__txt.--small {
        font-size: 0.675rem;
    }

    .free-consult__inner {
        padding: 0 20px;
    }
    .free-consult .free-consult__title {
        font-size: 2.125rem;
    }
    .free-consult__container {
        flex-direction: column;
        margin-top: 57px;
        row-gap: 50px;
    }
    .free-consult__overview {
        width: 100%;
    }
    .free-download__overview {
        width: 100%;
    }
    .p-form__title--type02 {
        align-items: flex-start;
        flex-direction: column;
    }
    .p-form__input {
        margin-top: 10px;
        width: 100%;
    }
    .p-formInput input {
        height: 50px;
        margin-left: 0;
        padding-left: 15px;
        width: 100%;
    }
    .p-formInput--sm input {
        width: 100%;
    }
    .p-formInput__post input {
        width: 100%;
    }
    .p-formInput__address input {
        width: 100%;
    }
    .p-formSelect select {
        height: 50px;
        width: 100%;
    }
    .p-formDate__flex {
        align-items: flex-start;
        gap: 20px;
    }
    .p-form__dataBlock {
        flex: 1;
    }
    .p-form__dataBlockLabel {
        display: none;
    }
    .p-form__dataBlockDate {
        width: 100%;
    }
    .p-formCalendar input {
        height: 50px;
        width: 100%;
    }
    .Android .p-formCalendar input {
        padding-left: 15px;
    }
    .p-form__dataBlockSelect {
        width: 100%;
    }
    .p-formNumber__flex {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
    .p-formNumber__blockLabel01 {
        width: 55px;
    }
    .p-formNumber__blockInput {
        flex: 1;
        margin-right: 20px;
    }
    .p-formTextarea textarea {
        margin-left: 0;
        min-height: 300px;
        padding-left: 15px;
        width: 100%;
    }
    .p-form__privacy {
        text-align: left;
    }
    .p-form__acceptance {
        text-align: left;
    }
    .p-form__submit {
        margin-top: 30px;
    }
    .wpcf7 form.sent .wpcf7-response-output {
        font-size: 16px;
    }
    .wpcf7 form.invalid .wpcf7-response-output,
    .wpcf7 form.unaccepted .wpcf7-response-output,
    .wpcf7 form.payment-required .wpcf7-response-output {
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    html {
        font-size: 16px;
    }
    a[href^="tel:"] {
        pointer-events: all;
    }
    .l-sec {
        padding: 5rem 0 6.25rem;
    }
    .l-sec01 {
        padding: 4.5rem 0 5.75rem;
    }
    .c-btn {
        margin-top: 1.5rem;
    }
    .c-btn__allShowLink {
        padding: 0.84375rem 0;
    }
    .c-btn__allShowTitle {
        font-size: 0.8125rem;
        letter-spacing: 0.05em;
    }
    .c-column2 {
        gap: 1.875rem;
        grid-template-columns: repeat(1, 1fr);
    }
    .c-column2--gap60 {
        gap: 2.5rem;
    }
    .c-column2--gapSp20 {
        gap: 1.25rem;
    }
    .c-column3 {
        grid-template-columns: repeat(1, 1fr);
    }
    .c-column4 {
        grid-template-columns: repeat(1, 1fr);
    }
    .c-column4--sp2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .c-headline1__main {
        font-size: 1.25rem;
        padding-left: 1.375rem;
    }
    .c-headline1__sub {
        margin-top: 1.625rem;
        padding-left: 1.375rem;
    }
    .c-title__sub {
        font-size: 0.75rem;
        letter-spacing: 0.05em;
        line-height: 1.1;
        padding-left: 1.8rem;
    }
    .c-title__main {
        font-size: 1.375rem;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.4;
        margin-top: 0.6875rem;
    }
    .p-banner__container {
        margin-left: auto;
        margin-right: auto;
        max-width: 21.25rem;
        width: 100%;
    }
    .p-banner__title {
        font-size: 1rem;
        letter-spacing: 0.05em;
        margin: 0 auto;
        max-width: 21.25rem;
        width: 100%;
    }
    .p-banner__point {
        font-size: 1rem;
    }
    .p-banner__badge--career::before {
        background: url(img/custom-top/icon_leaf01.webp) center center/contain no-repeat;
        content: "";
        height: 3.1875rem;
        left: -1.8125rem;
        position: absolute;
        top: 0.4125rem;
        width: 1.5625rem;
    }
    .p-banner__badge--career::after {
        background: url(img/custom-top/icon_leaf02.webp) center center/contain no-repeat;
        content: "";
        height: 3.1875rem;
        position: absolute;
        right: -1.875rem;
        top: 0.4125rem;
        width: 1.5625rem;
    }
    .p-banner__badge--career {
        width: 5.25rem;
    }
    .p-banner__badge--achievement::before {
        background: url(img/custom-top/icon_leaf01.webp) center center/contain no-repeat;
        content: "";
        height: 3.1875rem;
        left: -1.8125rem;
        position: absolute;
        top: 0.3rem;
        width: 1.5625rem;
    }
    .p-banner__badge--achievement::after {
        background: url(img/custom-top/icon_leaf02.webp) center center/contain no-repeat;
        content: "";
        height: 3.1875rem;
        position: absolute;
        right: -2.0125rem;
        top: 0.3rem;
        width: 1.5625rem;
    }
    .p-banner__badge--achievement {
        width: 6.2rem;
    }
    .p-banner__badge--from::before {
        background: url(img/custom-top/icon_leaf01.webp) center center/contain no-repeat;
        content: "";
        height: 3.1875rem;
        left: -2.1rem;
        position: absolute;
        top: 0.3rem;
        width: 1.5625rem;
    }
    .p-banner__badge--from::after {
        background: url(img/custom-top/icon_leaf02.webp) center center/contain no-repeat;
        content: "";
        height: 3.1875rem;
        position: absolute;
        right: -2rem;
        top: 0.3rem;
        width: 1.5625rem;
    }
    .p-banner__badge--from {
        width: 5.25rem;
    }
    .p-banner__badgeValue.p-banner__badge--fromValue {
        display: block;
        font-size: 1rem;
        letter-spacing: 0.05em;
        line-height: 1.3;
    }
    .p-banner__badge--fromInfo {
        margin-top: 0.25rem;
    }
    .p-banner__badgeInfo {
        font-size: 0.625rem;
        letter-spacing: 0.05em;
    }
    .p-banner__badgeMain {
        letter-spacing: -0.05em;
        line-height: 1.2;
        margin-top: 0rem;
    }
    .p-banner__badgeValue {
        font-size: 1.625rem;
        letter-spacing: 0.05em;
    }
    .p-banner__badgeUnit {
        font-size: 0.75rem;
        letter-spacing: 0.05em;
    }
    .p-banner__badgeBlock02 {
        margin-top: 0.5rem;
    }
    .p-banner__badgeValue--career {
        font-size: 2rem;
    }
    .p-btn__btnWrap {
        gap: 0;
    }
    .p-btn__btnBox {
        border-radius: 0;
        padding: 1.28125rem 0;
    }
    .p-contact {
        padding: 2.5rem 0;
    }
    .p-contact__title {
        font-size: 1.375rem;
        font-weight: 600;
        letter-spacing: 0.05em;
    }
    .p-contact__description {
        font-size: 0.75rem;
        letter-spacing: 0.05em;
        margin-top: 1.5rem;
        text-align: left;
    }
    .p-contact__contactBlock {
        flex-direction: column;
        gap: 0;
    }
    .p-contact__contactBtnWrap,
    .p-contact__telWrapper {
        padding: 1.25rem 0;
    }
    .p-contact__contactBtnWrap::after {
        content: none;
    }
    .p-contact__contactBtnWrap {
        border-bottom: 1px solid #cbd5e1;
    }
    .p-contact__contactBtnLink {
        margin-left: auto;
        margin-right: auto;
        margin-top: 0.5rem;
        padding: 0.75rem 0;
        width: 16.5rem;
    }
    .p-contact__contactBtnLabel {
        font-size: 0.8125rem;
        letter-spacing: 0.05em;
    }
    .p-contact__tel img {
        aspect-ratio: 20/20;
        max-width: 1.25rem;
    }
    .p-contact__phoneNumber {
        font-size: 1.625rem;
        letter-spacing: 0.05em;
    }
    .p-contact__telText {
        font-size: 0.6875rem;
        letter-spacing: 0.02em;
        line-height: 1.6;
    }
    .p-contact__downloadBlock {
        border-radius: 0.5rem;
        flex-direction: column;
        padding: 1rem 1.09375rem;
    }
    .p-contact__downloadBlockText {
        font-size: 0.6875rem;
        letter-spacing: 0.05em;
        padding: 0 0.4375rem;
    }
    .p-contact__downloadBtnLink {
        gap: 0.5rem;
        margin-top: 1.5rem;
        padding: 0.75rem 1rem;
    }
    .p-contact__downloadBtnLabel {
        font-size: 0.75rem;
        letter-spacing: 0.05em;
    }
    .p-contact__downloadBtnBadge {
        font-size: 0.5rem;
        padding: 0.125rem 0.5rem;
    }
    .p-copyright {
        gap: 2rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .p-copyright__txt {
        font-size: 0.625rem;
        line-height: 1.62;
        width: 15.9375rem;
    }
    .p-copyright__pagetop-link img {
        max-width: 1.25rem;
    }
    .p-copyright__pagetop-link {
        flex-direction: column-reverse;
        font-size: 0.75rem;
        gap: 0;
        padding-block: 1.5rem;
        white-space: nowrap;
    }
    .p-faq {
        padding: 3rem 0;
    }
    .p-faq__items {
        margin-top: 2.5rem;
    }
    .p-faq__item {
        padding-block: 1.675rem 1.675rem;
    }
    .p-faq__question .p-faq__icon {
        right: 0.5rem;
    }
    .p-faq__question::before,
    .p-faq__question::after {
        right: 1.5rem;
    }
    .p-faq__question-text {
        font-size: 0.8125rem;
        letter-spacing: 0.02em;
        line-height: 1.6;
    }
    .p-faq__question-text::before {
        align-items: center;
        background: #f1f5f9;
        border-radius: 0.25rem;
        box-sizing: border-box;
        color: #0f3e85;
        content: "Q";
        display: flex;
        font-size: 1rem;
        font-weight: bold;
        height: 2.5rem;
        justify-content: center;
        left: 0;
        position: absolute;
        top: 50%;
        translate: 0 -50%;
        width: 2.5rem;
    }
    .p-faq__answer-text {
        font-size: 0.8125rem;
        letter-spacing: 0.02em;
        line-height: 1.7;
        padding-left: 3.525rem;
    }
    .p-faq__answer-link {
        font-size: 0.6875rem;
        letter-spacing: 0.02em;
        line-height: 1.6;
        padding-left: 3.525rem;
    }
    .p-faq__question-wrap {
        gap: 1.05rem;
    }
    .p-faq__label {
        border-radius: 0.25rem;
        font-size: 0.875rem;
        height: 2.25rem;
        width: 2.25rem;
    }
    .p-faq__question-text {
        font-size: 0.875rem;
    }
    .p-footer__inner {
        padding: 3rem 1.75rem;
    }
    .p-footer__container {
        gap: 2.5rem;
        grid-template-columns: repeat(1, 1fr);
    }
    .p-footer__menuBlock:nth-child(2) {
        border-top: 1px solid #64748b;
    }
    .p-footer__menuBlock:nth-child(3) {
        margin-top: -1.25rem;
    }
    .p-footer__offiece {
        margin-top: 2rem;
    }
    .p-footer__officeLocation {
        font-size: 0.8125rem;
    }
    .p-footer__officeAddress {
        font-size: 0.75rem;
    }
    .p-footer__officeTel {
        font-size: 0.75rem;
    }
    .p-footer__menu li .p-footer__toggle {
        gap: 0.625rem;
        padding: 0.8rem 0;
    }
    .p-footer__menu .p-footer__submenu li a {
        padding: 0rem 0 0.375rem 1.5rem;
    }
    .p-footer__menu .p-footer__submenu li a::before {
        top: calc(0.5lh - 0rem);
    }
    .p-footer__menu li .p-footer__submenu li .p-footer__submenu {
        margin-top: 0.375rem;
    }
    .p-footer__copyright {
        gap: 2rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .p-footer__copyrightTxt {
        font-size: 0.625rem;
        line-height: 1.62;
        width: 15.9375rem;
    }
    .p-footer__pagetop-link img {
        max-width: 1.25rem;
    }
    .p-footer__pagetop-link {
        flex-direction: column-reverse;
        font-size: 0.75rem;
        gap: 0;
        padding-block: 1.5rem;
        white-space: nowrap;
    }
    .p-header__logo {
        aspect-ratio: 140/38;
        max-width: 9.75rem;
        padding: 0;
        padding-left: 1rem;
    }
    .p-info {
        padding: 3rem 0;
    }
    .p-info__categoryItems {
        flex-wrap: wrap;
        gap: 0.5rem 0.5rem;
        margin-top: 2.5rem;
    }
    .p-info__categoryItem {
        line-height: 1;
        padding: 0.25rem 1rem;
    }
    .p-info__categoryItemName {
        font-size: 0.6875rem;
        letter-spacing: 0.05em;
    }
    .p-info__contentsItems {
        margin-top: 1.5rem;
    }
    .p-info__contentsItem {
        padding: 1.25rem 0;
    }
    .p-info__contentsLink {
        gap: 1.5rem;
    }
    .p-info__contentsImages img {
        aspect-ratio: 80/80;
        max-width: 5rem;
    }
    .p-info__contentItemInfoWrap {
        max-width: 10.875rem;
    }
    .p-info__contentsItemInfoDate {
        font-size: 0.6875rem;
        letter-spacing: 0.05em;
    }
    .p-info__contentsItemInfoCategory {
        font-size: 0.5625rem;
        letter-spacing: 0.05em;
        padding: 0.125rem 0.75rem;
    }
    .p-info__contentsItemInfoText {
        font-size: 0.8125rem;
        letter-spacing: 0.05em;
        margin-top: 0.25rem;
    }
    .p-media {
        flex-direction: column-reverse;
    }
    .p-media__head {
        font-size: 6.25rem;
    }
    .p-media__txt {
        color: red;
        font-size: 2.5rem;
    }
    .p-media__img {
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }
    .p-media__body {
        margin-top: 1.875rem;
        width: 100%;
    }
    .p-modal__block {
        width: 80%;
    }
    .p-modal__wrap {
        padding: 2.5rem 0 1.875rem;
    }
    .p-mv__textBox {
        top: 50%;
        width: 22.5rem;
    }
    .p-mv__textBoxInner {
        margin-left: auto;
        margin-right: auto;
        max-width: 23rem;
        width: 100%;
    }
    .p-mv__subTitle {
        font-size: 0.875rem;
    }
    .p-mv__title {
        font-size: 1.8125rem;
        font-weight: bold;
        letter-spacing: 0.02em;
        line-height: 1.4;
    }
    .p-mv__description {
        font-size: 0.75rem;
        letter-spacing: 0.05em;
        line-height: 2;
        text-align: left;
    }
    .p-mv__bannerTitle {
        width: 19.5rem;
    }
    .p-mv__bannerBadgeWrap {
        flex-direction: column;
    }
	.mv-cta__txt {
		font-size: 0.875rem;
	}
    .p-pageTop {
        bottom: 1.25rem;
        right: 1.5625rem;
    }
    .p-reason {
        margin-top: 3rem;
    }
    .p-reason__contents {
        margin-top: 2.5rem;
    }
    .p-reason__contentBlock:not(:first-child) {
        margin-top: 6rem;
    }
    .p-reason__contentBlock {
        flex-direction: column-reverse;
        gap: 2rem;
    }
    .p-reason__contentUpper {
        gap: 1rem;
    }
    .p-reason__contentNumWrap {
        max-width: 4rem;
        width: 100%;
    }
    .p-reason__contentNumUpper {
        font-size: 0.6875rem;
    }
    .p-reason__contentNumDown {
        font-size: 3.5rem;
        line-height: 0.8;
        margin-top: 0.25rem;
    }
    .p-reason__contentTitle {
        font-size: 1.1875rem;
        line-height: 1.4;
    }
    .p-reason__contentDescription {
        font-size: 0.875rem;
        letter-spacing: 0.05em;
        margin-top: 1rem;
    }
    .p-result {
        padding: 3rem 0;
    }
    .p-result__contentsWrap {
        margin-top: 2.8rem;
    }
    .p-result__contentList {
        gap: 1rem;
    }
    .p-result__contentItem:not(:last-child)::after {
        margin-left: 1rem;
    }
    .p-result__contentTitle {
        font-size: 0.75rem;
        letter-spacing: 0.05em;
    }
    .p-result__contentValue {
        margin-top: 0.5rem;
    }
    .p-result__num {
        font-size: 2.5rem;
    }
    .p-result__unit {
        display: block;
        font-size: 0.875rem;
    }
    .p-seminar {
        padding: 3rem 0;
    }
    .p-seminar__items {
        margin-top: 2.5rem;
    }
    .p-seminar__link {
        max-width: 17.375rem;
        padding-block: 1.25rem 1.25rem;
        width: 100%;
    }
    .p-seminar__itemInfoDate {
        font-size: 0.6875rem;
        letter-spacing: 0.05em;
    }
    .p-seminar__itemInfoCategory {
        font-size: 0.5625rem;
        letter-spacing: 0.05em;
        padding: 0.125rem 0.75rem;
    }
    .p-seminar__itemInfoText {
        font-size: 0.8125rem;
        letter-spacing: 0.05em;
        margin-top: 0.5rem;
    }
    .p-service {
        background: url(img/custom-top/img_service01_sp.webp);
        background-position: top left;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .p-service__container {
        padding: 3rem 0;
    }
    .p-service__supportListWrap {
        margin-top: 2.5rem;
    }
    .p-service__supportList {
        gap: 0.75rem;
        grid-template-columns: repeat(2, 1fr);
    }
    .p-service__supportItemImage img {
        max-width: 2.5rem;
    }
    .p-service__supportItemImage {
        padding: 1rem 0;
    }
    .p-service__supportItemTitle::after {
        height: 1.25rem;
        left: 85%;
        width: 1.25rem;
    }
    .p-service__supportItemTitle {
        padding: 0.2rem 1rem;
        text-align: left;
    }
    .p-service__supportItemTitle span {
        font-size: 0.75rem;
    }
    .p-service__btnWrap {
        flex-direction: column;
        margin-left: auto;
        margin-right: auto;
        margin-top: 1.5rem;
        width: 19.5rem;
    }
    .p-service__btnSupport {
        font-size: 0.8125rem;
    }
    .p-showcase {
        padding: 3rem 0;
    }
    .p-showcase__contentsWrap {
        margin-top: 2.5rem;
    }
    .p-showcase__card {
        gap: 0;
        grid-template-columns: repeat(1, 1fr);
    }
    .p-showcase__cardItem {
        padding-bottom: 1rem;
    }
    .p-showcase__cardItem:not(:first-child) {
        margin-top: 2rem;
    }
    .p-showcase__cardItemTitle {
        font-size: 1rem;
        padding: 1rem 1.5rem 0;
    }
    .p-showcase__cardItemCompanyName {
        margin-bottom: 1rem;
        padding: 0 1.5rem;
    }
    .p-showcase__cardItemDetail {
        gap: 0.5rem;
        padding: 0.525rem 1.5rem 0.525rem;
    }
    .p-showcase__cardItemDetail::after {
        background-color: #cbd5e1;
        bottom: 0;
        content: "";
        height: 1px;
        left: 1.5rem;
        position: absolute;
        right: 1.5rem;
    }
    .p-showcase__cardItemDetail.is-first::before {
        background-color: #cbd5e1;
        content: "";
        height: 1px;
        left: 1.5rem;
        position: absolute;
        right: 1.5rem;
        top: 0;
    }
    .p-showcase__cardItemDetailLeft {
        font-size: 0.6875rem;
        letter-spacing: 0.05em;
    }
    .p-showcase__cardItemDetailRight {
        font-size: 0.75rem;
        letter-spacing: 0.05em;
    }
    .p-showcase__detailLink {
        margin-top: 0.875rem;
        padding: 0 1.5rem;
        text-decoration: underline;
        text-underline-offset: 0.4375rem;
    }
    .p-support {
        padding: 3rem 0;
    }
    .p-support__contentsWrap {
        flex-direction: column-reverse;
        gap: 2rem;
        margin-top: 2.5rem;
    }
    .p-support__contentText {
        font-size: 0.9375rem;
        letter-spacing: 0.02em;
        line-height: 1.8;
    }
    .p-support__contentItem::before {
        height: 0.725rem;
        width: 0.85rem;
    }
    .p-support__contentItem {
        font-size: 0.9375rem;
        font-weight: 600;
        letter-spacing: 0.05em;
        line-height: 1.6;
    }
    .p-support__contentItem:not(:first-child) {
        margin-top: 0.5rem;
    }
    .p-support__engineerExpertWrap {
        margin-top: 2.5rem;
        padding: 1rem;
    }
    .p-support__engineerExpertTitle {
        font-size: 0.9375rem;
    }
    .p-support__engineerExpertList {
        gap: 0.5rem;
        grid-template-columns: repeat(1, 1fr);
        margin-top: 1rem;
    }
    .p-support__engineerExpertItem {
        align-items: center;
        display: flex;
        font-size: 0.75rem;
        justify-content: center;
        letter-spacing: 0.05em;
        line-height: 1.6;
        max-width: 100%;
        padding: 0.75em;
    }
    .p-support__engineerExpertFormal--w256 {
        max-width: 16rem;
        width: 100%;
    }
    .p-support__engineerExpertOther {
        font-size: 0.75rem;
        letter-spacing: 0.05em;
        margin-top: 0.5rem;
    }
    .p-support__engineerExpertInfo {
        font-size: 0.8125rem;
        letter-spacing: 0.02em;
        line-height: 1.7;
        margin-top: 1rem;
    }
    .p-why {
        margin-top: 3rem;
        padding-bottom: 0rem;
    }
    .p-why__block {
        background-image: url("img/custom-top/img_why01_sp.webp");
        padding: 3rem 1.5rem;
    }
    .p-why__titleSub {
        font-size: 0.75rem;
        letter-spacing: 0.05em;
        line-height: 1.1;
        padding-left: 1.8rem;
    }
    .p-why__titleMain {
        font-size: 1.375rem;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.4;
        margin-top: 0.6875rem;
    }
    .p-why__contentsWrap {
        margin-top: 0rem;
        padding: 0;
    }
    .p-why__contentBox {
        padding: 0 1.75rem;
        padding-bottom: 2.5rem;
        padding-top: 2.5rem;
    }
    .p-why__description:not(:first-child) {
        margin-top: 3rem;
    }
    .p-why__description {
        font-size: 0.9375rem;
        letter-spacing: 0.02em;
        line-height: 1.8;
    }
    .p-why__caseBlock {
        padding: 2rem 1rem 1.5rem;
    }
    .p-why__caseSubTitle {
        font-size: 0.875rem;
        margin-top: 1.875rem;
        top: 0.6875rem;
        width: 12.1875rem;
    }
    .p-why__caseBlockTitle {
        font-size: 1.25rem;
    }
    .p-why__caseBlockImage img {
        max-width: 9.5rem;
    }
    .p-why__caseBlockImage02 img {
        max-width: 12.325rem;
    }
    .p-why__caseList {
        gap: 0.5rem;
        grid-template-columns: repeat(1, 1fr);
    }
    .p-why__caseItem {
        gap: 0.6rem;
        padding: 0.6rem 0;
    }
    .p-why__caseItem:nth-child(2) {
        padding: 1.5rem 0;
    }
    .p-why__caseItemTitle {
        font-size: 1rem;
    }
    .p-why__caseItemDescription {
        font-size: 0.8125rem;
        letter-spacing: 0.05em;
        width: 15rem;
    }
    /* TOPアイコンリスト */
    .p-icon {
        padding: 1rem 0;
    }
    .p-icon__inner {
        padding-left: initial;
        padding-right: initial;
    }
    .p-icon__list {
        flex-wrap: wrap;
        justify-content: center;
        column-gap: initial;
        row-gap: 1rem;
    }
    .p-icon__item {
        width: 20%;
    }
    .p-icon__item img {
        padding: 0 1.1875rem;
        display: block;
        margin: auto;
    }
    .p-icon__item p {
        font-size: 0.625rem;
        letter-spacing: 0.01em;
    }
    .u-font18 {
        font-size: 1rem;
    }
    .u-font20 {
        font-size: 1rem;
    }
    .u-font22 {
        font-size: 1.125rem;
    }
    .u-font24 {
        font-size: 1.125rem;
    }
    .u-mt100 {
        margin-top: 1.875rem;
    }
    .u-mtSp10 {
        margin-top: 10px !important;
        margin-top: 0.625rem !important;
    }
    .u-mtSp20 {
        margin-top: 20px !important;
        margin-top: 1.25rem !important;
    }
    .u-mtSp30 {
        margin-top: 30px !important;
        margin-top: 1.875rem !important;
    }
    .u-mtSp40 {
        margin-top: 40px !important;
        margin-top: 2.5rem !important;
    }
    .u-mtSp50 {
        margin-top: 50px !important;
        margin-top: 3.125rem !important;
    }
    .u-mtSp60 {
        margin-top: 60px !important;
        margin-top: 3.75rem !important;
    }
    .u-mtSp70 {
        margin-top: 70px !important;
        margin-top: 4.375rem !important;
    }
    .u-mtSp80 {
        margin-top: 80px !important;
        margin-top: 5rem !important;
    }
    .u-mtSp90 {
        margin-top: 90px !important;
        margin-top: 5.625rem !important;
    }
    .u-mtSp100 {
        margin-top: 100px !important;
        margin-top: 6.25rem !important;
    }
    .u-mtSp110 {
        margin-top: 110px !important;
        margin-top: 6.875rem !important;
    }
    .u-mtSp120 {
        margin-top: 120px !important;
        margin-top: 7.5rem !important;
    }
    .u-mtSp130 {
        margin-top: 130px !important;
        margin-top: 8.125rem !important;
    }
    .u-mtSp140 {
        margin-top: 140px !important;
        margin-top: 8.75rem !important;
    }
    .u-mtSp150 {
        margin-top: 150px !important;
        margin-top: 9.375rem !important;
    }
    .u-mtSp160 {
        margin-top: 160px !important;
        margin-top: 10rem !important;
    }
    .u-mtSp170 {
        margin-top: 170px !important;
        margin-top: 10.625rem !important;
    }
    .u-mtSp180 {
        margin-top: 180px !important;
        margin-top: 11.25rem !important;
    }
    .u-mtSp190 {
        margin-top: 190px !important;
        margin-top: 11.875rem !important;
    }
    .u-mtSp200 {
        margin-top: 200px !important;
        margin-top: 12.5rem !important;
    }
    .u-pc {
        display: none;
    }
    .u-rootText {
        font-size: 16px;
    }
    .u-sp {
        display: block;
    }
    .u-textMdLeft {
        text-align: Left !important;
    }
    .u-textMdCenter {
        text-align: Center !important;
    }
    .u-textMdRight {
        text-align: Right !important;
    }
    .u-textMdJustify {
        text-align: Justify !important;
    }

    .p-mv {
        height: 100vh;
    }

    .p-mv__btnContact::before {
        top: calc(0.5lh + 0.6rem);
    }

    .p-top-task__list {
        /* grid-template-columns: repeat(2, 11rem); */
        grid-template-columns: repeat(2, max(11rem, 42vw));
    }

    .p-top-task__title {
        font-size: 1.375rem;
        padding: 0 1rem;
    }

    .p-top-task__item {
        /* width: 11rem; */
        width: max(11rem, 42vw);
        padding: 0.5rem;
    }

    .p-top-task__itemLeft {
        flex: 0 0 44px;
        width: 44px;
    }

    .p-top-task__desc {
        font-size: 14px;
    }
}

@media screen and (max-width: 425px) {
    .free-consult .worries {
        padding: 49px 17.5px 53px;
    }
    .free-download .free-download__title {
        font-size: 2.125rem;
    }
    .free-download__ttl {
        font-size: 1.25rem;
    }
    .free-download .free-download__messages {
        font-size: 0.8125rem;
    }
    .free-download .worries {
        padding: 49px 17.5px 53px;
    }
    .free-download .worries__ttl {
        font-size: 1.25rem;
    }
    .free-download .worries__items {
        font-size: 0.9375rem;
    }
    .free-download .free-download__description-txt {
        font-size: 0.9375rem;
    }
    .free-download__form-title {
        font-size: 1.125rem;
    }
    .free-download__form-subtitle {
        font-size: 0.875rem;
    }
    .p-formCheckbox input + span {
        font-size: 0.9375rem;
    }
    .p-formRadio input + span {
        font-size: 0.9375rem;
    }
    .p-result__contentItem:not(:last-child)::after {
        margin-left: 0.5rem;
    }
}

@media screen and (max-width: 375px) {
    html {
        font-size: 4.2666666667vw;
    }
    .u-rootText {
        font-size: 4.2666666667vw;
    }
}

@media (any-hover: hover) {
    .c-btn__allShowLink:hover {
        opacity: 0.8;
        transition: 0.5s;
    }
    .p-btn__btnDownload:hover,
    .p-btn__btnContact:hover {
        opacity: 0.8;
        transition: 0.3s all;
    }
    .p-contact__downloadBtnLink:hover {
        opacity: 0.8;
        transition: 0.5s;
    }
    .p-mv__btnDownload:hover,
    .p-mv__btnContact:hover {
        opacity: 0.8;
        transition: 0.3s all;
    }
    .p-pageTop__wrap:hover img:nth-of-type(1) {
        opacity: 0;
        transition: 0.5s opacity;
    }
    .p-pageTop__wrap:hover img:nth-of-type(2) {
        opacity: 1;
        transition: 0.5s opacity;
    }
    .p-service__btn:hover {
        opacity: 0.8;
        transition: 0.5s;
    }
    .p-showcase__cardItemTitle:hover {
        color: #004697;
        opacity: 0.8;
        transition: 0.5s;
    }
    .p-showcase__detailLink:hover .p-showcase__detailLinkWrap img {
        transform: translateX(0.625rem);
    }
    .p-showcase__allShowLink:hover {
        opacity: 0.8;
        transition: 0.5s;
    }
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

.container.default {
    margin-top: 3rem;
}

.container.default h1.entry-title {
    color: #003978;
}

.afterThanks__tit {
    text-align: center;
}

.afterThanks__boxes {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin: 30px 0;
}

.afterThanks__box {
    padding: 1.6rem 2.4rem 2.4rem;
    background: #f1f5f9;
    width: 30rem;
}

.afterThanks__boxTit {
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    color: #003978;
    margin-bottom: 1rem;
}

.afterThanks__linkBtn a {
    background: #be9200;
    text-align: center;
    padding: 1rem;
    font-weight: bold;
    display: block;
    color: #fff;
    height: 4rem;
    font-size: 1.2rem;
    border-radius: 100rem;
}

.afterThanks__telBtn a {
    background: #fff;
    text-align: center;
    padding: 0 1rem;
    display: block;
    color: #be9200;
    font-size: 2rem;
    height: 4rem;
    border-radius: 100rem;
}

.afterThanks__telTxt {
    text-align: center;
}

@media screen and (max-width: 767px) {
    .afterThanks__boxes {
        flex-wrap: wrap;
    }

    .afterThanks__linkBtn a {
        height: auto;
        font-size: 16px;
        width: 100%;
        padding: 1rem;
        line-height: 1.4;
    }

    .afterThanks__telBtn a {
        height: auto;
        width: 100%;
        margin-bottom: 10px;
    }

    .afterThanks__telTxt {
        line-height: 1.2;
        font-size: 12px;
    }

    .afterThanks__box {
        padding: 1rem 1.5rem;
    }

    .afterThanks__boxTit {
        line-height: 1.4;
    }
}

/*# sourceMappingURL=sourcemaps/add-custom-style.css.map */
