a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline
}

body,
html {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline
}

html {
    line-height: 1
}

ol,
ul {
    list-style: none
}

table {
    border-spacing: 0;
    border-collapse: collapse
}

caption,
td,
th {
    font-weight: normal;
    text-align: left;
    vertical-align: middle
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    content: none
}

a img {
    border: none
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
picture {
    display: block
}

button {
    border: none;
    background-color: rgba(0, 0, 0, 0);
    background-color: rgba(0, 0, 0, 0);
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

ul,
ol {
    list-style: none
}

ul li,
ol li {
    list-style: none
}

.svg-arrow-right-dims {
    width: 448px;
    height: 512px
}

.svg-arrow-up-dims {
    width: 384px;
    height: 512px
}

.svg-check-dims {
    width: 448px;
    height: 512px
}

.svg-chevron-down-dims {
    width: 512px;
    height: 512px
}

.svg-chevron-right-dims {
    width: 320px;
    height: 512px
}

.svg-down-to-line-dims {
    width: 384px;
    height: 512px
}

.svg-file-magnifying-glass-thin-dims {
    width: 384px;
    height: 512px
}

.svg-file-pdf-dims {
    width: 512px;
    height: 512px
}

.svg-file-signature-light-dims {
    width: 576px;
    height: 512px
}

.svg-icon_bubble_cross-dims {
    width: 60.006px;
    height: 52.512px
}

.svg-icon_clock-dims {
    width: 60px;
    height: 60px
}

.svg-icon_hands-dims {
    width: 75px;
    height: 44.996px
}

.svg-icon_users-dims {
    width: 75px;
    height: 52.5px
}

.svg-keyboard-light-dims {
    width: 576px;
    height: 512px
}

.svg-line-dims {
    width: 512px;
    height: 512px
}

.svg-paper-plane-dims {
    width: 512px;
    height: 512px
}

.svg-people-arrows-light-dims {
    width: 640px;
    height: 512px
}

.svg-phone-dims {
    width: 512px;
    height: 512px
}

.svg-phone-light-dims {
    width: 512px;
    height: 512px
}

.svg-square-x-twitter-dims {
    width: 448px;
    height: 512px
}

.svg-twitter-dims {
    width: 512px;
    height: 512px
}

.svg-user-doctor-solid-dims {
    width: 52.5px;
    height: 60px
}

.svg-user-doctor-thin-dims {
    width: 448px;
    height: 512px
}

.svg-x-twitter-dims {
    width: 512px;
    height: 512px
}

* {
    box-sizing: border-box;
    -webkit-backface-visibility: hidden;
    -webkit-print-color-adjust: exact
}

html {
    height: 100%;
    background-color: #fff;
    font-size: 10px;
    scroll-behavior: smooth;
    scroll-padding-top: 90px;
    -webkit-text-size-adjust: 100%
}

body {
    width: 100%;
    height: 100%;
    background-color: #fff;
    color: #333;
    font-family: "Inter", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    line-height: 1.7142857143;
    -webkit-font-smoothing: antialiased;
    font-size: 1.2rem;
    line-break: strict;
    -webkit-overflow-scrolling: touch
}

.is-lock body {
    overflow: hidden
}

.pages {
    padding-top: 70px
}

::-webkit-scrollbar {
    width: .6rem;
    height: .6rem
}

::-webkit-scrollbar-track {
    border-radius: .6rem;
    box-shadow: inset 0 0 .6rem rgba(0, 0, 0, .1)
}

::-webkit-scrollbar-thumb {
    border-radius: .6rem;
    background-color: rgba(0, 0, 0, .5);
    box-shadow: 0 0 0 .1rem rgba(255, 255, 255, .3)
}

img {
    max-width: 100%;
    width: 100%;
    height: auto;
    border: none;
    -ms-interpolation-mode: bicubic;
    vertical-align: bottom
}

::-moz-selection {
    background-color: #007bbe;
    color: #fff
}

::selection {
    background-color: #007bbe;
    color: #fff
}

iframe {
    border: none
}

i {
    font-style: normal
}

a {
    color: #333;
    text-decoration: none;
    transition: 600ms ease-out
}

a {
    transition: 600ms ease-out
}

@media screen and (min-width:769px) {
    a:hover {
        opacity: .5
    }
}

a,
a img {
    outline: none;
    text-decoration: none;
    cursor: pointer;
    transition: 600ms ease-out;
    transition-property: opacity, color
}

.u-underline {
    text-decoration: underline
}

.bold,
.strong,
b,
strong {
    font-weight: 700
}

em {
    color: #363433
}

sup {
    position: relative;
    top: -0.15em;
    font-size: .75em
}

.small {
    font-size: .8em
}

.underline {
    text-decoration: underline
}

.wbr {
    display: inline-block
}

@media screen and (min-width:769px) {
    .sp {
        display: none !important
    }
}

@media screen and (max-width:768px) {
    .pc {
        display: none !important
    }
}

@media screen and (max-width:768px) {
    .hiddenSP {
        display: none
    }
}

@media screen and (min-width:769px) {
    .hiddenPC {
        display: none
    }
}

.is-hidden {
    display: none
}

@media screen and (max-width:768px) {
    .sp-none {
        display: none
    }
}

.hide {
    display: none
}

@media screen and (max-width: 768px) {
    .hide-sp {
        display: none
    }
}

.u-align__center {
    text-align: center !important
}

.u-align__right {
    text-align: right !important
}

.u-align__left {
    text-align: left !important
}

.bg-stripe {
    background-image: url(../images/bg_stripe.svg)
}

@media screen and (min-width:769px) {
    .bg-stripe {
        padding: 20px
    }
}

@media screen and (max-width:768px) {
    .bg-stripe {
        padding: 15px
    }
}

.bg-stripe .bg-stripe_container {
    border-radius: 12px;
    background-color: #fff
}

@media screen and (min-width:769px) {
    .bg-stripe .bg-stripe_container {
        padding: 60px
    }
}

@media screen and (max-width:768px) {
    .bg-stripe .bg-stripe_container {
        padding: 15px 15px
    }
}

@media screen and (max-width:768px) {
    .pages .bg-stripe {
        padding: 15px 0
    }
}

.u-pdt0 {
    padding-top: 0rem !important
}

.u-mgt0 {
    margin-top: 0rem !important
}

.u-pdt1 {
    padding-top: 1rem !important
}

.u-mgt1 {
    margin-top: 1rem !important
}

.u-pdt2 {
    padding-top: 2rem !important
}

.u-mgt2 {
    margin-top: 2rem !important
}

.u-pdt3 {
    padding-top: 3rem !important
}

.u-mgt3 {
    margin-top: 3rem !important
}

.u-pdt4 {
    padding-top: 4rem !important
}

.u-mgt4 {
    margin-top: 4rem !important
}

.u-pdt5 {
    padding-top: 5rem !important
}

.u-mgt5 {
    margin-top: 5rem !important
}

.u-pdt6 {
    padding-top: 6rem !important
}

.u-mgt6 {
    margin-top: 6rem !important
}

.u-pdt7 {
    padding-top: 7rem !important
}

.u-mgt7 {
    margin-top: 7rem !important
}

.u-pdt8 {
    padding-top: 8rem !important
}

.u-mgt8 {
    margin-top: 8rem !important
}

.u-pdt9 {
    padding-top: 9rem !important
}

.u-mgt9 {
    margin-top: 9rem !important
}

.u-pdt10 {
    padding-top: 10rem !important
}

.u-mgt10 {
    margin-top: 10rem !important
}

.u-pdt11 {
    padding-top: 11rem !important
}

.u-mgt11 {
    margin-top: 11rem !important
}

.u-pdt12 {
    padding-top: 12rem !important
}

.u-mgt12 {
    margin-top: 12rem !important
}

.u-pdt13 {
    padding-top: 13rem !important
}

.u-mgt13 {
    margin-top: 13rem !important
}

.u-pdt14 {
    padding-top: 14rem !important
}

.u-mgt14 {
    margin-top: 14rem !important
}

.u-pdt15 {
    padding-top: 15rem !important
}

.u-mgt15 {
    margin-top: 15rem !important
}

.u-pdt16 {
    padding-top: 16rem !important
}

.u-mgt16 {
    margin-top: 16rem !important
}

.u-pdt17 {
    padding-top: 17rem !important
}

.u-mgt17 {
    margin-top: 17rem !important
}

.u-pdt18 {
    padding-top: 18rem !important
}

.u-mgt18 {
    margin-top: 18rem !important
}

.u-pdt19 {
    padding-top: 19rem !important
}

.u-mgt19 {
    margin-top: 19rem !important
}

.u-pdt20 {
    padding-top: 20rem !important
}

.u-mgt20 {
    margin-top: 20rem !important
}

.u-pdb0 {
    padding-bottom: 0rem !important
}

.u-mgb0 {
    margin-bottom: 0rem !important
}

.u-pdb1 {
    padding-bottom: 1rem !important
}

.u-mgb1 {
    margin-bottom: 1rem !important
}

.u-pdb2 {
    padding-bottom: 2rem !important
}

.u-mgb2 {
    margin-bottom: 2rem !important
}

.u-pdb3 {
    padding-bottom: 3rem !important
}

.u-mgb3 {
    margin-bottom: 3rem !important
}

.u-pdb4 {
    padding-bottom: 4rem !important
}

.u-mgb4 {
    margin-bottom: 4rem !important
}

.u-pdb5 {
    padding-bottom: 5rem !important
}

.u-mgb5 {
    margin-bottom: 5rem !important
}

.u-pdb6 {
    padding-bottom: 6rem !important
}

.u-mgb6 {
    margin-bottom: 6rem !important
}

.u-pdb7 {
    padding-bottom: 7rem !important
}

.u-mgb7 {
    margin-bottom: 7rem !important
}

.u-pdb8 {
    padding-bottom: 8rem !important
}

.u-mgb8 {
    margin-bottom: 8rem !important
}

.u-pdb9 {
    padding-bottom: 9rem !important
}

.u-mgb9 {
    margin-bottom: 9rem !important
}

.u-pdb10 {
    padding-bottom: 10rem !important
}

.u-mgb10 {
    margin-bottom: 10rem !important
}

.u-pdb11 {
    padding-bottom: 11rem !important
}

.u-mgb11 {
    margin-bottom: 11rem !important
}

.u-pdb12 {
    padding-bottom: 12rem !important
}

.u-mgb12 {
    margin-bottom: 12rem !important
}

.u-pdb13 {
    padding-bottom: 13rem !important
}

.u-mgb13 {
    margin-bottom: 13rem !important
}

.u-pdb14 {
    padding-bottom: 14rem !important
}

.u-mgb14 {
    margin-bottom: 14rem !important
}

.u-pdb15 {
    padding-bottom: 15rem !important
}

.u-mgb15 {
    margin-bottom: 15rem !important
}

.u-pdb16 {
    padding-bottom: 16rem !important
}

.u-mgb16 {
    margin-bottom: 16rem !important
}

.u-pdb17 {
    padding-bottom: 17rem !important
}

.u-mgb17 {
    margin-bottom: 17rem !important
}

.u-pdb18 {
    padding-bottom: 18rem !important
}

.u-mgb18 {
    margin-bottom: 18rem !important
}

.u-pdb19 {
    padding-bottom: 19rem !important
}

.u-mgb19 {
    margin-bottom: 19rem !important
}

.u-pdb20 {
    padding-bottom: 20rem !important
}

.u-mgb20 {
    margin-bottom: 20rem !important
}

.u-pdl0 {
    padding-left: 0rem !important
}

.u-mgl0 {
    margin-left: 0rem !important
}

.u-pdl1 {
    padding-left: 1rem !important
}

.u-mgl1 {
    margin-left: 1rem !important
}

.u-pdl2 {
    padding-left: 2rem !important
}

.u-mgl2 {
    margin-left: 2rem !important
}

.u-pdl3 {
    padding-left: 3rem !important
}

.u-mgl3 {
    margin-left: 3rem !important
}

.u-pdl4 {
    padding-left: 4rem !important
}

.u-mgl4 {
    margin-left: 4rem !important
}

.u-pdl5 {
    padding-left: 5rem !important
}

.u-mgl5 {
    margin-left: 5rem !important
}

.u-pdl6 {
    padding-left: 6rem !important
}

.u-mgl6 {
    margin-left: 6rem !important
}

.u-pdl7 {
    padding-left: 7rem !important
}

.u-mgl7 {
    margin-left: 7rem !important
}

.u-pdl8 {
    padding-left: 8rem !important
}

.u-mgl8 {
    margin-left: 8rem !important
}

.u-pdl9 {
    padding-left: 9rem !important
}

.u-mgl9 {
    margin-left: 9rem !important
}

.u-pdl10 {
    padding-left: 10rem !important
}

.u-mgl10 {
    margin-left: 10rem !important
}

.u-pdl11 {
    padding-left: 11rem !important
}

.u-mgl11 {
    margin-left: 11rem !important
}

.u-pdl12 {
    padding-left: 12rem !important
}

.u-mgl12 {
    margin-left: 12rem !important
}

.u-pdl13 {
    padding-left: 13rem !important
}

.u-mgl13 {
    margin-left: 13rem !important
}

.u-pdl14 {
    padding-left: 14rem !important
}

.u-mgl14 {
    margin-left: 14rem !important
}

.u-pdl15 {
    padding-left: 15rem !important
}

.u-mgl15 {
    margin-left: 15rem !important
}

.u-pdl16 {
    padding-left: 16rem !important
}

.u-mgl16 {
    margin-left: 16rem !important
}

.u-pdl17 {
    padding-left: 17rem !important
}

.u-mgl17 {
    margin-left: 17rem !important
}

.u-pdl18 {
    padding-left: 18rem !important
}

.u-mgl18 {
    margin-left: 18rem !important
}

.u-pdl19 {
    padding-left: 19rem !important
}

.u-mgl19 {
    margin-left: 19rem !important
}

.u-pdl20 {
    padding-left: 20rem !important
}

.u-mgl20 {
    margin-left: 20rem !important
}

.u-pdr0 {
    padding-right: 0rem !important
}

.u-mgr0 {
    margin-right: 0rem !important
}

.u-pdr1 {
    padding-right: 1rem !important
}

.u-mgr1 {
    margin-right: 1rem !important
}

.u-pdr2 {
    padding-right: 2rem !important
}

.u-mgr2 {
    margin-right: 2rem !important
}

.u-pdr3 {
    padding-right: 3rem !important
}

.u-mgr3 {
    margin-right: 3rem !important
}

.u-pdr4 {
    padding-right: 4rem !important
}

.u-mgr4 {
    margin-right: 4rem !important
}

.u-pdr5 {
    padding-right: 5rem !important
}

.u-mgr5 {
    margin-right: 5rem !important
}

.u-pdr6 {
    padding-right: 6rem !important
}

.u-mgr6 {
    margin-right: 6rem !important
}

.u-pdr7 {
    padding-right: 7rem !important
}

.u-mgr7 {
    margin-right: 7rem !important
}

.u-pdr8 {
    padding-right: 8rem !important
}

.u-mgr8 {
    margin-right: 8rem !important
}

.u-pdr9 {
    padding-right: 9rem !important
}

.u-mgr9 {
    margin-right: 9rem !important
}

.u-pdr10 {
    padding-right: 10rem !important
}

.u-mgr10 {
    margin-right: 10rem !important
}

.u-pdr11 {
    padding-right: 11rem !important
}

.u-mgr11 {
    margin-right: 11rem !important
}

.u-pdr12 {
    padding-right: 12rem !important
}

.u-mgr12 {
    margin-right: 12rem !important
}

.u-pdr13 {
    padding-right: 13rem !important
}

.u-mgr13 {
    margin-right: 13rem !important
}

.u-pdr14 {
    padding-right: 14rem !important
}

.u-mgr14 {
    margin-right: 14rem !important
}

.u-pdr15 {
    padding-right: 15rem !important
}

.u-mgr15 {
    margin-right: 15rem !important
}

.u-pdr16 {
    padding-right: 16rem !important
}

.u-mgr16 {
    margin-right: 16rem !important
}

.u-pdr17 {
    padding-right: 17rem !important
}

.u-mgr17 {
    margin-right: 17rem !important
}

.u-pdr18 {
    padding-right: 18rem !important
}

.u-mgr18 {
    margin-right: 18rem !important
}

.u-pdr19 {
    padding-right: 19rem !important
}

.u-mgr19 {
    margin-right: 19rem !important
}

.u-pdr20 {
    padding-right: 20rem !important
}

.u-mgr20 {
    margin-right: 20rem !important
}

.u-fontsize8 {
    font-size: .8rem !important
}

.u-fontsize9 {
    font-size: .9rem !important
}

.u-fontsize1 {
    font-size: .1rem !important
}

.u-fontsize2 {
    font-size: .2rem !important
}

.u-fontsize3 {
    font-size: .3rem !important
}

.u-fontsize4 {
    font-size: .4rem !important
}

.u-fontsize5 {
    font-size: .5rem !important
}

.u-fontsize6 {
    font-size: .6rem !important
}

.u-fontsize7 {
    font-size: .7rem !important
}

.u-fontsize8 {
    font-size: .8rem !important
}

.u-fontsize9 {
    font-size: .9rem !important
}

.u-fontsize10 {
    font-size: 1rem !important
}

.u-fontsize11 {
    font-size: 1.1rem !important
}

.u-fontsize12 {
    font-size: 1.2rem !important
}

.u-fontsize13 {
    font-size: 1.3rem !important
}

.u-fontsize14 {
    font-size: 1.4rem !important
}

.u-fontsize15 {
    font-size: 1.5rem !important
}

.u-fontsize16 {
    font-size: 1.6rem !important
}

.u-fontsize17 {
    font-size: 1.7rem !important
}

.u-fontsize18 {
    font-size: 1.8rem !important
}

.u-fontsize19 {
    font-size: 1.9rem !important
}

.u-fontsize20 {
    font-size: 2rem !important
}

.u-fontsize21 {
    font-size: 2.1rem !important
}

.u-fontsize22 {
    font-size: 2.2rem !important
}

.u-fontsize23 {
    font-size: 2.3rem !important
}

.u-fontsize24 {
    font-size: 2.4rem !important
}

.u-fontsize25 {
    font-size: 2.5rem !important
}

.u-fontsize26 {
    font-size: 2.6rem !important
}

.u-fontsize27 {
    font-size: 2.7rem !important
}

.u-fontsize28 {
    font-size: 2.8rem !important
}

.u-fontsize29 {
    font-size: 2.9rem !important
}

.u-fontsize30 {
    font-size: 3rem !important
}

.c-table_wrapper {
    overflow-x: auto;
    cursor: grab;
    margin-bottom: 2.4rem
}

.c-table {
    border-spacing: 0 1.8rem;
    border-collapse: separate;
    width: 100%;
    white-space: nowrap
}

.c-table th,
.c-table td {
    padding: 1.5rem 3rem;
    text-align: center
}

.c-table .p-adjust {
    width: 100%
}

.c-table thead th {
    color: var(--text-color-sub);
    font-weight: 700
}

.c-table thead .p-utility {
    background: none
}

.c-table thead .p-utility:after {
    position: absolute;
    top: 0;
    right: 0;
    width: calc(100% + 4em);
    height: 100%;
    background-image: var(--table-head-gradiet);
    content: ""
}

.c-table tbody tr {
    position: relative
}

.c-table tbody td {
    background: var(--table-background);
    box-shadow: .6rem 0 .6rem var(--box-shadow-color);
    transition: background 600ms ease-out
}

.c-table tbody td:first-child {
    border-radius: 1rem 0 0 1rem
}

.c-table tbody td:last-child {
    border-radius: 0 1rem 1rem 0
}

@media(min-width: 160rem) {
    .c-table .break {
        display: none
    }
}

.c-table .p-utility {
    position: sticky;
    right: 0;
    min-width: 26rem;
    padding: 0 !important;
    width: 0
}

.c-table .p-utility .p-utility_box {
    height: 100%;
    transition: 100ms
}

.c-table .p-utility ul {
    display: flex;
    height: 100%;
    padding: 1.4rem 1rem;
    border-radius: 0px 1rem 1rem 0px;
    background: var(--table-background);
    box-shadow: -0.6rem 0px .6rem var(--box-shadow-color);
    align-items: center;
    gap: 1rem
}

.c-table .p-utility.--static {
    min-width: 0;
    position: static
}

.c-table .p-utility.--static ul {
    box-shadow: none
}

.c-table .p-utility button {
    position: relative;
    width: 4rem;
    height: 4rem;
    border-radius: .6rem;
    background: var(--table-utility-button)
}

.c-table .p-utility button.--nobg {
    background: none;
    margin-right: 1rem
}

.c-table .p-utility button:hover .p-icon {
    transform: scale(1.3)
}

.c-table .p-number {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 99rem;
    background-color: #26cc36;
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: normal;
    transform: translate(50%, -50%);
    align-items: center;
    justify-content: center
}

.c-table .p-icon {
    font-size: 1.8rem
}

.c-table .p-icon {
    transition: 600ms ease-out
}

.c-table .p-icon__pen {
    color: var(--text-color-sub)
}

.c-table .p-icon__wave {
    color: #2ca9e1
}

.c-table .p-icon__pdf {
    color: #ff0045
}

.c-table .p-icon__trash {
    color: gray
}

.c-table .p-icon__comments {
    color: #26cc36
}

.c-table .p-button:hover .p-icon {
    transform: scale(1.3)
}

.c-patient-list {
    padding: 2rem 0 0
}

.c-patient-list table {
    width: 100%
}

.c-patient-list thead {
    position: relative;
    font-weight: 500
}

.c-patient-list thead:after {
    position: absolute;
    bottom: 2rem;
    left: 0;
    width: 100%;
    height: 1px;
    border-bottom: .1rem solid var(--border-color--blue);
    content: ""
}

.c-patient-list thead th {
    width: 50%;
    padding: 0 1.2rem 4rem
}

.c-patient-list td {
    position: relative;
    padding: .75rem
}

.c-patient-list td:first-child {
    padding-left: 0
}

.c-patient-list td:last-child {
    padding-right: 0
}

.c-patient-list .p-delete {
    display: inline-block;
    margin-right: 1em;
    cursor: pointer
}

.c-patient-list .p-input td {
    padding-top: 2rem
}

.c-patient-list .p-patient-item-add {
    position: absolute;
    top: 0;
    right: 0;
    width: 10px;
    height: 10px;
    opacity: 0;
    pointer-events: none
}

.c-progress_dots {
    display: flex;
    gap: .5rem
}

.c-progress_dots li {
    width: .6rem;
    height: .6rem;
    border-radius: 99rem;
    background-color: var(--dots)
}

.c-progress_dots li.is-active {
    background-color: var(--dots-active)
}

.u-state {
    border-radius: 99rem;
    background: var(--background-color);
    color: #808eb0;
    line-height: 2rem;
    padding: 0 1rem;
    min-width: 5.5rem;
    font-size: 1rem;
    text-align: center;
    border: .1rem solid #808eb0
}

.u-state.--active {
    background-color: #007bbe;
    border-color: #007bbe;
    color: #fff
}

.u-state.--complete {
    background-color: #c3cbd9;
    border-color: #c3cbd9;
    color: #fff
}

.dark-theme .u-state.--complete {
    background-color: #c3cbd9;
    border-color: #c3cbd9;
    color: var(--table-background)
}

.u-fontsize__s {
    font-size: 1.2rem;
    letter-spacing: normal
}

.color-orenge {
    color: #f78e27
}

.color-green {
    color: #26cc36
}

.color-red {
    color: #ff0045
}

.u-left {
    text-align: left
}

.u-right {
    text-align: right
}

.u-center {
    text-align: center
}

.u-strong {
    font-weight: bold !important
}

.u-normal {
    font-weight: normal !important
}

.u-attention {
    color: #007bbe;
    font-weight: 700
}

.c-breadcrumbs {
    display: flex;
    margin-right: 20px;
    color: #333;
    font-weight: 500;
    line-height: 200%;
    letter-spacing: 1.2px
}

@media screen and (min-width:769px) {
    .c-breadcrumbs {
        margin-bottom: 4.6875vw;
        font-size: 12px
    }
}

@media screen and (max-width:768px) {
    .c-breadcrumbs {
        overflow-x: auto;
        margin-bottom: 16vw;
        font-size: 12px
    }
}

.c-breadcrumbs li {
    display: flex;
    white-space: nowrap;
    align-items: center
}

.c-breadcrumbs li:after {
    display: block;
    width: .4em;
    height: .4em;
    margin: 0 1.5em 0 1em;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    content: "";
    transform: rotate(45deg)
}

.c-breadcrumbs li:last-child:after {
    display: none
}

.c-burger_toggle,
.c-burger_toggle span {
    display: inline-block;
    box-sizing: border-box;
    transition: all .4s
}

.c-burger_toggle {
    position: relative;
    width: 18px;
    height: 11px;
    border: none;
    background: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

@media screen and (min-width:769px) {
    .c-burger_toggle {
        display: none
    }
}

.c-burger_toggle span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    border-radius: 999px;
    background-color: #6e6e6e
}

.c-burger_toggle span:nth-of-type(1) {
    top: 0
}

.c-burger_toggle span:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
    transform-origin: center center
}

.c-burger_toggle span:nth-of-type(3) {
    bottom: 0
}

.c-burger_toggle.is-active span:nth-of-type(1) {
    top: 50%;
    transform: translateY(-50%) rotate(-45deg)
}

.c-burger_toggle.is-active span:nth-of-type(2) {
    transform: translateY(0) rotate(45deg)
}

.c-burger_toggle.is-active span:nth-of-type(3) {
    opacity: 0
}

.c-button {
    display: inline-flex;
    padding: 15px 20px;
    border-radius: 999px;
    background: #fff;
    font-weight: 700;
    white-space: nowrap;
    align-items: center;
    filter: drop-shadow(0px 12px 12px rgba(16, 16, 16, 0.06));
    gap: 10px;
    justify-content: space-between
}

@media screen and (min-width:769px) {
    .c-button {
        font-size: 1.4rem
    }
}

@media screen and (max-width:768px) {
    .c-button {
        font-size: 1.4rem
    }
}

.c-button .icon {
    fill: #007bbe
}

@media screen and (min-width:769px) {

    .c-button .icon-pdf,
    .c-button .icon-paper-plane {
        width: 24px;
        height: 24px
    }
}

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

    .c-button .icon-pdf,
    .c-button .icon-paper-plane {
        width: 16px;
        height: 16px;
        min-width: 16px;
        min-height: 16px
    }
}

