@charset "UTF-8";

.page-mv {
    background: url(/assets/img/bg_mv.svg) no-repeat center center;
    background-size: 180px;
    padding: 73px 0;
    margin: 40px auto
}

@media screen and (max-width: 500px) {
    .page-mv {
        background: url(/assets/img/bg_mv.svg) no-repeat center center;
        background-size: 160px
    }
}

.ttl02 {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    color: #2e66e8;
    background: url(/assets/img/bg_ttl_support.svg) no-repeat center center;
    background-size: 440px;
    padding: 12px 0
}

.ttl02.ttl_algo {
    background: url(/assets/img/bg_ttl_algo.svg) no-repeat center center;
    background-size: 540px
}

.ttl02.ttl_news {
    background: url(/assets/img/bg_ttl_news.svg) no-repeat center center;
    background-size: 240px
}

.ttl02.ttl_case {
    background: url(/assets/img/bg_ttl_case.svg) no-repeat center center;
    background-size: 440px
}

.ttl02.ttl_issue {
    background: url(/assets/img/bg_ttl_issue.svg) no-repeat center center;
    background-size: 420px
}

.ttl02.ttl_price {
    background: url(/assets/img/bg_ttl_price.svg) no-repeat center center;
    background-size: 318px
}

.ttl02.ttl_plan {
    background: url(/assets/img/bg_ttl_plan.svg) no-repeat center center;
    background-size: 322px
}

.ttl02.ttl_flow {
    background: url(/assets/img/bg_ttl_flow.svg) no-repeat center center;
    background-size: 322px
}

.link_panal .panel_bx {
    display: block;
    background: url(/assets/img/bg01.svg) no-repeat bottom right 20%, #008dff;
    background-size: 27%;
    border-radius: 20px;
    padding: 40px;
    position: relative;
    transition: .5s;
    cursor: pointer;
    margin-bottom: 40px
}

.heading1 h1,
.heading1 h2,
.heading2 h1,
.heading2 h2 {
    font-size: 40px;
    background: url(/assets/img/icon_fuki.svg) no-repeat left center, url(/assets/img/icon_fuki02.svg) no-repeat right center;
    display: inline-block;
    padding: 1% 120px
}

.box-t-column01 .lbox .title {
    line-height: 1.4;
    margin-bottom: 30px;
    font-size: 30px;
    background: url(/assets/img/icon_fuki03.svg) no-repeat left center;
    background-size: 67px auto;
    padding-left: 12%;
    font-weight: 600;
    min-height: 72px;
    display: flex;
    align-items: center
}

.box-t-column01 .rbox .box-inner {
    background: url(/assets/img/bg_fuki02.svg) no-repeat center center;
    min-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5% 15% 10%
}

.page-top .mv {
    width: 100%;
    background: url(/assets/img/bg-mv_pc.png) no-repeat;
    min-width: 1580px;
    background-size: cover;
    display: flex;
    column-gap: 40px;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    min-height: 690px
}

@media screen and (max-width: 767px) {
    .page-top .mv {
        background: url(/assets/img/bg-mv_sp.png) no-repeat 0 0px;
        background-size: 100% auto;
        padding: 0;
        min-width: auto
    }
}

.page-top .sc01 {
    padding: 140px 0 20px;
    background: url(/assets/img/bg-sc01.svg) no-repeat top center/contain, #f5f7fd
}

.page-top .sc02 {
    padding: 140px 0 100px;
    background: url(/assets/img/bg-sc02.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-top .sc02:before {
    content: "";
    position: absolute;
    top: 10%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_plateform.svg) no-repeat 0 0;
    height: 100%;
    background-size: 184px auto
}

.page-top .sc02 .box li .box-inner {
    background: url(/assets/img/bg_fuki02.svg) no-repeat center center;
    min-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10% 15%
}

.page-top .sc03 {
    padding: 200px 0 100px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-top .sc03:before {
    content: "";
    position: absolute;
    top: 20%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_customer.svg) no-repeat 0 0;
    height: 100%;
    background-size: 184px auto
}

.page-top .sc04 {
    padding: 200px 0 100px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-top .sc04:before {
    content: "";
    position: absolute;
    top: 15%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_solution.svg) no-repeat 0 0;
    height: 100%;
    background-size: 184px auto
}

.page-top .sc04 .box li {
    background: url(/assets/img/bg_fuki.svg) no-repeat center center;
    background-size: 360px auto;
    width: 25%;
    box-sizing: border-box;
    text-align: center;
    min-height: 310px;
    display: flex;
    align-items: center
}

.page-top .sc06 {
    padding: 200px 0 100px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-top .sc06:before {
    content: "";
    position: absolute;
    top: 25%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_plan.svg) no-repeat 0 0;
    height: 100%;
    background-size: 184px auto
}

.page-top .sc06 .box li {
    background: url(/assets/img/bg_fuki02.svg) no-repeat center center;
    background-size: 430px auto;
    width: 33.3333333333%;
    box-sizing: border-box;
    text-align: center;
    min-height: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.page-top .sc07 {
    padding: 200px 0 140px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-top .sc07:before {
    content: "";
    position: absolute;
    top: 25%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_info.svg) no-repeat 0 0;
    height: 100%;
    background-size: 184px auto
}

.page-platform .sc-box {
    padding: 140px 0 100px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-platform .sc-box .box01 .inner {
    background: url(/assets/img/icon_hatena.svg) no-repeat left center;
    background-size: 118px auto;
    padding-left: 15%
}

.page-platform .list-box li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: url(/assets/img/icon_bg_maru.svg) no-repeat center center;
    background-size: 100% auto;
    width: 25%;
    min-height: 290px;
    box-sizing: border-box;
    text-align: center
}

.page-solution .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-solution .sc-box .box03 li {
    background: url(/assets/img/bg_fuki.svg) no-repeat center center;
    background-size: 290px auto;
    width: 20%;
    box-sizing: border-box;
    text-align: center;
    min-height: 240px;
    display: flex;
    align-items: center
}

.page-solution-pharmaceutical .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-solution-pharmaceutical .sc-box .box li {
    width: 25%;
    background: url(/assets/img/bg_fuki02.svg) no-repeat center center;
    background-size: 100% auto;
    min-height: 300px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.page-cs .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-case .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-case .article .ttl-case {
    font-size: 24px;
    line-height: 1.6;
    background: url(/assets/img/icon_fuki03.svg) no-repeat left center;
    background-size: 50px auto;
    padding-left: 7%;
    margin-bottom: 55px
}

.page-case .article .sc_index .tab:after {
    width: 30px;
    height: 100%;
    background: url(/assets/img/arrow-right-regular.svg) no-repeat center center, #008dff;
    background-size: 14px;
    display: block;
    content: "";
    position: absolute;
    right: 0;
    top: 0
}

.page-qa .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.details-summary {
    position: relative;
    display: block;
    color: #2e66e8;
    font-size: 20px;
    font-weight: 700;
    background: url(/assets/img/icon_q.svg) no-repeat left center;
    background-size: 30px;
    padding: 0 46px
}

@media screen and (max-width: 960px) {
    .details-summary {
        background: url(/assets/img/icon_q.svg) no-repeat left top 0px;
        background-size: 30px;
        min-height: 30px;
        line-height: 1.4;
        font-size: 18px;
        padding: 0 40px
    }
}

.details-content {
    margin-top: 30px;
    background: url(/assets/img/icon_a.svg) no-repeat left top;
    background-size: 30px;
    padding: 0 46px;
    font-size: 16px
}

.page-info .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-contact .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-download .sc-box,
.page-webinar .sc-box,
.page-thanks .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.page-download .documentItem-title,
.page-webinar .documentItem-title,
.page-thanks .documentItem-title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
    background: url(/assets/img/icon_fuki03.svg) no-repeat left center;
    background-size: 50px auto;
    padding-left: 7%;
    min-height: 55px;
    display: flex;
    align-items: center
}

.box-casestudy {
    padding: 160px 0 80px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

.box-casestudy:before {
    content: "";
    position: absolute;
    top: 20%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_casestudy.svg) no-repeat 0 0;
    height: 100%;
    min-height: 1280px;
    background-size: 184px auto
}

@media (min-width: 768px) and (max-width: 1024px) {
    .wrap {
        margin: 0 20px
    }

    .sc-box {
        padding-top: 90px !important
    }

    .page-top .sc07 {
        padding: 100px 0
    }

    .page-top .mv {
        aspect-ratio: 16/9;
        min-height: auto
    }

    .page-top .mv {
        padding: 0;
        min-width: auto
    }

    .page-top .mv .c_l {
        padding: 0 auto 0 7%
    }

    .page-top .mv .c_l .copy-sub {
        font-size: 35px
    }

    .page-top .mv .c_l .copy {
        font-size: 36px
    }

    .page-top .mv .c_l .copy-sub2 {
        font-size: 23px;
        margin-bottom: 2rem
    }

    .page-top .mv .c_l .mv-btn {
        margin: 90px auto 0
    }

    .page-top .sc01 .box li a {
        width: 100%;
        font-size: 21px
    }

    .page-top .sc02 .box .txt {
        padding: 0 10%
    }

    .page-top .sc02 {
        padding: 90px 0 100px
    }

    .page-top .sc02 .box li .box-inner {
        background-size: 110% auto;
        min-height: 360px;
        padding: 0% 15% 10%
    }

    .page-top .sc04 .box li {
        background-size: 107% auto;
        width: 50%;
        min-height: 450px
    }

    .page-top .sc06 .box li {
        background-size: 110% auto;
        min-height: 250px
    }

    .page-top .sc06 .box li .sub-title {
        font-size: 16px;
        min-height: 110px;
        padding: 60px 50px 0
    }

    .page-top .sc06 .box li .sub-txt {
        padding: 0 30px 40px;
        font-size: 14px
    }

    .page-top .sc06 .box li:not(:first-child) .sub-title {
        padding-top: 68px
    }

    .page-platform .heading1,
    .page-platform .heading2 {
        margin-bottom: 40px
    }

    .box-t-column01 .lbox .title {
        padding-left: 80px;
        font-size: 26px
    }

    .box-t-column01 .rbox .box-inner {
        background: url(/assets/img/bg_fuki02.svg) no-repeat center center;
        background-size: auto 70%;
        min-height: 450px
    }

    .page-platform .sc-box .box01 {
        margin-bottom: 40px
    }

    .page-platform .sc-box .box01 .inner {
        padding-left: 20%
    }

    .box-t-column01 {
        gap: 20px
    }

    .box-t-column01 .lbox {
        width: 60%
    }

    .box-t-column01 .rbox {
        width: 35%
    }

    .btn-box li a {
        width: 100%
    }

    .page-solution .sc-box .box03 li {
        width: 50%;
        background-size: 390px auto;
        min-height: 320px;
        justify-content: center
    }

    .page-solution .sc-box .box03 li p .sub-txt {
        padding: 0 27%;
        font-size: 18px
    }

    .page-solution .sc-box .box03 li p {
        padding: 0 25px;
        font-size: 22px
    }

    .page-solution-pharmaceutical .sc-box .box02 .inner.usa .info-list li {
        width: 75%
    }

    .page-solution-pharmaceutical .sc-box .box02 .source-info .source-title {
        font-size: 21px
    }

    .page-solution-pharmaceutical .sc-box .box02 .info-list li {
        font-size: 16px;
        width: 46%
    }

    .page-solution-pharmaceutical .box-t-column01 .lbox .txt-sub {
        margin: 40px 0 0
    }

    .page-download .documentItem-title,
    .page-webinar .documentItem-title,
    .page-thanks .documentItem-title {
        padding-left: 14%
    }

    .box-usage-example li .tit,
    a.c-btn-download-v2 {
        font-size: 18px
    }

    .page-solution-pharmaceutical .sc-box .box li {
        background-size: 115% auto
    }

    .page-solution-pharmaceutical .sc-box .box li a {
        padding: 0 7% 20px;
        font-size: 15px
    }

    .page-solution-pharmaceutical .sc-box .btnwrap {
        max-width: 90%
    }

    .page-solution-pharmaceutical .sc-box .box02 .country-header .service-status {
        font-size: 16px
    }

    .page-solution-pharmaceutical .box-t-column01 .lbox.w-100 .title {
        padding-left: 12%
    }

    .page-cs .box01 {
        padding: 50px 30px
    }

    .page-cs .figure-list li {
        font-size: 18px
    }

    .footer01 .panal {
        gap: 3% !important
    }

    .footer01 .panal .panel_bx {
        padding: 30px 20% 30px 20px !important
    }

    .footer01 .panal .arrow {
        right: 18px !important;
        width: 40px !important
    }

    .footer01 .navwrap {
        flex-direction: column;
        gap: 20px
    }

    .footer01 .navwrap .c_r {
        flex-direction: column;
        width: 70%
    }

    .footer01 .navwrap .c_r ul {
        flex-wrap: wrap
    }

    .footer01 .navwrap .c_l {
        margin-bottom: 30px
    }

    .footer01 .panal .wrap {
        margin: 0
    }

    .footer01 .navwrap .c_r {
        gap: 10px !important
    }
}

.footer01 .navwrap .c_r ul .outlink:hover:after {
    background: url(/assets/img/icon_outlink_green.svg) no-repeat right center;
    background-size: contain
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700
}

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

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

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

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

@media print {
    body {
        background: none !important;
        color: #000;
        font-size: 10pt
    }

    a[rel=bookmark]:link:after,
    a[rel=bookmark]:visited:after {
        content: " [" attr(href) "] "
    }
}

main {
    display: block
}

img {
    display: block;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: auto
}

picture {
    display: block
}

.lay_l {
    max-width: 1400px;
    width: 90%;
    margin: 0 auto;
    text-align: left
}

@media screen and (max-width: 767px) {
    .lay_l {
        width: 95%
    }
}

.lay_m {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    text-align: left
}

@media screen and (max-width: 767px) {
    .lay_m {
        width: 95%
    }
}

.lay_s {
    max-width: 1040px;
    width: 90%;
    margin: 0 auto;
    text-align: left
}

@media screen and (max-width: 767px) {
    .lay_s {
        width: 95%
    }
}

.pc {
    display: block
}

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

.sp {
    display: none
}

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

.spmin {
    display: none
}

@media screen and (max-width: 450px) {
    .spmin {
        display: block
    }
}

.hv {
    display: inline-block
}

.hv:hover {
    opacity: .8
}

body {
    line-height: 1.8;
    font-size: 16px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-family: Noto Sans JP, sans-serif;
    font-weight: 400;
    letter-spacing: .5px;
    text-rendering: optimizeLegibility;
    color: #333;
    text-align: justify;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal
}

@media screen and (max-width: 767px) {
    body {
        font-size: 14px
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.grid {
    display: grid
}

.grid_justify {
    justify-content: center
}

.grid_align {
    align-content: center
}

.gridG_10 {
    grid-gap: 10px
}

.gridG_20 {
    grid-gap: 20px
}

.gridG_30 {
    grid-gap: 30px
}

@media screen and (max-width: 767px) {
    .gridG_30 {
        grid-gap: 15px
    }
}

.gridG_40 {
    grid-gap: 40px
}

@media screen and (max-width: 767px) {
    .gridG_40 {
        grid-gap: 20px
    }
}

.gridG_50 {
    grid-gap: 50px
}

.gridG_60 {
    grid-gap: 60px
}

.gridR_1 {
    grid-template-rows: repeat(1, minmax(60px, 1fr))
}

.gridR_2 {
    grid-template-rows: repeat(2, minmax(60px, 1fr))
}

.gridR_3 {
    grid-template-rows: repeat(3, minmax(60px, 1fr))
}

.gridR_4 {
    grid-template-rows: repeat(4, minmax(60px, 1fr))
}

.gridC_1 {
    grid-template-columns: repeat(1, minmax(200px, 1fr))
}

.gridC_2 {
    grid-template-columns: repeat(2, minmax(200px, 1fr))
}

@media screen and (max-width: 767px) {
    .gridC_2 {
        grid-template-columns: inherit
    }
}

.gridC_3 {
    grid-template-columns: repeat(3, minmax(200px, 1fr))
}

.gridC_4 {
    grid-template-columns: repeat(4, minmax(200px, 1fr))
}

.gridC_5 {
    grid-template-columns: repeat(5, minmax(200px, 1fr))
}

.gridC_6 {
    grid-template-columns: repeat(6, minmax(200px, 1fr))
}

.gridC_7 {
    grid-template-columns: repeat(7, minmax(200px, 1fr))
}

.gridC_8 {
    grid-template-columns: repeat(8, minmax(200px, 1fr))
}

.gridC_9 {
    grid-template-columns: repeat(9, minmax(200px, 1fr))
}

.gridC_10 {
    grid-template-columns: repeat(10, minmax(200px, 1fr))
}

.gridC_11 {
    grid-template-columns: repeat(11, minmax(200px, 1fr))
}

.gridC_12 {
    grid-template-columns: repeat(12, minmax(200px, 1fr))
}

@media screen and (max-width: 1039px) {
    .gridC_tab_1 {
        grid-template-columns: repeat(1, 1fr)
    }

    .gridC_tab_2 {
        grid-template-columns: repeat(2, 1fr)
    }

    .gridC_tab_3 {
        grid-template-columns: repeat(3, 1fr)
    }

    .gridC_tab_4 {
        grid-template-columns: repeat(4, 1fr)
    }

    .gridC_tab_5 {
        grid-template-columns: repeat(5, 1fr)
    }

    .gridC_tab_6 {
        grid-template-columns: repeat(6, 1fr)
    }

    .gridC_tab_7 {
        grid-template-columns: repeat(7, 1fr)
    }

    .gridC_tab_8 {
        grid-template-columns: repeat(8, 1fr)
    }
}

@media screen and (max-width: 767px) {
    .gridC_sp_1 {
        grid-template-columns: repeat(1, minmax(100px, 1fr))
    }

    .gridC_sp_2 {
        grid-template-columns: repeat(2, minmax(100px, 1fr))
    }

    .gridC_sp_3 {
        grid-template-columns: repeat(3, minmax(100px, 1fr))
    }

    .gridC_sp_4 {
        grid-template-columns: repeat(4, minmax(100px, 1fr))
    }
}

.gridC_11_1 {
    grid-template-columns: 1fr 8%
}

.gridC_10_2 {
    grid-template-columns: 1fr 16%
}

.gridC_9_3 {
    grid-template-columns: 1fr 24%
}

.gridC_8_4 {
    grid-template-columns: 1fr 32%
}

.gridC_7_5 {
    grid-template-columns: 1fr 40%
}

.gridC_6_6 {
    grid-template-columns: 50% 50%
}

.gridC_5_7 {
    grid-template-columns: 40% 1fr
}

.gridC_4_8 {
    grid-template-columns: 32% 1fr
}

.gridC_3_9 {
    grid-template-columns: 24% 1fr
}

.gridC_2_10 {
    grid-template-columns: 16% 1fr
}

.gridC_1_11 {
    grid-template-columns: 8% 1fr
}

.flex {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch
}

@media screen and (max-width: 767px) {
    .flex {
        justify-content: space-around
    }
}

.flex_rv {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch
}

@media screen and (max-width: 767px) {
    .flex_rv {
        justify-content: space-around
    }
}

.flex_ct {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center
}

@media screen and (max-width: 767px) {
    .flex_ct {
        justify-content: space-around
    }
}

.flex_col2>* {
    width: 48%
}

@media screen and (max-width: 767px) {
    .flex_col2>* {
        width: 100%;
        margin-bottom: 40px
    }

    .flex_col2>*:last-of-type {
        margin-bottom: 0
    }
}

.flex_col3>* {
    width: 30%
}

@media screen and (max-width: 1039px) {
    .flex_col3>* {
        width: 45%;
        margin-bottom: 40px
    }

    .flex_col3>*:last-of-type {
        margin-bottom: 0
    }
}

@media screen and (max-width: 767px) {
    .flex_col3>* {
        width: 100%;
        margin-bottom: 40px
    }

    .flex_col3>*:last-of-type {
        margin-bottom: 0
    }
}

a,
a:link,
a:active,
a:visited {
    text-decoration: none;
    outline: none;
    color: #333
}

a:hover,
a:active {
    outline: 0
}

i {
    color: #333;
    padding-right: 10px;
    box-sizing: border-box
}

.serif {
    font-family: Times New Roman, 游明朝, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, 小塚明朝 ProN, メイリオ, Meiryo, serif
}

.tri {
    width: 0;
    height: 0;
    border: 80px solid transparent;
    border-top: 60px solid #fe6601;
    display: block;
    margin: 0 auto
}

@media screen and (max-width: 767px) {
    .tri {
        border: 60px solid transparent;
        border-top: 40px solid #fe6601
    }
}

.bold {
    font-weight: 700
}

.thin {
    font-weight: 100
}

.txt-c {
    text-align: center
}

.txt-r {
    text-align: right
}

.txt-l {
    text-align: left
}

.txtbox p {
    margin-bottom: 20px
}

.txtbox p:last-of-type {
    margin-bottom: 0
}

.centering {
    position: relative
}

.centering_in {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translate(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%)
}

.frame {
    box-shadow: 0 0 10px #ccc
}

.mapwrap {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative
}

.mapwrap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%
}

.videowrap {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    margin: 0 auto 50px;
    text-align: center
}

.videowrap iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.word {
    word-break: keep-all;
    line-break: strict;
    word-wrap: break-word;
    overflow-wrap: break-word
}

.header {
    width: 100%;
    position: fixed;
    top: 0;
    padding: 21px 3%;
    display: flex;
    justify-content: space-around;
    column-gap: 20px;
    align-items: center;
    z-index: 1000;
    transition: background .3s ease
}

@media screen and (max-width: 1500px) {
    .header {
        padding: 16px 1.5% 14px
    }
}

@media screen and (max-width: 1039px) {
    .header {
        padding: 15px 10px;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 70px
    }
}

@media screen and (max-width: 1180px) {
    .header {
        justify-content: space-between
    }
}

.header .header.scrolled {
    background: transparent
}

.header .logo {
    width: 274px
}

@media screen and (max-width: 1430px) {
    .header .logo {
        width: 180px
    }
}

@media screen and (max-width: 1430px) {
    .header .logo {
        width: 160px
    }
}

@media screen and (max-width: 1200px) {
    .header .logo {
        width: 160px
    }
}

@media screen and (max-width: 1180px) {
    .header .logo {
        width: 160px
    }
}

.header .logo.none {
    display: none
}

.header .nav_pc {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    column-gap: 25px
}

@media screen and (max-width: 1180px) {
    .header .nav_pc {
        display: none
    }
}

.header .nav_pc .nav01 {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
    padding-bottom: 5px
}

.header .nav_pc .nav01 .link {
    font-size: 16px;
    color: #2e66e8;
    transition: .5s;
    font-weight: 600
}

.header .nav_pc .nav01 .link:hover {
    text-decoration: underline;
    text-underline-offset: 4px
}

.header .nav_pc .nav02 {
    flex-shrink: 0;
    display: flex;
    gap: 15px;
    align-items: baseline
}

.header .nav_pc .nav02 a {
    min-height: 45px;
    font-weight: 600
}

.header .nav_sp {
    display: none
}

@media screen and (max-width: 1180px) {
    .header .nav_sp {
        display: block
    }
}

.header .nav_sp .navbtn_wrap {
    display: none;
    position: fixed;
    top: 23px;
    right: 14px
}

@media screen and (max-width: 1180px) {
    .header .nav_sp .navbtn_wrap {
        display: block
    }
}

.header .nav_sp .nav_btn {
    position: relative;
    width: 30px;
    height: 24px;
    cursor: pointer
}

.header .nav_sp .nav_btn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #008dff;
    border-radius: 2px
}

.header .nav_sp .nav_btn span:nth-of-type(1) {
    top: 0;
    -webkit-animation: btn07-bar01 .75s forwards;
    animation: btn07-bar01 .75s forwards
}

.header .nav_sp .nav_btn span:nth-of-type(2) {
    top: 10px
}

.header .nav_sp .nav_btn span:nth-of-type(3) {
    bottom: 0
}

.header .nav_sp .nav_btn,
.header .nav_sp .nav_btn span {
    display: inline-block;
    transition: all .5s;
    box-sizing: border-box
}

@-webkit-keyframes btn07-bar01 {
    0% {
        -webkit-transform: translateY(12px) rotate(45deg)
    }

    50% {
        -webkit-transform: translateY(12px) rotate(0)
    }

    to {
        -webkit-transform: translateY(0) rotate(0)
    }
}

@keyframes btn07-bar01 {
    0% {
        transform: translateY(12px) rotate(45deg)
    }

    50% {
        transform: translateY(12px) rotate(0)
    }

    to {
        transform: translateY(0) rotate(0)
    }
}

.header .nav_sp .nav_btn span:nth-of-type(2) {
    transition: all .25s .25s;
    opacity: 1
}

.header .nav_sp .nav_btn span:nth-of-type(3) {
    -webkit-animation: btn07-bar03 .75s forwards;
    animation: btn07-bar03 .75s forwards
}

@-webkit-keyframes btn07-bar03 {
    0% {
        -webkit-transform: translateY(-11px) rotate(-45deg)
    }

    50% {
        -webkit-transform: translateY(-11px) rotate(0)
    }

    to {
        -webkit-transform: translateY(0) rotate(0)
    }
}

@keyframes btn07-bar03 {
    0% {
        transform: translateY(-11px) rotate(-45deg)
    }

    50% {
        transform: translateY(-11px) rotate(0)
    }

    to {
        transform: translateY(0) rotate(0)
    }
}

.header .nav_sp .nav_btn.active span:nth-of-type(1) {
    -webkit-animation: active-btn07-bar01 .75s forwards;
    animation: active-btn07-bar01 .75s forwards
}

@-webkit-keyframes active-btn07-bar01 {
    0% {
        -webkit-transform: translateY(0) rotate(0)
    }

    50% {
        -webkit-transform: translateY(12px) rotate(0)
    }

    to {
        -webkit-transform: translateY(12px) rotate(45deg)
    }
}

@keyframes active-btn07-bar01 {
    0% {
        transform: translateY(0) rotate(0)
    }

    50% {
        transform: translateY(12px) rotate(0)
    }

    to {
        transform: translateY(12px) rotate(45deg)
    }
}

.header .nav_sp .nav_btn.active span:nth-of-type(2) {
    opacity: 0
}

.header .nav_sp .nav_btn.active span:nth-of-type(3) {
    -webkit-animation: active-btn07-bar03 .75s forwards;
    animation: active-btn07-bar03 .75s forwards
}

@-webkit-keyframes active-btn07-bar03 {
    0% {
        -webkit-transform: translateY(0) rotate(0)
    }

    50% {
        -webkit-transform: translateY(-11px) rotate(0)
    }

    to {
        -webkit-transform: translateY(-11px) rotate(-45deg)
    }
}

@keyframes active-btn07-bar03 {
    0% {
        transform: translateY(0) rotate(0)
    }

    50% {
        transform: translateY(-11px) rotate(0)
    }

    to {
        transform: translateY(-11px) rotate(-45deg)
    }
}

.header .nav_sp .navwrap {
    display: none;
    width: 100vw;
    height: calc(100dvh - 70px);
    background: #f7f7f7;
    position: fixed;
    top: 70px;
    left: 0;
    overflow-y: scroll
}

.header .nav_sp .navwrap.open {
    display: block;
    animation: menufadein .5s ease-in-out 0s 1 forwards
}

.header .nav_sp .navwrap .btnwrap {
    padding: 40px 5% 10px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    max-width: 640px;
    margin: 0 auto
}

.header .nav_sp .navwrap .btnwrap a {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    padding-top: 11px !important;
    padding-bottom: 12px !important
}

.header .nav_sp .navwrap .btnwrap a:last-of-type {
    margin-bottom: 0
}

.header .nav_sp .navwrap .btn-bottom {
    padding: 0 5% 40px
}

.header .nav_sp .navwrap ul {
    padding: 60px 5% 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    max-width: 640px;
    margin: 0 auto
}

@media screen and (max-width: 767px) {
    .header .nav_sp .navwrap ul {
        padding: 30px 5% 20px
    }
}

.header .nav_sp .navwrap li {
    width: 100%;
    border-left: 1px solid #008DFF;
    padding: 18px 20px;
    position: relative;
    background-color: #fff;
    margin-bottom: 20px
}

@media screen and (max-width: 767px) {
    .header .nav_sp .navwrap li {
        padding: 14px 20px
    }
}

.header .nav_sp .navwrap li a {
    padding: 15px 0;
    display: block;
    font-size: 16px;
    line-height: 1
}

@media screen and (max-width: 767px) {
    .header .nav_sp .navwrap li a {
        padding: 10px 0;
        font-size: 16px
    }
}

.header .nav_sp .navwrap li a span {
    display: block;
    font-family: serif;
    font-size: 12px;
    line-height: 1;
    margin-top: 6px
}

@media screen and (max-width: 767px) {
    .header .nav_sp .navwrap li a span {
        font-size: 10px
    }
}

.header .nav_sp .navwrap li:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    width: 10px;
    height: 10px
}

.header .nav_sp .navwrap li.btn {
    width: 90%;
    margin-top: 60px;
    background: #e60000
}

.header .nav_sp .navwrap li.btn a {
    color: #fff
}

.header .nav_sp .navwrap li.btn_2 {
    width: 90%;
    margin-top: 20px;
    background: #e60000
}

.header .nav_sp .navwrap li.btn_2 a {
    color: #fff
}

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

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

.header.is-fixed {
    background: #fffffff2;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    transition: background .3s ease
}

@media screen and (max-width: 1039px) {
    .header.is-fixed {
        background: #fffffffa
    }
}

.header a.c-btn-white {
    font-size: 16px;
    display: flex;
    align-items: center;
    padding: 7px 35px 8px 25px;
    color: #2e66e8
}

.header a.c-btn-white:before {
    padding: 2px;
    background: #008dff
}

.header a.c-btn-white:hover {
    background: #2d8dff
}

.header a.c-btn-white .arrow {
    margin-top: -15px;
    right: 3%;
    width: 16px;
    padding: 8px 7px
}

.header a.icon-capsule {
    padding: 7px 20px 8px 53px !important;
    font-size: 18px !important;
    min-width: 164px
}

.header a.icon-capsule .arrow {
    left: 10% !important;
    right: auto;
    width: 10px !important;
    margin-top: -19px !important
}

.header .btn02 {
    padding: 10px 50px 10px 24px
}

.header .btn02 .arrow {
    top: 7px
}

@media screen and (max-width: 767px) {
    .header .btn02 .arrow {
        top: 9px
    }
}

.header .c-btn-download {
    font-size: 16px;
    padding: 0 50px 0 24px;
    display: flex;
    align-items: center
}

.header .c-btn-download:before {
    display: none
}

.header .c-btn-download:hover:before {
    display: block;
    padding: 2px
}

.header .c-btn-download .arrow {
    margin-top: -15px;
    right: 3%;
    width: 30px
}

@media screen and (max-width: 1725px) {
    .header .nav_pc .nav01 .link {
        font-size: 13px
    }

    .header a.icon-capsule {
        padding: 7px 10px 8px 40px !important;
        font-size: 15px !important;
        min-width: 120px
    }

    .header a.c-btn-white {
        padding: 7px 35px 8px 25px;
        font-size: 14px
    }

    .header .c-btn-download {
        font-size: 14px;
        padding: 0 42px 0 15px
    }

    .header .nav_pc .nav01 {
        gap: 0 10px
    }
}

@media screen and (max-width: 1430px) {
    .header .nav_pc .nav01 {
        gap: 0 10px
    }

    .header .nav_pc .nav01 .link {
        font-size: 12px
    }

    .header .nav_pc .nav02 {
        gap: 10px
    }

    .header .nav_pc .nav02 a {
        min-height: 35px
    }

    .header a.icon-capsule {
        padding: 5px 12px 7px 26px !important;
        font-size: 12px !important;
        min-width: 90px
    }

    .header a.icon-capsule .arrow {
        width: 7px !important;
        left: 7% !important;
        margin-top: -16px !important
    }

    .header a.c-btn-white {
        padding: 5px 26px 7px 12px;
        font-size: 12px
    }

    .header a.c-btn-white .arrow {
        width: 13px
    }

    .header .c-btn-download {
        font-size: 12px;
        padding: 0 38px 0 12px
    }

    .header .c-btn-download .arrow {
        margin-top: -14px;
        right: 3.3%;
        width: 26px
    }
}

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

    .header .nav_sp .navwrap .btnwrap,
    .header .nav_sp .navwrap ul {
        max-width: 100%
    }
}

