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,
input,
textarea,
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,
:before,
:after {
    border: 0;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
    padding: 0;
    position: relative;
    vertical-align: baseline;
}

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;
}

a,
button,
input,
select,
textarea {
    outline: none;
}

img {
    width: 100%;
    height: auto;
}

.bold {
    font-weight: 700 !important;
}

.disabled {
    cursor: default;
    opacity: 0.25;
    pointer-events: none;
}

.jq-hide {
    display: none !important;
}

.note {
    font-size: 75%;
    letter-spacing: 0.05em;
    line-height: 1.75;
    opacity: 0.75;
}

.note.is-s {
    font-size: 63%;
}

.orange {
    color: #ff9500 !important;
}

.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.ul {
    text-decoration: underline !important;
}

@media (max-width: 991px) {
    .note,
    .note.is-s {
        font-size: 62.5%;
    }
}

.block-xlg,
.inline-xlg {
    display: none !important;
}

@media (max-width: 1279px) {
    .hide-xlg {
        display: none !important;
    }

    .block-xlg {
        display: block !important;
    }

    .inline-xlg {
        display: inline !important;
    }
}

.block-lg,
.inline-lg {
    display: none !important;
}

@media (max-width: 1199px) {
    .hide-lg {
        display: none !important;
    }

    .block-lg {
        display: block !important;
    }

    .inline-lg {
        display: inline !important;
    }
}

.block-md,
.inline-md {
    display: none !important;
}

@media (max-width: 991px) {
    .hide-md {
        display: none !important;
    }

    .block-md {
        display: block !important;
    }

    .inline-md {
        display: inline !important;
    }
}

.block-sm,
.inline-sm {
    display: none !important;
}

@media (max-width: 767px) {
    .hide-sm {
        display: none !important;
    }

    .block-sm {
        display: block !important;
    }

    .inline-sm {
        display: inline !important;
    }
}

.block-s,
.inline-s {
    display: none !important;
}

@media (max-width: 640px) {
    .hide-s {
        display: none !important;
    }

    .block-s {
        display: block !important;
    }

    .inline-s {
        display: inline !important;
    }
}

.block-xs,
.inline-xs {
    display: none !important;
}

@media (max-width: 480px) {
    .hide-xs {
        display: none !important;
    }

    .block-xs {
        display: block !important;
    }

    .inline-xs {
        display: inline !important;
    }
}

.block-xxs,
.inline-xxs {
    display: none !important;
}

@media (max-width: 400px) {
    .hide-xxs {
        display: none !important;
    }

    .block-xxs {
        display: block !important;
    }

    .inline-xxs {
        display: inline !important;
    }
}

.block-xxxs,
.inline-xxxs {
    display: none !important;
}

@media (max-width: 360px) {
    .hide-xxxs {
        display: none !important;
    }

    .block-xxxs {
        display: block !important;
    }

    .inline-xxxs {
        display: inline !important;
    }
}

.box {
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
}

.btn {
    box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.2);
    display: block;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
}

.btn.is-border-blue,
.btn.is-border-blue img,
.btn.is-border-orange,
.btn.is-border-orange img {
    border-radius: 4px;
}