.c-button .icon-download,
.c-button .icon-arrow-up {
    width: 10px;
    height: 14px
}

.c-button.--std {
    padding-right: 42px;
    padding-left: 42px
}

.c-button.--std .icon-arrow-right {
    width: 12px;
    height: 14px
}

.c-button.--border {
    border: 1px solid #007bbe
}

.c-button.--md {
    padding: 20px 28px;
    width: 50%;
    max-width: 340px;
    font-size: 2rem
}

.c-button.--md .icon-pdf,
.c-button.--md .icon-paper-plane {
    width: 30px;
    height: 30px
}

.c-button.--md .icon-download,
.c-button.--md .icon-arrow-up {
    width: 16px;
    height: 21px
}

.c-button .icon {
    transition: 600ms ease-out
}

.c-button:hover {
    opacity: 1
}

.c-button:hover .icon-arrow-right {
    transform: translateX(10px)
}

.c-button:hover .icon-download {
    transform: translateY(5px)
}

.c-button:hover .icon-arrow-up {
    transform: translate(5px, -5px)
}

.c-button_container {
    display: flex;
    justify-content: center;
    padding: 60px
}

.c-button__submit {
    text-align: center
}

.c-button__submit .p-button_box {
    text-align: center;
    display: inline-block;
    margin: auto;
    position: relative
}

.c-button__submit .p-button_box:after {
    content: "";
    width: 30px;
    height: 30px;
    display: block;
    position: absolute;
    right: 60px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29.97 30"><path d="M29.391-26a1.412,1.412,0,0,0-1.491-.062L.71-10.6A1.414,1.414,0,0,0,0-9.293,1.406,1.406,0,0,0,.862-8.081L9.844-4.308v6.65a1.407,1.407,0,0,0,.732,1.234,1.355,1.355,0,0,0,.621.174,1.412,1.412,0,0,0,.761-.223L18.474-.66l5.775,2.426a1.409,1.409,0,0,0,.545.11,1.4,1.4,0,0,0,.69-.181,1.4,1.4,0,0,0,.7-1.018l3.75-25.312A1.291,1.291,0,0,0,29.391-26Zm-7.752,6.739L10.676-7.025,4.584-9.568ZM12.6-.234V-3.127l2.722,1.143ZM23.719-1.529,13.371-5.876,26.531-20.5Z" transform="translate(0 26.25)" fill="%235579af" /></svg>');
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    transition: 600ms ease-out
}

.c-button__submit .p-button {
    cursor: pointer;
    background-color: #fff;
    border: 1px solid #5579af;
    color: #5579af;
    line-height: 1;
    font-size: 24px;
    font-weight: 500;
    border-radius: 999px;
    letter-spacing: .02em;
    padding: 22px 100px 22px 60px;
    transition: 600ms ease-out;
    filter: drop-shadow(0px 6px 6px rgba(16, 16, 16, 0.06))
}

.c-button__submit:hover .p-button_box:after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29.97 30"><path d="M29.391-26a1.412,1.412,0,0,0-1.491-.062L.71-10.6A1.414,1.414,0,0,0,0-9.293,1.406,1.406,0,0,0,.862-8.081L9.844-4.308v6.65a1.407,1.407,0,0,0,.732,1.234,1.355,1.355,0,0,0,.621.174,1.412,1.412,0,0,0,.761-.223L18.474-.66l5.775,2.426a1.409,1.409,0,0,0,.545.11,1.4,1.4,0,0,0,.69-.181,1.4,1.4,0,0,0,.7-1.018l3.75-25.312A1.291,1.291,0,0,0,29.391-26Zm-7.752,6.739L10.676-7.025,4.584-9.568ZM12.6-.234V-3.127l2.722,1.143ZM23.719-1.529,13.371-5.876,26.531-20.5Z" transform="translate(0 26.25)" fill="%23ffffff" /></svg>');
    background-repeat: no-repeat;
    background-size: contain
}

.c-button__submit:hover .p-button {
    color: #fff;
    background-color: #5579af
}

.c-button__submit.--blue .p-button {
    background-color: #5579af;
    border: 1px solid #5579af;
    color: #fff
}

.c-button__submit.--blue .p-button_box:after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29.97 30"><path d="M29.391-26a1.412,1.412,0,0,0-1.491-.062L.71-10.6A1.414,1.414,0,0,0,0-9.293,1.406,1.406,0,0,0,.862-8.081L9.844-4.308v6.65a1.407,1.407,0,0,0,.732,1.234,1.355,1.355,0,0,0,.621.174,1.412,1.412,0,0,0,.761-.223L18.474-.66l5.775,2.426a1.409,1.409,0,0,0,.545.11,1.4,1.4,0,0,0,.69-.181,1.4,1.4,0,0,0,.7-1.018l3.75-25.312A1.291,1.291,0,0,0,29.391-26Zm-7.752,6.739L10.676-7.025,4.584-9.568ZM12.6-.234V-3.127l2.722,1.143ZM23.719-1.529,13.371-5.876,26.531-20.5Z" transform="translate(0 26.25)" fill="%23ffffff" /></svg>');
    background-repeat: no-repeat;
    background-size: contain
}

.c-button__submit.--blue:hover .p-button {
    background-color: #fff;
    border: 1px solid #5579af;
    color: #5579af
}

.c-button__submit.--blue:hover .p-button_box:after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29.97 30"><path d="M29.391-26a1.412,1.412,0,0,0-1.491-.062L.71-10.6A1.414,1.414,0,0,0,0-9.293,1.406,1.406,0,0,0,.862-8.081L9.844-4.308v6.65a1.407,1.407,0,0,0,.732,1.234,1.355,1.355,0,0,0,.621.174,1.412,1.412,0,0,0,.761-.223L18.474-.66l5.775,2.426a1.409,1.409,0,0,0,.545.11,1.4,1.4,0,0,0,.69-.181,1.4,1.4,0,0,0,.7-1.018l3.75-25.312A1.291,1.291,0,0,0,29.391-26Zm-7.752,6.739L10.676-7.025,4.584-9.568ZM12.6-.234V-3.127l2.722,1.143ZM23.719-1.529,13.371-5.876,26.531-20.5Z" transform="translate(0 26.25)" fill="%235579af" /></svg>');
    background-repeat: no-repeat;
    background-size: contain
}

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

    .c-card__topics,
    .c-card__dream {
        padding: 0 5.3333333333vw
    }
}

.c-card__topics .p-item,
.c-card__dream .p-item {
    display: flex;
    justify-content: center
}

@media screen and (min-width:769px) {

    .c-card__topics .p-item,
    .c-card__dream .p-item {
        padding-bottom: 5.46875vw
    }
}

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

    .c-card__topics .p-item,
    .c-card__dream .p-item {
        page-break-inside: 11.7333333333vw;
        flex-direction: column;
        margin-bottom: 8vw
    }
}

.c-card__topics a,
.c-card__dream a {
    display: flex;
    justify-content: center
}

.c-card__topics a:hover,
.c-card__dream a:hover {
    opacity: 1
}

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

    .c-card__topics a,
    .c-card__dream a {
        flex-direction: column
    }
}

.c-card__topics .--content,
.c-card__dream .--content {
    position: relative
}

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

    .c-card__topics .--content,
    .c-card__dream .--content {
        padding: 5.3333333333vw 0
    }
}

.c-card__topics .--content:after,
.c-card__dream .--content:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    background: #333
}

@media screen and (min-width:769px) {

    .c-card__topics .--content:after,
    .c-card__dream .--content:after {
        width: 100%
    }
}

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

    .c-card__topics .--content:after,
    .c-card__dream .--content:after {
        margin: 0 -2.1333333333vw;
        width: 93.6vw
    }
}

.c-card__topics .c-link_arrow,
.c-card__dream .c-link_arrow {
    justify-content: flex-start
}

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

    .c-card__topics .c-link_arrow,
    .c-card__dream .c-link_arrow {
        margin-left: auto
    }
}

.p-item a {
    opacity: 1
}

@media screen and (min-width:769px) {
    .p-item:hover .c-link_arrow .icon {
        animation: arrowAnimation 1000ms ease-in-out
    }
}

.c-card__topics .--image {
    overflow: hidden
}

@media screen and (min-width:769px) {
    .c-card__topics .--image {
        width: 42.96875vw
    }
}

.c-card__topics .--content {
    color: #333;
    font-weight: 500
}

@media screen and (min-width:769px) {
    .c-card__topics .--content {
        width: 44.53125vw;
        padding: 2.34375vw;
        margin-left: 3.125vw
    }
}

.c-card__topics .--title {
    line-height: 150%;
    letter-spacing: 2.4px
}

@media screen and (min-width:769px) {
    .c-card__topics .--title {
        font-size: clamp(24px, 1.875vw, 48px);
        padding-bottom: 1.5625vw
    }
}

@media screen and (max-width:768px) {
    .c-card__topics .--title {
        font-size: clamp(20px, 5.3333333333vw, 40px);
        padding-bottom: 4.2666666667vw
    }
}

.c-card__topics .--text {
    line-height: 200%;
    letter-spacing: 1.2px
}

@media screen and (min-width:769px) {
    .c-card__topics .--text {
        font-size: clamp(12px, 0.9375vw, 24px);
        padding-bottom: 3.90625vw
    }
}

@media screen and (max-width:768px) {
    .c-card__topics .--text {
        font-size: clamp(14px, 3.7333333333vw, 21px)
    }
}

@media screen and (max-width:768px) {
    .c-card__dream .p-item {
        padding-bottom: 11.7333333333vw
    }
}

.c-card__dream .--image {
    overflow: hidden
}

@media screen and (min-width:769px) {
    .c-card__dream .--image {
        width: 38.125vw;
        order: 2
    }
}

@media screen and (max-width:768px) {
    .c-card__dream .--image {
        order: 1
    }
}

.c-card__dream .--content {
    order: 1;
    position: relative;
    color: #333;
    font-weight: 500
}

@media screen and (min-width:769px) {
    .c-card__dream .--content {
        width: 46.25vw;
        padding: 1.5625vw;
        margin-right: 3.125vw
    }
}

.c-card__dream .--title {
    color: #333;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0em
}

@media screen and (min-width:769px) {
    .c-card__dream .--title {
        position: relative;
        font-size: clamp(26px, 2.03125vw, 52px);
        padding-bottom: 3.125vw
    }
}

@media screen and (max-width:768px) {
    .c-card__dream .--title {
        padding-top: 5.3333333333vw;
        font-size: clamp(20px, 5.3333333333vw, 30px);
        padding-bottom: 4.2666666667vw
    }

    .c-card__dream .--title .--num {
        display: none
    }
}

.c-card__dream .--num {
    color: #333;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    line-height: normal;
    letter-spacing: .72px
}

@media screen and (min-width:769px) {
    .c-card__dream .--num {
        position: absolute;
        left: 0;
        top: 0;
        font-size: clamp(12px, 0.9375vw, 24px);
        transform: translate(-100%, -100%)
    }
}

@media screen and (max-width:768px) {
    .c-card__dream .--num {
        font-size: clamp(16px, 4.2666666667vw, 24px);
        padding-bottom: 2.6666666667vw
    }
}

.c-card__dream .--title__sub {
    color: #333;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 1.8px
}

@media screen and (min-width:769px) {
    .c-card__dream .--title__sub {
        padding-bottom: 1.5625vw;
        font-size: clamp(18px, 1.40625vw, 36px)
    }
}

@media screen and (max-width:768px) {
    .c-card__dream .--title__sub {
        padding-bottom: 2.1333333333vw;
        font-size: clamp(16px, 4.2666666667vw, 24px)
    }
}

.c-card__dream .--text {
    overflow: hidden;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 1.2px
}

@media screen and (min-width:769px) {
    .c-card__dream .--text {
        font-size: clamp(12px, 0.9375vw, 24px);
        padding-bottom: 3.90625vw
    }
}

@media screen and (max-width:768px) {
    .c-card__dream .--text {
        font-size: clamp(14px, 3.7333333333vw, 21px)
    }
}

@media screen and (max-width:768px) {
    .c-card__dream {
        padding: 0 5.3333333333vw
    }
}

.c-card__dream .p-item {
    display: flex;
    justify-content: center
}

@media screen and (min-width:769px) {
    .c-card__dream .p-item {
        padding-bottom: 5.46875vw
    }
}

@media screen and (max-width:768px) {
    .c-card__dream .p-item {
        page-break-inside: 11.7333333333vw;
        flex-direction: column
    }
}

.c-card__dream a {
    display: flex;
    justify-content: center
}

@media screen and (max-width:768px) {
    .c-card__dream a {
        flex-direction: column
    }
}

.c-card__dream .--content {
    position: relative
}

@media screen and (max-width:768px) {
    .c-card__dream .--content {
        padding: 5.3333333333vw 0
    }
}

.c-card__dream .--content:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    background: #333
}

@media screen and (min-width:769px) {
    .c-card__dream .--content:after {
        width: 100%
    }
}

@media screen and (max-width:768px) {
    .c-card__dream .--content:after {
        margin: 0 -2.1333333333vw;
        width: 93.6vw
    }
}

.c-card__dream .c-link_arrow {
    justify-content: flex-start
}

@media screen and (max-width:768px) {
    .c-card__dream .c-link_arrow {
        margin-left: auto
    }
}

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

@media screen and (min-width:769px) {
    .c-contents_list {
        display: flex;
        padding: 0 6.25vw 5.46875vw;
        align-items: baseline
    }
}

