@charset "UTF-8";

.l-contents {
    overflow: hidden;
}
.l-main {
    width: 100%;
    padding: 0;
}
.l-main * {
    font-family: 'Noto Sans JP', sans-serif;
}



svg.icon-arrow {
    width: 5px;
    height: 8px;
}

.ui-arrow--blue {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: #FFFFFF;
    background: #004187;
    padding: 0 0 0 1px;
}
.ui-arrow--blue a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: #FFFFFF;
    background: #004187;
    padding: 0 0 0 1px;
}
.ui-arrow--white {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: #FFFFFF;
    background: #FFFFFF;
    padding: 0 0 0 1px;
}

.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    position: unset;
    margin-top: 25px;
}

span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #004187;
}

span.swiper-pagination-bullet {
    margin: 0 7px!important;
    width: 10px;
    height: 10px;
    opacity: 1;
    background: unset;
    border: 1px solid #004187;
}
/* =========================================
   Main Visual Section
   ========================================= */

.p-mv {
    position: relative;
    overflow: hidden;
}

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

.p-mv__slide {
    width: 100%;
    height: 100%;
    position: relative;
}
.p-mv__slide-item {
    text-align: center;
}
.p-mv__slide-item img {
    width: 100%;
    height: 100%;
}
.p-mv__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.p-mv__bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-mv__map {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.p-mv__map img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-mv__content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-mv__catch {
    width: 561px;
    height: 394px;
    position: relative;
}

.p-mv__catch-bg {
    width: 561px;
    height: 219px;
    background-color: #004187;
    border: 10px solid #004187;
    padding: 85px 31px 0;
    position: relative;
}

.p-mv__catch-en {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 90px;
    font-weight: 700;
    line-height: 1;
    color: #FFFFFF;
    text-align: left;
    margin: 0 0 15px 0;
}

.p-mv__catch-ja {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    text-align: left;
    margin: 0 0 22px 0;
    padding-left: 132px;
}

.p-mv__catch-tags {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 6px;
    padding-left: 55px;
}

.p-mv__catch-tag {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 0 20px 2px;
    width: 100px;
    height: 38px;
    background-color: #FFF887;
    border-radius: 5px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #004187;
    text-align: center;
}

.p-mv__catch-tag-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    text-align: left;
}

.p-mv__features {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 30px;
    margin-top: 25px;
    padding-left: 10px;
}

.p-mv__feature {
    width: 160px;
    height: 150px;
    position: relative;
}

.p-mv__feature img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.p-mv__feature-text {
    position: absolute;
    left: 24px;
    top: 45px;
    width: 112px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
    text-align: center;
    margin: 0;
}

.p-mv__feature-badge {
    position: absolute;
    left: 32px;
    bottom: 27px;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 0;
}

.p-mv__feature-badge-no {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.1;
    color: #FFF100;
    text-align: left;
}

.p-mv__feature-badge-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
    text-align: left;
}

.p-mv__feature-title {
    position: absolute;
    left: 20px;
    top: 47px;
    width: 120px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.1;
    color: #004187;
    text-align: center;
    margin: 0;
}

.p-mv__pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background-color: #FFFFFF;
    opacity: 0.5;
    margin: 0 5px;
}

.p-mv__pagination .swiper-pagination-bullet-active {
    opacity: 1;
}

.p-mv__button-prev,
.p-mv__button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease;
}

.p-mv__button-prev:hover,
.p-mv__button-next:hover {
    opacity: 0.7;
}

.p-mv__button-prev {
    left: 20px;
}

.p-mv__button-next {
    right: 20px;
}

.p-mv__button-prev::after,
.p-mv__button-next::after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #004187;
    border-right: 2px solid #004187;
}

.p-mv__button-prev::after {
    transform: rotate(-135deg);
}

.p-mv__button-next::after {
    transform: rotate(45deg);
}

/* =========================================
   News Simple Section
   ========================================= */

.p-news-simple {
    width: 100%;
    padding: 50px 0;
    background-color: #EEFDFF;
}

.p-news-simple__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.p-news-simple__contents {
    width: 1140px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
    padding: 0 40px 0 0;
    background-color: #FFFFFF;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    border-radius: 5px;
    position: relative;
}

.p-news-simple__headline {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 0 13px 0 15px;
    height: 40px;
    background-color: #004187;
    border-radius: 5px 0px 0px 5px;
    flex-shrink: 0;
}

.p-news-simple__headline-text {
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    text-align: left;
    margin: 0;
}

.p-news-simple__content {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    flex-grow: 1;
    padding: 9px 0;
}

.p-news-simple__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
    text-align: left;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    text-overflow: ellipsis;
}
.p-news-simple__content .p-news-simple__btn.ui-arrow--blue {
    position: absolute;
    right: 10px;
}
.p-news-simple__arrow {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 11px 1px 11px 2px;
    width: 20px;
    height: 20px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    transition: opacity 0.3s ease;
    flex-shrink: 0;
}

.p-news-simple__arrow:hover {
    opacity: 0.7;
}

.p-news-simple__arrow img {
    display: block;
    width: 3px;
    height: 6px;
    transition: transform 0.3s ease;
}

.p-news-simple__list {
    width: 1140px;
    margin: 0 auto;
    padding: 20px 0 0 0;
}

.p-news-simple__list-inner {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.p-news-simple__list-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
    padding: 20px;
    background-color: #FFFFFF;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    border-radius: 5px;
}

.p-news-simple__list-date {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 4px 0 0 0;
    flex-shrink: 0;
}

.p-news-simple__list-date-text {
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: left;
    margin: 0;
}

.p-news-simple__list-txt-box {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-grow: 1;
}

.p-news-simple__list-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #004187;
    text-align: left;
    margin: 0;
}

.p-news-simple__list-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: left;
    margin: 0;
}

/* =========================================
   Number List Section
   ========================================= */

