@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,300;0,400;0,700;1,300&display=swap');
@import url('//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');


/* リセット設定 */
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 {
    font: inherit;
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
}

body {
    font-family: 'Barlow Condensed', 'Noto Sans JP', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-weight: 400;
    line-height: 2;
    box-sizing: border-box;
    width: 100%;
    min-width: 1240px;
    background-color: #000;
    color: white;
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body.fixed {
    position: fixed;

    overflow: hidden;

    width: 100%;
}

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

        min-width: 320px;
    }
}

* {
    box-sizing: border-box;

    word-break: break-all;

    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

@media screen and (max-width: 768px) {
    img {
        max-width: 100%;
    }

    #n_spcontact {
        line-height: 1;
    }
}

a.ul:link {
    color: white;
}

a.ul:hover::after {
    transform: scale(1, 1);
    transform-origin: left top;
}

a:hover {
    transition-duration: .2s;
    opacity: .7;
}

.w2_header,
.w2_menu {
    line-height: 1;
    color: #000;
}

.media_pc {
    display: block;
}

.media_sp {
    display: none;
}

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

    .media_sp {
        display: block;
    }

    a:hover {
        transition-duration: .2s;
        opacity: 1;
    }
}

.u-fe {
    display: flex;

    justify-content: flex-end;
    align-items: center;
}

.u-flex {
    display: flex;

    flex-wrap: wrap;
}

.u-flex.fe-aj {
    justify-content: flex-end;
    align-items: flex-end;
}

.u-flex.fe-a {
    align-items: flex-end;
}

.u-flex.fe-j {
    justify-content: flex-end;
}

.u-flex.fs-aj {
    justify-content: flex-start;
    align-items: flex-start;
}

.u-flex.fs-a {
    justify-content: flex-start;
    align-items: center;
}

.u-flex.fs-j {
    justify-content: flex-start;
}

.u-flex.fc-aj {
    justify-content: center;
    align-items: center;
}

.u-flex.fc-a {
    align-items: center;
}

.u-flex.fc-j {
    justify-content: center;
}

.u-flex.fsb-j {
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .u-flex__sp-rev {
        flex-direction: column-reverse;
    }
}

.u-pt__n {
    padding-top: 0 !important;
}

.u-pt__xs {
    padding-top: 8px;
}

@media screen and (max-width: 768px) {
    .u-pt__xs {
        padding-top: 1.4018691589vw;
    }

    .u-pt__xs-sp {
        padding-top: 1.4018691589vw;
    }
}

.u-pt__sm {
    padding-top: 16px;
}

@media screen and (max-width: 768px) {
    .u-pt__sm {
        padding-top: 2.8037383178vw;
    }

    .u-pt__sm-sp {
        padding-top: 2.8037383178vw;
    }
}

.u-pt__base {
    padding-top: 24px;
}

@media screen and (max-width: 768px) {
    .u-pt__base {
        padding-top: 3.738317757vw;
    }

    .u-pt__base-sp {
        padding-top: 3.738317757vw;
    }
}

.u-pt__lg {
    padding-top: 32px;
}

@media screen and (max-width: 768px) {
    .u-pt__lg {
        padding-top: 5.6074766355vw;
    }

    .u-pt__lg-sp {
        padding-top: 5.6074766355vw;
    }
}

.u-pt__xl {
    padding-top: 48px;
}

@media screen and (max-width: 768px) {
    .u-pt__xl {
        padding-top: 7.476635514vw;
    }

    .u-pt__xl-sp {
        padding-top: 7.476635514vw;
    }
}

.u-pt__2xl {
    padding-top: 64px;
}

@media screen and (max-width: 768px) {
    .u-pt__2xl {
        padding-top: 11.214953271vw;
    }

    .u-pt__2xl-sp {
        padding-top: 11.214953271vw;
    }
}

.u-pt__3xl {
    padding-top: 80px;
}

