﻿* {
    margin: 0;
    padding: 0;
    line-height: calc(.5rem + 1em)
}

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

*:where(:not(fieldset, progress, meter)) {
    border-collapse: collapse;
    border-width: 0;
    border-style: solid;
    background-origin: border-box;
    background-repeat: no-repeat;
    text-align: center;
}

html {
    block-size: 100%;
    -webkit-text-size-adjust: none
}

@media (prefers-reduced-motion: no-preference) {
    html:focus-within {
        scroll-behavior: smooth
    }
}

body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeSpeed;
    min-block-size: 100%
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block
}

:where(img, svg, video) {
    block-size: auto;
    max-inline-size: 100%
}

:where(svg) {
    stroke: none;
    fill: currentColor
}

:where(svg):where(:not([fill])) {
    stroke: currentColor;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round
}

:where(svg):where(:not([width])) {
    inline-size: 5rem
}

:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
    color: inherit;
    font: inherit;
    font-size: inherit;
    letter-spacing: inherit
}

:where(textarea) {
    resize: vertical
}

@supports (resize: block) {
    :where(textarea) {
        resize: block
    }
}

:where(p, h1, h2, h3, h4, h5, h6) {
    overflow-wrap: break-word
}

h1 {
    font-size: 2em
}

:where(ul, ol) {
    list-style: none
}

a:not([class]) {
    text-decoration-skip-ink: auto
}

:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
    cursor: pointer;
    touch-action: manipulation;
    text-decoration: none
}

:where(input[type=file]) {
    cursor: auto
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
    cursor: pointer
}

@media (prefers-reduced-motion: no-preference) {
    :focus-visible {
        transition: outline-offset 145ms cubic-bezier(.25, 0, .4, 1)
    }

    :where(:not(:active)):focus-visible {
        transition-duration: .25s
    }
}

:where(:not(:active)):focus-visible {
    outline-offset: 5px
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    text-align: center
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset])[disabled] {
    cursor: not-allowed
}

:where(iframe[src*=youtube]) {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9
}

.is-pc {
    display: block
}

@media screen and (width < 769px) {
    .is-pc {
        display: none
    }
}

.is-sp {
    display: none
}

@media screen and (width < 769px) {
    .is-sp {
        display: block
    }
}

[data-anim-elm] {
    opacity: 0
}

[v-cloak] {
    display: none
}

table {
    width: 100%;
    border-collapse: collapse
}

button {
    outline: none;
    background: none
}

html {
    scroll-behavior: smooth
}

@media screen and (width < 769px) {
    html {
        font-size: calc(16 / 375 * 100vw)
    }
}

body {
    font-family: Noto Sans JP, Helvetica, Arial, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, 游ゴシック, "Yu Gothic ", YuGothic, Osaka, メイリオ, Meiryo, MS Pゴシック, MS P Gothic, sans-serif;
    background: #ccc
}

a {
    transition: opacity .3s ease
}

a:hover {
    opacity: .7
}

.title_anime {
    animation: fadeIn 1.2s cubic-bezier(.165, .84, .44, 1);
    position: relative;
    display: inline-block;
    overflow: hidden
}

.title_anime:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0%;
    background: #1a1a1a;
    z-index: 1;
    transition: none;
    pointer-events: none
}

.title_anime--white:before {
    background: #fff
}

.title_anime.is-active {
    animation: fadeIn 1.2s cubic-bezier(.165, .84, .44, 1)
}

.title_anime.is-active:before {
    animation: slideRight .5s cubic-bezier(.165, .84, .44, 1) forwards, clipOut .3s cubic-bezier(.77, 0, .175, 1) .5s forwards;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

.img_anime {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .5s cubic-bezier(.165, .84, .44, 1), transform .5s cubic-bezier(.165, .84, .44, 1)
}

.img_anime.is-active {
    animation: fadeUp 1.5s cubic-bezier(.165, .84, .44, 1) 1s forwards;
    transform: translateY(0)
}

@keyframes fadeIn {
    0% {
        clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%)
    }

    to {
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
    }
}

@keyframes slideRight {
    0% {
        width: 0%
    }

    to {
        width: 100%
    }
}

@keyframes clipOut {
    0% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
    }

    to {
        clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%)
    }
}

@keyframes fadeUp {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.pagination_block {
    margin-top: 40px
}

@media screen and (width < 769px) {
    .pagination_block {
        margin-top: calc(40 / 375 * 100vw)
    }
}

.pagination_block ul {
    display: flex;
    justify-content: center
}

.pagination_block ul .wp-pagenavi {
    display: flex;
    gap: 15px;
    align-items: center
}

@media screen and (width < 769px) {
    .pagination_block ul .wp-pagenavi {
        gap: calc(14 / 375 * 100vw)
    }
}

.pagination_block ul .wp-pagenavi a,
.pagination_block ul .wp-pagenavi span {
    font-family: Barlow, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: #1a1a1a;
    text-decoration: none;
    padding: 8px;
    background: #fff;
    border: 1px solid #1a1a1a;
    display: inline-block
}

@media screen and (width < 769px) {

    .pagination_block ul .wp-pagenavi a,
    .pagination_block ul .wp-pagenavi span {
        font-size: calc(14 / 375 * 100vw);
        padding: calc(8 / 375 * 100vw)
    }
}

.pagination_block ul .wp-pagenavi a.is-current,
.pagination_block ul .wp-pagenavi span.is-current {
    background: #1a1a1a;
    color: #fff
}

.pagination_block ul .wp-pagenavi .pagination_prev,
.pagination_block ul .wp-pagenavi .pagination_next {
    display: none
}

.pagination_block ul li a {
    font-family: Barlow, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: #1a1a1a;
    text-decoration: none;
    padding: 8px;
    background: #fff;
    border: 1px solid #1a1a1a
}

@media screen and (width < 769px) {
    .pagination_block ul li a {
        font-size: calc(14 / 375 * 100vw);
        padding: calc(8 / 375 * 100vw)
    }
}

.pagination_block ul li a.is-current {
    background: #1a1a1a;
    color: #fff
}

.pagination_block ul li:first-child {
    margin-left: 0
}

.pagination_block ul li:not(:first-child) {
    margin-left: 15px
}

@media screen and (width < 769px) {
    .pagination_block ul li:not(:first-child) {
        margin-left: calc(14 / 375 * 100vw)
    }
}

.footer_block {
    background: #fff
}

.footer_block__inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 130px 20px 30px
}

@media screen and (width < 769px) {
    .footer_block__inner {
        padding: 8vw calc(10 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.footer_block__top {
    display: flex;
    justify-content: flex-end;
    align-items: center
}

@media screen and (width < 769px) {
    .footer_block__top {
        flex-direction: column;
        gap: calc(20 / 375 * 100vw);
        align-items: flex-start
    }
}

.footer_block__left {
    display: flex;
    align-items: center
}

.footer_block__left .footer_block__logo img {
    width: 100px;
}

.footer_block__text {
    font-size: 20px;
    font-weight: 600;
    color: #2f3034;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif
}

@media screen and (width < 769px) {
    .footer_block__text {
        font-size: calc(13 / 375 * 100vw)
    }
}

.footer_block__nav_list {
    display: flex;
    gap: min(10 / 1440 * 100vw, 10px)
}

@media screen and (width < 769px) {
    .footer_block__nav_list {
        gap: calc(20 / 375 * 100vw);
        flex-direction: column
    }
}

.footer_block__right {
    margin-left: 100px;
}

@media screen and (width < 769px) {
    .footer_block__right {
        padding-inline: calc(25 / 375 * 100vw)
    }
}

.footer_block__nav_item a {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    line-height: 1;
    font-family: Barlow, sans-serif
}

.footer_block__nav_item:not(:last-child) {
    display: flex;
    align-items: center;
    gap: min(30 / 1440 * 100vw, 30px)
}

@media screen and (width < 769px) {
    .footer_block__nav_item:not(:last-child) {
        display: block;
        gap: 0
    }
}

.footer_block__nav_item:not(:last-child):after {
    content: "";
    display: block;
    width: 1px;
    height: 15px;
    background: #364246;
    margin-right: 30px
}

@media screen and (width < 769px) {
    .footer_block__nav_item:not(:last-child):after {
        display: none
    }
}

.footer_block__bottom {
    margin-top: 40px
}

@media screen and (width < 769px) {
    .footer_block__bottom {
        margin-top: calc(40 / 375 * 100vw);
        padding-inline: calc(20 / 375 * 100vw)
    }
}

.footer_block__copyright {
    font-family: Noto Sans JP, sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #1a1a1a;
    line-height: 1;
    text-align: center
}

@media screen and (width < 769px) {
    .footer_block__copyright {
        font-size: calc(14 / 375 * 100vw);
        text-align: left
    }
}

.header_block {
    background: #fff;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100
}

.header_block__inner {
    max-width: 100%;
    /* margin: 0 auto; */
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media screen and (width < 769px) {
    .header_block__inner {
        padding: calc(10 / 375 * 100vw) calc(10 / 375 * 100vw) 0
    }
}

.header_block__left a {
    display: flex;
    align-items: center
}

.header_block__logo {
    width: 90px
}

@media screen and (width < 769px) {
    .header_block__logo {
        width: calc(50 / 375 * 100vw)
    }
}

.header_block__logo img {
    width: 100%
}

.header_block__title {
    font-size: 20px;
    font-weight: 600;
    color: #2f3034;
    line-height: 1
}

@media screen and (width < 769px) {
    .header_block__title {
        font-size: 3.2vw
    }
}

.header_block__nav_list {
    display: flex;
    align-items: center;
    gap: 24px
}

@media screen and (width < 769px) {
    .header_block__nav_list {
        gap: calc(10 / 375 * 100vw)
    }
}

.header_block__nav_item a {
    font-family: Barlow, sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #2f3034;
    line-height: 1
}

.header_block__nav_item--contact a {
    background-color: rgb(42, 65, 152);
    color: #fff;
    padding: 18px 43px;
    border-radius: 6px
}

@media screen and (width < 769px) {
    .header_block__btn {
        background: #364246;
        border-radius: 6px;
        width: calc(50 / 375 * 100vw);
        height: calc(50 / 375 * 100vw);
        display: flex;
        flex-direction: column;
        gap: calc(5 / 375 * 100vw);
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 100
    }
}

.header_block__btn.is-open .header_block__btn_line:nth-child(1) {
    transform: rotate(25deg) translateY(calc(2 / 375 * 100vw))
}

.header_block__btn.is-open .header_block__btn_line:nth-child(2) {
    transform: rotate(-25deg) translateY(calc(-4 / 375 * 100vw))
}

@media screen and (width < 769px) {
    .header_block__btn_line {
        display: block;
        width: 6.4vw;
        height: 1px;
        background: #fff;
        transition: transform .3s ease-in-out
    }
}

.hamburger_menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 65%;
    height: 100%;
    z-index: 1;
    background: transparent;
    -webkit-backdrop-filter: blur(35px);
    backdrop-filter: blur(35px);
    transform: translate(100%);
    transition: transform .4s cubic-bezier(.77, 0, .175, 1)
}

.hamburger_menu.is-open {
    transform: translate(0)
}

@media screen and (width < 769px) {
    .hamburger_menu__inner {
        padding: calc(100 / 375 * 100vw) calc(70 / 375 * 100vw) 0 8vw
    }
}

@media screen and (width < 769px) {
    .hamburger_menu__list {
        display: flex;
        flex-direction: column;
        gap: calc(50 / 375 * 100vw)
    }
}

.hamburger_menu__item {
    position: relative
}

@media screen and (width < 769px) {
    .hamburger_menu__item a {
        font-size: calc(26 / 375 * 100vw);
        font-weight: 400;
        color: #1a1a1a;
        line-height: 1;
        font-family: Bebas Neue, sans-serif;
        letter-spacing: .03em
    }
}

.hamburger_menu__item:after {
    content: "";
    display: block;
    width: 3.2vw;
    height: calc(14 / 375 * 100vw);
    background: url(../image/icon_arrow_right.svg) no-repeat center center/contain;
    position: absolute;
    right: 8vw;
    top: 50%;
    transform: translateY(-50%)
}

.about_page {
    background: #fff
}

.about_page .container {
    overflow-x: hidden
}

.about_page .title_block {
    background: #fff
}

.about_page .title_block__inner {
    margin: 0 auto;
    max-width: 1160px;
    padding: 235px 0 1px
}

@media screen and (width < 769px) {
    .about_page .title_block__inner {
        max-width: 100%;
        padding: calc(100 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.about_page .title_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 100px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .about_page .title_block__title {
        font-size: 16vw
    }
}

.about_page .title_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    display: inline-block
}

@media screen and (width < 769px) {
    .about_page .title_block__sub_title {
        font-size: calc(14 / 375 * 100vw);
        margin-top: 0
    }
}

.about_page .philosophy_block {
    background: #fff
}

.about_page .philosophy_block__inner {
    margin: 0 auto;
    max-width: 1040px;
    padding: 150px 200px 60px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__inner {
        max-width: 100%;
        padding: calc(100 / 375 * 100vw) calc(20 / 375 * 100vw) calc(40 / 375 * 100vw)
    }
}

.about_page .philosophy_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 70px;
    font-weight: 400;
    text-align: center;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__title {
        font-size: calc(50 / 375 * 100vw)
    }
}

.about_page .philosophy_block__text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    background: linear-gradient(90deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    margin-top: 20px;
    text-align: center
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__text {
        font-size: 3.2vw;
        margin-top: calc(8 / 375 * 100vw)
    }
}

.about_page .philosophy_block__body {
    margin-top: 60px
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__body {
        margin-top: calc(40 / 375 * 100vw)
    }
}

.about_page .philosophy_block__body_item {
    display: flex;
    align-items: flex-start;
    gap: 40px
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__body_item {
        flex-direction: column;
        gap: calc(20 / 375 * 100vw)
    }
}

.about_page .philosophy_block__body_item:not(:first-child) {
    margin-top: 60px
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__body_item:not(:first-child) {
        margin-top: calc(40 / 375 * 100vw)
    }
}

.about_page .philosophy_block__left {
    position: relative;
    flex-shrink: 0;
    min-width: 365px
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__left {
        border-right: none;
        padding-right: 0
    }
}

.about_page .philosophy_block__body_item_title {
    font-family: Bebas Neue, sans-serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__body_item_title {
        font-size: calc(26 / 375 * 100vw)
    }
}

.about_page .philosophy_block__body_item_sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 10px
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__body_item_sub_title {
        font-size: calc(16 / 375 * 100vw);
        margin-top: calc(10 / 375 * 100vw)
    }
}

.about_page .philosophy_block__body_item_text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    color: #1a1a1a;
    line-height: 2;
    letter-spacing: .05em;
    border-left: 1px solid #364246;
    padding-left: 40px
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__body_item_text {
        font-size: 4vw;
        padding-left: 0;
        border-left: none;
        border-bottom: .5px solid #364246;
        padding-bottom: calc(50 / 375 * 100vw)
    }
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__body_item_text:nth-of-type(2) {
        border-bottom: none
    }
}

@media screen and (width < 769px) {
    .about_page .philosophy_block__body_item:nth-of-type(2) .philosophy_block__body_item_text {
        border-bottom: none
    }
}

.about_page .strengths_block {
    background: #f2f2f2
}

.about_page .strengths_block__inner {
    margin: 0 auto;
    max-width: 1040px;
    padding: 80px 200px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .about_page .strengths_block__inner {
        max-width: 100%;
        padding: calc(80 / 375 * 100vw) 8vw calc(40 / 375 * 100vw)
    }
}

.about_page .strengths_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 70px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    text-align: center
}