.p-number-list {
    width: 100%;
    padding: 80px 0;
    background-color: #FFFFFF;
}

.p-number-list__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.p-number-list__contents {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 18px;
    padding: 27px 12px 27px 28px;
    background-color: #FFFFFF;
    border: 2px solid #5BA3D3;
    border-radius: 10px;
    width: 415px;
    height: 142px;
}

.p-number-list__contents-ttl {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 10px 10px;
    width: 112px;
    height: 82px;
    background-color: #004187;
}

.p-number-list__contents-ttl-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    text-align: center;
    margin: 0;
}

.p-number-list__contents-number {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
    width: 231px;
}
.p-number-list__contents-number span {
    font-family: 'Roboto', sans-serif;
    font-size: 70px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #004187;
}
.p-number-list__membership {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    padding: 28px;
    background-color: #FFFFFF;
    border: 2px solid #5BA3D3;
    border-radius: 10px;
    position: relative;
    width: 715px;
    height: 142px;
    justify-content: space-between;
}

.p-number-list__membership-ttl {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 112px;
    height: 82px;
    background-color: #004187;
}

.p-number-list__membership-ttl-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    text-align: center;
    margin: 0;
}

.p-number-list__membership-content {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.p-number-list__membership-number {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #333333;
    text-align: center;
    margin: 0;
}
.p-number-list__membership-number span {
    font-family: 'Roboto', sans-serif;
    font-size: 70px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
    margin-right: 0px;
    color: #C80000;
}
.p-number-list__membership-btn svg {
    color: #004187;
}
.p-number-list__membership-btn {
    display: flex;
    align-items: center;
    padding: 8px 0 8px 30px;
    gap: 6px;
    width: 280px;
    height: 70px;
    background-color: #FAF26A;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    border-radius: 10px;
    text-decoration: none;
    transition: 0.6s;
}

.p-number-list__membership-btn:hover {
    opacity: 0.8;
}

.p-number-list__membership-btn span {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #004187;
    text-align: center;
}

.p-number-list__membership-btn img {
    display: block;
    width: 6px;
    height: 10px;
}

.p-number-list__membership-ribbon {
    position: absolute;
    top: -24px;
    left: 0;
    right: 0;
    margin: auto;
    width: 480px;
    height: 54px;
}

.p-number-list__membership-ribbon::before {
    content: '';
    position: absolute;
    width: 472px;
    height: 46px;
    background: url(/images/top/icn_ribbon.webp) no-repeat center center / cover;
}

.p-number-list__membership-ribbon::after {
    /* content: ''; */
    position: absolute;
    right: 0;
    top: 9.62px;
    width: 46px;
    height: 35.29px;
    background-color: #AC0000;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 100% 50%);
}

.p-number-list__membership-ribbon-text {
    position: relative;
    z-index: 1;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    text-align: center;
    margin: 0;
    padding: 0 20px;
    height: 100%;
}
.p-number-list__membership-ribbon-text span.num {
    font-size: 28px;
    font-weight: 700;
}
.p-number-list__membership-ribbon-text span {
    font-size: 24px;
    font-weight: 700;
}

/* =========================================
   Main Search Section
   ========================================= */
#top-search {
    padding-top: 250px;
    margin-top: -250px;
}
.p-main-search {
    padding: 80px 0;
    background-color: #EEFDFF;
}

.p-main-search__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

/* Headline */
.p-main-search__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.p-main-search__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    margin: 0;
}

.p-main-search__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

/* Search Box */
.p-main-search__box {
    position: relative;
    width: 1140px;
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 40px;
    padding: 60px;
}

.p-main-search__bg {
    position: absolute;
    top: -212px;
    left: 110px;
    z-index: 0;
}

.p-main-search__bg img {
    display: block;
    width: 232px;
    height: 191px;
}

/* Freeword Search */
form#searchform {
    position: relative;
}

input[type="text"].p-main-search__freeword-label {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin: 0;
    width: 1020px;
    height: 60px;
    background-color: #F3F3F3;
    border-radius: 10px;
    padding: 10px 150px 10px 20px;
    border: none;
}
input[type="text"].p-main-search__freeword-label::placeholder {
    color: #CFCFCF;
}
.p-main-search__freeword-btn {
    position: absolute;
    right: 10px;
    top: 10px;
}

.p-main-search__freeword-btn input {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 122px;
    height: 40px;
    padding: 0 0 0 26px;
    background-color: #004187;
    border: none;
    border-radius: 5px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.7;
    letter-spacing: 0.1em;
}
.p-main-search__freeword-btn::before {
    content: "";
    background: url(/images/top/icn_search-btn.svg) no-repeat center center / cover;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    margin: auto;
    pointer-events: none;
}
.p-main-search__freeword-btn img {
    display: block;
    width: 18px;
    height: 18px;
}

.p-main-search__freeword-btn span {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
}

.p-main-search__freeword-btn:hover {
    opacity: 0.9;
}

/* Main Search */
.p-main-search__main {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 29px;
}

.p-main-search__main-header {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.p-main-search__main-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    margin: 0;
}

.p-main-search__main-count {
    display: flex;
    align-items: flex-end;
    gap: 1px;
}

.p-main-search__main-count-label {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
}

.p-main-search__main-count-number {
    font-family: 'Roboto', sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 0.9;
    color: #004187;
}

.p-main-search__main-count-unit {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
}

.p-main-search__main-buttons {
    position: relative;
    width: 1020px;
    display: flex;
    justify-content: stretch;
    align-items: stretch;
    gap: 12px;
}

.p-main-search__main-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 23px 0;
    background-color: #004187;
    border: none;
    border-radius: 10px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    cursor: pointer;
}

.p-main-search__main-btn-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
}

.p-main-search__main-btn-icon img {
    display: block;
    width: 100%;
    height: 100%;
}

.p-main-search__main-btn-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    margin-top: 1px;
}

.p-main-search__main-btn:hover {
    opacity: 0.9;
}