@media screen and (max-width:768px) {
    .c-contents_list {
        padding: 0 5.3333333333vw 10.6666666667vw
    }
}

.c-contents_list .c-heading {
    padding-left: 0;
    padding-right: 0
}

@media screen and (min-width:769px) {
    .c-contents_list .c-heading {
        padding-bottom: 3.125vw
    }
}

@media screen and (max-width:768px) {
    .c-contents_list .c-heading {
        padding-bottom: 6.6666666667vw
    }
}

@media screen and (max-width:768px) {
    .c-contents_list .c-heading .--title {
        font-size: 6.9333333333vw;
        line-height: 210%;
        letter-spacing: normal
    }
}

@media screen and (min-width:769px) {
    .c-contents_list .p-list {
        flex-wrap: wrap;
        display: flex;
        gap: 3.90625vw 4.6875vw
    }
}

.c-contents_list .p-container {
    width: 100%
}

@media screen and (min-width:769px) {
    .c-contents_list .p-item {
        width: calc(50% - 2.34375vw)
    }
}

@media screen and (max-width:768px) {
    .c-contents_list .p-item {
        margin-bottom: 11.7333333333vw
    }
}

.c-contents_list .p-item a {
    display: inline-block;
    position: relative;
    overflow: hidden
}

.c-contents_list .p-item a::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #333;
    content: "";
    transition: transform .3s;
    transform: scale(1, 1);
    transform-origin: left top
}

.c-contents_list .p-item a.white::after {
    background-color: #fff
}

@media screen and (min-width:769px) {
    .c-contents_list .p-item:hover {
        opacity: 1
    }

    .c-contents_list .p-item:hover a::after {
        animation: arrowAnimation 1000ms 250ms ease-in-out
    }

    .is-current .c-contents_list .p-item .u-link_underline__item::after {
        transform: scale(1, 1);
        transform-origin: left top
    }
}

.c-contents_list.--wide .p-item {
    width: 100%
}

.c-contents_list.--wide .--image {
    overflow: hidden;
    width: 100%
}

.c-contents_list.--wide .--image img {
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (min-width:769px) {
    .c-contents_list.--wide .--image img {
        aspect-ratio: 1130/346
    }
}

@media screen and (max-width:768px) {
    .c-contents_list.--wide .--image img {
        aspect-ratio: 335/220
    }
}

.c-contents_list .--image {
    overflow: hidden
}

@media screen and (min-width:769px) {
    .c-contents_list .--image {
        width: 100%
    }
}

.c-contents_list .--content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #333;
    font-weight: 500
}

@media screen and (min-width:769px) {
    .c-contents_list .--content {
        padding: 2.34375vw 0
    }
}

@media screen and (max-width:768px) {
    .c-contents_list .--content {
        padding: 5.3333333333vw 0
    }
}

.c-contents_list .--title {
    line-height: 150%;
    letter-spacing: 2.4px
}

@media screen and (min-width:769px) {
    .c-contents_list .--title {
        font-size: 1.875vw
    }
}

@media screen and (max-width:768px) {
    .c-contents_list .--title {
        font-size: 4.8vw
    }
}

.c-contents_list .--text {
    line-height: 200%;
    letter-spacing: 1.2px;
    overflow: hidden
}

@media screen and (min-width:769px) {
    .c-contents_list .--text {
        font-size: clamp(12px, 0.9375vw, 24px);
        padding-bottom: 3.90625vw
    }
}

@media screen and (max-width:768px) {
    .c-contents_list .--text {
        font-size: clamp(14px, 3.7333333333vw, 21px)
    }
}

.l-footer {
    position: relative;
    width: 100%;
    color: #333
}

@media screen and (min-width:769px) {
    .l-footer {
        padding: 60px 0;
        background-color: #fff
    }
}

@media screen and (max-width:768px) {
    .l-footer {
        padding: 60px 0 40px;
        background-color: #f6f6f6
    }
}

.l-footer_container__sub {
    display: flex;
    justify-content: space-between
}

.l-footer_container__sub .c-totop {
    transition: 600ms ease-out
}

.l-footer_container__sub .c-totop:hover {
    transform: translateY(-5px)
}

.l-footer_container__sub .icon-arrow_totop {
    width: clamp(18px, 1.40625vw, 200px);
    height: clamp(5px, 0.390625vw, 200px)
}

.c-footer_navi_container {
    display: flex;
    font-weight: 700;
    align-items: center;
    justify-content: space-between
}

@media screen and (min-width:769px) {
    .c-footer_navi_container {
        gap: 30px;
        padding-bottom: 30px;
        font-size: 1.4rem
    }
}

@media screen and (max-width:768px) {
    .c-footer_navi_container {
        gap: 60px;
        padding-bottom: 60px;
        padding-top: 60px;
        flex-wrap: wrap;
        font-size: 1.4rem
    }
}

.c-footer_navi {
    display: flex;
    position: relative;
    flex: 1;
    gap: 30px;
    justify-content: space-between
}

@media screen and (min-width:769px) {
    .c-footer_navi {
        padding-right: 30px
    }
}

@media screen and (max-width:768px) {
    .c-footer_navi {
        flex-direction: column;
        align-items: center
    }
}

@media screen and (max-width:768px) {
    .c-footer_navi li {
        text-align: center
    }
}

.c-footer_navi small {
    display: block;
    margin-bottom: -1em;
    font-size: 1rem
}

.c-footer_utility {
    display: flex
}

@media screen and (min-width:769px) {
    .c-footer_utility {
        gap: 30px;
        margin-left: auto
    }
}

@media screen and (max-width:768px) {
    .c-footer_utility {
        width: 100%;
        gap: 25px
    }
}

@media screen and (max-width:768px) {
    .c-footer_utility li {
        width: calc((100% / 2) - (25px * (2 - 1)) / 2)
    }
}

.c-footer_utility .c-button {
    filter: none
}

@media screen and (min-width:769px) {
    .c-footer_utility .c-button {
        padding: 8px 20px;
        border: 1px solid #b2b2b2
    }
}

@media screen and (max-width:768px) {
    .c-footer_utility .c-button {
        width: 100%;
        box-shadow: 0px 12px 12px rgba(16, 16, 16, .06);
        font-size: 1.1rem;
        gap: 6px;
        padding: 15px 15px
    }
}

.c-footer_logo {
    text-align: center
}

.c-footer_logo .p-logo {
    margin: auto;
    text-align: center
}

@media screen and (max-width:768px) {
    .c-footer_logo .p-logo {
        border-bottom: 1px solid #e5e5e5
    }
}

.c-footer_logo .p-logo svg {
    height: auto
}

@media screen and (min-width:769px) {
    .c-footer_logo .p-logo svg {
        width: 284px;
        padding-bottom: 60px
    }
}

@media screen and (max-width:768px) {
    .c-footer_logo .p-logo svg {
        width: 228px;
        padding-bottom: 60px
    }
}

.p-footer01 {
    display: flex;
    border-width: 1px 0;
    border-style: solid;
    border-color: #e5e5e5;
    align-items: center;
    gap: 30px;
    justify-content: space-between
}

@media screen and (min-width:769px) {
    .p-footer01 {
        padding: 20px 0
    }
}

@media screen and (max-width:768px) {
    .p-footer01 {
        padding: 40px 0;
        flex-direction: column
    }
}

.p-footer01 .p-logo {
    width: 205px
}

.p-footer01 dl {
    color: #4d4d4d;
    font-family: "Noto Sans JP";
    font-size: 12px;
    line-height: 22px;
    letter-spacing: .05em
}

@media screen and (min-width:769px) {
    .p-footer01 dl {
        text-align: left
    }
}

@media screen and (max-width:768px) {
    .p-footer01 dl {
        text-align: center
    }
}

.p-footer01 dl dt {
    font-weight: 700
}

.p-footer01 .c-tel_block {
    color: #4d4d4d
}

.p-footer01 .c-tel_block a {
    color: #4d4d4d
}

.p-footer02 {
    display: flex;
    align-items: center;
    padding-top: 20px;
    justify-content: space-between
}

@media screen and (min-width:769px) {
    .p-footer02 {
        padding-bottom: 60px
    }
}

@media screen and (max-width:768px) {
    .p-footer02 {
        flex-direction: column
    }
}

.p-footer02 .p-footer02_content {
    display: flex;
    gap: 20px;
    align-items: center
}

@media screen and (max-width:768px) {
    .p-footer02 .p-footer02_content {
        flex-direction: column;
        order: 1
    }
}

.p-footer02 a {
    color: #b2b2b2
}

.c-tel_block {
    font-size: 1.6rem;
    line-height: 1.75
}

@media screen and (min-width:769px) {
    .c-tel_block {
        margin-left: auto
    }
}

@media screen and (max-width:768px) {
    .c-tel_block {
        text-align: center
    }
}

.c-tel_block .--text {
    font-weight: 700;
    letter-spacing: .06em;
    padding-bottom: 7px
}

.c-tel_block .--num {
    white-space: nowrap;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 3.4rem;
    letter-spacing: .01em;
    line-height: .7368421053;
    border-bottom: 1px solid #b2b2b2;
    padding-bottom: 7px
}

.c-tel_block .--num a {
    color: #4d4d4d
}

.c-tel_block .--time {
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-weight: 500
}

.c-footer_social {
    display: flex;
    gap: 20px;
    align-items: center
}

@media screen and (max-width:768px) {
    .c-footer_social {
        padding-bottom: 40px
    }
}

.c-footer_social a {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #b2b2b2;
    border-radius: 9999px;
    width: 40px;
    height: 40px
}

.c-footer_social a .icon {
    width: 20px;
    height: 20px;
    fill: #fff
}

.c-copyright {
    color: #b2b2b2;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-size: 1rem
}

@media screen and (max-width:768px) {
    .c-copyright {
        order: 2
    }
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=password],
input[type=date],
input[type=time],
textarea {
    width: 100%;
    padding: 1rem;
    border: 1px solid #ccc;
    border-radius: 10px;
    background-image: none;
    outline: none;
    color: var(--text-color);
    font-size: 1.4rem;
    transition: 50ms ease !important;
    transition-property: background, color, border-color;
    will-change: background, color, border-color;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input[type=text]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=number]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=date]::-moz-placeholder,
input[type=time]::-moz-placeholder,
textarea::-moz-placeholder {
    color: #cfcfcf
}

input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder,
input[type=date]::placeholder,
input[type=time]::placeholder,
textarea::placeholder {
    color: #cfcfcf
}

input[type=text]:disabled,
input[type=email]:disabled,
input[type=tel]:disabled,
input[type=number]:disabled,
input[type=password]:disabled,
input[type=date]:disabled,
input[type=time]:disabled,
textarea:disabled {
    background-color: #1a1a1a
}

input[type=text]:read-only::-moz-selection,
input[type=email]:read-only::-moz-selection,
input[type=tel]:read-only::-moz-selection,
input[type=number]:read-only::-moz-selection,
input[type=password]:read-only::-moz-selection,
input[type=date]:read-only::-moz-selection,
input[type=time]:read-only::-moz-selection,
textarea:read-only::-moz-selection {
    color: var(--text-color);
    background: rgba(0, 0, 0, 0)
}

input[type=text]:-moz-read-only::selection,
input[type=email]:-moz-read-only::selection,
input[type=tel]:-moz-read-only::selection,
input[type=number]:-moz-read-only::selection,
input[type=password]:-moz-read-only::selection,
input[type=date]:-moz-read-only::selection,
input[type=time]:-moz-read-only::selection,
textarea:-moz-read-only::selection {
    color: var(--text-color);
    background: rgba(0, 0, 0, 0)
}

input[type=text]:read-only::selection,
input[type=email]:read-only::selection,
input[type=tel]:read-only::selection,
input[type=number]:read-only::selection,
input[type=password]:read-only::selection,
input[type=date]:read-only::selection,
input[type=time]:read-only::selection,
textarea:read-only::selection {
    color: var(--text-color);
    background: rgba(0, 0, 0, 0)
}

textarea {
    resize: none
}

.c-select-style {
    position: relative;
    min-width: 11rem;
    width: 100%;
    border: none;
    border: 1px solid #ccc;
    border-radius: 10px
}

.c-select-style.is-disabled {
    background-color: #cbcbcb
}

.c-select-style:after {
    position: absolute;
    top: 50%;
    right: 10px;
    pointer-events: none;
    content: "";
    width: 9px;
    height: 12px;
    transform: translateY(-50%);
    background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 8.751 12.251" xmlns="http://www.w3.org/2000/svg"><path d="m-3.619-6.125h7.238a.755.755 0 0 0 .534-1.288l-3.617-3.741a.753.753 0 0 0 -.536-.222.746.746 0 0 0 -.532.222l-3.621 3.741a.755.755 0 0 0 .534 1.288zm7.236 1.75h-7.236a.755.755 0 0 0 -.534 1.288l3.623 3.741a.7.7 0 0 0 .53.221.753.753 0 0 0 .534-.222l3.618-3.74a.755.755 0 0 0 -.534-1.288z" fill="%23cccccc" transform="translate(4.375 11.376)"/></svg>');
    background-repeat: no-repeat;
    background-size: contain
}

.c-select-style.--icon__other:after {
    display: none
}

.c-select-style.--icon__other .p-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
    pointer-events: none;
    font-size: 1.2rem
}