@media screen and (width < 769px) {
    .about_page .strengths_block__title {
        font-size: calc(50 / 375 * 100vw)
    }
}

.about_page .strengths_block__text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    background: linear-gradient(90deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    text-align: center;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .about_page .strengths_block__text {
        font-size: 3.2vw
    }
}

.about_page .strengths_block__body {
    margin-top: 60px
}

@media screen and (width < 769px) {
    .about_page .strengths_block__body {
        margin-top: calc(40 / 375 * 100vw)
    }
}

.about_page .strengths_block__list ul {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 80px 55px;
    align-items: baseline
}

@media screen and (width < 769px) {
    .about_page .strengths_block__list ul {
        display: block
    }
}

.about_page .strengths_block__list ul>li {
    grid-column: span 2
}

.about_page .strengths_block__list ul>li:nth-child(1) {
    grid-column: 1/span 2
}

.about_page .strengths_block__list ul>li:nth-child(2) {
    grid-column: 3/span 2
}

.about_page .strengths_block__list ul>li:nth-child(3) {
    grid-column: 5/span 2
}

.about_page .strengths_block__list ul>li:nth-child(4) {
    grid-column: 2/span 2
}

.about_page .strengths_block__list ul>li:nth-child(5) {
    grid-column: 4/span 2
}

@media screen and (width < 769px) {
    .about_page .strengths_block__item_wrapper:not(:first-child) {
        margin-top: calc(70 / 375 * 100vw)
    }
}

.about_page .strengths_block__item {
    display: flex;
    flex-direction: column;
    align-items: center
}

.about_page .strengths_block__img--01 {
    width: calc(170 / 1440 * 100vw);
    max-width: 170px
}

@media screen and (width < 769px) {
    .about_page .strengths_block__img--01 {
        width: 40vw;
        max-width: 100%
    }
}

.about_page .strengths_block__img--02 {
    width: calc(183 / 1440 * 100vw);
    max-width: 183px
}

@media screen and (width < 769px) {
    .about_page .strengths_block__img--02 {
        width: 43.2vw;
        max-width: 100%
    }
}

.about_page .strengths_block__img--03 {
    width: calc(134 / 1440 * 100vw);
    max-width: 134px
}

@media screen and (width < 769px) {
    .about_page .strengths_block__img--03 {
        width: 32vw;
        max-width: 100%
    }
}

.about_page .strengths_block__img--04 {
    width: calc(226 / 1440 * 100vw);
    max-width: 226px
}

@media screen and (width < 769px) {
    .about_page .strengths_block__img--04 {
        width: calc(190 / 375 * 100vw);
        max-width: 100%
    }
}

@media screen and (width < 769px) and (width < 769px) {
    .about_page .strengths_block__img--04 {
        width: calc(236 / 375 * 100vw);
        max-width: 100%
    }
}

.about_page .strengths_block__img--05 {
    width: calc(163 / 1440 * 100vw);
    max-width: 163px
}

@media screen and (width < 769px) {
    .about_page .strengths_block__img--05 {
        width: calc(145 / 375 * 100vw);
        max-width: 100%
    }
}

.about_page .strengths_block__img img {
    width: 100%
}

.about_page .strengths_block__list_num {
    font-family: Bebas Neue, sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 25px
}

@media screen and (width < 769px) {
    .about_page .strengths_block__list_num {
        font-size: calc(20 / 375 * 100vw);
        margin-top: calc(20 / 375 * 100vw)
    }
}

.about_page .strengths_block__list_title {
    font-family: Bebas Neue, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .05em;
    text-align: center;
    margin-top: 13px
}

@media screen and (width < 769px) {
    .about_page .strengths_block__list_title {
        font-size: 4.8vw;
        margin-top: calc(10 / 375 * 100vw)
    }
}

.about_page .strengths_block__list_text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    margin-top: 15px;
    line-height: 2;
    letter-spacing: .05em
}

@media screen and (width < 769px) {
    .about_page .strengths_block__list_text {
        font-size: 4vw;
        margin-top: calc(10 / 375 * 100vw);
        letter-spacing: .005em
    }
}

.about_page .management_block {
    background: #fff
}

.about_page .management_block__inner {
    margin: 0 auto;
    max-width: 1040px;
    padding: 80px 140px;
    box-sizing: content-box;
    position: relative
}

@media screen and (width < 769px) {
    .about_page .management_block__inner {
        max-width: 100%;
        padding: calc(80 / 375 * 100vw) calc(20 / 375 * 100vw) calc(40 / 375 * 100vw)
    }
}

.about_page .management_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 70px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    text-align: center
}

@media screen and (width < 769px) {
    .about_page .management_block__title {
        font-size: calc(50 / 375 * 100vw);
        letter-spacing: .005em;
        line-height: 1
    }
}

.about_page .management_block__text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    background: linear-gradient(90deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    text-align: center;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .about_page .management_block__text {
        font-size: 3.2vw;
        margin-top: 0;
        line-height: 1
    }
}

.about_page .management_block__body {
    margin-top: 60px
}

@media screen and (width < 769px) {
    .about_page .management_block__body {
        margin-top: calc(40 / 375 * 100vw)
    }
}

.about_page .management_block__list {
    position: relative;
    z-index: 1
}

.about_page .management_block__list ul {
    display: flex;
    gap: min(60 / 1440 * 100vw, 60px)
}

@media screen and (width < 769px) {
    .about_page .management_block__list ul {
        display: block
    }
}

.about_page .management_block__list ul li {
    flex: 1
}

@media screen and (width < 769px) {
    .about_page .management_block__list ul li:not(:first-child) {
        margin-top: 16vw
    }
}

.about_page .management_block__img {
    max-width: 306px;
    width: 21.25vw;
    margin-bottom: 20px
}

@media screen and (width < 769px) {
    .about_page .management_block__img {
        max-width: 100%;
        width: 100%;
        margin-bottom: calc(20 / 375 * 100vw)
    }
}

.about_page .management_block__list_role {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .05em;
    background: linear-gradient(180deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    display: block
}

@media screen and (width < 769px) {
    .about_page .management_block__list_role {
        font-size: calc(14 / 375 * 100vw);
        margin-top: 0;
        line-height: 1
    }
}

.about_page .management_block__list_name {
    font-family: Noto Sans JP, sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    display: block;
    margin-top: 10px
}

@media screen and (width < 769px) {
    .about_page .management_block__list_name {
        font-size: calc(22 / 375 * 100vw);
        margin-top: calc(10 / 375 * 100vw);
        line-height: 1
    }
}

.about_page .management_block__list_name_en {
    font-family: Bebas Neue, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    display: inline-block;
    margin-left: 18px
}

@media screen and (width < 769px) {
    .about_page .management_block__list_name_en {
        font-size: calc(16 / 375 * 100vw);
        margin-top: calc(10 / 375 * 100vw);
        line-height: 1;
        margin-left: 4.8vw
    }
}

.about_page .management_block__list_text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 15px
}

@media screen and (width < 769px) {
    .about_page .management_block__list_text {
        font-size: calc(14 / 375 * 100vw);
        margin-top: calc(10 / 375 * 100vw)
    }
}

.about_page .management_block__deco {
    font-family: Bebas Neue, sans-serif;
    font-size: 276px;
    font-weight: 400;
    color: #1a1a1a;
    position: absolute;
    bottom: -50px;
    left: -290px;
    white-space: nowrap;
    overflow: hidden;
    background: linear-gradient(180deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    z-index: 0;
    pointer-events: none;
    opacity: .08
}

@media screen and (width < 769px) {
    .about_page .management_block__deco {
        display: none
    }
}

.about_page .company_block {
    background: #f5f5f5
}

.about_page .company_block__inner {
    margin: 0 auto;
    max-width: 1040px;
    padding: 80px 140px 100px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .about_page .company_block__inner {
        max-width: 100%;
        padding: calc(80 / 375 * 100vw) calc(20 / 375 * 100vw) calc(40 / 375 * 100vw)
    }
}

.about_page .company_block__title {
    /* font-family: Bebas Neue, sans-serif; */
    font-size: 70px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #1a1a1a;
    text-align: center
}

@media screen and (width < 769px) {
    .about_page .company_block__title {
        font-size: calc(50 / 375 * 100vw)
    }
}

.about_page .company_block__text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    background: linear-gradient(90deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    text-align: center;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .about_page .company_block__text {
        font-size: 3.2vw;
        margin-top: 0;
        line-height: 1
    }
}

.about_page .company_block__body {
    margin-top: 40px;
    padding: 0 70px
}

@media screen and (width < 769px) {
    .about_page .company_block__body {
        margin-top: calc(40 / 375 * 100vw);
        padding: 0
    }
}

.about_page .company_block__table {
    width: 100%;
    padding: 60px 70px;
    background: #fff;
    border-radius: 10px
}

@media screen and (width < 769px) {
    .about_page .company_block__table {
        padding: 8vw calc(20 / 375 * 100vw)
    }
}

.about_page .company_block tr:not(:first-child) th,
.about_page .company_block tr:not(:first-child) td {
    padding-top: 30px
}

@media screen and (width < 769px) {

    .about_page .company_block tr:not(:first-child) th,
    .about_page .company_block tr:not(:first-child) td {
        padding-top: 0
    }
}

@media screen and (width < 769px) {
    .about_page .company_block tr:not(:first-child) th {
        padding-top: calc(20 / 375 * 100vw)
    }
}

.about_page .company_block tr {
    border-bottom: .5px solid #364246
}

.about_page .company_block th {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding-bottom: 30px;
    text-align: left;
    padding-left: 10px
}

@media screen and (width < 769px) {
    .about_page .company_block th {
        display: block;
        font-size: calc(16 / 375 * 100vw);
        padding-left: calc(10 / 375 * 100vw);
        padding-bottom: calc(10 / 375 * 100vw);
        padding-top: calc(20 / 375 * 100vw)
    }
}

.about_page .company_block td {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 400;
    padding-bottom: 30px;
    padding-left: 30px;
    line-height: 2
}

@media screen and (width < 769px) {
    .about_page .company_block td {
        font-size: calc(14 / 375 * 100vw);
        padding-left: calc(10 / 375 * 100vw);
        padding-bottom: 4vw;
        display: block;
        letter-spacing: .05em
    }
}

.contact_complete_page,
.contact_complete_page .title_block {
    background: #fff
}

.contact_complete_page .title_block__inner {
    margin: 0 auto;
    max-width: 1160px;
    padding: 127px 140px 80px
}

@media screen and (width < 769px) {
    .contact_complete_page .title_block__inner {
        max-width: 100%;
        padding: 11.4666666667vw 5.3333333333vw 16vw
    }
}

.contact_complete_page .title_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 100px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .contact_complete_page .title_block__title {
        font-size: 16vw
    }
}