/* Header Accordion Popup */
.p-header-accordion {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 246px;
    height: 120px;
    padding: 10px;
    background-color: #004187;
    border-radius: 15px;
    flex-wrap: wrap;
    gap: 4px;
    z-index: 1000;
}

.p-header-accordion.is-active {
    display: flex;
}

.p-header-accordion__item {
    flex: 1;
    min-width: calc(50% - 2px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
}

.p-header-accordion__btn {
    width: 100%;
    height: 100%;
    min-height: 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #FFFFFF;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    padding: 10px;
    text-decoration: none;
    color: inherit;
}

.p-header-accordion__btn.is-active {
    background: #5BA3D3;
}
.p-header-accordion__btn:hover {
    opacity: 1;
    background: #5BA3D3;
}
.p-header-accordion__btn-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
    color: #004187;
    width: 100%;
}

.p-header-accordion__btn.is-active .p-header-accordion__btn-text {
    color: #FFFFFF;
}
.p-header-accordion__btn:hover .p-header-accordion__btn-text {
    color: #FFFFFF;
}
.p-header-accordion__overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0);
    z-index: 999;
}

.p-header-accordion__overlay.is-active {
    display: block;
}

.p-main-search__main-content {
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
}
/* Price Search */
.p-main-search__price {
}

.p-main-search__price-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    margin: 0;
}

.p-main-search__price-buttons {
    margin-top: 10px;
    width: 100%;
    display: flex;
    gap: 12px;
}

.p-main-search__price-btn {
    /* flex: 1; */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 154px;
    height: 120px;
    background-color: #5BA3D3;
    border-radius: 10px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    transition: 0.6s;
}

.p-main-search__price-btn:nth-child(2) {
    padding: 13px 33px;
}

.p-main-search__price-btn:nth-child(3) {
    padding: 13px 18px;
}

.p-main-search__price-btn-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    display: block;
}
.p-main-search__price-btn-text span {
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    font-weight: 700;
}
.p-main-search__price-btn:hover {
    opacity: 0.9;
}

/* Member Search */
.p-main-search__member {
}

.p-main-search__member-header {
    display: flex;
    gap: 8px;
}

.p-main-search__member-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    margin: 0;
}

.p-main-search__member-count {
    display: flex;
    align-items: flex-end;
    gap: 1px;
}

.p-main-search__member-count-label {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
}

.p-main-search__member-count-number {
    font-family: 'Roboto', sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 0.9;
    color: #C80000;
}

.p-main-search__member-count-unit {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
}

.p-main-search__member-btn {
    margin-top: 9px;
    width: 504px;
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background-color: #FFF887;
    border-radius: 15px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    transition: 0.6s;
}

.p-main-search__member-btn-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
}

.p-main-search__member-btn-icon img {
    display: block;
    width: 100%;
    height: 100%;
}

.p-main-search__member-btn-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #004187;
}

.p-main-search__member-btn:hover {
    background-color: #FFEB3B;
}

/* Search Popup */
.p-search-popup {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: none;
}

.p-search-popup.is-active {
    display: block;
}

.p-search-popup__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
}

.p-search-popup__content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 500px;
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    z-index: 10001;
}

.p-search-popup__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #E0E0E0;
}

.p-search-popup__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    margin: 0;
}

.p-search-popup__close {
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: none;
    border: none;
    font-size: 24px;
    color: #333333;
    cursor: pointer;
    padding: 0;
}

.p-search-popup__close:hover {
    opacity: 0.7;
}

.p-search-popup__body {
    padding: 20px;
}

.p-search-popup__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.p-search-popup__item {
    margin: 0;
}

.p-search-popup__link {
    display: block;
    padding: 15px 20px;
    background-color: #F5F5F5;
    border-radius: 5px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
    text-decoration: none;
    text-align: center;
}

.p-search-popup__link:hover {
    background-color: #004187;
    color: #FFFFFF;
}

/* =========================================
   Area Information Section
   ========================================= */

.p-area-information {
    padding: 78px 0 101px;
    background-color: #FFFFFF;
}

.p-area-information__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 29px;
}

/* Headline */
.p-area-information__headline {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.p-area-information__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    margin: 0;
}

.p-area-information__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    margin: 0;
}

/* Contents */
.p-area-information__contents {
    position: relative;
    width: 1140px;
    height: 448px;
    margin: 0 auto;
}

.p-area-information__bg {
    position: absolute;
    top: -152px;
    right: 30px;
    z-index: 0;
}

.p-area-information__bg img {
    display: block;
    width: 205px;
    height: 185px;
}

/* Map */
.p-area-information__map {
    width: 510px;
    height: 448px;
    background-color: #FFFFFF;
    border-radius: 10px;
}

.p-area-information__map img {
    display: block;
    width: 100%;
    height: 100%;
}

/* List */
.p-area-information__list {
    position: absolute;
    top: 0;
    right: 0;
    width: 620px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.p-area-information__item {
    width: 100%;
    padding: 18px 17px 19px 18px;
    background-color: #FFFFFF;
    border: 2px solid;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.p-area-information__item--chikusa {
    border-color: #004187;
}

.p-area-information__item--meito {
    border-color: #2D74AF;
}

.p-area-information__item--syowa {
    border-color: #729DC2;
}

.p-area-information__item-header {
    display: flex;
    align-items: center;
}

svg.icon[class*="icon-area-"] {
    width: 16px;
    height: 20px;
}
svg.icon.icon-area-chikusa {
fill: #004187;
}
svg.icon.icon-area-meito {
fill: #2D74AF;
}
svg.icon.icon-area-syowa {
fill: #729DC2;
}
.p-area-information__item-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin: 0;
    margin-left: 5px;
}

.p-area-information__item--chikusa .p-area-information__item-title {
    color: #004187;
}

.p-area-information__item--meito .p-area-information__item-title {
    color: #2D74AF;
}

.p-area-information__item--syowa .p-area-information__item-title {
    color: #4D7EA7;
}

.p-area-information__item-line {
    display: block;
    width: 10px;
    height: 0;
    border-top: 2px solid;
    border-radius: 2px;
    margin-left: 3px;
}

.p-area-information__item--chikusa .p-area-information__item-line {
    border-top-color: #004187;
}

.p-area-information__item--meito .p-area-information__item-line {
    border-top-color: #2D74AF;
}

.p-area-information__item--syowa .p-area-information__item-line {
    border-top-color: #729DC2;
}

.p-area-information__item-subtitle {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    margin-left: 5px;
}

.p-area-information__item--chikusa .p-area-information__item-subtitle {
    color: #004187;
}

.p-area-information__item--meito .p-area-information__item-subtitle {
    color: #2D74AF;
}

.p-area-information__item--syowa .p-area-information__item-subtitle {
    color: #729DC2;
}

.p-area-information__item-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #333333;
    margin: 0;
}