html {
    scroll-padding-top: 80px;
    scroll-behavior: auto
}

.bread {
    font-size: 12px;
    display: flex;
    justify-content: right;
    padding: 20px 2.5%;
    line-height: 1
}

@media screen and (max-width: 767px) {
    .bread {
        font-size: 10px
    }
}

.bread li:not(:last-child) {
    flex-shrink: 0
}

.bread span {
    flex-shrink: 0
}

.bread li a span {
    display: block;
    transition: .5s;
    color: #2e66e8
}

.bread li a span:hover {
    opacity: .8;
    text-decoration: underline
}

.fix {
    pointer-events: none
}

.fix .header {
    pointer-events: all
}

.font-mon {
    font-family: Montserrat, sans-serif
}

.page-mv {
    background: url(/assets/img/bg_mv.svg) no-repeat center center;
    background-size: 180px;
    padding: 73px 0;
    margin: 40px auto
}

@media screen and (max-width: 1039px) {
    .page-mv {
        margin: 120px auto 40px
    }
}

@media screen and (max-width: 500px) {
    .page-mv {
        background: url(/assets/img/bg_mv.svg) no-repeat center center;
        background-size: 160px
    }
}

.page-mv .eng {
    font-family: Montserrat, sans-serif;
    font-size: 20px;
    text-align: center;
    color: #00c0a2;
    line-height: 1;
    margin-bottom: 16px;
    margin-top: -20px
}

@media screen and (max-width: 500px) {
    .page-mv .eng {
        font-size: 18px
    }
}

.page-mv .pagettl {
    text-align: center;
    color: #2e66e8;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 4px
}

@media screen and (max-width: 500px) {
    .page-mv .pagettl {
        font-size: 34px
    }
}