.contact_complete_page .title_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .contact_complete_page .title_block__sub_title {
        font-size: calc(14 / 375 * 100vw);
        margin-top: 0
    }
}

.contact_complete_page .contents_block {
    background: #f5f5f5
}

.contact_complete_page .contents_block__inner {
    margin: 0 auto;
    max-width: 900px;
    padding: 100px 20px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .contact_complete_page .contents_block__inner {
        padding: calc(40 / 375 * 100vw) calc(10 / 375 * 100vw)
    }
}

.contact_complete_page .contents_block__body {
    background: #fff;
    padding: 60px 72px;
    border-radius: 10px
}

@media screen and (width < 769px) {
    .contact_complete_page .contents_block__body {
        padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.contact_complete_page .contents_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 70px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .05em;
    color: #1a1a1a;
    text-align: center
}

@media screen and (width < 769px) {
    .contact_complete_page .contents_block__title {
        font-size: calc(50 / 375 * 100vw);
        letter-spacing: .01em
    }
}

.contact_complete_page .contents_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    background: linear-gradient(180deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    margin-top: 20px;
    text-align: center;
    display: block
}

@media screen and (width < 769px) {
    .contact_complete_page .contents_block__sub_title {
        font-size: 3.2vw;
        margin-top: calc(8 / 375 * 100vw)
    }
}

.contact_complete_page .contents_block__text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .05em;
    text-align: center;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .contact_complete_page .contents_block__text {
        font-size: 4vw;
        margin-top: calc(20 / 375 * 100vw);
        line-height: 1.8
    }
}

.contact_complete_page .contents_block__btn {
    max-width: 492px;
    margin: 60px auto 0
}

@media screen and (width < 769px) {
    .contact_complete_page .contents_block__btn {
        margin-top: calc(40 / 375 * 100vw);
        max-width: calc(295 / 375 * 100vw)
    }
}

.contact_complete_page .contents_block__btn a {
    font-family: Barlow, sans-serif;
    display: inline-block;
    padding: 18px 20px;
    background: #364246;
    color: #fff;
    border-radius: 9999px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .05em;
    width: 100%;
    text-align: center;
    text-transform: uppercase
}

@media screen and (width < 769px) {
    .contact_complete_page .contents_block__btn a {
        font-size: 4.8vw;
        padding: calc(16 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.contact_confirm_page,
.contact_confirm_page .title_block {
    background: #fff
}

.contact_confirm_page .title_block__inner {
    margin: 0 auto;
    max-width: 1160px;
    padding: 127px 140px 80px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .contact_confirm_page .title_block__inner {
        max-width: 100%;
        padding: calc(43 / 375 * 100vw) calc(20 / 375 * 100vw) 16vw
    }
}

.contact_confirm_page .title_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 100px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .contact_confirm_page .title_block__title {
        font-size: 16vw
    }
}

.contact_confirm_page .title_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .contact_confirm_page .title_block__sub_title {
        font-size: calc(14 / 375 * 100vw);
        margin-top: 0
    }
}

.contact_confirm_page .contents_block {
    background: #f5f5f5
}

.contact_confirm_page .contents_block__inner {
    margin: 0 auto;
    max-width: 900px;
    padding: 100px 20px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .contact_confirm_page .contents_block__inner {
        padding: calc(40 / 375 * 100vw) calc(10 / 375 * 100vw)
    }
}

.contact_confirm_page .contents_block__body {
    background: #fff;
    padding: 60px 72px;
    border-radius: 10px
}

@media screen and (width < 769px) {
    .contact_confirm_page .contents_block__body {
        padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.contact_confirm_page .contents_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 70px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .05em;
    color: #1a1a1a;
    text-align: center
}

@media screen and (width < 769px) {
    .contact_confirm_page .contents_block__title {
        font-size: calc(50 / 375 * 100vw);
        letter-spacing: .01em
    }
}

.contact_confirm_page .contents_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    background: linear-gradient(180deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    margin-top: 20px;
    text-align: center;
    display: block
}

@media screen and (width < 769px) {
    .contact_confirm_page .contents_block__sub_title {
        font-size: 3.2vw;
        margin-top: calc(8 / 375 * 100vw)
    }
}

.contact_confirm_page .contents_block__text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    text-align: center;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .contact_confirm_page .contents_block__text {
        font-size: 3.2vw;
        margin-top: 8vw
    }
}

.contact_confirm_page .contents_block__confirm {
    margin-top: 30px
}

.contact_confirm_page .contents_block__confirm_item:not(:first-of-type) {
    margin-top: 30px
}

@media screen and (width < 769px) {
    .contact_confirm_page .contents_block__confirm_item:not(:first-of-type) {
        margin-top: 8vw
    }
}

.contact_confirm_page .contents_block__confirm_item_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    color: #1a1a1a;
    display: block;
    margin-bottom: 10px
}

@media screen and (width < 769px) {
    .contact_confirm_page .contents_block__confirm_item_title {
        font-size: calc(16 / 375 * 100vw)
    }
}

.contact_confirm_page .contents_block__confirm_item_value {
    font-family: Noto Sans JP, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: #1a1a1a;
    margin-top: 30px;
    padding: 20px 15px;
    letter-spacing: .05em
}

@media screen and (width < 769px) {
    .contact_confirm_page .contents_block__confirm_item_value {
        font-size: 4vw;
        margin-top: 0;
        padding: calc(20 / 375 * 100vw) 4vw
    }
}

.contact_confirm_page .contents_block__btn {
    max-width: 492px;
    margin: 40px auto 0
}

@media screen and (width < 769px) {
    .contact_confirm_page .contents_block__btn {
        max-width: calc(295 / 375 * 100vw);
        margin-top: 8vw
    }
}

.contact_confirm_page .contents_block__btn input {
    font-family: Barlow, sans-serif;
    display: inline-block;
    padding: 18px 20px;
    background: #364246;
    color: #fff;
    border-radius: 9999px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .05em;
    width: 100%;
    text-align: center;
    text-transform: uppercase
}

@media screen and (width < 769px) {
    .contact_confirm_page .contents_block__btn input {
        font-size: 4.8vw;
        padding: calc(16 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.contents_page .title_block {
    background: #fff
}

.contents_page .title_block__inner {
    margin: 0 auto;
    max-width: 1160px;
    padding: 127px 140px 80px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .contents_page .title_block__inner {
        max-width: 100%;
        padding: calc(43 / 375 * 100vw) calc(20 / 375 * 100vw) 16vw
    }
}

.contents_page .title_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 100px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .contents_page .title_block__title {
        font-size: 16vw
    }
}

.contents_page .title_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .contents_page .title_block__sub_title {
        font-size: calc(14 / 375 * 100vw);
        margin-top: 0
    }
}

.contents_page .contents_block {
    background: #f5f5f5
}

.contents_page .contents_block__inner {
    margin: 0 auto;
    max-width: 900px;
    padding: 100px 20px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .contents_page .contents_block__inner {
        padding: calc(40 / 375 * 100vw) calc(10 / 375 * 100vw)
    }
}

.contents_page .contents_block__item {
    background: #fff;
    padding: 40px 30px;
    border-radius: 10px
}

@media screen and (width < 769px) {
    .contents_page .contents_block__item {
        padding: calc(40 / 375 * 100vw) 8vw
    }
}

.contents_page .contents_block__item:not(:first-child) {
    margin-top: 30px
}

@media screen and (width < 769px) {
    .contents_page .contents_block__item:not(:first-child) {
        margin-top: calc(40 / 375 * 100vw)
    }
}

.contents_page .contents_block__item_wrapper {
    display: flex;
    gap: 30px
}

@media screen and (width < 769px) {
    .contents_page .contents_block__item_wrapper {
        flex-direction: column;
        gap: 0
    }
}

.contents_page .contents_block__item_body {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.contents_page .contents_block__item_img {
    width: 333px;
    padding: 25px 14px;
    background: #e7ecf0;
    border-radius: 10px;
    flex-shrink: 0;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .contents_page .contents_block__item_img {
        width: calc(245 / 375 * 100vw);
        padding: calc(25 / 375 * 100vw);
        border-radius: 6px
    }
}

.contents_page .contents_block__item_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 333/190;
    box-shadow: 0 3px 4px #00000040
}

.contents_page .contents_block__item_target {
    font-family: Noto Sans JP, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .contents_page .contents_block__item_target {
        font-size: 3.2vw;
        margin-top: calc(20 / 375 * 100vw);
        display: flex;
        align-items: baseline;
        gap: 2.4vw;
        letter-spacing: .08em;
        line-height: 1.7
    }
}

.contents_page .contents_block__item_target span {
    margin-right: 9px;
    display: inline-block
}

@media screen and (width < 769px) {
    .contents_page .contents_block__item_target span {
        margin-right: 0;
        display: block;
        flex-shrink: 0
    }
}

.contents_page .contents_block__item_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 10px
}

@media screen and (width < 769px) {
    .contents_page .contents_block__item_title {
        font-size: calc(20 / 375 * 100vw);
        margin-top: calc(10 / 375 * 100vw);
        letter-spacing: .055em;
        line-height: 1.5
    }
}

.contents_page .contents_block__item_text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 10px;
    line-height: 2
}

@media screen and (width < 769px) {
    .contents_page .contents_block__item_text {
        font-size: 4vw;
        margin-top: calc(10 / 375 * 100vw)
    }
}

.contents_page .contents_block__item_btn {
    margin-top: 20px
}

@media screen and (width < 769px) {
    .contents_page .contents_block__item_btn {
        margin-top: calc(20 / 375 * 100vw)
    }
}

.contents_page .contents_block__item_btn a {
    font-family: Barlow, sans-serif;
    display: inline-block;
    padding: 18px 20px;
    background: #364246;
    color: #fff;
    border-radius: 9999px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .05em;
    width: 100%;
    text-align: center;
    text-transform: uppercase
}