/* =========================================
   Topics Section
   ========================================= */

.p-topics {
    padding: 100px 0;
    background-color: #EEFDFF;
}

.p-topics__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.p-topics__item {
    width: 360px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    background-color: #FFFFFF;
    border-radius: 15px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.p-topics__item:hover {
    transform: translateY(-5px);
    box-shadow: 2px 4px 20px 0px rgba(0, 65, 135, 0.2);
}

.p-topics__item-img {
    width: 360px;
    height: 240px;
    overflow: hidden;
    border-radius: 15px 15px 0 0;
}

.p-topics__item-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-topics__item-text {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 15px;
}

.p-topics__item-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
}

.p-topics__item-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    padding: 11px 1px 11px 2px;
}

.p-topics__item-arrow img {
    display: block;
    width: 3px;
    height: 6px;
}

/* =========================================
   Area Blog Section
   ========================================= */

.p-area-blog {
    padding: 80px 0;
    background-color: #FFFFFF;
}

.p-area-blog__inner {
    width: 1140px;
    margin: 0 auto;
    position: relative;
}

/* Headline */
.p-area-blog__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.p-area-blog__headline-ornament {
    display: block;
    width: 26px;
    height: 44px;
}

.p-area-blog__headline-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.p-area-blog__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    margin: 0;
}

.p-area-blog__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

/* Explanation */
.p-area-blog__explanation {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.p-area-blog__explanation-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #004187;
    text-align: center;
    margin: 0;
}

.p-area-blog__explanation-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}
.p-area-blog__bg.p-area-blog__bg--left {
    position: absolute;
    top: -20px;
    left: 35px;
}

.p-area-blog__bg.p-area-blog__bg--right {
    position: absolute;
    top: -100px;
    right: 50px;
}
/* Contents */
.p-area-blog__contents {
    margin: 31px calc(50% - 50vw) 0;
}

/* Tab */
.p-area-blog__tab {
    width: 100%;
    border-bottom: 4px solid #5BA3D3;
}

.p-area-blog__tab-list {
    width: 1140px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    gap: 5px;
}

.p-area-blog__tab-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 10px 9px;
    background-color: #B3CEDF;
    border: none;
    border-radius: 10px 10px 0 0;
    box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.2);
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.p-area-blog__tab-btn.is-active {
    background-color: #5BA3D3;
}

.p-area-blog__tab-btn:hover {
    background-color: #4A9BC8;
}

.p-area-blog__tab-line {
    width: 1920px;
    height: 4px;
    background-color: #5BA3D3;
}

.p-area-blog__tab-line img {
    display: block;
    width: 100%;
    height: 100%;
}

/* Item List */
.p-area-blog__item-list {
    margin-top: 30px;
}

.p-area-blog__item-content {
    display: none;
}

.p-area-blog__item-content.is-active {
    display: block;
}

.p-area-blog__swiper {
    width: 1050px;
    margin: 0 auto;
    position: relative;
}
.no-slide .p-area-blog__slide-list {
    display: flex;
    justify-content: center;
    gap: 30px;
}
.no-slide .p-area-blog__slide-item {
    width: 330px;
}

.p-area-blog__item {
    width: 330px;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    background-color: #FFFFFF;
    border: 1px solid #E2E2E2;
    border-radius: 10px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.p-area-blog__item:hover {
    transform: translateY(-5px);
    box-shadow: 2px 4px 20px 0px rgba(0, 65, 135, 0.2);
}
.p-area-blog__item-img {
    width: 330px;
    height: 220px;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    background: #e0e0e0;
}
.p-area-blog__item-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.p-area-blog__item-text {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    padding: 12px 20px 14px;
    gap: 0;
}

.p-area-blog__item-date {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #A5A5A5;
    margin: 0;
}

.p-area-blog__item-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-overflow: ellipsis;
}

/* Footer */
.p-area-blog__footer {
    margin-top: 20px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.p-area-blog__pager {
    display: flex;
    align-items: center;
    gap: 15px;
}

.p-area-blog__pager img {
    display: block;
}

.p-area-blog__more-btn {
    width: 280px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 0 8px 0;
    border: 1px solid #5BA3D3;
    background-color: #5BA3D3;
    border-radius: 40px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    transition: 0.6s;
}

.p-area-blog__more-btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #5BA3D3;
}

.p-area-blog__more-btn::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color 0.6s ease;
}

/* =========================================
   School Blog Section
   ========================================= */

.p-school-blog {
    padding: 80px 0;
    background-color: #EEFDFF;
}

.p-school-blog__inner {
    width: 1140px;
    margin: 0 auto;
    position: relative;
}

/* Headline */
.p-school-blog__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.p-school-blog__headline-ornament {
    display: block;
    width: 41px;
    height: 44px;
}

.p-school-blog__headline-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.p-school-blog__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    margin: 0;
}

.p-school-blog__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