.c-select-style select {
    width: 100%;
    padding: 1rem 1rem;
    padding-right: 1em;
    border: none;
    background: rgba(0, 0, 0, 0);
    background-image: none;
    outline: none;
    box-shadow: none;
    color: var(--text-color);
    font-size: 1.2rem;
    text-indent: .01px;
    text-overflow: ellipsis;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.c-select-style.--text-center select {
    text-align: center
}

.c-select-style select::-ms-expand {
    display: none
}

.c-select-style:disabled,
.c-select-style.is-disabled {
    background: #c3cbd9;
    color: #fff
}

.c-select-style:disabled select,
.c-select-style.is-disabled select {
    color: #fff
}

.c-select-style:disabled:after,
.c-select-style.is-disabled:after {
    color: #fff
}

input[type=checkbox] {
    display: inline-block;
    position: relative;
    width: 1.2em;
    height: 1.2em;
    margin: 0 1rem 0 0;
    border: 1px solid #ccc;
    border-radius: 10px;
    outline: none;
    color: #fff;
    vertical-align: -0.2rem;
    cursor: pointer;
    transition: 600ms ease-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input[type=checkbox] {
    border-radius: .2rem
}

input[type=checkbox]:before {
    position: absolute;
    background: #fff;
    content: "";
    transition: 600ms ease-out
}

input[type=checkbox]:before {
    top: .1rem;
    left: 0;
    opacity: 0;
    width: 14px;
    height: 12px;
    content: "";
    background-image: url('data:image/svg+xml;utf8,<svg height="9.999" viewBox="0 0 13.999 9.999" width="13.999" xmlns="http://www.w3.org/2000/svg"><path d="m6.706-10.706a1 1 0 0 1 0 1.413l-8 8a1 1 0 0 1 -1.413 0l-4-4a1 1 0 0 1 0-1.413 1 1 0 0 1 1.414 0l3.265 3.291 7.322-7.291a1 1 0 0 1 1.413 0z" fill="%232A579A" transform="translate(7 11)"/></svg>');
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(0.2rem)
}

input[type=checkbox]:checked:before {
    opacity: 1;
    transform: translateY(0rem)
}

.p-input_has-icon {
    position: relative
}

.p-input_has-icon input {
    padding-left: 4rem;
    padding-right: 3rem
}

.p-input_has-icon .p-icon,
.p-input_has-icon .p-password {
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.p-input_has-icon .p-icon {
    left: 2rem;
    color: var(--form-icon-color)
}

.p-input_has-icon .p-password {
    right: 1rem;
    color: #c3cbd9;
    cursor: pointer
}

.svg_logo_symbol {
    fill: #007bbe
}

.svg_logo_text {
    fill: var(--logo-text-color)
}

.l-header {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0);
    transition: 600ms ease-out
}

@media screen and (min-width:769px) {
    .l-header {
        padding: 20px
    }
}

@media screen and (max-width:768px) {
    .l-header {
        padding: 15px 20px
    }
}

.l-header:before,
.l-header:after {
    position: absolute;
    right: 0;
    left: 0;
    width: 93.75vw;
    height: 1px;
    margin: auto;
    background-color: #333;
    opacity: 0;
    content: "";
    transition: 600ms ease-out
}

.l-header:before {
    top: 0
}

.l-header:after {
    bottom: 0
}

.l-header .c-header_container {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between
}

.l-header .c-header_logo {
    display: flex;
    line-height: 1;
    align-items: flex-end
}

.l-header .c-header_logo svg {
    height: auto;
    transition: 600ms ease-out
}

@media screen and (min-width:769px) {
    .l-header .c-header_logo svg {
        width: 17.734375vw
    }
}

@media screen and (max-width:768px) {
    .l-header .c-header_logo svg {
        width: 45.3333333333vw
    }
}

.l-header .c-header_logo svg path {
    transition: 600ms ease-out
}

.l-header .c-header_logo div {
    color: #fff;
    letter-spacing: .04em;
    transition: 600ms ease-out
}

@media screen and (min-width:769px) {
    .l-header .c-header_logo div {
        padding-left: 1.5625vw;
        font-size: clamp(12px, 0.9375vw, 24px)
    }
}

@media screen and (max-width:768px) {
    .l-header .c-header_logo div {
        padding-left: 5.3333333333vw;
        font-size: 0.9375vw;
        font-size: clamp(12px, 3.2vw, 24px)
    }
}

@media screen and (max-width:768px) {
    .l-header .p-navi {
        display: none
    }
}

html:not(.is-header_fixed, .is-active__navi) .page-top .c-header_logo svg path {
    fill: #fff
}

html:not(.is-header_fixed, .is-active__navi) .page-top .c-burger_toggle span {
    background-color: #fff
}

.is-active__navi .l-header,
.is-header_fixed .l-header,
.pages .l-header {
    background-color: #fff
}

.is-active__navi .c-header_logo svg path,
.is-header_fixed .c-header_logo svg path,
.pages .c-header_logo svg path {
    transition: 600ms ease-out
}

.is-active__navi .c-global_navi__list a,
.is-header_fixed .c-global_navi__list a,
.pages .c-global_navi__list a {
    color: #010101
}

.is-active__navi .c-global_navi__list li a::after,
.is-header_fixed .c-global_navi__list li a::after,
.pages .c-global_navi__list li a::after {
    background-color: #007bbe
}

.l-inner {
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 20px
}

.l-inner__l {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px
}

.l-inner__m {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 20px
}

.l-inner__s {
    max-width: 440px;
    margin: 0 auto;
    padding: 0 20px
}

@media screen and (min-width:769px) {
    .l-section {
        padding-bottom: 100px
    }
}

@media screen and (max-width:768px) {
    .l-section {
        padding-bottom: 60px
    }
}

.c-link_arrow {
    display: flex;
    overflow: hidden;
    align-items: center;
    justify-content: center
}

@media screen and (min-width:769px) {
    .c-link_arrow {
        width: 3.125vw;
        height: 0.78125vw
    }
}

@media screen and (max-width:768px) {
    .c-link_arrow {
        width: 40px;
        height: 40px
    }
}

.c-link_arrow.--right {
    margin-left: auto !important;
    transform: translateX(0.9375vw)
}

.c-link_arrow.has-box {
    margin: 2.734375vw 1.5625vw
}

@media screen and (min-width:769px) {
    .c-link_arrow .icon {
        width: 3.125vw;
        height: 0.78125vw
    }
}

@media screen and (max-width:768px) {
    .c-link_arrow .icon {
        width: 40px;
        height: 10px
    }
}

@media screen and (min-width:769px) {
    .c-link_arrow:hover .icon {
        animation: arrowAnimation 1000ms ease-in-out
    }
}

.c-linkbox {
    font-size: clamp(14px, 1.09375vw, 28px);
    display: flex;
    align-items: center
}

.c-linkbox .c-link_arrow {
    margin-left: 1em
}

.c-linkbox:hover {
    opacity: 1
}

@media screen and (min-width:769px) {
    .c-linkbox:hover .icon {
        animation: arrowAnimation 1000ms ease-in-out
    }
}

@keyframes arrowAnimation {
    0% {
        opacity: 1;
        transform: translateX(0)
    }

    50% {
        opacity: 1;
        transform: translateX(110%)
    }

    51% {
        transform: translateX(110%);
        opacity: 0
    }

    52% {
        opacity: 0;
        transform: translateX(-110%)
    }

    53% {
        opacity: 1;
        transform: translateX(-110%)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@media screen and (min-width:769px) {
    .u-link_underline:hover {
        opacity: 1
    }

    .u-link_underline .u-link_underline__item {
        display: inline-block;
        position: relative
    }

    .u-link_underline .u-link_underline__item::after {
        position: absolute;
        bottom: -1px;
        left: 0;
        width: 100%;
        height: 1px;
        background: #333;
        content: "";
        transition: transform .3s;
        transform: scale(0, 1);
        transform-origin: right top
    }

    .u-link_underline .u-link_underline__item.white::after {
        background-color: #fff
    }

    .u-link_underline:hover .u-link_underline__item::after {
        transform: scale(1, 1);
        transform-origin: left top
    }
}

.is-current .u-link_underline .u-link_underline__item::after {
    transform: scale(1, 1);
    transform-origin: left top
}

.p-item:hover .u-link_underline__item::after {
    transform: scale(1, 1);
    transform-origin: left top
}

.c-global_navi {
    display: flex;
    flex-direction: column;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: -200%;
    width: 100%;
    height: 100svh;
    padding-top: 102px;
    background-color: rgba(255, 255, 255, .95);
    opacity: 0 !important;
    pointer-events: none;
    transition: 600ms ease-out;
    transition-property: opacity, transform;
    transform: scale(1.1)
}

.c-global_navi.is-active {
    left: 0;
    opacity: 1 !important;
    pointer-events: all;
    transform: scale(1)
}

.c-global_navi .p-container {
    display: flex;
    width: 100%;
    flex: 1
}

@media screen and (max-width:768px) {
    .c-global_navi .p-container {
        flex-direction: column;
        flex: 1
    }
}

@media screen and (min-width:769px) {
    .c-global_navi .p-logo {
        width: 283px
    }
}

@media screen and (max-width:768px) {
    .c-global_navi .p-logo {
        width: 210px;
        margin: 0 auto 2.6666666667vw
    }
}

.c-global_navi .p-logo svg {
    width: 100%;
    height: auto
}

.c-global_navi .p-logo svg g {
    fill: #333
}

@media screen and (min-width:769px) {
    .c-global_navi .p-navi {
        display: flex;
        width: 59.375vw;
        border-right: 1px solid #333;
        align-items: center;
        justify-content: center
    }
}

@media screen and (max-width:768px) {
    .c-global_navi .p-navi {
        display: none;
        width: 100%;
        padding: 4vw;
        order: 2
    }
}

.c-global_navi .p-navi ul {
    display: flex
}

.c-global_navi .p-navi a {
    color: #fff
}

.c-global_navi .p-content {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: center
}

@media screen and (min-width:769px) {
    .c-global_navi .p-content {
        flex: 1
    }
}

@media screen and (max-width:768px) {
    .c-global_navi .p-content {
        display: none;
        order: 1
    }
}

@media screen and (min-width:769px) {
    .c-global_navi__list {
        font-size: 1.6rem
    }
}

@media screen and (max-width:768px) {
    .c-global_navi__list {
        font-size: 1.6rem
    }
}

.c-global_navi__list small {
    display: block;
    margin-bottom: -1em;
    font-size: 1rem
}

@media screen and (min-width:769px) {
    .c-header_utility {
        font-size: 1.2rem
    }
}

@media screen and (max-width:768px) {
    .c-header_utility {
        font-size: 1.6rem
    }
}

.c-header_utility {
    display: flex;
    position: relative;
    z-index: 1;
    right: -20px;
    width: 320px;
    border-radius: 8px 0 0 8px;
    background: #fff;
    font-weight: 700;
    filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.2));
    justify-content: space-between
}

@media screen and (max-width:768px) {
    .c-header_utility {
        display: none
    }
}

.c-header_utility li {
    overflow: hidden;
    position: relative;
    z-index: 1;
    width: 100px;
    border-width: 0 0 0 1px;
    border-style: solid;
    border-color: #f2f2f3;
    white-space: nowrap
}

.c-header_utility li:first-child {
    width: 120px;
    border: none;
    border-radius: 8px 0 0 8px
}

.c-header_utility li.p-tel {
    border: none
}

.c-header_utility a {
    display: block;
    position: relative;
    z-index: 2;
    padding: 12px;
    color: #010101
}

.c-header_utility a:before {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 123, 190, 0);
    content: "";
    transition: 600ms ease-out
}

.c-header_utility a:hover {
    opacity: 1;
    color: #fff
}

.c-header_utility a:hover:before {
    background-color: #007bbe
}

.c-header_utility li.p-tel {
    overflow: visible;
    position: relative;
    width: 100px;
    background-color: #007bbe;
    transition: 600ms ease-out
}

.c-header_utility li.p-tel.is-active,
.c-header_utility li.p-tel:hover {
    border-color: #34486d
}

.c-header_utility li.p-tel.is-active a:before,
.c-header_utility li.p-tel:hover a:before {
    background-color: #34486d
}

.c-header_utility li.p-tel a {
    display: flex;
    height: 100%;
    padding-right: 40px;
    padding-left: 40px;
    transition: 600ms ease-out;
    align-items: center;
    justify-content: center
}

.c-header_utility li.p-tel a:before {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(52, 72, 109, 0);
    content: "";
    transition: 600ms ease-out
}

.c-header_utility li.p-tel a.is-active:before,
.c-header_utility li.p-tel a:hover:before {
    background-color: #34486d
}

.c-header_utility .icon {
    width: 16px;
    height: 18px;
    fill: #fff
}

.c-tel__popup {
    position: absolute;
    z-index: -1;
    top: 50px;
    right: -20px;
    width: 320px;
    padding: 30px 20px 20px;
    border-radius: 0 0 0 10px;
    background-color: #34486d;
    opacity: 0;
    transition: 600ms ease-out;
    transform: translateY(-20px)
}

@media screen and (max-width:768px) {
    .c-tel__popup {
        display: none
    }
}

.c-tel__popup a {
    pointer-events: none
}

.c-tel__popup.is-active {
    opacity: 1;
    transform: translateY(-10px)
}

.c-tel__popup.is-active a {
    pointer-events: all
}

.c-tel__popup .c-tel_block {
    color: #fff
}

.c-tel__popup .c-tel_block a {
    color: #fff
}

.c-global_navi__list {
    display: flex;
    margin: 0 auto;
    font-weight: 500;
    gap: 30px
}

.c-global_navi__list li {
    width: 100%;
    color: #fff;
    font-weight: 500;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: .8px
}

@media screen and (max-width:768px) {
    .c-global_navi__list li {
        margin-bottom: 5.3333333333vw
    }
}

.c-global_navi__list li a {
    color: #fff;
    white-space: nowrap
}

.c-global_navi__list li a::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #fff;
    content: "";
    transition: transform .3s;
    transform: scaleX(0);
    transform-origin: right top
}

@media screen and (min-width:769px) {
    .c-global_navi__list li:hover {
        opacity: 1
    }

    .c-global_navi__list li a {
        overflow: hidden;
        position: relative;
        padding-bottom: 10px
    }

    .c-global_navi__list li a:hover {
        opacity: 1
    }

    .c-global_navi__list li:hover a::after {
        transform: scaleX(1);
        transform-origin: left top
    }

    .is-current .c-global_navi__list li .u-link_underline__item::after {
        transform: scale(1, 1);
        transform-origin: left top
    }
}

.page-features .s-features a::after,
.page-usage .s-usage a::after,
.page-case .s-case a::after,
.page-price .s-price a::after {
    transform: scaleX(1);
    transform-origin: left top
}

.c-global_navi__list li {
    transition: 600ms ease-out;
    transition-delay: 400ms;
    transition-duration: 300ms;
    transition-property: opacity, transform;
    transform: translateX(-20px)
}

.is-fixed .c-global_navi__list li {
    opacity: 1;
    transform: translateX(0px)
}

.is-fixed .c-global_navi__list li:nth-child(1) {
    transition-delay: 450ms
}

.is-fixed .c-global_navi__list li:nth-child(2) {
    transition-delay: 500ms
}

.is-fixed .c-global_navi__list li:nth-child(3) {
    transition-delay: 550ms
}

.is-fixed .c-global_navi__list li:nth-child(4) {
    transition-delay: 600ms
}

.is-fixed .c-global_navi__list li:nth-child(5) {
    transition-delay: 650ms
}

.is-fixed .c-global_navi__list li:nth-child(6) {
    transition-delay: 700ms
}

.is-fixed .c-global_navi__list li:nth-child(7) {
    transition-delay: 750ms
}

.is-fixed .c-global_navi__list li:nth-child(8) {
    transition-delay: 800ms
}

.is-fixed .c-global_navi__list li:nth-child(9) {
    transition-delay: 850ms
}

.is-fixed .c-global_navi__list li:nth-child(10) {
    transition-delay: 900ms
}

@keyframes burger {
    0% {
        opacity: 1;
        transform: translateY(0)
    }

    49.9% {
        opacity: 1;
        transform: translateY(-200%)
    }

    50% {
        opacity: 0;
        transform: translateY(-200%)
    }

    100% {
        opacity: 1;
        transform: translateY(-200%)
    }
}

.c-navi__sp {
    overflow-y: auto;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    margin: auto;
    background-color: #f6f6f6;
    opacity: 0;
    pointer-events: none;
    transition: 350ms ease-in-out;
    transition-property: transform, opacity;
    transform: scale(1.1);
    overscroll-behavior-y: contain
}

.c-navi__sp.is-active {
    opacity: 1;
    pointer-events: all;
    transform: scale(1)
}

.c-navi__sp .c-footer_logo {
    display: none
}

.c-navi__sp .c-footer_navi_container {
    padding-top: 20px;
    padding-bottom: 40px;
    gap: 40px
}

.c-navi__sp .c-footer_navi_container .c-footer_navi {
    order: 2
}

.c-navi__sp .c-footer_navi_container .c-footer_utility {
    padding-bottom: 40px;
    border-bottom: 1px solid #e5e5e5;
    order: 1
}

.c-navi__sp .p-footer01 {
    padding: 40px 0
}

.c-navi__sp .c-copyright {
    display: none
}

.c-scroll {
    display: flex;
    overflow-y: hidden;
    flex-direction: column;
    position: absolute;
    z-index: 100;
    padding-right: 6px;
    color: #fff;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-weight: 700;
    text-align: right;
    line-height: 1;
    pointer-events: none;
    gap: 10px
}

@media screen and (min-width:769px) {
    .c-scroll {
        top: 30%;
        right: 20px;
        width: 30px;
        font-size: 12px
    }
}

@media screen and (max-width:768px) {
    .c-scroll {
        flex-direction: column;
        top: 26.6666666667vw;
        right: 10px;
        font-size: 10px;
        align-items: center;
        justify-content: center
    }
}

.c-scroll span {
    writing-mode: vertical-rl
}

@media screen and (max-width:768px) {
    .c-scroll span {
        writing-mode: vertical-rl
    }
}

.c-scroll .p-scrollbar {
    overflow: hidden;
    position: relative;
    z-index: 1;
    left: -4px;
    width: 1px;
    margin-left: auto;
    transform: translateX(-50%)
}

@media screen and (min-width:769px) {
    .c-scroll .p-scrollbar {
        height: 90px
    }
}

@media screen and (max-width:768px) {
    .c-scroll .p-scrollbar {
        height: 26.6666666667vw
    }
}

.c-scroll .p-scrollbar:before {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-color: #fff;
    opacity: .5;
    content: "";
    transform-origin: top left
}

.c-scroll .p-scrollbar:after {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-color: #fff;
    content: "";
    transform-origin: top left;
    animation: scroll 3000ms cubic-bezier(0.58, 0.02, 0.04, 0.75) infinite
}

@keyframes scroll {
    0% {
        transform: scaleY(0) translateY(0) translateZ(0)
    }

    50% {
        transform: scaleY(1) translateY(0) translateZ(0)
    }

    100% {
        transform: scaleY(1) translateY(110%) translateZ(0)
    }
}

@keyframes scroll-hint-appear {
    0% {
        transform: translateX(20px)
    }

    50% {
        transform: translateX(-20px)
    }

    100% {
        transform: translateX(20px)
    }
}

.scroll-hint-icon {
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12rem;
    height: 10rem;
    padding: 2rem 1rem 7rem 1rem;
    border-radius: 1rem;
    background: rgba(0, 0, 0, .7);
    opacity: 0;
    text-align: center;
    transition: opacity .3s;
    transform: translate(-50%, -50%)
}

.scroll-hint-icon-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-height: 100%;
    height: 100%;
    pointer-events: none
}

.scroll-hint-text {
    margin-top: 5px;
    color: #fff;
    font-size: 10px
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: .8
}

.scroll-hint-icon:before {
    display: inline-block;
    width: 40px;
    height: 40px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    content: ""
}

.scroll-hint-icon:after {
    display: block;
    position: absolute;
    top: 35%;
    left: 10%;
    width: 90%;
    height: 18px;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0;
    content: "";
    transition-delay: 2.4s
}

.scroll-hint-icon-wrap .scroll-hint-icon:after {
    opacity: 1 !important
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
    opacity: 1
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
    animation: scroll-hint-appear 1.6s ease-in-out infinite
}

.scroll-hint-icon-white {
    background-color: rgba(255, 255, 255, .9);
    box-shadow: 0 .6rem .6rem #e4e4e4
}

.scroll-hint-icon-white:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2032.5%2040%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m17.5-12.734v7.109a10.567%2010.567%200%200%201%20-10.484%2010.625h-9.188a10.4%2010.4%200%200%201%20-5.007-1.291l-4.756-2.623a5.936%205.936%200%200%201%20-3.065-5.211v-3.932a5.943%205.943%200%200%201%202.209-4.643l2.791-2.191v3.177l-1.23.963a3.446%203.446%200%200%200%20-1.27%202.688v3.933a3.442%203.442%200%200%200%201.767%203.025l4.756%202.623a7.846%207.846%200%200%200%203.8.982h9.2a8.063%208.063%200%200%200%207.977-8.125v-7.109a2.241%202.241%200%200%200%20-2.211-2.266l-1.328.02c-1.617%200-1.039-2.52-3.289-2.52h-1.155c-.859%200-1.062.392-1.7.392-1.3%200-1.055-1.642-2.914-1.642h-1.344c-1.314%200-1.377.913-2.309.913a1.252%201.252%200%200%201%20-1.25-1.249v-11.539a1.873%201.873%200%200%200%20-1.875-1.875%201.873%201.873%200%200%200%20-1.875%201.875l-.07%2021.875a1.25%201.25%200%200%201%20-1.25%201.25%201.251%201.251%200%200%201%20-1.251-1.25l.071-21.875a4.383%204.383%200%200%201%205.294-4.281%204.459%204.459%200%200%201%203.456%204.406v9.3c.344-.016.7-.055%201.055-.055h1.345a4.641%204.641%200%200%201%203.3%201.37%204.326%204.326%200%200%201%201.316-.115h1.154a4.842%204.842%200%200%201%204.041%202.5h.574a4.749%204.749%200%200%201%204.715%204.766z%22%20transform%3D%22translate(15%2035)%22%2F%3E%3C%2Fsvg%3E")
}

.scroll-hint-icon-white:after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2089.214%2016.875%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22%2334486d%22%3E%3Cpath%20d%3D%22m-1.824-15.648%207.152%207.465a.93.93%200%200%201%20.261.648.93.93%200%200%201%20-.261.648l-7.152%207.465a.934.934%200%200%201%20-1.324.028.933.933%200%200%201%20-.029-1.325l6.563-6.851-6.561-6.781a.933.933%200%200%201%20.028-1.325.933.933%200%200%201%201.323.028z%22%20transform%3D%22translate(83.625%2015.937)%22%2F%3E%3Cpath%20d%3D%22m1.824.648-7.152-7.464a1.088%201.088%200%200%201%20-.3-.684.993.993%200%200%201%20.261-.648l7.152-7.465a.934.934%200%200%201%201.324-.028.933.933%200%200%201%20.028%201.325l-6.526%206.816%206.562%206.852a.933.933%200%200%201%20-.028%201.324.93.93%200%200%201%20-1.321-.028z%22%20transform%3D%22translate(5.625%2015.937)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
}

.scroll-hint-icon-white .scroll-hint-text {
    color: #000
}

.dark-theme .scroll-hint-icon-white {
    background-color: rgba(0, 0, 0, .9);
    box-shadow: 0 .6rem .6rem var(--box-shadow-color)
}

.dark-theme .scroll-hint-icon-white .scroll-hint-text {
    color: #fff
}

.dark-theme .scroll-hint-icon-white:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032.5%2040%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M17.5-12.734v7.109A10.567%2C10.567%2C0%2C0%2C1%2C7.016%2C5H-2.172A10.4%2C10.4%2C0%2C0%2C1-7.179%2C3.709l-4.756-2.623A5.936%2C5.936%2C0%2C0%2C1-15-4.125V-8.057A5.943%2C5.943%2C0%2C0%2C1-12.791-12.7L-10-14.891v3.177l-1.23.963A3.446%2C3.446%2C0%2C0%2C0-12.5-8.063V-4.13a3.442%2C3.442%2C0%2C0%2C0%2C1.767%2C3.025l4.756%2C2.623a7.846%2C7.846%2C0%2C0%2C0%2C3.8.982h9.2A8.063%2C8.063%2C0%2C0%2C0%2C15-5.625v-7.109A2.241%2C2.241%2C0%2C0%2C0%2C12.789-15l-1.328.02c-1.617%2C0-1.039-2.52-3.289-2.52H7.017c-.859%2C0-1.062.392-1.7.392-1.3%2C0-1.055-1.642-2.914-1.642H1.059c-1.314%2C0-1.377.913-2.309.913A1.252%2C1.252%2C0%2C0%2C1-2.5-19.086V-30.625A1.873%2C1.873%2C0%2C0%2C0-4.375-32.5%2C1.873%2C1.873%2C0%2C0%2C0-6.25-30.625L-6.32-8.75A1.25%2C1.25%2C0%2C0%2C1-7.57-7.5%2C1.251%2C1.251%2C0%2C0%2C1-8.821-8.75l.071-21.875a4.383%2C4.383%2C0%2C0%2C1%2C5.294-4.281A4.459%2C4.459%2C0%2C0%2C1%2C0-30.5v9.3c.344-.016.7-.055%2C1.055-.055H2.4a4.641%2C4.641%2C0%2C0%2C1%2C3.3%2C1.37A4.326%2C4.326%2C0%2C0%2C1%2C7.016-20H8.17a4.842%2C4.842%2C0%2C0%2C1%2C4.041%2C2.5h.574A4.749%2C4.749%2C0%2C0%2C1%2C17.5-12.734Z%22%20transform%3D%22translate(15%2035)%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E")
}

.dark-theme .scroll-hint-icon-white:after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2089.214%2016.875%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22%23ffffff%22%3E%3Cpath%20d%3D%22m-1.824-15.648%207.152%207.465a.93.93%200%200%201%20.261.648.93.93%200%200%201%20-.261.648l-7.152%207.465a.934.934%200%200%201%20-1.324.028.933.933%200%200%201%20-.029-1.325l6.563-6.851-6.561-6.781a.933.933%200%200%201%20.028-1.325.933.933%200%200%201%201.323.028z%22%20transform%3D%22translate(83.625%2015.937)%22%2F%3E%3Cpath%20d%3D%22m1.824.648-7.152-7.464a1.088%201.088%200%200%201%20-.3-.684.993.993%200%200%201%20.261-.648l7.152-7.465a.934.934%200%200%201%201.324-.028.933.933%200%200%201%20.028%201.325l-6.526%206.816%206.562%206.852a.933.933%200%200%201%20-.028%201.324.93.93%200%200%201%20-1.321-.028z%22%20transform%3D%22translate(5.625%2015.937)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
}