.ttl01 {
    border-left: 6px solid;
    border-image: linear-gradient(to bottom, #4f45ff, #00c8ff) 1;
    padding: 6px 0 6px 20px
}

.ttl01 .eng {
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    color: #c5c7dd;
    line-height: 1;
    letter-spacing: 4px;
    margin-bottom: 10px
}

@media screen and (max-width: 1039px) {
    .ttl01 .eng {
        font-size: 14px
    }
}

.ttl01 .ttl {
    color: #2e66e8;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 2px
}

@media screen and (max-width: 1039px) {
    .ttl01 .ttl {
        font-size: 26px
    }
}

@media screen and (max-width: 500px) {
    .ttl01 .ttl {
        font-size: 6vw
    }
}

.ttl02 {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    color: #2e66e8;
    background: url(/assets/img/bg_ttl_support.svg) no-repeat center center;
    background-size: 440px;
    padding: 12px 0
}

@media screen and (max-width: 800px) {
    .ttl02 {
        background-size: 300px;
        font-size: 28px
    }
}

.ttl02.ttl_algo {
    background: url(/assets/img/bg_ttl_algo.svg) no-repeat center center;
    background-size: 540px
}

@media screen and (max-width: 800px) {
    .ttl02.ttl_algo {
        background-size: 80%;
        font-size: 26px
    }
}

@media screen and (max-width: 540px) {
    .ttl02.ttl_algo {
        background-size: 100%;
        font-size: 6vw
    }
}

.ttl02.ttl_news {
    background: url(/assets/img/bg_ttl_news.svg) no-repeat center center;
    background-size: 240px
}

@media screen and (max-width: 800px) {
    .ttl02.ttl_news {
        background-size: 200px;
        font-size: 26px
    }
}

.ttl02.ttl_case {
    background: url(/assets/img/bg_ttl_case.svg) no-repeat center center;
    background-size: 440px
}

@media screen and (max-width: 800px) {
    .ttl02.ttl_case {
        background-size: 90%;
        font-size: 26px
    }
}

.ttl02.ttl_issue {
    background: url(/assets/img/bg_ttl_issue.svg) no-repeat center center;
    background-size: 420px
}

@media screen and (max-width: 800px) {
    .ttl02.ttl_issue {
        background-size: 300px;
        font-size: 26px
    }
}

@media screen and (max-width: 420px) {
    .ttl02.ttl_issue {
        background-size: 260px;
        font-size: 6vw
    }
}

.ttl02.ttl_price {
    background: url(/assets/img/bg_ttl_price.svg) no-repeat center center;
    background-size: 318px
}

@media screen and (max-width: 800px) {
    .ttl02.ttl_price {
        background-size: 300px;
        font-size: 26px
    }
}

@media screen and (max-width: 420px) {
    .ttl02.ttl_price {
        background-size: 260px;
        font-size: 6vw
    }
}

.ttl02.ttl_plan {
    background: url(/assets/img/bg_ttl_plan.svg) no-repeat center center;
    background-size: 322px
}

@media screen and (max-width: 800px) {
    .ttl02.ttl_plan {
        background-size: 300px;
        font-size: 26px
    }
}

@media screen and (max-width: 420px) {
    .ttl02.ttl_plan {
        background-size: 260px;
        font-size: 6vw
    }
}

.ttl02.ttl_flow {
    background: url(/assets/img/bg_ttl_flow.svg) no-repeat center center;
    background-size: 322px
}

@media screen and (max-width: 800px) {
    .ttl02.ttl_flow {
        background-size: 300px;
        font-size: 26px
    }
}

@media screen and (max-width: 420px) {
    .ttl02.ttl_flow {
        background-size: 260px;
        font-size: 6vw
    }
}

.ttl02.ttl_links {
    background: initial
}

.jost {
    font-family: Jost, sans-serif
}

a.btn01 {
    font-size: 14px;
    text-align: center;
    background: linear-gradient(to right, #00c8ff, #4f45ff);
    color: #fff;
    padding: 14px 24px;
    border-radius: 30px;
    transition: .5s
}

a.btn01:hover {
    background: #deefff;
    color: #2e66e8
}

a.btn02 {
    font-size: 18px;
    text-align: center;
    background: #fff;
    border: 2px solid #008DFF;
    color: #2e66e8;
    padding: 9px 50px 8px 24px;
    box-sizing: border-box;
    border-radius: 30px;
    transition: .5s;
    position: relative;
    line-height: 1
}

@media screen and (max-width: 767px) {
    a.btn02 {
        padding: 15px 50px 15px 24px !important
    }
}

a.btn02:hover {
    background: #008dff;
    color: #fff
}

a.btn02:hover .arrow .kon {
    display: none
}

a.btn02:hover .arrow .wh {
    display: block
}

a.btn02 .arrow {
    position: absolute;
    top: 5px;
    right: 7px;
    width: 31px
}

a.btn02 .arrow .kon {
    transition: .5s
}

a.btn02 .arrow .wh {
    display: none;
    transition: .5s
}

a.btn03 {
    font-size: 14px;
    text-align: center;
    background: linear-gradient(to right, #ff8900, #ffa841 80%);
    color: #fff;
    padding: 14px 50px;
    border-radius: 30px;
    transition: .5s;
    border: 1px solid transparent
}

a.btn03:hover {
    background: #fff;
    border: 1px solid #FF8900;
    color: #ff8900
}

a.btn04 {
    font-size: 14px;
    text-align: left;
    background: linear-gradient(to right, #00c8ff, #4f45ff);
    color: #fff;
    padding: 14px 70px 14px 24px;
    border-radius: 30px;
    transition: .5s;
    position: relative;
    font-weight: 700
}

a.btn04:hover {
    background: #deefff;
    color: #2e66e8
}

a.btn04:hover .arrow {
    background: #008dff
}

a.btn04:hover .arrow .kon {
    display: none
}

a.btn04:hover .arrow .wh {
    display: block
}

a.btn04 .arrow {
    position: absolute;
    top: 10px;
    right: 14px;
    width: 12px;
    background: #fff;
    border-radius: 50%;
    padding: 8px 7px;
    transition: .5s
}

a.btn04 .arrow .kon {
    transition: .5s
}

a.btn04 .arrow .wh {
    display: none;
    transition: .5s
}

a.c-btn {
    font-size: 25px;
    font-weight: 600;
    text-align: center;
    background: linear-gradient(to right, #00c8ff, #4f45ff);
    color: #fff;
    padding: 15px 50px 15px 24px;
    border-radius: 50px;
    transition: .5s;
    position: relative;
    display: inline-block;
    width: 100%;
    line-height: 1.6
}

@media screen and (max-width: 767px) {
    a.c-btn {
        font-size: 16px
    }
}

a.c-btn:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 5px;
    background: linear-gradient(to right, #4f45ff, #00c8ff);
    border-radius: 50px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude
}

a.c-btn:hover {
    background: #deefff;
    color: #2e66e8
}

a.c-btn:hover .arrow .kon {
    display: none
}

a.c-btn:hover .arrow .wh {
    display: block
}

a.c-btn .arrow {
    position: absolute;
    top: 50%;
    margin-top: -16px;
    right: 3%;
    width: 18px;
    padding: 8px 7px;
    transition: .5s
}

a.c-btn .arrow .kon {
    transition: .5s
}

a.c-btn .arrow .wh {
    display: none;
    transition: .5s
}

a.c-btn-reverse {
    font-size: 25px;
    text-align: center;
    background: linear-gradient(to right, #00c8ff, #4f45ff);
    color: #fff;
    padding: 15px 50px 15px 24px;
    border-radius: 50px;
    transition: .5s;
    position: relative;
    display: inline-block;
    width: 100%;
    line-height: 1.6
}

@media screen and (max-width: 767px) {
    a.c-btn-reverse {
        font-size: 16px
    }
}

a.c-btn-reverse:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 5px;
    background: linear-gradient(to right, #4f45ff, #00c8ff);
    border-radius: 50px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude
}

a.c-btn-reverse:hover {
    background: #fff;
    color: #2e66e8
}

a.c-btn-reverse:hover .arrow .kon {
    display: none
}

a.c-btn-reverse:hover .arrow .wh {
    display: block
}

a.c-btn-reverse .arrow {
    position: absolute;
    top: 50%;
    margin-top: -16px;
    right: 3%;
    width: 18px;
    padding: 8px 7px;
    transition: .5s
}

a.c-btn-reverse .arrow .kon {
    transition: .5s
}

a.c-btn-reverse .arrow .wh {
    display: none;
    transition: .5s
}

a.c-btn-white {
    font-size: 25px;
    text-align: center;
    background: #fff;
    color: #000;
    font-weight: 600;
    padding: 15px 50px 15px 24px;
    border-radius: 50px;
    transition: .5s;
    position: relative;
    display: inline-block;
    width: 100%;
    line-height: 1.6
}

a.c-btn-white.icon-capsule {
    padding: 15px 24px 15px 40px;
    color: #2e66e8;
    font-size: 38px
}

@media screen and (max-width: 767px) {
    a.c-btn-white.icon-capsule {
        font-size: 23px
    }
}

a.c-btn-white.icon-capsule .arrow {
    left: 9%;
    right: auto;
    width: 22px;
    margin-top: -33px
}

@media screen and (max-width: 767px) {
    a.c-btn-white.icon-capsule .arrow {
        left: 12%;
        right: auto;
        width: 17px;
        margin-top: -28px
    }
}

@media screen and (max-width: 767px) {
    a.c-btn-white {
        font-size: 18px
    }
}

a.c-btn-white:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 5px;
    background: linear-gradient(to right, #4f45ff, #00c8ff);
    border-radius: 50px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude
}

a.c-btn-white:hover {
    background: linear-gradient(to right, #4f45ff, #00c8ff);
    color: #fff
}

a.c-btn-white:hover .arrow .kon {
    display: none
}

a.c-btn-white:hover .arrow .wh {
    display: block
}

a.c-btn-white:hover:before {
    padding: 0
}

a.c-btn-white .arrow {
    position: absolute;
    top: 50%;
    margin-top: -16px;
    right: 4%;
    width: 18px;
    padding: 8px 7px;
    transition: .5s
}

a.c-btn-white .arrow .kon {
    transition: .5s
}

a.c-btn-white .arrow .wh {
    display: none;
    transition: .5s
}

a.c-btn-download {
    font-weight: 600;
    font-size: 20px;
    text-align: center;
    background: linear-gradient(to right, #00c8ff 1%, #4f45ff 98%);
    color: #fff;
    padding: 15px 50px 15px 24px;
    border-radius: 50px;
    transition: .5s;
    position: relative;
    display: inline-block;
    width: 100%;
    line-height: 1.6
}

@media screen and (max-width: 767px) {
    a.c-btn-download {
        font-size: 18px
    }
}

a.c-btn-download:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 8px;
    background: linear-gradient(to right, #4f45ff 1%, #00c8ff 99%);
    border-radius: 50px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    width: 98%
}

a.c-btn-download:hover {
    background: #fff;
    color: #000
}

a.c-btn-download:hover .arrow .kon {
    display: none
}

a.c-btn-download:hover .arrow .wh {
    display: block
}

a.c-btn-download .arrow {
    position: absolute;
    top: 50%;
    margin-top: -20px;
    right: 4%;
    width: 40px;
    transition: .5s
}

a.c-btn-download .arrow .kon {
    transition: .5s
}

a.c-btn-download .arrow .wh {
    display: none;
    transition: .5s
}

a.c-btn-download-v2 {
    font-size: 20px;
    text-align: center;
    background: #fff;
    font-weight: 600;
    color: #000;
    padding: 15px 50px 15px 24px;
    border-radius: 50px;
    transition: .5s;
    position: relative;
    display: inline-block;
    width: 100%;
    line-height: 1.6
}

@media screen and (max-width: 767px) {
    a.c-btn-download-v2 {
        font-size: 18px
    }
}

a.c-btn-download-v2:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 5px;
    background: linear-gradient(to right, #4f45ff, #00c8ff);
    border-radius: 50px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude
}

a.c-btn-download-v2:hover {
    background: #008dff;
    color: #fff
}

a.c-btn-download-v2:hover .arrow .kon {
    display: none
}

a.c-btn-download-v2:hover .arrow .wh {
    display: block
}

a.c-btn-download-v2 .arrow {
    position: absolute;
    top: 50%;
    margin-top: -20px;
    right: 4%;
    width: 40px;
    transition: .5s
}

a.c-btn-download-v2 .arrow .kon {
    transition: .5s
}

a.c-btn-download-v2 .arrow .wh {
    display: none;
    transition: .5s
}

.link_panal {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    max-width: 1200px;
    margin: 0 auto
}

.link_panal li {
    width: 48%;
    max-width: 500px;
    min-width: 400px
}

@media screen and (max-width: 960px) {
    .link_panal li {
        min-width: 320px
    }
}

@media screen and (max-width: 660px) {
    .link_panal li {
        width: 90%;
        max-width: 500px;
        min-width: 320px
    }
}

.link_panal .panel_bx {
    display: block;
    background: url(/assets/img/bg01.svg) no-repeat bottom right 20%, #008dff;
    background-size: 27%;
    border-radius: 20px;
    padding: 40px;
    position: relative;
    transition: .5s;
    cursor: pointer;
    margin-bottom: 40px
}

@media screen and (max-width: 640px) {
    .link_panal .panel_bx {
        padding: 30px 20px
    }
}

.link_panal .panel_bx:hover {
    opacity: .8
}

.link_panal .panel_bx:hover .txt01,
.link_panal .panel_bx:hover .txt02 {
    letter-spacing: 2px
}

.link_panal .arrow {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 16px;
    background: #fff;
    border-radius: 50%;
    padding: 10px 9px;
    transition: .5s
}

.link_panal .txt01 {
    font-size: 10px;
    color: #fff;
    margin-bottom: 6px;
    transition: .5s
}

.link_panal .txt02 {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    transition: .5s
}

@media screen and (max-width: 640px) {
    .link_panal .txt02 {
        font-size: 16px
    }
}

.infowrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.infowrap li {
    width: 31%;
    margin-bottom: 40px
}

@media screen and (max-width: 1039px) {
    .infowrap li {
        width: 48%
    }
}

@media screen and (max-width: 640px) {
    .infowrap li {
        width: 100%
    }
}

.infowrap:after {
    content: "";
    display: block;
    width: 31%;
    height: 0
}

.infowrap .infobox {
    display: block;
    height: 100%;
    padding: 16px;
    box-shadow: 2px 2px 6px #ddd;
    border-radius: 10px;
    position: relative;
    transition: .5s
}

.infowrap .infobox:hover {
    background: #f1f6fa
}

.infowrap .infobox:hover .arrow {
    background: #00c0a2
}

.infowrap img {
    border-radius: 6px
}

.infowrap img.border {
    border: 1px solid #DDDDDD
}

.infowrap .date {
    padding: 20px 0 16px;
    font-size: 12px;
    font-family: Montserrat, sans-serif;
    line-height: 1
}

.infowrap .ttl {
    font-size: 12px;
    color: #2e66e8;
    font-weight: 700;
    line-height: 1.6
}

.infowrap .tag {
    margin-top: 10px;
    color: #00c0a2;
    font-size: 12px;
    border: 1px solid #00C0A2;
    border-radius: 20px;
    text-align: center;
    display: inline-block;
    padding: 4px 16px;
    line-height: 1
}

.infowrap .arrow {
    background: linear-gradient(to right, #00c8ff, #4f45ff);
    border-radius: 50%;
    padding: 8px 7px;
    width: 14px;
    position: absolute;
    bottom: 16px;
    right: 10px
}

.infowrap picture.adjust-height {
    display: flex;
    justify-content: center;
    min-height: 314px;
    background-color: #fff
}

@media screen and (max-width: 1024px) {
    .infowrap picture.adjust-height {
        min-height: 210px
    }
}

@media screen and (max-width: 767px) {
    .infowrap picture.adjust-height {
        min-height: 200px
    }
}

.infowrap picture.adjust-height img {
    object-fit: contain
}

.casebox {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 40px;
    column-gap: 32px;
    max-width: 1040px;
    margin: 0 auto
}

@media screen and (max-width: 640px) {
    .casebox {
        grid-template-columns: 1fr
    }
}

.casebox li {
    transition: .5s
}

@media screen and (max-width: 640px) {
    .casebox li {
        width: 100%;
        max-width: 420px;
        margin: 0 auto
    }

    .casebox li:first-of-type {
        margin: 0 auto 40px
    }
}

.casebox li:hover {
    opacity: .8
}

.casebox li:hover .ttl {
    color: #00c0a2
}

.casebox .ttl {
    color: #2e66e8;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    margin: 26px 0 20px;
    transition: .5s
}

.casebox .txt {
    font-size: 14px;
    font-weight: 500
}

.area_cont .txt01 {
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    color: #2e66e8;
    margin-bottom: 20px
}

.area_cont .txt01 br {
    display: none
}

@media screen and (max-width: 720px) {
    .area_cont .txt01 {
        font-size: 28px;
        line-height: 1.4
    }

    .area_cont .txt01 br {
        display: block
    }
}

.area_cont .txt02 {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    color: #2e66e8;
    line-height: 1.4;
    margin-bottom: 20px
}

@media screen and (max-width: 500px) {
    .area_cont .txt02 {
        font-size: 3.5vw
    }
}

.area_cont .btnwrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 600px;
    margin: 40px auto 0
}

.wrap {
    margin: 0 auto;
    max-width: 1200px;
    position: relative
}

@media screen and (max-width: 767px) {
    .wrap {
        padding: 0 5%
    }
}

.heading1,
.heading2 {
    text-align: center;
    margin-bottom: 40px
}

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

    .heading1,
    .heading2 {
        margin-bottom: 20px
    }
}

.heading1 h1,
.heading1 h2,
.heading2 h1,
.heading2 h2 {
    font-size: 40px;
    background: url(/assets/img/icon_fuki.svg) no-repeat left center, url(/assets/img/icon_fuki02.svg) no-repeat right center;
    display: inline-block;
    padding: 1% 120px
}

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

    .heading1 h1,
    .heading1 h2,
    .heading2 h1,
    .heading2 h2 {
        font-size: 25px;
        padding: 1% 15%;
        background-size: 40px;
        line-height: 1.4
    }
}

.heading1 h1 span,
.heading1 h2 span,
.heading2 h1 span,
.heading2 h2 span {
    font-size: 50px
}

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

    .heading1 h1 span,
    .heading1 h2 span,
    .heading2 h1 span,
    .heading2 h2 span {
        font-size: 27px
    }
}

.heading3 {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 60px
}

@media screen and (max-width: 767px) {
    .heading3 {
        margin-bottom: 40px;
        font-size: 18px;
        line-height: 1.4
    }
}

.heading3.normal-txt,
.heading3 .normal-txt {
    font-weight: 500
}

.txt {
    font-size: 20px
}

@media screen and (max-width: 767px) {
    .txt {
        font-size: 16px
    }
}

.btn-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    text-align: center
}

@media screen and (max-width: 767px) {
    .btn-box {
        flex-direction: column;
        margin-top: 40px
    }
}

.btn-box p {
    font-weight: 700;
    margin-bottom: 30px;
    font-size: 25px
}

@media screen and (max-width: 767px) {
    .btn-box p {
        margin-bottom: 15px
    }
}

.btn-box li {
    width: 48%
}

@media screen and (max-width: 767px) {
    .btn-box li {
        width: 100%;
        margin-bottom: 30px
    }
}

.btn-box li a {
    width: 80%;
    margin: 0 auto
}

@media screen and (max-width: 767px) {
    .btn-box li a {
        width: 100%
    }
}

.mb-0 {
    margin-bottom: 0 !important
}

.mb-10 {
    margin-bottom: 10px !important
}

.mb-20 {
    margin-bottom: 20px !important
}

.mb-30 {
    margin-bottom: 30px !important
}

.mb-40 {
    margin-bottom: 40px !important
}

.mb-50 {
    margin-bottom: 50px !important
}

.mb-60 {
    margin-bottom: 60px !important
}

.mb-70 {
    margin-bottom: 70px !important
}

.mb-80 {
    margin-bottom: 80px !important
}

.mb-90 {
    margin-bottom: 90px
}

.mb-100 {
    margin-bottom: 100px
}

.box-t-column01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px 0
}

@media screen and (max-width: 767px) {
    .box-t-column01 {
        justify-content: flex-start;
        flex-direction: column;
        gap: 0;
        margin-bottom: 20px
    }
}

.box-t-column01 .lbox {
    width: 60%
}

@media screen and (max-width: 767px) {
    .box-t-column01 .lbox {
        display: contents
    }
}

.box-t-column01 .lbox.w-100 {
    width: 100%
}

.box-t-column01 .lbox.w-100 .title {
    padding-left: 8%
}

@media screen and (max-width: 767px) {
    .box-t-column01 .lbox.w-100 .title {
        padding-left: 16%
    }
}

.box-t-column01 .lbox .title {
    line-height: 1.4;
    margin-bottom: 30px;
    font-size: 30px;
    background: url(/assets/img/icon_fuki03.svg) no-repeat left center;
    background-size: 67px auto;
    padding-left: 12%;
    font-weight: 600;
    min-height: 72px;
    display: flex;
    align-items: center
}

@media screen and (max-width: 767px) {
    .box-t-column01 .lbox .title {
        order: 1;
        font-size: 18px;
        margin: 20px 0 0;
        background-size: 40px auto;
        padding-left: 14%
    }
}

.box-t-column01 .lbox .txt {
    font-size: 20px;
    line-height: 2;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .box-t-column01 .lbox .txt {
        order: 3;
        font-size: 16px
    }
}

.box-t-column01 .lbox .txt-sub {
    font-size: 16px;
    margin-top: 80px;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .box-t-column01 .lbox .txt-sub {
        margin: 40px 0
    }
}

.box-t-column01 .rbox {
    width: 40%
}

@media screen and (max-width: 767px) {
    .box-t-column01 .rbox {
        width: 100%;
        order: 2
    }
}

.box-t-column01 .rbox .box-inner {
    background: url(/assets/img/bg_fuki02.svg) no-repeat center center;
    min-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5% 15% 10%
}

@media screen and (max-width: 767px) {
    .box-t-column01 .rbox .box-inner {
        background-size: 100% auto;
        min-height: 340px;
        padding: 0% 20%
    }
}

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

    .box-t-column01 .lbox,
    .box-t-column01 .rbox {
        width: 100%
    }
}

.box-grey {
    background: #f5f7fe;
    padding: 5%;
    margin-bottom: 60px;
    border-radius: 20px
}

@media screen and (max-width: 767px) {
    .box-grey {
        padding: 6%
    }
}

.box-grey .txt {
    font-size: 20px;
    text-align: center;
    line-height: 1.6;
    margin-bottom: 30px;
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .box-grey .txt {
        font-size: 16px
    }
}

.btnwrap a.c-btn {
    background: linear-gradient(to right, #4f45ff, #00c8ff)
}

.btnwrap a.c-btn:hover {
    background: #fff;
    color: #0087ff
}

.ttl-img-sub {
    text-align: center;
    font-size: 10rem;
    color: #f5f7fe;
    font-family: Jost, sans-serif;
    margin: 60px auto -80px;
    font-weight: 500;
    letter-spacing: 6px
}

@media (min-width: 768px) and (max-width: 1024px) {
    .ttl-img-sub {
        margin: 60px auto -60px
    }
}

@media screen and (max-width: 767px) {
    .ttl-img-sub {
        font-size: 3.5rem;
        margin: 60px auto -20px
    }
}

@media (max-width: 865px) {
    .page-platform .ttl-img-sub {
        font-size: 3.5rem;
        margin: 60px auto -20px
    }
}

@media (max-width: 330px) {
    .page-platform .ttl-img-sub {
        font-size: 2rem;
        margin: 65px auto -10px
    }
}

.page-cs .ttl-img-sub {
    letter-spacing: 0
}

@media (max-width: 1585px) {
    .page-cs .ttl-img-sub {
        font-size: 3.5rem;
        margin: 90px auto -20px
    }
}

@media (max-width: 865px) {
    .page-cs .ttl-img-sub {
        margin: 60px auto -20px
    }
}

@media (max-width: 565px) {
    .page-cs .ttl-img-sub {
        font-size: 2rem;
        margin: 65px auto -10px
    }
}

@media (max-width: 865px) {
    .page-solution .ttl-img-sub {
        font-size: 3.5rem;
        margin: 60px auto -20px
    }
}

@media (max-width: 330px) {
    .page-solution .ttl-img-sub {
        font-size: 2rem;
        margin: 65px auto -10px
    }
}

@media (max-width: 865px) {
    .page-solution-pharmaceutical .ttl-img-sub {
        font-size: 3.5rem;
        margin: 60px auto -20px
    }
}

@media (max-width: 330px) {
    .page-solution-pharmaceutical .ttl-img-sub {
        font-size: 2rem;
        margin: 65px auto -10px
    }
}

@media (max-width: 1005px) {
    .page-case .ttl-img-sub {
        font-size: 3.5rem;
        margin: 60px auto -20px
    }
}

@media (max-width: 400px) {
    .page-case .ttl-img-sub {
        font-size: 2rem;
        margin: 65px auto -10px
    }
}

@media (max-width: 1160px) {
    .page-info .ttl-img-sub {
        font-size: 3.5rem;
        margin: 60px auto -20px
    }
}

@media (max-width: 450px) {
    .page-info .ttl-img-sub {
        font-size: 2rem;
        margin: 65px auto -10px
    }
}

@media (max-width: 1095px) {
    .page-download .ttl-img-sub {
        font-size: 3.5rem;
        margin: 60px auto -20px
    }
}

@media (max-width: 430px) {
    .page-download .ttl-img-sub {
        font-size: 2rem;
        margin: 65px auto -10px
    }
}

@media (max-width: 1095px) {
    .page-thanks .ttl-img-sub {
        font-size: 3.5rem;
        margin: 60px auto -20px
    }
}

@media (max-width: 430px) {
    .page-thanks .ttl-img-sub {
        font-size: 2rem;
        margin: 65px auto -10px
    }
}

@media (max-width: 768px) {
    .page-contact .ttl-img-sub {
        font-size: 3.5rem;
        margin: 60px auto -20px
    }
}

@media (max-width: 1095px) {
    .page-contact-thanks .ttl-img-sub {
        font-size: 10rem;
        margin: 60px auto -80px
    }
}

@media (max-width: 768px) {
    .page-contact-thanks .ttl-img-sub {
        font-size: 3.5rem;
        margin: 60px auto -20px
    }
}

.page-top {
    overflow: hidden
}

.page-top .splide__slide img.default {
    display: block
}

.page-top .splide__slide img.over,
.page-top .splide__slide:hover img.default {
    display: none
}

.page-top .splide__slide:hover img.over {
    display: block
}

.page-top .mv {
    width: 100%;
    background: url(/assets/img/bg-mv_pc.png) no-repeat;
    min-width: 1580px;
    background-size: cover;
    display: flex;
    column-gap: 40px;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    min-height: 690px
}

@media screen and (max-width: 767px) {
    .page-top .mv {
        background: url(/assets/img/bg-mv_sp.png) no-repeat 0 0px;
        background-size: 100% auto;
        padding: 0;
        min-width: auto
    }
}

.page-top .mv .c_l {
    max-width: 713px;
    margin: 0 auto 0 14%;
    padding-top: 12.5%;
    padding-bottom: 5%
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_l {
        padding: 330px 20px 7%;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        text-align: center
    }
}

.page-top .mv .c_l .copy-sub {
    font-size: 35px;
    font-weight: 500;
    letter-spacing: 3px
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_l .copy-sub {
        font-size: 23px
    }
}

.page-top .mv .c_l .copy-sub2 {
    font-size: 30px;
    margin-bottom: 4rem;
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_l .copy-sub2 {
        font-size: 20px;
        margin-bottom: 2rem
    }
}

.page-top .mv .c_l .copy {
    margin: .5rem 0;
    font-size: 44px;
    line-height: 1.4
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_l .copy {
        font-size: 25px;
        padding: 0;
        margin-bottom: 1rem
    }
}

.page-top .mv .c_l .mv-btn {
    max-width: 570px
}

.page-top .mv .c_l .mv-btn .copy-sub3 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 1rem;
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_l .mv-btn .copy-sub3 {
        font-size: 20px
    }
}

.page-top .mv .c_l .mv-btn .c-btn-download {
    padding: 28px 50px 28px 24px;
    font-size: 30px
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_l .mv-btn .c-btn-download {
        font-size: 20px;
        padding: 15px 50px 15px 24px
    }
}

.page-top .mv .c_l .mv-btn .c-btn-download .arrow {
    margin-top: -28px;
    right: 4%;
    width: 55px
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_l .mv-btn .c-btn-download .arrow {
        margin-top: -16px;
        right: 4%;
        width: 33px
    }
}

.page-top .mv .c_l .more {
    display: flex;
    align-items: center;
    column-gap: 16px
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_l .more {
        justify-content: center;
        column-gap: 8px
    }
}

.page-top .mv .c_l .more-supplement {
    flex-shrink: 0;
    background-color: #e3e6f1;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: grid;
    place-content: center;
    font-weight: 700;
    font-size: 16px
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_l .more-supplement {
        font-size: 14px
    }
}

.page-top .mv .c_l .more-content {
    display: flex;
    flex-direction: column;
    row-gap: 8px
}

.page-top .mv .c_l .more-heading {
    text-align: left;
    font-size: 16px;
    font-weight: 700
}

.page-top .mv .c_l .more-items {
    display: flex;
    flex-wrap: wrap;
    column-gap: 8px;
    row-gap: 4px
}

.page-top .mv .c_l .more-item:before {
    content: "・"
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_l .more-item {
        font-size: 12px
    }
}

.page-top .mv .c_l a.btn03 {
    margin-top: 32px;
    display: block;
    font-size: 20px
}

@media screen and (max-width: 1039px) {
    .page-top .mv .c_l a.btn03 {
        font-size: 18px
    }
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_l a.btn03 {
        font-size: 16px
    }
}

.page-top .mv .c_r {
    max-width: 50%;
    max-height: 400px;
    display: flex
}

@media screen and (max-width: 767px) {
    .page-top .mv .c_r {
        max-width: 584px;
        margin-bottom: 40px
    }
}

.page-top .mv .c_r_image {
    object-fit: scale-down;
    object-position: right center
}

.page-top .banner-link:hover {
    filter: brightness(92%)
}

.page-top .scinfo {
    display: flex;
    align-items: baseline;
    justify-content: center;
    column-gap: 35px;
    margin: 80px auto 70px;
    max-width: 1200px
}

@media screen and (max-width: 767px) {
    .page-top .scinfo {
        flex-wrap: wrap;
        row-gap: 0px;
        margin: 35px 0 50px
    }
}

.page-top .scinfo-heading {
    flex-shrink: 0;
    font-size: 25px;
    font-weight: 600;
    color: #2e66e8
}

@media screen and (max-width: 767px) {
    .page-top .scinfo-heading {
        font-size: 23px
    }
}

.page-top .scinfo-wrap {
    flex-grow: 1;
    color: #000;
    font-size: 25px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 5px;
    line-height: 1.4
}

.page-top .scinfo-wrap .date {
    font-size: 25px;
    font-family: Jost, sans-serif
}

@media screen and (max-width: 767px) {
    .page-top .scinfo-wrap .date {
        font-size: 18px
    }
}

.page-top .scinfo-wrap .txt {
    font-size: 20px;
    display: flex;
    align-items: center;
    column-gap: 12px;
    line-height: 1.6;
    font-weight: 500;
    width: 100%
}

@media screen and (max-width: 640px) {
    .page-top .scinfo-wrap .txt {
        font-size: 16px;
        flex-wrap: wrap;
        row-gap: 4px;
        line-height: 2
    }
}

.page-top .scinfo-wrap .icon {
    color: #ea8797;
    margin-left: 15px;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .page-top .scinfo-wrap {
        padding: 20px 30px 20px 20px
    }
}

.page-top .scinfo-wrap:hover {
    color: #2e66e8;
    opacity: .8
}

.page-top .scinfo-wrap:hover .txt {
    text-decoration: underline;
    text-underline-offset: 4px
}

.page-top .info-wrap li {
    margin-bottom: 25px
}

.page-top .sc01 {
    padding: 140px 0 20px;
    background: url(/assets/img/bg-sc01.svg) no-repeat top center/contain, #f5f7fd
}

@media screen and (max-width: 767px) {
    .page-top .sc01 {
        padding: 50px 0 20px
    }
}

.page-top .sc01 h2 {
    margin: 0 auto 15px;
    width: 100%;
    max-width: 749px
}

.page-top .sc01 .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box {
        flex-direction: column
    }
}

.page-top .sc01 .box li {
    width: 33%;
    flex: 1;
    text-align: center
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box li {
        width: 100%
    }
}

.page-top .sc01 .box li:nth-of-type(2) {
    flex: 0 0 144px;
    margin-bottom: 160px
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box li:nth-of-type(2) {
        flex: 0 0 35px;
        margin: 15% 0 0;
        width: 30%
    }
}

.page-top .sc01 .box li a {
    width: 90%
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box li a {
        width: 100%;
        font-size: 17px
    }
}

.page-top .sc01 .box .txt01 {
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 40px
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box .txt01 {
        font-size: 25px;
        line-height: 1.4
    }
}

.page-top .sc01 .lead-txt {
    font-size: 25px;
    padding: 80px 0 100px;
    line-height: 2;
    text-align: center;
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .lead-txt {
        font-size: 18px;
        padding: 40px 0 0
    }
}

.page-top .sc01 .box02 {
    display: flex;
    gap: 6%;
    justify-content: center;
    align-items: center;
    margin: 0 auto 60px
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box02 {
        flex-direction: column;
        gap: 30px;
        margin-bottom: 20px
    }
}

.page-top .sc01 .box02 li {
    width: 50%;
    flex: 1
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box02 li {
        width: 100%
    }
}

.page-top .sc01 .box02 li .logo {
    max-width: 433px;
    margin-bottom: 0
}

@media (min-width: 768px) and (max-width: 1200px) {
    .page-top .sc01 .box02 li .logo {
        width: 58%
    }
}

.page-top .sc01 .box02 li .txt02 {
    font-size: 46px;
    color: #0087ff;
    margin-bottom: 0;
    font-family: Jost, sans-serif;
    letter-spacing: .05em;
    text-align: left
}

@media screen and (max-width: 1200px) {
    .page-top .sc01 .box02 li .txt02 {
        font-size: min(3vw, 38px)
    }
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box02 li .txt02 {
        text-align: center;
        font-size: 5.5vw;
        line-height: 1.1;
        padding: 30px 0
    }
}

.page-top .sc01 .box02 li .txt02 span {
    font-size: 70px
}

@media screen and (max-width: 1200px) {
    .page-top .sc01 .box02 li .txt02 span {
        font-size: min(5.2vw, 65px)
    }
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box02 li .txt02 span {
        font-size: 8.3vw
    }
}

.page-top .sc01 .box02 li p {
    font-size: 25px
}

@media screen and (max-width: 1200px) {
    .page-top .sc01 .box02 li p {
        font-size: min(2.1vw, 22px)
    }
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box02 li p {
        font-size: min(5vw, 25px);
        text-align: center
    }
}

.page-top .sc01 .box02 li:nth-of-type(1) {
    flex: 0 0 31.666%
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box02 li:nth-of-type(1) {
        flex: 1;
        margin-top: 40px
    }
}

@media screen and (max-width: 767px) {
    .page-top .sc01 .box02 li:nth-of-type(1) img {
        width: 60%
    }
}

.page-top .sc02 {
    padding: 140px 0 100px;
    background: url(/assets/img/bg-sc02.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-top .sc02 {
        padding: 30px 0 50px
    }
}

.page-top .sc02:before {
    content: "";
    position: absolute;
    top: 10%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_plateform.svg) no-repeat 0 0;
    height: 100%;
    background-size: 184px auto
}

@media screen and (max-width: 767px) {
    .page-top .sc02:before {
        display: none
    }
}

.page-top .sc02 .box {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
    margin-bottom: 110px
}

@media screen and (max-width: 767px) {
    .page-top .sc02 .box {
        margin-bottom: 30px
    }
}

.page-top .sc02 .box li {
    width: 33.3333333333%;
    box-sizing: border-box;
    text-align: center
}

.page-top .sc02 .box li .box-inner {
    background: url(/assets/img/bg_fuki02.svg) no-repeat center center;
    min-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10% 15%
}

@media screen and (max-width: 767px) {
    .page-top .sc02 .box li .box-inner {
        background-size: 180px auto;
        min-height: 180px
    }
}

@media screen and (max-width: 767px) {
    .page-top .sc02 .box li {
        width: 50%
    }
}

.page-top .sc02 .box .txt {
    font-size: 22px;
    line-height: 1.4;
    font-weight: 700
}

@media screen and (max-width: 767px) {
    .page-top .sc02 .box .txt {
        font-size: 16px;
        padding: 10px
    }
}

.page-top .sc02 .btnwrap {
    max-width: 480px
}

.page-top .sc03 {
    padding: 200px 0 100px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-top .sc03 {
        padding: 50px 0
    }
}

.page-top .sc03 .txt {
    max-width: 980px;
    text-align: center;
    margin: 0 auto 60px;
    font-weight: 500
}

.page-top .sc03:before {
    content: "";
    position: absolute;
    top: 20%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_customer.svg) no-repeat 0 0;
    height: 100%;
    background-size: 184px auto
}