@media screen and (width < 769px) {
    .contents_page .contents_block__item_btn a {
        font-size: 4.8vw;
        padding: calc(16 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.contact_page,
.contact_page .title_block {
    background: #fff
}

.contact_page .title_block__inner {
    margin: 0 auto;
    max-width: 1160px;
    padding: 127px 140px 80px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .contact_page .title_block__inner {
        max-width: 100%;
        padding: calc(43 / 375 * 100vw) calc(20 / 375 * 100vw) 16vw
    }
}

.contact_page .title_block__title {
    /* font-family: Bebas Neue, sans-serif; */
    font-size: 70px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .contact_page .title_block__title {
        font-size: 16vw
    }
}

.contact_page .title_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .contact_page .title_block__sub_title {
        font-size: calc(14 / 375 * 100vw);
        margin-top: 0
    }
}

.contact_page .contents_block {
    background: #f5f5f5
}

.contact_page .contents_block__inner {
    margin: 0 auto;
    max-width: 900px;
    padding: 100px 20px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .contact_page .contents_block__inner {
        padding: calc(40 / 375 * 100vw) calc(10 / 375 * 100vw)
    }
}

.contact_page .contents_block__body {
    background: #fff;
    padding: 60px 72px;
    border-radius: 10px
}

@media screen and (width < 769px) {
    .contact_page .contents_block__body {
        padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.contact_page .contents_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 70px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .05em;
    color: #1a1a1a;
    text-align: center
}

@media screen and (width < 769px) {
    .contact_page .contents_block__title {
        font-size: calc(50 / 375 * 100vw);
        letter-spacing: .01em
    }
}

.contact_page .contents_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    background: linear-gradient(180deg, rgb(47, 72, 150), rgb(226, 112, 55));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    margin-top: 20px;
    text-align: center;
    display: block
}

@media screen and (width < 769px) {
    .contact_page .contents_block__sub_title {
        font-size: 3.2vw;
        margin-top: calc(8 / 375 * 100vw)
    }
}

.contact_page .contents_block__text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    text-align: center;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .contact_page .contents_block__text {
        font-size: 3.2vw;
        margin-top: 8vw
    }
}

.contact_page .contents_block__form {
    margin-top: 30px
}

@media screen and (width < 769px) {
    .contact_page .contents_block__form {
        margin-top: 8vw;
        padding: 0 calc(10 / 375 * 100vw)
    }
}

.contact_page .contents_block__form label {
    font-family: Noto Sans JP, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    color: #1a1a1a;
    display: block;
    margin-bottom: 10px
}

@media screen and (width < 769px) {
    .contact_page .contents_block__form label {
        font-size: 4vw
    }
}

.contact_page .contents_block__form label span.required {
    color: #ff3f01
}

.contact_page .contents_block__form select,
.contact_page .contents_block__form input,
.contact_page .contents_block__form textarea {
    font-family: Noto Sans JP, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    padding: 20px 16px;
    border: 1px solid #f5f5f5;
    border-radius: 4px;
    width: 100%;
    background: #fff
}

@media screen and (width < 769px) {

    .contact_page .contents_block__form select,
    .contact_page .contents_block__form input,
    .contact_page .contents_block__form textarea {
        font-size: calc(14 / 375 * 100vw);
        padding: calc(20 / 375 * 100vw) calc(16 / 375 * 100vw)
    }
}

.contact_page .contents_block__form select {
    color: #1a1a1a
}

.contact_page .contents_block__form input::placeholder,
.contact_page .contents_block__form textarea::placeholder {
    color: #d9d9d9
}

.contact_page .contents_block__form textarea {
    height: 200px
}

.contact_page .contents_block__form_item:not(:first-child) {
    margin-top: 30px
}

@media screen and (width < 769px) {
    .contact_page .contents_block__form_item:not(:first-child) {
        margin-top: calc(25 / 375 * 100vw)
    }
}

.contact_page .contents_block__form_item--policy input {
    width: 24px;
    height: 24px;
    margin-right: 10px
}

@media screen and (width < 769px) {
    .contact_page .contents_block__form_item--policy input {
        width: calc(20 / 375 * 100vw);
        height: calc(20 / 375 * 100vw);
        margin-right: calc(5s / 375 * 100vw);
        flex-shrink: 0;
        position: relative;
        top: 3px
    }
}

.contact_page .contents_block__form_item--policy label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important
}

@media screen and (width < 769px) {
    .contact_page .contents_block__form_item--policy label {
        align-items: flex-start !important
    }
}

.contact_page .contents_block__form_item--policy a {
    color: #0075ff;
    text-decoration: underline;
    display: inline-block
}

.contact_page .contents_block__form_item--submit {
    max-width: 492px;
    margin: 0 auto
}

.contact_page .contents_block__form_item--submit p {
    margin: 0;
    padding: 0
}

.contact_page .contents_block__form_item--submit button,
.contact_page .contents_block__form_item--submit input[type=submit],
.contact_page .contents_block__form_item--submit .wpcf7-submit {
    font-family: Barlow, sans-serif;
    display: inline-block;
    padding: 18px 20px;
    background: #364246;
    color: #fff;
    border-radius: 9999px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .05em;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    border: none;
    cursor: pointer
}

@media screen and (width < 769px) {

    .contact_page .contents_block__form_item--submit button,
    .contact_page .contents_block__form_item--submit input[type=submit],
    .contact_page .contents_block__form_item--submit .wpcf7-submit {
        font-size: 4.8vw;
        padding: calc(16 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.contact_page .contents_block__form_item--submit button+.wpcf7-spinner,
.contact_page .contents_block__form_item--submit input[type=submit]+.wpcf7-spinner,
.contact_page .contents_block__form_item--submit .wpcf7-submit+.wpcf7-spinner {
    display: none
}

.contact_page .contents_block__form_item--submit p input[type=submit] {
    font-family: Barlow, sans-serif !important;
    display: inline-block !important;
    padding: 18px 20px !important;
    background: #364246 !important;
    color: #fff !important;
    border-radius: 9999px !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: .05em !important;
    width: 100% !important;
    text-align: center !important;
    text-transform: uppercase !important;
    border: none !important;
    cursor: pointer !important
}

@media screen and (width < 769px) {
    .contact_page .contents_block__form_item--submit p input[type=submit] {
        font-size: 4.8vw !important;
        padding: calc(16 / 375 * 100vw) calc(20 / 375 * 100vw) !important
    }
}

.contact_page .contents_block__form_item--submit .wpcf7-spinner {
    display: none !important
}

.contact_page .wpcf7-form .contents_block__form_item:not(:first-child) {
    margin-top: 30px
}

@media screen and (width < 769px) {
    .contact_page .wpcf7-form .contents_block__form_item:not(:first-child) {
        margin-top: calc(25 / 375 * 100vw)
    }
}

.contact_page .wpcf7-form .contents_block__form_item label {
    font-family: Noto Sans JP, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    color: #1a1a1a;
    display: block;
    margin-bottom: 10px
}

@media screen and (width < 769px) {
    .contact_page .wpcf7-form .contents_block__form_item label {
        font-size: 4vw
    }
}

.contact_page .wpcf7-form .contents_block__form_item label span.required {
    color: #ff3f01
}

.contact_page .wpcf7-form .contents_block__form_item .wpcf7-form-control {
    font-family: Noto Sans JP, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    padding: 20px 16px;
    border: 1px solid #f5f5f5;
    border-radius: 4px;
    width: 100%;
    background: #fff
}

@media screen and (width < 769px) {
    .contact_page .wpcf7-form .contents_block__form_item .wpcf7-form-control {
        font-size: calc(14 / 375 * 100vw);
        padding: calc(20 / 375 * 100vw) calc(16 / 375 * 100vw)
    }
}

.contact_page .wpcf7-form .contents_block__form_item .wpcf7-form-control::placeholder {
    color: #d9d9d9
}

.contact_page .wpcf7-form .contents_block__form_item textarea.wpcf7-form-control {
    height: 200px
}

.contact_page .wpcf7-form .contents_block__form_item--policy {
    text-align: center
}

@media screen and (width < 769px) {
    .contact_page .wpcf7-form .contents_block__form_item--policy {
        text-align: left
    }
}

.contact_page .wpcf7-form .contents_block__form_item--policy .wpcf7-form-control {
    border: none;
    background: none;
    padding: 0
}

.contact_page .wpcf7-form .wpcf7-response-output {
    display: none
}

.contact_page .wpcf7-form p {
    margin-bottom: 0
}

.contact_page .wpcf7-form p:not(:first-child) {
    margin-top: 30px
}

@media screen and (width < 769px) {
    .contact_page .wpcf7-form p:not(:first-child) {
        margin-top: calc(25 / 375 * 100vw)
    }
}

.contact_page .wpcf7-form p label {
    font-family: Noto Sans JP, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    color: #1a1a1a;
    display: block;
    margin-bottom: 10px
}

@media screen and (width < 769px) {
    .contact_page .wpcf7-form p label {
        font-size: 4vw
    }
}

.contact_page .wpcf7-form p label span.required {
    color: #ff3f01
}

.contact_page .wpcf7-form p .wpcf7-form-control {
    font-family: Noto Sans JP, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    padding: 20px 16px;
    border: 1px solid #f5f5f5;
    border-radius: 4px;
    width: 100%;
    background: #fff
}

@media screen and (width < 769px) {
    .contact_page .wpcf7-form p .wpcf7-form-control {
        font-size: calc(14 / 375 * 100vw);
        padding: calc(20 / 375 * 100vw) calc(16 / 375 * 100vw)
    }
}

.contact_page .wpcf7-form p .wpcf7-form-control::placeholder {
    color: #d9d9d9
}

.contact_page .wpcf7-form p textarea.wpcf7-form-control {
    height: 200px
}

.index_page,
.index_page .mainvisual_block {
    background: #fff
}

.index_page .mainvisual_block__inner {
    max-width: calc(1280 / 1440 * 100vw);
    margin: 0 auto;
    padding: calc(55 / 1440 * 100vw) calc(110 / 1440 * 100vw) calc(95 / 1440 * 100vw);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .index_page .mainvisual_block__inner {
        max-width: 100%;
        padding: 0 4vw 16vw;
        flex-direction: column;
        overflow: visible;
        contain: none
    }
}

.index_page .mainvisual_block__text_title {
    font-size: calc(166 / 1440 *55vw);
    font-weight: 400;
    color: #1a1a1a;
    line-height: .85;
    /* font-family: Bebas Neue, sans-serif */
    font-family: Bebas Kai, sans-serif;
    word-break: keep-all;
    text-align: left;
    /* 强制左对齐 */
}

@media screen and (width < 769px) {
    .index_page .mainvisual_block__text_title {
        font-size: calc(70 / 375 * 100vw)
    }
}

.index_page .mainvisual_block__text_sub {
    font-size: calc(28 / 1440 * 100vw);
    font-weight: 600;
    text-align: left;
    color: #1a1a1a;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    margin-top: calc(40 / 1440 * 100vw);
    line-height: 1.5
}

@media screen and (width < 769px) {
    .index_page .mainvisual_block__text_sub {
        font-size: calc(19 / 375 * 100vw);
        margin-top: calc(25 / 375 * 100vw)
    }
}

.index_page .mainvisual_block__text {
    font-size: calc(16 / 1440 * 130vw);
    font-weight: 500;
    font-family: Noto Sans JP, sans-serif;
    color: #1a1a1a;
    margin-top: calc(15 / 1440 * 100vw);
    line-height: 2;
    text-align: left;
}

@media screen and (width < 769px) {
    .index_page .mainvisual_block__text {
        font-size: 4vw;
        line-height: 1.5;
        margin-top: 4vw
    }
}

.index_page .mainvisual_block__img {
    position: relative;
    width: calc(510 / 1440 * 100vw);
    z-index: 0
}

@media screen and (width < 769px) {
    .index_page .mainvisual_block__img {
        width: calc(250 / 375 * 100vw);
        max-width: calc(444 / 375 * 100vw);
        margin: calc(17 / 375 * 100vw) auto 0
    }
}

.index_page .mainvisual_block__img img {
    position: relative;
    z-index: 1;
    width: 100%
}

.index_page .mainvisual_block__img:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60%;
    height: 25%;
    z-index: 0;
    /* background: linear-gradient(90deg, #3366d7, #60afe0 15%, #a1f7ee 57%, #e2fdfa); */
    filter: blur(60px);
    transform: translateZ(0);
    will-change: transform
}

@media screen and (width < 769px) {
    .index_page .mainvisual_block__img:before {
        width: 50%;
        height: 20%
    }
}

.index_page .mainvisual_block__img:after {
    content: "";
    position: absolute;
    bottom: 20%;
    right: -10%;
    width: 60%;
    height: 25%;
    z-index: 0;
    /* background: linear-gradient(90deg, #9163ab, #d743c3 15%, #b331a1 57%, #ffd4ec); */
    filter: blur(60px);
    transform: translateZ(0);
    will-change: transform
}

@media screen and (width < 769px) {
    .index_page .mainvisual_block__img:after {
        width: 50%;
        height: 20%;
        right: -5%
    }
}

.index_page .about_block {
    background: #f5f5f5
}

.index_page .about_block__inner {
    max-width: calc(1280 / 1440 * 100vw);
    margin: 0 auto;
    padding: calc(80 / 1440 * 100vw) calc(20 / 1440 * 100vw)
}

@media screen and (width < 769px) {
    .index_page .about_block__inner {
        max-width: 100%;
        padding: 12vw calc(10 / 375 * 100vw) calc(40 / 375 * 100vw)
    }
}

.index_page .about_block__title_wrapper {
    display: flex;
    align-items: flex-start;
    gap: 50px
}

@media screen and (width < 769px) {
    .index_page .about_block__title_wrapper {
        gap: calc(27 / 375 * 100vw)
    }
}

.index_page .about_block__num {
    font-family: Bebas Neue, sans-serif;
    font-size: 40px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    margin-top: 10px
}

@media screen and (width < 769px) {
    .index_page .about_block__num {
        font-size: calc(20 / 375 * 100vw)
    }
}

.index_page .about_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 100px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1
}

@media screen and (width < 769px) {
    .index_page .about_block__title {
        font-size: calc(50 / 375 * 100vw)
    }
}

.index_page .about_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .index_page .about_block__sub_title {
        font-size: 3.2vw;
        margin-top: calc(10 / 375 * 100vw)
    }
}