.c-heading__features {
    max-width: 1000px;
    margin: auto;
    padding: 0 20px
}

@media screen and (min-width:769px) {
    .c-heading__features {
        padding-top: 100px
    }
}

@media screen and (max-width:768px) {
    .c-heading__features {
        padding-top: 60px
    }
}

.c-heading__features .p-title {
    padding-bottom: 30px;
    color: #010101;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 500;
    text-align: left;
    line-height: 22px
}

.c-heading__features .p-title span {
    display: inline-block
}

.c-heading__features .p-title span:after {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #007bbe;
    content: ""
}

.c-heading__features .p-title__sub {
    margin-bottom: -0.25em;
    color: #f1f8fc;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.02em
}

@media screen and (min-width:769px) {
    .c-heading__features .p-title__sub {
        font-size: 20rem
    }
}

@media screen and (max-width:768px) {
    .c-heading__features .p-title__sub {
        font-size: 26.6666666667vw
    }
}

.c-heading__features .p-catch {
    color: #007bbe;
    font-weight: 900;
    line-height: 1.1666666667
}

@media screen and (min-width:769px) {
    .c-heading__features .p-catch {
        padding-bottom: 40px;
        font-size: 60px
    }
}

@media screen and (max-width:768px) {
    .c-heading__features .p-catch {
        padding-bottom: 30px;
        font-size: 9.3333333333vw;
        letter-spacing: -0.04em
    }
}

.c-heading__features .p-text {
    max-width: 680px;
    width: 100%;
    margin: auto;
    color: #007bbe;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: .02em
}

@media screen and (max-width:768px) {
    .c-heading__features .p-title__sub {
        font-size: 18.1333333333vw
    }
}

.c-heading__features_second {
    max-width: 1200px;
    margin: auto;
    padding: 0 20px
}

@media screen and (max-width:768px) {
    .c-heading__features_second {
        overflow: hidden
    }
}

.c-heading__features_second .p-title__sub {
    color: #f1f8fc;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-weight: 900;
    line-height: .7;
    white-space: nowrap;
    letter-spacing: -0.02em
}

@media screen and (min-width:769px) {
    .c-heading__features_second .p-title__sub {
        font-size: 16rem
    }
}

@media screen and (max-width:768px) {
    .c-heading__features_second .p-title__sub {
        width: 100%;
        font-size: 14.4vw
    }
}

.c-heading__features_second .p-title {
    margin-top: -20px;
    padding-bottom: 40px;
    color: #007bbe;
    font-weight: 700;
    line-height: 1.2272727273
}

@media screen and (min-width:769px) {
    .c-heading__features_second .p-title {
        font-size: 4.4rem
    }
}

@media screen and (max-width:768px) {
    .c-heading__features_second .p-title {
        font-size: 3rem
    }
}

.c-title__lv3 {
    padding: 20px 0;
    border-top: 1px solid #007bbe;
    color: #3e3e3e;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    letter-spacing: .02em;
    font-size: 2.4rem
}

.c-heading__usge {
    margin: auto;
    padding: 0 20px;
    padding-top: 100px
}

.c-heading__usge .p-title {
    color: #010101;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 500;
    text-align: left;
    line-height: 22px
}

@media screen and (min-width:769px) {
    .c-heading__usge .p-title {
        padding-bottom: 30px
    }
}

@media screen and (max-width:768px) {
    .c-heading__usge .p-title {
        padding-bottom: 60px
    }
}

.c-heading__usge .p-title span {
    display: inline-block
}

.c-heading__usge .p-title span:after {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #007bbe;
    content: ""
}

.c-heading__usge .p-bg {
    position: relative
}

@media screen and (min-width:769px) {
    .c-heading__usge .p-bg {
        margin: 0 auto 60px
    }
}

@media screen and (max-width:768px) {
    .c-heading__usge .p-bg {
        margin: 0 auto
    }
}

.c-heading__usge .p-bg:before {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #f5fafd;
    content: ""
}

@media screen and (max-width:768px) {
    .c-heading__usge .p-bg:before {
        height: calc(100% - 90px)
    }
}

@media screen and (min-width:769px) {
    .c-heading__usge .p-image {
        position: absolute;
        top: 10px;
        right: 0;
        width: 45%
    }

    .c-heading__usge .p-image img {
        aspect-ratio: 450/390;
        -o-object-fit: contain;
        object-fit: contain
    }
}

@media screen and (max-width:768px) {
    .c-heading__usge .p-image {
        padding-top: 30px
    }
}

.c-heading__usge .p-title__sub {
    margin-bottom: -0.25em;
    color: #f1f8fc;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-size: 20rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.02em
}

.c-heading__usge .p-catch {
    position: relative;
    z-index: 1;
    color: #007bbe;
    font-weight: 900
}

@media screen and (min-width:769px) {
    .c-heading__usge .p-catch {
        padding: 100px 0;
        font-size: 40px;
        line-height: 1.1666666667
    }
}

@media screen and (max-width:768px) {
    .c-heading__usge .p-catch {
        padding: 20px 0;
        font-size: 30px;
        line-height: 1.4285714286
    }
}

.c-heading__usge .p-text {
    max-width: 680px;
    width: 100%;
    margin: auto;
    color: #007bbe;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: .02em
}

#youtube-area {
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 100vh
}

#youtube {
    position: absolute;
    top: 0%;
    bottom: 0;
    min-width: 100%;
    width: 100%;
    width: 177.77777778vh;
    min-height: 100%;
    height: 56.25vw
}

@media screen and (min-width:769px) {
    #youtube {
        transform: scale(1.25);
        left: 0%;
        right: 0
    }
}

@media screen and (max-width:768px) {
    #youtube {
        transform: scale(1.25) translateX(-50%);
        left: 50%
    }
}

#youtube-mask {
    position: absolute;
    z-index: 2;
    top: 0;
    width: 100%;
    height: 100%
}

.c-loading {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    transition: 1000ms;
    transition-property: opacity
}

.c-loading.is-show {
    opacity: 0
}

.c-case_entry {
    max-width: 720px;
    margin: 0 auto;
    color: #010101;
    line-height: 2.1875;
    font-size: 1.6rem
}

@media screen and (min-width:769px) {
    .c-case_entry {
        padding: 0 40px
    }
}

@media screen and (max-width:768px) {
    .c-case_entry {
        padding: 40px 10px 0
    }
}

.c-case_entry .p-heading {
    padding-bottom: 60px
}

.c-case_entry .p-title {
    padding-bottom: 15px;
    color: #007bbe;
    font-weight: 900;
    line-height: 1.8;
    letter-spacing: .02em
}

@media screen and (min-width:769px) {
    .c-case_entry .p-title {
        text-align: center;
        font-size: 2rem
    }
}

@media screen and (max-width:768px) {
    .c-case_entry .p-title {
        font-size: 24px
    }
}

.c-case_entry .p-client {
    text-align: center
}

.c-case_entry h3 {
    padding-bottom: 30px;
    font-weight: 700
}

.c-case_entry ul {
    padding-bottom: 60px;
    padding-left: 1em
}

.c-case_entry ul li {
    list-style: disc
}

.c-case_entry p {
    padding-bottom: 60px
}

.c-case_entry figure {
    padding-bottom: 60px;
    text-align: center
}

@media screen and (min-width:769px) {
    .c-case_entry figure {
        margin: 0 -90px
    }
}

.c-case_entry figure img {
    aspect-ratio: 3/2;
    -o-object-fit: cover;
    object-fit: cover
}

.c-case_entry figure figcaption {
    padding-top: 20px
}

@media screen and (min-width:769px) {
    .c-case_entry figure figcaption {
        text-align: center;
        font-size: 1.4rem
    }
}

@media screen and (max-width:768px) {
    .c-case_entry figure figcaption {
        text-align: left;
        font-size: 1.3rem
    }
}

.c-tel {
    color: #007bbe;
    font-size: 1.6rem;
    line-height: 1.75
}

@media screen and (min-width:769px) {
    .c-tel {
        margin-left: auto
    }
}

@media screen and (max-width:768px) {
    .c-tel {
        text-align: left
    }
}

.c-tel .--text {
    font-weight: 700;
    letter-spacing: .06em;
    padding-bottom: 7px
}

.c-tel .--num {
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-weight: 700;
    line-height: .7368421053;
    border-bottom: 1px solid #b2b2b2;
    padding-bottom: 7px
}

@media screen and (min-width:769px) {
    .c-tel .--num {
        letter-spacing: .01em;
        font-size: 4.8rem
    }
}

@media screen and (max-width:768px) {
    .c-tel .--num {
        letter-spacing: 0em;
        font-size: 4rem
    }
}

.c-tel .--num a {
    color: #007bbe
}

.c-tel .--time {
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 1.7rem
}

.l-form {
    padding: 60px 0;
    font-size: 1.4rem
}

.l-form dl {
    padding-bottom: 20px
}

.l-form dt {
    padding-bottom: 7px;
    font-weight: 700
}

.l-form dd.col2 {
    display: flex;
    gap: 20px
}

.l-form .l-inner {
    max-width: 440px
}

.l-form .is-required {
    color: #007bbe
}

.c-term_check {
    padding: calc(60px - 1em) 0
}

@media screen and (min-width:769px) {
    .c-term_check {
        text-align: center
    }
}

@media screen and (max-width:768px) {
    .c-term_check {
        text-align: left
    }
}

.c-term_check p {
    padding-bottom: 1em;
    font-size: 1.2rem
}

.c-term_check .p-check {
    padding-bottom: 1em
}

@media screen and (max-width:768px) {
    .c-term_check .p-check {
        text-align: center
    }
}

.c-term_check a {
    color: #007bbe;
    text-decoration: underline
}

@media screen and (max-width:768px) {
    .c-term_check a {
        display: block;
        text-align: center
    }
}

.c-iframe__contact {
    width: 100%;
    height: 100%
}

@media screen and (min-width:769px) {
    .mw_wp_form_confirm dl {
        display: flex
    }
}

@media screen and (min-width:769px) {
    .mw_wp_form_confirm dl dt {
        width: 200px
    }
}

@media screen and (max-width:768px) {
    .mw_wp_form_confirm dl dd {
        flex: 1
    }
}

.mw_wp_form_confirm .c-term_check {
    display: none
}

.mw_wp_form_confirm .c-select-style {
    border: none
}

.mw_wp_form_confirm .c-select-style:after {
    display: none
}

.mw_wp_form_confirm .c-button__submit .p-button_box:after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29.97 30"><path d="M29.391-26a1.412,1.412,0,0,0-1.491-.062L.71-10.6A1.414,1.414,0,0,0,0-9.293,1.406,1.406,0,0,0,.862-8.081L9.844-4.308v6.65a1.407,1.407,0,0,0,.732,1.234,1.355,1.355,0,0,0,.621.174,1.412,1.412,0,0,0,.761-.223L18.474-.66l5.775,2.426a1.409,1.409,0,0,0,.545.11,1.4,1.4,0,0,0,.69-.181,1.4,1.4,0,0,0,.7-1.018l3.75-25.312A1.291,1.291,0,0,0,29.391-26Zm-7.752,6.739L10.676-7.025,4.584-9.568ZM12.6-.234V-3.127l2.722,1.143ZM23.719-1.529,13.371-5.876,26.531-20.5Z" transform="translate(0 26.25)" fill="%23ffffff" /></svg>');
    background-repeat: no-repeat;
    background-size: contain
}

.mw_wp_form_confirm .c-button__submit .p-button {
    background-color: #007bbe;
    color: #fff
}

@media screen and (min-width:769px) {
    .mw_wp_form_confirm .c-button__submit:hover .p-button {
        background-color: #fff;
        color: #007bbe
    }

    .mw_wp_form_confirm .c-button__submit:hover .p-button_box:after {
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29.97 30"><path d="M29.391-26a1.412,1.412,0,0,0-1.491-.062L.71-10.6A1.414,1.414,0,0,0,0-9.293,1.406,1.406,0,0,0,.862-8.081L9.844-4.308v6.65a1.407,1.407,0,0,0,.732,1.234,1.355,1.355,0,0,0,.621.174,1.412,1.412,0,0,0,.761-.223L18.474-.66l5.775,2.426a1.409,1.409,0,0,0,.545.11,1.4,1.4,0,0,0,.69-.181,1.4,1.4,0,0,0,.7-1.018l3.75-25.312A1.291,1.291,0,0,0,29.391-26Zm-7.752,6.739L10.676-7.025,4.584-9.568ZM12.6-.234V-3.127l2.722,1.143ZM23.719-1.529,13.371-5.876,26.531-20.5Z" transform="translate(0 26.25)" fill="%235579af" /></svg>');
        background-repeat: no-repeat;
        background-size: contain
    }
}

.mw_wp_form_complete h2 {
    padding-bottom: 1em;
    font-size: 1.5em;
    text-align: center
}

.c-article,
.c-topics__image,
.c-topics,
.c-history {
    position: relative;
    display: flex;
    flex-direction: column
}

.c-article.--last_adjust:after,
.c-topics__image.--last_adjust:after,
.c-topics.--last_adjust:after,
.c-history.--last_adjust:after {
    display: none
}

.c-article.--last_adjust .p-content_wrap:after,
.c-topics__image.--last_adjust .p-content_wrap:after,
.c-topics.--last_adjust .p-content_wrap:after,
.c-history.--last_adjust .p-content_wrap:after {
    display: none
}

.c-article.--last_adjust02:after,
.c-topics__image.--last_adjust02:after,
.c-topics.--last_adjust02:after,
.c-history.--last_adjust02:after {
    display: none
}

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

    .c-article.--last_adjust02 .p-content_wrap,
    .c-topics__image.--last_adjust02 .p-content_wrap,
    .c-topics.--last_adjust02 .p-content_wrap,
    .c-history.--last_adjust02 .p-content_wrap {
        padding-bottom: 60vw
    }
}

.c-article.--last_adjust02 .p-content_wrap:after,
.c-topics__image.--last_adjust02 .p-content_wrap:after,
.c-topics.--last_adjust02 .p-content_wrap:after,
.c-history.--last_adjust02 .p-content_wrap:after {
    display: none
}

.c-article:before,
.c-article:after,
.c-topics__image:before,
.c-topics__image:after,
.c-topics:before,
.c-topics:after,
.c-history:before,
.c-history:after {
    width: 100%;
    content: "";
    pointer-events: none;
    display: block
}

@media screen and (min-width:769px) {

    .c-article:before,
    .c-article:after,
    .c-topics__image:before,
    .c-topics__image:after,
    .c-topics:before,
    .c-topics:after,
    .c-history:before,
    .c-history:after {
        height: 46.875vw
    }
}

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

    .c-article:before,
    .c-article:after,
    .c-topics__image:before,
    .c-topics__image:after,
    .c-topics:before,
    .c-topics:after,
    .c-history:before,
    .c-history:after {
        height: 120vw
    }
}

.c-article:before,
.c-topics__image:before,
.c-topics:before,
.c-history:before {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 90%)
}

.c-article:after,
.c-topics__image:after,
.c-topics:after,
.c-history:after {
    background: linear-gradient(to bottom, white 0%, white 90%)
}

.c-article .p-content_wrap,
.c-topics__image .p-content_wrap,
.c-topics .p-content_wrap,
.c-history .p-content_wrap {
    position: relative;
    z-index: 10
}

@media screen and (min-width:769px) {

    .c-article .p-content_wrap,
    .c-topics__image .p-content_wrap,
    .c-topics .p-content_wrap,
    .c-history .p-content_wrap {
        padding-bottom: 46.875vw
    }
}

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

    .c-article .p-content_wrap,
    .c-topics__image .p-content_wrap,
    .c-topics .p-content_wrap,
    .c-history .p-content_wrap {
        padding-bottom: 120vw
    }
}

.c-article .p-content_wrap:after,
.c-article .p-content_wrap:before,
.c-topics__image .p-content_wrap:after,
.c-topics__image .p-content_wrap:before,
.c-topics .p-content_wrap:after,
.c-topics .p-content_wrap:before,
.c-history .p-content_wrap:after,
.c-history .p-content_wrap:before {
    content: "";
    width: 100%;
    display: block;
    pointer-events: none
}

@media screen and (min-width:769px) {

    .c-article .p-content_wrap:after,
    .c-article .p-content_wrap:before,
    .c-topics__image .p-content_wrap:after,
    .c-topics__image .p-content_wrap:before,
    .c-topics .p-content_wrap:after,
    .c-topics .p-content_wrap:before,
    .c-history .p-content_wrap:after,
    .c-history .p-content_wrap:before {
        padding-bottom: 46.875vw
    }
}

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

    .c-article .p-content_wrap:after,
    .c-article .p-content_wrap:before,
    .c-topics__image .p-content_wrap:after,
    .c-topics__image .p-content_wrap:before,
    .c-topics .p-content_wrap:after,
    .c-topics .p-content_wrap:before,
    .c-history .p-content_wrap:after,
    .c-history .p-content_wrap:before {
        padding-bottom: 120vw
    }
}

.c-article .p-content_wrap:after,
.c-topics__image .p-content_wrap:after,
.c-topics .p-content_wrap:after,
.c-history .p-content_wrap:after {
    z-index: 12;
    background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 90%)
}

.c-article .p-content_wrap:before,
.c-topics__image .p-content_wrap:before,
.c-topics .p-content_wrap:before,
.c-history .p-content_wrap:before {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 90%);
    z-index: 11
}

.c-article .p-container,
.c-topics__image .p-container,
.c-topics .p-container,
.c-history .p-container {
    background: #fff;
    position: relative;
    z-index: 10
}

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

    .c-article .p-container,
    .c-topics__image .p-container,
    .c-topics .p-container,
    .c-history .p-container {
        padding: 0 5.3333333333vw
    }
}

.c-article .p-container:after,
.c-topics__image .p-container:after,
.c-topics .p-container:after,
.c-history .p-container:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    pointer-events: none;
    display: block;
    width: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 60%)
}

@media screen and (min-width:769px) {

    .c-article .p-container:after,
    .c-topics__image .p-container:after,
    .c-topics .p-container:after,
    .c-history .p-container:after {
        height: 56.25vw
    }
}

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

    .c-article .p-container:after,
    .c-topics__image .p-container:after,
    .c-topics .p-container:after,
    .c-history .p-container:after {
        height: 152vw
    }
}

.c-article .p-content_wrapper,
.c-topics__image .p-content_wrapper,
.c-topics .p-content_wrapper,
.c-history .p-content_wrapper {
    position: relative;
    z-index: 10;
    padding-bottom: 23.4375vw;
    background-color: #fff
}

.c-article .p-content,
.c-topics__image .p-content,
.c-topics .p-content,
.c-history .p-content {
    background-color: #fff;
    color: #333
}

@media screen and (min-width:769px) {

    .c-article .p-content,
    .c-topics__image .p-content,
    .c-topics .p-content,
    .c-history .p-content {
        width: 37.5vw;
        line-height: 240%;
        letter-spacing: .1em;
        min-width: 362px;
        padding-top: 7.421875vw;
        font-size: clamp(14px, 1.09375vw, 28px);
        margin-left: 45.3125vw
    }
}

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

    .c-article .p-content,
    .c-topics__image .p-content,
    .c-topics .p-content,
    .c-history .p-content {
        width: 100%;
        padding-top: 1.875vw;
        line-height: 210%;
        letter-spacing: normal;
        font-size: clamp(16px, 4.2666666667vw, 32px)
    }
}

.c-article .p-content em,
.c-topics__image .p-content em,
.c-topics .p-content em,
.c-history .p-content em {
    font-style: italic
}