@media screen and (max-width: 767px) {
    .page-top .sc03:before {
        display: none
    }
}

.page-top .sc03 .box {
    display: flex;
    align-items: self-start;
    gap: 0 80px;
    margin-bottom: 0
}

@media screen and (max-width: 767px) {
    .page-top .sc03 .box {
        flex-direction: column;
        gap: 20px;
        margin-bottom: 20px
    }
}

.page-top .sc03 .box>li {
    width: 50%;
    box-sizing: border-box
}

@media screen and (max-width: 767px) {
    .page-top .sc03 .box>li {
        width: 100%
    }
}

.page-top .sc03 .box>li .txt01 {
    font-size: 25px;
    color: #0087ff;
    font-weight: 700;
    padding-top: 15%;
    margin-bottom: 20px
}

@media screen and (max-width: 767px) {
    .page-top .sc03 .box>li .txt01 {
        padding-top: 0;
        font-size: 21px;
        text-align: center
    }
}

.page-top .sc03 .box>li .list {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .page-top .sc03 .box>li .list {
        row-gap: 3px
    }
}

.page-top .sc03 .box>li .list li {
    text-align: left;
    font-size: 20px;
    padding-left: 5%
}

@media screen and (max-width: 767px) {
    .page-top .sc03 .box>li .list li {
        font-size: 18px;
        padding-left: 1em
    }
}

.page-top .sc03 .box>li .list li:before {
    content: "◉";
    margin-right: 10px;
    color: #0087ff
}

.page-top .sc04 {
    padding: 200px 0 100px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-top .sc04 {
        padding: 50px 0
    }
}

.page-top .sc04:before {
    content: "";
    position: absolute;
    top: 15%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_solution.svg) no-repeat 0 0;
    height: 100%;
    background-size: 184px auto
}

@media screen and (max-width: 767px) {
    .page-top .sc04:before {
        display: none
    }
}

.page-top .sc04 .txt {
    color: #0087ff;
    font-weight: 700;
    text-align: center;
    margin-bottom: 70px;
    font-size: 25px
}

@media screen and (max-width: 767px) {
    .page-top .sc04 .txt {
        margin-bottom: 40px
    }
}

.page-top .sc04 .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-bottom: 60px
}

@media screen and (max-width: 767px) {
    .page-top .sc04 .box {
        margin-bottom: 30px
    }
}

.page-top .sc04 .box li {
    background: url(/assets/img/bg_fuki.svg) no-repeat center center;
    background-size: 360px auto;
    width: 25%;
    box-sizing: border-box;
    text-align: center;
    min-height: 310px;
    display: flex;
    align-items: center
}

@media screen and (max-width: 767px) {
    .page-top .sc04 .box li {
        width: 50%;
        background-size: 200px auto;
        min-height: auto
    }
}

.page-top .sc04 .box li p {
    padding: 0 30px;
    font-size: 18px
}

@media screen and (max-width: 767px) {
    .page-top .sc04 .box li p {
        font-size: 13px;
        padding: 25px 25px 0
    }
}

.page-top .sc04 .box li p span:not(.highlight) {
    display: inline-block
}

.page-top .sc04 .box li p .sub-title {
    font-weight: 700;
    margin-bottom: 10px
}

@media screen and (max-width: 767px) {
    .page-top .sc04 .box li p .sub-title {
        margin-bottom: 10px;
        line-height: 1.4;
        font-size: 14px
    }
}

.page-top .sc04 .box li p .sub-txt {
    padding: 0 46px;
    min-height: 97px;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .page-top .sc04 .box li p .sub-txt {
        padding: 0 10px;
        line-height: 1.4
    }
}

.page-top .sc04 .b-box {
    background: #f5f7fe;
    border-radius: 20px;
    padding: 60px 0;
    margin-top: 70px
}

@media screen and (max-width: 767px) {
    .page-top .sc04 .b-box {
        padding: 30px 15px;
        margin-top: 30px
    }
}

.page-top .sc04 .b-box .txt {
    color: #000;
    font-weight: 600;
    font-size: 20px;
    margin-bottom: 30px
}

.page-top .sc04 .b-box .btnwrap {
    max-width: 650px;
    margin: 0 auto
}

.page-top .sc04 .b-box .btnwrap a {
    font-size: 33px
}

@media screen and (max-width: 767px) {
    .page-top .sc04 .b-box .btnwrap a {
        font-size: 18px
    }
}

.page-top .sc04 .b-box .btnwrap a .arrow {
    left: 7%
}

@media screen and (max-width: 767px) {
    .page-top .sc04 .b-box .btnwrap a .arrow {
        left: 5%;
        width: 14px;
        margin-top: -24px
    }
}

.page-top .sc06 {
    padding: 200px 0 100px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-top .sc06 {
        padding: 50px 0
    }
}

.page-top .sc06:before {
    content: "";
    position: absolute;
    top: 25%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_plan.svg) no-repeat 0 0;
    height: 100%;
    background-size: 184px auto
}

@media screen and (max-width: 767px) {
    .page-top .sc06:before {
        display: none
    }
}

.page-top .sc06 .txt {
    color: #000;
    text-align: center;
    margin-bottom: 30px;
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .page-top .sc06 .txt {
        margin-bottom: 30px
    }
}

.page-top .sc06 .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-bottom: 90px
}

@media screen and (max-width: 767px) {
    .page-top .sc06 .box {
        flex-direction: column;
        margin-bottom: 30px
    }
}

.page-top .sc06 .box li {
    background: url(/assets/img/bg_fuki02.svg) no-repeat center center;
    background-size: 430px auto;
    width: 33.3333333333%;
    box-sizing: border-box;
    text-align: center;
    min-height: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

@media screen and (max-width: 767px) {
    .page-top .sc06 .box li {
        width: 100%;
        background-size: 110% auto;
        min-height: 340px
    }
}

.page-top .sc06 .box li .sub-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
    min-height: 80px
}

.page-top .sc06 .box li .sub-txt {
    padding: 0 65px 40px;
    font-size: 18px;
    min-height: 170px;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .page-top .sc06 .box li .sub-txt {
        padding: 0 50px;
        font-size: 16px;
        min-height: 130px
    }
}

.page-top .sc06 .box li:not(:first-child) .sub-title {
    padding-top: 5%
}

@media (max-width: 767px) {
    .page-top .sc06 .box li:not(:first-child) .sub-title {
        padding-top: 10%
    }
}

.page-top .sc07 {
    padding: 200px 0 140px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-top .sc07 {
        padding: 50px 0
    }
}

.page-top .sc07:before {
    content: "";
    position: absolute;
    top: 25%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_info.svg) no-repeat 0 0;
    height: 100%;
    background-size: 184px auto
}

@media screen and (max-width: 767px) {
    .page-top .sc07:before {
        display: none
    }
}

.page-top .sc07 .scinfo {
    flex-direction: column
}

.page-top .sc07 .scinfo .txt {
    margin-bottom: 50px;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .page-top .sc07 .scinfo .txt {
        margin-bottom: 0
    }
}

.page-platform .heading1,
.page-platform .heading2 {
    margin-bottom: 0
}

.page-platform .heading2 {
    margin-bottom: 40px
}

.page-platform .ttl-img {
    max-width: 900px;
    margin: 120px auto 0
}

@media screen and (max-width: 767px) {
    .page-platform .ttl-img {
        width: 90%;
        margin-top: 80px
    }
}

.page-platform .sc-box {
    padding: 140px 0 100px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-platform .sc-box {
        padding: 50px 0 30px
    }
}

.page-platform .sc-box .box01 {
    background: #f5f7fe;
    padding: 3% 3% 3% 5%
}

@media screen and (max-width: 767px) {
    .page-platform .sc-box .box01 {
        padding: 5%
    }
}

.page-platform .sc-box .box01 .inner {
    background: url(/assets/img/icon_hatena.svg) no-repeat left center;
    background-size: 118px auto;
    padding-left: 15%
}

@media screen and (max-width: 767px) {
    .page-platform .sc-box .box01 .inner {
        background: none;
        padding-left: 0
    }
}

.page-platform .sc-box .box01 .tit {
    font-size: 25px;
    color: #2e66e8;
    font-weight: 700;
    margin-bottom: 15px
}

@media screen and (max-width: 767px) {
    .page-platform .sc-box .box01 .tit {
        font-size: 23px;
        text-align: center
    }
}

.page-platform .sc-box .box01 .em {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px
}

@media screen and (max-width: 767px) {
    .page-platform .sc-box .box01 .em {
        text-align: center;
        font-size: 17px;
        line-height: 1.6
    }
}

.page-platform .sc-box .box01 .txt {
    font-size: 16px;
    line-height: 2.2;
    font-weight: 500
}

.page-platform .lead-txt {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    margin: 0 0 30px
}

@media screen and (max-width: 767px) {
    .page-platform .lead-txt {
        font-size: 18px
    }
}

.page-platform .list-box {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px
}

@media screen and (max-width: 767px) {
    .page-platform .list-box {
        margin-bottom: 30px
    }
}

.page-platform .list-box li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: url(/assets/img/icon_bg_maru.svg) no-repeat center center;
    background-size: 100% auto;
    width: 25%;
    min-height: 290px;
    box-sizing: border-box;
    text-align: center
}

@media screen and (max-width: 767px) {
    .page-platform .list-box li {
        width: 50%;
        min-height: 170px;
        padding: 5%
    }
}

.page-platform .list-box li picture {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 115px;
    margin: 0 auto 12px
}

@media screen and (max-width: 767px) {
    .page-platform .list-box li picture {
        min-height: 50px;
        max-height: 50px;
        max-width: 50px;
        width: 50%;
        margin-bottom: 8px
    }
}

.page-platform .list-box li .txt {
    font-size: 18px;
    line-height: 1.3;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .page-platform .list-box li .txt {
        font-size: 14px
    }
}

.page-platform .box-t-column01 .rbox .box-inner {
    padding: 5% 22% 10%
}

.page-platform .box-t-column01 .rbox img.adjust {
    width: 80%
}

.page-platform .box-t-column01 .mini {
    font-size: 75%
}

.page-solution .ttl-img {
    max-width: 900px;
    margin: 120px auto 0
}

@media screen and (max-width: 767px) {
    .page-solution .ttl-img {
        width: 90%;
        margin-top: 80px
    }
}

.page-solution .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box {
        padding: 30px 0
    }
}

.page-solution .sc-box .box {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
    margin-bottom: 90px
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .box {
        margin-bottom: 30px;
        flex-direction: column;
        gap: 0
    }
}

.page-solution .sc-box .box li {
    width: 33.3333333333%;
    box-sizing: border-box;
    text-align: center
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .box li {
        width: 100%
    }
}

.page-solution .sc-box .box li .sub-title {
    margin-bottom: 20px;
    font-size: 22px;
    font-weight: 700
}

.page-solution .sc-box .box li .sub-txt {
    font-size: 20px;
    font-weight: 500
}

.page-solution .sc-box .box .txt {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 10px 0 0
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .box .txt {
        font-size: 16px;
        padding: 10px;
        margin-top: 0
    }
}

.page-solution .sc-box .box02 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 60px
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .box02 {
        flex-direction: column;
        gap: 0
    }
}

.page-solution .sc-box .box02 .lbox {
    width: 55%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .box02 .lbox {
        width: 100%
    }

    .page-solution .sc-box .box02 .lbox p {
        text-align: center
    }
}

.page-solution .sc-box .box02 .lbox .highlight {
    font-size: 30px;
    font-weight: 600;
    background: linear-gradient(transparent 80%, #ffd039 50%);
    padding: 0 20px
}

.page-solution .sc-box .box02 .rbox {
    width: 45%
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .box02 .rbox {
        width: 100%
    }
}

.page-solution .sc-box .box02 .rbox .sub-title {
    color: #0087ff;
    font-weight: 600;
    font-size: 25px;
    margin-bottom: 5px
}

.page-solution .sc-box .box02 .rbox .sub-txt {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 40px;
    font-weight: 500
}

.page-solution .sc-box .box02 .rbox .list-txt {
    font-size: 20px;
    font-weight: 500
}

.page-solution .sc-box .box03 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-bottom: 90px
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .box03 {
        margin-bottom: 30px
    }
}

.page-solution .sc-box .box03 li {
    background: url(/assets/img/bg_fuki.svg) no-repeat center center;
    background-size: 290px auto;
    width: 20%;
    box-sizing: border-box;
    text-align: center;
    min-height: 240px;
    display: flex;
    align-items: center
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .box03 li {
        width: 50%;
        background-size: 215px auto;
        min-height: 190px
    }
}

.page-solution .sc-box .box03 li p {
    padding: 0 25px;
    font-size: 17px
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .box03 li p {
        font-size: 13px;
        padding: 0 25px;
        line-height: 1
    }
}

.page-solution .sc-box .box03 li p .sub-title {
    font-weight: 700;
    margin-bottom: 10px;
    display: block
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .box03 li p .sub-title {
        margin-bottom: 7px;
        line-height: 1.4;
        font-size: 13px
    }
}

.page-solution .sc-box .box03 li p .sub-txt {
    padding: 0 15px;
    font-size: 16px;
    line-height: 1.4;
    display: inline-block;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .box03 li p .sub-txt {
        padding: 0 10px;
        font-size: 12px
    }
}

.page-solution .sc-box .btn-box {
    margin-bottom: 80px
}

@media screen and (max-width: 767px) {
    .page-solution .sc-box .btn-box {
        margin-bottom: 0
    }
}

.page-solution-pharmaceutical .ttl-img {
    max-width: 900px;
    margin: 120px auto 0
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .ttl-img {
        width: 90%;
        margin-top: 80px
    }
}

.page-solution-pharmaceutical .lead-txt {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    margin: 50px 0 20px
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .lead-txt {
        font-size: 24px;
        line-height: 1.4;
        margin-top: 30px
    }
}

.page-solution-pharmaceutical .lead-txt.normal-txt {
    font-weight: 400
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .lead-txt.normal-txt {
        margin-bottom: 0
    }
}

.page-solution-pharmaceutical .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box {
        padding: 60px 0 0
    }
}

.page-solution-pharmaceutical .sc-box .box {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
    margin-bottom: 90px
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box {
        margin-bottom: 30px;
        gap: 0
    }
}

.page-solution-pharmaceutical .sc-box .box li {
    width: 25%;
    background: url(/assets/img/bg_fuki02.svg) no-repeat center center;
    background-size: 100% auto;
    min-height: 300px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.page-solution-pharmaceutical .sc-box .box li:before,
.page-solution-pharmaceutical .sc-box .box li:after {
    content: "";
    position: absolute;
    bottom: 30%;
    left: calc(50% - 1px);
    width: 2px;
    height: 22px;
    border-radius: 9999px;
    background-color: #0087ff;
    transform-origin: 50% calc(100% - 1px)
}

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

    .page-solution-pharmaceutical .sc-box .box li:before,
    .page-solution-pharmaceutical .sc-box .box li:after {
        bottom: 23%;
        height: 20px
    }
}

.page-solution-pharmaceutical .sc-box .box li:before {
    transform: rotate(55deg)
}

.page-solution-pharmaceutical .sc-box .box li:after {
    transform: rotate(-55deg)
}

.page-solution-pharmaceutical .sc-box .box li a {
    padding: 0 40px 20px;
    font-size: 20px;
    line-height: 1.6;
    display: block;
    color: #000;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 250px;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box li a {
        font-size: 14px
    }
}

.page-solution-pharmaceutical .sc-box .box li a:hover {
    color: #0087ff
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box li a {
        padding: 0 26px 15px;
        min-height: auto;
        line-height: 1.4
    }
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box li {
        width: 50%;
        min-height: 150px
    }
}

.page-solution-pharmaceutical .sc-box .box li .sub-title {
    margin-bottom: 20px;
    font-size: 22px
}

.page-solution-pharmaceutical .sc-box .box li .sub-txt {
    font-size: 20px;
    font-weight: 400
}

.page-solution-pharmaceutical .sc-box .box .txt {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 20px 0 0
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box .txt {
        font-size: 16px;
        padding: 10px;
        margin-top: 0
    }
}

.page-solution-pharmaceutical .sc-box .btnwrap {
    max-width: 480px;
    margin: 40px auto 80px
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .btnwrap {
        margin: 20px auto 40px
    }
}

.page-solution-pharmaceutical .sc-box .btnwrap.mx600 {
    max-width: 600px
}

.page-solution-pharmaceutical .sc-box .box02 {
    background: #f5f7fe;
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 60px
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box02 {
        padding: 24px 16px;
        margin-bottom: 40px
    }
}

.page-solution-pharmaceutical .sc-box .box02 .inner {
    width: 50%;
    flex: 1
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box02 .inner {
        width: 100%
    }
}

.page-solution-pharmaceutical .sc-box .box02 .inner.usa .service-status {
    color: #ff6b6b
}

.page-solution-pharmaceutical .sc-box .box02 .inner.usa .source-title {
    text-align: center
}

.page-solution-pharmaceutical .sc-box .box02 .inner.usa .info-list {
    flex-direction: column
}

.page-solution-pharmaceutical .sc-box .box02 .inner.usa .info-list li {
    width: 60%;
    margin: 0 auto
}

.page-solution-pharmaceutical .sc-box .box02 .section-title {
    text-align: center;
    font-size: 25px;
    color: #2e66e8;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 50px
}

.page-solution-pharmaceutical .sc-box .box02 .regulatory-info {
    display: flex;
    gap: 40px;
    justify-content: center;
    align-items: flex-start
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box02 .regulatory-info {
        flex-direction: column;
        gap: 30px
    }
}

.page-solution-pharmaceutical .sc-box .box02 .info-column {
    background: #fff;
    border-radius: 12px;
    padding: 24px 20px;
    box-shadow: 0 2px 8px #0000001a
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box02 .info-column {
        padding: 20px 16px
    }
}

.page-solution-pharmaceutical .sc-box .box02 .country-header {
    text-align: center;
    margin-bottom: 20px
}

.page-solution-pharmaceutical .sc-box .box02 .country-header .country-name {
    font-size: 25px;
    margin-bottom: 8px;
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box02 .country-header .country-name {
        font-size: 20px
    }
}

.page-solution-pharmaceutical .sc-box .box02 .country-header .service-status {
    font-size: 20px
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box02 .country-header .service-status {
        font-size: 16px
    }
}

.page-solution-pharmaceutical .sc-box .box02 .source-info .source-title {
    font-size: 22px;
    line-height: 1.5;
    margin-bottom: 16px;
    min-height: 66px;
    display: flex;
    align-items: center;
    justify-content: center
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box02 .source-info .source-title {
        font-size: 14px;
        margin-bottom: 12px
    }
}

.page-solution-pharmaceutical .sc-box .box02 .info-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 10px
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box02 .info-list {
        flex-direction: column
    }
}

.page-solution-pharmaceutical .sc-box .box02 .info-list li {
    position: relative;
    padding-left: 25px;
    font-size: 18px;
    line-height: 1.4;
    width: 40%
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box02 .info-list li {
        font-size: 14px;
        width: 100% !important
    }
}

.page-solution-pharmaceutical .sc-box .box02 .info-list li:before {
    content: "◉";
    position: absolute;
    left: 0;
    top: 0;
    color: #0087ff;
    font-size: 20px
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc-box .box02 .info-list li:before {
        font-size: 18px;
        top: -3px
    }
}

.page-solution-pharmaceutical .sc02 {
    margin-top: 70px
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .sc02 {
        padding: 20px 2.5%;
        margin: 0
    }
}

.page-solution-pharmaceutical .sc02 .ttl {
    color: #fff;
    font-weight: 700;
    font-size: 38px;
    line-height: 1;
    margin-bottom: 40px;
    text-align: center
}

@media screen and (max-width: 960px) {
    .page-solution-pharmaceutical .sc02 .ttl {
        font-size: 30px
    }
}

.page-solution-pharmaceutical .tab-area {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 500px;
    margin: 0 auto 40px
}

.page-solution-pharmaceutical .panel {
    display: none;
    transition: .5s
}

.page-solution-pharmaceutical .panel.active {
    display: block
}

.page-solution-pharmaceutical .solu_box:last-of-type {
    margin-bottom: 0
}

.page-solution-pharmaceutical .solu_box .imgpc {
    display: block
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .solu_box .imgpc {
        display: none
    }
}

.page-solution-pharmaceutical .solu_box .imgsp {
    display: none
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .solu_box .imgsp {
        display: block;
        max-width: 340px;
        margin: 0 auto
    }
}

.page-solution-pharmaceutical .solu_box .solu_ttl {
    border-left: 6px solid;
    border-bottom: 1px solid;
    border-image: linear-gradient(to top, #646fe0, #2e66e8) 1;
    color: #2e66e8;
    font-size: 20px;
    padding: 8px 0 6px 16px;
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

@media screen and (max-width: 400px) {
    .page-solution-pharmaceutical .solu_box .solu_ttl {
        align-items: flex-start;
        flex-direction: column-reverse;
        gap: 12px;
        padding: 8px 0 10px 16px
    }
}

.page-solution-pharmaceutical .solu_box .solu_ttl .txt {
    display: inline-block;
    margin-right: 20px
}

.page-solution-pharmaceutical .solu_box .solu_ttl .tag {
    background: #2e66e8;
    font-size: 12px;
    color: #fff;
    text-align: center;
    padding: 6px 20px;
    line-height: 1
}

.page-solution-pharmaceutical .solu_box .img01 {
    margin: 60px auto;
    max-width: 1080px
}

@media screen and (max-width: 640px) {
    .page-solution-pharmaceutical .solu_box .img01 {
        margin: 40px auto
    }
}

.page-solution-pharmaceutical .solulist {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    max-width: 960px;
    margin: 0 auto 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #DDDDDD
}

.page-solution-pharmaceutical .solulist.mt {
    margin-top: 60px
}

.page-solution-pharmaceutical .solulist:last-of-type {
    border-bottom: none;
    margin: 0 auto;
    padding-bottom: 0
}

.page-solution-pharmaceutical .solulist .c_l {
    width: 40%
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .solulist .c_l {
        width: 100%;
        max-width: 320px;
        margin: 0 auto 20px
    }
}

.page-solution-pharmaceutical .solulist .c_r {
    width: 50%
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .solulist .c_r {
        width: 100%
    }
}

.page-solution-pharmaceutical .solulist .c_r li {
    margin-bottom: 40px;
    font-size: 14px
}

.page-solution-pharmaceutical .solulist .c_r li:last-of-type {
    margin-bottom: 0
}

.page-solution-pharmaceutical .solulist .c_r li .txt-note {
    display: block;
    text-indent: -1em;
    padding-left: 1em
}

.page-solution-pharmaceutical .solulist .c_r li .txt-note-link {
    color: #008dff
}

.page-solution-pharmaceutical .solulist .c_r li .txt-note-link:hover {
    filter: brightness(.92)
}

.page-solution-pharmaceutical .solulist .c_r .icon {
    background: #2e66e8;
    font-size: 14px;
    color: #fff;
    text-align: center;
    padding: 8px 20px 9px;
    line-height: 1;
    display: inline-block;
    margin-bottom: 20px
}

.page-solution-pharmaceutical .solulist .c_r .txt {
    font-size: 14px
}

.page-solution-pharmaceutical .links {
    padding: 24px 5% 12px;
    background-color: #f1f6fa
}

.page-solution-pharmaceutical .links .ttl02_inner {
    display: inline-block
}

.page-solution-pharmaceutical .links .link_list {
    padding: 24px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: 32px;
    row-gap: 16px
}

.page-solution-pharmaceutical .links .link_item {
    flex-grow: 1;
    max-width: 420px
}

.page-solution-pharmaceutical .links .btn03 {
    display: block
}

@media screen and (max-width: 420px) {
    .page-solution-pharmaceutical .links .ttl02 {
        font-size: 6vw
    }
}

.page-solution-pharmaceutical .box-t-column01 {
    margin-top: 60px
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .box-t-column01 {
        margin-top: 20px
    }
}

.page-solution-pharmaceutical .btn-box {
    margin: 100px 0
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .btn-box {
        margin: 40px 0
    }
}

.page-solution-pharmaceutical .force-mb {
    margin-bottom: 100px
}

@media screen and (max-width: 767px) {
    .page-solution-pharmaceutical .force-mb {
        margin-bottom: 60px
    }
}

.page-solution-pharmaceutical .txt-sub-mid {
    font-size: 18px;
    font-weight: 600
}

.page-solution-pharmaceutical .adjust-btn,
.page-solution-pharmaceutical .mt-0 {
    margin-top: 0 !important
}

.page-cs .ttl-img {
    max-width: 1200px;
    margin: 120px auto 0
}

@media screen and (max-width: 767px) {
    .page-cs .ttl-img {
        width: 90%;
        margin-top: 80px
    }
}

.page-cs .lead-txt {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 80px
}

@media screen and (max-width: 767px) {
    .page-cs .lead-txt {
        font-size: 22px;
        line-height: 1.4
    }
}

.page-cs .lead-txt.normal-txt {
    font-weight: 400
}

.page-cs .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-cs .sc-box {
        padding: 60px 0 0
    }
}

.page-cs .sc-box .heading1,
.page-cs .sc-box .heading2 {
    margin-bottom: 80px
}

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

    .page-cs .sc-box .heading1,
    .page-cs .sc-box .heading2 {
        margin-bottom: 30px
    }
}