.index_page .about_block__body {
    position: relative;
    margin-top: 75px
}

@media screen and (width < 769px) {
    .index_page .about_block__body {
        margin-top: calc(214 / 375 * 100vw);
        padding-inline: calc(10 / 375 * 100vw)
    }
}

.index_page .about_block__body_text_wrapper {
    max-width: 642px;
    padding: calc(75 / 1440 * 100vw) calc(71 / 1440 * 100vw) calc(88 / 1440 * 100vw) calc(60 / 1440 * 100vw);
    background: #fff;
    border-radius: 10px;
    z-index: 1;
    position: relative
}

@media (max-width: 1280px) {
    .index_page .about_block__body_text_wrapper {
        padding: 5.859375vw 5.546875vw 6.875vw 4.6875vw;
        width: 50.15625vw
    }
}

@media screen and (width < 769px) {
    .index_page .about_block__body_text_wrapper {
        padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw) calc(40 / 375 * 100vw);
        width: initial
    }
}

.index_page .about_block__body_text_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.4
}

@media screen and (width < 769px) {
    .index_page .about_block__body_text_title {
        font-size: calc(20 / 375 * 100vw)
    }
}

.index_page .about_block__body_text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #1a1a1a;
    margin-top: 15px;
    line-height: 2;
    letter-spacing: .05em
}

@media screen and (width < 769px) {
    .index_page .about_block__body_text {
        font-size: 4vw;
        margin-top: 4vw;
        line-height: 2;
        letter-spacing: .11em
    }
}

.index_page .about_block__body_btn {
    margin-top: 20px
}

@media screen and (width < 769px) {
    .index_page .about_block__body_btn {
        margin-top: 4vw
    }
}

.index_page .about_block__body_btn a {
    font-family: Barlow, sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    background: #364246;
    padding: 20px;
    border-radius: 9999px;
    width: 100%;
    max-width: 492px;
    display: inline-block;
    text-align: center;
    line-height: 1.5
}

@media screen and (width < 769px) {
    .index_page .about_block__body_btn a {
        font-size: 4.8vw;
        padding: 4vw calc(20 / 375 * 100vw);
        max-width: 100%
    }
}

.index_page .about_block__body_img {
    max-width: 600px;
    position: absolute;
    right: 50px;
    bottom: 0;
    z-index: 0
}

@media (max-width: 1280px) {
    .index_page .about_block__body_img {
        width: 46.875vw
    }
}

@media screen and (width < 769px) {
    .index_page .about_block__body_img {
        width: initial;
        max-width: 100%;
        right: 0;
        top: -200px
    }
}

.index_page .about_block__body_img img {
    width: 100%
}

.index_page .service_block {
    background: #fff;
    position: relative;
    padding-bottom: min(194 / 375 * 100vw, 194px)
}

@media screen and (width < 769px) {
    .index_page .service_block {
        padding-bottom: calc(40 / 375 * 100vw);
        overflow: hidden
    }
}

.hdg2 {
    font-size: 2.6rem;
    line-height: 1.5;
    margin-bottom: 0.5em;
}

.hdg2__min {
    display: block;
    font-size: 2.2rem;
    font-weight: bold;
}

@media screen and (max-width: 800px) {
    .hdg2 {
        font-size: 1.8rem;
    }
}

.p-company__mmv p {
    font-size: 1.5rem;
}

@media screen and (max-width: 800px) {
    .p-company__mmv p {
        font-size: 1.4rem;
    }
}


.u-en {
    font-family: "Oswald", "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.hdg1 {
    text-align: center;
    font-size: 2.4rem;
    margin-bottom: 40px;
    letter-spacing: 0.1em;
    line-height: 1.7;
    /* opacity: 0; */
    /* transition: opacity 0.8s; */
}

.inner {
    max-width: 930px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
}

.u-bg-gray::before,
.u-bg-gray::after {
    content: "";
    width: 100%;
    min-width: 1300px;
    height: 130px;
    background-color: #fff;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

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

@media screen and (max-width: 800px) {

    .u-bg-gray::before,
    .u-bg-gray::after {
        min-width: 800px;
        height: 60px;
    }
}

.u-bg-gray::after {
    bottom: -1px;
    clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
}

.u-bg-gray::before {
    top: -1px;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%);
}

.index_page .service_block:before {
    content: "";
    display: block;
    z-index: 0;
    width: 100%;
    top: 0;
    width: calc(681 / 1440 * 100vw);
    max-width: 681px;
    height: 100%;
    /* background: #f5f5f5; */
    position: absolute;
    right: 0
}

@media screen and (width < 769px) {
    .index_page .service_block:before {
        width: 36.8vw;
        /* background: #f5f5f5 */
    }
}

.index_page .service_block__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: calc(95 / 1440 * 100vw) calc(20 / 1440 * 100vw) calc(95 / 1440 * 100vw) calc(20 / 1440 * 100vw);
    position: relative
}

@media screen and (width < 769px) {
    .index_page .service_block__inner {
        padding: calc(20 / 375 * 100vw) calc(20 / 375 * 100vw) 16vw
    }
}

.index_page .service_block__title_wrapper {
    display: flex;
    justify-content: center;
    gap: 50px
}

@media screen and (width < 769px) {
    .index_page .service_block__title_wrapper {
        gap: calc(25 / 375 * 100vw);
        margin-bottom: calc(40 / 375 * 100vw)
    }
}

.index_page .service_block__num {
    font-family: Bebas Neue, sans-serif;
    font-size: 40px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1
}

@media screen and (width < 769px) {
    .index_page .service_block__num {
        font-size: calc(20 / 375 * 100vw)
    }
}

.index_page .service_block__title {
    /* font-family: Bebas Neue, sans-serif; */
    font-size: 70px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1
}

@media screen and (width < 769px) {
    .index_page .service_block__title {
        font-size: calc(50 / 375 * 100vw)
    }
}

.index_page .service_block__sub_title {
    /* font-family: Noto Sans JP, sans-serif; */
    font-size: 27px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .index_page .service_block__sub_title {
        font-size: 3.2vw;
        margin-top: calc(10 / 375 * 100vw)
    }
}

.index_page .service_block__body {
    margin-top: 50px
}

@media screen and (width < 769px) {
    .index_page .service_block__body {
        margin-top: calc(20 / 375 * 100vw)
    }
}

.index_page .service_block__item {
    display: flex;
    justify-content: center;
    gap: min(130 / 1440 * 100vw, 130px);
    padding-left: min(100 / 1440 * 100vw, 100px);
    position: relative
}

.index_page .service_block__item .service_block__item_wrapper {
    width: 520px;
}

@media screen and (width < 769px) {
    .index_page .service_block__item {
        flex-direction: column;
        gap: calc(20 / 375 * 100vw);
        padding-left: 0;
        margin-bottom: calc(50 / 375 * 100vw)
    }
}

@media screen and (width < 769px) {
    .index_page .service_block__item:last-child {
        margin-bottom: 0
    }
}

@media screen and (width < 769px) {
    .index_page .service_block__item--last {
        margin-bottom: 0 !important
    }
}

.index_page .service_block__item_img {
    width: calc(520 / 1440 * 100vw);
    max-width: 520px;
    height: calc(420 / 1440 * 100vw);
    max-height: 420px;
    border-radius: 10px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    overflow: hidden
}

@media screen and (width < 769px) {
    .index_page .service_block__item_img {
        width: calc(335 / 375 * 100vw);
        max-width: 100%;
        height: calc(200 / 375 * 100vw);
        max-height: 100%;
        margin-top: 8vw
    }
}

.index_page .service_block__item_img img {
    width: 100%
}

@media (max-width: 768px) {
    .index_page .service_block__item_img img {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important
    }
}

.index_page .service_block__deco {
    font-family: Bebas Neue, sans-serif;
    font-size: 100px;
    font-weight: 400;
    opacity: .3 !important;
    letter-spacing: .02em;
    background: linear-gradient(90deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    position: absolute;
    top: 185px;
    right: 20px;
    z-index: 0;
    white-space: nowrap
}

@media screen and (width < 769px) {
    .index_page .service_block__deco {
        font-size: 16vw;
        top: calc(595 / 375 * 100vw);
        right: -10px;
        z-index: 1
    }
}

@media screen and (width < 769px) {
    .index_page .service_block__deco--02 {
        top: initial;
        bottom: 148vw
    }
}

.index_page .service_block__item_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 36px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.4;
    text-align: left;
}

@media screen and (width < 769px) {
    .index_page .service_block__item_title {
        font-size: 6.4vw;
        position: relative;
        z-index: 1
    }
}

.index_page .service_block__detail_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.4;
    margin-top: 50px
}

@media screen and (width < 769px) {
    .index_page .service_block__detail_title {
        font-size: calc(20 / 375 * 100vw);
        margin-top: calc(20 / 375 * 100vw)
    }
}

.index_page .service_block__detail_title span {
    font-family: Bebas Neue, sans-serif;
    font-size: 24px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    margin-right: 5px
}

@media screen and (width < 769px) {
    .index_page .service_block__detail_title span {
        font-size: 6.4vw;
        margin-right: calc(5 / 375 * 100vw)
    }
}

.index_page .service_block__detail_text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    line-height: 2;
    letter-spacing: .05em;
    margin-top: 25px;
    min-height: 5.5rem;
    text-align: left;
}

@media screen and (width < 769px) {
    .index_page .service_block__detail_text {
        font-size: 4vw;
        margin-top: 4.8vw;
        min-height: 7.5rem
    }
}

.index_page .service_block__btn {
    margin-top: 30px;
    text-align: center
}

@media screen and (width < 769px) {
    .index_page .service_block__btn {
        z-index: 10;
        position: relative;
        margin-top: 8vw
    }
}

.index_page .service_block__btn a {
    font-family: Barlow, sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    background: rgb(47, 72, 150);
    padding: 20px;
    border-radius: 9999px;
    width: 100%;
    display: inline-block;
    text-align: center;
    line-height: 1.5;
    position: relative;
    z-index: 10
}

@media screen and (width < 769px) {
    .index_page .service_block__btn a {
        max-width: calc(295 / 375 * 100vw);
        min-height: calc(50 / 375 * 100vw);
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        cursor: pointer
    }
}

.index_page .service_block>.pin-spacer {
    padding: 0 !important
}

.index_page .contents_block {
    background: url(../image/bg_contents.webp) no-repeat center center/cover
}

@media screen and (width < 769px) {
    .index_page .contents_block {
        background: url(../image/bg_contents_sp.webp) no-repeat center center/cover
    }
}

.index_page .contents_block__inner {
    max-width: calc(1280 / 1440 * 100vw);
    margin: 0 0 0 auto;
    padding: calc(95 / 1440 * 100vw) 0 calc(95 / 1440 * 100vw) calc(20 / 1440 * 100vw);
    display: flex;
    gap: min(125 / 1440 * 100vw, 125px);
    overflow: hidden
}

@media screen and (width < 769px) {
    .index_page .contents_block__inner {
        max-width: 100%;
        padding: calc(40 / 375 * 100vw) calc(10 / 375 * 100vw) calc(40 / 375 * 100vw);
        flex-direction: column;
        gap: 6.4vw
    }
}