@media screen and (max-width: 768px) {
    .u-pt__3xl {
        padding-top: 14.953271028vw;
    }

    .u-pt__3xl-sp {
        padding-top: 14.953271028vw;
    }
}

.u-pt__4xl {
    padding-top: 96px;
}

@media screen and (max-width: 768px) {
    .u-pt__4xl {
        padding-top: 14.953271028vw;
    }

    .u-pt__4xl-sp {
        padding-top: 14.953271028vw;
    }
}

.u-pt__5xl {
    padding-top: 128px;
}

@media screen and (max-width: 768px) {
    .u-pt__5xl {
        padding-top: 22.4299065421vw;
    }

    .u-pt__5xl-sp {
        padding-top: 22.4299065421vw;
    }
}

.u-pb__xs {
    padding-bottom: 8px;
}

@media screen and (max-width: 768px) {
    .u-pb__xs {
        padding-bottom: 1.4018691589vw;
    }

    .u-pb__xs-sp {
        padding-bottom: 1.4018691589vw;
    }
}

.u-pb__sm {
    padding-bottom: 16px;
}

@media screen and (max-width: 768px) {
    .u-pb__sm {
        padding-bottom: 2.8037383178vw;
    }

    .u-pb__sm-sp {
        padding-bottom: 2.8037383178vw;
    }
}

.u-pb__base {
    padding-bottom: 24px;
}

@media screen and (max-width: 768px) {
    .u-pb__base {
        padding-bottom: 3.738317757vw;
    }

    .u-pb__base-sp {
        padding-bottom: 3.738317757vw;
    }
}

.u-pb__lg {
    padding-bottom: 32px;
}

@media screen and (max-width: 768px) {
    .u-pb__lg {
        padding-bottom: 5.6074766355vw;
    }

    .u-pb__lg-sp {
        padding-bottom: 5.6074766355vw;
    }
}

.u-pb__xl {
    padding-bottom: 48px;
}

@media screen and (max-width: 768px) {
    .u-pb__xl {
        padding-bottom: 7.476635514vw;
    }

    .u-pb__xl-sp {
        padding-bottom: 7.476635514vw;
    }
}

.u-pb__2xl {
    padding-bottom: 64px;
}

@media screen and (max-width: 768px) {
    .u-pb__2xl {
        padding-bottom: 11.214953271vw;
    }

    .u-pb__2xl-sp {
        padding-bottom: 11.214953271vw;
    }
}

.u-pb__3xl {
    padding-bottom: 80px;
}

@media screen and (max-width: 768px) {
    .u-pb__3xl {
        padding-bottom: 14.953271028vw;
    }

    .u-pb__3xl-sp {
        padding-bottom: 14.953271028vw;
    }
}

.u-pb__4xl {
    padding-bottom: 96px;
}

@media screen and (max-width: 768px) {
    .u-pb__4xl {
        padding-bottom: 14.953271028vw;
    }

    .u-pb__4xl-sp {
        padding-bottom: 14.953271028vw;
    }
}

.u-pb__5xl {
    padding-bottom: 128px;
}

@media screen and (max-width: 768px) {
    .u-pb__5xl {
        padding-bottom: 22.4299065421vw;
    }

    .u-pb__5xl-sp {
        padding-bottom: 22.4299065421vw;
    }
}

.u-pr__xs {
    padding-right: 8px;
}

@media screen and (max-width: 768px) {
    .u-pr__xs {
        padding-right: 1.4018691589vw;
    }

    .u-pr__xs-sp {
        padding-right: 1.4018691589vw;
    }
}

.u-pr__sm {
    padding-right: 16px;
}

@media screen and (max-width: 768px) {
    .u-pr__sm {
        padding-right: 2.8037383178vw;
    }

    .u-pr__sm-sp {
        padding-right: 2.8037383178vw;
    }
}

.u-pr__base {
    padding-right: 24px;
}

@media screen and (max-width: 768px) {
    .u-pr__base {
        padding-right: 3.738317757vw;
    }

    .u-pr__base-sp {
        padding-right: 3.738317757vw;
    }
}