.page-cs .sc-box h3 .normal-txt {
    font-size: 20px;
    display: inline-block;
    font-weight: 500;
    margin-top: 15px
}

@media screen and (max-width: 767px) {
    .page-cs .sc-box h3 .normal-txt {
        font-size: 16px
    }
}

.page-cs .box01 {
    padding: 60px;
    background: #fff;
    box-shadow: 0 0 10px #7070701a;
    border-radius: 20px;
    margin-bottom: 80px
}

@media screen and (max-width: 767px) {
    .page-cs .box01 {
        padding: 20px;
        margin-bottom: 40px
    }
}

.page-cs .box01 .box-inner {
    display: flex
}

@media screen and (max-width: 767px) {
    .page-cs .box01 .box-inner {
        flex-direction: column
    }
}

.page-cs .box01 .box-scroll-flow {
    margin-bottom: 60px
}

@media screen and (max-width: 767px) {
    .page-cs .box01 .box-scroll-flow {
        margin-bottom: 40px
    }
}

.page-cs .box01 .box-inner-inner {
    width: 33.3333333333%;
    box-shadow: 20px 0 30px -10px #f5f7fe inset;
    padding: 50px 35px
}

@media screen and (max-width: 767px) {
    .page-cs .box01 .box-inner-inner {
        width: 100%;
        padding: 20px
    }
}

.page-cs .box01 .tit {
    font-size: 25px;
    font-weight: 700;
    color: #2e66e8;
    margin-bottom: 15px;
    min-height: 45px
}

@media screen and (max-width: 767px) {
    .page-cs .box01 .tit {
        font-size: 20px;
        min-height: 35px
    }
}

.page-cs .box01 .txt {
    font-size: 16px;
    font-weight: 500
}

.page-cs .list {
    margin-bottom: 50px
}

@media screen and (max-width: 767px) {
    .page-cs .list {
        margin-bottom: 20px
    }
}

.page-cs .list li {
    position: relative;
    padding-left: 23px;
    font-size: 16px;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .page-cs .list li {
        margin-bottom: 10px
    }
}

.page-cs .list li:before {
    content: "◉";
    position: absolute;
    left: 0;
    top: 0;
    color: #0087ff;
    font-size: 17px
}

@media screen and (max-width: 767px) {
    .page-cs .list li:before {
        font-size: 18px;
        top: -3px
    }
}

.page-cs .figure-list {
    width: 95%;
    margin: 30px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px 0
}

@media screen and (max-width: 767px) {
    .page-cs .figure-list {
        width: 100%;
        flex-direction: column;
        margin: 30px 0 0
    }
}

.page-cs .figure-list li {
    width: calc(50% - 15px);
    font-size: 20px;
    padding-left: 25px;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .page-cs .figure-list li {
        width: 100%;
        font-size: 18px;
        margin-bottom: 0
    }
}

.page-cs .figure-list li:before {
    font-size: 20px;
    top: 0
}

.page-cs .box-grey {
    width: 90%;
    margin: 0 auto
}

@media screen and (max-width: 767px) {
    .page-cs .box-grey {
        width: 100%
    }

    .page-cs .box-grey .txt {
        margin-bottom: 15px
    }
}

.page-cs .box-grey .txt {
    font-size: 20px !important
}

.page-cs .ad-bottom {
    padding-bottom: 60px;
    margin-top: 100px
}

@media screen and (max-width: 767px) {
    .page-cs .ad-bottom {
        padding-bottom: 30px;
        margin-top: 0
    }

    .page-cs .ad-bottom .box-scroll-flow {
        overflow-x: auto
    }

    .page-cs .ad-bottom .inner {
        width: 1080px
    }

    .page-cs .ad-bottom .inner .box-inner {
        flex-direction: row
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .page-cs .ad-bottom {
        padding-bottom: 30px
    }

    .page-cs .ad-bottom .box-scroll-flow {
        overflow-x: auto
    }

    .page-cs .ad-bottom .inner {
        width: 1080px
    }

    .page-cs .ad-bottom .inner .box-inner {
        flex-direction: row
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .page-cs .ad-bottom .box-scroll-flow::-webkit-scrollbar {
        height: 5px
    }

    .page-cs .ad-bottom .box-scroll-flow::-webkit-scrollbar-track {
        background: #bbd9f4;
        border-radius: 4px;
        cursor: pointer
    }

    .page-cs .ad-bottom .box-scroll-flow::-webkit-scrollbar-thumb {
        background: #0087ff;
        border-radius: 4px;
        transition: background .3s ease;
        cursor: pointer
    }

    .page-cs .ad-bottom .box-scroll-flow::-webkit-scrollbar-thumb:hover {
        background: #0087ff
    }

    .page-cs .ad-bottom .box-scroll-flow::-webkit-scrollbar-corner {
        background: transparent
    }
}

.page-about .sc01 {
    padding: 60px 5%;
    background: #008dff;
    border-radius: 50px 50px 0 0
}

.page-about .sc01 .flexwrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1040px;
    margin: 0 auto 60px
}

@media screen and (max-width: 500px) {
    .page-about .sc01 .flexwrap {
        margin: 0 auto 20px
    }
}

.page-about .sc01 .flexwrap .c_l {
    width: 45%;
    color: #fff;
    font-weight: 700
}

@media screen and (max-width: 1039px) {
    .page-about .sc01 .flexwrap .c_l br {
        display: none
    }
}

@media screen and (max-width: 767px) {
    .page-about .sc01 .flexwrap .c_l {
        width: 100%
    }
}

.page-about .sc01 .flexwrap .c_l p {
    margin-bottom: 20px
}

.page-about .sc01 .flexwrap .c_l p:last-of-type {
    margin-bottom: 0
}

.page-about .sc01 .flexwrap .c_r {
    width: 50%
}

@media screen and (max-width: 767px) {
    .page-about .sc01 .flexwrap .c_r {
        width: 100%;
        margin: 40px auto 0
    }
}

.page-about .sc01 .service-description {
    padding: 16px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 12px;
    max-width: 1040px;
    margin: 0 auto
}

.page-about .sc01 .service-description-header {
    font-size: 32px;
    font-weight: 700;
    color: #2e66e8;
    text-align: center
}

@media screen and (max-width: 580px) {
    .page-about .sc01 .service-description-header {
        font-size: 20px
    }
}

.page-about .sc01 .service-description-header-inner {
    display: inline-block
}

.page-about .sc01 .service-description-main {
    margin-top: 24px;
    display: flex;
    align-items: center;
    column-gap: 24px
}

.page-about .sc01 .service-description-content {
    display: flex;
    flex-direction: column;
    row-gap: 16px
}

.page-about .sc01 .service-description-heading {
    font-weight: 700;
    font-size: 16px
}

@media screen and (max-width: 580px) {
    .page-about .sc01 .service-description-heading {
        font-size: 14px
    }
}

.page-about .sc01 .service-description-supplement {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    background-color: #f1f6fa;
    border-radius: 50%;
    display: grid;
    place-content: center;
    font-weight: 700;
    font-size: 16px
}

@media screen and (max-width: 580px) {
    .page-about .sc01 .service-description-supplement {
        font-size: 14px
    }
}

.page-about .sc01 .service-description-items {
    display: flex;
    flex-wrap: wrap;
    column-gap: 16px;
    row-gap: 8px
}

.page-about .sc01 .service-description-item:before {
    content: "・"
}

@media screen and (max-width: 580px) {
    .page-about .sc01 .service-description-item {
        font-size: 12px
    }
}

.page-about .sc02 {
    padding: 60px 5%;
    background: #f1f6fa
}

.page-about .sc02 .flexwrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 60px
}

.page-about .sc02 .flexwrap:last-of-type {
    margin-bottom: 0
}

.page-about .sc02 .flexwrap .c_l {
    width: 35%
}

@media screen and (max-width: 767px) {
    .page-about .sc02 .flexwrap .c_l {
        width: 100%;
        max-width: 420px;
        margin: 0 auto 30px
    }
}

.page-about .sc02 .flexwrap .c_r {
    width: 60%
}

@media screen and (max-width: 767px) {
    .page-about .sc02 .flexwrap .c_r {
        width: 100%
    }
}

.page-about .sc02 .flexwrap .c_r .txt01 {
    font-size: 20px;
    font-weight: 700;
    color: #2e66e8;
    margin-bottom: 26px
}

@media screen and (max-width: 767px) {
    .page-about .sc02 .flexwrap .c_r .txt01 {
        font-size: 18px;
        margin-bottom: 10px
    }
}

.page-about .sc02 .flexwrap .c_r .txt02 strong {
    color: #e60000;
    display: inline-block
}

.page-about .sc02 .ttl01 {
    margin-bottom: 60px
}

.page-about .sc03 {
    padding: 60px 5%
}

.page-about .sc03 .logo {
    max-width: 420px;
    margin: 60px auto
}

.page-about .sc03 .concept {
    margin-bottom: 60px
}

.page-about .sc03 .concept p {
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 4px;
    color: #00c0a2;
    line-height: 1
}

.page-about .sc03 .concept p:first-of-type {
    margin-bottom: 30px
}

@media screen and (max-width: 767px) {
    .page-about .sc03 .concept p {
        font-size: 4vw;
        line-height: 1.6
    }
}

@media screen and (max-width: 640px) {
    .page-about .sc03 .concept p {
        font-size: 6vw;
        line-height: 1.6
    }
}

.page-about .sc03 .concept span {
    display: inline-block;
    border-bottom: 6px solid #caeff3;
    padding-left: 2px
}

@media screen and (max-width: 767px) {
    .page-about .sc03 .concept span {
        margin-top: -4px;
        padding-left: 2px
    }
}

.page-about .sc03 .txt {
    font-size: 18px;
    text-align: center;
    margin-bottom: 60px
}

.page-about .sc03 .txt p:first-of-type {
    margin-bottom: 30px
}

@media screen and (max-width: 767px) {
    .page-about .sc03 .txt {
        font-size: 14px;
        text-align: left
    }
}

.page-tech .keyword {
    padding: 48px 5%;
    background: linear-gradient(to right, #00c8ff, #4f45ff)
}

@media screen and (max-width: 500px) {
    .page-tech .keyword {
        padding: 20px 2.5%
    }
}

.page-tech .keyword-content {
    background-color: #fff;
    border-radius: 12px;
    padding: 40px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 24px
}

@media screen and (max-width: 500px) {
    .page-tech .keyword-content {
        padding: 16px 8px
    }
}

.page-tech .keyword-header {
    font-size: 28px;
    font-weight: 700;
    color: #2e66e8;
    text-align: center;
    letter-spacing: .2em
}

@media screen and (max-width: 500px) {
    .page-tech .keyword-header {
        font-size: 18px
    }
}

.page-tech .keyword-image-wrapper {
    max-width: 680px;
    margin: 0 auto
}

.page-tech .sc-new-feature {
    padding: 60px 5% 20px
}

.page-tech .sc-new-feature .ttl {
    line-height: 1.4
}

.page-tech .sc-new-feature .content {
    margin-top: 56px
}

.page-tech .sc-new-feature .content+.content {
    margin-top: 48px
}

.page-tech .sc-new-feature .heading {
    font-size: 20px;
    color: #2e66e8;
    font-weight: 700;
    display: flex;
    flex-wrap: wrap
}

.page-tech .sc-new-feature .text {
    margin-top: 16px
}

.page-tech .sc-new-feature .feature {
    max-width: 864px;
    margin: 16px auto 0;
    background-color: #f1f6fa;
    padding: 24px
}

@media screen and (max-width: 640px) {
    .page-tech .sc-new-feature .feature {
        padding: 24px 16px
    }
}

.page-tech .sc-new-feature .feature-title {
    font-size: 18px;
    color: #2e66e8;
    font-weight: 700;
    text-align: center
}

.page-tech .sc-new-feature .feature-contents {
    margin-top: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px
}

@media screen and (max-width: 640px) {
    .page-tech .sc-new-feature .feature-contents {
        grid-template-columns: 1fr 1fr
    }
}

.page-tech .sc-new-feature .feature-content {
    display: flex;
    flex-direction: column;
    align-items: center
}

.page-tech .sc-new-feature .feature-heading {
    font-weight: 700;
    color: #00c0a2
}

.page-tech .sc-new-feature .feature-descriptions {
    margin-top: 12px
}

.page-tech .sc-new-feature .feature-description {
    font-size: 14px;
    padding-left: 1em;
    text-indent: -1em
}

.page-tech .sc-new-feature .feature-description:before {
    content: "・"
}

.page-tech .sc-new-feature .image-wrapper {
    max-width: 864px;
    margin: 16px auto 0
}

.page-tech .sc01 {
    margin-top: 40px;
    background: #008dff;
    border-radius: 50px 50px 0 0;
    padding: 60px
}

@media screen and (max-width: 640px) {
    .page-tech .sc01 {
        padding: 60px 2.5%
    }
}

.page-tech .sc01 .ttl {
    color: #fff;
    font-weight: 700;
    font-size: 38px;
    line-height: 1;
    text-align: center
}

@media screen and (max-width: 767px) {
    .page-tech .sc01 .ttl {
        font-size: 28px
    }
}

.page-tech .sc01 .videolist {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.page-tech .sc01 .wrap {
    width: 48%;
    max-width: 820px;
    margin: 60px auto 0
}

@media screen and (max-width: 960px) {
    .page-tech .sc01 .wrap {
        width: 100%
    }

    .page-tech .sc01 .wrap:first-of-type {
        max-width: 60px auto 40px
    }
}

@media screen and (max-width: 767px) {
    .page-tech .sc01 .wrap {
        margin: 40px auto 0
    }

    .page-tech .sc01 .wrap:first-of-type {
        max-width: 40px auto 40px
    }
}

.page-tech .sc01 .wrap .videottl {
    text-align: center;
    color: #fff;
    font-size: 18px;
    margin: 10px auto 0
}

@media screen and (max-width: 767px) {
    .page-tech .sc01 .wrap .videottl {
        font-size: 16px
    }
}

.page-tech .sc01 .videowrap {
    margin: 0 auto
}

.page-tech .sc02 {
    padding: 60px 5% 20px
}

.page-tech .sc02 .ttl01 br {
    display: none
}

@media screen and (max-width: 767px) {
    .page-tech .sc02 .ttl01 br {
        display: block
    }
}

.page-tech .sc02 .flexwrap {
    display: flex;
    justify-content: space-between;
    column-gap: 32px;
    row-gap: 40px;
    margin: 60px auto 0
}

@media screen and (max-width: 767px) {
    .page-tech .sc02 .flexwrap {
        flex-wrap: wrap
    }
}

.page-tech .sc02 .flexwrap li {
    width: 33.3%
}

@media screen and (max-width: 767px) {
    .page-tech .sc02 .flexwrap li {
        width: 100%
    }

    .page-tech .sc02 .flexwrap li picture {
        max-width: 420px;
        margin: 0 auto
    }
}

.page-tech .sc02 .flexwrap li .txt01 {
    font-size: 20px;
    color: #2e66e8;
    font-weight: 700;
    margin: 20px 0 14px
}

@media screen and (max-width: 767px) {
    .page-tech .sc02 .flexwrap li .txt01 {
        font-size: 18px
    }
}

.page-tech .sc-pharmacy {
    padding: 104px 0 40px
}

.page-tech .sc-pharmacy .title {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 2px;
    color: #2e66e8;
    display: inline-flex;
    align-items: center;
    column-gap: 8px
}

.page-tech .sc-pharmacy .title-initial {
    position: relative;
    font-size: 14px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #2e66e8;
    padding: 4px 8px;
    color: #fff
}

.page-tech .sc-pharmacy .content {
    margin-top: 24px
}

.page-tech .sc-pharmacy .content-main {
    max-width: 864px;
    margin: 16px auto 0;
    background-color: #f1f6fa;
    padding: 24px
}

@media screen and (max-width: 640px) {
    .page-tech .sc-pharmacy .content-main {
        padding: 24px 16px
    }
}

.page-tech .sc-pharmacy .content-title {
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    color: #2e66e8
}

.page-tech .sc-pharmacy .content-items {
    margin-top: 24px;
    display: flex;
    column-gap: 24px
}

.page-tech .sc-pharmacy .content-item {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center
}

.page-tech .sc-pharmacy .content-heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 4px;
    width: 100%;
    border-bottom: 1px solid #DDDDDD
}

.page-tech .sc-pharmacy .content-heading-title {
    font-weight: 700;
    color: #00c0a2
}

.page-tech .sc-pharmacy .content-heading-note {
    font-size: 14px
}

.page-tech .sc-pharmacy .content-heading-note.content-heading-note_emphasis {
    color: #e60000
}

.page-tech .sc-pharmacy .content-description {
    margin-top: 8px;
    align-self: flex-start;
    padding: 0 8px
}

.page-tech .sc-pharmacy .content-examples {
    margin-top: 8px
}

.page-tech .sc-pharmacy .content-example {
    font-size: 14px;
    padding-left: 1em;
    text-indent: -1em
}

.page-tech .sc-pharmacy .content-example:before {
    content: "・"
}

.page-tech .sc-pharmacy .content-image {
    margin: 24px auto 0;
    max-width: 864px;
    display: flex;
    justify-content: center
}

.page-tech .sc-pharmacy .content-image-content {
    object-fit: contain
}

.page-tech .sc-pharmacy .content-link {
    margin: 24px auto 0;
    display: flex;
    justify-content: center;
    max-width: 420px
}

.page-tech .sc-pharmacy .btn03 {
    flex-grow: 1
}

@media screen and (max-width: 767px) {
    .page-tech .sc-pharmacy .title {
        font-size: 18px
    }

    .page-tech .sc-pharmacy .content-title {
        font-size: 16px
    }
}

.page-tech .sc03 {
    padding: 0 5% 20px
}

.page-tech .sc03 .flexwrap {
    display: flex;
    justify-content: space-between;
    column-gap: 32px;
    margin: 60px auto 0
}

@media screen and (max-width: 767px) {
    .page-tech .sc03 .flexwrap {
        flex-wrap: wrap
    }
}

.page-tech .sc03 .flexwrap li {
    width: 33.3%;
    margin-bottom: 40px
}

@media screen and (max-width: 960px) {
    .page-tech .sc03 .flexwrap li {
        width: 48%
    }
}

@media screen and (max-width: 767px) {
    .page-tech .sc03 .flexwrap li {
        width: 100%
    }

    .page-tech .sc03 .flexwrap li picture {
        max-width: 420px;
        margin: 0 auto
    }
}

.page-tech .sc03 .flexwrap li .txt01 {
    font-size: 18px;
    color: #2e66e8;
    font-weight: 700;
    margin: 20px 0 14px
}

@media screen and (max-width: 960px) {
    .page-tech .sc03 .flexwrap li .txt01 {
        margin: 10px 0
    }
}

.page-tech .sc03 .flexwrap li .txt02 {
    font-size: 14px
}

.page-tech .sc04 {
    background: #f1f6fa;
    padding: 24px 5% 12px
}

.page-tech .sc04 .ttl02_inner {
    display: inline-block
}

.page-tech .sc04 .link_list {
    padding: 24px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: 32px;
    row-gap: 16px
}

.page-tech .sc04 .link_item {
    flex-grow: 1;
    max-width: 420px
}

.page-tech .sc04 .btn03 {
    display: block
}

@media screen and (max-width: 420px) {
    .page-tech .sc04 .ttl02 {
        font-size: 5.5vw
    }
}

.page-tech .sc05 {
    background-color: #f1f6fa;
    border-radius: 0 0 50px 50px;
    padding: 60px 5%
}

.page-tech .sc05 .txt01 {
    font-size: 20px;
    text-align: center;
    color: #00c0a2;
    font-weight: 700;
    margin: 40px auto 20px
}

@media screen and (max-width: 500px) {
    .page-tech .sc05 .txt01 {
        font-size: 18px
    }
}

.page-tech .sc05 .img {
    max-width: 640px;
    margin: 0 auto 40px
}

.page-tech .sc05 .txtwrap {
    max-width: 840px;
    margin: 0 auto
}

.page-tech .sc05 .txtwrap p {
    margin-bottom: 20px
}

.page-tech .sc05 .txtwrap p:last-of-type {
    margin-bottom: 0;
    font-size: 12px
}

.page-tech .sc06 {
    padding: 60px 5%
}

.page-tech .sc06 .box {
    border: 1px solid #2E66E8;
    border-radius: 14px;
    padding: 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-weight: 700;
    text-align: left;
    max-width: 1040px;
    margin: 60px auto 0
}

@media screen and (max-width: 680px) {
    .page-tech .sc06 .box {
        padding: 40px 5%
    }
}

.page-tech .sc06 .box .c_l {
    width: 60%;
    border-right: 1px solid #DDDDDD;
    padding-right: 5%
}

@media screen and (max-width: 680px) {
    .page-tech .sc06 .box .c_l {
        width: 100%;
        padding-right: 0%;
        border-right: none;
        border-bottom: 1px solid #DDDDDD;
        padding-bottom: 20px;
        margin-bottom: 20px
    }
}

.page-tech .sc06 .box .c_l p:first-of-type {
    margin-bottom: 20px
}

.page-tech .sc06 .box .c_r {
    width: 40%;
    padding-left: 5%
}

@media screen and (max-width: 680px) {
    .page-tech .sc06 .box .c_r {
        width: 100%;
        padding-left: 0%
    }
}

.page-ai .sc01 {
    padding: 20px 5% 60px
}

@media screen and (max-width: 640px) {
    .page-ai .sc01 {
        padding: 0 5% 40px
    }
}

.page-ai .sc01 .catch {
    font-size: 20px;
    margin: 40px auto;
    max-width: 960px
}

.page-ai .sc01 .wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1040px;
    margin: 0 auto
}

.page-ai .sc01 .wrap li {
    width: 30%
}

@media screen and (max-width: 767px) {
    .page-ai .sc01 .wrap li {
        width: 100%;
        max-width: 420px;
        margin: 0 auto 40px
    }

    .page-ai .sc01 .wrap li:last-of-type {
        margin: 0 auto
    }
}