@media screen and (width < 769px) {
    .index_page .contents_block__right {
        margin-top: calc(14 / 375 * 100vw)
    }
}

.index_page .contents_block__title_wrapper {
    display: flex;
    align-items: flex-start;
    gap: 50px
}

@media screen and (width < 769px) {
    .index_page .contents_block__title_wrapper {
        gap: calc(25 / 375 * 100vw)
    }
}

.index_page .contents_block__arrow_wrapper {
    background: #fff;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    max-width: 346px;
    margin-left: auto;
    margin-top: 85px
}

@media screen and (width < 769px) {
    .index_page .contents_block__arrow_wrapper {
        margin: calc(28 / 375 * 100vw) auto 0;
        max-width: calc(295 / 375 * 100vw)
    }
}

.index_page .contents_block__arrow_wrapper:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 1px;
    height: 20px;
    background: #364264;
    transform: translate(-50%, -50%)
}

.index_page .contents_block__arrow_btn {
    width: 100%;
    padding: 10px
}

@media screen and (width < 769px) {
    .index_page .contents_block__arrow_btn {
        padding: calc(10 / 375 * 100vw)
    }
}

.index_page .contents_block__btn {
    margin-top: 25px;
    text-align: end
}

@media screen and (width < 769px) {
    .index_page .contents_block__btn {
        max-width: calc(295 / 375 * 100vw);
        margin: calc(20 / 375 * 100vw) auto 0
    }
}

.index_page .contents_block__btn a {
    font-family: Barlow, sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #1a1a1a;
    background: #fff;
    padding: 10px 20px;
    border-radius: 9999px;
    display: inline-block;
    text-align: center;
    line-height: 1.5;
    width: 100%;
    max-width: 346px
}

@media screen and (width < 769px) {
    .index_page .contents_block__btn a {
        font-size: 4.8vw;
        padding: calc(10 / 375 * 100vw)
    }
}

.index_page .contents_block__num {
    font-family: Bebas Neue, sans-serif;
    font-size: 40px;
    font-weight: 400;
    color: #fff;
    line-height: 1;
    margin-top: 10px
}

@media screen and (width < 769px) {
    .index_page .contents_block__num {
        font-size: calc(20 / 375 * 100vw);
        margin-top: 0;
        padding-inline: calc(10 / 375 * 100vw)
    }
}

.index_page .contents_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 100px;
    font-weight: 400;
    color: #fff;
    line-height: 1
}

@media screen and (width < 769px) {
    .index_page .contents_block__title {
        font-size: calc(50 / 375 * 100vw)
    }
}

.index_page .contents_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    line-height: 1
}

@media screen and (width < 769px) {
    .index_page .contents_block__sub_title {
        font-size: 3.2vw
    }
}

.index_page .contents_block__item {
    border-radius: 15px;
    padding: min(40 / 1440 * 100vw, 40px) min(30 / 1440 * 100vw, 30px);
    width: calc(490 / 1440 * 100vw);
    max-width: 490px;
    background: linear-gradient(90deg, #fff3, #fff0);
    box-shadow: 0 0 10px #0000001a;
    position: relative;
    overflow: visible
}

.index_page .contents_block__item:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
    border-radius: 15px;
    padding: 0;
    background: linear-gradient(135deg, #ffffff80, #fff3);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    border: 3px solid transparent;
    box-sizing: border-box
}

@media screen and (width < 769px) {
    .index_page .contents_block__item:before {
        border: 2px solid transparent
    }
}

@media screen and (width < 769px) {
    .index_page .contents_block__item {
        width: 100%;
        padding: calc(25 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.index_page .contents_block__item_img {
    width: calc(365 / 1440 * 100vw);
    max-width: 365px;
    border-radius: 10px;
    background: #e7ecf0;
    padding: min(17 / 1440 * 100vw, 17px) min(33 / 1440 * 100vw, 33px);
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .index_page .contents_block__item_img {
        width: 84vw;
        max-width: 100%;
        padding: calc(25 / 375 * 100vw) calc(35 / 375 * 100vw);
        box-sizing: border-box
    }
}

.index_page .contents_block__item_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 365/205;
    box-shadow: 0 3px 4px #00000040
}

@media screen and (width < 769px) {
    .index_page .contents_block__item_img img {
        aspect-ratio: 245/138
    }
}

.index_page .contents_block__item_tag {
    font-family: Noto Sans JP, sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    margin-top: 20px;
    display: inline-block
}

@media screen and (width < 769px) {
    .index_page .contents_block__item_tag {
        font-size: 3.2vw
    }
}

.index_page .contents_block__item_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    line-height: 1.4;
    margin-top: 10px
}

@media screen and (width < 769px) {
    .index_page .contents_block__item_title {
        font-size: calc(20 / 375 * 100vw);
        margin-top: calc(10 / 375 * 100vw)
    }
}

.index_page .contents_block__item_text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    line-height: 2;
    margin-top: 10px
}

@media screen and (width < 769px) {
    .index_page .contents_block__item_text {
        font-size: 4vw;
        line-height: 2;
        margin-top: calc(10 / 375 * 100vw)
    }
}

.index_page .contents_block__item_btn {
    margin-top: 20px
}

@media screen and (width < 769px) {
    .index_page .contents_block__item_btn {
        margin-top: calc(20 / 375 * 100vw)
    }
}

.index_page .contents_block__item_btn a {
    font-family: Barlow, sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #1a1a1a;
    background: #fff;
    padding: 18px 20px;
    border-radius: 9999px;
    display: inline-block;
    text-align: center;
    line-height: 1.5;
    max-width: 100%;
    width: 100%
}

@media screen and (width < 769px) {
    .index_page .contents_block__item_btn a {
        font-size: 4.8vw;
        padding: 4vw calc(20 / 375 * 100vw)
    }
}

.index_page .contents_block .splide__slide {
    width: calc(490 / 1440 * 100vw) !important
}

@media (max-width: 768px) {
    .index_page .contents_block .splide__slide {
        width: 100% !important
    }
}

.index_page .news_block {
    background: #fff
}

.index_page .news_block__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: calc(95 / 1440 * 100vw) calc(20 / 1440 * 100vw) calc(95 / 1440 * 100vw) calc(20 / 1440 * 100vw)
}

@media screen and (width < 769px) {
    .index_page .news_block__inner {
        max-width: 100%;
        padding: calc(40 / 375 * 100vw) 8vw calc(40 / 375 * 100vw)
    }
}

.index_page .news_block__title_wrapper {
    display: flex;
    justify-content: center;
    gap: 50px
}

.index_page .news_block__num {
    font-family: Bebas Neue, sans-serif;
    font-size: 40px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    margin-top: 10px
}

@media screen and (width < 769px) {
    .index_page .news_block__num {
        font-size: calc(20 / 375 * 100vw)
    }
}

.index_page .news_block__title {
    /* font-family: Bebas Neue, sans-serif; */
    font-size: 70px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1
}

@media screen and (width < 769px) {
    .index_page .news_block__title {
        font-size: calc(50 / 375 * 100vw)
    }
}

.index_page .news_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 27px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1
}

@media screen and (width < 769px) {
    .index_page .news_block__sub_title {
        font-size: 3.2vw
    }
}

.index_page .news_block__body {
    margin-top: 20px;
    max-width: 695px;
    width: 100%;
    margin: 0 auto
}

@media screen and (width < 769px) {
    .index_page .news_block__body {
        margin-top: calc(20 / 375 * 100vw)
    }
}

.my_news {
    margin-top: 20px;
    text-align: center;
    padding: 30px 0;
    border-top: .5px solid #c5c5cb;
    border-bottom: .5px solid #c5c5cb;
}

.index_page .news_block__body .news_block__body_wrapper {
    margin-top: 20px;
    text-align: center;
    padding: 30px 0;
    border-top: .5px solid #c5c5cb;
    border-bottom: .5px solid #c5c5cb;
}

.index_page .news_block__item {
    border-bottom: .5px solid #c5c5cb
}

.index_page .news_block__item a {
    display: flex;
    align-items: center;
    gap: 70px;
    padding: 30px 0;
    position: relative
}

@media screen and (width < 769px) {
    .index_page .news_block__item a {
        flex-direction: column;
        align-items: flex-start;
        gap: calc(5 / 375 * 100vw)
    }
}

.index_page .news_block__item a:after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    right: 0;
    width: 12px;
    height: 14px;
    background: url(../image/icon_arrow_right.svg) no-repeat center center/contain;
    transform: translateY(-50%)
}

@media screen and (width < 769px) {
    .index_page .news_block__item a:after {
        width: 3.2vw;
        height: calc(14 / 375 * 100vw)
    }
}

.index_page .news_block__item_date {
    font-family: Barlow, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #666;
    line-height: 1;
    letter-spacing: .11em
}

@media screen and (width < 769px) {
    .index_page .news_block__item_date {
        font-size: calc(14 / 375 * 100vw)
    }
}

.index_page .news_block__item_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.4
}

.index_page .news_block__btn {
    margin-top: 50px;
    text-align: center
}

@media screen and (width < 769px) {
    .index_page .news_block__btn {
        display: none
    }
}

.index_page .news_block__btn a {
    font-family: Barlow, sans-serif;
    font-size: 18px;
    font-weight: 500;
    background: rgb(47, 72, 150);
    padding: 18px;
    display: inline-block;
    text-align: center;
    line-height: 1.5;
    color: #fff;
    border-radius: 9999px;
    max-width: 317px;
    width: 100%
}

@media screen and (width < 769px) {
    .index_page .news_block__btn a {
        display: none
    }
}

.index_page .contact_block__inner {
    display: flex
}

.index_page .contact_block__img {
    max-width: 549px
}

@media screen and (width < 769px) {
    .index_page .contact_block__img {
        display: none
    }
}

.index_page .contact_block__img img {
    width: 100%
}

.index_page .contact_block__body {
    flex: 1;
    background: #1a1a1a;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 50px 0
}

@media screen and (width < 769px) {
    .index_page .contact_block__body {
        padding: calc(64 / 375 * 100vw) calc(40 / 375 * 100vw)
    }
}

.index_page .contact_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 70px;
    color: #fff;
    line-height: 1;
    font-weight: 400
}

@media screen and (width < 769px) {
    .index_page .contact_block__title {
        font-size: calc(50 / 375 * 100vw)
    }
}

.index_page .contact_block__text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    line-height: 1;
    margin-top: 20px;
    text-align: center;
    line-height: 1.5
}

@media screen and (width < 769px) {
    .index_page .contact_block__text {
        font-size: 4vw;
        margin-top: calc(10 / 375 * 100vw);
        letter-spacing: .05em;
        line-height: 2
    }
}

.index_page .contact_block__btn {
    margin-top: 50px;
    text-align: center;
    max-width: 430px;
    width: 100%
}

@media screen and (width < 769px) {
    .index_page .contact_block__btn {
        margin-top: calc(35 / 375 * 100vw);
        width: 100%
    }
}

.index_page .contact_block__btn a {
    font-family: Barlow, sans-serif;
    font-size: 18px;
    font-weight: 500;
    background: #fff;
    color: #1a1a1a;
    padding: 18px;
    width: 100%;
    display: block;
    text-align: center;
    line-height: 1.5;
    border-radius: 9999px
}

@media screen and (width < 769px) {
    .index_page .contact_block__btn a {
        font-size: 4.8vw;
        padding: 4vw calc(20 / 375 * 100vw);
        max-width: 100%;
        width: 100%
    }
}

.news_page,
.news_page .title_block {
    background: #fff
}

.news_page .title_block__inner {
    text-align: center;
    margin: 0 auto;
    max-width: 1160px;
    padding: 127px 140px 80px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .news_page .title_block__inner {
        text-align: center;
        max-width: 100%;
        padding: calc(43 / 375 * 100vw) calc(20 / 375 * 100vw) 16vw
    }
}

.news_page .title_block__title {
    /* font-family: Bebas Neue, sans-serif; */
    font-size: 70px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .news_page .title_block__title {
        font-size: 16vw
    }
}

.news_page .title_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .news_page .title_block__sub_title {
        font-size: calc(14 / 375 * 100vw);
        margin-top: 0
    }
}

.news_page .contents_block {
    background: #f5f5f5
}

.news_page .contents_block__inner {
    margin: 0 auto;
    max-width: 900px;
    padding: 100px 20px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .news_page .contents_block__inner {
        padding: calc(40 / 375 * 100vw) calc(10 / 375 * 100vw)
    }
}