@media screen and (min-width:769px) {

    .c-article .p-content .xsmall,
    .c-topics__image .p-content .xsmall,
    .c-topics .p-content .xsmall,
    .c-history .p-content .xsmall {
        font-size: clamp(10px, 0.78125vw, 20px)
    }
}

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

    .c-article .p-content .xsmall,
    .c-topics__image .p-content .xsmall,
    .c-topics .p-content .xsmall,
    .c-history .p-content .xsmall {
        font-size: clamp(11px, 0.859375vw, 22px)
    }
}

@media screen and (min-width:769px) {

    .c-article .p-content p,
    .c-topics__image .p-content p,
    .c-topics .p-content p,
    .c-history .p-content p {
        padding-bottom: 2.34375vw
    }
}

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

    .c-article .p-content p,
    .c-topics__image .p-content p,
    .c-topics .p-content p,
    .c-history .p-content p {
        padding-bottom: 8vw
    }
}

.c-article .p-content p:last-child,
.c-topics__image .p-content p:last-child,
.c-topics .p-content p:last-child,
.c-history .p-content p:last-child {
    padding-bottom: 0
}

@media screen and (min-width:769px) {

    .c-article .p-content .--figure,
    .c-topics__image .p-content .--figure,
    .c-topics .p-content .--figure,
    .c-history .p-content .--figure {
        padding: 0.78125vw 0 3.125vw;
        font-size: 0.9375vw
    }
}

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

    .c-article .p-content .--figure,
    .c-topics__image .p-content .--figure,
    .c-topics .p-content .--figure,
    .c-history .p-content .--figure {
        margin-bottom: 8vw;
        padding: 5.3333333333vw 0 3.7333333333vw;
        font-size: 3.2vw
    }
}

@media screen and (min-width:769px) {

    .c-article .p-content .--figure div,
    .c-topics__image .p-content .--figure div,
    .c-topics .p-content .--figure div,
    .c-history .p-content .--figure div {
        margin-bottom: 0.625vw
    }
}

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

    .c-article .p-content .--figure div,
    .c-topics__image .p-content .--figure div,
    .c-topics .p-content .--figure div,
    .c-history .p-content .--figure div {
        margin-bottom: 2.1333333333vw
    }
}

.c-article .p-content .--figure.has-caption,
.c-topics__image .p-content .--figure.has-caption,
.c-topics .p-content .--figure.has-caption,
.c-history .p-content .--figure.has-caption {
    border-top: 1px solid #333;
    border-bottom: 1px solid #333
}

@media screen and (min-width:769px) {

    .c-article .p-content .--figure.has-caption,
    .c-topics__image .p-content .--figure.has-caption,
    .c-topics .p-content .--figure.has-caption,
    .c-history .p-content .--figure.has-caption {
        margin-bottom: 2.34375vw;
        padding: 2.1875vw 0 1.25vw;
        font-size: 0.9375vw
    }
}

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

    .c-article .p-content .--figure.has-caption,
    .c-topics__image .p-content .--figure.has-caption,
    .c-topics .p-content .--figure.has-caption,
    .c-history .p-content .--figure.has-caption {
        margin-bottom: 8vw;
        padding: 5.3333333333vw 0 3.7333333333vw;
        font-size: 3.2vw
    }
}

@media screen and (min-width:769px) {

    .c-article .p-content .--figure.has-caption div,
    .c-topics__image .p-content .--figure.has-caption div,
    .c-topics .p-content .--figure.has-caption div,
    .c-history .p-content .--figure.has-caption div {
        margin-bottom: 0.625vw
    }
}

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

    .c-article .p-content .--figure.has-caption div,
    .c-topics__image .p-content .--figure.has-caption div,
    .c-topics .p-content .--figure.has-caption div,
    .c-history .p-content .--figure.has-caption div {
        margin-bottom: 2.1333333333vw
    }
}

@media screen and (min-width:769px) {

    .c-article .has-margin,
    .c-topics__image .has-margin,
    .c-topics .has-margin,
    .c-history .has-margin {
        margin-bottom: 4.6875vw
    }
}

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

    .c-article .has-margin,
    .c-topics__image .has-margin,
    .c-topics .has-margin,
    .c-history .has-margin {
        margin-bottom: 10.6666666667vw
    }
}

.c-article .p-detail,
.c-topics__image .p-detail,
.c-topics .p-detail,
.c-history .p-detail {
    border-top: 1px solid #333;
    font-weight: 400;
    line-height: 240%;
    letter-spacing: .1em
}

@media screen and (min-width:769px) {

    .c-article .p-detail,
    .c-topics__image .p-detail,
    .c-topics .p-detail,
    .c-history .p-detail {
        margin-top: 0.78125vw;
        padding: 3.125vw 0;
        font-size: clamp(12px, 0.9375vw, 24px)
    }
}

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

    .c-article .p-detail,
    .c-topics__image .p-detail,
    .c-topics .p-detail,
    .c-history .p-detail {
        padding-top: 8vw;
        font-size: clamp(14px, 3.7333333333vw, 28px)
    }
}

.c-article .p-detail .--list,
.c-topics__image .p-detail .--list,
.c-topics .p-detail .--list,
.c-history .p-detail .--list {
    padding-bottom: 2.34375vw
}

.c-article .p-detail .--list.has-circle li,
.c-topics__image .p-detail .--list.has-circle li,
.c-topics .p-detail .--list.has-circle li,
.c-history .p-detail .--list.has-circle li {
    padding-left: 1.15em;
    text-indent: -1.15em
}

.c-article .p-detail .--list.has-circle li:before,
.c-topics__image .p-detail .--list.has-circle li:before,
.c-topics .p-detail .--list.has-circle li:before,
.c-history .p-detail .--list.has-circle li:before {
    content: "●"
}

@media screen and (min-width:769px) {
    .c-topics .p-heading {
        position: relative;
        top: 0;
        padding: 13.28125vw 0 0;
        margin-left: 13.28125vw
    }
}

.c-topics .p-heading .--title {
    position: relative;
    color: #333;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: .1625em;
    padding-bottom: 2.34375vw
}

@media screen and (min-width:769px) {
    .c-topics .p-heading .--title {
        font-size: clamp(32px, 2.5vw, 64px)
    }
}

@media screen and (max-width:768px) {
    .c-topics .p-heading .--title {
        font-size: clamp(28px, 7.4666666667vw, 56px)
    }
}

@media screen and (min-width:769px) {
    .c-topics .p-heading .--title .--small {
        font-size: clamp(20px, 1.5625vw, 40px)
    }
}

@media screen and (max-width:768px) {
    .c-topics .p-heading .--title .--small {
        letter-spacing: normal;
        font-size: clamp(14px, 3.7333333333vw, 28px)
    }
}

.c-topics .p-heading .--title_sub {
    color: #333;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    letter-spacing: .04em
}

@media screen and (min-width:769px) {
    .c-topics .p-heading .--title_sub {
        font-size: clamp(12px, 0.9375vw, 24px)
    }
}

@media screen and (max-width:768px) {
    .c-topics .p-heading .--title_sub {
        font-size: clamp(12px, 3.2vw, 24px)
    }
}

.c-topics .p-topic_logo {
    position: sticky;
    z-index: -1;
    margin: auto;
    top: 50%;
    width: 100%;
    height: 23.4375vw;
    background-color: #fff
}

.c-topics .p-topic_logo svg {
    width: 33.125vw;
    margin: auto;
    left: 50%;
    transform: translateX(-50%);
    position: relative;
    z-index: 10;
    height: auto
}

.c-topics .p-topic_logo g,
.c-topics .p-topic_logo path {
    fill: #333
}

@media screen and (min-width:769px) {
    .c-topics__image .p-image {
        position: sticky;
        width: 9vw;
        top: 53%;
        transform: translateY(-50%);
        margin-left: 13.28125vw;
        margin-top: 0.78125vw
    }
}

@media screen and (max-width:768px) {
    .c-topics__image .p-image {
        display: none;
        width: 29.3333333333vw;
        margin: auto
    }
}

.c-topics__image .p-image__sp {
    position: sticky;
    z-index: -1;
    margin: auto;
    top: 25%;
    width: 29.3333333333vw;
    margin: auto;
    text-align: center;
    background-color: #fff
}

@media screen and (min-width:769px) {
    .c-topics__image .p-image__sp {
        display: none
    }
}

.c-topics__image .p-image__sp img {
    width: 23.7333333333vw
}

@media screen and (min-width:769px) {
    .c-topics__image .p-heading {
        position: relative;
        padding-bottom: 3.90625vw;
        top: 0
    }
}

.c-topics__image .p-heading .--title {
    position: relative;
    color: #333;
    font-weight: 500;
    letter-spacing: .1625em;
    padding-bottom: 2.34375vw
}

@media screen and (min-width:769px) {
    .c-topics__image .p-heading .--title {
        line-height: 150%;
        font-size: clamp(32px, 2.5vw, 64px)
    }
}

@media screen and (max-width:768px) {
    .c-topics__image .p-heading .--title {
        line-height: 190%;
        font-size: clamp(30px, 8vw, 60px)
    }
}

.c-topics__image .p-heading .--title_sub {
    color: #333;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    letter-spacing: .04em
}

@media screen and (min-width:769px) {
    .c-topics__image .p-heading .--title_sub {
        font-size: clamp(12px, 0.9375vw, 24px)
    }
}

@media screen and (max-width:768px) {
    .c-topics__image .p-heading .--title_sub {
        font-size: clamp(12px, 3.2vw, 24px)
    }
}

.c-topics__image .p-heading.--type02 {
    border-bottom: 1px solid #333
}

@media screen and (min-width:769px) {
    .c-topics__image .p-heading.--type02 {
        margin-bottom: 3.125vw;
        padding-bottom: 3.125vw
    }
}

@media screen and (max-width:768px) {
    .c-topics__image .p-heading.--type02 {
        margin-bottom: 8vw;
        padding-bottom: 8vw
    }
}

.c-topics__image .p-heading.--type02 .--title {
    padding-bottom: 0
}

@media screen and (min-width:769px) {
    .c-topics__image .p-heading.--type02 .--title {
        font-size: clamp(40px, 3.125vw, 80px)
    }
}

@media screen and (max-width:768px) {
    .c-topics__image .p-heading.--type02 .--title {
        font-size: clamp(30px, 8vw, 60px)
    }
}

@media screen and (min-width:769px) {
    .c-topics__image .p-heading.--type02 .--title_sub {
        font-size: clamp(18px, 1.40625vw, 36px)
    }
}

@media screen and (max-width:768px) {
    .c-topics__image .p-heading.--type02 .--title_sub {
        font-size: clamp(18px, 4.8vw, 36px)
    }
}

@media screen and (min-width:769px) {
    .c-article .p-content {
        width: 37.5vw
    }
}

@media screen and (min-width:769px) {
    .c-article .p-heading__main {
        position: sticky;
        width: 42.1875vw;
        top: 0;
        padding: 13.28125vw 0 0;
        padding-left: 13.28125vw
    }
}

@media screen and (max-width:768px) {
    .c-article .p-heading__main {
        margin-bottom: 8vw;
        border-bottom: 1px solid #333
    }
}

.c-article .p-heading__main.is-fixed {
    position: relative;
    width: 100%
}

.c-article .p-heading__main .--title {
    position: relative;
    color: #333;
    font-weight: 500;
    line-height: 150%
}

@media screen and (min-width:769px) {
    .c-article .p-heading__main .--title {
        letter-spacing: .14em;
        padding-bottom: 2.03125vw;
        font-size: clamp(24px, 1.875vw, 48px)
    }
}

@media screen and (max-width:768px) {
    .c-article .p-heading__main .--title {
        padding-bottom: 2.6666666667vw;
        letter-spacing: .1625em;
        font-size: clamp(28px, 7.4666666667vw, 56px)
    }
}

.c-article .p-heading__main .--title__small {
    position: relative;
    color: #333;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: .1625em
}

@media screen and (min-width:769px) {
    .c-article .p-heading__main .--title__small {
        padding-bottom: 0.46875vw;
        font-size: clamp(16px, 1.25vw, 32px)
    }
}

@media screen and (max-width:768px) {
    .c-article .p-heading__main .--title__small {
        padding-bottom: 1.6vw;
        font-size: clamp(16px, 4.2666666667vw, 32px)
    }
}

.c-article .p-heading__main .--title_sub {
    color: #333;
    position: relative;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    letter-spacing: .0266666667em
}

@media screen and (min-width:769px) {
    .c-article .p-heading__main .--title_sub {
        padding-bottom: 3.90625vw;
        font-size: clamp(18px, 1.40625vw, 36px)
    }
}

@media screen and (max-width:768px) {
    .c-article .p-heading__main .--title_sub {
        padding-bottom: 5.3333333333vw;
        font-size: clamp(18px, 4.8vw, 36px)
    }
}

.c-article .p-heading__main .--title_sub:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1.40625vw;
    content: "";
    height: 1px;
    background-color: #333
}

@media screen and (min-width:769px) {
    .c-article .p-heading__main .--description {
        padding-bottom: 3.125vw;
        font-size: clamp(12px, 0.9375vw, 24px)
    }
}

@media screen and (max-width:768px) {
    .c-article .p-heading__main .--description {
        font-size: clamp(12px, 3.2vw, 24px);
        padding-bottom: 5.3333333333vw
    }
}

.c-article .p-heading__main.message .--catch {
    font-weight: 500;
    line-height: 190%;
    letter-spacing: 1.1px
}

@media screen and (min-width:769px) {
    .c-article .p-heading__main.message .--catch {
        padding-bottom: 2.65625vw;
        font-size: clamp(22px, 1.71875vw, 44px)
    }
}

@media screen and (max-width:768px) {
    .c-article .p-heading__main.message .--catch {
        font-size: clamp(21px, 5.6vw, 42px);
        padding-bottom: 9.6vw
    }
}

.c-article .p-heading__main.message .--company {
    font-weight: 400;
    line-height: 200%;
    letter-spacing: 1.2px
}

@media screen and (min-width:769px) {
    .c-article .p-heading__main.message .--company {
        padding-bottom: 0.390625vw;
        font-size: clamp(12px, 0.9375vw, 24px)
    }
}

@media screen and (max-width:768px) {
    .c-article .p-heading__main.message .--company {
        font-size: clamp(14px, 3.7333333333vw, 28px)
    }
}

.c-article .p-heading__main.message .--name {
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 1.8px
}

@media screen and (min-width:769px) {
    .c-article .p-heading__main.message .--name {
        padding-bottom: 0.390625vw;
        font-size: clamp(18px, 1.40625vw, 36px)
    }
}

@media screen and (max-width:768px) {
    .c-article .p-heading__main.message .--name {
        padding-bottom: 8vw;
        font-size: clamp(21px, 5.6vw, 42px)
    }
}

@media screen and (min-width:769px) {
    .c-article .p-heading {
        position: relative;
        top: 0
    }
}

.c-article .p-heading .--title {
    position: relative;
    color: #333;
    font-weight: 500;
    line-height: 150%
}

@media screen and (min-width:769px) {
    .c-article .p-heading .--title {
        padding-bottom: 2.34375vw;
        font-size: clamp(24px, 1.875vw, 48px);
        letter-spacing: .1625em
    }
}

@media screen and (max-width:768px) {
    .c-article .p-heading .--title {
        padding-bottom: 5.3333333333vw;
        letter-spacing: .0142857143em;
        font-size: clamp(20px, 5.3333333333vw, 40px)
    }
}

.c-article .p-heading .--title_sub {
    color: #333;
    position: relative;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    letter-spacing: .04em
}

@media screen and (min-width:769px) {
    .c-article .p-heading .--title_sub {
        font-size: clamp(12px, 0.9375vw, 24px)
    }
}

@media screen and (max-width:768px) {
    .c-article .p-heading .--title_sub {
        display: none;
        font-size: clamp(12px, 3.2vw, 24px)
    }
}

.c-article .c-linkbox {
    padding-top: 1.796875vw;
    position: relative
}

@media screen and (max-width:768px) {
    .c-article .c-linkbox {
        justify-content: flex-end
    }
}

@media screen and (max-width:768px) {
    .c-history:after {
        height: 20vw
    }
}

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

    .c-history:not(.is-first):before,
    .c-history:not(.is-first):after {
        height: 20vw
    }
}

.c-cv,
.c-cv02 {
    padding: 60px 0;
    background-color: #007bbe
}

.c-cv .p-text,
.c-cv02 .p-text {
    padding-bottom: 40px;
    color: #fff;
    font-weight: 700;
    text-align: center;
    line-height: 1.5
}

@media screen and (min-width:769px) {

    .c-cv .p-text,
    .c-cv02 .p-text {
        font-size: 2.4rem
    }
}

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

    .c-cv .p-text,
    .c-cv02 .p-text {
        letter-spacing: -0.04em;
        font-size: 1.7rem
    }
}

.c-cv .p-button_container,
.c-cv02 .p-button_container {
    display: flex;
    justify-content: center
}

@media screen and (min-width:769px) {

    .c-cv .p-button_container,
    .c-cv02 .p-button_container {
        gap: 40px
    }
}

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

    .c-cv .p-button_container,
    .c-cv02 .p-button_container {
        gap: 25px
    }
}

@media screen and (min-width:769px) {

    .c-cv .p-button_container .c-button.--md,
    .c-cv02 .p-button_container .c-button.--md {
        padding: 20px 48px
    }
}

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

    .c-cv .p-button_container .c-button.--md,
    .c-cv02 .p-button_container .c-button.--md {
        font-size: 1.1rem;
        padding: 15px 15px;
        gap: 6px;
        width: calc((100% / 2) - (25px * (2 - 1)) / 2)
    }
}

@media screen and (max-width:768px)and (min-width:769px) {

    .c-cv .p-button_container .c-button.--md .icon-paper-plane,
    .c-cv .p-button_container .c-button.--md .icon-pdf,
    .c-cv02 .p-button_container .c-button.--md .icon-paper-plane,
    .c-cv02 .p-button_container .c-button.--md .icon-pdf {
        width: 20px;
        height: 20px
    }
}

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

    .c-cv .p-button_container .c-button.--md .icon-paper-plane,
    .c-cv .p-button_container .c-button.--md .icon-pdf,
    .c-cv02 .p-button_container .c-button.--md .icon-paper-plane,
    .c-cv02 .p-button_container .c-button.--md .icon-pdf {
        width: 16px;
        height: 16px;
        min-width: 16px;
        min-height: 16px
    }
}

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

    .c-cv .p-button_container .c-button.--md .icon-download,
    .c-cv .p-button_container .c-button.--md .icon-arrow-up,
    .c-cv02 .p-button_container .c-button.--md .icon-download,
    .c-cv02 .p-button_container .c-button.--md .icon-arrow-up {
        width: 13px;
        height: 13px;
        min-width: 13px;
        min-height: 13px
    }
}

.c-cv02 {
    background-color: #f6f6f6
}

.c-cv02 .p-text {
    font-size: 2rem;
    color: #007bbe
}

.c-cv02 .p-button_container a span {
    flex: 1;
    text-align: center
}

.c-features_navi_section {
    padding: 60px 0;
    background-color: #f1f8fc
}

.c-features_navi {
    display: flex;
    max-width: 1040px;
    margin: auto;
    border-right: 1px solid #ccc;
    text-align: center
}

@media screen and (max-width:768px) {
    .c-features_navi {
        padding: 0 20px;
        flex-direction: column
    }
}

@media screen and (min-width:769px) {
    .c-features_navi .p-item {
        width: 20%;
        border-left: 1px solid #ccc
    }
}

@media screen and (max-width:768px) {
    .c-features_navi .p-item {
        width: 100%;
        padding: 15px 0;
        border-bottom: 1px solid #ccc
    }
}

@media screen and (min-width:769px) {
    .c-features_navi a {
        height: 100%;
        display: flex;
        flex-direction: column
    }
}