/* Explanation */
.p-school-blog__explanation {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.p-school-blog__explanation-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #004187;
    text-align: center;
    margin: 0;
}

.p-school-blog__explanation-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}
.p-school-blog__bg.p-school-blog__bg--left {
    position: absolute;
    top: -100px;
    left: 70px;
}

.p-school-blog__bg.p-school-blog__bg--right {
    position: absolute;
    top: -4px;
    right: 40px;
}

/* Contents */
.p-school-blog__contents {
    margin: 31px calc(50% - 50vw) 0;
}

/* Tab */
.p-school-blog__tab {
    width: 100%;
    border-bottom: 4px solid #5BA3D3;
}

.p-school-blog__tab-list {
    width: 1140px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    gap: 5px;
}

.p-school-blog__tab-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 10px 9px;
    background-color: #B3CEDF;
    border: none;
    border-radius: 10px 10px 0 0;
    box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.2);
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.p-school-blog__tab-btn.is-active {
    background-color: #5BA3D3;
}

.p-school-blog__tab-btn:hover {
    background-color: #4A9BC8;
}

.p-school-blog__tab-line {
    width: 1920px;
    height: 4px;
    background-color: #5BA3D3;
}

.p-school-blog__tab-line img {
    display: block;
    width: 100%;
    height: 100%;
}

.p-school-blog__item-list {
    margin-top: 30px;
}
.p-school-blog__swiper {
    width: 1050px;
    margin: 0 auto;
    position: relative;
}
.no-slide .p-school-blog__slide-list {
    display: flex;
    justify-content: center;
    gap: 30px;
}
.no-slide .p-school-blog__slide-item {
    width: 330px;
}
.p-school-blog__item-content {
    display: none;
}

.p-school-blog__item-content.is-active {
    display: block;
}

.p-school-blog__item {
    width: 330px;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    background-color: #FFFFFF;
    border: 1px solid #E2E2E2;
    border-radius: 10px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.p-school-blog__item:hover {
    transform: translateY(-5px);
    box-shadow: 2px 4px 20px 0px rgba(0, 65, 135, 0.2);
}

.p-school-blog__item-img {
    width: 330px;
    height: 220px;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    background: #e0e0e0;
}

.p-school-blog__item-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.p-school-blog__item-text {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    padding: 12px 20px 14px;
    gap: 0;
}

.p-school-blog__item-date {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #A5A5A5;
    margin: 0;
}

.p-school-blog__item-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-overflow: ellipsis;
}

/* Footer */
.p-school-blog__footer {
    margin-top: 20px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.p-school-blog__pager {
    display: flex;
    align-items: center;
    gap: 15px;
}

.p-school-blog__pager img {
    display: block;
}

.p-school-blog__more-btn {
    width: 280px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 0 8px 0;
    border: 1px solid #5BA3D3;
    background-color: #5BA3D3;
    border-radius: 40px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    transition: 0.6s;
}

.p-school-blog__more-btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #5BA3D3;
}

.p-school-blog__more-btn::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color 0.6s ease;
}

/* =========================================
   Member Registration Section
   ========================================= */

.p-member {
    padding: 80px 0 110px;
    background-color: #FFFFFF;
}

.p-member__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

/* Headline */
.p-member__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.p-member__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    margin: 0;
}

.p-member__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

/* Contents */
.p-member__contents {
    width: 1140px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    padding: 30px 40px 45px;
    position: relative;
    background: url(/images/top/bg_member.webp) no-repeat center center / cover;
}

.p-member__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 1140px;
    height: 230px;
    z-index: 0;
}

.p-member__bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
}

.p-member__title {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    z-index: 1;
    justify-content: center;
}

.p-member__title-line {
    display: block;
    width: 373px;
    height: 1px;
    flex-shrink: 0;
}

.p-member__title-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    white-space: nowrap;
    text-align: center;
    margin: 0;
}

/* Point List */
.p-member__point-list {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    position: relative;
    z-index: 1;
}

.p-member__point-item {
    width: 340px;
    height: 100px;
    display: flex;
    flex-direction: row;
    gap: 13px;
    padding: 0 20px;
    background-color: #FFFFFF;
    border-radius: 10px;
    align-items: center;
}

.p-member__point-number {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: center;
    color: #004681;
    margin: 0;
    white-space: nowrap;
}
.p-member__point-number span {
        font-family: 'Roboto', sans-serif;
        font-size: 44px;
        font-weight: 700;
}
.p-member__point-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #004187;
    margin: 0;
    width: 234px;
}

/* Button */
.p-member__btn {
    width: 280px;
    height: 50px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 0 0 0 51px;
    background-color: #FFF100;
    border-radius: 40px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    transition: 0.6s;
    position: absolute;
    z-index: 1;
    bottom: -30px;
    left: 0;
    right: 0;
    margin: auto;
}

.p-member__btn:hover {
    opacity: 0.9;
}

.p-member__btn span {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #004187;
}

.p-member__btn img {
    display: block;
    width: 6px;
    height: 10px;
}

/* =========================================
   Instagram Section
   ========================================= */

.p-instagram {
    padding: 80px 0;
    background-color: #EEFDFF;
    position: relative;
    z-index: 0;
}
.p-instagram::after {
    content: "";
    background: #FFE6F3;
    width: 100%;
    height: 230px;
    position: absolute;
    bottom: 0;
    z-index: -1;
}
.p-instagram__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    position: relative;
}

/* Background */
.p-instagram__bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1920px;
    height: 230px;
    z-index: 0;
}

.p-instagram__bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
}

/* Decorative Images */
.p-instagram__deco-left {
    position: absolute;
    left: 350px;
    top: 418px;
    width: 193px;
    height: 217px;
    z-index: 1;
}

.p-instagram__deco-left img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.p-instagram__deco-right {
    position: absolute;
    right: 365px;
    top: 388px;
    width: 226px;
    height: 189px;
    z-index: 1;
}