.news_page .contents_block__body {
    background: #fff;
    padding: 60px 70px;
    border-radius: 10px
}

@media screen and (width < 769px) {
    .news_page .contents_block__body {
        padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.news_page .contents_block__item {
    border-bottom: .5px solid #364246
}

.news_page .contents_block__item_wrapper a {
    display: flex;
    gap: 70px;
    position: relative;
    align-items: center;
    padding: 40px 0;
    cursor: pointer
}

@media screen and (width < 769px) {
    .news_page .contents_block__item_wrapper a {
        display: block;
        padding: 8vw 0
    }
}

.news_page .contents_block__item_wrapper a:after {
    content: "";
    display: block;
    width: 12px;
    height: 14px;
    background: url(../image/icon_arrow_right.svg) no-repeat center center/contain;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%)
}

@media screen and (width < 769px) {
    .news_page .contents_block__item_wrapper a:after {
        width: 3.2vw;
        height: calc(14 / 375 * 100vw)
    }
}

.news_page .contents_block__item_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .news_page .contents_block__item_title {
        font-size: calc(14 / 375 * 100vw)
    }
}

.news_page .contents_block__item_date {
    font-family: Barlow, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .05em;
    color: #c5c5cb
}

.privacy_policy_page,
.privacy_policy_page .title_block {
    background: #fff
}

.privacy_policy_page .title_block__inner {
    margin: 0 auto;
    max-width: 1160px;
    padding: 127px 140px 80px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .privacy_policy_page .title_block__inner {
        max-width: 100%;
        padding: calc(43 / 375 * 100vw) calc(20 / 375 * 100vw) 16vw
    }
}

.privacy_policy_page .title_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 100px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .privacy_policy_page .title_block__title {
        font-size: 16vw
    }
}

.privacy_policy_page .title_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .privacy_policy_page .title_block__sub_title {
        font-size: calc(14 / 375 * 100vw);
        margin-top: 0
    }
}

.privacy_policy_page .contents_block {
    background: #f5f5f5
}

.privacy_policy_page .contents_block__inner {
    margin: 0 auto;
    max-width: 900px;
    padding: 100px 20px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .privacy_policy_page .contents_block__inner {
        padding: calc(40 / 375 * 100vw) calc(10 / 375 * 100vw)
    }
}

.privacy_policy_page .contents_block__body {
    background: #fff;
    padding: 60px 72px;
    border-radius: 10px
}