@media screen and (max-width:768px) {
    .c-features_navi a {
        display: flex;
        gap: 15px;
        align-items: center;
        width: 100%;
        justify-content: space-between
    }
}

.c-features_navi a:hover .icon {
    transform: translateY(10px)
}

@media screen and (min-width:769px) {
    .c-features_navi .p-image {
        padding-bottom: 16px
    }
}

@media screen and (max-width:768px) {
    .c-features_navi .p-image {
        width: 60px;
        min-width: 60px;
        text-align: center
    }
}

@media screen and (max-width:768px) {
    .c-features_navi .p-image.adjust {
        transform: translateX(5px)
    }
}

.c-features_navi .p-image img {
    width: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

@media screen and (min-width:769px) {
    .c-features_navi .p-image img {
        height: 110px
    }
}

@media screen and (max-width:768px) {
    .c-features_navi .p-image img {
        height: 60px
    }
}

.c-features_navi .p-text {
    color: #676767;
    font-weight: 700;
    text-align: center;
    line-height: 1.6428571429;
    font-size: 1.4rem;
    padding: 0 15px
}

@media screen and (min-width:769px) {
    .c-features_navi .p-text {
        padding-bottom: 11px
    }
}

@media screen and (max-width:768px) {
    .c-features_navi .p-text {
        text-align: left
    }
}

.c-features_navi .icon {
    display: inline-block;
    transition: 600ms ease-out;
    fill: #007bbe
}

@media screen and (min-width:769px) {
    .c-features_navi .icon {
        margin: auto auto 0;
        width: 26px;
        height: 30px
    }
}

@media screen and (max-width:768px) {
    .c-features_navi .icon {
        margin: 0 0 0 auto;
        width: 18px;
        height: 21px
    }
}

.c-features_content .p-lead {
    padding-bottom: 40px;
    color: #010101;
    line-height: 2.1875;
    font-size: 1.6rem
}

.c-features_checkpoint {
    margin-bottom: 60px;
    border: 1px solid #007bbe;
    border-radius: 10px;
    color: #007bbe;
    font-weight: 700;
    line-height: 1.9444444444;
    letter-spacing: normal
}

@media screen and (min-width:769px) {
    .c-features_checkpoint {
        padding: 20px 40px;
        font-size: 1.8rem
    }
}

@media screen and (max-width:768px) {
    .c-features_checkpoint {
        padding: 20px 20px;
        line-height: 1.625;
        font-size: 1.6rem
    }
}

.c-features_checkpoint li {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M438.6%20105.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-256%20256c-12.5%2012.5-32.8%2012.5-45.3%200l-128-128c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200L160%20338.7%20393.4%20105.4c12.5-12.5%2032.8-12.5%2045.3%200z%22%20fill%3D%22%23007bbe%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat
}

@media screen and (min-width:769px) {
    .c-features_checkpoint li {
        padding: 10px 0 10px 50px;
        background-position: 0 13px;
        background-size: 30px 30px
    }
}

@media screen and (max-width:768px) {
    .c-features_checkpoint li {
        padding: 10px 0 10px 40px;
        background-position: 0 18px;
        background-size: 20px 20px
    }
}

.c-features_checkpoint .icon-check {
    width: 26px;
    height: 30px;
    margin-right: 20px;
    vertical-align: middle;
    fill: #007bbe
}

.c-features_image {
    margin-bottom: 60px;
    position: relative
}

.c-features_image.--image01:before,
.c-features_image.--image02:before,
.c-features_image.--image03:before {
    position: absolute;
    top: 50%;
    width: 90.625%;
    background: #ebedf1;
    content: "";
    transform: translateY(-50%)
}

@media screen and (min-width:769px) {

    .c-features_image.--image01:before,
    .c-features_image.--image02:before,
    .c-features_image.--image03:before {
        height: 380px
    }
}

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

    .c-features_image.--image01:before,
    .c-features_image.--image02:before,
    .c-features_image.--image03:before {
        height: 200px
    }
}

.c-features_image .p-image {
    position: relative;
    margin: auto
}

@media screen and (min-width:769px) {
    .c-features_image .p-image {
        width: 860px
    }
}

@media screen and (max-width:768px) {
    .c-features_image.--image01 {
        overflow-x: hidden
    }
}

@media screen and (min-width:769px) {
    .c-features_image.--image01 .p-image {
        width: 950px;
        transform: translateX(-60px)
    }
}

@media screen and (max-width:768px) {
    .c-features_image.--image01 .p-image {
        width: 550px;
        transform: translateX(10px)
    }
}

.c-features_image.--image02:before {
    right: 0
}

@media screen and (max-width:768px) {
    .c-features_image.--image02 {
        overflow-x: hidden;
        overflow-y: visible
    }

    .c-features_image.--image02 .p-image {
        overflow-x: scroll;
        width: calc(100% + 40px);
        margin: 0 -20px;
        padding: 0 20px 20px
    }

    .c-features_image.--image02 .p-image img {
        min-width: 720px;
        transform: none !important
    }
}

@media screen and (max-width:768px)and (max-width:768px) {
    .c-features_image.--image02 .p-image img {
        margin: 0 20px
    }
}

.c-features_image.--image03:before {
    background-color: #007bbe
}

@media screen and (max-width:768px) {
    .c-features_image.--image03:before {
        width: 100%;
        height: 350px
    }
}

@media screen and (max-width:768px) {
    .c-features_image.--image03 .p-image {
        overflow-x: hidden
    }
}

@media screen and (max-width:768px) {
    .c-features_image.--image04 .p-image {
        padding: 0 20px
    }
}

@media screen and (max-width:768px) {
    .c-features_image.--image05 .p-image {
        padding: 0 20px
    }
}

.c-table__systemrequest {
    width: 100%
}

@media screen and (max-width:768px) {
    .c-table__systemrequest {
        border-bottom: 1px solid #c5ccd8
    }
}

.c-table__systemrequest th,
.c-table__systemrequest td {
    border-style: solid;
    border-color: #c5ccd8
}

@media screen and (min-width:769px) {

    .c-table__systemrequest th,
    .c-table__systemrequest td {
        padding: 10px 30px;
        border-width: 1px 1px 1px 1px
    }
}

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

    .c-table__systemrequest th,
    .c-table__systemrequest td {
        display: block;
        padding: 10px 20px;
        text-align: center;
        border-width: 1px 1px 0px 1px
    }
}

.c-table__systemrequest th {
    font-weight: 700;
    background-color: #f7f7f9
}

@media screen and (min-width:769px) {
    .c-table__systemrequest th {
        width: 300px
    }
}

.price .p-title {
    padding-bottom: 40px;
    color: #007bbe;
    font-weight: bold;
    text-align: center;
    line-height: 1.2272727273
}

@media screen and (min-width:769px) {
    .price .p-title {
        font-size: 4.4rem
    }
}

@media screen and (max-width:768px) {
    .price .p-title {
        font-size: 30px
    }
}

.price .p-text {
    color: #010101;
    line-height: 2.1875;
    font-size: 1.6rem
}

@media screen and (max-width:768px) {
    .price .sp-scroll .--image img {
        margin: 0 20px
    }
}

.c-term {
    max-width: 1040px;
    padding: 1.4rem;
    background-color: #fff;
    color: #010101
}

@media screen and (min-width:769px) {
    .c-term {
        padding: 80px 0;
        margin: 120px auto
    }
}

@media screen and (max-width:768px) {
    .c-term {
        padding: 60px 0;
        margin: 0 auto 0
    }
}

.c-term .p-title__main {
    color: #3e3e3e;
    text-align: center;
    line-height: 1.5;
    letter-spacing: .02em;
    padding-bottom: 75px
}

@media screen and (min-width:769px) {
    .c-term .p-title__main {
        font-size: 2.4rem
    }
}

@media screen and (max-width:768px) {
    .c-term .p-title__main {
        font-size: 2rem
    }
}

.c-term .p-text {
    font-size: 1.4rem;
    line-height: 1.7142857143
}

.c-term .p-box {
    padding-bottom: 3em
}

.c-term p {
    padding-bottom: 2em
}

.c-term .--center {
    text-align: center
}

.c-term h2 {
    padding-bottom: 1.5em;
    font-weight: 500;
    font-size: 1.6rem
}

.c-term h3 {
    padding-bottom: 1em;
    font-weight: 500;
    font-size: 1.4rem
}

.c-term ol {
    padding-bottom: 2em;
    padding-left: 1.5em
}

.c-term ol li {
    list-style: decimal
}

.c-term dl {
    display: flex;
    padding-bottom: .5em
}

.c-term dl dt {
    width: 5em
}

.c-term a {
    color: #5579ae
}

.c-term .privacy_time {
    text-align: right
}

.c-term .privacy_time dl {
    justify-content: flex-end
}

.l-inner__slash {
    display: flex;
    position: relative;
    z-index: 1;
    margin: 0 auto;
    align-items: center
}

@media screen and (min-width:769px) {
    .l-inner__slash {
        max-width: 1200px
    }
}

@media screen and (max-width:768px) {
    .l-inner__slash {
        padding: 0px 20px 0;
        flex-direction: column
    }

    .l-inner__slash .c-content__slash {
        order: 1
    }

    .l-inner__slash .p-image {
        order: 2
    }
}

.c-slash_container {
    overflow: hidden;
    position: relative;
    height: 42.1875vw
}

.c-slash_container:before {
    display: block;
    position: absolute;
    z-index: 5;
    top: 0;
    height: 0;
    border-style: solid;
    border-color: #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    content: ""
}

@media screen and (min-width:769px) {
    .c-slash_container:before {
        border-width: 10.9375vw 100vw 0 0
    }
}

@media screen and (max-width:768px) {
    .c-slash_container:before {
        border-width: 18.6666666667vw 100vw 0 0
    }
}

.c-slash_container:after {
    display: block;
    position: absolute;
    z-index: 5;
    bottom: 0;
    height: 0;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    content: ""
}

@media screen and (min-width:769px) {
    .c-slash_container:after {
        border-width: 10.9375vw 100vw 0 0
    }
}

@media screen and (max-width:768px) {
    .c-slash_container:after {
        border-width: 18.6666666667vw 100vw 0 0
    }
}

@media screen and (max-width:768px) {
    .c-slash_container.--features_head {
        height: 145.6vw
    }

    .c-slash_container.--features_head .p-image {
        bottom: auto;
        top: 0;
        height: 100%
    }

    .c-slash_container.--features_head .p-image img {
        transform: none !important;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }
}

.c-slash_container.--features_head:after {
    border-color: rgba(0, 0, 0, 0) #f1f8fc rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.c-slash_container .p-image {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    width: 100%
}


/* 検査施設が地域医療のハブになる理由 */
.top-reason{
    position: relative;
    background-image: url(../images/infra/reason-back.jpg);
}

.top-reason .l-inner__slash{
    flex-direction: column;
    padding-bottom: 60px;
    padding-top: 60px;
}

.top-reason .p-title {
    position: relative;
    z-index: 2;
    margin-bottom: 40px;
    color: #34486d;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    letter-spacing: .02em;
    font-size: 2.4rem
}

.top-reason .p-bg{
    position: static !important;
    z-index: auto !important; 
}

.top-reason .p-bg img {
    width: 1003px;
    height: auto;
    margin-bottom: 30px;
}

.top-reason p{
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
}

@media screen and (min-width:769px) {
    .top-reason .p-bg {
        overflow-x: hidden;
        overflow-y: visible
    }
}

@media screen and (max-width:768px) {
    .top-reason {
        background-image: url(../images/infra/reason-back-sp.jpg);
        padding-bottom: 40px;
    }

    .top-reason .l-inner__slash {
        padding-bottom: 0px;
    }

    .top-reason .p-bg {
        overflow-x: hidden;
        overflow-y: visible;
    }

    .top-reason .p-bg img {
        width: 313px;
        height: 585px;
        margin-bottom: 50px;
    }

    .top-reason p{
        text-align: left;
    }
}


/* サービス導入のメリット */
.top-merit {
    position: relative;
    z-index: 1;
    background-color: #fff
}

.top-merit .l-inner__slash {
    flex-direction: column;
    padding-bottom: 60px;
    padding-top: 60px;
}

.top-merit .p-title{
    position: relative;
    z-index: 2;
    margin-bottom: 40px;
    color: #34486d;
    font-weight: 700;
    text-align: left;
    line-height: 1.4;
    letter-spacing: .02em;
    font-size: 2.4rem
}

.alt-card {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 40px;
    padding: 20px;
    position: relative;
    
}

/* 偶数番目の入れ替え */
.alt-card:nth-child(even) {
    flex-direction: row-reverse;
}

/* 背景の共通設定 */
.alt-card::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    background-color: #F1F8FC;
}

/* 奇数番目：右側を画面端まで */
.alt-card:nth-child(odd)::after {
    left: 0; 
    right: calc(50% - 50vw);
}

/* 偶数番目：左側を画面端まで */
.alt-card:nth-child(even)::after {
    right: 0;
    left: calc(50% - 50vw); 
}

.alt-card .alt-img-box img { 
    width: 496px;
    height: 273px; 
}

.alt-text-box {
    margin-bottom: 80px;
}

.alt-text-box span {
    font-weight: 700;
    font-size: 4rem;
    color: #007bbe;
}

.alt-text-box h3 {
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 15px;
}

.alt-text-box p {
    font-size: 1.6rem;
    font-weight: 400;
}


@media screen and (max-width: 768px) {
  /* カード全体の並び替え（文字が上、画像が下） */
  .alt-card, .alt-card:nth-child(even) {
    flex-direction: column !important;
  }
  .alt-text-box { order: 1; }
  .alt-img-box { order: 2; }

  /* 背景のスマホ専用設定 */
  .alt-card::after {
    top: 0;
    bottom: 80px; 
  }

  /* 奇数番目：左側を空ける */
  .alt-card:nth-child(odd)::after {
    left: 20px !important; 
    right: calc(50% - 50vw) !important; 
  }

  /* 偶数番目：右側を空ける */
  .alt-card:nth-child(even)::after {
    right: 20px !important;
    left: calc(50% - 50vw) !important; 
  }

  .alt-card .alt-img-box img {
    height: auto;
  }

  .alt-text-box {
    margin-bottom: 0px;
    margin-top: -40px !important;
    padding-left: -20px;
  }
}


/* サービス利用の流れ */
.service {
    position: relative;
    z-index: 1;
    background-color: #fff
}

.service .l-inner__slash {
    flex-direction: column;
    padding-bottom: 60px;
}

.service .p-title{
    position: relative;
    z-index: 2;
    color: #34486d;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    letter-spacing: .02em;
    font-size: 2.4rem
}

.slider-container {
    overflow: hidden;
    width: 100%;
    max-width: 1200px; 
    margin: 0 auto;
    padding: 40px 0; 
    box-sizing: border-box;
}

/* Chrome, Safari, Edge 用 */
.slider-container::-webkit-scrollbar {
    display: none ;
}

/* Firefox 用 */
.slider-container {
    scrollbar-width: none ;
}

/* IE, 旧Edge 用 */
.slider-container {
    -ms-overflow-style: none ;
}

.slider-track {
    display: flex;
    align-items: stretch;
    will-change: transform;
    gap: 30px; 
}

.slider-wrapper {
    flex: 0 0 80% !important;
    min-width: 80% !important;
    display: flex;
    justify-content: center;
}

.slider-wrapper::-webkit-scrollbar { 
    display: none; 
}

.slider-inner {
    display: block;               
    padding: 20px 0px;            
    margin: 0;
    list-style: none;
}

.slider-inner::after {
    content: "";
    flex: 0 0 100vw;
    height: 1px;
}

.slider-item {
    display: block;
    width: 100%;
    overflow: visible;
}

.slider-item:last-child {
    margin-right: 0;
}

.step-card {
    width: 100%; 
    height: 100%;
    background: #fff;
    border-radius: 15px;
    padding: 40px 25px 30px;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.step-badge {
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%; 
    background-color: #0076B3;
    color: #fff;
    padding: 5px 0;
    font-size: 2rem;
    font-weight: bold;
    border-radius: 40px;
}

.step-img {
    width: 160px; 
    height: 160px;
    margin: 20px auto;
}

.step-title {
    color: #0076B3;
    font-size: 2rem;
    font-weight: 700;
    padding-bottom: 15px;
}

.step-text {
    font-size: 1.6rem;
    text-align: left;
    flex-grow: 1;
    font-weight: 400;
}


.case-controls {
    display: flex !important; 
    align-items: center;
    justify-content: center;
    gap: 30px; 
}

.case-prev, .case-next {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px; 
    height: 44px;
    transition: opacity 0.3s;
}

.case-prev img, .case-next img {
    width: 100%;
    height: auto;
}

.case-controls svg path {
    fill: #ccc; 
}

.case-pagination {
    display: flex;
    gap: 15px;
}

.case-pagination span {
    width: 12px;
    height: 12px;
    background: #E0E0E0; 
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s ease;
}

/* アクティブな時だけ青 */
.case-pagination span.is-active {
    background: #0076B3;
}


@media screen and (min-width: 769px) {
    .slider-container {
        padding: 40px 20px;
    }
    .slider-wrapper {
        /* PCでは従来通り4枚並び */
        flex: 0 0 calc((100% - 90px) / 4) !important;
        min-width: calc((100% - 90px) / 4) !important;
    }
}

@media screen and (max-width: 768px) {
    .case-controls {
        gap: 15px;
    }

    .case-prev, .case-next {
        width: 32px;  
        height: 32px;
    }

    .case-pagination {
        gap: 15px; 
    }

    .case-pagination span {
        width: 8px;  
        height: 8px;
    }
}

/* 支払い・契約の流れ */
.process {
    position: relative;
    z-index: 1;
    background-color: #fff
}

.process .l-inner__slash {
    display: flex;
    flex-direction: column;
    padding-bottom: 60px;
    padding-top: 60px;
    overflow: hidden; 
}

.process .p-title{
    position: relative;
    z-index: 2;
    margin-bottom: 40px;
    color: #34486d;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    letter-spacing: .02em;
    font-size: 2.4rem
}

.process .p-bg {
    display: block;
    width: 100%;
    overflow-x: auto; 
    -webkit-overflow-scrolling: touch; 
    padding-bottom: 20px; 
}

.process .p-bg img {
    display: block;
    max-width: none;
    height: auto;
    margin: 0 auto; 
}

.process p{
    font-size: 1.4rem;
    margin-top: 20px;
}

@media screen and (max-width: 768px) {
    .process .l-inner__slash {
        padding-bottom: 30px;
        padding-top: 30px;
    }

    .process .p-bg {
        max-height: 400px; 
        overflow-x: auto;
        display: flex; 
        align-items: center;
    }

    .process .p-bg img {
        height: 300px; 
        width: auto;   
        max-width: none; 
    }
}


/* 柔軟な活用方法 */
.use {
    position: relative;
    z-index: 1;
    background-color: #fff
}

.use .l-inner__slash {
    flex-direction: column;
    padding-bottom: 60px;
    padding-top: 60px;
}

.use .p-title{
    position: relative;
    z-index: 2;
    margin-bottom: 10px;
    color: #34486d;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    letter-spacing: .02em;
    font-size: 2.4rem
}

.use-section {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

.use-container {
  max-width: 1200px;
  margin: auto;
  align-items: stretch;
}

.use-card {
    width: 100%;
    max-width: 450px; 
    height: 610px;
    background: #FAFAFA;
    border-radius: 20px;
    padding: 40px 30px;
    text-align: center;
    position: relative;  
    margin-top: 50px; 
    box-sizing: border-box;
}

.card-header {
  background: #007bbe;
  color: #fff;
  border-radius: 50px;
  display: inline-block; 
  padding: 5px 20px;
  margin-bottom: 20px;
  margin-top: -50px !important; 
  z-index: 10; 
  font-size: 2rem;
  font-weight: 700;
}

.use-title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 20px;
}

.card-img-wrapper {
    width: 100%;
    overflow: hidden;
    border-radius: 10px; 
}

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

.use-card .card-text { 
    font-size: 1.6rem;
    text-align: left;
    font-weight: 400;
    margin-top: 10px;
}

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

.card-text2  {
    margin-top: 20px;
    text-align: left;
    font-weight: 700;
    font-size: 1.8rem;
    text-decoration:underline;
}



@media screen and (max-width: 768px) {
    .use  .p-title {
        margin-bottom: 20px;
    }

    .use-section {
        gap: 25px; 
    }
    
    .use-card {
        margin-top: 40px;
        padding: 30px 20px;
        height: auto;
    }

}


/* よくある質問 */
.faq {
    position: relative;
    z-index: 1;
    background-color: #fff
}

.faq .l-inner__slash {
    flex-direction: column;
    padding-bottom: 60px;
    padding-top: 60px;
}

.faq .p-title{
    position: relative;
    z-index: 2;
    margin-bottom: 40px;
    color: #34486d;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    letter-spacing: .02em;
    font-size: 2.4rem
}

.faqーcontainer {
    width: 100%;
    max-width: 1200px; 
    margin: 40px auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 25px; 
}

.faq-item {
    background-color: #F4F9FC;
    border-radius: 12px;
    overflow: hidden;
    transition: background-color 0.3s ease;
}

.faq-question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 30px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    outline: none;
}