.u-pr__lg {
    padding-right: 32px;
}

@media screen and (max-width: 768px) {
    .u-pr__lg {
        padding-right: 5.6074766355vw;
    }

    .u-pr__lg-sp {
        padding-right: 5.6074766355vw;
    }
}

.u-pr__xl {
    padding-right: 48px;
}

@media screen and (max-width: 768px) {
    .u-pr__xl {
        padding-right: 7.476635514vw;
    }

    .u-pr__xl-sp {
        padding-right: 7.476635514vw;
    }
}

.u-pr__2xl {
    padding-right: 64px;
}

@media screen and (max-width: 768px) {
    .u-pr__2xl {
        padding-right: 11.214953271vw;
    }

    .u-pr__2xl-sp {
        padding-right: 11.214953271vw;
    }
}

.u-pr__3xl {
    padding-right: 80px;
}

@media screen and (max-width: 768px) {
    .u-pr__3xl {
        padding-right: 14.953271028vw;
    }

    .u-pr__3xl-sp {
        padding-right: 14.953271028vw;
    }
}

.u-pr__4xl {
    padding-right: 96px;
}

@media screen and (max-width: 768px) {
    .u-pr__4xl {
        padding-right: 14.953271028vw;
    }

    .u-pr__4xl-sp {
        padding-right: 14.953271028vw;
    }
}

.u-pr__5xl {
    padding-right: 128px;
}

@media screen and (max-width: 768px) {
    .u-pr__5xl {
        padding-right: 22.4299065421vw;
    }

    .u-pr__5xl-sp {
        padding-right: 22.4299065421vw;
    }
}

.u-pl__xs {
    padding-left: 8px;
}

@media screen and (max-width: 768px) {
    .u-pl__xs {
        padding-left: 1.4018691589vw;
    }

    .u-pl__xs-sp {
        padding-left: 1.4018691589vw;
    }
}

.u-pl__sm {
    padding-left: 16px;
}

@media screen and (max-width: 768px) {
    .u-pl__sm {
        padding-left: 2.8037383178vw;
    }

    .u-pl__sm-sp {
        padding-left: 2.8037383178vw;
    }
}

.u-pl__base {
    padding-left: 24px;
}

@media screen and (max-width: 768px) {
    .u-pl__base {
        padding-left: 3.738317757vw;
    }

    .u-pl__base-sp {
        padding-left: 3.738317757vw;
    }
}

.u-pl__lg {
    padding-left: 32px;
}

@media screen and (max-width: 768px) {
    .u-pl__lg {
        padding-left: 5.6074766355vw;
    }

    .u-pl__lg-sp {
        padding-left: 5.6074766355vw;
    }
}

.u-pl__xl {
    padding-left: 48px;
}

@media screen and (max-width: 768px) {
    .u-pl__xl {
        padding-left: 7.476635514vw;
    }

    .u-pl__xl-sp {
        padding-left: 7.476635514vw;
    }
}

.u-pl__2xl {
    padding-left: 64px;
}

@media screen and (max-width: 768px) {
    .u-pl__2xl {
        padding-left: 11.214953271vw;
    }

    .u-pl__2xl-sp {
        padding-left: 11.214953271vw;
    }
}

.u-pl__3xl {
    padding-left: 80px;
}

@media screen and (max-width: 768px) {
    .u-pl__3xl {
        padding-left: 14.953271028vw;
    }

    .u-pl__3xl-sp {
        padding-left: 14.953271028vw;
    }
}

.u-pl__4xl {
    padding-left: 96px;
}

@media screen and (max-width: 768px) {
    .u-pl__4xl {
        padding-left: 14.953271028vw;
    }

    .u-pl__4xl-sp {
        padding-left: 14.953271028vw;
    }
}

.u-pl__5xl {
    padding-left: 128px;
}