@media screen and (width < 769px) {
    .privacy_policy_page .contents_block__body {
        padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.privacy_policy_page .contents_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 70px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .05em;
    color: #1a1a1a;
    text-align: center
}

@media screen and (width < 769px) {
    .privacy_policy_page .contents_block__title {
        font-size: calc(50 / 375 * 100vw);
        letter-spacing: .01em
    }
}

.privacy_policy_page .contents_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    background: linear-gradient(180deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    margin-top: 20px;
    text-align: center;
    display: block
}

@media screen and (width < 769px) {
    .privacy_policy_page .contents_block__sub_title {
        font-size: 3.2vw;
        margin-top: calc(8 / 375 * 100vw)
    }
}

.privacy_policy_page .contents_block__text {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .082em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .privacy_policy_page .contents_block__text {
        font-size: 4vw;
        letter-spacing: .05em
    }
}

.privacy_policy_page .contents_block__text:not(:last-child) {
    padding-bottom: 2rem
}

.privacy_policy_page .contents_block__btn {
    max-width: 492px;
    margin: 60px auto 0
}

@media screen and (width < 769px) {
    .privacy_policy_page .contents_block__btn {
        max-width: calc(295 / 375 * 100vw);
        margin-top: 8vw
    }
}

.privacy_policy_page .contents_block__btn a {
    font-family: Barlow, sans-serif;
    display: inline-block;
    padding: 18px 20px;
    background: #364246;
    color: #fff;
    border-radius: 9999px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .05em;
    width: 100%;
    text-align: center;
    text-transform: uppercase
}

@media screen and (width < 769px) {
    .privacy_policy_page .contents_block__btn a {
        font-size: 4.8vw;
        padding: calc(16 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.service_page,
.service_page .title_block {
    background: #fff
}

.service_page .title_block__inner {
    max-width: 1160px;
    box-sizing: content-box;
    margin: 0 auto;
    padding: calc(55 / 1440 * 100vw) calc(20 / 1440 * 100vw) calc(95 / 1440 * 100vw);
    text-align: center;
}

@media screen and (width < 769px) {
    .service_page .title_block__inner {
        max-width: 100%;
        padding: 8vw calc(20 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.service_page .title_block__title {
    font-size: 70px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    /* font-family: Bebas Neue, sans-serif */
}

@media screen and (width < 769px) {
    .service_page .title_block__title {
        font-size: 16vw
    }
}

.service_page .title_block__sub_title {
    font-size: 27px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .service_page .title_block__sub_title {
        font-size: calc(14 / 375 * 100vw)
    }
}

.service_page .company_block {
    background: #fff;
    overflow: hidden
}

.service_page .company_block__inner {
    max-width: 1040px;
    box-sizing: content-box;
    margin: 0 auto;
    padding: calc(55 / 1440 * 100vw) calc(20 / 1440 * 100vw) calc(95 / 1440 * 100vw);
    position: relative
}

@media screen and (width < 769px) {
    .service_page .company_block__inner {
        max-width: 100%;
        padding: 8vw calc(20 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.service_page .company_block__title {
    font-size: 60px;
    font-weight: 400;
    color: rgb(49, 47, 47);
    line-height: 1;
    font-family: Bebas Neue, sans-serif;
    text-align: center
}

@media screen and (width < 769px) {
    .service_page .company_block__title {
        font-size: calc(50 / 375 * 100vw)
    }
}

.service_page .company_block__text {
    font-size: 34px;
    font-weight: 500;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    text-align: center;
    margin-top: 20px;
    background: linear-gradient(180deg, rgb(47, 72, 150), rgb(226, 112, 55));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

@media screen and (width < 769px) {
    .service_page .company_block__text {
        font-size: 3.2vw;
        margin-top: calc(10 / 375 * 100vw)
    }
}

.service_page .company_block__body {
    margin-top: 60px
}

@media screen and (width < 769px) {
    .service_page .company_block__body {
        margin-top: calc(40 / 375 * 100vw)
    }
}

.service_page .company_block__lead {
    background: #f5f5f5;
    display: flex;
    align-items: center;
    gap: 164px;
    padding: 35px 65px
}

@media screen and (width < 769px) {
    .service_page .company_block__lead {
        flex-direction: column;
        gap: calc(20 / 375 * 100vw);
        padding: calc(34 / 375 * 100vw);
        font-size: calc(16 / 375 * 100vw)
    }
}

.service_page .company_block__lead_right {
    position: relative
}

.service_page .company_block__lead_right li {
    display: flex;
    align-items: center;
    gap: 20px
}

@media screen and (width < 769px) {
    .service_page .company_block__lead_right li {
        gap: calc(10 / 375 * 100vw);
        align-items: flex-start
    }
}

.service_page .company_block__lead_right li:not(:first-child) {
    margin-top: 15px
}

@media screen and (width < 769px) {
    .service_page .company_block__lead_right li:not(:first-child) {
        margin-top: 3.2vw
    }
}

/* .service_page .company_block__lead_right:before {
    content: "";
    display: block;
    width: 105px;
    height: 80px;
    background: url(../image/deco_lead.svg) no-repeat center center/contain;
    position: absolute;
    top: 12px;
    left: -130px
} */

@media screen and (width < 769px) {
    .service_page .company_block__lead_right:before {
        display: none
    }
}

.service_page .company_block__lead_title {
    font-size: 16px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    text-align: center;
    line-height: 2
}

@media screen and (width < 769px) {
    .service_page .company_block__lead_title {
        font-size: calc(16 / 375 * 100vw)
    }
}

.service_page .company_block__lead_num {
    font-size: 18px;
    font-weight: 400;
    color: #1a1a1a;
    font-family: Bebas Neue, sans-serif;
    letter-spacing: .05em
}

@media screen and (width < 769px) {
    .service_page .company_block__lead_num {
        font-size: calc(16 / 375 * 100vw);
        line-height: 2
    }
}

.service_page .company_block__lead_text {
    font-size: 16px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    letter-spacing: .05em;
    text-align: left;
}

@media screen and (width < 769px) {
    .service_page .company_block__lead_text {
        font-size: 4vw;
        letter-spacing: .03em;
        line-height: 2
    }
}

.service_page .company_block__item_wrapper {
    margin-top: 50px
}

@media screen and (width < 769px) {
    .service_page .company_block__item_wrapper {
        margin-top: calc(40 / 375 * 100vw)
    }
}

.service_page .company_block__item {
    display: flex;
    align-items: center;
    gap: 73px
}

@media screen and (width < 769px) {
    .service_page .company_block__item {
        gap: 0;
        flex-direction: column-reverse
    }
}

.service_page .company_block__item:not(:first-child) {
    margin-top: 50px;
    flex-direction: row-reverse
}

@media screen and (width < 769px) {
    .service_page .company_block__item:not(:first-child) {
        margin-top: calc(40 / 375 * 100vw);
        flex-direction: column-reverse
    }
}

.service_page .company_block__item_img {
    max-width: 448px;
    width: 100%;
    flex-shrink: 0
}

@media screen and (width < 769px) {
    .service_page .company_block__item_img {
        max-width: 100%
    }
}

.service_page .company_block__item_img img {
    width: 100%
}

.service_page .company_block__item_title {
    font-size: 20px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    letter-spacing: .01em;
    text-align: left;
}

@media screen and (width < 769px) {
    .service_page .company_block__item_title {
        font-size: calc(16 / 375 * 100vw);
        margin-top: calc(20 / 375 * 100vw)
    }
}

.service_page .company_block__item_text {
    font-size: 14px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 2;
    letter-spacing: .05em;
    font-family: Noto Sans JP, sans-serif;
    margin-top: 15px;
    text-align: left;
}

@media screen and (width < 769px) {
    .service_page .company_block__item_text {
        font-size: 4vw;
        margin-top: calc(20 / 375 * 100vw);
        font-weight: 500
    }
}

.service_page .company_block__deco {
    font-family: Bebas Neue, sans-serif;
    font-size: 276px;
    font-weight: 400;
    color: #1a1a1a;
    position: absolute;
    bottom: -50px;
    right: -158px;
    white-space: nowrap;
    overflow: hidden;
    background: linear-gradient(180deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    z-index: 0;
    pointer-events: none;
    opacity: .08
}

@media screen and (width < 769px) {
    .service_page .company_block__deco {
        font-size: calc(80 / 375 * 100vw);
        bottom: calc(-10 / 375 * 100vw);
        left: calc(-10 / 375 * 100vw)
    }
}

.service_page .liver_block {
    background: #fff;
    overflow: hidden
}

.service_page .liver_block__inner {
    max-width: 1040px;
    box-sizing: content-box;
    margin: 0 auto;
    padding: calc(55 / 1440 * 100vw) calc(20 / 1440 * 100vw) calc(95 / 1440 * 100vw);
    position: relative
}

@media screen and (width < 769px) {
    .service_page .liver_block__inner {
        max-width: 100%;
        padding: 8vw calc(20 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.service_page .liver_block__title {
    font-size: 70px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    font-family: Bebas Neue, sans-serif;
    text-align: center
}

@media screen and (width < 769px) {
    .service_page .liver_block__title {
        font-size: calc(50 / 375 * 100vw)
    }
}

.service_page .liver_block__text {
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    text-align: center;
    margin-top: 20px;
    background: linear-gradient(180deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent
}

@media screen and (width < 769px) {
    .service_page .liver_block__text {
        font-size: 3.2vw;
        margin-top: calc(10 / 375 * 100vw)
    }
}

/* .service_page .liver_block__body {
    margin-top: 60px
} */

@media screen and (width < 769px) {
    .service_page .liver_block__body {
        margin-top: calc(40 / 375 * 100vw)
    }
}

.service_page .liver_block__lead {
    background: #f5f5f5;
    display: flex;
    align-items: center;
    gap: 164px;
    padding: 35px 65px
}

@media screen and (width < 769px) {
    .service_page .liver_block__lead {
        flex-direction: column;
        gap: calc(20 / 375 * 100vw);
        padding: calc(34 / 375 * 100vw);
        font-size: calc(16 / 375 * 100vw)
    }
}

.service_page .liver_block__lead_right {
    position: relative
}

.service_page .liver_block__lead_right li {
    display: flex;
    align-items: center;
    gap: 20px
}

@media screen and (width < 769px) {
    .service_page .liver_block__lead_right li {
        gap: calc(10 / 375 * 100vw);
        align-items: flex-start
    }
}

.service_page .liver_block__lead_right li:not(:first-child) {
    margin-top: 15px
}

@media screen and (width < 769px) {
    .service_page .liver_block__lead_right li:not(:first-child) {
        margin-top: 3.2vw
    }
}

.service_page .liver_block__lead_right:before {
    content: "";
    display: block;
    width: 105px;
    height: 80px;
    background: url(../image/deco_lead.svg) no-repeat center center/contain;
    position: absolute;
    top: 12px;
    left: -130px
}

@media screen and (width < 769px) {
    .service_page .liver_block__lead_right:before {
        display: none
    }
}

.service_page .liver_block__lead_title {
    font-size: 16px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    text-align: center;
    line-height: 2
}

@media screen and (width < 769px) {
    .service_page .liver_block__lead_title {
        font-size: calc(16 / 375 * 100vw)
    }
}

.service_page .liver_block__lead_num {
    font-size: 18px;
    font-weight: 400;
    color: #1a1a1a;
    font-family: Bebas Neue, sans-serif;
    letter-spacing: .05em
}

@media screen and (width < 769px) {
    .service_page .liver_block__lead_num {
        font-size: calc(16 / 375 * 100vw);
        line-height: 2
    }
}

.service_page .liver_block__lead_text {
    font-size: 16px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    letter-spacing: .05em
}

@media screen and (width < 769px) {
    .service_page .liver_block__lead_text {
        font-size: 4vw;
        letter-spacing: .03em;
        line-height: 2
    }
}

.service_page .liver_block__item_wrapper {
    margin-top: 50px
}

@media screen and (width < 769px) {
    .service_page .liver_block__item_wrapper {
        margin-top: calc(40 / 375 * 100vw)
    }
}

.service_page .liver_block__item {
    display: flex;
    align-items: center;
    gap: 73px
}

@media screen and (width < 769px) {
    .service_page .liver_block__item {
        gap: 0;
        flex-direction: column-reverse
    }
}

.service_page .liver_block__item:not(:first-child) {
    margin-top: 50px;
    flex-direction: row-reverse
}

@media screen and (width < 769px) {
    .service_page .liver_block__item:not(:first-child) {
        margin-top: calc(40 / 375 * 100vw);
        flex-direction: column-reverse
    }
}

.service_page .liver_block__item_img {
    max-width: 448px;
    width: 100%;
    flex-shrink: 0
}

@media screen and (width < 769px) {
    .service_page .liver_block__item_img {
        max-width: 100%
    }
}

.service_page .liver_block__item_img img {
    width: 100%
}

.service_page .liver_block__item_title {
    font-size: 20px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    letter-spacing: .01em;
    text-align: left;
}

@media screen and (width < 769px) {
    .service_page .liver_block__item_title {
        font-size: calc(16 / 375 * 100vw);
        margin-top: calc(20 / 375 * 100vw)
    }
}

.service_page .liver_block__item_text {
    font-size: 14px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 2;
    letter-spacing: .05em;
    font-family: Noto Sans JP, sans-serif;
    margin-top: 15px;
    text-align: left;
}

.service_page .liver_block__item_text1 {
    font-size: 14px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 2;
    letter-spacing: .05em;
    font-family: Noto Sans JP, sans-serif;
    margin-top: 15px
}

@media screen and (width < 769px) {
    .service_page .liver_block__item_text {
        font-size: 4vw;
        margin-top: calc(20 / 375 * 100vw);
        font-weight: 500
    }
}

.service_page .liver_block__deco {
    font-family: Bebas Neue, sans-serif;
    font-size: 276px;
    font-weight: 400;
    color: #1a1a1a;
    position: absolute;
    bottom: -50px;
    right: -180px;
    white-space: nowrap;
    overflow: hidden;
    background: linear-gradient(180deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    z-index: 0;
    pointer-events: none;
    opacity: .08
}

@media screen and (width < 769px) {
    .service_page .liver_block__deco {
        font-size: calc(80 / 375 * 100vw);
        bottom: calc(-10 / 375 * 100vw);
        right: 0
    }
}

.service_page .faq_block {
    background: #f5f5f5
}

.service_page .faq_block__inner {
    max-width: 900px;
    box-sizing: content-box;
    margin: 0 auto;
    padding: 100px 20px
}

@media screen and (width < 769px) {
    .service_page .faq_block__inner {
        max-width: 100%;
        padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.service_page .faq_block__title {
    font-size: 70px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    font-family: Bebas Neue, sans-serif;
    text-align: center
}

@media screen and (width < 769px) {
    .service_page .faq_block__title {
        font-size: calc(50 / 375 * 100vw)
    }
}

.service_page .faq_block__text {
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    text-align: center;
    margin-top: 20px;
    background: linear-gradient(180deg, #382e501a, #22244a66 30%, #22192766 68%, #181937b3);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent
}

@media screen and (width < 769px) {
    .service_page .faq_block__text {
        font-size: calc(14 / 375 * 100vw)
    }
}

.service_page .faq_block__body {
    margin-top: 40px;
    background: #fff;
    padding: 60px 70px
}

@media screen and (width < 769px) {
    .service_page .faq_block__body {
        margin-top: calc(40 / 375 * 100vw);
        padding: 8vw calc(20 / 375 * 100vw)
    }
}

.service_page .faq_block__item {
    padding: 0 20px 20px;
    margin-top: 20px;
    border-bottom: .5px solid #364246
}

@media screen and (width < 769px) {
    .service_page .faq_block__item {
        padding: 0 calc(10 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.service_page .faq_block__item[open] .faq_block__item_title:after {
    transform: translateY(-50%) rotate(180deg)
}

.service_page .faq_block__item_title {
    font-size: 18px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    font-family: Noto Sans JP, sans-serif;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative
}

@media screen and (width < 769px) {
    .service_page .faq_block__item_title {
        font-size: calc(16 / 375 * 100vw);
        gap: calc(20 / 375 * 100vw);
        align-items: baseline;
        line-height: 1.5
    }
}

.service_page .faq_block__item_title:before {
    content: "Q.";
    display: block;
    font-size: 32px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    font-family: Bebas Neue, sans-serif
}

@media screen and (width < 769px) {
    .service_page .faq_block__item_title:before {
        font-size: calc(32 / 375 * 100vw)
    }
}

.service_page .faq_block__item_title:after {
    content: "";
    display: block;
    width: 8px;
    height: 13px;
    background: url(../image/deco_accordion.svg) no-repeat center center/contain;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%)
}

@media screen and (width < 769px) {
    .service_page .faq_block__item_title:after {
        width: calc(8 / 375 * 100vw);
        height: calc(13 / 375 * 100vw)
    }
}

.service_page .faq_block__item_content {
    font-size: 16px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 2;
    font-family: Noto Sans JP, sans-serif;
    margin-top: 17px;
    padding-left: 1rem;
    letter-spacing: .03em;
    display: flex;
    align-items: flex-start;
    gap: 10px
}

@media screen and (width < 769px) {
    .service_page .faq_block__item_content {
        font-size: 4vw;
        line-height: 1.5;
        margin-top: calc(17 / 375 * 100vw)
    }
}

.service_page .faq_block__item_content:before {
    content: "A.";
    display: block;
    font-size: 32px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    font-family: Bebas Neue, sans-serif
}

.service_page .faq_block__cta_wrapper {
    margin-top: 40px;
    text-align: center
}

@media screen and (width < 769px) {
    .service_page .faq_block__cta_wrapper {
        margin-top: calc(40 / 375 * 100vw)
    }
}

.service_page .faq_block__cta_text {
    font-size: 18px;
    font-weight: 500;
    color: #1a1a1a;
    line-height: 1.5;
    font-family: Noto Sans JP, sans-serif;
    letter-spacing: .05em
}

@media screen and (width < 769px) {
    .service_page .faq_block__cta_text {
        font-size: 4vw;
        line-height: 2
    }
}

.service_page .faq_block__btn {
    max-width: 431px;
    margin: 40px auto 0;
    cursor: pointer
}

@media screen and (width < 769px) {
    .service_page .faq_block__btn {
        max-width: 100%;
        margin-top: calc(20 / 375 * 100vw)
    }
}

.service_page .faq_block__btn a {
    color: #fff;
    background: #364246;
    padding: 15px 20px;
    border-radius: 9999px;
    display: inline-block;
    text-decoration: none;
    font-family: Noto Sans JP, sans-serif;
    width: 100%;
    cursor: pointer
}

@media screen and (width < 769px) {
    .service_page .faq_block__btn a {
        padding: calc(16 / 375 * 100vw) calc(20 / 375 * 100vw);
        font-size: 4.8vw
    }
}

.single_news_page,
.single_news_page .title_block {
    background: #fff
}

.single_news_page .title_block__inner {
    margin: 0 auto;
    max-width: 1160px;
    padding: 127px 140px 80px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .single_news_page .title_block__inner {
        max-width: 100%;
        padding: calc(43 / 375 * 100vw) calc(20 / 375 * 100vw) 16vw
    }
}

.single_news_page .title_block__title {
    font-family: Bebas Neue, sans-serif;
    font-size: 100px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .single_news_page .title_block__title {
        font-size: 16vw
    }
}

.single_news_page .title_block__sub_title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 20px
}

@media screen and (width < 769px) {
    .single_news_page .title_block__sub_title {
        font-size: calc(14 / 375 * 100vw);
        margin-top: 0
    }
}

.single_news_page .contents_block {
    background: #f5f5f5
}

.single_news_page .contents_block__inner {
    margin: 0 auto;
    max-width: 900px;
    padding: 100px 20px;
    box-sizing: content-box
}

@media screen and (width < 769px) {
    .single_news_page .contents_block__inner {
        padding: calc(40 / 375 * 100vw) calc(10 / 375 * 100vw)
    }
}

.single_news_page .contents_block__body {
    background: #fff;
    padding: 90px 60px;
    border-radius: 10px
}

@media screen and (width < 769px) {
    .single_news_page .contents_block__body {
        padding: calc(70 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.single_news_page .contents_block__title_wrapper {
    padding-bottom: 30px;
    border-bottom: .5px solid #364246
}

@media screen and (width < 769px) {
    .single_news_page .contents_block__title_wrapper {
        padding-bottom: 8vw
    }
}

.single_news_page .contents_block__title_date {
    font-family: Barlow, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .05em;
    color: #c5c5cb
}

@media screen and (width < 769px) {
    .single_news_page .contents_block__title_date {
        font-size: 3.2vw
    }
}

.single_news_page .contents_block__title {
    font-family: Noto Sans JP, sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .05em;
    color: #1a1a1a;
    margin-top: 10px
}

@media screen and (width < 769px) {
    .single_news_page .contents_block__title {
        font-size: calc(20 / 375 * 100vw);
        margin-top: calc(10 / 375 * 100vw)
    }
}

.single_news_page .contents_block__article {
    padding-top: 30px
}

@media screen and (width < 769px) {
    .single_news_page .contents_block__article {
        padding-top: 8vw
    }
}

.single_news_page .contents_block__article p {
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: .05em;
    color: #1a1a1a
}

@media screen and (width < 769px) {
    .single_news_page .contents_block__article p {
        font-size: 4vw
    }
}

.single_news_page .contents_block__article p:not(:last-child) {
    padding-bottom: 1.5rem
}

.single_news_page .contents_block__btn {
    max-width: 492px;
    margin: 60px auto 0
}

@media screen and (width < 769px) {
    .single_news_page .contents_block__btn {
        margin-top: calc(40 / 375 * 100vw);
        max-width: calc(295 / 375 * 100vw)
    }
}

.single_news_page .contents_block__btn a {
    font-family: Barlow, sans-serif;
    display: inline-block;
    padding: 18px 20px;
    background: #364246;
    color: #fff;
    border-radius: 9999px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .05em;
    width: 100%;
    text-align: center;
    text-transform: uppercase
}

@media screen and (width < 769px) {
    .single_news_page .contents_block__btn a {
        font-size: 4.8vw;
        padding: calc(16 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}