.p-instagram__deco-right img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Headline */
.p-instagram__headline {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: relative;
    z-index: 2;
}
.p-instagram__headline::before {
    content: "";
    background: url(/images/top/icn_instagram-ttl-before.svg) no-repeat center center / cover;
    width: 47px;
    height: 70px;
    position: absolute;
    top: 2px;
    left: -53px;
}
.p-instagram__headline::after {
    content: "";
    background: url(/images/top/icn_instagram-ttl-after.svg) no-repeat center center / cover;
    width: 48px;
    height: 70px;
    position: absolute;
    top: 2px;
    right: -54px;
}
.p-instagram__headline-ornament {
    display: block;
    flex-shrink: 0;
}

.p-instagram__headline-txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.p-instagram__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    background: linear-gradient(90deg, rgba(255, 214, 0, 1) 0%, rgba(255, 122, 0, 1) 25%, rgba(255, 0, 105, 1) 50%, rgba(211, 0, 197, 1) 75%, rgba(118, 56, 250, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0;
}

.p-instagram__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

/* Movie List */
.p-instagram__contents {
    z-index: 1;
}
.p-area-instagram__bg.p-area-instagram__bg--left {
    position: absolute;
    bottom: 86px;
    left: -39px;
}
.p-area-instagram__bg.p-area-instagram__bg--right {
    position: absolute;
    bottom: 144px;
    right: -26px;
}
/* Button */
.p-instagram__btn {
    width: 360px;
    height: 60px;
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 8px 0 8px 75px;
    background: linear-gradient(95deg, rgba(255, 214, 0, 1) 3%, rgba(255, 122, 0, 1) 17%, rgba(255, 0, 105, 1) 51%, rgba(211, 0, 197, 1) 89%, rgba(118, 56, 250, 1) 100%);
    border-radius: 40px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    position: relative;
    z-index: 2;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    transition: 0.6s;
}

.p-instagram__btn::before{
    content: "";
    position: absolute;
    top: 1px;
    left: 1px;
    right: 1px;
    bottom: 1px;
    background: #fff;
    border-radius: 37px;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.6s ease;
}

.p-instagram__btn:hover {
    opacity: 0.9;
}

.p-instagram__btn:hover::before{
    opacity: 1;
}

.p-instagram__btn::after{
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color 0.6s ease;
}

.p-instagram__btn:hover{
    color: rgba(211, 0, 197, 1);
}

.p-instagram__btn img {
    display: block;
    width: 6px;
    height: 10px;
}

/* =========================================
   New Arrivals Section
   ========================================= */

.p-bkn {
    padding: 78px 0 80px;
    background-color: #FFFFFF;
}
.p-new-arrivals {
    padding: 78px 0 45px;
}
.p-family-bkn {
    background-color: #EEFDFF;
}
.p-renovation-bkn {
    padding: 78px 0 45px;
    background-color: #FFFFFF;
}
.p-ranking-bkn {
    background-color: #EEFDFF;
}
.p-bkn__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Headline */
.p-bkn__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    position: relative;
}
.p-bkn__headline::before {
    content: "";
    background: url(/images/top/icn_ttl-bkn.svg) no-repeat center center / cover;
    width: 202px;
    height: 46px;
}
.p-bkn__headline-line {
    display: block;
    width: 200px;
    height: 43px;
}

.p-bkn__headline-txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.p-bkn__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    margin: 0;
}

.p-bkn__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

/* Contents */
.p-bkn__contents {
    width: 1050px;
    margin: 29px auto 0;
    position: relative;
}

/* Panel List */
.p-bkn__panel-list {
    width: 100%;
}
.no-slide .p-bkn__panel-list {
    display: flex;
    justify-content: center;
    gap: 30px;
}
.no-slide .p-bkn__item {
    width: 330px;
}
.p-bkn__item {
    width: 330px;
    height: 355px;
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    position: relative;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.p-bkn__item:hover {
    transform: translateY(-5px);
    box-shadow: 2px 4px 20px 0px rgba(0, 65, 135, 0.2);
}

.p-bkn__item-img {
    width: 330px;
    height: 220px;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    background: #e0e0e0;
}

.p-bkn__item-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.p-bkn__item-tag-list {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    z-index: 1;
}

.p-bkn__item-tag {
    display: flex;
    align-items: center;
    padding: 4px 14px 0;
    border-radius: 30px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #FFFFFF;
}

.p-bkn__item-tag--new {
    width: 60px;
    height: 24px;
    background-color: #C80000;
}

.p-bkn__item-tag--type {
    height: 24px;
    padding: 0 12px 1px;
    background-color: #004187;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}

.bkn__favorite {
    background: url(/images/top/favorite_btn.webp) no-repeat center;
    width: 36px;
    height: 36px;
    position: absolute;
    top: 10px;
    right: 10px;
}
.bkn__favorite.is-checked {
    background: url(/images/top/favorite_btn_on.webp) no-repeat center;
}
.p-bkn__item-favorite img {
    display: block;
    width: 16px;
    height: 14px;
}

.p-bkn__item-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    padding: 11px 20px;
}

.p-bkn__item-title {
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    text-overflow: ellipsis;
}

.p-bkn__item-txt-box {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: stretch;
    gap: 33px;
}

.p-bkn__item-price {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}
.p-bkn__item-price span {
    font-family: 'Roboto', sans-serif;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0.02em;
    margin-right: 3px;
    color: #C80000;
}
.p-bkn__item-spec {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
    margin: 0;
}

.p-bkn__item-address {
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    text-overflow: ellipsis;
}

.p-bkn__item-traffic {
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    text-overflow: ellipsis;
    margin-top: 6px;
}

/* ranking */
.p-ranking-bkn .p-bkn__inner {
    gap: 30px;
}
.p-ranking-bkn .p-bkn__item {
    width: 450px;
    height: 435px;
    position: relative;
}
.p-ranking-bkn .p-bkn__item::before {
    content: '';
    display: block;
    width: 70px;
    height: 50px;
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
}
.p-ranking-bkn .p-bkn__item--01::before {
    background: url(/images/top/icon_ranking01.webp) no-repeat center / contain;
}
.p-ranking-bkn .p-bkn__item--02::before {
    background: url(/images/top/icon_ranking02.webp) no-repeat center / contain;
}
.p-ranking-bkn .p-bkn__item--03::before {
    background: url(/images/top/icon_ranking03.webp) no-repeat center / contain;
}
.p-ranking-bkn .p-bkn__item--04::before {
    background: url(/images/top/icon_ranking04.webp) no-repeat center / contain;
}
.p-ranking-bkn .p-bkn__item--05::before {
    background: url(/images/top/icon_ranking05.webp) no-repeat center / contain;
}
.p-ranking-bkn .p-bkn__item--06::before {
    background: url(/images/top/icon_ranking06.webp) no-repeat center / contain;
}
.p-ranking-bkn .p-bkn__item--07::before {
    background: url(/images/top/icon_ranking07.webp) no-repeat center / contain;
}
.p-ranking-bkn .p-bkn__item--08::before {
    background: url(/images/top/icon_ranking08.webp) no-repeat center / contain;
}
.p-ranking-bkn .p-bkn__item--09::before {
    background: url(/images/top/icon_ranking09.webp) no-repeat center / contain;
}
.p-ranking-bkn .p-bkn__item--10::before {
    background: url(/images/top/icon_ranking10.webp) no-repeat center / contain;
}
.p-ranking-bkn .p-bkn__item-img {
    width: 100%;
    height: 300px;
}

/* Pager */
.p-bkn__pager {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
}

.p-bkn__pager img {
    display: block;
}

/* Button */
.p-bkn__footer {
    margin-top: 25px;
}
.p-bkn__more-btn {
    width: 280px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 0 8px 0;
    border: 1px solid #5BA3D3;
    background-color: #5BA3D3;
    border-radius: 40px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    transition: 0.6s;
}

.p-bkn__more-btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #5BA3D3;
}