@media screen and (max-width: 768px) {
    .u-pl__5xl {
        padding-left: 22.4299065421vw;
    }

    .u-pl__5xl-sp {
        padding-left: 22.4299065421vw;
    }
}

.u-txt__sm {
    font-size: 12px;
}

.u-txt__md {
    font-size: 14px;
}

.u-txt__base {
    font-size: 16px;
    line-height: 2;
}

.u-txt__lg {
    font-size: 18px;
    line-height: 2;
}

.u-txt__xl {
    font-size: 20px;
    line-height: 2;
}

.u-tal {
    text-align: left;
}

.u-tar {
    text-align: right;
}

@media screen and (max-width: 768px) {
    .u-tar.sp-reset {
        text-align: left;
    }
}

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

@media screen and (max-width: 768px) {
    .u-tac.sp-reset {
        text-align: left;
    }
}

.u-ispc {
    display: block !important;
}

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

.u-ispc-f {
    display: flex !important;
}

@media screen and (max-width: 768px) {
    .u-ispc-f {
        display: none !important;
    }
}

.u-issp {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .u-issp {
        display: block !important;
    }
}

.u-issp-f {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .u-issp-f {
        display: flex !important;
    }
}

.u-inavtive {
    pointer-events: none !important;

    opacity: .3;
}

.u-dn {
    display: none !important;
}

.u-por {
    position: relative;
}

