@charset "UTF-8";
/* =====================================
 * 変数
 * ================================== */
/* =====================================
 * メディアクエリ
 * ================================== */
/* =====================================
 * カテゴリーリスト
 * ================================== */
.c-cat02[class] li {
    line-height: 1.5;
}
.c-cat02[class] li > * {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    border-color: var(--c-pri);
    color: var(--c-pri);
    font-size: 0.75rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.c-cat02[class] li a:hover {
    background-color: var(--c-pri);
    color: var(--c-wht);
}
.c-cat02[class] li a.is-current,
.c-cat02[class] li span {
    background-color: var(--c-pri);
    color: var(--c-wht);
}

/* =====================================
 * フルー幅コンテンツ
 * ================================== */
.c-full-content {
    position: relative;
}
.c-full-content__header + *, .c-full-content__body + * {
    margin-top: 3.5rem;
}
@media (max-width: 767px) {
    .c-full-content__header + *, .c-full-content__body + * {
        margin-top: 1.5rem;
    }
}
.c-full-content__body {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* =====================================
 * ページャー
 * ================================== */
.c-pager__item[class] > * {
    border: none;
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    padding-top: 0.25rem;
}
@media (min-width: 960px) {
    .c-pager__item[class] + .c-pager__item[class] {
        margin-left: 1rem;
    }
}
.c-pager__item.-prev[class] > *, .c-pager__item.-next[class] > * {
    background-size: 0.5em auto;
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
    opacity: 0.5;
}
.c-pager__item.-prev[class] > *:hover, .c-pager__item.-next[class] > *:hover {
    background-color: transparent;
    -webkit-filter: grayscale(0%);
            filter: grayscale(0%);
    opacity: 1;
}
.c-pager__item.-prev[class] > *:hover {
    background-image: url(../img/ico_arr_left_pri.svg);
}
.c-pager__item.-next[class] > *:hover {
    background-image: url(../img/ico_arr_right_pri.svg);
}

/* =====================================
 * 下層ベースモジュール
 * ================================== */
/* ================================== */
h2.wp-block,
h2[class*=has-text-align],
h2[class*=font-size],
h2:not([class]) {
    border-color: var(--c-gry);
    color: var(--c-pri);
    padding-bottom: 1rem;
}
h2.wp-block + *,
h2[class*=has-text-align] + *,
h2[class*=font-size] + *,
h2:not([class]) + * {
    margin-top: 1.5rem;
}
@media (max-width: 767px) {
    h2.wp-block + *,
    h2[class*=has-text-align] + *,
    h2[class*=font-size] + *,
    h2:not([class]) + * {
        margin-top: 1.25rem;
    }
}

* + h2[class*=has-text-align],
* + h2[class*=font-size],
* + h2:not([class]) {
    margin-top: 8rem;
}
@media (max-width: 767px) {
    * + h2[class*=has-text-align],
    * + h2[class*=font-size],
    * + h2:not([class]) {
        margin-top: 3.5rem;
    }
}

/* ================================== */
h3.wp-block,
h3[class*=has-text-align],
h3[class*=font-size],
h3:not([class]) {
    color: var(--c-pri);
    padding-left: 1.5rem;
}
h3.wp-block::before,
h3[class*=has-text-align]::before,
h3[class*=font-size]::before,
h3:not([class])::before {
    width: 6px;
}
h3.wp-block + *,
h3[class*=has-text-align] + *,
h3[class*=font-size] + *,
h3:not([class]) + * {
    margin-top: 1.5rem;
}
@media (max-width: 767px) {
    h3.wp-block + *,
    h3[class*=has-text-align] + *,
    h3[class*=font-size] + *,
    h3:not([class]) + * {
        margin-top: 1.125rem;
    }
}

* + h3[class*=has-text-align],
* + h3[class*=font-size],
* + h3:not([class]) {
    margin-top: 3.5rem;
}
@media (max-width: 767px) {
    * + h3[class*=has-text-align],
    * + h3[class*=font-size],
    * + h3:not([class]) {
        margin-top: 1.5rem;
    }
}

/* ================================== */
h4.wp-block,
h4[class*=has-text-align],
h4[class*=font-size],
h4:not([class]) {
    color: var(--c-pri);
}
h4.wp-block + *,
h4[class*=has-text-align] + *,
h4[class*=font-size] + *,
h4:not([class]) + * {
    margin-top: 1rem;
}
@media (max-width: 767px) {
    h4.wp-block + *,
    h4[class*=has-text-align] + *,
    h4[class*=font-size] + *,
    h4:not([class]) + * {
        margin-top: 0.875rem;
    }
}

* + h4[class*=has-text-align],
* + h4[class*=font-size],
* + h4:not([class]) {
    margin-top: 3.5rem;
}
@media (max-width: 767px) {
    * + h4[class*=has-text-align],
    * + h4[class*=font-size],
    * + h4:not([class]) {
        margin-top: 1.5rem;
    }
}

/* =====================================
 * 前後の記事
 * ================================== */
.c-page-nav__list {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5rem;
}
@media (max-width: 767px) {
    .c-page-nav__list {
        gap: 2.5rem;
    }
}
.c-page-nav li span {
    display: none;
}
.c-page-nav li a {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    text-decoration: none;
    color: var(--c-blk);
}
@media (min-width: 960px) {
    .c-page-nav li a:hover {
        color: var(--c-pri);
    }
}
.c-page-nav li:has(a) + li span {
    display: block;
    background-color: var(--c-gry);
    width: 1px;
    height: 1.375rem;
}
.c-page-nav__link.-prev {
    background: no-repeat;
    background-size: 0.375rem auto;
    background-position: left center;
    background-image: url(../img/ico_arr_left_pri.svg);
    padding-left: 3rem;
}
@media (max-width: 767px) {
    .c-page-nav__link.-prev {
        padding-left: 2.5rem;
    }
}
.c-page-nav__link.-next {
    background: no-repeat;
    background-size: 0.375rem auto;
    background-position: right center;
    background-image: url(../img/ico_arr_right_pri.svg);
    padding-right: 3rem;
}
@media (max-width: 767px) {
    .c-page-nav__link.-next {
        padding-right: 2.5rem;
    }
}

/* =====================================
 * FAQ
 * ================================== */
.p-faq-list__list[class] {
    border: none;
}
.p-faq-list__item[class] {
    border: none;
    background: var(--c-wht);
    -webkit-box-shadow: 0 0 1.25rem rgba(68, 146, 211, 0.2);
            box-shadow: 0 0 1.25rem rgba(68, 146, 211, 0.2);
}
.p-faq-list__item + .p-faq-list__item {
    margin-top: 2.5rem;
}
@media (max-width: 767px) {
    .p-faq-list__item + .p-faq-list__item {
        margin-top: 1.25rem;
    }
}
.p-faq-list__a, .p-faq-list__q {
    padding-left: 5rem;
    padding-right: 4rem !important;
}
@media (max-width: 767px) {
    .p-faq-list__a, .p-faq-list__q {
        padding-left: 3.5rem;
        padding-right: 3rem !important;
    }
}
.p-faq-list__a::before, .p-faq-list__q::before {
    margin-left: 2rem;
}
@media (max-width: 767px) {
    .p-faq-list__a::before, .p-faq-list__q::before {
        margin-left: 1.25rem;
    }
}
.p-faq-list__q {
    font-size: 1.125rem;
}
.p-faq-list__q::before {
    content: "Q";
}
.p-faq-list__q::after {
    border: none !important;
    -webkit-transform: none !important;
            transform: none !important;
    margin-right: 2rem !important;
    margin-top: 2rem !important;
    background: no-repeat;
    background-size: 1.25rem auto;
    background-position: center center;
    background-image: url(../img/ico_plus.svg);
}
@media (max-width: 767px) {
    .p-faq-list__q::after {
        margin-right: 1.25rem !important;
    }
}
.p-faq-list__q.is-active::after {
    background-image: url(../img/ico_minus.svg);
}
.p-faq-list__a::before {
    content: "A";
    color: var(--c-pri);
}

/* =====================================
 * トピックス
 * ================================== */
.p-post-list__list {
    border-top: none;
}
.p-post-list__item {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    display: block;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
@media (max-width: 767px) {
    .p-post-list__item {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }
}
@media (min-width: 960px) {
    .p-post-list__item:has(a):hover {
        background-color: var(--c-pri-light);
    }
}
.p-post-list__meta {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
}
.p-post-list__meta + * {
    margin-top: 1rem;
}
@media (max-width: 767px) {
    .p-post-list__meta + * {
        margin-top: 0.5rem;
    }
}
.p-post-list__time {
    line-height: 1.5;
    color: var(--c-pri);
    font-weight: bold;
    font-size: 0.875rem;
}
.p-post-list__title[class] {
    line-height: 1.5;
}
.p-post-list__title[class] > * {
    background: none;
    padding-right: 0;
}

.p-post-detail__time {
    line-height: 1.5;
    color: var(--c-pri);
    font-weight: bold;
    font-size: 0.875rem;
}
.p-post-detail__title {
    font-size: 2rem;
}
@media (max-width: 767px) {
    .p-post-detail__title {
        font-size: 1.75rem;
    }
}

/* =====================================
 * 広告事例
 * ================================== */
@media (max-width: 767px) {
    .p-case-study-list.-slider {
        padding-left: 3.5rem;
        padding-right: 3.5rem;
    }
}
@media (min-width: 960px) {
    .p-case-study-list__list {
        -ms-grid-columns: 1fr 2.5rem 1fr;
        grid-template-columns: repeat(2, 1fr);
        display: -ms-grid;
        display: grid;
        gap: 2.5rem;
    }
}
.p-case-study-list.-slider .p-case-study-list__list {
    padding-bottom: 3.5rem;
}
@media (min-width: 960px) {
    .p-case-study-list.-slider .p-case-study-list__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 0;
    }
}
.p-case-study-list .swiper-button-prev.-slider,
.p-case-study-list .swiper-button-next.-slider {
    top: 50%;
    margin-top: -3rem;
}
@media (min-width: 768px) {
    .p-case-study-list .swiper-button-prev.-slider,
    .p-case-study-list .swiper-button-next.-slider {
        left: 50%;
        margin-top: -4rem;
    }
}
@media (max-width: 767px) {
    .p-case-study-list .swiper-button-prev.-slider {
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
    }
}
@media (min-width: 768px) {
    .p-case-study-list .swiper-button-prev.-slider {
        margin-left: calc((100vw - 260px) / 1.5 / 2 * -1);
        -webkit-transform: translateX(-280%);
                transform: translateX(-280%);
    }
}
@media (min-width: 1440px) {
    .p-case-study-list .swiper-button-prev.-slider {
        margin-left: calc((100vw - 260px) / 2 / 2 * -1);
        -webkit-transform: translateX(-220%);
                transform: translateX(-220%);
    }
}
@media (max-width: 767px) {
    .p-case-study-list .swiper-button-next.-slider {
        right: 0;
        left: auto;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
    }
}
@media (min-width: 768px) {
    .p-case-study-list .swiper-button-next.-slider {
        margin-left: calc((100vw - 260px) / 1.5 / 2 * 1);
        -webkit-transform: translateX(180%);
                transform: translateX(180%);
    }
}
@media (min-width: 1440px) {
    .p-case-study-list .swiper-button-next.-slider {
        margin-left: calc((100vw - 260px) / 2 / 2 * 1);
        -webkit-transform: translateX(125%);
                transform: translateX(125%);
    }
}
.p-case-study-list__item {
    background: var(--c-wht);
    -webkit-box-shadow: 0 0 1.25rem rgba(68, 146, 211, 0.2);
            box-shadow: 0 0 1.25rem rgba(68, 146, 211, 0.2);
}
@media (max-width: 767px) {
    .p-case-study-list__item + .p-case-study-list__item {
        margin-top: 1.25rem;
    }
}
.p-case-study-list__link {
    color: inherit;
    text-decoration: none;
    display: block;
    height: 100%;
    padding: 2.5rem;
    padding-bottom: 5rem;
    background: no-repeat;
    background-size: calc(0.375rem + 1px) auto;
    background-position-x: calc(100% - 2.5rem);
    background-position-y: calc(100% - 2.5rem);
    background-image: url(../img/ico_arr_right_pri.svg);
}
@media (max-width: 767px) {
    .p-case-study-list__link {
        background-position-x: calc(100% - 1.5rem);
        background-position-y: calc(100% - 1.5rem);
        padding: 1.25rem;
        padding-bottom: 3rem;
    }
}
.p-case-study-list__info {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-grid-columns: 10rem 1.5rem 1fr;
    grid-template-columns: 10rem 1fr;
    display: -ms-grid;
    display: grid;
    gap: 1.5rem;
}
@media (max-width: 767px) {
    .p-case-study-list__info {
        -ms-grid-columns: 7.5rem 1fr;
        grid-template-columns: 7.5rem 1fr;
    }
}
.p-case-study-list__info + * {
    margin-top: 2.5rem;
}
@media (max-width: 767px) {
    .p-case-study-list__info + * {
        margin-top: 1.25rem;
    }
}
.p-case-study-list__img {
    aspect-ratio: 160/80;
}
.p-case-study-list__img img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
    width: 100%;
}
.p-case-study-list__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.5;
    font-weight: bold;
    font-size: 1.25rem;
}
.p-case-study-list__detail dt, .p-case-study-detail__detail dt {
    display: inline-block;
    border: 1px solid var(--c-pri);
    color: var(--c-pri);
    line-height: 1.5;
    text-align: center;
    font-weight: bold;
    font-size: 0.875rem;
    width: 4.5rem;
    padding-top: 0.25rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-preferred-size: 4.5rem;
        flex-basis: 4.5rem;
    max-width: 4.5rem;
}
.p-case-study-list__detail dd, .p-case-study-detail__detail dd {
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}
.p-case-study-list__block, .p-case-study-detail__block {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem;
}
@media (max-width: 767px) {
    .p-case-study-list__block, .p-case-study-detail__block {
        gap: 1rem;
    }
}
.p-case-study-list__block + .p-case-study-list__block, .p-case-study-detail__block + .p-case-study-list__block, .p-case-study-list__block + .p-case-study-detail__block, .p-case-study-detail__block + .p-case-study-detail__block {
    margin-top: 1.5rem;
}
@media (max-width: 767px) {
    .p-case-study-list__block + .p-case-study-list__block, .p-case-study-detail__block + .p-case-study-list__block, .p-case-study-list__block + .p-case-study-detail__block, .p-case-study-detail__block + .p-case-study-detail__block {
        margin-top: 1rem;
    }
}
.p-case-study-list__area, .p-case-study-detail__area {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.p-case-study-list__area li + li::before, .p-case-study-detail__area li + li::before {
    content: "、";
}

.p-case-study-detail {
    border: 1px solid var(--c-gry);
    padding: 2.5rem;
}
@media (max-width: 767px) {
    .p-case-study-detail {
        padding: 1.25rem;
    }
}
* + .p-case-study-detail[class] {
    margin-top: 3.5rem;
}
@media (max-width: 767px) {
    * + .p-case-study-detail[class] {
        margin-top: 1.5rem;
    }
}
@media (min-width: 960px) {
    .p-case-study-detail__inner {
        direction: rtl;
        -ms-grid-columns: 26.25rem 2.5rem 1fr;
        grid-template-columns: 26.25rem 1fr;
        display: -ms-grid;
        display: grid;
        gap: 2.5rem;
    }
    .p-case-study-detail__inner * {
        direction: ltr;
    }
}
.p-case-study-detail__type + * {
    margin-top: 1.5rem;
}
@media (max-width: 767px) {
    .p-case-study-detail__type + * {
        margin-top: 1rem;
    }
}
.p-case-study-detail__type-list li {
    font-weight: bold;
}
.p-case-study-detail__type-list li::after {
    content: "業のお客様";
}
/* =====================================
 * フォーム
 * ================================== */
.p-form-contact__inner {
    -webkit-box-shadow: 0 0 1.25rem rgba(68, 146, 211, 0.2);
            box-shadow: 0 0 1.25rem rgba(68, 146, 211, 0.2);
    padding: 2.25rem 2.5rem;
}
@media (max-width: 767px) {
    .p-form-contact__inner {
        padding: 1.125rem 1.25rem;
    }
}
.p-form-contact__title {
    line-height: 1.5;
    text-align: center;
    font-weight: bold;
    font-size: 1.25rem;
}
.p-form-contact__time {
    text-align: center;
}
* + .p-form-contact__time {
    margin-top: 1.375rem;
}
@media (max-width: 767px) {
    * + .p-form-contact__time {
        margin-top: 1rem;
    }
}
.p-form-contact__tel {
    line-height: 1.25;
    color: var(--c-pri);
    text-align: center;
    font-weight: bold;
    font-size: 3rem;
}
@media (max-width: 767px) {
    .p-form-contact__tel {
        font-size: 2.375em;
    }
}
.p-form-contact__tel a {
    position: relative;
    text-decoration: none;
    padding-left: 3rem;
}
@media (max-width: 767px) {
    .p-form-contact__tel a {
        padding-left: 2.5rem;
    }
}
.p-form-contact__tel a::before {
    aspect-ratio: 1/1;
    background: url(../img/ico_tel.svg) no-repeat center center/contain;
    content: "";
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    width: 2.125rem;
}
@media (max-width: 767px) {
    .p-form-contact__tel a::before {
        width: 1.875rem;
    }
}

.p-form-step + * {
    margin-top: 5rem;
}
@media (max-width: 767px) {
    .p-form-step + * {
        margin-top: 2.5rem;
    }
}
* + .p-form-step {
    margin-top: 5rem;
}
@media (max-width: 767px) {
    * + .p-form-step {
        margin-top: 2.5rem;
    }
}
.p-form-step__list {
    position: relative;
    counter-reset: item;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.p-form-step__list::after {
    content: "";
    display: block;
    background-color: var(--c-gry);
    width: 100%;
    height: 0.25rem;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    margin-top: 1.125rem;
}
@media (min-width: 960px) {
    .p-form-step__list {
        max-width: 656px;
        margin-left: auto;
        margin-right: auto;
    }
}
.p-form-step__list li {
    position: relative;
    z-index: 10;
    text-align: center;
}
.p-form-step__list li::before {
    border-radius: 50%;
    counter-increment: item;
    content: counter(item);
    background-color: var(--c-gry);
    color: var(--c-wht);
    display: block;
    font-weight: bold;
    font-size: 1.25rem;
    width: 2.5rem;
    height: 2.5rem;
    padding-top: calc(0.125rem + 1px);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.5rem;
}
.p-form-step__list li span {
    font-weight: bold;
    color: var(--c-gry);
}
.p-form-step__list li span.is-active {
    color: var(--c-pri);
}
.p-form-step__list li:has(span.is-active)::before {
    background-color: var(--c-pri);
}

/* =====================================
 * 検索
 * ================================== */
.c-search-content {
    border-top: 1px solid var(--c-gry);
}
@media (min-width: 768px) {
    .c-search-content {
        padding: 2.5rem;
    }
}
.c-search-content + .c-search-content {
    margin-top: 0;
}
@media (max-width: 767px) {
    .c-search-content {
        padding: 1.25rem 0;
    }
}
.c-search-content.-last {
    border-bottom: 1px solid var(--c-gry);
}
.c-search-content.-last + * {
    margin-top: 5rem;
}
@media (max-width: 767px) {
    .c-search-content.-last + * {
        margin-top: 3.5rem;
    }
}
@media (min-width: 768px) {
    .c-search-content__inner {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -ms-grid-columns: 11rem 1fr;
        grid-template-columns: 11rem 1fr;
        display: -ms-grid;
        display: grid;
    }
}
.c-search-content__label {
    font-weight: bold;
    color: var(--c-pri);
}
.c-search-content__label + * {
    margin-top: 0.5rem;
}
@media (min-width: 768px) {
    .c-search-content__label + * {
        margin-top: 0;
    }
}
.c-search-content__list {
    -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr 1rem 1fr;
    grid-template-columns: repeat(4, 1fr);
    display: -ms-grid;
    display: grid;
    gap: 1rem;
}
@media (max-width: 767px) {
    .c-search-content__list {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    }
}
.c-search-content__btn {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    display: block;
    border: 1px solid var(--c-pri);
    border-radius: 1.5rem;
    line-height: 1.5;
    color: var(--c-pri);
    font-size: 0.75rem;
    padding: 0.625rem 0.5rem 0.5rem;
    width: 100%;
}
@media (min-width: 768px) {
    .c-search-content__btn:hover {
        background-color: var(--c-pri);
        color: var(--c-wht);
    }
}
.c-search-content__btn.is-active {
    background-color: var(--c-pri);
    color: var(--c-wht);
}

/* =====================================
 * セグメント項目
 * ================================== */
@media (min-width: 960px) {
    .p-segment-setting__list {
        -ms-grid-columns: 11.25rem 2.5rem 1fr;
        grid-template-columns: 11.25rem 1fr;
        gap: 2rem 2.5rem;
        display: -ms-grid;
        display: grid;
    }
}
.p-segment-setting__list dt,
.p-segment-setting__list dd {
    position: relative;
}
.p-segment-setting__list dt::after,
.p-segment-setting__list dd::after {
    content: "";
    display: block;
    background-color: var(--c-gry);
    width: 100%;
    height: 1px;
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    margin-bottom: -1.5rem;
}
@media (min-width: 960px) {
    .p-segment-setting__list dt::after,
    .p-segment-setting__list dd::after {
        margin-bottom: -1rem;
    }
}
.p-segment-setting__list dt {
    border: 1px solid var(--c-pri);
    color: var(--c-pri);
    font-weight: bold;
    font-size: 1rem;
    padding: 0.375rem 0.125rem 0.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.p-segment-setting__list dt::after {
    width: calc(100% + 2.625rem);
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
    display: none;
}
@media (min-width: 960px) {
    .p-segment-setting__list dt::after {
        display: block;
    }
}
.p-segment-setting__list * + dt {
    margin-top: 3rem;
}
@media (min-width: 960px) {
    .p-segment-setting__list * + dt {
        margin-top: 0;
    }
}
.p-segment-setting__list * + dd {
    margin-top: 1rem;
}
@media (min-width: 960px) {
    .p-segment-setting__list * + dd {
        margin-top: 0;
    }
}
.p-segment-setting__sub-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
}
@media (min-width: 768px) {
    .p-segment-setting__sub-list {
        gap: 1rem;
    }
}
.p-segment-setting__sub-list li > * {
    display: block;
    background-color: var(--c-gry-light);
    color: var(--c-gry-dark);
    text-align: center;
    font-weight: bold;
    font-size: 1rem;
    padding: 0.5rem 1.5rem 0.25rem;
}
@media (max-width: 767px) {
    .p-segment-setting__sub-list li > * {
        font-size: 1rem;
    }
}
.p-segment-setting__sub-list li > *.is-active {
    background-color: var(--c-pri-light);
    color: var(--c-pri);
}
.p-segment-setting__select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: none transparent;
    vertical-align: middle;
    text-align: center;
    font-size: inherit;
    color: var(--c-pri);
    background-color: var(--c-pri-light);
    font-size: 1rem;
    padding: 0.75rem 1.5rem 0.625rem;
}
.p-segment-setting__select.-bg-gry {
    font-weight: bold;
    color: var(--c-gry-dark);
    background-color: var(--c-gry-light);
}
.p-segment-setting__select.-width-auto {
    width: auto;
}
.p-segment-setting__select[multiple] {
    height: 12.75rem;
}
.p-segment-setting__select.is-active {
    color: var(--c-pri);
    background-color: var(--c-pri-light);
}
.p-segment-setting__select-wrap.-flex {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
}
.p-segment-setting__select-block {
    position: relative;
    display: inline-block;
}
.p-segment-setting__select-block::after {
    content: "";
    display: block;
    pointer-events: none;
    border-right: 2px solid var(--c-gry-dark);
    border-bottom: 2px solid var(--c-gry-dark);
    width: 0.5rem;
    height: 0.5rem;
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
    margin-right: 1rem;
    margin-top: -1px;
}
.p-segment-setting__select-block .p-segment-setting__select {
    padding-right: 2.5rem;
}
.p-segment-setting__select-mark {
    font-weight: bold;
    color: var(--c-gry-dark);
}
.p-segment-setting__desc {
    font-weight: bold;
    color: var(--c-gry-dark);
    font-size: 1.125rem;
}
* + .p-segment-setting__desc {
    margin-top: 1rem;
}

.p-segment-result__title {
    position: relative;
    text-align: center;
    color: var(--c-pri);
    font-weight: bold;
    font-size: 1.25rem;
    padding-bottom: 1.25rem;
}
@media (max-width: 767px) {
    .p-segment-result__title {
        font-size: 1.125rem;
    }
}
.p-segment-result__title + * {
    margin-top: 1.5rem;
}
.p-segment-result__title::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 1.25rem solid transparent;
    border-left: 1.25rem solid transparent;
    border-top: 1rem solid var(--c-pri);
    border-bottom: 0;
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}
.p-segment-result__inner {
    border: 1px solid var(--c-pri);
    padding: 1.25rem;
}
@media (min-width: 960px) {
    .p-segment-result__inner {
        padding: 1.5rem 2.5rem;
    }
}
.p-segment-result__list {
    -ms-grid-columns: 1fr 0.75rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    display: -ms-grid;
    display: grid;
    gap: 0.75rem;
}
@media (max-width: 767px) {
    .p-segment-result__list {
        display: block;
    }
}
.p-segment-result__list li {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem;
}
@media (max-width: 767px) {
    .p-segment-result__list li + li {
        margin-top: 0.5rem;
    }
}
.p-segment-result__label {
    display: inline-block;
    border: 1px solid var(--c-pri);
    color: var(--c-pri);
    text-align: center;
    font-weight: bold;
    font-size: 0.875rem;
    padding: 0.125rem 0.125rem 1px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-preferred-size: 8.25rem;
        flex-basis: 8.25rem;
    max-width: 8.25rem;
}
.p-segment-result__result {
    color: var(--c-pri);
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

* + .p-segment-btn {
    margin-top: 3.5rem;
}
@media (max-width: 767px) {
    * + .p-segment-btn {
        margin-top: 2rem;
    }
}
.p-segment-btn__lead {
    text-align: center;
    font-weight: bold;
    color: var(--c-pri);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
}
.p-segment-btn__lead + * {
    margin-top: 0.5rem;
}
.p-segment-btn__lead::after, .p-segment-btn__lead::before {
    content: "";
    display: inline-block;
    background-color: var(--c-pri);
    width: 1rem;
    height: 2px;
}
.p-segment-btn__lead::after {
    -webkit-transform: rotate(-60deg);
            transform: rotate(-60deg);
}
.p-segment-btn__lead::before {
    -webkit-transform: rotate(60deg);
            transform: rotate(60deg);
}
.p-segment-btn__img {
    width: 6.25rem;
    height: 6.25rem;
    background: no-repeat;
    background-size: contain;
    background-position: center center;
    background-image: url(../img/ico_form.svg);
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-preferred-size: 6.25rem;
        flex-basis: 6.25rem;
    max-width: 6.25rem;
}
@media (max-width: 767px) {
    .p-segment-btn__img {
        width: 4rem;
        height: 4rem;
        -ms-flex-preferred-size: 4rem;
            flex-basis: 4rem;
        max-width: 4rem;
    }
}
.p-segment-btn__link {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    text-decoration: none;
    border-radius: 1.5rem;
    background: var(--c-grade-blu);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1.5rem 5rem;
    gap: 2.5rem;
}
@media (max-width: 767px) {
    .p-segment-btn__link {
        border-radius: 1.25rem;
        padding: 1.25rem 1.25rem;
        gap: 1.25rem;
    }
}
@media (min-width: 768px) {
    .p-segment-btn__link:hover {
        opacity: 0.84;
    }
}
.p-segment-btn__link::after {
    content: "";
    aspect-ratio: 1/1;
    background: url(../img/ico_arr_right_wht.svg) no-repeat center center/contain;
    width: 1.25rem;
}
@media (max-width: 767px) {
    .p-segment-btn__link::after {
        width: 1rem;
    }
}
.p-segment-btn__text {
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}
.p-segment-btn__catch {
    font-weight: bold;
    color: var(--c-wht);
    font-size: 0.75rem;
}
.p-segment-btn__title {
    font-weight: bold;
    color: var(--c-wht);
    font-size: 1.5rem;
}
@media (max-width: 767px) {
    .p-segment-btn__title {
        font-size: 1.25rem;
    }
}