.p-bkn__more-btn::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color 0.6s ease;
}

/* =========================================
   Staff Section
   ========================================= */

.p-staff {
    padding: 60px 0;
    background-color: #FFFFFF;
}

.p-staff__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 50px;
}

/* Content Title Box */
.p-staff__content-titlebox {
    width: 280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 30px;
    flex-shrink: 0;
}

.p-staff__headline {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.p-staff__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    margin: 0;
}

.p-staff__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: left;
    margin: 0;
}
.p-staff__introduction-list-wrapper {
    width: 1070px;
    padding: 20px 10px;
    margin: 0 auto 0 0;
    overflow: visible;
    clip-path: inset(0 -230% 0 0);
}
/* Introduction List */
.p-staff__introduction-list {
    width: 100%;
}
.no-slide .p-staff__introduction-list {
    display: flex;
    gap: 30px;
}
.p-staff__introduction-item {
    width: 330px;
    padding: 0;
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.p-staff__introduction-item:hover {
    transform: translateY(-5px);
    box-shadow: 2px 4px 20px 0px rgba(0, 65, 135, 0.2);
}

.p-staff__introduction-img {
    width: 330px;
    height: 220px;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    background: #e0e0e0;
}

.p-staff__introduction-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.p-staff__introduction-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    gap: 6px;
    padding: 12px 20px 15px;
}

.p-staff__introduction-name {
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

.p-staff__introduction-text {
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
    text-align: center;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
}

.p-staff__more-btn {
    width: 280px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 0 8px 0;
    border: 1px solid #5BA3D3;
    background-color: #5BA3D3;
    border-radius: 40px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    transition: 0.6s;
}

.p-staff__more-btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #5BA3D3;
}

.p-staff__more-btn::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color 0.6s ease;
}

/* =========================================
   Voice Section
   ========================================= */

.p-voice {
    padding: 60px 0;
    background-color: #EEFDFF;
}

.p-voice__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 50px;
}
.p-voice__introduction-list-wrapper {
    width: 1070px;
    padding: 20px 10px;
    margin: 0 auto 0 0;
    overflow: visible;
    clip-path: inset(0 0 0 -230%);
}
/* Introduction List */
.p-voice__introduction-list {
    width: 100%;
}
.no-slide .p-voice__introduction-list {
    display: flex;
    gap: 30px;
}
.p-voice__introduction-item {
    width: 330px;
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.p-voice__introduction-item:hover {
    transform: translateY(-5px);
    box-shadow: 2px 4px 20px 0px rgba(0, 65, 135, 0.2);
}

.p-voice__introduction-img {
    width: 330px;
    height: 220px;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    background: #e0e0e0;
}

.p-voice__introduction-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.p-voice__introduction-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    gap: 6px;
    padding: 12px 20px 14px;
}

.p-voice__introduction-name {
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

.p-voice__introduction-text {
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
    text-align: center;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
}

/* Content Title Box */
.p-voice__content-titlebox {
    width: 280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 30px;
    flex-shrink: 0;
}

.p-voice__headline {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.p-voice__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    margin: 0;
}

.p-voice__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

.p-voice__more-btn {
    width: 280px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 0 8px 0;
    border: 1px solid #5BA3D3;
    background-color: #5BA3D3;
    border-radius: 40px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    transition: 0.6s;
}

.p-voice__more-btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #5BA3D3;
}

.p-voice__more-btn::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color 0.6s ease;
}

/* =========================================
   Blog Section
   ========================================= */

.p-blog {
    padding: 60px 0;
    background-color: #FFFFFF;
}

.p-blog__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 50px;
}

/* Content Title Box */
.p-blog__content-titlebox {
    width: 280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 30px;
    flex-shrink: 0;
}

.p-blog__headline {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.p-blog__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    margin: 0;
}