.btn.is-border-blue:after,
.btn.is-border-orange:after {
    border: 1px solid;
    border-radius: 4px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.btn.is-border-blue:after {
    border-color: rgba(38, 130, 213, 0.5);
}

.btn.is-border-orange:after {
    border-color: #ff9500;
}

.btn.is-border-disable {
    border: 1px solid #eee;
    border-radius: 4px;
    box-shadow: none;
}

.btn.is-navy,
.btn.is-orange {
    border-radius: 30px;
    color: #fff;
    color: #fff;
    border-radius: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    display: flex;
    font-weight: 400;
    letter-spacing: 0.025em;
    line-height: 1.25;
    padding-right: 20px;
    text-align: center;
    height: 60px;
}

.btn.is-navy.is-hover,
.btn.is-orange.is-hover {
    color: #fff;
}

.btn.is-navy p,
.btn.is-navy span,
.btn.is-navy strong,
.btn.is-orange p,
.btn.is-orange span,
.btn.is-orange strong {
    display: inline-block;
}

.btn.is-navy {
    background: #19448e;
    background: linear-gradient(54deg, rgb(25, 68, 142) 0%, rgba(33, 90, 179, 0.99608) 100%);
}

.btn.is-navy .btn-ic {
    padding-left: 16px;
}

.btn.is-navy:after {
    background: url(../images/icon-arrow-right.svg) no-repeat center;
    background-size: contain;
    content: '';
    display: block;
    margin-top: -5px;
    position: absolute;
    top: 50%;
    right: 24px;
    width: 11px;
    height: 11px;
}

.btn.is-orange {
    background: #ff9500;
    background: linear-gradient(54deg, rgb(255, 102, 0) 0%, rgba(255, 149, 0, 0.99608) 100%);
}

.btn.is-orange .btn-ic {
    padding-left: 16px;
}

.btn.is-orange:after {
    background: url(../images/icon-download.svg) no-repeat center;
    background-size: contain;
    content: '';
    display: block;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    right: 26px;
    width: 18px;
    height: 18px;
}

@media (max-width: 640px) {
    .btn.is-navy:after {
        right: 22px;
        width: 10px;
        height: 10px;
    }

    .btn.is-orange:after {
        margin-top: -6px;
        right: 22px;
        width: 14px;
        height: 14px;
    }
}

.lazyload {
    display: block;
    width: 100%;
    height: 0;
}

.lazyload.is-1by1 {
    padding-top: 100%;
}

.lazyload.is-1by2 {
    padding-top: 50%;
}

.lazyload.is-2by3 {
    padding-top: 66.66666667%;
}

.lazyload.is-3by4 {
    padding-top: 75%;
}

.lazyload.is-7by10 {
    padding-top: 70%;
}

.lazyload.is-9by8 {
    padding-top: 112.5%;
}

.lazyload .thumbnail {
    background-position: center;
    background-repeat: no-repeat;
    -ms-background-size: cover;
    background-size: cover;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    transition: 0.3s all ease-out;
    width: 100%;
    height: 100%;
}

.lazyload.active .thumbnail {
    opacity: 1;
}

html,
body {
    height: 100%;
}

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

body {
    background: #fff;
    -ms-background-size: 480px 480px;
    background-size: 480px 480px;
    color: #222;
    font-family: 'Noto Sans CJK JP', 'Noto Sans JP', -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', 'Helvetica Neue', HelveticaNeue, YuGothic, 'Yu Gothic Medium', 'Yu Gothic', Verdana, Meiryo, sans-serif;
    font-size: 16px;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 2;
    word-break: normal;
    word-wrap: break-word;
}

a,
button {
    color: inherit;
    text-decoration: none;
    transition: 0.3s all ease-out;
}

.is-hover {
    -ms-filter: 'alpha(opacity=50)';
    filter: alpha(opacity=50);
    opacity: 0.5;
    zoom: 1;
}

img {
    vertical-align: middle;
    -webkit-touch-callout: none;
}

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

span,
i {
    display: inline-block;
}

input,
textarea,
button {
    outline: none;
}

input:placeholder-shown,
textarea:placeholder-shown,
button:placeholder-shown {
    color: #ccc;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
button::-webkit-input-placeholder {
    color: #ccc;
}

input:-moz-placeholder,
textarea:-moz-placeholder,
button:-moz-placeholder {
    color: #ccc;
    -ms-filter: 'alpha(opacity=100)';
    filter: alpha(opacity=100);
    opacity: 1;
    zoom: 1;
}

input::-moz-placeholder,
textarea::-moz-placeholder,
button::-moz-placeholder {
    color: #ccc;
    -ms-filter: 'alpha(opacity=100)';
    filter: alpha(opacity=100);
    opacity: 1;
    zoom: 1;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder,
button:-ms-input-placeholder {
    color: #ccc;
}

strong {
    font-weight: 700;
}

.wrapper {
    overflow: hidden;
}

.container {
    margin-right: auto;
    margin-left: auto;
    padding-right: 20px;
    padding-left: 20px;
    width: 100%;
    max-width: 1040px;
}

.container.is-m {
    max-width: 1320px;
}

.container.is-s {
    max-width: 840px;
}

.container .container {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.container .container.is-m {
    max-width: 1280px;
}

.container .container.is-s {
    max-width: 800px;
}

.sec {
    padding-top: 60px;
    padding-bottom: 60px;
}

.sec + .sec {
    padding-top: 0;
}

.sec.is-bg {
    background-color: #f3f5f9;
}

.sec.is-l {
    padding-top: 120px;
    padding-bottom: 120px;
}

.sec.is-t0 {
    padding-top: 0;
}

.sec.is-tm {
    padding-top: 80px;
}

.sec.is-tl {
    padding-top: 120px;
}

.sec.is-b0 {
    padding-bottom: 0;
}

.sec.is-bm {
    padding-bottom: 80px;
}

.sec.is-bl {
    padding-bottom: 120px;
}

.sec.is-bxl {
    padding-bottom: 150px;
}

.sec-lead {
    font-size: 137.5%;
    text-align: center;
}

.sec-lead.is-s {
    font-size: 100%;
}

.sec-lead + * {
    margin-top: 3em;
}

.sec-title {
    font-size: 338%;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 40px;
}

.sec-title span {
    display: block;
    font-size: 61%;
}

.sec-title.is-m {
    font-size: 300%;
}

.sec-title.is-s {
    font-size: 237.5%;
}

.sec-title.is-xs {
    font-size: 175%;
}

.sec-title + * {
    margin-top: 1em;
}

@media (max-width: 991px) {
    .sec {
        padding-top: 51px;
        padding-bottom: 51px;
    }

    .sec.is-l {
        padding-top: 102px;
        padding-bottom: 102px;
    }

    .sec.is-tm {
        padding-top: 68px;
    }

    .sec.is-tl {
        padding-top: 102px;
    }

    .sec.is-bm {
        padding-bottom: 68px;
    }

    .sec.is-bl {
        padding-bottom: 102px;
    }

    .sec.is-bxl {
        padding-bottom: 127.5px;
    }

    .sec-lead {
        font-size: 125%;
    }

    .sec-lead.is-md {
        text-align: left;
    }

    .sec-lead + * {
        margin-top: 2em;
    }

    .sec-title {
        font-size: 287.3%;
    }

    .sec-title span {
        font-size: 61%;
    }

    .sec-title.is-m {
        font-size: 250%;
    }

    .sec-title.is-s {
        font-size: 200%;
    }
}

@media (max-width: 767px) {
    .sec-lead {
        font-size: 94%;
    }

    .sec-title {
        font-size: 253.5%;
    }
}

@media (max-width: 480px) {
    .sec {
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .sec.is-l {
        padding-top: 90px;
        padding-bottom: 90px;
    }

    .sec.is-tm {
        padding-top: 60px;
    }

    .sec.is-tl {
        padding-top: 90px;
    }

    .sec.is-bm {
        padding-bottom: 40px;
    }

    .sec.is-bl {
        padding-bottom: 60px;
    }

    .sec.is-bxl {
        padding-bottom: 112.5px;
    }

    .sec-title {
        font-size: 202.8%;
        margin-bottom: 20px;
    }

    .sec-title.is-m {
        font-size: 162.5%;
    }

    .sec-title.is-s {
        font-size: 137.5%;
    }

    .sec-title.is-xs {
        font-size: 125%;
    }
}

/* header */

.site-header {
    background: #fff;
    position: fixed;
    width: 100%;
    z-index: 99;
}

.site-header .container {
    height: 90px;
}

.site-header .logo img {
    width: 188px;
}

.site-header .container,
.site-header .hdr-cta-btns {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.site-header .hdr-cta-btns .btn {
    margin-left: 20px;
    height: 60px;
    width: 200px;
}

.site-header .hdr-cta-btns .btn-ic {
    font-size: 93.8%;
    padding-left: 14px;
}

.site-header .btn.is-navy:after {
    right: 18px;
    margin-top: -5px;
    width: 10px;
    height: 10px;
}

.site-header .btn.is-orange:after {
    right: 20px;
    margin-top: -9px;
    width: 16px;
    height: 16px;
}

@media (max-width: 991px) {
    .site-header .logo img {
        width: 176px;
    }

    .site-header .hdr-cta-btns .btn {
        margin-left: 14px;
        height: 50px;
        width: 180px;
    }

    .site-header .hdr-cta-btns .btn-ic {
        font-size: 87.5%;
    }
}

@media (max-width: 640px) {
    .site-header .container {
        padding: 8px;
        height: 50px;
    }

    .site-header .logo img {
        width: 114px;
    }

    .site-header .hdr-cta-btns .btn {
        margin-left: 8px;
        height: 34px;
        width: 86px;
    }

    .site-header .btn.is-navy,
    .site-header .btn.is-orange {
        padding: 0;
    }

    .site-header .btn.is-orange:after,
    .site-header .btn.is-navy:after {
        content: none;
    }

    .site-header .hdr-cta-btns .btn-ic {
        font-size: 62.5%;
        padding-left: 0;
    }
}

@media (max-width: 320px) {
    .site-header .hdr-cta-btns .btn {
        margin-left: 6px;
        height: 34px;
        width: 84px;
    }
}

/* footer */

.site-footer-address {
    font-size: 82%;
    line-height: 1.5;
    margin-right: auto;
    padding-left: 160px;
}

.site-footer-body ul {
    align-items: center;
    display: flex;
}

.site-footer-cert {
    border-right: 1px solid #eee;
    border-left: 1px solid #eee;
    padding: 20px;
    text-align: center;
    width: 230px;
}

.site-footer-cert img {
    max-width: 120px;
}

.site-footer-cert + .site-footer-cert {
    border-left: none;
}

.site-footer-copyright {
    background-color: #f3f5f9;
    font-size: 69%;
    letter-spacing: 0em;
    line-height: 1.5;
    opacity: 0.5;
    padding-top: 1.25em;
    padding-bottom: 1.25em;
    text-align: center;
}

.site-footer-logo {
    margin-top: -10px;
    position: absolute;
    left: 0;
    top: 50%;
    width: 120px;
}

@media (max-width: 1279px) {
    .site-footer-cert {
        width: 195.5px;
    }
}

@media (max-width: 1199px) {
    .site-footer-cert {
        width: 172.5px;
    }
}

@media (max-width: 991px) {
    .site-footer-address {
        padding-left: 0;
    }

    .site-footer-logo {
        display: block;
        margin-top: 0;
        margin-bottom: 1em;
        position: relative;
        left: auto;
        top: auto;
    }
}

@media (max-width: 767px) {
    .site-footer-address {
        margin-left: auto;
        text-align: center;
        width: 100%;
    }

    .site-footer-body ul {
        display: flex;
        justify-content: center;
        display: flex;
        flex-wrap: wrap;
    }

    .site-footer-cert {
        border-left: none;
        border-right: none;
        margin-top: 30px;
        padding-top: 0;
        padding-bottom: 0;
        width: auto;
    }

    .site-footer-cert img {
        max-width: 90px;
    }

    .site-footer-cert + .site-footer-cert {
        border-left: 1px solid #eee;
        padding-left: 12px;
        padding-right: 12px;
    }

    .site-footer-logo {
        margin-right: auto;
        margin-left: auto;
    }
}

@media (max-width: 480px) {
    .site-footer-cert img {
        max-width: 80px;
    }
}

/* main */

main.wrapper {
    padding-top: 90px;
}

.sec-main .bg {
    background: #e9f2fb;
    background: url(../images/main-bg.jpg) no-repeat center/cover;
    height: 622px;
}

.main-text-wrap {
    text-align: center;
    padding-top: 50px;
    position: relative;
    margin: 0 0 0 auto;
    width: 62%;
    z-index: 1;
}

.main-title-s {
    display: block;
    font-size: 187.5%;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.5;
}

.main-title-s strong {
    color: #048223;
    background: linear-gradient(0deg, rgba(4, 130, 35, 1) 0%, rgba(1, 197, 56, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 120%;
}

.main-title-l {
    display: block;
    font-size: 256.3%;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-bottom: 0.4em;
}

.main-title .logo {
    display: block;
    margin: 0 auto;
    width: 297px;
}

.main-img01 {
    position: absolute;
    top: 298px;
    right: 70px;
    width: 370px;
    z-index: 1;
}

.main-img02 {
    position: absolute;
    top: 40px;
    left: -30px;
    width: 516px;
}

.main-list {
    position: absolute;
    top: 68px;
    right: 412px;
    text-align: right;
    max-width: 570px;
}

.main-list li {
    background: rgb(0, 129, 37);
    background: linear-gradient(270deg, rgba(0, 129, 37, 1) 0%, rgba(0, 197, 56, 1) 100%);
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.15);
    color: #fff;
    display: inline-block;
    font-size: 112.5%;
    letter-spacing: 0.04em;
    padding: 3px 20px 3px 14px;
    transform: skewX(-14deg);
    margin-bottom: 18px;
}

@media (max-width: 991px) {
    .main-text-wrap {
        width: 76%;
    }
    .main-img01 {
        top: 312px;
        right: 4px;
        width: 330px;
    }
    .main-img02 {
        top: 160px;
        left: -50px;
        width: 450px;
    }
    .main-list {
        top: 75px;
        right: 300px;
    }
    .main-list li {
        font-size: 1.75vw;
        letter-spacing: 0.04em;
        padding: 6px 20px 6px 12px;
        margin-bottom: 12px;
    }
}

@media (max-width: 768px) {
    .sec-main .bg {
        height: 570px;
    }
    .main-title {
        font-size: 90%;
    }
    .main-img01 {
        width: 280px;
    }
    .main-list {
        right: 250px;
    }
}

@media (max-width: 640px) {
    main.wrapper {
        padding-top: 50px;
    }

    .sec-main .bg {
        background-position-x: 36%;
        height: 480px;
    }
    .main-text-wrap {
        margin: 0 auto;
        padding-top: 20px;
        width: 100%;
    }
    .main-title {
        font-size: 60%;
    }

    .main-title .logo {
        width: 180px;
    }

    .main-img01 {
        top: 170px;
        width: 224px;
    }

    .main-img02 {
        top: 180px;
        left: -80px;
        width: 360px;
    }
    .main-list {
        top: 174px;
        right: -24px;
    }

    .main-list li {
        font-size: 75%;
        padding: 3px 10px;
        margin-bottom: 3px;
    }
}

@media (max-width: 420px) {
    .main-img01 {
        top: 180px;
        width: 210px;
    }

    .main-img02 {
        width: 280px;
    }
}

@media (max-width: 320px) {
    .main-title {
        font-size: 50%;
    }
    .main-list {
        top: 190px;
    }
    .main-list li {
        font-size: 3.2vw;
    }
}

/* top-cta-wrap */

.top-cta-wrap {
    background: #f8f8f8;
    padding-top: 50px;
    text-align: center;
}

@media (max-width: 640px) {
    .top-cta-wrap {
        padding-top: 30px;
    }
}

/* i-reporter-box */

.i-reporter-box {
    background: #f8f8f8;
    padding: 20px 0 40px;
}

.i-reporter-box .txt {
    background: #fff;
    border-radius: 4px;
    color: #010101;
    font-weight: 700;
    padding: 6px;
    text-align: center;
    margin-bottom: 10px;
}

.i-reporter-box .txt.cl-02 {
    background: #fff4e5;
}

.i-reporter-box .txt > strong {
    color: #ff9500;
}

.i-reporter-box .logo {
    width: 310px;
}

.i-reporter-box .btn {
    background: #fff;
}

.i-reporter-box a img {
    display: block;
    margin: 0 auto;
    max-width: 998px;
}

.i-reporter-box .note {
    text-align: right;
    margin-top: 1em;
}

@media (max-width: 991px) {
    .i-reporter-box .txt {
        font-size: 87.5%;
        line-height: 1.5;
    }
}

@media (max-width: 640px) {
    .i-reporter-box {
        padding: 10px 0 40px;
    }

    .i-reporter-box .txt {
        font-size: 68.8%;
        padding: 8px 2px;
    }

    .i-reporter-box .note {
        font-size: 62.5%;
        text-align: left;
    }
}

/* problem */

.sec-problem {
    background: rgb(242, 242, 242);
    background: linear-gradient(200deg, rgba(242, 242, 242, 1) 0%, rgba(255, 255, 255, 1) 100%, rgba(0, 0, 0, 1) 100%, rgba(0, 0, 0, 1) 100%);
}

.sec-problem .sec-title {
    font-size: 200%;
    letter-spacing: 0.06em;
}

.sec-problem .sec-title .problem-ttl-s {
    color: #ea670d;
    display: inline-block;
    font-size: 68.8%;
    font-weight: normal;
    padding: 0 1.2em;
    position: relative;
    margin-bottom: 0.6em;
}

.sec-problem .sec-title .problem-ttl-s::before {
    left: 0;
    transform: rotate(-34deg);
}

.sec-problem .sec-title .problem-ttl-s::after {
    right: 0;
    transform: rotate(34deg);
}

.sec-problem .sec-title .problem-ttl-s::before,
.sec-problem .sec-title .problem-ttl-s::after {
    background: #ea670d;
    border-radius: 2px;
    content: '';
    display: block;
    position: absolute;
    top: 0%;
    width: 1px;
    height: 100%;
}

.problem-box {
    background: #e5ecf8;
    border-radius: 4px;
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
    padding: 26px 20px 40px;
    margin-bottom: 150px;
}

.problem-box .box-item {
    position: relative;
    width: 32%;
    max-width: 250px;
}

.problem-box .box-text {
    background: #fff;
    border-radius: 4px;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);
    text-align: center;
    padding: 8px 4px;
    position: absolute;
    margin-top: 0.8em;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
}

.problem-box .box-text .ttl {
    font-size: 112.5%;
    margin-bottom: 2px;
}

.problem-box .box-text .text {
    background: #e5ecf8;
    display: inline-block;
    font-size: 87.5%;
    padding: 0 8px;
    margin: 4px 2px;
}

.problem-list {
    padding-right: 200px;
}

.problem-list::after {
    content: '';
    background: url(../images/problem-human.png) no-repeat center/cover;
    display: inline-block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 198px;
    height: 198px;
}

.problem-list li {
    background: #fff;
    border: 2px solid #dce2ed;
    display: flex;
    font-size: 112.5%;
    line-height: 1.5;
    margin-bottom: 20px;
}

.problem-list li:last-child {
    margin-bottom: 0;
}

.problem-list li strong {
    color: #2c97dc;
    font-weight: 700;
}

.problem-list .check {
    background: #dce2ed;
    display: flex;
    align-items: center;
    padding: 14px 16px;
}

.problem-list .check::before {
    content: '';
    background: url(../images/icon-check.svg) no-repeat center/cover;
    display: inline-block;
    width: 18px;
    height: 18px;
}

.problem-list .text {
    display: block;
    padding: 16px 20px;
}

.problem-solution {
    position: relative;
}

.problem-solution::before {
    content: '';
    border-style: solid;
    border-width: 14px 11px 0 11px;
    border-color: #8b94a5 transparent transparent transparent;
    display: block;
    margin: 70px auto 40px;
    width: 0;
    height: 0;
}

.problem-solution .ttl {
    font-size: 212.5%;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    margin-bottom: -1em;
}

.problem-solution .ttl img {
    margin: 0 20px;
    vertical-align: -38%;
    max-width: 300px;
}

.problem-solution .ttl strong {
    font-size: 123.5%;
}

@media (max-width: 991px) {
    .problem-box .box-text .ttl {
        font-size: 87.5%;
    }

    .problem-box .box-text .text {
        font-size: 75%;
        margin: 2px;
    }

    .problem-list li {
        font-size: 87.5%;
        margin-bottom: 14px;
    }

    .problem-list .check {
        padding: 14px 10px;
    }

    .problem-list .check::before {
        width: 14px;
        height: 14px;
    }

    .problem-solution .ttl {
        font-size: 187.5%;
    }
    .problem-solution .ttl img {
        vertical-align: -38%;
        max-width: 250px;
        margin: 0 10px 0 0;
    }
}

@media (max-width: 640px) {
    .sec-problem .sec-title {
        font-size: 125%;
    }
    .problem-box {
        flex-direction: column;
        align-items: center;
        padding: 24px 4px 10px;
        margin-bottom: 40px;
    }

    .problem-box .box-item {
        width: 72%;
        margin: 10px 0;
    }

    .problem-box .box-item img {
        display: block;
        margin: 0 auto;
        width: 68%;
    }

    .problem-box .box-text {
        position: static;
        transform: none;
        padding: 6px 2px;
    }

    .problem-box .box-text .ttl {
        font-size: 75%;
    }

    .problem-list {
        padding-right: 0;
    }

    .problem-list::after {
        display: block;
        position: static;
        margin: 10px 0 0 auto;
        width: 150px;
        height: 150px;
    }

    .problem-solution::before {
        margin: 32px auto 24px;
    }

    .problem-solution .ttl {
        font-size: 112.5%;
    }
    .problem-solution .ttl img {
        vertical-align: -38%;
        width: 150px;
        margin: 0 6px 0 0;
    }
}

/* intro */

.sec-intro {
    background: rgb(239, 254, 227);
    background: linear-gradient(318deg, rgba(239, 254, 227, 1) 0%, rgba(255, 255, 255, 1) 74%);
}

.intro-ttl {
    color: #2e4061;
    font-size: 187.5%;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.6;
    text-align: center;
}

.intro-ttl span {
    font-size: 113.3%;
}

.intro-ttl strong {
    font-size: 126.7%;
}

.intro-ttl img {
    display: block;
    margin: 30px auto 0;
    width: 246px;
}

.video-wrap {
    text-align: center;
    margin: 40px auto;
    max-width: 640px;
    width: 100%;
}

.video-wrap .video {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

.video-wrap iframe {
    border-radius: 3px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.intro-point {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 80px;
}

.intro-point:nth-of-type(odd) {
    flex-direction: row-reverse;
}

.intro-point .text-item {
    width: 53%;
}

.intro-point .text-s {
    color: #38464c;
    font-size: 112.5%;
    margin-bottom: 1em;
}

.intro-point .text-s img {
    margin-right: 6px;
    vertical-align: -34%;
    width: 177px;
}

.intro-point .text-s::after {
    background: #38464c;
    content: '';
    display: inline-block;
    position: relative;
    top: -0.25em;
    right: -0.6em;
    width: 2.6em;
    height: 1px;
}

.intro-point .title {
    background: rgb(33, 100, 38);
    background: linear-gradient(270deg, rgba(33, 100, 38, 1) 0%, rgba(42, 129, 49, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    font-size: 200%;
    font-weight: 700;
    line-height: 1.5;
}

.intro-point .sub-title {
    background: rgb(5, 130, 35);
    background: linear-gradient(270deg, rgba(5, 130, 35, 1) 0%, rgba(75, 194, 23, 1) 100%);
    color: #fff;
    font-size: 125%;
    font-weight: 700;
    line-height: 1.55;
    padding: 10px 20px;
    margin-top: 16px;
}

.intro-point .text-s + .sub-title {
    margin: 10px 0 16px;
}

.intro-point .text-item .lead {
    font-size: 112.5%;
    margin-top: 30px;
}

.intro-point .text-item .lead > span {
    display: inline;
    font-weight: 700;
}

.intro-point .note {
    margin-top: 0.8em;
}

.intro-point .img-item {
    margin-top: 2%;
    width: 400px;
}

.lazyload.is-point-01 {
    padding-top: calc((662 / 754) * 100%);
}

.lazyload.is-point-02 {
    padding-top: calc((760 / 640) * 100%);
}

.lazyload.is-point-03 {
    padding-top: calc((916 / 691) * 100%);
}

.lazyload.is-point-04 {
    padding-top: calc((771 / 722) * 100%);
}

.lazyload.is-point-05 {
    padding-top: calc((726 / 736) * 100%);
}

@media (max-width: 991px) {
    .intro-ttl {
        font-size: 162.5%;
    }
    .intro-point .text-item {
        width: 58%;
    }

    .intro-point .text-s {
        font-size: 100%;
    }

    .intro-point .text-s img {
        width: 160px;
    }

    .intro-point .text-s::after {
        width: 1.6em;
    }

    .intro-point .title {
        font-size: 150%;
    }

    .intro-point .sub-title {
        font-size: 100%;
        padding: 8px 8px 10px;
    }

    .intro-point .text-item .lead {
        font-size: 100%;
        margin-top: 20px;
    }

    .intro-point .img-item {
        width: 35%;
    }
}

@media (max-width: 640px) {
    .intro-ttl {
        font-size: 112.5%;
    }
    .intro-ttl img {
        margin: 16px auto 0;
        width: 190px;
    }
    .video-wrap {
        margin: 30px auto;
    }

    .intro-point {
        margin: 30px 0 60px;
    }

    .intro-point,
    .intro-point:nth-of-type(odd) {
        flex-direction: column;
    }

    .intro-point .text-item {
        width: 100%;
    }

    .intro-point .text-s {
        font-size: 87.5%;
    }

    .intro-point .text-s img {
        width: 130px;
    }

    .intro-point .title {
        font-size: 118.8%;
    }

    .intro-point .sub-title {
        display: block;
        font-size: 93.8%;
        margin-top: 10px;
    }

    .intro-point .text-item .lead {
        font-size: 87.5%;
        margin-top: 16px;
    }

    .intro-point .img-item {
        margin: 1.4em auto 0;
        width: 80%;
    }
}

/* cta */

.sec-cta {
    border-bottom: 2px solid #d3d3d3;
    padding-bottom: 1em;
}

.no1-title {
    background: #ea660d;
    padding: 0.8em 0;
    text-align: center;
}

.no1-title .text {
    color: #fff;
    font-size: 118.8%;
    font-weight: 700;
    display: inline-block;
    padding-right: 90px;
    position: relative;
    z-index: 1;
}

.no1-title .text:before {
    background: url(../images/badge-no1.svg) no-repeat center;
    background-size: contain;
    -webkit-filter: drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.1));
    filter: drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.1));
    content: '';
    display: block;
    margin-top: -44px;
    position: absolute;
    top: 50%;
    right: 0;
    width: 70px;
    height: 80px;
}

.cta-lead {
    margin: 2.8em 0 0.8em;
}

.cta-lead .ttl {
    font-size: 256.3%;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: center;
}

.cta-lead .ttl span {
    display: block;
    font-size: 68.3%;
    margin-bottom: 4px;
}

.cta-lead .ttl span > strong {
    font-size: 114.3%;
}

.cta-lead .ttl img {
    display: inline-block;
    margin-left: 14px;
    max-width: 270px;
    vertical-align: -22%;
}

.cta-box {
    text-align: center;
    padding-top: 20px;
}

.cta-box .cta-btns {
    padding-top: 10px;
}

.cta-text {
    display: inline-block;
    font-size: 112.5%;
    line-height: 1.5;
    margin: 0 auto 16px;
    padding-right: 0.8em;
    padding-left: 0.8em;
    text-align: center;
}

.cta-text::before {
    left: 0;
    transform: rotate(-34deg);
}

.cta-text::after {
    right: 0;
    transform: rotate(34deg);
}

.cta-text::before,
.cta-text::after {
    background: #2e4061;
    border-radius: 2px;
    content: '';
    display: block;
    position: absolute;
    top: 0%;
    width: 1px;
    height: 100%;
}

.cta-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
}

.cta-btns li {
    margin: 0 20px;
    max-width: 350px;
    width: 100%;
}

.cta-btns .btn {
    font-size: 125%;
    height: 70px;
}

@media (max-width: 991px) {
    .cta-lead {
        justify-content: space-around;
    }

    .cta-lead .logo {
        margin-bottom: -3.5em;
        margin-left: 1em;
        max-width: 270px;
    }

    .cta-btns li {
        margin: 0 10px;
        max-width: 300px;
    }

    .cta-btns .btn {
        font-size: 106.3%;
        height: 60px;
    }

    .cta-lead .ttl {
        font-size: 187.5%;
    }

    .cta-lead .ttl img {
        margin-left: 8px;
        max-width: 200px;
        vertical-align: -26%;
    }
}

@media (max-width: 640px) {
    .cta-lead {
        flex-direction: column;
    }

    .cta-lead .main-title {
        font-size: 112.5%;
    }

    .cta-lead .logo {
        margin: 1.5em 0 0;
        max-width: 240px;
    }

    .no1-title {
        padding: 0.8em 0 0.4em;
        text-align: center;
    }

    .no1-title .text {
        font-size: 87.5%;
        line-height: 1.5;
        padding-right: 80px;
    }

    .cta-lead .ttl {
        font-size: 150%;
    }

    .cta-lead .ttl span {
        font-size: 60%;
        margin-bottom: 0;
        line-height: 1.6;
    }

    .cta-lead .ttl img {
        display: block;
        margin: 10px auto 0;
        max-width: 190px;
    }

    .cta-btns {
        flex-direction: column;
        padding: 30px 0;
    }

    .cta-btns li {
        margin: 0 0 14px;
        max-width: 280px;
    }

    .cta-btns .btn {
        font-size: 100%;
    }

    .cta-text {
        font-size: 100%;
        margin: 0 auto 14px;
    }
}

/* function */

.sec-function {
    background: #f8f8f8;
}

.sec-function .container {
    max-width: 980px;
}

.function-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 4.5em;
}

.function-list li {
    background: #fff;
    box-shadow: 3.078px 3.94px 10px 0px rgba(178, 178, 178, 0.5);
    padding: 2em 2em 3em;
    margin-bottom: 3em;
    width: 47.8%;
}

.function-list .num {
    background: rgb(72, 191, 23);
    background: linear-gradient(270deg, rgba(72, 191, 23, 1) 0%, rgba(7, 132, 35, 1) 70%);
    box-shadow: 6.389px 4.815px 0px 0px rgb(80 198 22 / 22%);
    position: absolute;
    top: -10px;
    left: -10px;
    width: 70px;
    height: 70px;
}

.function-list .num img {
    display: block;
    margin: 18px auto;
    width: auto;
    height: 30px;
}

.function-list .list-title {
    font-size: 162.5%;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.8em;
}

.function-list .list-title > span {
    font-size: 70%;
}

.function-list .text {
    font-size: 112.5%;
}

.function-list .img-item {
    margin: 2em auto;
    max-width: 260px;
    width: 100%;
}

.function-list .img-item.mgt {
    margin-top: 6.5em;
}

.function-list .is-func {
    padding-top: 69.23%;
}

.btn-s {
    background: #f3f5f9;
    border-radius: 100px;
    box-shadow: 0px 3px 5px 0px rgba(87, 87, 87, 0.15);
    color: #19448e;
    display: block;
    font-size: 112.5%;
    font-weight: 700;
    padding: 10px;
    text-align: center;
    margin: 0 auto;
    max-width: 300px;
}

.btn-s::after {
    content: '';
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 30px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #19448e;
    border-right: 2px solid #19448e;
    transform: rotate(45deg);
}

.btn-s.is-or {
    color: #ff9500;
}
.btn-s.is-or::after {
    border-top: 2px solid #ff9500;
    border-right: 2px solid #ff9500;
}

@media (max-width: 991px) {
    .function-list .list-title {
        font-size: 137.5%;
        line-height: 1.5;
    }

    .function-list .num {
        width: 56px;
        height: 56px;
    }

    .function-list .num img {
        height: 20px;
    }
}

@media (max-width: 640px) {
    .function-list {
        justify-content: center;
        margin-top: 2.5em;
    }

    .function-list li {
        padding: 2em 1.5em 2.5em;
        margin-bottom: 2.5em;
        width: 94%;
    }

    .function-list .list-title {
        font-size: 112.5%;
    }

    .function-list .text {
        font-size: 100%;
    }

    .btn-s {
        font-size: 100%;
        padding: 8px;
        max-width: 230px;
    }

    .function-list .img-item {
        margin: 1.8em auto;
        max-width: 230px;
    }

    .function-list .img-item.mgt {
        margin-top: 1.8em;
    }
}

/* feature */

.sec-feature {
    background: rgb(239, 254, 227);
    background: linear-gradient(318deg, rgba(239, 254, 227, 1) 0%, rgba(255, 255, 255, 1) 74%);
}

.sec-feature .sec-title {
    letter-spacing: 0.09em;
    margin-bottom: 2em;
}

.sec-feature .sec-title span {
    font-size: 75%;
    display: block;
}

.feature {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 60px;
}

.feature:last-child {
    margin-bottom: 0;
}

.feature:nth-of-type(odd) {
    flex-direction: row-reverse;
}

.feature .text-item {
    width: 54%;
}

.feature .text-item .title {
    color: #206125;
    font-size: 175%;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 0.8em;
}

.feature .text-item .title span {
    font-size: 70%;
}

.feature .text-item .lead {
    font-size: 106.3%;
}

.feature .img-item {
    width: 360px;
}

.feature:nth-of-type(3) .img-item,
.feature:nth-of-type(5) .img-item {
    width: 320px;
}

.feature .lazyload.is-feature-01 {
    padding-top: calc((700 / 754) * 100%);
}

.feature .lazyload.is-feature-02 {
    padding-top: calc((949 / 769) * 100%);
}

.feature .lazyload.is-feature-03 {
    padding-top: calc((760 / 640) * 100%);
}

.feature .lazyload.is-feature-04 {
    padding-top: calc((616 / 714) * 100%);
}

.feature .lazyload.is-feature-05 {
    padding-top: calc((700 / 573) * 100%);
}

.feature .lazyload.is-feature-06 {
    padding-top: calc((786 / 754) * 100%);
}

.feature .lazyload.is-feature-07 {
    padding-top: calc((406 / 640) * 100%);
}

.feature .lazyload.is-feature-08 {
    padding-top: calc((628 / 786) * 100%);
}

@media (max-width: 991px) {
    .feature {
        margin-bottom: 60px;
    }

    .feature .text-item {
        width: 56%;
    }

    .feature .text-item .title {
        font-size: 150%;
    }

    .feature .text-item .lead {
        font-size: 93.8%;
    }

    .feature .img-item {
        width: 290px !important;
        margin: 0 5%;
    }
}

@media (max-width: 640px) {
    .feature,
    .feature:nth-of-type(odd) {
        flex-direction: column;
    }

    .feature .text-item {
        width: 100%;
    }

    .feature .text-item .title {
        font-size: 125%;
        text-align: center;
        line-height: 1.5;
    }

    .feature .text-item .title span {
        font-size: 76%;
    }

    .feature .text-item .lead {
        font-size: 87.5%;
    }

    .feature .img-item {
        margin: 1.4em auto 0;
        width: 64% !important;
    }
}

/* voice */

.sec-voice {
    background: #f8f8f8;
}

.voice-box {
    background: #e3ecf4;
    border-radius: 4px;
    padding: 60px 70px 70px;
    margin-top: 3.5em;
}

.voice-box .title > img {
    display: block;
    margin: 0 auto;
    max-width: 443px;
}

.voice-item {
    margin-top: 3em;
}

.voice-text {
    font-size: 112.5%;
}

.voice-item .voice-text {
    padding-right: 48%;
}

.voice-item .img-box {
    position: absolute;
    top: 0;
    right: -70px;
    width: 432px;
}

.review-box {
    margin-top: 4.6em;
}

.review-box .item iframe {
    margin: 20px auto;
}

@media (max-width: 991px) {
    .voice-box {
        padding: 50px 40px 70px;
    }

    .voice-box .title > img {
        max-width: 380px;
    }

    .voice-item {
        margin-top: 2em;
    }

    .voice-item .voice-text {
        padding-right: 40%;
    }

    .voice-text {
        font-size: 87.5%;
    }

    .voice-item .img-box {
        right: -40px;
        max-width: 310px;
        width: 42%;
    }
}

@media (max-width: 640px) {
    .voice-box {
        padding: 40px 26px;
        margin-top: 2em;
    }

    .voice-box .title > img {
        max-width: 240px;
    }

    .voice-item {
        display: flex;
        flex-direction: column-reverse;
    }

    .voice-text,
    .voice-item .voice-text {
        padding-right: 0;
    }

    .voice-item .img-box {
        position: static;
        width: 90%;
        margin: 0 auto 1.6em;
    }

    .review-box {
        margin-top: 3em;
    }
}

/* results */

.sec-results {
    background: linear-gradient(143deg, rgba(255, 255, 255, 1) 0%, rgb(255 149 0 / 20%) 100%);
}

.sec-results .sec-title .logo {
    vertical-align: -24%;
    width: 250px;
}

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

.results-list li {
    background: #fff;
    box-shadow: 3.078px 3.94px 10px 0px rgb(255 149 0 / 20%);
    padding: 36px 30px;
    text-align: center;
    margin-bottom: 3.6em;
    width: 47.4%;
}

.results-list .text {
    font-weight: 700;
    letter-spacing: 0.05em;
}

.results-list .title {
    background: linear-gradient(0deg, rgba(38, 129, 209, 1) 0%, rgba(26, 72, 147, 1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(38, 129, 209, 1) 0%, rgba(26, 72, 147, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    font-size: 175%;
    font-weight: 700;
    line-height: 1.4;
    margin: 0.5em 0 1em;
}

.results-list img {
    max-width: 360px;
}

.results-list .note {
    font-size: 68.8%;
    margin-top: 2.4em;
}

@media (max-width: 991px) {
    .sec-results .sec-title .logo {
        vertical-align: -32%;
    }

    .results-list li {
        padding: 36px 20px;
        margin-bottom: 2.6em;
        width: 48%;
    }

    .results-list .text {
        line-height: 1.6;
    }

    .results-list .title {
        font-size: 137.5%;
        line-height: 1.7;
    }
}

@media (max-width: 640px) {
    .sec-results .sec-title .logo {
        width: 170px;
    }

    .results-list li {
        padding: 30px 20px;
        margin-bottom: 2em;
        width: 100%;
    }

    .results-list .text {
        font-size: 87.5%;
    }

    .results-list .title {
        font-size: 125%;
        line-height: 1.6;
        margin: 0.5em 0 0.8em;
    }

    .results-list img {
        width: 90%;
    }

    .results-list .note {
        margin-top: 1.4em;
    }
}

/* flow */

.sec-flow {
    background: #f8f8f8;
}

.flow-list {
    display: flex;
    justify-content: space-between;
}

.flow-list li {
    background: #fff;
    box-shadow: 3.078px 3.94px 10px 0px rgba(178, 178, 178, 0.5);
    padding: 30px 20px;
    text-align: center;
    width: 18%;
}

.flow-list li::before {
    content: '';
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -15px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    z-index: 2;
}

.flow-list li::after {
    content: '';
    border-radius: 50%;
    background: #2a8fd9;
    background: linear-gradient(90deg, rgb(39, 134, 214) 0%, rgb(46, 157, 222) 100%);
    display: block;
    position: absolute;
    top: 50%;
    right: -36px;
    transform: translateY(-50%);
    margin: 0 auto;
    width: 46px;
    height: 46px;
    z-index: 1;
}

.flow-list li:last-child::before,
.flow-list li:last-child::after {
    content: none;
}

.flow-list .num img {
    height: 24px;
}

.flow-list .flow-box {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 1em;
}

.flow-list .flow-box .title {
    color: #1e4994;
    font-size: 112.5%;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-top: 0.6em;
}

.flow-list .flow-box img {
    margin: 0 auto;
    width: 68%;
}

@media (max-width: 991px) {
    .flow-list li {
        padding: 30px 14px;
        width: 19%;
    }

    .flow-list .flow-box .title {
        font-size: 87.5%;
    }

    .flow-list .num img {
        height: 20px;
    }

    .flow-list li::before {
        right: -7px;
        width: 6px;
        height: 6px;
    }

    .flow-list li::after {
        right: -20px;
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 767px) {
    .flow-list {
        flex-direction: column;
    }

    .flow-list li {
        padding: 24px 10px 30px;
        margin: 0 auto 20px;
        width: 88%;
    }

    .flow-list li::before {
        top: auto;
        bottom: -14px;
        right: 50%;
        width: 8px;
        height: 8px;
        transform: rotate(135deg) translateX(-50%);
    }

    .flow-list li::after {
        right: auto;
        top: 96%;
        left: 50%;
        transform: translate(-50%, 0%);
        width: 38px;
        height: 38px;
    }

    .flow-list .num img {
        height: 26px;
    }

    .flow-list .flow-box {
        margin-top: 0;
    }

    .flow-list .flow-box img {
        width: 100px;
    }

    .flow-list .flow-box .title {
        font-size: 112.5%;
        margin-top: 0;
    }
}

/* faq */

.sec-faq {
    background: linear-gradient(143deg, rgba(255, 255, 255, 1) 0%, rgb(255 149 0 / 20%) 100%);
}

.sec-faq .sec-title {
    margin-bottom: 1.5em;
}

.faq-accordion {
    background: #fff;
    box-shadow: 3.078px 3.94px 10px 0px rgba(178, 178, 178, 0.5);
    position: relative;
    outline: 0;
    cursor: pointer;
    margin-bottom: 2em;
    width: 100%;
}

.faq-accordion .title {
    cursor: pointer;
    display: flex;
    font-size: 137.5%;
    font-weight: 700;
    transition: 0.2s all ease-out;
}

.faq-accordion .title:hover,
.faq-accordion .title:active {
    opacity: 0.8;
}

.faq-accordion .title .num {
    background: #ff9500;
    background: linear-gradient(90deg, rgb(255 149 0) 0%, rgb(255 166 41) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
}

.faq-accordion .title .num img {
    height: 30px;
}

.faq-accordion .title .text {
    padding: 14px 24px;
}

.faq-accordion .arrow {
    background: #ff9500;
    background: linear-gradient(90deg, rgb(255 149 0) 0%, rgb(255 166 41) 100%);
    margin-left: auto;
    width: 70px;
}

.faq-accordion .title .arrow:after {
    content: '';
    position: absolute;
    right: 30px;
    top: 38%;
    transition: all 0.2s ease-in-out;
    display: block;
    width: 12px;
    height: 12px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(135deg);
}

.faq-accordion .title.open .arrow:after {
    transform: rotate(-45deg);
    top: 45%;
}

.faq-accordion .a-box {
    border-top: 1px solid #d2d2d2;
    display: none;
    padding: 2em 3em;
}

.faq-accordion .a-box .text {
    font-size: 112.5%;
    line-height: 1.7;
}

.sec-faq .btn-s {
    background: #fff;
    margin-top: 3.5em;
}

.text-link {
    color: #2c97dc;
    text-decoration: underline;
}

@media (max-width: 991px) {
    .faq-accordion .title {
        font-size: 112.5%;
    }

    .faq-accordion .title .num img {
        height: 22px;
    }

    .faq-accordion .title .text {
        padding: 14px 20px;
    }

    .faq-accordion .a-box {
        padding: 1.6em 2em;
    }

    .faq-accordion .a-box .text {
        font-size: 100%;
    }
}

@media (max-width: 640px) {
    .faq-accordion {
        margin-bottom: 1.5em;
    }

    .faq-accordion .title {
        font-size: 100%;
    }

    .faq-accordion .title .text {
        line-height: 1.6;
        padding: 14px 16px;
        width: 70%;
    }

    .faq-accordion .title .num,
    .faq-accordion .arrow {
        width: 50px;
    }

    .faq-accordion .title .num img {
        height: 16px;
    }

    .faq-accordion .title .arrow:after {
        right: 20px;
        top: 40%;
        width: 8px;
        height: 8px;
    }

    .faq-accordion .a-box {
        padding: 1.4em 1.8em;
    }

    .faq-accordion .a-box .text {
        font-size: 87.5%;
    }

    .sec-faq .btn-s {
        margin-top: 2.5em;
    }
}

/* client */

.client {
    background-color: #f3f5f9;
    border-radius: 4px;
    color: #19448e;
    display: flex;
    justify-content: center;
    align-items: center;
    display: flex;
    font-size: 94%;
    font-weight: 700;
    letter-spacing: 0.025em;
    padding: 2em 1em;
    text-align: center;
    width: 100%;
}

.client span {
    font-size: 75%;
}

.client-list {
    margin-right: -10px;
    margin-left: -10px;
}

.client-list ul {
    margin-top: -20px;
    display: flex;
    flex-wrap: wrap;
}

.client-list li {
    display: flex;
    padding-top: 20px;
    padding-right: 10px;
    padding-left: 10px;
    width: 33.33333333%;
}

.client-list + .note {
    padding-top: 1em;
    text-align: right;
}

@media (max-width: 991px) {
    .client {
        display: flex;
        flex-wrap: wrap;
    }

    .client span {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .client {
        padding-top: 1.5em;
        padding-bottom: 1.5em;
    }

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

    .client-list li {
        width: 50%;
    }

    .client-list + .note {
        text-align: center;
    }
}

@media (max-width: 480px) {
    .client {
        font-size: 88%;
        padding-top: 1.25em;
        padding-bottom: 1.25em;
    }

    .client-list {
        margin-right: 0;
        margin-left: 0;
    }

    .client-list ul {
        margin-top: -10px;
    }

    .client-list li {
        padding-right: 0;
        padding-left: 0;
        padding-top: 10px;
        width: 100%;
    }

    .client-list + .note {
        text-align: right;
    }
}

/* company */

.sec-company .sec-title img {
    margin-bottom: 0.5em;
    width: 240px;
}

@media (max-width: 767px) {
    .sec-company .sec-title img {
        width: 180px;
    }
}

.company-data {
    margin-top: 60px;
}

.company-data dl {
    background-color: #f3f5f9;
    border-radius: 4px;
    display: table;
    font-size: 94%;
    width: 100%;
}

.company-data dl + dl {
    margin-top: 20px;
}

.company-data dt,
.company-data dd {
    display: table-cell;
    padding: 1.5em 2em;
    vertical-align: middle;
}

.company-data dt {
    color: #19448e;
    font-weight: 700;
    padding-right: 0;
    width: 160px;
}

.company-product {
    margin-right: -15px;
    margin-left: -15px;
    text-align: center;
}

.company-product ul {
    margin-top: -30px;
    display: flex;
    flex-wrap: wrap;
}

.company-product li {
    display: flex;
    padding-top: 30px;
    padding-right: 15px;
    padding-left: 15px;
    width: 50%;
}

.company-product-banner {
    width: 100% !important;
}

.company-product-banner p {
    width: 100%;
}

.company-product-banner strong {
    color: #19448e;
    display: inline-block;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 1em;
    padding-right: 1em;
    padding-left: 1.5em;
}

.company-product-banner strong:before,
.company-product-banner strong:after {
    background-color: #19448e;
    border-radius: 1px;
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    width: 2px;
    height: 100%;
}

.company-product-banner strong:before {
    left: 0;
    transform: rotate(-45deg);
}

.company-product-banner strong:after {
    right: 0;
    transform: rotate(45deg);
}

.company-product-image .btn {
    color: #616161;
    display: flex;
    justify-content: center;
    align-items: center;
    display: flex;
    font-size: 82%;
    letter-spacing: 0em;
    line-height: 1.25;
    padding: 1.5em 1em;
}

.company-product-image .btn img {
    margin-top: 0.5em;
    max-width: 160px;
}

@media (max-width: 767px) {
    .company-data {
        margin-top: 40px;
    }

    .company-data dl,
    .company-data dt,
    .company-data dd {
        display: block;
    }

    .company-data dl {
        padding: 1em 1.5em;
    }

    .company-data dt,
    .company-data dd {
        padding: 0;
    }

    .company-data dt {
        padding-right: 0;
        width: auto;
    }

    .company-product {
        margin-right: -10px;
        margin-left: -10px;
    }

    .company-product ul {
        margin-top: -20px;
    }

    .company-product li {
        padding-top: 20px;
        padding-right: 10px;
        padding-left: 10px;
    }

    .company-product-image .btn {
        font-size: 75%;
    }
}

@media (max-width: 640px) {
    .company-product {
        margin-right: 0;
        margin-left: 0;
    }

    .company-product li {
        padding-right: 0;
        padding-left: 0;
        width: 100%;
    }

    .company-product-banner strong {
        font-size: 94%;
    }

    .company-product-banner strong:before {
        transform: rotate(-30deg);
    }

    .company-product-banner strong:after {
        transform: rotate(30deg);
    }
}

@media (max-width: 480px) {
    .company-data dl {
        font-size: 88%;
    }

    .company-data dl + dl {
        margin-top: 10px;
    }
}

/* family */
.introduction-results a {
    border: 1px solid #ff9500;
    display: block;
}
.p-data__list {
    background: #fff;
    box-shadow: 3.078px 3.94px 10px 0px rgb(255 149 0 / 20%);
    letter-spacing: 0;
    margin-bottom: 3.6em;
    padding: 30px 20px 20px;
    text-align: center;
}
.p-data__item-l .powered-by {
    margin-bottom: 1em;
    margin-left: auto;
    padding-right: 1em;
    text-align: right;
    max-width: 151px;
}
.p-data__item {
    align-items: center;
    display: flex;
    justify-content: center;
    gap: 4%;
    padding: 1% 0;
}
.p-data__item-col .img-m {
    max-width: 327px;
    width: 100%;
}
.p-data__item-col .img-s {
    max-width: 228px;
    width: 100%;
}
.p-data__item-col .p-data__subtitle {
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 1em;
}
.p-data__item-col .p-data__subtitle strong {
    display: block;
    font-size: 150%;
    line-height: 1.35;
    margin-top: 0.5em;
}
.p-data__item-col.is-s .p-data__subtitle strong {
    color: #333333;
    font-size: 135%;
}
.p-data__item-col .p-data__subtitle strong > span {
    font-size: 80%;
}
.p-data__item-col .p-data__subtitle strong sup {
    font-size: 60%;
    top: -0.5em;
}
.p-data__notice,
.p-data__date {
    color: #949494;
    display: inline-block;
    font-size: 10px;
    text-align: left;
}
@media (min-width: 992px) {
    .d-lg-none {
        display: none !important;
    }
}
@media screen and (max-width: 991px) {
    .p-data__item {
        flex-wrap: wrap;
    }
    .p-data__item-col {
        width: 100%;
    }
    .p-data__item-col.is-s {
        margin-top: 2.5em;
        width: 44%;
    }
}
@media screen and (max-width: 768px) {
    .p-data__item-col.is-s {
        margin-top: 3em;
        width: 100%;
    }
    .p-data__item-col .img-m {
        max-width: 400px;
    }
    .p-data__item-col .img-s {
        max-width: 300px;
    }
}
@media screen and (max-width: 640px) {
    .p-data__item-col .img-m {
        max-width: 280px;
    }
    .p-data__item-col .img-s {
        max-width: 200px;
    }
    .p-data__item-col .p-data__subtitle strong {
        font-size: 135%;
        letter-spacing: -1px;
    }
    .p-data__item-col.is-s .p-data__subtitle strong {
        font-size: 115%;
    }
}
/* ----- 202404 cta01-03 ----- */
.cta--dl {
    line-height: 1.6;
    padding-bottom: 1.4em;
}
.container .cta--dl .container {
    padding: 0 20px !important;
}
.cta--dl__lead {
    color: #2e4061;
    font-size: 125%;
    font-weight: 700;
    text-align: center;
    margin: 1.5em 0;
}
.cta--dl__list {
    padding-left: 1.4em;
}
.cta--dl__list li {
    list-style-type: disc;
}
.cta-btns.cta--dl__btn li {
    max-width: 420px;
}
.cta-btns.cta--dl__btn .btn-ic strong {
    font-size: 120%;
    font-weight: 500;
}
.cta-btns.cta--dl__btn .btn.is-orange:after {
    right: 1.8em;
}
@media screen and (max-width: 991px) {
    .cta--dl__lead {
        font-size: 112.5%;
    }
    .cta--dl__list li {
        font-size: 87.5%;
    }
    .cta-btns.cta--dl__btn li {
        max-width: 360px;
    }
}
@media screen and (max-width: 767px) {
    .cta--dl {
        padding-bottom: 0;
    }
    .cta--dl__lead {
        font-size: 87.5%;
        text-align: left;
    }
    .cta--dl__list {
        padding-left: 1em;
    }
    .cta--dl__list li {
        font-size: 62.5%;
        letter-spacing: 0.02em;
    }
    .cta-btns.cta--dl__btn li {
        max-width: 300px;
    }
    .cta-btns.cta--dl__btn .btn.is-orange:after {
        right: 1.2em;
    }
}
/* cta01 */
.cta01 {
    background: #f6f6f6;
    border-bottom: 2px solid #85c7f5;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    margin-top: 5em;
}
.cta01__ttl {
    background: rgb(78, 166, 238);
    background: linear-gradient(120deg, rgba(78, 166, 238, 1) 0%, rgba(86, 204, 248, 1) 100%);
    color: #fff;
    font-size: 187.5%;
    line-height: 1;
    text-align: center;
    padding: 0.7em;
    position: relative;
}
.cta01__ttl::before {
    content: '';
    background: url(../images/cta1-img01.png) no-repeat center/cover;
    position: absolute;
    left: 72vw;
    bottom: -1px;
    width: 108px;
    height: 77px;
}
.cta01__ttl > span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    font-size: 60%;
}
.cta01__ttl > span::before,
.cta01__ttl > span::after {
    width: 2px;
    height: 22px;
    background-color: #fff;
    content: '';
}
.cta01__ttl > span::before {
    transform: rotate(-35deg);
    margin-right: 20px;
}
.cta01__ttl > span::after {
    transform: rotate(35deg);
    margin-left: 14px;
}
.cta01__ttl > strong {
    display: block;
    font-weight: 500;
}
.cta01__ttl > strong > b {
    font-size: 150%;
}
.cta01__detail {
    margin: 0 auto;
    width: 100%;
    max-width: 800px;
}
.cta01__detail th,
.cta01__detail td {
    vertical-align: middle;
    padding: 1.4em;
    font-weight: 500;
}
.cta01__detail th {
    border-radius: 8px 0 0 8px;
    background: rgb(78, 166, 238);
    background: linear-gradient(120deg, rgba(78, 166, 238, 1) 0%, rgba(86, 204, 248, 1) 100%);
    color: #fff;
    font-size: 125%;
    text-align: center;
    width: 24%;
}
.cta01__detail td {
    border: 1px solid #85c7f5;
    border-radius: 0 8px 8px 0;
    background: #fff;
    display: block;
    color: #1a72b3;
    width: 100%;
}
.cta01__document {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 0.2%;
    margin-top: 2em;
}
.cta01__document li {
    text-align: center;
    width: 24%;
}
.cta01__document li img {
    box-shadow: 1px 1px 8px 0px rgba(27, 58, 112, 0.1);
    display: block;
    margin: 0 auto;
    max-width: 224px;
}
.cta01__document li p {
    font-size: 87.5%;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.5;
    margin-top: 0.5em;
}
@media screen and (max-width: 991px) {
    .cta01__ttl {
        font-size: 162.5%;
    }
    .cta01__ttl::before {
        left: 82vw;
        width: 90px;
        height: 64px;
    }
    .cta01__detail th {
        font-size: 100%;
    }
    .cta01__document li {
        width: 29%;
    }
    .cta01__document li img {
        max-width: 180px;
    }
    .cta01__document li p {
        font-size: 75%;
    }
}
@media screen and (max-width: 767px) {
    .cta01__ttl {
        font-size: 125%;
    }
    .cta01__ttl > span {
        margin-bottom: 0.6em;
    }
    .cta01__ttl > span::before,
    .cta01__ttl > span::after {
        height: 15px;
    }
    .cta01__ttl > span::before {
        margin-right: 10px;
    }
    .cta01__ttl > span::after {
        transform: rotate(35deg);
        margin-left: 6px;
    }
    .cta01__ttl::before {
        width: 66px;
        height: 47px;
    }
    .cta01__detail {
        display: flex;
        justify-content: center;
    }
    .cta01__detail th,
    .cta01__detail td {
        display: block;
        width: 100%;
    }
    .cta01__detail th,
    .cta01__detail td {
        padding: 1em;
    }
    .cta01__detail th {
        border-radius: 8px 8px 0 0;
        font-size: 85%;
    }
    .cta01__detail td {
        border-radius: 0 0 8px 8px;
    }
    .cta01__document {
        flex-direction: column;
        align-items: center;
        margin-bottom: -1em;
    }
    .cta01__document li {
        margin-bottom: 1em;
        width: 90%;
    }
    .cta01__document li p {
        font-size: 62.5%;
    }
}
/* cta02 */
.cta02 {
    background: #e9f3fc;
    border-top: 2px solid #325fab;
    border-bottom: 2px solid #325fab;
    margin-top: 3em;
}
.cta02__ttl {
    text-align: center;
    position: relative;
}
.cta02__ttl > span {
    background: #325fab;
    border-radius: 100px;
    color: #fff;
    font-size: 137.5%;
    font-weight: 500;
    padding: 0.3em 1em;
    position: absolute;
    top: -1.2em;
    left: 50%;
    transform: translateX(-50%);
    width: 470px;
}
.cta02__ttl > strong {
    color: #325fab;
    display: inline-block;
    font-size: 187.5%;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding-top: 1.8em;
}
.cta02__ttl > strong > b {
    font-size: 128%;
}
.cta02__detail {
    border: 1px solid #8fb5f6;
    box-shadow: 2.237px 3.316px 10px 0px rgba(53, 83, 129, 0.1);
    background: #fff;
    padding: 1.2em 2em;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 2%;
    margin: 0 auto;
    max-width: 900px;
}
.cta02__detail ul {
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.02em;
}
.cta02__detail-ttl {
    color: #325fab;
    font-size: 143.8%;
    font-weight: 700;
    border-bottom: 2px solid #325fab;
    padding: 0 0 0.2em 1.5em;
    margin-bottom: 1em;
    position: relative;
}
.cta02__detail-ttl::before {
    content: '';
    background: url(../images/cta2-img01.png) no-repeat center/cover;
    position: absolute;
    left: 4px;
    bottom: 8px;
    width: 20px;
    height: 37px;
}
.cta02__doc {
    max-width: 358px;
}
@media screen and (max-width: 991px) {
    .cta02__ttl > strong {
        font-size: 162.5%;
    }
    .cta02__ttl > span {
        font-size: 125%;
    }
    .cta02__detail-ttl {
        font-size: 125%;
    }
    .cta02__doc {
        max-width: 40%;
    }
}
@media screen and (max-width: 767px) {
    .cta02__ttl > span {
        font-size: 87.5%;
        width: 290px;
    }
    .cta02__ttl > strong {
        font-size: 112.5%;
        line-height: 1.4;
    }
    .cta02__detail {
        flex-direction: column;
        padding: 1.4em;
        max-width: 340px;
    }
    .cta02__detail-ttl {
        font-size: 100%;
    }
    .cta02__detail-ttl::before {
        bottom: 6px;
        width: 14px;
        height: 26px;
    }
    .cta02__detail-item {
        margin-bottom: 0.6em;
        width: 100%;
    }
    .cta02__doc {
        max-width: 76%;
    }
}
/* cta03 */
.cta03 {
    background: #fff;
    padding: 6em 0;
}
.cta03__box {
    background: #e6f4f5;
    border: 4px solid #cce7e9;
    padding: 0 1em 1em;
    position: relative;
}
.cta03__box::before {
    content: '';
    background: url(../images/cta3-img01.png) no-repeat center/cover;
    position: absolute;
    right: 0;
    top: 0;
    width: 174px;
    height: 160px;
}
.cta03__ttl {
    text-align: center;
    position: relative;
}
.cta03__ttl > span {
    background: #018c91;
    border-radius: 6px;
    color: #fff;
    font-size: 137.5%;
    font-weight: 500;
    display: flex;
    justify-content: center;
    padding: 0.5em;
    position: relative;
    margin: -1.4em auto 1.4em;
    max-width: 520px;
}
.cta03__ttl > span::before {
    content: '';
    position: absolute;
    bottom: -10px;
    width: 20px;
    height: 15px;
    background-color: #018c91;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.cta03__ttl > strong {
    display: inline-block;
    font-size: 187.5%;
    font-weight: 700;
    letter-spacing: 0.08em;
}
.cta03__ttl > strong > b {
    color: #018c91;
    font-size: 128%;
    font-weight: 700;
}
.cta03__detail {
    border-radius: 3px;
    box-shadow: 0px 2px 10px 0px rgba(20, 58, 59, 0.1);
    background: #fff;
    padding: 1.2em 1.6em;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 2%;
    position: relative;
    margin: 3.2em auto 0;
    max-width: 760px;
}
.cta03__detail ul {
    color: #018c91;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.02em;
    margin-top: 2.4em;
}
.cta03__detail-ttl {
    border-radius: 3px 0 0 0;
    background: rgb(1, 140, 145);
    background: linear-gradient(120deg, rgba(1, 140, 145, 1) 0%, rgba(70, 191, 181, 1) 100%);
    color: #fff;
    font-size: 137.5%;
    font-weight: 700;
    padding: 0.5em 3em 0.5em 1.4em;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-clip-path: polygon(0 0, 100% 0%, 94% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0%, 94% 100%, 0% 100%);
}
.cta03__doc {
    display: block;
    margin-top: -3em;
    max-width: 320px;
}
@media screen and (max-width: 991px) {
    .cta03__ttl > span {
        font-size: 125%;
    }
    .cta03__ttl > strong {
        font-size: 162.5%;
    }
    .cta03__detail {
        padding: 2em 1em;
        max-width: 90%;
    }
    .cta03__detail-ttl {
        font-size: 125%;
    }
    .cta03__doc {
        max-width: 40%;
    }
}
@media screen and (max-width: 767px) {
    .cta03 {
        padding: 4em 0;
    }
    .cta03__ttl > span {
        font-size: 87.5%;
        max-width: 340px;
    }
    .cta03__ttl > strong {
        font-size: 112.5%;
        line-height: 1.4;
    }
    .cta03__box {
        padding-bottom: 0;
    }
    .cta03__box::before {
        width: 109px;
        height: 100px;
    }
    .cta03__detail {
        flex-direction: column;
        margin-top: 1.8em;
        padding: 1.6em 1em 1.4em;
        overflow: hidden;
        max-width: 340px;
        width: 100%;
    }
    .cta03__detail-ttl {
        -webkit-clip-path: none;
        clip-path: none;
        font-size: 85%;
        padding: 1em;
        text-align: center;
        width: 100%;
    }
    .cta03__doc {
        margin-top: 0.8em;
        max-width: 76%;
    }
}

/* breadcrumbs */
.breadcrumbs {
    background: #fafafa;
    color: #3a3a3a;
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1.5;
    padding: 0.4em 0;
}
.breadcrumbs-inner {
    padding-right: 10px;
    padding-left: 10px;
    margin: 0 auto;
    max-width: 1020px;
    width: 100%;
}
.breadcrumbs a {
    color: #ffa807;
}
@media (max-width: 768px) {
    .breadcrumbs {
        font-size: 10px;
    }
}