.page-ai .sc01 .wrap li .txt01 {
    font-size: 16px;
    font-weight: 700;
    color: #2e66e8;
    margin: 10px 0;
    line-height: 1.4
}

.page-ai .sc02 {
    background: #008dff;
    border-radius: 50px 50px 0 0;
    padding: 60px
}

@media screen and (max-width: 640px) {
    .page-ai .sc02 {
        padding: 60px 2.5%;
        margin-bottom: 0
    }
}

.page-ai .sc02 .ttl {
    color: #fff;
    font-weight: 700;
    font-size: 38px;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 60px
}

@media screen and (max-width: 767px) {
    .page-ai .sc02 .ttl {
        font-size: 28px
    }
}

.page-ai .sc02 .ttl .min {
    font-size: 10px;
    display: inline-block
}

.page-ai .sc02 .annotation {
    color: #fff;
    font-size: 14px;
    max-width: 960px;
    margin: 40px auto 0;
    line-height: 1.6
}

.page-ai .sc02 .arrow_decoration {
    position: relative;
    display: inline-block;
    padding: 0;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px
}

@media screen and (max-width: 767px) {
    .page-ai .sc02 .arrow_decoration {
        display: none
    }
}

.page-ai .sc02 .arrow_decoration:before,
.page-ai .sc02 .arrow_decoration:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle
}

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

    .page-ai .sc02 .arrow_decoration:before,
    .page-ai .sc02 .arrow_decoration:after {
        display: none
    }
}

.page-ai .sc02 .arrow_decoration:before {
    left: 0;
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    border: 16px solid transparent;
    border-left: 16px solid #2E66E8
}

.page-ai .wrap_box {
    background: #fff;
    border-radius: 24px 24px 0 0;
    padding: 60px;
    max-width: 1040px;
    margin: 0 auto
}

.page-ai .wrap_box .ttl01 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 700
}

.page-ai .wrap_box .flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.page-ai .wrap_box .flex li {
    width: 45%
}

@media screen and (max-width: 767px) {
    .page-ai .wrap_box .flex li {
        width: 100%;
        max-width: 420px;
        margin: 0 auto 40px
    }

    .page-ai .wrap_box .flex li:last-of-type {
        margin: 0 auto
    }
}

.page-ai .wrap_box .flex li span {
    color: #e60000
}

.page-ai .wrap_box .flex .ttl_tag {
    background: #2e66e8;
    padding: 8px 10px;
    line-height: 1;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    display: inline-block;
    margin: 20px 0 10px;
    min-width: 160px;
    text-align: center
}

.page-ai .wrap_box .flex .ttl_box {
    font-weight: 700;
    font-size: 16px;
    color: #2e66e8;
    line-height: 1.4;
    margin-bottom: 16px
}

.page-ai .wrap_box .flex .txtbox p {
    font-size: 14px;
    margin-bottom: 10px
}

.page-ai .wrap_box .flex .txtbox p:last-of-type {
    margin-bottom: 0
}

.page-ai .wrap_box .box {
    margin-bottom: 60px
}

.page-ai .wrap_box .box:last-of-type {
    margin-bottom: 0
}

.page-ai .links {
    margin-bottom: 60px;
    padding: 24px 5% 12px;
    background-color: #f1f6fa
}

.page-ai .links .ttl02_inner {
    display: inline-block
}

.page-ai .links .link_list {
    padding: 24px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: 32px;
    row-gap: 16px
}

.page-ai .links .link_item {
    flex-grow: 1;
    max-width: 420px
}

.page-ai .links .btn03 {
    display: block
}

@media screen and (max-width: 420px) {
    .page-ai .links .ttl02 {
        font-size: 6vw
    }
}

.page-support .imgpc {
    display: block
}

@media screen and (max-width: 767px) {
    .page-support .imgpc {
        display: none
    }
}

.page-support .imgsp {
    display: none
}

@media screen and (max-width: 767px) {
    .page-support .imgsp {
        display: block;
        max-width: 340px;
        margin: 0 auto
    }
}

.page-support .sc01 {
    background: #008dff;
    border-radius: 50px 50px 0 0;
    padding: 60px
}

@media screen and (max-width: 640px) {
    .page-support .sc01 {
        padding: 60px 2.5%
    }
}

.page-support .sc01 .catch {
    color: #fff;
    text-align: center;
    font-size: 18px;
    line-height: 2;
    margin-bottom: 60px
}

@media screen and (max-width: 960px) {
    .page-support .sc01 .catch {
        text-align: left;
        font-size: 16px
    }
}

.page-support .sc01 .flow {
    padding: 50px 0 60px;
    max-width: 1040px;
    margin: 0 auto
}

.page-support .sc02 {
    background: #fff;
    padding: 60px 60px 20px;
    border-radius: 20px
}

@media screen and (max-width: 640px) {
    .page-support .sc02 {
        padding: 60px 2.5% 20px
    }
}

.page-support .sc02 .ttl02 {
    margin-bottom: 50px
}

.page-support .sc02 .wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.page-support .sc02 .wrap li {
    width: 31%;
    margin-bottom: 40px
}

.page-support .sc02 .wrap li .txt01 {
    font-size: 16px;
    font-weight: 700;
    color: #00c0a2;
    line-height: 1.4;
    margin: 16px 0 10px
}

.page-support .sc02 .wrap li .txt02 {
    font-size: 14px
}

.page-support .sc02 .support_wrap {
    margin: 0 auto 60px;
    max-width: 1040px
}

.page-support .sc02 .support_wrap:last-of-type {
    margin-bottom: 0
}

.page-support .sc02 .support_wrap .cat {
    font-size: 20px;
    color: #fff;
    background: #2e66e8;
    display: inline-block;
    padding: 16px 30px;
    border-radius: 30px;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 20px
}

@media screen and (max-width: 960px) {
    .page-support .sc02 .support_wrap .cat {
        font-size: 18px;
        padding: 16px 30px 14px
    }
}

.page-support .sc02 .support_wrap .cat span {
    display: inline-block;
    font-size: 14px;
    padding-right: 6px
}

.page-support .sc02 .support_wrap .box01 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 40px
}

.page-support .sc02 .support_wrap .box01 .c_l {
    width: 50%
}

@media screen and (max-width: 960px) {
    .page-support .sc02 .support_wrap .box01 .c_l {
        width: 100%;
        margin: 0 auto 20px;
        max-width: 420px
    }
}

.page-support .sc02 .support_wrap .box01 .c_r {
    width: 45%
}

@media screen and (max-width: 960px) {
    .page-support .sc02 .support_wrap .box01 .c_r {
        width: 100%;
        margin: 0 auto
    }
}

.page-support .sc02 .support_wrap .box01 .c_r .ttl {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #2e66e8
}

@media screen and (max-width: 640px) {
    .page-support .sc02 .support_wrap .box01 .c_r .ttl {
        margin-bottom: 10px
    }
}

.page-support .sc02 .support_wrap .box02 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start
}

.page-support .sc02 .support_wrap .box02 li {
    padding: 20px;
    box-shadow: 2px 2px 6px #ddd;
    border-radius: 10px;
    width: 48%
}

@media screen and (max-width: 720px) {
    .page-support .sc02 .support_wrap .box02 li {
        width: 100%
    }

    .page-support .sc02 .support_wrap .box02 li:first-of-type {
        margin-bottom: 20px
    }
}

.page-support .sc02 .support_wrap .box02 li .ttl {
    font-weight: 700;
    margin-bottom: 10px
}

.page-support .sc02 .support_wrap .box02 li p {
    font-size: 14px
}

.page-support .sc03 {
    padding: 80px 5%
}

@media screen and (max-width: 720px) {
    .page-support .sc03 {
        padding: 60px 5%
    }
}

.price .sc01,
.price .sc02,
.price .scPlan {
    padding: 0 16px
}

.price .ttl02_inner {
    display: inline-block
}

.price .sc01 {
    margin-top: 56px
}

.price .sc02 {
    margin-top: 80px
}

.price .content {
    max-width: 80%;
    margin: 16px auto 0
}

.price .image-wrapper {
    margin: 0 auto;
    max-width: 680px
}

.price .image-wrapper.image-wrapper--wide {
    max-width: 100%
}

.price .image {
    width: 100%;
    height: auto
}

.price .note {
    text-indent: -1em;
    padding-left: 1em;
    font-size: 12px
}

.price .appeal-wrapper {
    margin-top: 32px;
    display: flex;
    flex-direction: column;
    align-items: center
}

.price .appeal-wrapper+.link {
    margin-top: 16px
}

.price .appeal {
    font-weight: 700;
    font-size: 18px;
    color: #2e66e8
}

.price .link {
    margin-top: 32px;
    display: flex;
    justify-content: center
}

.price .btn03 {
    max-width: 100%;
    width: 320px;
    display: inline-block
}

.price .aside {
    margin-top: 80px
}

.price .plans {
    margin-top: 32px;
    padding: 32px;
    background-color: #f1f6fa;
    border-radius: 8px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 24px;
    row-gap: 24px
}

@media screen and (max-width: 800px) {
    .price .plans {
        grid-template-columns: repeat(1, 1fr);
        padding: 16px
    }
}

.price .plan {
    display: flex;
    flex-direction: column;
    align-items: center
}

.price .plan-heading {
    font-size: 18px;
    font-weight: 700;
    color: #2e66e8
}

.price .plan-description {
    margin-top: 16px;
    display: flex;
    flex-direction: column
}

@media screen and (max-width: 800px) {
    .price .plan-description {
        margin-top: 12px
    }
}

.price .plan-descriptionInner {
    padding-left: 1em;
    text-indent: -1em
}

.price .plan-descriptionInner:before {
    content: "・"
}

.page-case .ttl-img {
    max-width: 1080px;
    margin: 120px auto 0
}

@media screen and (max-width: 767px) {
    .page-case .ttl-img {
        width: 90%;
        margin-top: 80px
    }
}

.page-case .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-case .sc-box {
        padding: 60px 0 0
    }
}

.page-case .sc-box .heading1,
.page-case .sc-box .heading2 {
    margin-bottom: 80px
}

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

    .page-case .sc-box .heading1,
    .page-case .sc-box .heading2 {
        margin-bottom: 30px
    }
}

.page-case .sc01 {
    padding: 0 5% 60px
}

.page-case .sc01 .graph-wrapper {
    display: flex;
    align-items: center;
    column-gap: 16px
}

.page-case .sc01 .graph {
    width: 100%
}

.page-case .sc02 {
    padding: 60px;
    text-align: center
}

@media screen and (max-width: 640px) {
    .page-case .sc02 {
        padding: 60px 2.5%
    }
}

.page-case .sc02 .ttl {
    font-weight: 600;
    font-size: 42px;
    line-height: 1;
    margin-bottom: 50px
}

@media screen and (max-width: 640px) {
    .page-case .sc02 .ttl {
        font-size: 30px
    }
}

@media screen and (max-width: 420px) {
    .page-case .sc02 .ttl {
        font-size: 26px
    }
}

.page-case .sc02 .sub-ttl {
    font-size: 25px;
    margin-top: 12px;
    font-weight: 500
}

.page-case .sc02 .sub-ttl span {
    font-size: 18px
}

.page-case .sc02 .graph {
    max-width: 640px;
    margin: 40px auto 0
}

.page-case .article {
    padding: 0 5% 60px;
    max-width: 1040px;
    margin: 0 auto
}

.page-case .article .ttl-case {
    font-size: 24px;
    line-height: 1.6;
    background: url(/assets/img/icon_fuki03.svg) no-repeat left center;
    background-size: 50px auto;
    padding-left: 7%;
    margin-bottom: 55px
}

@media screen and (max-width: 767px) {
    .page-case .article .ttl-case {
        font-size: 18px;
        padding-left: 18%;
        margin-bottom: 30px
    }

    .page-case .article .ttl-case br {
        display: none
    }
}

.page-case .article .info {
    background: #f7f7f7;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px
}

@media screen and (max-width: 767px) {
    .page-case .article .info {
        flex-wrap: wrap
    }
}

.page-case .article .info .img {
    width: 48%
}

@media screen and (max-width: 767px) {
    .page-case .article .info .img {
        width: 100%;
        max-width: 420px;
        margin: 0 auto 30px
    }
}

.page-case .article .info .c_r {
    width: 48%
}

@media screen and (max-width: 767px) {
    .page-case .article .info .c_r {
        width: 100%
    }
}

.page-case .article .info .info-ttl {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1em;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 20px
}

@media screen and (max-width: 767px) {
    .page-case .article .info .info-ttl {
        font-size: 16px
    }
}

.page-case .article .info .info-additional {
    font-weight: 700;
    font-size: 14px
}

.page-case .article .info .info-additional+.info-additional {
    margin-top: 12px;
    margin-bottom: 8px
}

@media screen and (max-width: 767px) {
    .page-case .article .info .info-additional {
        font-size: 12px
    }
}

.page-case .article .info .info-dl.info-dl--column {
    flex-direction: column;
    align-items: flex-start
}

.page-case .article .info .info-dl.info-dl--column .info-dt {
    width: auto
}

.page-case .article .info .info-dl.info-dl--column .info-dd {
    margin-bottom: 0;
    width: 100%
}

.page-case .article .info .info-dl.info-dl--column .info-dd-inner {
    display: flex;
    flex-wrap: wrap
}

.page-case .article .info .info-dl.info-dl--column .info-dd-inner.info-dd-inner--hasNumber {
    text-indent: -2.5em;
    padding-left: 2em
}

.page-case .article .info .info-dl.info-dl--column .info-dd-inner.info-dd-inner--note {
    font-size: 12px;
    padding-left: 1em;
    text-indent: -1em
}

.page-case .article .info .info-dl.info-dl--column+.info-dl.info-dl--column {
    margin-top: 12px
}

.page-case .article .info .info-dd {
    display: flex;
    flex-direction: column;
    row-gap: 4px;
    line-height: 1.4
}

.page-case .article .info dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap
}

.page-case .article .info dt {
    width: 20%;
    text-align: center;
    background: #333;
    color: #fff;
    font-size: 12px;
    padding: 10px 12px;
    line-height: 1;
    display: inline-block;
    border-radius: 3px;
    margin-bottom: 10px
}

@media screen and (max-width: 960px) {
    .page-case .article .info dt {
        width: 30%
    }
}

@media screen and (max-width: 767px) {
    .page-case .article .info dt {
        width: 30%
    }
}

.page-case .article .info dd {
    width: 75%;
    line-height: 1;
    margin-bottom: 10px
}

@media screen and (max-width: 960px) {
    .page-case .article .info dd {
        width: 65%;
        font-size: 14px
    }
}

@media screen and (max-width: 767px) {
    .page-case .article .info dd {
        width: 65%;
        font-size: 12px
    }
}

.page-case .article .info-multi-img {
    column-gap: 32px
}

.page-case .article .info-multi-img .imgWrapper {
    flex-shrink: 0;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 16px
}

@media screen and (max-width: 767px) {
    .page-case .article .info-multi-img .imgWrapper {
        width: 100%
    }
}

.page-case .article .info-multi-img .img {
    width: 100%;
    max-width: 100%
}

.page-case .article .info-multi-img .c_r {
    width: 100%
}

.page-case .article .lead {
    margin-bottom: 60px
}

.page-case .article .sc_point .ttl {
    border-left: 6px solid;
    border-image: linear-gradient(to bottom, #4f45ff, #00c8ff) 1;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
    padding: 12px 0 10px 10px;
    margin-bottom: 20px
}

.page-case .article .sc_point .icon_red {
    background: #e60000;
    color: #fff;
    font-size: 12px;
    text-align: center;
    padding: 5px 20px;
    line-height: 1;
    border-radius: 3px;
    font-weight: 700
}

.page-case .article .sc_point .icon_red+.after.after--no-x-margin {
    margin-top: 10px
}

.page-case .article .sc_point .icon_green {
    background: #00c0a2;
    color: #fff;
    font-size: 12px;
    text-align: center;
    padding: 5px 20px;
    line-height: 1;
    border-radius: 3px;
    font-weight: 700
}

.page-case .article .sc_point .icon_green+.after.after--no-x-margin {
    margin-top: 10px
}

.page-case .article .sc_point .after {
    padding: 10px 0 0 20px
}

.page-case .article .sc_point .after.after--no-x-margin {
    padding: 0
}

.page-case .article .sc_point .after.after--note {
    margin-top: 4px;
    font-size: 12px;
    padding-left: 1em;
    text-indent: -1em
}

.page-case .article .sc_point .after-text {
    position: relative;
    display: flex;
    align-items: flex-start;
    column-gap: 4px;
    line-height: 1.4
}

.page-case .article .sc_point .after-text:before {
    flex-shrink: 0;
    content: "・";
    height: 1em
}

.page-case .article .sc_point .after-text+.after-text {
    margin-top: 4px
}

.page-case .article .sc_point .wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    box-shadow: 2px 2px 6px #ddd
}

@media screen and (max-width: 520px) {
    .page-case .article .sc_point .wrap {
        padding: 10px 0
    }
}

.page-case .article .sc_point .wrap:not(:last-of-type) {
    margin-bottom: 30px
}

.page-case .article .sc_point .box {
    width: 48%;
    padding: 20px;
    font-size: 14px
}

@media screen and (max-width: 520px) {
    .page-case .article .sc_point .box {
        width: 100%;
        padding: 10px 20px
    }
}

.page-case .article .sc_point .box.box--full {
    width: 100%
}

.page-case .article .sc_point .image {
    max-width: 400px
}

.page-case .article .sc_point.sc_point--flow .wrap {
    position: relative
}

.page-case .article .sc_point.sc_point--flow .wrap:not(:last-of-type) {
    margin-bottom: 48px
}

.page-case .article .sc_point.sc_point--flow .wrap+.wrap:before {
    position: absolute;
    content: "";
    top: -32px;
    left: 50%;
    transform: translate(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    border-top: 21px solid #DDDDDD;
    border-bottom: 0
}

.page-case .article .action {
    display: flex;
    justify-content: center;
    max-width: 440px;
    margin: 54px auto 0
}

.page-case .article .action .button {
    height: 52px;
    padding: 0 32px;
    display: flex;
    align-items: center;
    font-size: 16px;
    background-color: #ff8900;
    color: #fff;
    border-radius: 26px
}

@media (hover: hover) {
    .page-case .article .action .button:hover {
        filter: brightness(88%)
    }
}

.page-case .article .sc_index {
    margin-top: 60px
}

.page-case .article .sc_index .ttl {
    border-left: 6px solid;
    border-image: linear-gradient(to bottom, #4f45ff, #00c8ff) 1;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
    padding: 12px 0 10px 10px;
    margin-bottom: 20px
}

.page-case .article .sc_index .tab {
    display: block;
    box-shadow: 2px 2px 6px #ddd;
    position: relative;
    padding: 16px 40px 16px 20px;
    margin-bottom: 20px;
    transition: .5s
}

.page-case .article .sc_index .tab:hover {
    background: #f1f6fa
}

.page-case .article .sc_index .tab:last-of-type {
    margin-bottom: 0
}

.page-case .article .sc_index .tab:after {
    width: 30px;
    height: 100%;
    background: url(/assets/img/arrow-right-regular.svg) no-repeat center center, #008dff;
    background-size: 14px;
    display: block;
    content: "";
    position: absolute;
    right: 0;
    top: 0
}

.page-case .article .sc_index .tab dt {
    color: #2e66e8;
    font-weight: 700;
    font-size: 14px
}

.page-case .article .sc_article {
    margin-top: 60px
}

.page-case .article .sc_article .icon_green {
    background: #2e66e8;
    color: #fff;
    font-size: 14px;
    text-align: center;
    padding: 12px 20px 10px;
    line-height: 1;
    border-radius: 3px;
    font-weight: 700;
    display: inline-block;
    margin-bottom: 16px
}

@media screen and (max-width: 767px) {
    .page-case .article .sc_article .icon_green {
        font-size: 12px
    }
}

.page-case .article .sc_article .ttl {
    font-weight: 700;
    font-size: 18px;
    border-bottom: 4px solid;
    border-image: linear-gradient(to top, #646fe0, #2e66e8) 1;
    padding-bottom: 10px
}

@media screen and (max-width: 767px) {
    .page-case .article .sc_article .ttl {
        font-size: 16px
    }
}

.page-case .article .sc_article .ttl .min {
    display: block;
    font-weight: 500;
    font-size: 14px;
}

.page-case .article .sc_article .ask {
    font-weight: 700;
    margin: 40px 0 20px
}

.page-case .article .sc_article .textarea picture {
    display: block;
    max-width: 640px;
    margin: 0 auto 20px
}

.page-case .article .sc_article .textarea p {
    margin-bottom: 20px
}

.page-case .article .sc_article .textarea p:last-of-type {
    margin-bottom: 0
}

.page-case .article .sc_article .textarea p.min {
    font-size: 14px
}

.page-case .article .sc_article .textarea p.mgt {
    margin-top: 20px;
}

.page-case .article .sc_article .textarea p a {
    color: #2e66e8;
    cursor: pointer;
}
.page-case .article .sc_article .textarea p a:hover {
    text-decoration: underline;
}

.page-case .article .section .title {
    border-left: 6px solid;
    border-image: linear-gradient(to bottom, #4f45ff, #00c8ff) 1;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
    padding: 12px 0 10px 10px;
    margin-bottom: 20px
}

.page-case .article .section .list {
    display: flex;
    flex-direction: column;
    row-gap: 4px
}

.page-case .article .section .list-item {
    padding-left: 1em;
    text-indent: -1em
}

.page-case .article .section .list-item:before {
    content: "・"
}

.page-case .article .actions {
    margin-top: 24px;
    display: flex;
    align-items: center;
    column-gap: 32px
}

.page-case .article .actions .action {
    flex-grow: 1;
    width: 33.3%;
    margin-top: 0
}

.page-case .article .actions .action a {
    font-size: 16px
}

.page-case .article .actions .action .button {
    font-size: 14px;
    width: 100%;
    justify-content: center
}

.page-case .article .section+.section,
.page-case .article .section+.sc_point,
.page-case .article .sc_point+.section {
    margin-top: 40px
}

@media screen and (max-width: 950px) {
    .page-case .article .actions {
        flex-direction: column;
        row-gap: 16px
    }

    .page-case .article .actions .action {
        width: 100%
    }
}

.page-case .article .btnwrap {
    margin-top: 40px;
}

.page-qa .ttl-img {
    max-width: 351px;
    margin: 120px auto 0
}

@media screen and (max-width: 767px) {
    .page-qa .ttl-img {
        width: 90%;
        padding-top: 20px
    }
}

.page-qa .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-qa .sc-box {
        padding: 60px 0 0
    }
}

.page-qa .sc-box .heading1,
.page-qa .sc-box .heading2 {
    margin-bottom: 80px
}

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

    .page-qa .sc-box .heading1,
    .page-qa .sc-box .heading2 {
        margin-bottom: 30px
    }
}

.page-qa .sc01 {
    background: #f1f6fa;
    padding: 60px 5%;
    border-radius: 0 0 80px 80px;
    margin-bottom: 80px
}

@media screen and (max-width: 500px) {
    .page-qa .sc01 {
        border-radius: 0 0 40px 40px
    }
}

.details {
    margin: 0 auto 30px;
    background: #fff;
    padding: 40px 30px;
    max-width: 1100px
}

@media screen and (max-width: 960px) {
    .details {
        padding: 40px 15px
    }
}

.details-summary {
    position: relative;
    display: block;
    color: #2e66e8;
    font-size: 20px;
    font-weight: 700;
    background: url(/assets/img/icon_q.svg) no-repeat left center;
    background-size: 30px;
    padding: 0 46px
}

@media screen and (max-width: 960px) {
    .details-summary {
        background: url(/assets/img/icon_q.svg) no-repeat left top 0px;
        background-size: 30px;
        min-height: 30px;
        line-height: 1.4;
        font-size: 18px;
        padding: 0 40px
    }
}

.details-summary:hover {
    cursor: pointer;
    opacity: .8
}

.details-summary .btn {
    position: absolute;
    top: 9px;
    right: 0;
    width: 18px;
    height: 18px;
    transform-origin: center center;
    transition-duration: .2s
}

.details-summary .btn:before,
.details-summary .btn:after {
    content: "";
    background-color: #2e66e8;
    border-radius: 10px;
    width: 18px;
    height: 2px;
    position: absolute;
    top: 8px;
    left: 0;
    transform-origin: center center
}

.details-summary .btn:before {
    width: 2px;
    height: 18px;
    top: 0;
    left: 8px
}

.details-summary.is-active .btn {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.details-summary.is-active .btn:before {
    content: none
}

.details-summary::-webkit-details-marker {
    display: none
}

.details-content {
    margin-top: 30px;
    background: url(/assets/img/icon_a.svg) no-repeat left top;
    background-size: 30px;
    padding: 0 46px;
    font-size: 16px
}

@media screen and (max-width: 960px) {
    .details-content {
        line-height: 1.6
    }
}

.details-content a {
    color: #2e66e8;
    text-decoration: underline
}

.page-info .ttl-img {
    max-width: 1173px;
    margin: 120px auto 0
}

@media screen and (max-width: 767px) {
    .page-info .ttl-img {
        width: 90%;
        padding-top: 20px
    }
}

.page-info .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-info .sc-box {
        padding: 60px 0 0
    }
}

.page-info .sc-box .heading1,
.page-info .sc-box .heading2 {
    margin-bottom: 80px
}

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

    .page-info .sc-box .heading1,
    .page-info .sc-box .heading2 {
        margin-bottom: 30px
    }
}

.page-info .sc_pick {
    background: #008dff;
    padding: 60px 5%;
    border-radius: 50px 50px 0 0
}

.page-info .sc_pick .ttlwrap {
    text-align: center;
    color: #fff;
    letter-spacing: 4px;
    margin-bottom: 60px
}

.page-info .sc_pick .ttlwrap .eng {
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 1;
    margin-bottom: 10px
}

@media screen and (max-width: 640px) {
    .page-info .sc_pick .ttlwrap .eng {
        font-size: 34px
    }
}

.page-info .sc_pick .ttlwrap .ttl {
    font-weight: 700;
    font-size: 18px;
    line-height: 1
}

@media screen and (max-width: 640px) {
    .page-info .sc_pick .ttlwrap .ttl {
        font-size: 16px
    }
}

.page-info .sc_pick .pick_box {
    background: #fff;
    padding: 20px;
    border-radius: 20px;
    display: block;
    transition: .5s;
    margin-bottom: 20px
}

.page-info .sc_pick .pick_box:last-of-type {
    margin-bottom: 0
}

.page-info .sc_pick .pick_box:hover {
    background: #f1f6fa
}

.page-info .sc_pick .pick_box:hover .arrow {
    background: #00c0a2
}

.page-info .sc_pick .pick_box .infobox {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.page-info .sc_pick .pick_box .c_l {
    width: 40%
}

@media screen and (max-width: 960px) {
    .page-info .sc_pick .pick_box .c_l {
        width: 100%;
        max-width: 640px;
        margin: 0 auto 20px
    }
}

.page-info .sc_pick .pick_box .c_r {
    width: 55%;
    position: relative
}

@media screen and (max-width: 960px) {
    .page-info .sc_pick .pick_box .c_r {
        width: 100%;
        max-width: 640px;
        margin: 0 auto
    }
}

.page-info .sc_pick .pick_box .date {
    padding: 20px 0 10px;
    margin-bottom: 20px;
    font-size: 12px;
    font-family: Montserrat, sans-serif;
    line-height: 1;
    color: #00c0a2;
    border-bottom: 1px solid #00C0A2
}

.page-info .sc_pick .pick_box .ttl {
    font-size: 18px;
    color: #2e66e8;
    font-weight: 700;
    line-height: 1.6
}

@media screen and (max-width: 640px) {
    .page-info .sc_pick .pick_box .ttl {
        font-size: 16px
    }
}

@media screen and (max-width: 420px) {
    .page-info .sc_pick .pick_box .ttl {
        font-size: 14px
    }
}

.page-info .sc_pick .pick_box .tag {
    margin-top: 20px;
    color: #00c0a2;
    font-size: 12px;
    border: 1px solid #00C0A2;
    border-radius: 20px;
    text-align: center;
    display: inline-block;
    padding: 4px 16px;
    line-height: 1
}

.page-info .sc_pick .pick_box .arrow {
    background: linear-gradient(to right, #00c8ff, #4f45ff);
    border-radius: 50%;
    padding: 8px 7px;
    width: 14px;
    position: absolute;
    bottom: 0;
    right: 0
}

.page-info .sc_info {
    padding: 60px 5% 20px
}

.page-info .sc_info .ttl01 {
    margin-bottom: 60px
}

.page-contact .ttl-img {
    max-width: 800px;
    margin: 120px auto 0
}

@media screen and (max-width: 767px) {
    .page-contact .ttl-img {
        width: 90%;
        margin-top: 80px
    }
}

.page-contact .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .page-contact .sc-box {
        padding: 60px 0 0
    }
}

.page-contact .sc-box .heading1,
.page-contact .sc-box .heading2 {
    margin-bottom: 80px
}

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

    .page-contact .sc-box .heading1,
    .page-contact .sc-box .heading2 {
        margin-bottom: 30px
    }
}

.page-contact .sc01 {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 60px;
    text-align: center;
    padding: 40px 2.5%;
    background-color: #f7f7f7
}

.page-contact .sc01-content {
    margin-top: 24px
}

.page-contact .caution {
    text-align: left;
    font-size: 12px;
    padding-left: 10px
}

.page-contact .image-area {
    max-width: 620px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 16px
}

.page-contact .image-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 8px
}