.p-blog__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: left;
    margin: 0;
}

.p-blog__more-btn {
    width: 280px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 0 8px 0;
    border: 1px solid #5BA3D3;
    background-color: #5BA3D3;
    border-radius: 40px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    transition: 0.6s;
}

.p-blog__more-btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #5BA3D3;
}

.p-blog__more-btn::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color 0.6s ease;
}
.p-blog__introduction-list-wrapper {
    width: 1070px;
    padding: 20px 10px;
    margin: 0 auto 0 0;
    overflow: visible;
    clip-path: inset(0 -230% 0 0);
}
/* Item List */
.p-blog__introduction-list {
    width: 100%;
}
.no-slide .p-blog__introduction-list {
    display: flex;
    gap: 30px;
}

.p-blog__introduction-item {
    width: 330px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.p-blog__introduction-item:hover {
    transform: translateY(-5px);
    box-shadow: 2px 4px 20px 0px rgba(0, 65, 135, 0.2);
}

.p-blog__introduction-img {
    width: 330px;
    height: 220px;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    background: #e0e0e0;
}

.p-blog__introduction-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.p-blog__introduction-txt-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 0;
    padding: 12px 20px 15px;
}

.p-blog__introduction-date {
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #A5A5A5;
    margin: 0;
}

.p-blog__introduction-title {
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-overflow: ellipsis;
}

/* =========================================
   News Section
   ========================================= */

.p-news {
    width: 100%;
    padding: 80px 0;
    background-color: #EEFDFF;
    position: relative;
}

.p-news__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    position: relative;
}

.p-news__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.p-news__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    text-align: center;
}

.p-news__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

.p-news__contents {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    padding: 40px 40px 40px;
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 20px;
    /* box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15); */
    position: relative;
}
.p-news__bg {
        position: absolute;
        top: -55px;
        right: 100px;
}
.p-news__info-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
    flex-grow: 1;
    max-height: 400px;
}

.p-news__info-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
    width: 1040px;
}
.p-news__info-item:not(:last-of-type) {
    margin-bottom: 25px;
}

.p-news__info-date {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 4px 0 0 0;
    flex-shrink: 0;
}

.p-news__info-date-text {
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: left;
    margin: 0;
}

.p-news__info-txt-box {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-grow: 1;
}

.p-news__info-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #004187;
    text-align: left;
    margin: 0;
}

.p-news__info-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: left;
    margin: 0;
}
.simplebar-track.simplebar-vertical {
    right: 3px;
    width: 1px;
    top: 0;
    background: #CFCFCF;
    border-radius: 12px;
    overflow: unset;
}
.simplebar-track.simplebar-vertical .simplebar-scrollbar {

    width: 7px;
}
.simplebar-track.simplebar-vertical .simplebar-scrollbar::before {
    top: 0;
    bottom: 0;
    right: 3px;
    left: unset;
    width: 7px;
    background: #004187;
    opacity: 1;
    border-radius: 12px;
    /* z-index: 3; */
}
.p-news__more-btn {
    width: 280px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 0 8px 0;
    border: 1px solid #5BA3D3;
    background-color: #5BA3D3;
    border-radius: 40px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    transition: 0.6s;
}

.p-news__more-btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #5BA3D3;
}

.p-news__more-btn::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color 0.6s ease;
}

/* =========================================
   Banner Section
   ========================================= */

.p-banner {
    width: 100%;
    padding: 80px 0;
    background-color: #FFFFFF;
}

.p-banner__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.p-banner__content {
    width: 1140px;
    height: 200px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.p-banner__content img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-banner__text {
    position: absolute;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.448;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

/* =========================================
   Company Section
   ========================================= */

.p-company {
    width: 100%;
    padding: 80px 0;
    background-color: #EEFDFF;
    position: relative;
}

.p-company__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 477px;
    z-index: 0;
}

.p-company__bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-company__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    position: relative;
    z-index: 1;
}

.p-company__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.p-company__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    text-align: center;
}

.p-company__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

.p-company__txt-box {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 1140px;
}

.p-company__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #004187;
    text-align: center;
    margin: 0;
}
.p-company__title span {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #004187;
}
.p-company__text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

/* =========================================
   Contents Section
   ========================================= */

.p-contents {
    width: 100%;
    padding: 80px 0;
    background-color: #FFFFFF;
}

.p-contents__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.p-contents__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.p-contents__headline-sub {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #004187;
    text-align: center;
}

.p-contents__headline-main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #333333;
    text-align: center;
    margin: 0;
}

.p-contents__btn-list {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: flex-start;
}

.p-contents__btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 7px 3px;
    width: 267px;
    height: 150px;
    border-radius: 20px;
    box-shadow: 2px 2px 15px 0px rgba(0, 65, 135, 0.15);
    text-decoration: none;
    transition: 0.6s;
    position: relative;
}

.p-contents__btn:hover {
    opacity: 0.8;
}

.p-contents__btn--yellow {
    background-color: #FFF887;
}

.p-contents__btn--sub {
    background-color: #5BA3D3;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 9px;
    padding: 50px 55px;
    width: 364px;
    height: 150px;
}

.p-contents__btn--main {
    background-color: #004187;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 50px 60px;
    width: 364px;
    height: 150px;
}

.p-contents__btn--line {
    background-color: #06C755;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 50px 56px;
    width: 364px;
    height: 150px;
}

.p-contents__btn-icon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    height: 60px;
}

.p-contents__btn-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.p-contents__btn-text-box {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.p-contents__btn-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: left;
}

.p-contents__btn--yellow .p-contents__btn-text {
    color: #004187;
}

.p-contents__btn--sub .p-contents__btn-text,
.p-contents__btn--main .p-contents__btn-text,
.p-contents__btn--line .p-contents__btn-text {
    color: #FFFFFF;
}

.p-news-simple__btn img {
    display: block;
    width: 5px;
    height: 8px;
}