.lp-wrapper {
    background: url(/assets/img/btob/bg_lp.webp) no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

@media screen and (max-width: 768px) {
    .lp-wrapper {
        background-size: auto 100svh;
    }
}

.lp-inner {
    width: 1000px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .lp-inner {
        width: 100%;
        padding: 0 5.6074766355vw;
    }
}

.lp-inner-2 {
    width: 1000px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .lp-inner-2 {
        width: 100%;
        padding: 0 5.6074766355vw;
    }
}

.lp-def {
    padding: 80px 0;

    background-color: rgba(0, 0, 0, .5);
}

@media screen and (max-width: 768px) {
    .lp-def {
        padding: 64px 0;
    }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
    .lp-def.add-border {
        border-top: solid 1px #fff;
    }
}

.lp-sep {
    padding-top: 80px;
}

.lp-mv {
    position: relative;
}

.lp-mv img {
    width: 100%;
}

.lp-mv__copy-wrapper {
    position: absolute;
    top: 80px;
    left: 160px;
}

@media screen and (max-width: 768px) {
    .lp-mv__copy-wrapper {
        display: none;
    }
}

.lp-mv__btn-wrapper {
    position: absolute;
    top: unset;
    left: calc((232 / 1440) * 100 * 1vw);
    bottom: calc((35 / 1440) * 100 * 1vw);
    display: flex;
    gap: 40px;
}

@media screen and (max-width: 768px) {
    .lp-mv__btn-wrapper {
        top: unset;
        left: 0;
        right: 0;
        bottom: 20px;
        margin: 0 auto;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
}

@media screen and (min-width: 1920px) {
    .lp-mv__btn-wrapper {
        bottom: 15px;
    }
}

.lp-mv__btn-wrapper img {
    width: auto;
    height: calc((64 / 1440) * 100 * 1vw);
    min-height: 64px;
}

@media screen and (max-width: 768px) {
    .lp-mv__btn-wrapper img {
        width: 74.7663551402vw;
        height: auto;
    }
}

.lp-ban__slider {
    display: flex;

    gap: 8px;
    flex-wrap: wrap;
}

.lp-ban__slider>a {
    pointer-events: none;
}

.lp-ban__slider img {
    height: 64px;
}

.lp-ban__slider-wrapper {
    padding: 10px 0;

    background: #fff;
}

.lp-heading01 {
    font-size: 30px;
    font-weight: bold;
    font-weight: 900;

    text-align: center;
}

@media screen and (max-width: 768px) {
    .lp-heading01 {
        font-size: 24px;
    }

    .lp-heading01.add-left {
        text-align: left;
    }
}

.lp-heading02 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1;

    position: absolute;
    top: 16px;
    left: 0;

    display: flex;

    min-width: 124px;
    height: 31px;
    padding-left: 44px;

    color: #fff;
    background: url(/assets/img/btob/bg_heading.svg) no-repeat;
    background-position: left top;

    align-items: center;
}

.lp-heading03 {
    font-size: 25px;
    font-weight: 900;

    position: relative;

    display: flex;

    height: 80px;
    margin-top: 80px;

    color: #333;
    background: #fff;

    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .lp-heading03 {
        font-size: 20px;
        line-height: 1.4;

        padding-right: 20px;
    }

    .lp-heading03.add-40 {
        margin-top: 40px;
    }
}

.lp-heading03:before {
    position: absolute;
    top: 0;
    left: -1000px;

    width: 1000px;
    height: 80px;

    content: '';

    background: #fff;
}

.lp-heading04 {
    font-size: 30px;
    font-weight: bold;
    line-height: 1;

    display: flex;

    padding: 12px;

    background: #0e5ccc;

    align-items: flex-end;
    justify-content: center;
    gap: 4px;
}

.lp-heading04 span {
    font-size: 20px;
}

@media screen and (max-width: 768px) {
    .lp-heading04 {
        font-size: 20px;
    }

    .lp-heading04 span {
        font-size: 12px;
    }
}

.lp-con__btn-wrapper {
    display: flex;
    padding-top: 15px;
    justify-content: center;
    gap: 40PX;
    flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    .lp-con__btn-wrapper {
        gap: 20px;
    }
}

.lp-con__btn-wrapper>a {
    flex-basis: calc((384 / 1440) * 100 * 1vw);
}

@media screen and (max-width: 768px) {
    .lp-con__btn-wrapper>a {
        flex-basis: 70.0934579439vw;
    }
}

@media screen and (min-width: 1920px) {
    .lp-con__btn-wrapper>a {
        flex-basis: 384px;
    }
}


.lp-wrapper {
    background: url(/assets/img/btob/bg_lp.webp) no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

@media screen and (max-width: 768px) {
    .lp-wrapper {
        background-size: auto 100svh;
    }
}

.lp-con1 {
    display: flex;

    padding-top: 80px;

    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 24px 0;
}

@media screen and (max-width: 768px) {
    .lp-con1 {
        padding-top: 40px;
    }
}

.lp-con1-1 {
    font-size: 20px;
    font-weight: bold;

    position: relative;

    padding: 24px;
    padding-top: 72px;

    color: #333;
    background: #fff;

    flex-basis: 320px;
}

@media screen and (max-width: 768px) {
    .lp-con1-1 {
        flex-basis: 100%;
    }
}

.lp-con1-1-txt {
    line-height: 1.4;

    letter-spacing: 0;
}

.lp-con2 {
    font-size: 17px;

    padding: 40px 0;

    text-align: center;
}

@media screen and (max-width: 768px) {
    .lp-con2 {
        font-size: 16px;

        text-align: left;
    }
}

.lp-con3 {
    font-size: 17px;
    padding: 40px 0;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .lp-con3 {
        font-size: 16px;
    }
}

.lp-con3-1 {
    padding: 24px 0;

    text-align: center;
}

@media screen and (max-width: 768px) {
    .lp-con3-1>img {
        width: 30px;
    }
}

.lp-con4 {
    display: flex;

    padding-top: 80px;

    justify-content: space-between;
    gap: 35px 0;
    flex-wrap: wrap;
}

.lp-con4-1 {
    display: flex;

    background: #fff;

    flex-basis: 480px;
    flex-wrap: wrap;
    align-items: center;
}

.lp-con4-1>img {
    display: block;

    width: 130px;

    flex-basis: 130px;
}

.lp-con4-1-txt {
    font-size: 20px;
    font-weight: bold;

    display: flex;

    padding: 20px;

    color: #333;

    flex: 1;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .lp-con4-1-txt {
        font-size: 16px;
        line-height: 1.4;
    }
}

.lp-con5 {
    display: flex;

    padding-top: 80px;

    justify-content: space-between;
    gap: 64px 0;
    flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    .lp-con5 {
        padding-top: 40px;
    }
}

.lp-con5-1 {
    letter-spacing: 0;

    flex-basis: 480px;
}

.lp-con5-2 {
    font-size: 23px;
    line-height: 1.6;

    padding: 20px 0;
}

@media screen and (max-width: 768px) {
    .lp-con5-2 {
        font-size: 18px;

        padding: 16px 0;
    }
}

.lp-con5-4 {
    display: flex;

    margin: 20px 0;

    border: solid 1px #fff;

    justify-content: space-between;
    flex-wrap: wrap;
}

.lp-con5-4>span {
    font-size: 20px;
    font-weight: bold;

    display: flex;

    border-left: solid 1px #fff;

    flex-basis: 50%;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .lp-con5-4>span {
        font-size: 14px;
    }
}

.lp-con5-4>span:first-child {
    border-left: none;
}

.lp-con5-5 {
    font-size: 16px;
}

.lp-con6 {
    display: flex;
    flex-direction: column;

    padding-top: 80px;

    gap: 40px;
}

@media screen and (max-width: 768px) {
    .lp-con6 {
        padding-top: 40px;
    }
}

.lp-con6-1 {
    display: flex;

    color: #333;
    background: #fff;

    flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    .lp-con6-1 {
        flex-direction: column;

        gap: 24px;
    }
}

.lp-con6-1>img {
    display: block;

    width: 350px;
    height: auto;
}

@media screen and (max-width: 768px) {
    .lp-con6-1>img {
        width: 100%;
    }
}

.lp-con6-2 {
    padding: 20px;

    flex: 1;
}

.lp-con6-2-title {
    font-size: 25px;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .lp-con6-2-title {
        font-size: 20px;
        line-height: 1.4;

        padding-bottom: 20px;
    }
}

.lp-con6-2-txt {
    font-size: 16px;
}

.lp-clear {
    padding: 30px 0;

    color: #333;
    background: url(/assets/img/btob/bg_cta.webp) no-repeat center;
    background-size: cover;
}

@media screen and (max-width: 768px) {
    .lp-clear {
        padding: 64px 0;
    }
}

.lp-summary {
    display: flex;

    margin-top: 40px;

    border: solid 1px #fff;
    background: #333;

    align-items: stretch;
    flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    .lp-summary {
        display: block;
    }
}

.lp-summary__title {
    font-size: 23px;
    font-weight: 900;

    display: flex;

    letter-spacing: 0;

    border-right: solid 1px #fff;

    align-items: center;
    justify-content: center;
    flex-basis: 310px;
}

@media screen and (max-width: 768px) {
    .lp-summary__title {
        font-size: 18px;

        display: block;

        padding: 8px;

        border-right: none;
        border-bottom: solid 1px #fff;
    }
}

.lp-summary__content {
    display: flex;

    padding: 24px;

    align-items: center;
    flex: 1;
}

.lp-summary__content ul>li {
    font-size: 17px;
    line-height: 1.8;

    margin-left: 24px;

    list-style-position: outside;
    list-style-type: square;
}

@media screen and (max-width: 768px) {
    .lp-summary__content ul>li {
        font-size: 14px;
        line-height: 1.4;
    }
}

.add-solution {
    padding: 0;
    padding-top: 0;
}

.add-solution .add-solution-hd {
    position: relative;
}

.pd-0 {
    padding-top: 0;
}

.add-solution .add-solution-hd h3 {
    position: absolute;
    color: #fff;
    text-align: center;
    top: 20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    line-height: normal;
}

.add-solution p {
    text-align: center;
    line-height: normal;
    padding-bottom: 10px;
    font-size: 18px;
}

.add-solution p b {
    font-size: 24px;
    font-weight: bold;
}

.w2_fv_cm {
    line-height: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    background: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    filter: drop-shadow(0 10px 30px rgba(51, 51, 51, .2));
    transition: transform 0.3s cubic-bezier(.215, .61, .355, 1);
    bottom: 15px;
}

@media (min-width:768px) {
    .w2_fv_cm {
        position: fixed;
        right: 0;
        z-index: 10;
        bottom: 40px;
    }
}

@media (max-width:767px) {
    .w2_fv_cm {
        position: fixed;
        right: 0;
        z-index: 20
    }
}

.w2_fv_cm .w2_fv_cm_body {
    position: relative;
}

@media (max-width:767px) {
    .w2_fv_cm .w2_fv_cm_body {
        width: 35.73333vw
    }
}

@media (min-width:768px) {
    .w2_fv_cm .w2_fv_cm_body {
        width: 18.75vw
    }
}

@media (min-width:1440px) {
    .w2_fv_cm .w2_fv_cm_body {
        width: 270px
    }
}

.w2_fv_cm .w2_fv_cm_body .w2_fv_cm_thumb .w2_fv_cm_thumb_img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: transform cubic-bezier(.215, .61, .355, 1) 0.2s
}

.w2_fv_cm.w2_hide_add,
.w2_fv_cm.w2_hide2 {
    right: 0;
}

.w2_fv_cm .w2_fv_cm_body:hover .w2_fv_cm_thumb_img {
    transform: scale(1.05);
    opacity: 1;
}

@media (min-width: 768px) {
    .w2_fv_cm.w2_hide_add {
        transform: translateX(-100%);
    }
}

@media (max-width: 767px) {

    .w2_fv_cm.w2_hide_add,
    .w2_fv_cm.w2_hide2 {
        transform: translateX(100%);
    }

    .w2_fv_cm {
        right: 0;
        bottom: 45px;
    }

}

.w2_fv_cm.w2_hide_add,
.w2_fv_cm.w2_hide2 {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
}

.w2_partner_wrapper .w2_right_content .w2_partner_main_container .w2_partner_main_list_more.w2_hide,
.w2_partner_wrapper .w2_right_content .w2_partner_main_container .w2_partner_main_list_more.w2_hide2 {
    visibility: hidden
}

@media (min-width: 768px) {
    .w2_fv_cm {
        right: 45px;
    }
}

.close-btn {
    position: absolute;
    top: -30px;
    right: 0;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    z-index: 10000;
    font-family: "Font Awesome 5 Pro" !important;
    color: #fff;
}

#bottom_banner {
    position: fixed;
    gap: 0.5vw;
    bottom: 0;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 1vw 0;
    box-sizing: border-box;
    z-index: 99;
}