.faq-q-text {
    color: #0076B3; 
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    display: flex;
    gap: 10px;
}

.q-prefix {
    flex-shrink: 0;
}

.faq-icon {
    position: relative;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-left: 20px;
}

.faq-icon::before,
.faq-icon::after {
    content: "";
    position: absolute;
    background-color: #0076B3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease-in-out;
}

/* 横棒 */
.faq-icon::before {
    width: 20px;
    height: 2px;
}

/* 縦棒（開くと消える） */
.faq-icon::after {
    width: 2px;
    height: 20px;
}

.faq-item.is-open .faq-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1); /* 動きをなめらかに！ */
}

.faq-item.is-open .faq-answer {
    max-height: 1000px; 
}

.faq-answer-content {
    padding: 0 30px 25px 30px;
    font-size: 1.6rem;
    color: #333;
    line-height: 1.7;
    display: flex;
    gap: 10px;
    font-weight: 400;
}

.a-prefix {
    font-weight: 700;
    flex-shrink: 0;
}

/* スマホ用（画面が狭くなったら余白を小さく！） */
@media screen and (max-width: 768px) {
    .faq-question { padding: 20px; }
    .faq-q-text { font-size: 1.6rem; }
    .faq-answer-content { padding: 0 20px 20px 20px; }
}



@media screen and (max-width:768px) {
    .sp-scroll {
        width: calc(100% + 40px);
        margin: 0 -20px
    }

    .sp-scroll img {
        min-width: 720px
    }

    img {
        transform: none !important
    }
}

@media screen and (min-width:769px) {
    .js-wp__mock.scroll-hint {
        overflow: visible !important
    }
}

.scroll-hint {
    overflow-y: visible !important
}



.a-mask {
    overflow: hidden
}

.a-mask span {
    display: inline-block
}

.a-mask .--space {
    display: inline-block;
    width: .25em
}

.js-a-big-typo,
.js-a-big-typo--reverse {
    display: block
}


/* .c-heading_top {
    padding-bottom: 60px;
    text-align: center
}

.c-heading_top .p-title__sub {
    margin-bottom: -0.25em;
    color: #f1f8fc;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-weight: 900;
    text-align: center;
    line-height: 1;
    letter-spacing: -0.02em
}

@media screen and (min-width:769px) {
    .c-heading_top .p-title__sub {
        font-size: 20rem
    }
}

@media screen and (max-width:768px) {
    .c-heading_top .p-title__sub {
        font-size: 26.6666666667vw
    }
}

.c-heading_top .p-title {
    color: #007bbe;
    font-weight: 900;
    text-align: center;
    line-height: 1.25
}

@media screen and (min-width:769px) {
    .c-heading_top .p-title {
        padding-bottom: 30px;
        font-size: 4rem;
        letter-spacing: .1em
    }
}

@media screen and (max-width:768px) {
    .c-heading_top .p-title {
        padding-bottom: 40px;
        font-size: 8vw;
        letter-spacing: .04em
    }
}

.c-heading_top .p-text {
    color: #343434;
    text-align: center;
    line-height: 2;
    letter-spacing: .02em;
    font-size: 1.4rem
}

.top-uservoice .p-button_container {
    padding-top: 60px;
    text-align: center
}

.c-uservoice {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

@media screen and (min-width:769px) {
    .c-uservoice {
        gap: 40px
    }
}

@media screen and (max-width:768px) {
    .c-uservoice {
        flex-direction: column;
        gap: 15px
    }
}

.c-uservoice .p-item {
    padding: 20px;
    border: 3px solid #7fbdde;
    border-radius: 12px;
    background: #fff
}

@media screen and (min-width:769px) {
    .c-uservoice .p-item {
        width: calc((100% / 3) - (40px * (3 - 1)) / 3)
    }
}

@media screen and (max-width:768px) {
    .c-uservoice .p-item {
        width: calc((100% / 1) - (15px * (1 - 1)) / 1)
    }
}

.c-uservoice .p-item a {
    display: flex;
    flex-direction: column;
    height: 100%
}

.c-uservoice .p-title {
    padding-bottom: 40px;
    color: #34486d;
    font-size: 20px;
    font-weight: 700;
    text-align: left;
    line-height: 36px
}

.c-uservoice .p-text {
    padding-bottom: 40px;
    color: #010101;
    font-size: 12px;
    font-weight: normal;
    text-align: left;
    line-height: 22px
}

.c-uservoice .c-circle_icon {
    margin-top: auto;
    margin-left: auto
} */

/* .c-step_list .p-item {
    position: relative;
    margin-top: 2px
}

@media screen and (min-width:769px) {
    .c-step_list .p-item {
        padding: 20px 0
    }
}

.c-step_list .p-item .p-triangle {
    display: block;
    position: absolute;
    z-index: 10;
    bottom: 0;
    left: 50%;
    width: 50px;
    height: 25px;
    margin: auto;
    transform: translate(-50%, 100%)
}

.c-step_list .p-item .p-triangle:before {
    display: block;
    z-index: 5;
    width: 100%;
    height: 100%;
    background-color: #fff;
    content: "";
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%)
}

.c-step_list .p-item .p-triangle:after {
    display: block;
    position: absolute;
    z-index: 6;
    top: 0px;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    background-color: #000;
    content: "";
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%)
}

.c-step_list .p-col {
    display: flex;
    align-items: center
}

@media screen and (min-width:769px) {
    .c-step_list .p-col {
        gap: 40px
    }
}

@media screen and (max-width:768px) {
    .c-step_list .p-col {
        width: 100%;
        gap: 30px
    }
}

.c-step_list .p-item01 {
    z-index: 10;
    background: #f7fbfd
}

.c-step_list .p-item01 .p-triangle:after {
    background: #f7fbfd
}

.c-step_list .p-item02 {
    z-index: 9;
    background: #eef6fb
}

.c-step_list .p-item02 .p-triangle:after {
    background: #eef6fb
}

.c-step_list .p-item03 {
    z-index: 8;
    background: #d9ebf5
}

.c-step_list .p-item03 .p-triangle:after {
    background: #d9ebf5
}

.c-step_list .p-item04 {
    z-index: 7;
    background: #b2d7eb
}

.c-step_list .p-item04 .p-triangle:after {
    background: #b2d7eb
}

.c-step_list .p-item05 {
    z-index: 6;
    background: #fff
}

.c-step_list .p-item05 .p-triangle:after {
    display: none;
    background: #fff
}

.c-step_list .p-item05 .p-content {
    padding: 60px 0;
    justify-content: center
}

.c-step_list .p-item05 .p-text {
    width: auto;
    color: #007bbe;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    font-size: 2rem
}

.c-step_list .p-content {
    display: flex;
    max-width: 1080px;
    margin: auto;
    padding: 30px;
    padding: 0 20px;
    align-items: center
}

@media screen and (min-width:769px) {
    .c-step_list .p-content {
        gap: 40px
    }
}

@media screen and (max-width:768px) {
    .c-step_list .p-content {
        flex-direction: column;
        padding: 40px 15px;
        gap: 15px
    }
}

.c-step_list .p-num {
    color: #c3cbd9;
    font-family: "DIN Alternate";
    font-weight: bold;
    text-align: left;
    line-height: .8
}

@media screen and (min-width:769px) {
    .c-step_list .p-num {
        font-size: 140px
    }
}

@media screen and (max-width:768px) {
    .c-step_list .p-num {
        font-size: 80px
    }
}

.c-step_list .p-icon .icon {
    fill: #007bbe
}

@media screen and (min-width:769px) {
    .c-step_list .p-icon .icon {
        width: 70px;
        height: 70px
    }
}

@media screen and (max-width:768px) {
    .c-step_list .p-icon .icon {
        width: 50px;
        height: 50px
    }
}

.c-step_list .p-title {
    color: #34486d;
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-weight: 900;
    text-align: left;
    line-height: 32px
}

@media screen and (min-width:769px) {
    .c-step_list .p-title {
        width: 200px
    }
}

@media screen and (max-width:768px) {
    .c-step_list .p-title {
        flex: 1
    }
}

.c-step_list .p-text {
    color: #676767;
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-weight: normal;
    text-align: left;
    line-height: 28px
}

@media screen and (max-width:768px) {
    .c-step_list .p-text {
        width: 100%
    }
}

.c-step_list .p-dot {
    border: 1px dotted #ccc
}

@media screen and (min-width:769px) {
    .c-step_list .p-dot {
        width: 180px
    }
}

@media screen and (max-width:768px) {
    .c-step_list .p-dot {
        width: 100%
    }
} */

/* .top-step {
    overflow: hidden;
    padding-top: 60px
} */

.infra-header {
    background-color: #ffffff;
    width: 100%;
    height: 80px;
    display: flex;       
    align-items: center; 
    padding: 0 65px;    
    box-sizing: border-box; 
    top: 0;
}

.infra-header img {
    width: 250px;
    height: auto;
    display: block;
}

@media screen and (max-width: 768px) {
    .infra-header {
        height: 60px;
        justify-content: flex-start; 
        padding: 0 20px; 
    }

    .infra-header img {
        width: 160px; 
    }
}

/* FV */
.l-hero {
    position: relative;
    background-color: #000
}

@media screen and (min-width:769px) {
    .l-hero {
        overflow-x: hidden;
        overflow-y: visible
    }
}

@media screen and (max-width:768px) {
    .l-hero {
        overflow-x: hidden;
        overflow-y: visible
    }
}

.l-hero .p-bg {
    position: static !important;   
    z-index: auto !important;      
    transition: none !important;      
    transition-duration: 0s !important; 
    transition-property: none !important;
    filter: none !important;       
    will-change: auto !important;     
    transform: none !important;      
}


.l-hero:after {
    display: none !important;
}


@media screen and (max-width:768px) {
    .l-hero .p-button_container {
        gap: 25px
    }
}

@media screen and (max-width:768px) {
    .l-hero .p-button_container .c-button {
        font-size: 11px;
        width: calc((100% / 2) - (25px * (2 - 1)) / 2)
    }
}

.l-hero .p-content {
    position: absolute;
    z-index: 10;
    color: #fff
}

@media screen and (min-width:769px) {
    .l-hero .p-content {
        top: 4.9375vw;
        left: 6.25vw
    }
}

@media screen and (max-width:768px) {
    .l-hero .p-content {
        top: 10vw;
        left: 0;
        width: 100%;
        padding: 0 5.3333333333vw
    }
}

.l-hero img.fv-logo{
    width: 191px;
    height: 34px;
    margin-bottom: 10px;
}

.l-hero .p-mask {
    overflow: hidden;
    font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
}

.l-hero .p-title {
    font-weight: 900;
    line-height: 1.1666666667;
    letter-spacing: -0.05em;
    font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
}

@media screen and (min-width:769px) {
    .l-hero .p-title {
        padding-bottom: 1.5625vw;
        font-size: 4.6875vw
    }
}

@media screen and (max-width:768px) {
    .l-hero .p-title {
        padding-bottom: 0px;
        font-size: 7.4666666667vw;
        font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif !important;
    }
}

.l-hero .p-title span {
    display: inline-block
}

@media screen and (min-width:769px) {
    .l-hero .p-title i {
        font-size: 3.125vw
    }
}

@media screen and (max-width:768px) {
    .l-hero .p-title i {
        font-size: 5.8666666667vw
    }
}

@media screen and (min-width:769px) {
    .l-hero .p-text {
        padding-bottom: 2.34375vw;
        font-size: 1.3rem
    }
}

@media screen and (max-width:768px) {
    .l-hero .p-text {
        padding-bottom: 8vw;
        font-size: 1.2rem
    }
}

.l-hero .p-text div:nth-child(1) {
    padding-bottom: .5em;
    font-weight: 700
}

@media screen and (min-width:769px) {
    .l-hero .p-text div:nth-child(1) {
        font-size: 2rem
    }
}

@media screen and (max-width:768px) {
    .l-hero .p-text div:nth-child(1) {
        font-size: 1.6rem
    }
}

@media screen and (min-width:769px) {
    .l-hero .p-text div:nth-child(2) {
        width: 46.875vw
    }
}


/* 機器共同利用画像インフラサービスとは */
.top-intro {
    background-color: #F1F8FC
}

.top-intro .l-inner__slash {
    flex-direction: column
}

.top-intro .p-list {
    display: flex;
    width: 100%;
    padding-bottom: 25px;
    flex-wrap: nowrap;
}

@media screen and (min-width:769px) {
    .top-intro .p-list {
        gap: 0px !important;
     }
}

@media screen and (max-width:768px) {
    .top-intro .p-list {
        flex-direction: column;
        gap: 20px
    }
}

.top-intro .p-list li {
    width: 50vw !important;
    position: relative;
    padding: 15px;
    font-weight: 500;
    text-align: left;
    font-size: 1.6rem;
    background-color: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}


.top-intro .p-list li em {
    color: #34486d;
    font-size: 1.25em;
    font-weight: 700
}

.top-intro .p-title {
    position: relative;
    z-index: 2;
    margin-bottom: 30px;
    color: #34486d;
    font-weight: 700;
    text-align: left;
    line-height: 1.4;
    letter-spacing: .02em;
    font-size: 2.4rem;
}

.top-intro .p-title strong {
    font-weight: 900;
    font-size: 3rem
}

.top-intro p{
    margin-bottom: 30px;
    font-weight: 400;
}

/* 外側を「16:9」の比率に固定 */
.top-intro .p-movie {
    position: relative;
    width: 100%;        
    padding-top: 56.25%;   /* 16:9*/
    height: 0; 
    overflow: hidden;
}

.p-movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;  
    height: 100% !important; 
}

.top-intro .iframe-wrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9の比率を維持 */
}

.top-intro .iframe-wrapper iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100% !important;
    height: 100% !important;
}

.infra-img{
    margin-top: 50px;
}


@media screen and (max-width: 768px) {
    .top-intro .p-list {
        flex-direction: column;
        text-align: center;
    }

    .top-intro .p-list li {
        width: 100% !important;
        text-align: center;
    }
        .top-intro .p-title{
        text-align: center;
    }

    .top-intro p {
        font-size: 1.6rem;
        line-height: 1.6;
        text-align: left;
        font-weight: 400;
    }

    .top-infra .p-movie {
        max-width: 100%; 
        margin: 0 auto; 
    }

    .infra-img {
        width: 326px;
        height: 340px;
        margin-top: 0px;
    }
}


/* 医療連携が抱える3つの理由 */
.top-problem {
    background-color: #ffffff;
    padding: 60px 20px 60px 20px;
    position: relative !important; 
    overflow: visible !important; 
    z-index: 1 !important;

}

.top-problem .l-inner__slash {
    flex-direction: column;
    padding-bottom: 50px;
}

.top-problem .p-title {
    position: relative;
    z-index: 2;
    margin-bottom: 30px;
    color: #34486d;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    letter-spacing: .02em;
    font-size: 2.4rem;
}

.problem-section {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.problem-container {
  max-width: 1200px;
  margin: auto;
  align-items: stretch;
}

.problem-card {
  flex: 1;
  background: #F1F8FC;
  border-radius: 20px;
  padding: 30px 15px;
  text-align: center;
  position: relative;  
  margin-top: 30px;  
  overflow: visible !important;
}

.card-header {
  background: #007bbe;
  color: #fff;
  border-radius: 50px;
  display: inline-block; 
  padding: 5px 40px;
  margin-bottom: 20px;
  margin-top: -50px !important; 
  z-index: 10; 
  font-size: 2rem;
  font-weight: 700;
}

.card-img {
    width: 100%;         
    max-width: 220px;     
    height: 150px;      
    display: block;     
    margin: 0 auto;    
}

.card-text { 
    margin-top: 20px; 
    font-size: 1.6rem;
    font-weight: 400;
}

/* 三角形 */
.p-triangle::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 100px 50vw 0 50vw;
    border-color: #ffffff #E0EAF3 transparent #E0EAF3;
    z-index: -1;

}

@media screen and (max-width: 768px) {
    .top-problem {
        padding: 40px 20px;
    }

    .top-problem .l-inner__slash {
        padding: 0px 0px 40px 0px;
    }

    .problem-section {
        width: 100%;
        flex-direction: column;
        align-items: center; 
        gap: 20px;
    }

    .problem-container {
        width: 100%;
        max-width: 400px; 
    }

    .top-problem .p-title {
        margin-bottom: 30px;
    }

    .card-header {
        padding: 5px 30px;
    }

    .p-triangle::after {
        border-width: 50px 50vw 0 50vw;
    }
}



.js-wp[data-wp=card] {
    opacity: 0;
    pointer-events: none;
    transition: 600ms ease-out;
    transition-timing-function: ease-in-out;
    transition-property: transform, opacity;
    transform: scale(0.8)
}

.js-wp[data-wp=card].is-active {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1)
}

.js-wp[data-wp=fadein] {
    opacity: 0;
    pointer-events: none;
    transition-timing-function: ease-in-out;
    transition-duration: 1200ms;
    transition-property: transform, opacity
}

.js-wp[data-wp=fadein].is-active {
    opacity: 1;
    pointer-events: auto
}

.js-wp[data-wp=fadeup] {
    opacity: 0;
    pointer-events: none;
    transition-timing-function: ease-in-out;
    transition-duration: 1200ms;
    transition-property: transform, opacity;
    transform: translateY(30px)
}

.js-wp[data-wp=fadeup].is-active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0)
}

.js-wp[data-wp=title]:before {
    opacity: 0;
    transition: 600ms ease-in-out 600ms;
    transition-property: opacity, transform;
    transform: translateX(-15px)
}

.js-wp[data-wp=title] .p-title,
.js-wp[data-wp=title] .p-title--jp {
    opacity: 0;
    transition: 600ms ease-in-out 300ms;
    transition-property: opacity, transform;
    transform: translateX(-30px)
}

.js-wp[data-wp=title]:after {
    transition: 600ms ease-in-out;
    transition-property: transform;
    transform: scaleX(0)
}

.js-wp[data-wp=title].is-active:before {
    opacity: 1;
    transform: translateX(0)
}

.js-wp[data-wp=title].is-active .p-title,
.js-wp[data-wp=title].is-active .p-title--jp {
    opacity: 1;
    transform: translateX(0px)
}

.js-wp[data-wp=title].is-active:after {
    transform: scaleX(1)
}

.a-scale-in {
    opacity: 0;
    transition: 1000ms ease-in-out;
    transition-property: opacity, transform;
    transform: scale(0)
}

.a-scale-in.is-active {
    opacity: 1;
    transform: scale(1)
}

.a-LR-in {
    opacity: 0;
    transition: 1000ms ease-in-out;
    transition-property: opacity, transform;
    transform: translateX(-30px)
}

.a-LR-in.is-active {
    opacity: 1;
    transform: translateX(0px)
}