.page-contact .image-description {
    font-size: 12px
}

.image-area+.formwrap {
    margin-top: 24px
}

.formwrap .ss_form_title {
    font-size: 14px;
    font-weight: 700
}

.formwrap .ss_user_notnull {
    font-size: 12px;
    padding-left: 10px;
    display: inline-block;
    color: #e60000
}

.formwrap .ss_field:nth-child(odd) {
    background-color: #f7f7f7
}

.formwrap .ss_contents fieldset+fieldset {
    background-color: #f7f7f7
}

.formwrap .ss_contents fieldset {
    border: none;
    text-align: left;
    margin-bottom: 24px
}

.formwrap .ss_field input,
.formwrap textarea {
    border: 1px solid #dddddd;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    font-size: 14px;
    font-family: Avenir, Verdana, Arial, Noto Sans JP, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif
}

.formwrap .ss_grid {
    width: 100%;
    display: block
}

.formwrap #ss_name .ss_grid {
    width: 100%;
    display: flex;
    justify-content: space-between
}

.formwrap #ss_name .ss_grid .ss_input {
    width: 48%
}

.formwrap .ss_required_field input[type=checkbox] {
    width: auto
}

.formwrap .ss_input {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 10px;
    font-size: 14px
}

.formwrap .ss_input .ss_bottomComment {
    width: 100%
}

.formwrap .ss_input .ss_bottomComment a {
    text-decoration: underline;
    color: #2e66e8;
    transition: .5s;
    cursor: pointer
}

.formwrap .ss_input .ss_bottomComment a:hover {
    color: #00c0a2
}

.formwrap .ss_btnArea input {
    text-decoration: none;
    font-size: 14px;
    text-align: center;
    background: #2e66e8;
    border: 2px solid #2E66E8;
    color: #fff;
    padding: 9px 24px;
    border-radius: 30px;
    transition: .5s
}

.formwrap .ss_btnArea input:hover {
    background: #fff;
    color: #2e66e8
}

.formwrap input[type=button] {
    cursor: pointer
}

.page-download .ttl-img,
.page-webinar .ttl-img,
.page-thanks .ttl-img {
    max-width: 1155px;
    margin: 120px auto 0
}

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

    .page-download .ttl-img,
    .page-webinar .ttl-img,
    .page-thanks .ttl-img {
        width: 90%;
        padding-top: 20px
    }
}

.page-download .sc-box,
.page-webinar .sc-box,
.page-thanks .sc-box {
    padding: 140px 0 0;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

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

    .page-download .sc-box,
    .page-webinar .sc-box,
    .page-thanks .sc-box {
        padding: 60px 0 0
    }
}

.page-download .sc-box .heading1,
.page-download .sc-box .heading2,
.page-webinar .sc-box .heading1,
.page-webinar .sc-box .heading2,
.page-thanks .sc-box .heading1,
.page-thanks .sc-box .heading2 {
    margin-bottom: 80px
}

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

    .page-download .sc-box .heading1,
    .page-download .sc-box .heading2,
    .page-webinar .sc-box .heading1,
    .page-webinar .sc-box .heading2,
    .page-thanks .sc-box .heading1,
    .page-thanks .sc-box .heading2 {
        margin-bottom: 30px
    }
}

.page-download .pagettl-inner,
.page-webinar .pagettl-inner,
.page-thanks .pagettl-inner {
    display: inline-block
}

.page-download .document-list,
.page-download .documentItem,
.page-webinar .document-list,
.page-webinar .documentItem,
.page-thanks .document-list,
.page-thanks .documentItem {
    padding: 0 5% 60px
}

.page-download .document-items,
.page-webinar .document-items,
.page-thanks .document-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.page-download .document-link,
.page-webinar .document-link,
.page-thanks .document-link {
    position: relative;
    display: flex;
    flex-direction: column;
    row-gap: 16px;
    padding: 16px 16px 48px;
    height: 100%;
    border-radius: 10px;
    box-shadow: 2px 2px 6px #ddd;
    transition: .5s
}

.page-download .document-link .image,
.page-webinar .document-link .image,
.page-thanks .document-link .image {
    object-fit: contain;
    aspect-ratio: 16/10
}

.page-download .document-link:hover,
.page-webinar .document-link:hover,
.page-thanks .document-link:hover {
    background: #f1f6fa
}

.page-download .document-link:hover .arrow,
.page-webinar .document-link:hover .arrow,
.page-thanks .document-link:hover .arrow {
    background: #00c0a2
}

.page-download .document-content,
.page-webinar .document-content,
.page-thanks .document-content {
    display: flex;
    flex-direction: column;
    row-gap: 8px
}

.page-download .document-title,
.page-webinar .document-title,
.page-thanks .document-title {
    font-size: 16px;
    font-weight: 700;
    color: #2e66e8
}

.page-download .document-description,
.page-webinar .document-description,
.page-thanks .document-description {
    font-size: 14px
}

.page-download .arrow,
.page-webinar .arrow,
.page-thanks .arrow {
    background: linear-gradient(to right, #00c8ff, #4f45ff);
    border-radius: 50%;
    padding: 8px 7px;
    width: 14px;
    position: absolute;
    bottom: 16px;
    right: 10px
}

.page-download .documentItem,
.page-webinar .documentItem,
.page-thanks .documentItem {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 40%;
    align-items: start;
    column-gap: 32px;
    row-gap: 48px
}

.page-download .documentItem-title,
.page-webinar .documentItem-title,
.page-thanks .documentItem-title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
    background: url(/assets/img/icon_fuki03.svg) no-repeat left center;
    background-size: 50px auto;
    padding-left: 7%;
    min-height: 55px;
    display: flex;
    align-items: center
}

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

    .page-download .documentItem-title,
    .page-webinar .documentItem-title,
    .page-thanks .documentItem-title {
        padding-left: 18%;
        margin-bottom: 30px
    }
}

.page-download .documentItem-content,
.page-webinar .documentItem-content,
.page-thanks .documentItem-content {
    margin-top: 40px
}

.page-download .documentItem-images,
.page-webinar .documentItem-images,
.page-thanks .documentItem-images {
    display: flex;
    column-gap: 16px
}

.page-download .documentItem-images .img,
.page-webinar .documentItem-images .img,
.page-thanks .documentItem-images .img {
    width: 50%
}

.page-download .documentItem-form,
.page-webinar .documentItem-form,
.page-thanks .documentItem-form {
    position: sticky;
    top: 90px;
    right: 0;
    background-color: #f7f7f7;
    padding: 24px 16px;
    overflow-y: scroll;
    height: calc(100vh - 90px)
}

.page-download .documentItem-caution,
.page-webinar .documentItem-caution,
.page-thanks .documentItem-caution {
    font-size: 12px;
    padding-left: 10px
}

.page-download .documentItem-description,
.page-webinar .documentItem-description,
.page-thanks .documentItem-description,
.page-download .documentItem-content .description,
.page-download .documentItem-section .description,
.page-webinar .documentItem-content .description,
.page-webinar .documentItem-section .description,
.page-thanks .documentItem-content .description,
.page-thanks .documentItem-section .description {
    margin-top: 24px
}

.page-download .documentItem-content .list,
.page-download .documentItem-section .list,
.page-webinar .documentItem-content .list,
.page-webinar .documentItem-section .list,
.page-thanks .documentItem-content .list,
.page-thanks .documentItem-section .list {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    row-gap: 4px
}

.page-download .documentItem-content .list-item,
.page-download .documentItem-section .list-item,
.page-webinar .documentItem-content .list-item,
.page-webinar .documentItem-section .list-item,
.page-thanks .documentItem-content .list-item,
.page-thanks .documentItem-section .list-item {
    padding-left: 1em;
    text-indent: -1em
}

.page-download .documentItem-content .list-item:before,
.page-download .documentItem-section .list-item:before,
.page-webinar .documentItem-content .list-item:before,
.page-webinar .documentItem-section .list-item:before,
.page-thanks .documentItem-content .list-item:before,
.page-thanks .documentItem-section .list-item:before {
    content: "・"
}

.page-download .documentItem-content .list.list--withNumber,
.page-download .documentItem-section .list.list--withNumber,
.page-webinar .documentItem-content .list.list--withNumber,
.page-webinar .documentItem-section .list.list--withNumber,
.page-thanks .documentItem-content .list.list--withNumber,
.page-thanks .documentItem-section .list.list--withNumber {
    counter-reset: list-counter;
    row-gap: 24px
}

.page-download .documentItem-content .list.list--withNumber .list-item,
.page-download .documentItem-section .list.list--withNumber .list-item,
.page-webinar .documentItem-content .list.list--withNumber .list-item,
.page-webinar .documentItem-section .list.list--withNumber .list-item,
.page-thanks .documentItem-content .list.list--withNumber .list-item,
.page-thanks .documentItem-section .list.list--withNumber .list-item {
    line-height: 1;
    display: flex;
    align-items: center;
    padding-left: 0;
    text-indent: initial;
    column-gap: 16px
}

.page-download .documentItem-content .list.list--withNumber .list-item:before,
.page-download .documentItem-section .list.list--withNumber .list-item:before,
.page-webinar .documentItem-content .list.list--withNumber .list-item:before,
.page-webinar .documentItem-section .list.list--withNumber .list-item:before,
.page-thanks .documentItem-content .list.list--withNumber .list-item:before,
.page-thanks .documentItem-section .list.list--withNumber .list-item:before {
    counter-increment: list-counter;
    content: counter(list-counter);
    padding-right: 8px;
    border-right: 2px solid #00C0A2;
    font-size: 22px;
    font-weight: 700;
    color: #00c0a2
}

.page-download .documentItem-content .list.list--withNumber .list-item.list-item--noNumber:before,
.page-download .documentItem-section .list.list--withNumber .list-item.list-item--noNumber:before,
.page-webinar .documentItem-content .list.list--withNumber .list-item.list-item--noNumber:before,
.page-webinar .documentItem-section .list.list--withNumber .list-item.list-item--noNumber:before,
.page-thanks .documentItem-content .list.list--withNumber .list-item.list-item--noNumber:before,
.page-thanks .documentItem-section .list.list--withNumber .list-item.list-item--noNumber:before {
    content: none
}

.page-download .documentItem-section,
.page-webinar .documentItem-section,
.page-thanks .documentItem-section {
    margin-top: 40px
}

.page-download .documentItem-section .title,
.page-webinar .documentItem-section .title,
.page-thanks .documentItem-section .title {
    border-left: 6px solid;
    border-image: linear-gradient(to bottom, #4f45ff, #00c8ff) 1;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
    padding: 12px 0 12px 12px
}

.page-download .documentItem-section .point,
.page-webinar .documentItem-section .point,
.page-thanks .documentItem-section .point {
    margin-top: 16px
}

.page-download .documentItem-section .icon_red,
.page-webinar .documentItem-section .icon_red,
.page-thanks .documentItem-section .icon_red {
    background: #e60000;
    color: #fff;
    font-size: 12px;
    text-align: center;
    padding: 5px 20px;
    line-height: 1;
    border-radius: 3px;
    font-weight: 700
}

.page-download .documentItem-section .icon_red+.after.after--no-x-margin,
.page-webinar .documentItem-section .icon_red+.after.after--no-x-margin,
.page-thanks .documentItem-section .icon_red+.after.after--no-x-margin {
    margin-top: 10px
}

.page-download .documentItem-section .icon_green,
.page-webinar .documentItem-section .icon_green,
.page-thanks .documentItem-section .icon_green {
    background: #00c0a2;
    color: #fff;
    font-size: 12px;
    text-align: center;
    padding: 5px 20px;
    line-height: 1;
    border-radius: 3px;
    font-weight: 700
}

.page-download .documentItem-section .icon_green+.after.after--no-x-margin,
.page-webinar .documentItem-section .icon_green+.after.after--no-x-margin,
.page-thanks .documentItem-section .icon_green+.after.after--no-x-margin {
    margin-top: 10px
}

.page-download .documentItem-section .after,
.page-webinar .documentItem-section .after,
.page-thanks .documentItem-section .after {
    padding: 10px 0 0 20px
}

.page-download .documentItem-section .after.after--no-x-margin,
.page-webinar .documentItem-section .after.after--no-x-margin,
.page-thanks .documentItem-section .after.after--no-x-margin {
    padding: 0
}

.page-download .documentItem-section .after-text,
.page-webinar .documentItem-section .after-text,
.page-thanks .documentItem-section .after-text {
    position: relative;
    display: flex;
    align-items: flex-start;
    column-gap: 4px;
    line-height: 1.4
}

.page-download .documentItem-section .after-text:before,
.page-webinar .documentItem-section .after-text:before,
.page-thanks .documentItem-section .after-text:before {
    flex-shrink: 0;
    content: "・";
    height: 1em
}

.page-download .documentItem-section .after-text+.after-text,
.page-webinar .documentItem-section .after-text+.after-text,
.page-thanks .documentItem-section .after-text+.after-text {
    margin-top: 4px
}

.page-download .documentItem-section .wrap,
.page-webinar .documentItem-section .wrap,
.page-thanks .documentItem-section .wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    box-shadow: 2px 2px 6px #ddd
}

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

    .page-download .documentItem-section .wrap,
    .page-webinar .documentItem-section .wrap,
    .page-thanks .documentItem-section .wrap {
        padding: 10px 0
    }
}

.page-download .documentItem-section .wrap:not(:last-of-type),
.page-webinar .documentItem-section .wrap:not(:last-of-type),
.page-thanks .documentItem-section .wrap:not(:last-of-type) {
    margin-bottom: 48px
}

.page-download .documentItem-section .wrap+.wrap:before,
.page-webinar .documentItem-section .wrap+.wrap:before,
.page-thanks .documentItem-section .wrap+.wrap:before {
    position: absolute;
    content: "";
    top: -32px;
    left: 50%;
    transform: translate(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    border-top: 21px solid #DDDDDD;
    border-bottom: 0
}

.page-download .documentItem-section .box,
.page-webinar .documentItem-section .box,
.page-thanks .documentItem-section .box {
    width: 48%;
    padding: 20px;
    font-size: 14px
}

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

    .page-download .documentItem-section .box,
    .page-webinar .documentItem-section .box,
    .page-thanks .documentItem-section .box {
        width: 100%;
        padding: 10px 20px
    }
}

.page-download .documentItem-section .box.box--full,
.page-webinar .documentItem-section .box.box--full,
.page-thanks .documentItem-section .box.box--full {
    width: 100%
}

.page-download .documentItem-section .columns,
.page-webinar .documentItem-section .columns,
.page-thanks .documentItem-section .columns {
    margin-top: 16px;
    display: flex;
    gap: 24px
}

.page-download .documentItem-section .column,
.page-webinar .documentItem-section .column,
.page-thanks .documentItem-section .column {
    width: 50%
}

.page-download .documentItem-section .link,
.page-webinar .documentItem-section .link,
.page-thanks .documentItem-section .link {
    color: #2e66e8
}

.page-download .documentItem-section .link:hover,
.page-webinar .documentItem-section .link:hover,
.page-thanks .documentItem-section .link:hover {
    opacity: .8;
    text-decoration: underline
}

.page-download .paper-info,
.page-webinar .paper-info,
.page-thanks .paper-info {
    background-color: #f7f7f7;
    padding: 16px;
    display: flex;
    flex-direction: column;
    row-gap: 24px
}

.page-download .paper-info .info-ttl,
.page-webinar .paper-info .info-ttl,
.page-thanks .paper-info .info-ttl {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1em;
    font-weight: 700;
    font-size: 18px
}

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

    .page-download .paper-info .info-ttl,
    .page-webinar .paper-info .info-ttl,
    .page-thanks .paper-info .info-ttl {
        font-size: 16px
    }
}

.page-download .paper-info .info-dl,
.page-webinar .paper-info .info-dl,
.page-thanks .paper-info .info-dl {
    margin-top: 16px
}

.page-download .paper-info .info-dl.info-dl--column,
.page-webinar .paper-info .info-dl.info-dl--column,
.page-thanks .paper-info .info-dl.info-dl--column {
    flex-direction: column;
    align-items: flex-start
}

.page-download .paper-info .info-dl.info-dl--column .info-dt,
.page-webinar .paper-info .info-dl.info-dl--column .info-dt,
.page-thanks .paper-info .info-dl.info-dl--column .info-dt {
    width: auto
}

.page-download .paper-info .info-dl.info-dl--column .info-dd,
.page-webinar .paper-info .info-dl.info-dl--column .info-dd,
.page-thanks .paper-info .info-dl.info-dl--column .info-dd {
    margin-bottom: 0;
    width: 100%
}

.page-download .paper-info .info-dl.info-dl--column .info-dd-inner,
.page-webinar .paper-info .info-dl.info-dl--column .info-dd-inner,
.page-thanks .paper-info .info-dl.info-dl--column .info-dd-inner {
    display: flex;
    flex-wrap: wrap
}

.page-download .paper-info .info-dl.info-dl--column .info-dd-inner.info-dd-inner--hasNumber,
.page-webinar .paper-info .info-dl.info-dl--column .info-dd-inner.info-dd-inner--hasNumber,
.page-thanks .paper-info .info-dl.info-dl--column .info-dd-inner.info-dd-inner--hasNumber {
    text-indent: -2.5em;
    padding-left: 2em
}

.page-download .paper-info .info-dl.info-dl--column+.info-dl.info-dl--column,
.page-webinar .paper-info .info-dl.info-dl--column+.info-dl.info-dl--column,
.page-thanks .paper-info .info-dl.info-dl--column+.info-dl.info-dl--column {
    margin-top: 12px
}

.page-download .paper-info .info-dd,
.page-webinar .paper-info .info-dd,
.page-thanks .paper-info .info-dd {
    display: flex;
    flex-direction: column;
    row-gap: 4px;
    line-height: 1.4
}