#bottom_banner.show-banner {
    display: none;
}

#bottom_banner::before {
    content: "";
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: .7;
    z-index: -1;
}

#bottom_banner p {
    font-size: 1.36667vw;
    font-weight: bold;
}

#bottom_banner a {
    display: block;
    text-decoration: none;
    background: linear-gradient(89.22deg, #5A25BA 4.42%, #5440C9 13.97%, #0E5CCC 28.07%, #133EC2 38.62%, #1C13A3 57.46%, #0E5CCC 76.56%, #0096F2 86.94%, #00F9EC 97.99%);
    color: #fff;
    font-size: 1.36667vw;
    padding: 0.5vw 1.2vw 0.5vw 1vw;
    position: relative;
    overflow: hidden;
    width: 220px;
    text-align: center;
}

#bottom_banner a:hover {
    background: linear-gradient(89.22deg,
            #5A25BA 4.42%,
            #5440C9 13.97%,
            #0E5CCC 28.07%,
            #133EC2 38.62%,
            #1C13A3 57.46%,
            #0E5CCC 76.56%,
            #0096F2 86.94%,
            #00F9EC 97.99%);

    /* 背景クリップをテキストに限定 */
    -webkit-background-clip: text;

    /* テキスト自体の色を透明に */
    -webkit-text-fill-color: unset;
    color: #fff;
}