.page-download .paper-info dt,
.page-webinar .paper-info dt,
.page-thanks .paper-info dt {
    width: 20%;
    text-align: center;
    background: #333;
    color: #fff;
    font-size: 12px;
    padding: 10px 12px;
    line-height: 1;
    display: inline-block;
    border-radius: 3px;
    margin-bottom: 10px
}

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

    .page-download .paper-info dt,
    .page-webinar .paper-info dt,
    .page-thanks .paper-info dt {
        width: 30%
    }
}

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

    .page-download .paper-info dt,
    .page-webinar .paper-info dt,
    .page-thanks .paper-info dt {
        width: 30%
    }
}

.page-download .documentItem-attention,
.page-webinar .documentItem-attention,
.page-thanks .documentItem-attention {
    margin-top: 40px;
    font-weight: 700;
    text-align: center;
    background-color: #2e66e8;
    color: #fff;
    padding: 12px 16px
}

.page-download .documentItem-attention.documentItem-attention--under,
.page-webinar .documentItem-attention.documentItem-attention--under,
.page-thanks .documentItem-attention.documentItem-attention--under {
    display: none
}

.page-download .documentItem-attention-inner,
.page-webinar .documentItem-attention-inner,
.page-thanks .documentItem-attention-inner {
    display: inline-block
}

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

    .page-download .document-items,
    .page-webinar .document-items,
    .page-thanks .document-items {
        grid-template-columns: repeat(1, 1fr)
    }

    .page-download .documentItem,
    .page-webinar .documentItem,
    .page-thanks .documentItem {
        grid-template-columns: 1fr
    }

    .page-download .documentItem-section .columns,
    .page-webinar .documentItem-section .columns,
    .page-thanks .documentItem-section .columns {
        flex-direction: column
    }

    .page-download .documentItem-section .column,
    .page-webinar .documentItem-section .column,
    .page-thanks .documentItem-section .column {
        width: 100%
    }

    .page-download .documentItem-attention,
    .page-webinar .documentItem-attention,
    .page-thanks .documentItem-attention {
        padding: 12px 8px
    }

    .page-download .documentItem-attention.documentItem-attention--right,
    .page-webinar .documentItem-attention.documentItem-attention--right,
    .page-thanks .documentItem-attention.documentItem-attention--right {
        display: none
    }

    .page-download .documentItem-attention.documentItem-attention--under,
    .page-webinar .documentItem-attention.documentItem-attention--under,
    .page-thanks .documentItem-attention.documentItem-attention--under {
        display: block
    }

    .page-download .documentItem-form,
    .page-webinar .documentItem-form,
    .page-thanks .documentItem-form {
        position: static;
        height: 100%;
        padding: 24px 0
    }
}

.page-thanks .btnwrap {
    max-width: 540px;
    margin-top: 60px !important
}

.page-thanks .btnwrap .arrow {
    background: none;
    border: none
}

.page-thanks .ttl-img {
    max-width: 800px
}

.page-thanks .sc01 {
    margin: 0 5% 60px;
    text-align: center;
    padding: 40px 2.5%;
    background-color: #f7f7f7
}

.page-thanks .btnwrap {
    margin-top: 40px;
    display: flex;
    justify-content: center
}

.page-thanks .imgwrap {
    margin: 40px auto 0;
    max-width: 240px;
    width: 80%
}

.page-thanks .document-listContentWrapper {
    margin-top: 40px
}

.page-thanks .action {
    margin-top: 48px;
    display: flex;
    justify-content: center
}

.page-thanks .action .btn03 {
    width: 100%;
    max-width: 470px
}

.page-thanks .list {
    max-width: 720px;
    margin: 40px auto 0;
    text-align: left;
    display: flex;
    flex-direction: column;
    row-gap: 24px
}

.page-thanks .list-itemHeader {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    font-size: 18px;
    font-weight: 700
}

.page-thanks .list-itemContent {
    margin-top: 4px;
    font-size: 14px
}

.page-thanks .link {
    color: #2e66e8;
    text-decoration: underline
}

.page-thanks .link:hover {
    opacity: .8
}

.page-thanks .list .list {
    margin-top: 12px;
    row-gap: 16px;
    counter-reset: list-counter
}

.page-thanks .list .list .list-itemHeader {
    justify-content: flex-start;
    font-size: 16px
}

.page-thanks .list .list .list-itemHeader:before {
    counter-increment: list-counter;
    content: counter(list-counter) "."
}

.page-404 {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding: 120px 2.5%
}

.page-404 .img {
    max-width: 420px;
    width: 75%;
    margin: 0 auto 60px;
    padding-left: 40px
}

@media screen and (max-width: 420px) {
    .page-404 .img {
        padding-left: 20px
    }
}

.page-404 .txt01 {
    font-weight: 700;
    color: #2e66e8;
    margin-bottom: 20px;
    font-size: 18px
}

@media screen and (max-width: 500px) {
    .page-404 .txt01 {
        font-size: 16px
    }
}

.page-404 .txt02 {
    margin-bottom: 40px
}

@media screen and (max-width: 500px) {
    .page-404 .txt02 {
        font-size: 14px;
        text-align: left
    }

    .page-404 .txt02 br {
        display: none
    }
}

.highlight {
    background: linear-gradient(transparent 70%, #ffd039 60%);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    line-height: 1.2;
    padding: 0 10px;
    display: inline
}

.splide__slide {
    max-width: 1100px
}

.splide__arrow {
    width: 4em !important;
    height: 4em !important;
    background: #fff !important;
    box-shadow: 0 0 10px #0003 !important;
    border-radius: 50% !important
}

@media screen and (max-width: 767px) {
    .splide__arrow {
        width: 2em !important;
        height: 2em !important
    }
}

@media screen and (max-width: 767px) {
    .splide__arrow--prev {
        left: .6em !important
    }

    .splide__arrow--next {
        right: .6em !important
    }
}

.btnwrap {
    max-width: 580px;
    margin: 0 auto
}

.btnwrap .btn-txt {
    font-size: 21px;
    text-align: center;
    margin-bottom: 20px;
    font-weight: 600
}

.box-casestudy {
    padding: 160px 0 80px;
    background: url(/assets/img/bg-sc03.svg) no-repeat top center, #fff;
    background-size: 100% auto;
    position: relative
}

@media screen and (max-width: 767px) {
    .box-casestudy {
        padding: 50px 0
    }
}

.box-casestudy .wrap {
    max-width: 100%
}

.box-casestudy:before {
    content: "";
    position: absolute;
    top: 20%;
    left: -40px;
    width: 184px;
    background: url(/assets/img/bg_ttl_casestudy.svg) no-repeat 0 0;
    height: 100%;
    min-height: 1280px;
    background-size: 184px auto
}

@media screen and (max-width: 767px) {
    .box-casestudy:before {
        display: none
    }
}

.box-casestudy .txt {
    margin-bottom: 0
}

.usage-example-txt {
    font-size: 20px;
    max-width: 950px;
    margin: 0 auto;
    font-weight: 500
}

.box-usage-example {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    margin: 60px 0
}

@media screen and (max-width: 767px) {
    .box-usage-example {
        margin: 30px 0;
        flex-direction: column
    }
}

.box-usage-example li {
    width: calc(33.3333333333% - 15px)
}

@media screen and (max-width: 767px) {
    .box-usage-example li {
        width: 100%;
        margin-bottom: 30px
    }
}

.box-usage-example li img {
    width: 100%;
    height: auto;
    border-radius: 10px
}

.box-usage-example li .tit {
    font-size: 20px;
    font-weight: 500;
    padding: 20px 0 30px
}

@media screen and (max-width: 767px) {
    .box-usage-example li .tit {
        font-size: 18px
    }
}

.viewscroll {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-snap-align: start;
    scroll-behavior: smooth;
    padding: 50px 0 30px;
    margin-bottom: 100px;
    max-width: 1500px;
    margin-left: auto;
    position: relative
}

.viewscroll .scroll-shadow-right {
    position: absolute;
    top: 0;
    right: 0;
    width: 278px;
    height: 100%;
    background: linear-gradient(to left, #fffc, #fff0);
    pointer-events: none;
    z-index: 10
}

@media screen and (max-width: 767px) {
    .viewscroll .scroll-shadow-right {
        display: none
    }
}

@media screen and (max-width: 767px) {
    .viewscroll {
        margin-bottom: 50px
    }
}

.viewscroll::-webkit-scrollbar {
    height: 5px
}

.viewscroll::-webkit-scrollbar-track {
    background: #bbd9f4;
    border-radius: 4px;
    cursor: pointer
}

.viewscroll::-webkit-scrollbar-thumb {
    background: #0087ff;
    border-radius: 4px;
    transition: background .3s ease;
    cursor: pointer
}

.viewscroll::-webkit-scrollbar-thumb:hover {
    background: #0087ff
}

.viewscroll::-webkit-scrollbar-corner {
    background: transparent
}

.viewscroll .box {
    display: flex;
    justify-content: flex-start;
    width: max-content;
    gap: 50px;
    margin: 0 0 20px auto;
    align-items: stretch;
    padding: 0 60px
}

@media screen and (max-width: 767px) {
    .viewscroll .box {
        gap: 20px;
        margin: 0;
        padding: 0 10px
    }
}

.viewscroll .box li {
    flex-shrink: 0;
    width: 500px;
    display: flex
}

@media screen and (max-width: 767px) {
    .viewscroll .box li {
        width: 100%;
        max-width: 320px;
        margin: 0 auto
    }

    /* .viewscroll .box li:first-of-type {
        margin: 0 auto 30px
    } */
}

.viewscroll .box a {
    display: block;
    padding: 25px 25px 0;
    box-shadow: 2px 2px 6px #ddd;
    border-radius: 10px;
    position: relative;
    transition: .5s;
    background: #fff;
    overflow: hidden
}

.viewscroll .box a:hover {
    opacity: .8;
    box-shadow: 0 0 50px #2e66e859
}

@media screen and (max-width: 767px) {
    .viewscroll .box a:hover {
        box-shadow: 0 0 20px #2e66e859
    }
}

.viewscroll .box a:hover .graph img,
.viewscroll .box a:hover picture img {
    transform: scale(1.25)
}

.viewscroll .box .graph,
.viewscroll .box picture {
    overflow: hidden;
    border-radius: 6px
}

.viewscroll .box .graph img,
.viewscroll .box picture img {
    transition: transform .3s ease;
    width: 100%;
    height: auto
}

.viewscroll .box .ttl {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    margin: 26px 20px 20px;
    transition: .5s
}

.viewscroll .box .txt {
    font-size: 16px;
    margin: 0 20px 20px;
}

.viewscroll .box .arrow {
    background: #00c0a2;
    border-radius: 50%;
    padding: 8px 7px;
    width: 14px;
    position: absolute;
    bottom: 16px;
    right: 10px;
    transition: .5s
}

@media (min-width: 768px) and (max-width: 1024px) {
    .wrap {
        margin: 0 20px
    }

    .sc-box {
        padding-top: 90px !important
    }

    .page-top .sc07 {
        padding: 100px 0
    }

    .page-top .mv {
        aspect-ratio: 16/9;
        min-height: auto
    }

    .page-top .mv {
        padding: 0;
        min-width: auto
    }

    .page-top .mv .c_l {
        padding: 0 auto 0 7%
    }

    .page-top .mv .c_l .copy-sub {
        font-size: 35px
    }

    .page-top .mv .c_l .copy {
        font-size: 36px
    }

    .page-top .mv .c_l .copy-sub2 {
        font-size: 23px;
        margin-bottom: 2rem
    }

    .page-top .mv .c_l .mv-btn {
        margin: 90px auto 0
    }

    .page-top .sc01 .box li a {
        width: 100%;
        font-size: 21px
    }

    .page-top .sc02 .box .txt {
        padding: 0 10%
    }

    .page-top .sc02 {
        padding: 90px 0 100px
    }

    .page-top .sc02 .box li .box-inner {
        background-size: 110% auto;
        min-height: 360px;
        padding: 0% 15% 10%
    }

    .page-top .sc04 .box li {
        background-size: 107% auto;
        width: 50%;
        min-height: 450px
    }

    .page-top .sc06 .box li {
        background-size: 110% auto;
        min-height: 250px
    }

    .page-top .sc06 .box li .sub-title {
        font-size: 16px;
        min-height: 110px;
        padding: 60px 50px 0
    }

    .page-top .sc06 .box li .sub-txt {
        padding: 0 30px 40px;
        font-size: 14px
    }

    .page-top .sc06 .box li:not(:first-child) .sub-title {
        padding-top: 68px
    }

    .page-platform .heading1,
    .page-platform .heading2 {
        margin-bottom: 40px
    }

    .box-t-column01 .lbox .title {
        padding-left: 80px;
        font-size: 26px
    }

    .box-t-column01 .rbox .box-inner {
        background: url(/assets/img/bg_fuki02.svg) no-repeat center center;
        background-size: auto 70%;
        min-height: 450px
    }

    .page-platform .sc-box .box01 {
        margin-bottom: 40px
    }

    .page-platform .sc-box .box01 .inner {
        padding-left: 20%
    }

    .box-t-column01 {
        gap: 20px
    }

    .box-t-column01 .lbox {
        width: 60%
    }

    .box-t-column01 .rbox {
        width: 35%
    }

    .btn-box li a {
        width: 100%
    }

    .page-solution .sc-box .box03 li {
        width: 50%;
        background-size: 390px auto;
        min-height: 320px;
        justify-content: center
    }

    .page-solution .sc-box .box03 li p .sub-txt {
        padding: 0 27%;
        font-size: 18px
    }

    .page-solution .sc-box .box03 li p {
        padding: 0 25px;
        font-size: 22px
    }

    .page-solution-pharmaceutical .sc-box .box02 .inner.usa .info-list li {
        width: 75%
    }

    .page-solution-pharmaceutical .sc-box .box02 .source-info .source-title {
        font-size: 21px
    }

    .page-solution-pharmaceutical .sc-box .box02 .info-list li {
        font-size: 16px;
        width: 46%
    }

    .page-solution-pharmaceutical .box-t-column01 .lbox .txt-sub {
        margin: 40px 0 0
    }

    .page-download .documentItem-title,
    .page-webinar .documentItem-title,
    .page-thanks .documentItem-title {
        padding-left: 14%
    }

    .box-usage-example li .tit,
    a.c-btn-download-v2 {
        font-size: 18px
    }

    .page-solution-pharmaceutical .sc-box .box li {
        background-size: 115% auto
    }

    .page-solution-pharmaceutical .sc-box .box li a {
        padding: 0 7% 20px;
        font-size: 15px
    }

    .page-solution-pharmaceutical .sc-box .btnwrap {
        max-width: 90%
    }

    .page-solution-pharmaceutical .sc-box .box02 .country-header .service-status {
        font-size: 16px
    }

    .page-solution-pharmaceutical .box-t-column01 .lbox.w-100 .title {
        padding-left: 12%
    }

    .page-cs .box01 {
        padding: 50px 30px
    }

    .page-cs .figure-list li {
        font-size: 18px
    }

    .footer01 .panal {
        gap: 3% !important
    }

    .footer01 .panal .panel_bx {
        padding: 30px 20% 30px 20px !important
    }

    .footer01 .panal .arrow {
        right: 18px !important;
        width: 40px !important
    }

    .footer01 .navwrap {
        flex-direction: column;
        gap: 20px
    }

    .footer01 .navwrap .c_r {
        flex-direction: column;
        width: 70%
    }

    .footer01 .navwrap .c_r ul {
        flex-wrap: wrap
    }

    .footer01 .navwrap .c_l {
        margin-bottom: 30px
    }

    .footer01 .panal .wrap {
        margin: 0
    }

    .footer01 .navwrap .c_r {
        gap: 10px !important
    }
}

@media (max-width: 1024px) {
    .page-cs .ad-bottom .box-scroll-flow::-webkit-scrollbar {
        height: 5px
    }

    .page-cs .ad-bottom .box-scroll-flow::-webkit-scrollbar-track {
        background: #bbd9f4;
        border-radius: 4px;
        cursor: pointer
    }

    .page-cs .ad-bottom .box-scroll-flow::-webkit-scrollbar-thumb {
        background: #0087ff;
        border-radius: 4px;
        transition: background .3s ease;
        cursor: pointer
    }

    .page-cs .ad-bottom .box-scroll-flow::-webkit-scrollbar-thumb:hover {
        background: #0087ff
    }

    .page-cs .ad-bottom .box-scroll-flow::-webkit-scrollbar-corner {
        background: transparent
    }
}

.footer {
    width: 100%
}

.footer01 {
    background: #f5f7fe;
    width: 100%;
    padding: 50px 5%
}

.footer01 .panal {
    display: flex;
    justify-content: space-around;
    max-width: 1400px;
    margin: 0 auto;
    gap: 6%
}

@media screen and (max-width: 767px) {
    .footer01 .panal {
        flex-direction: column;
        gap: 30px
    }
}

.footer01 .panal li {
    width: 50%
}

@media screen and (max-width: 1039px) {
    .footer01 .panal li {
        width: 100%;
        max-width: 540px;
        min-width: auto
    }

    .footer01 .panal li:last-of-type {
        margin-bottom: 0
    }
}

.footer01 .panal .panel_bx {
    display: block;
    background: #fff;
    border-radius: 20px;
    padding: 40px 15% 40px 90px;
    position: relative;
    transition: .3s;
    cursor: pointer;
    z-index: 1
}

@media screen and (max-width: 767px) {
    .footer01 .panal .panel_bx {
        padding: 20px 23% 20px 20px
    }
}

.footer01 .panal .panel_bx:hover {
    background: linear-gradient(to right, #4f45ff, #00c8ff)
}

.footer01 .panal .panel_bx:hover .txt01,
.footer01 .panal .panel_bx:hover .txt02,
.footer01 .panal .panel_bx:hover .txt03 {
    color: #fff
}

.footer01 .panal .panel_bx:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 5px;
    background: linear-gradient(to right, #4f45ff, #00c8ff);
    border-radius: 20px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: exclude;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    z-index: -1
}

.footer01 .panal .panel_bx img.default {
    display: block
}

.footer01 .panal .panel_bx img.over,
.footer01 .panal .panel_bx:hover img.default {
    display: none
}

.footer01 .panal .panel_bx:hover img.over {
    display: block
}

.footer01 .panal .arrow {
    position: absolute;
    top: 50%;
    right: 35px;
    width: 44px;
    margin-top: -17px
}

@media screen and (max-width: 767px) {
    .footer01 .panal .arrow {
        right: 20px
    }
}

.footer01 .panal .txt01 {
    font-size: 10px;
    color: #008dff;
    margin-bottom: 6px;
    transition: .5s
}

.footer01 .panal .txt02 {
    font-size: 29px;
    color: #0087ff;
    font-weight: 600;
    line-height: 1;
    transition: .5s
}

@media screen and (max-width: 767px) {
    .footer01 .panal .txt02 {
        font-size: 24px
    }
}

.footer01 .panal .txt03 {
    font-size: 14px;
    color: #000;
    line-height: 1.4;
    font-weight: 500;
    transition: .5s
}

@media screen and (max-width: 767px) {
    .footer01 .panal .txt03 {
        width: 100%
    }

    .footer01 .panal .txt03 br {
        display: none
    }
}

.footer01 .panal .wrap {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.footer01 .navwrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1400px;
    margin: 80px auto 0
}

@media screen and (max-width: 767px) {
    .footer01 .navwrap {
        margin-top: 50px
    }
}

.footer01 .navwrap .c_l {
    width: 23%
}

@media screen and (max-width: 960px) {
    .footer01 .navwrap .c_l {
        width: 100%;
        margin-bottom: 40px
    }

    .footer01 .navwrap .c_l .logo {
        width: 80%;
        max-width: 420px;
        margin: 0 auto 10px
    }
}

.footer01 .navwrap .c_l .txt {
    margin-top: 20px;
    color: #fff;
    font-size: 12px;
    line-height: 1.4
}

@media screen and (max-width: 960px) {
    .footer01 .navwrap .c_l .txt {
        font-size: 16px;
        margin: 20px auto;
        text-align: center
    }

    .footer01 .navwrap .c_l .txt br {
        display: none
    }
}

@media screen and (max-width: 600px) {
    .footer01 .navwrap .c_l .txt {
        font-size: 14px
    }

    .footer01 .navwrap .c_l .txt br {
        display: block
    }
}

.footer01 .navwrap .c_r {
    width: 77%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end
}

@media screen and (max-width: 960px) {
    .footer01 .navwrap .c_r {
        width: 100%;
        gap: 20px;
        flex-wrap: nowrap
    }
}

.footer01 .navwrap .c_r ul {
    display: flex;
    gap: 0 40px
}

.footer01 .navwrap .c_r ul.min {
    gap: 0 30px
}

.footer01 .navwrap .c_r ul.min li {
    margin-bottom: 0
}

@media screen and (max-width: 767px) {
    .footer01 .navwrap .c_r ul.min li {
        margin-bottom: 25px
    }
}

.footer01 .navwrap .c_r ul.min .link {
    font-size: 14px;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .footer01 .navwrap .c_r ul {
        width: 50%;
        margin-bottom: 0;
        flex-direction: column
    }
}

.footer01 .navwrap .c_r ul li {
    margin-bottom: 30px;
    line-height: 1
}

@media screen and (max-width: 767px) {
    .footer01 .navwrap .c_r ul li {
        margin-bottom: 25px
    }
}

.footer01 .navwrap .c_r ul .link {
    color: #2e66e8;
    line-height: 1;
    display: block;
    letter-spacing: 1px;
    font-size: 18px;
    transition: .5s;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .footer01 .navwrap .c_r ul .link {
        font-size: 16px
    }
}

.footer01 .navwrap .c_r ul .link:hover {
    text-decoration: underline;
    text-underline-offset: 4px
}

.footer01 .navwrap .c_r ul .outlink {
    position: relative;
    display: inline-block;
    padding-right: 16px
}

.footer01 .navwrap .c_r ul .outlink:hover:after {
    background: url(/assets/img/icon_outlink_green.svg) no-repeat right center;
    background-size: contain
}

.footer02 {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    font-size: 14px;
    letter-spacing: .5px
}

@media screen and (max-width: 960px) {
    .footer02 {
        padding: 30px 2.5%
    }
}

.footer02 .c_l {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    width: 70%
}

.footer02 .c_l .company {
    margin-bottom: 2px
}

@media screen and (max-width: 800px) {
    .footer02 .c_l {
        width: 100%;
        margin-bottom: 20px
    }
}

.footer02 .logo_fl {
    width: 250px;
    margin-right: 20px
}

@media screen and (max-width: 800px) {
    .footer02 .logo_fl {
        width: 160px
    }
}

.footer02 .copy {
    margin-bottom: 6px
}

.btn-pagetop {
    position: fixed;
    bottom: 2%;
    right: 2%;
    width: 110px;
    height: 110px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
    z-index: 9999
}

@media screen and (max-width: 767px) {
    .btn-pagetop {
        width: 60px;
        height: 60px;
        bottom: 1%;
        right: 1%
    }
}

.btn-pagetop.is-show {
    opacity: 1;
    visibility: visible
}

.btn-pagetop.is-absolute {
    position: absolute
}

@media screen and (max-width: 767px) {
    .btn-pagetop.is-absolute {
        right: 1%
    }
}

.btn-pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    transition: transform .3s ease
}

.btn-pagetop a:hover {
    transform: translateY(-5px)
}

.btn-pagetop .arrow {
    width: 100%;
    height: 100%
}

.btn-pagetop .arrow img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

@media (min-width: 768px) and (max-width: 1399px) {
    .btn-pagetop {
        width: 80px;
        height: 80px
    }

    .footer02 {
        padding: 40px 5%
    }

    .footer01 .navwrap {
        margin-top: 50px
    }

    .footer01 .navwrap .c_l {
        margin-bottom: 40px
    }

    .footer01 .navwrap .c_l .logo {
        width: 80%
    }

    .footer01 .navwrap .c_r {
        width: 77%
    }

    .footer01 .navwrap .c_r ul .link {
        font-size: 14px
    }

    .footer01 .navwrap .c_r ul {
        gap: 0 20px
    }
}