#bottom_banner a:hover::before {
    content: "";
    background: linear-gradient(89.22deg,
            #5A25BA 4.42%,
            #5440C9 13.97%,
            #0E5CCC 28.07%,
            #133EC2 38.62%,
            #1C13A3 57.46%,
            #0E5CCC 76.56%,
            #0096F2 86.94%,
            #00F9EC 97.99%);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

#bottom_banner a::after {
    content: "";
    background: url(/assets/img/btob/ec-arrow.png) no-repeat bottom;
    background-size: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 1.5vw;
    height: 1.8vw;
}

@media (min-width: 1440px) {
    #bottom_banner {
        gap: 10px;
        padding: 10px 0;
    }

    #bottom_banner p {
        font-size: 18px;
    }

    #bottom_banner a {
        font-size: 18px;
        padding: 8px 20px 8px 10px;
    }

    #bottom_banner a::after {
        width: 20px;
        height: 30px;
    }
}

@media (min-width: 1920px) {
    #bottom_banner {
        gap: 20px;
        padding: 15px 0;
    }

    #bottom_banner p {
        font-size: 22px;
    }

    #bottom_banner a {
        font-size: 22px;
        padding: 10px 30px 10px 15px;
    }

    #bottom_banner a::after {
        width: 30px;
        height: 40px;
    }
}

@media (max-width:767px) {
    #bottom_banner {
        padding: 10px;
        bottom: 45px;
    }

    #bottom_banner p {
        font-size: 3.26667vw;
        max-width: 68%;
    }

    #bottom_banner a {
        font-size: 3.26667vw;
        padding: 8px 10px;
        width: 40%;
        text-align: center;
        margin-left: 15px;
    }

    #bottom_banner a::after {
        content: none;
    }
}

.lp-white {
    background-color: #fff;
    padding: 30px 0;
}

.lp-white .lp-heading01 {
    color: #333;
}

.lp-white .lp-con__btn-wrapper,
.lp-black .lp-con__btn-wrapper {
    width: 337px;
    max-width: 337px;
    background: #FC6F1B;
    border-radius: 100px;
    color: #fff;
    text-align: center;
    padding: 20px;
    margin: 15px auto 0;
}

.lp-white .lp-con__btn-wrapper a,
.lp-black .lp-con__btn-wrapper a {
    text-decoration: none;
    color: #fff;
}

.lp-black {
    background-color: #111111;
    padding: 80px 0;
}

.lp-black .lp-heading01 {
    color: #fff;
}

@media (max-width:767px) {

    .lp-white,
    .lp-black {
        padding: 40px 0;
    }

    .lp-white .lp-con__btn-wrapper,
    .lp-black .lp-con__btn-wrapper {
        margin: 15px auto 0;
        padding: 10px;
    }
}

.ai-mv {
    position: relative;
}

.ai-mv img {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .ai-mv {
        width: 100%;
    }
}

.ai-mv__copy-wrapper {
    position: absolute;
    top: 80px;
    left: 160px;
}

@media screen and (max-width: 768px) {
    .ai-mv__copy-wrapper {
        display: none;
    }
}

.ai-mv__btn-wrapper {
    position: absolute;
    top: unset;
    right: calc((239 / 1440) * 100 * 1vw);
    bottom: calc((35 / 1440) * 100 * 1vw);
    display: flex;
    gap: 40px;
}

@media screen and (max-width: 768px) {
    .ai-mv__btn-wrapper {
        top: unset;
        left: 0;
        right: 0;
        bottom: 20px;
        margin: 0 auto;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
}

.ai-mv__btn-wrapper img {
    width: calc((460 / 1440) * 100 * 1vw);
    height: auto;
}

@media screen and (max-width: 768px) {
    .ai-mv__btn-wrapper img {
        width: 74.7663551402vw;
    }
}

.aipoc__icn {
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
    article img {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .aipoc-01__wrapper>.item {
        margin: 0 auto;
    }
}