@charset "utf-8";
.t-base {
    color: #fff;
}
.t-main {
    color: #004ea2;
}
.for_tb {
    display: none !important;
}
.lay_rel {
    position: relative;
    clear: both;
}
#bg_body {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background: #c2ecfd url(../images/bg_bone.png);
    background-size: 30.93% auto;
    opacity: 0;
}
#mainimg .inner {
    max-width: 1366px;
    padding-top: 2.2%;
}
.mainimg_tl {
    width: 16.4%;
    margin: 18.8% 0% 0% 14.1%;
    position: absolute;
    left: 0;
    z-index: 2;
    opacity: 0;
}
.mainimg_product {
    position: absolute;
    width: 13.601%;
    top: 0;
    left: 0;
    margin: 10.5% 0 0 4.6%;
    z-index: 2;
}
.mainimg01 {
    width: 233%;
    padding-top: 71%;
    position: relative;
    z-index: 1;
    opacity: 0;
    margin: 0% 0% 0% -24.5%;
    will-change: transform, opacity;
}
.mainimg01 img {
    width: 100%;
    height: auto;
}
.mainimg02 {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0 -6% 9.1% 0%;
    opacity: 0;
    will-change: opacity, filter;
}
.mainimg_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.mainimg_bg img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
img.mainimg_light {
    mix-blend-mode: screen;
    margin: 0 -26% 0 auto;
    height: auto;
    z-index: 2;
    width: 147.467%;
    position: absolute;
    top: 0;
    right: 0;
    transform-origin: center center;
    opacity: 0;
}
.mainimg_bg-02 {
    width: 100vw;
    min-width: 1366px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #064d97;
    z-index: -1;
}
/* new */
.new__text_wrap {
    position: relative;
    will-change: transform;
}
.new__text_img {
    width: 88.236%;
}
.new_wrap {
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 76%;
    margin-left: 34%;
    width: 25.5%;
    z-index: 1;
}
.new_text01 {
    width: 75%;
    position: absolute;
    top: 0;
    left: 0;
    margin: 24% 0 0 12%;
    opacity: 0;
    transform-origin: 100% 100%;
    will-change: transform, opacity;
}
.new01 {
    opacity: 0;
    transform-origin: 150% 70%;
    transform-origin: -50% 50%;
    will-change: transform, opacity;
}
.new_text02 {
    width: 76%;
    position: absolute;
    top: 0;
    left: 0;
    margin: 55.3% 0 0 12%;
}
.new_text02_01 {
    opacity: 0;
    width: 104%;
    will-change: transform, opacity;
}
.new_text02_02 {
    opacity: 0;
    width: 102%;
    will-change: transform, opacity;
}
.new_text03 {
    position: absolute;
    bottom: 0;
    left: 0;
    margin-bottom: -14.4%;
    margin-left: 15%;
    width: 70%;
    opacity: 0;
    will-change: opacity;
}
.product_top {
    position: absolute;
    bottom: 100%;
    left: 0;
    transform-origin: 100% 0;
    margin: 0 0 -1px;
    pointer-events: none;
}
.cts_tl {
    position: relative;
    text-align: center;
    font-size: 3.4em;
    line-height: 1.501;
    letter-spacing: 0.15em;
    width: fit-content;
    margin: 0 auto;
}
.cts_tl_line {
    content: "";
    border-bottom: solid 2px;
    display: block;
    margin: 1.9rem auto 0;
    transform: scaleX(0);
    width: 90%;
}
.bnr_story {
    width: 86.667%;
    display: block;
    margin: 0 auto;
    padding: 8.9% 0 3.4%;
}
.bnr_story a {
    display: block;
    position: relative;
}
.bnr_story a img {
    opacity: 0;
    margin: 0 auto;
    border: solid 2px;
    filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.4));
    box-sizing: border-box;
}
.bnr_story a+a {
    margin-top: 4.8%;
}
.ctn_product {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
    justify-content: space-between;
}
.ctn_product+.ctn_product {
    margin-top: 28.7%;
}
.product_box {
    float: right;
    width: 52%;
    position: relative;
    margin: 0.3% 6.8% 0 -10%;
    padding: 0 0 17.5%;
}
.product_stl {
    position: absolute;
    top: 0;
    left: 0;
    width: 166.667%;
    margin: -53% 0 0 -66.7%;
}
.product_text {
    font-size: 3.2em;
    line-height: 1.563;
    margin: 2.3% -3% 0 -0.3%;
    letter-spacing: -0.03em;
}
.product_text sup {
    font-size: .6em;
    vertical-align: super;
}
.kinou_tl {
    border: solid 1px;
    font-size: 2.2em;
    text-align: center;
    margin: 9.5% 0 0 0;
    width: 100%;
    padding: 3.9% 0 3.7%;
    letter-spacing: 0.06em;
    font-weight: 400;
}
.kinou_text {
    margin: 1.4% 0 0;
    text-align: justify;
    font-weight: 400;
    font-size: 2.001em;
    line-height: 1.6;
}
.product_caption {
    margin: 4.1% 0 0;
    text-align: justify;
    font-weight: 400;
    display: block;
    font-size: 2.001em;
    line-height: 1.4;
}
.product_btn {
    color: #004ea2;
    background: #fff;
    font-size: 2.3em;
    border-radius: 0.6rem;
    display: block;
    margin: 3.5% 0 0 0;
    letter-spacing: 0.06em;
    padding: 0.7em 0 0.8em 0;
    text-align: center;
}
.product_arw {
    display: inline-block;
    width: 0.5em;
    padding: 0 0 0 0.9em;
    position: relative;
    top: 0.1em;
}
.product_img {
    width: 37.267%;
    margin: -2.3% 0 0 3.5%;
    padding: 0 0 1.6%;
    float: left;
}
.ctn_product--02 .product_img {
    margin: -2.4% 0 0 3.4%;
    width: 38%;
}
.product_bottom {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
}
.product_bottom>img {
    margin-top: -1px;
}
.product_bottom:before {
    content: "";
    display: block;
    width: 100%;
    flex-grow: 1;
    background: #004ea2;
}
.cts_link_top.cm_line {
    top: auto;
    bottom: 0;
    margin-bottom: -3.2%;
}
.cts_link_top {
    position: absolute;
    top: 0;
    left: 0;
    top: 100%;
    margin: 3.2% 0 0;
    width: 100%;
}
.line_y {
    position: relative;
}
.cts_link_top .line_w {
    position: absolute;
    top: 0;
    left: 0;
    margin: 2.7% 0 0 0;
}
.cm__ctn-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 7em 2%;
}
.cts_link {
    text-align: center;
    display: block;
    width: 86.667%;
    margin: 0 auto;
}
.cm_link+.cm_link {
    margin-top: 5.4%;
}
.cts_thumb {
    display: block;
    position: relative;
}
.cts_thumb:before {
    content: "";
    width: 8.2em;
    height: 0;
    padding: 0 0 8.2em;
    margin: -4.1em;
    position: absolute;
    top: 50%;
    left: 50%;
    background: #004ea2;
    opacity: 0.5;
    border-radius: 5em;
}
.cts_thumb:after {
    content: "";
    border-left: solid #fff 3em;
    border-top: solid transparent 1.45em;
    border-bottom: solid transparent 1.45em;
    border-right: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -1.5em -0.94em;
    opacity: 0.8;
}
.cts_thumb img {
    border-radius: 1rem;
}
.cm_text {
    font-size: 3.2em;
    padding: 7.5% 0 2%;
    display: block;
    letter-spacing: 0.1em;
}
.story_tl {
    clear: both;
    text-align: center;
    font-size: 3.2em;
    margin: 10.7% 0 5.2%;
    letter-spacing: 0.1em;
}
.anchor_story {
    position: absolute;
    top: 0;
    left: 0;
    margin: -5% 0 0;
}
.ctn_img_story {
    position: relative;
    width: 86.667%;
    margin: 0 auto;
    height: 0;
    padding: 0 0 70.7%;
    border-radius: 1em;
    overflow: hidden;
}
.ctn_img_story::after {
    content: "";
    background: url(../images/spacer.png) repeat;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.ctn_img_story img {
    position: absolute;
    top: 0;
    left: 0;
}
.lists_story {
    width: 86.667%;
    margin: 0 auto;
}
.lists_story li {
    margin: 0 0 1.6%;
    position: relative;
}
.lists_story .story_arw {
    position: absolute;
    top: 50%;
    right: 0;
    width: 2.462%;
    margin: -2.2% 4.5% 0 0;
}
.dialogue_text {
    font-size: 3em;
    text-align: center;
    line-height: 1.6;
    margin: 7.1% 0 6.2%;
    letter-spacing: 0.06em;
}
.dialogue_btn {
    display: block;
    background: #fff;
    margin: 0 auto;
    font-size: 3.565em;
    color: #004ea2;
    width: 30rem;
    text-align: center;
    border-radius: 0.7rem;
    margin: 5.5% auto 0;
    padding: 0.5em 0 0.65em;
}
.dialogue_arw {
    display: inline-block;
    width: 0.5em;
    padding: 0 0 0 0.8em;
    margin: 0 -1.3em 0 0;
    position: relative;
    top: 0.1em;
}
.ambassador_text {
    text-align: center;
    font-size: 3em;
    line-height: 1.6;
    margin: 7% 0 6.7%;
    letter-spacing: 0.06em;
}
.result_cts {
    width: 91.667%;
    margin: 11.8% auto 0;
    background: #fff;
    border-radius: 2.6rem;
    padding: 0 0 5.3%;
    background: #d2eefa;
}
.result__tl {
    color: var(--c-main);
    text-align: center;
    font-size: 3rem;
    letter-spacing: 0.04em;
    line-height: 1.434;
    padding: 6.5% 0 0;
    font-weight: 600;
}
.result__caption {
    color: #333;
    font-size: 1.8rem;
    text-align: center;
    display: block;
    margin: 1% 0 1%;
    letter-spacing: 0.08em;
    font-weight: 500;
}
.result_stl {
    width: 89.647%;
    margin: 0 0 0 5.2%;
    padding: 3.4% 0 0;
}
.result_box {
    width: 88.793%;
    margin: -4% 0 0 5.5%;
    padding: 6.154% 6.154% 3.9%;
    box-sizing: border-box;
    border-radius: 0.8rem;
    color: #141414;
}
.result_sstl {
    font-size: 2.44em;
    color: #fff;
    text-align: center;
    background: #004ea2;
    border-radius: 0.9rem 0.8rem 0 0;
    padding: 0.8em 0 0.5em;
}
.result_cite {
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 5% 0 0;
    font-weight: 400;
    text-align: justify;
    letter-spacing: 0.05em;
}
.result_kinou_text {
    font-size: 1.8rem;
    line-height: 1.364;
    letter-spacing: 0.03em;
    font-weight: 400;
    margin: 0 0 0.7em;
}
.promote__tl {
    width: 86.924%;
    margin: 0 0 0 6.9%;
    padding: 12.3% 0 0;
}
.promote__note {
    color: #4A4A4A;
    font-size: 9px;
    padding: 3.6% 0 0 7%;
    display: block;
}
.promote__img {
    width: 96.308%;
    margin: 4.6% 0 12.1% 1.9%;
}
.promote__text {
    text-align: center;
    color: var(--c-main);
    font-weight: 600;
    margin: 6% 0 0;
    font-size: 2.601em;
    line-height: 1.847;
    letter-spacing: 0.09em;
    padding: 0 5%;
}
.result {
    background: #D2EEFA;
    width: 91.693%;
    margin: 12.2% auto 0;
    border-radius: 2.6rem;
}
.result__graph {
    position: relative;
    width: 92.99%;
    margin: 4.8% 0 0 3.2%;
}
.result__cite {
    color: #4A4A4A;
    font-size: 9px;
    line-height: 1.44;
    padding: 2.9% 3.3% 6.7%;
    display: block;
    letter-spacing: 0.08em;
}
.result__graph-img-01 {
    width: 100.2%;
}
.result__graph-img-02 {
    position: absolute;
    top: 0;
    left: 0;
    margin: 40.5% 0 0 31.3%;
    width: 21.364%;
    clip-path: inset(100% 0 0 0);
    z-index: 1;
}
.result__graph-img-03 {
    position: absolute;
    top: 0;
    left: 0;
    margin: 34.7% 0 0 33.1%;
    width: 18.349%;
    opacity: 0;
}
.result__graph-img-04 {
    position: absolute;
    top: 0;
    left: 0;
    margin: 24.4% 0 0 61%;
    width: 21.364%;
    clip-path: inset(100% 0 0 0);
    z-index: 1;
}
.result__graph-img-05 {
    position: absolute;
    top: 0;
    left: 0;
    margin: 19% 0 0 60.7%;
    width: 23.684%;
    opacity: 0;
}
.machanism_cts {
    width: 86.667%;
    margin: 0 auto;
    background: #fff;
    border-radius: 2rem;
    padding: 0 0 12.7%;
}
.machanism_text {
    width: 87.693%;
    padding: 6.1% 0 0 6.1%;
}
.machanism_box {
    width: 87.693%;
    margin: 4.2% auto 0;
    box-sizing: border-box;
    border-top: none;
    border-radius: 0.8rem;
    padding: 0 0 0.5%;
}
.machanism_stl {
    font-size: 2.6em;
    color: #fff;
    text-align: center;
    background: #004ea2;
    border-radius: 0.8rem;
    padding: 0.6em 0 0.7em;
    letter-spacing: 0;
}
.machanism_box_text {
    font-size: 2em;
    line-height: 1.3;
    color: #333;
    display: inline-block;
    width: 46.667%;
    vertical-align: top;
    font-weight: 400;
}
.machanism_box_text:nth-of-type(1) {
    margin: 0 0 0 0.4%;
}
.machanism_box_text:nth-of-type(2) {
    float: right;
}
.machanism_kinou {
    background: #d3f1fd;
    color: #004ea2;
    margin: 6.5% auto 0;
    border-radius: 0.8em;
    padding: 6.601% 7.301%;
    box-sizing: border-box;
    text-align: center;
    font-weight: 700;
}
.machanism_kinou li {
    background: #fff;
    font-size: 3.45em;
    border-radius: 0.7rem;
    line-height: 1.167;
    position: relative;
    padding: 7.7% 0 7.8% 30%;
}
.machanism_kinou li+li {
    margin-top: 5%;
}
.machanism_kinou_text {
    font-size: 2.6em;
    letter-spacing: -0.04em;
    margin-right: -0.5em;
}
.machanism_kinou_text .lay_iblock {
    display: inline-block;
}
.machanism_kinou_point {
    margin: 6% 0 5.9%;
    text-align: left;
}
.machanism_kinou_num {
    width: 14.223%;
    position: absolute;
    top: 0;
    left: 0;
    margin: 8.1% 0 0 7.9%;
}
/* #main */
#main {
    position: relative;
    overflow: hidden;
    font-weight: 500;
}
#main section {
    position: relative;
    z-index: 1;
    opacity: 0;
}
#main .inner {
    position: relative;
    z-index: 1;
}
.result_cite strong {
    color: #e60012;
    padding: 0.7em 0;
    display: inline-block;
}
.machanism_img {
    margin: 5.5% 0 2.8% 0%;
}
.cts-anchor {
    position: absolute;
    margin-top: 17.7%;
    top: 0;
}
/* #mainimg */
#mainimg {
    position: relative;
    overflow: hidden;
    margin-bottom: -1px;
}
.loading {
    position: absolute;
    top: 35%;
    left: 50%;
    margin: -20px;
    width: 41px;
    z-index: 4;
    transform-origin: center center;
    animation: loading 1.5s linear infinite forwards;
}
@keyframes loading {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}
.mainimg02 {
    opacity: 0;
}
.mainimg02 img {
    display: block;
    will-change: transform;
}
.mainimg_copy-wrap {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 39.067%;
    margin: 3.4% 0 0 2.8%;
}
.mainimg_copy {
    width: 100%;
    transform-origin: bottom center;
    opacity: 0;
}
.mainimg_copy-02 {
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 0 -16.2% 3% 0;
    width: 31.4%;
    opacity: 0;
}
.mainimg_copy-02 img {
    width: 100%;
}
.mainimg_tl img {
    width: 100%;
    transform: scale(1.5);
}
.mainimg_ploduct {
    display: none;
    opacity: 0;
}
.mainimg_img-01 {
    position: relative;
    z-index: 3;
    width: 122.667%;
    margin: 16% auto 0% -12%;
    padding: 0 0 10.4% 0;
}
.mainimg_img-01-h {
    width: 100%;
    opacity: 0;
    filter: brightness(0);
    transform-origin: bottom center;
    transform: scale(0.95);
}
.mainimg_img-01-bone {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: 49.131%;
    margin: 37.4% 28.5% 0 0%;
    opacity: 0;
}
.mainimg_img-ctn {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 4;
    display: flex;
    align-items: flex-end;
    width: 100%;
    justify-content: flex-start;
}
.mainimg_img-item {
    position: relative;
    width: 29.334%;
    margin: 0 0 -0.2% 3.8%;
    opacity: 0;
}
.mainimg_img-item-bg {
    margin: 0 0 -3.7% 0;
    width: 100vw;
    position: absolute;
    bottom: 0;
    left: 0;
}
.mainimg_img-item img {
    width: 100%;
}
img.mainimg_img-item-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
}
img.mainimg_img-item-bg-02 {
    margin: 0 0 -4.8% 0;
}
img.mainimg_img-item-bone {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 68.667%;
    margin: 78.6% 0 0 22.7%;
    opacity: 0;
}
.mainimg_img-item-02 img.mainimg_img-item-bone {
    margin: 78.2% 0 0 19%;
}
.mainimg_img-item-03 img.mainimg_img-item-bone {
    margin: 72% 0 0 17.9%;
}
.mainimg_img-item-02 {
    margin: 0 0 0 -3.4%;
}
.mainimg_img-item-03 {
    margin: 0 0 0 -2.9%;
}
/* #product */
#main #product {
    color: #fff;
    z-index: 2;
    opacity: 0;
}
#product .cts_tl {
    padding-top: 6.5%;
    padding: 6.6% 0 33%;
}
#product .inner {
    transform: translateY(0) !important;
}
.product-ctn {
    opacity: 0;
}
.bnr_cp {
    width: 86.2%;
    margin: 0 auto;
    padding: 8.1% 0 0;
}
.bnr_cp a {
    border: solid 1px rgba(255, 255, 255, 0.5);
    display: block;
}
#product-anchor {
    position: absolute;
    top: 0;
    left: 0;
}
/* #cm */
#cm {
    color: #004ea2;
}
#cm .inner {
    padding-bottom: 30.9%;
}
#cm .cts_tl {
    padding: 23.8% 0 6.6% 0;
}
#cm .cts_tl_line {
    margin: 1.7rem auto 0;
}
/* #dialogue_line_top */
.cts_line_top_bl {
    position: absolute;
    bottom: 100%;
    left: 0;
    z-index: 1;
    margin: 0 0 -2px 0;
    width: 100%;
    transform-origin: 80% 0;
    height: 15.2vw;
}
.cts_line_top_bl svg {
    display: block;
}
/* #ambassador */
#ambassador {
    padding-bottom: 20%;
}
#ambassador-anchor {
    margin-top: -3.7%;
}
#ambassador .cts_tl {
    padding: 3% 0 0 0;
}
/* #mbp */
#mbp {
    color: #fff;
}
#mbp-anchor {
    margin-top: -3.7%;
}
#mechanism .mbp .cts_tl {
    padding: 9.7% 0 8.3%;
}
#banner .inner {
    opacity: 0;
}
/* #mbp_bg */
.cts_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    margin: 0 0 -11.067%;
    bottom: 0;
    transform-origin: 80% 0;
}
/* #result */
#result {
    color: #004ea2;
    padding-bottom: 28.2%;
}
#result .cts_tl {
    padding: 23.8% 0 8.2%;
}
/* #mechanism */
#mechanism {
    color: #fff;
    padding-bottom: 39%;
}
#mechanism .bg_pattern {
    opacity: 0;
}
#mechanism>.inner {
    opacity: 0;
}
section#mechanism {
    opacity: 1;
}
#mechanism-anchor {
    margin-top: 5%;
}
#mechanism .cts_tl {
    padding: 14.7% 0 6.5%;
    opacity: 0;
}
#mechanism .cts_tl_line {
    width: 15rem;
    margin: 3.1rem auto 0;
}
.know {
    padding: 6.9% 6.1% 0%;
}
.know__ctn {
    background: #d2eefa;
    color: var(--c-main);
    border-radius: 1.44rem;
    padding: 0 4% 6.9%;
}
.know__box {
    background: #fff;
    border-radius: 1.08rem;
}
.know__arw {
    width: 15.419%;
    margin: 3.3% auto 0;
}
.know__tl {
    font-size: 2.6rem;
    text-align: center;
    font-weight: 500;
    padding: 3.3% 0 3%;
    letter-spacing: 0.05em;
}
.know__text-01 {
    margin: 0% 0% 0% 3.1%;
    padding: 6.7% 0 0;
    width: 93.693%;
}
.know__stl {
    margin: 4.4% auto 0;
    border: solid 1px;
    border-radius: 0.54rem;
    text-align: center;
    font-size: 2.4rem;
    width: 92.931%;
    padding: 1.5% 0 2.1%;
    letter-spacing: 0.05em;
}
.know__graph {
    margin: 3.7% 0% 0% 10%;
    width: 72.174%;
}
.know__text-02 {
    margin: 2.5% 0% 0% 0%;
    font-size: 1.8rem;
    line-height: 1.33;
    text-align: center;
    display: block;
    padding: 0 0 4.6%;
}
.know__texxt-03 {
    margin: 4.6% 0% 0% 0%;
    width: 99.869%;
}
.step {
    letter-spacing: 0.05em;
}
.step__tl {
    margin: 6.3% auto 0;
    background: var(--c-main);
    text-align: center;
    font-weight: 700;
    font-size: 2.869rem;
    letter-spacing: 0.05em;
    width: 86.693%;
    border-radius: 0.8rem;
    padding: 0.6% 2.6% 2.5% 0;
    box-sizing: border-box;
}
.step__tl-num {
    font-size: 4.2rem;
    position: relative;
    top: 0.1em;
    padding: 0 0.15em;
}
.step__ctn {
    margin: 8.7% 0% 0% 0%;
    color: var(--c-main);
}
.step__item {
    margin: 0 0% 10.1% 0%;
    display: grid;
    grid-template-columns: 50% 50%;
    grid-template-rows: auto 1fr;
    align-items: start;
    font-size: 2.8rem;
    text-align: center;
    line-height: 1.4;
}
.step__item.--item-02 {
    margin-bottom: 7.3%;
}
.step__stl {
    margin: 0 0% 0% 38.8%;
    letter-spacing: 0.05em;
    border-bottom: solid 3px;
    width: 43.5%;
}
.step__img-wrap {
    grid-row: 1 / 3;
    grid-column: 2;
}
.step__stl img {
    padding: 0 0 4.1%;
}
.step__stl-num {
    font-size: 4.36rem;
    vertical-align: bottom;
    line-height: 1;
    padding: 0 0 0 0.15em;
    position: relative;
}
.step__item-text {
    margin: 7.4% 0 0 21%;
    line-height: 1.36;
    letter-spacing: 0.05em;
}
.step__item-text.--text-03 {
    margin-top: 9%;
}
.step__img-01 {
    grid-row: 1 / 3;
    grid-column: 2;
    width: 75.693%;
    margin: -0.6% 0 0 -5%;
}
.step__img-02 {
    grid-row: 1 / 3;
    grid-column: 2;
    width: 44.308%;
    margin: -5.6% 0 0 12.5%;
}
.step__img-03 {
    grid-row: 1 / 3;
    grid-column: 2;
    width: 65.539%;
    margin: 7.7% 0 0 4.1%;
}
.step__result {
    margin: -2.2% auto 0%;
    background: var(--c-main);
    font-size: 2.1rem;
    line-height: 1.33;
    width: 87.693%;
    border-radius: 1.5rem;
    box-sizing: border-box;
}
.step__result-text {
    display: block;
    padding: 2.9% 3.8% 6.2%;
    letter-spacing: 0.05em;
}
.step__result strong {
    color: #e2cd36;
}
.step__result-img {
    width: 92.106%;
    border-bottom: solid 2px;
    margin: 0 0 0 3.9%;
    padding: 5.9% 0 3.2%;
}
.mechanism__text-01 {
    margin: 6.8% 0% 0% 0%;
    color: var(--c-main);
    text-align: center;
    letter-spacing: 0.09em;
    font-weight: 600;
    font-size: 2.601em;
    line-height: 1.847;
}
.mechanism__ctn {
    margin: 3.8% 7% 0% 6.6%;
    display: flex;
    color: var(--c-main);
    font-size: 2.36rem;
    font-weight: 900;
    line-height: 1.55;
    justify-content: space-between;
}
.mechanism__step {
    display: flex;
    width: 46.2%;
    align-items: flex-start;
}
.mechanism__step-num {
    width: 23.164%;
    margin: 3.4% 1.8% 0 0;
}
.mechanism__step-text {
    margin-right: -11%;
    letter-spacing: 0.05em;
}
.mechanism__img {
    width: 87.393%;
    margin: 2.2% 0 2.3% 6.6%;
}
.mechanism__ctn-02 {
    margin: 0 1.1% 0 1%;
    color: var(--c-main);
    display: grid;
    text-align: center;
    grid-template-columns: 50% 46%;
    font-size: 18.8px;
    line-height: 1.38;
    justify-content: space-between;
    gap: 0 4%;
}
.mechanism__ctn-02 p>span {
    display: block;
    top: 0;
    letter-spacing: 0.05em;
    font-size: 2.4vw;
}
.mechanism__text-02 {
    margin: 0% 0% 0% 8.3%;
    position: relative;
}
.mechanism__text-03 {
    margin: 1% 0 0 -6%;
    position: relative;
}
.bnr {
    width: 88%;
    margin: 0 auto;
    padding: 0.2% 0 26.4%;
}
.bnr__bone {
    border-radius: 1rem;
    display: block;
    overflow: hidden;
}
#footer {
    clear: both;
}
#footer:before {
    content: "";
    background: #fff;
    position: absolute;
    bottom: 100%;
    width: 100%;
    padding-bottom: 40%;
    left: 0;
}
.cts_bg.-mb0 {
    margin-bottom: 0;
}
@supports (position: sticky) or (position: -webkit-sticky) {
    .btn-totop {
        margin-top: -14%;
        margin-bottom: 0;
    }
}
@media screen and (max-width: 736px) {
    .for_pc {
        display: none !important;
    }
    #main #product {
        height: auto !important;
    }
    #cm .cm_text {
        font-size: 2.8em;
    }
    @supports (position: sticky) or (position: -webkit-sticky) {
        .btn-totop {
            float: none;
            margin-left: 78.2%;
        }
    }
}
@media screen and (min-width: 737px),
print {
    .for_sp {
        display: none !important;
    }
    #bg_body {
        background-size: auto;
    }
    .inner {
        max-width: 1000px;
    }
    .loading {
        top: 45%;
    }
    #mainimg {
        margin-bottom: 0;
    }
    .mainimg_product {
        margin: 2.7% 0 0 20%;
        width: 8.8%;
    }
    .mainimg01 {
        padding: 58.8px 0 68px 0;
        margin: 0;
        margin-left: 22px;
        width: 93.9%;
    }
    .mainimg02 {
        margin: 0 5% 5% 0%;
        width: 110%;
    }
    .mainimg02 img {
        width: 100%;
    }
    /* new */
    .new01 {
        width: 88.236%;
        opacity: 0;
        transform-origin: 100% 70%;
    }
    .new_wrap {
        margin-left: 1.8%;
        margin-top: 5.2%;
        width: 17%;
    }
    .new_text01 {
        width: 77%;
        margin: 26% 0 0 14%;
    }
    .new_text02 {
        margin: 58.3% 0 0 13%;
    }
    .new_text03 {
        margin-bottom: -15.8%;
        margin-left: 8%;
        width: 70%;
    }
    .mainimg_bg {
        width: 100%;
        left: 0;
        margin: 0;
    }
    #mainimg .inner {
        max-width: 1366px;
        padding-top: 2.5%;
    }
    .mainimg_bg-02:before,
    .mainimg_bg-02:after {
        content: "";
        position: absolute;
        top: 0;
        width: 50%;
        height: 100%;
    }
    .mainimg_bg-02:before {
        left: 0;
        background: linear-gradient(to bottom, #002771, #012b77, #002f7d, #013c8c, #01408e, #004797, #0050a1, #005ca9, #0060ad, #0061b0);
        mask-image: linear-gradient(to left, transparent, #000 25%);
    }
    .mainimg_bg-02:after {
        right: 0;
        background: linear-gradient(to bottom, #004092, #01499b, #025fac);
        mask-image: linear-gradient(to right, transparent, #000 25%);
    }
    img.mainimg_light {
        mix-blend-mode: screen;
        width: 69.364%;
        margin: -10% -13.5% 0 0;
        height: auto;
        z-index: 2;
        opacity: 0;
    }
    .mainimg_copy-wrap {
        margin: 3.4% 0 0 28.1%;
        width: 31.406%;
    }
    .mainimg_copy {
        width: 100%;
    }
    .mainimg_copy-02 {
        position: absolute;
        bottom: 0;
        right: 0;
        margin: 0 4.8% 12% 0;
        width: 13%;
    }
    .mainimg_copy-02 img {
        width: 100%;
    }
    .mainimg_tl img {
        width: 100%;
    }
    .mainimg_tl {
        width: 13.178%;
        margin: 14.4% auto 0% 37.1%;
    }
    .mainimg_ploduct {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        width: 13.544%;
        margin: 3.1% 0 0 12.9%;
        display: block;
    }
    .mainimg_img-01 {
        position: relative;
        z-index: 10;
        width: 44.949%;
        margin: 0 0 0 auto;
        padding: 0;
    }
    .mainimg_img-01-h {
        width: 100%;
    }
    .mainimg_img-01-bone {
        width: 50.489%;
        margin: 49.1% 30.3% 0 auto;
        transform-origin: center center;
    }
    .mainimg_light {
        position: absolute;
        top: 0;
        right: 0;
        width: 61%;
    }
    .mainimg_img-ctn {
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 2;
        display: flex;
        align-items: flex-end;
        margin: 0 0 0;
        width: 100%;
        justify-content: flex-start;
        margin: 0 0 0 23.1%;
    }
    .mainimg_img-item {
        position: relative;
        width: 10.981%;
    }
    .mainimg_img-item-bg {
        display: none;
    }
    .mainimg_img-item img {
        width: 100%;
    }
    .mainimg_img-item-bg img {
        display: none;
    }
    img.mainimg_img-item-bone {
        width: 68.667%;
        margin: 77.5% 0 0 22%;
        transform-origin: center center;
    }
    .mainimg_img-item-02 img.mainimg_img-item-bone {
        margin: 77.3% 0 0 21.7%;
    }
    .mainimg_img-item-03 img.mainimg_img-item-bone {
        margin: 69.5% 0 0 18.8%;
    }
    .mainimg_img-item-02 {
        margin: 0 0 -0.2% -1.4%;
    }
    .mainimg_img-item-03 {
        margin: 0 0 -0.2% -1.1%;
    }
    .product_top {
        left: 50%;
        margin: 0 0 -1px -1280px;
        z-index: 2;
    }
    .product_top:after {
        content: "";
        background: #004ea2;
        width: 100%;
        height: 100px;
        display: block;
        position: absolute;
        top: 100%;
        left: 0;
    }
    .cts_tl {
        font-size: 1.445em;
    }
    #cm .cts_tl_line {
        margin: 1rem auto 0;
        width: 110px;
        border-width: 3px;
        position: relative;
        right: -2px;
    }
    .ctn_product+.ctn_product {
        margin-top: -5.2%;
    }
    .product_box {
        margin: 4.9% 20.2% 0 -10%;
        width: 34.4%;
        float: none;
        padding-bottom: 10.5%;
    }
    .product_stl {
        margin: -55.3% 0 0 -66.7%;
    }
    .product_text {
        margin: 0 0 0 -1%;
    }
    .kinou_tl {
        margin: 6.6% 0 0 0;
        padding: 3.3% 0 3%;
        letter-spacing: 0;
    }
    .kinou_text {
        margin: 2.4% 0 0;
        font-size: 0.638em;
        line-height: 1.667;
    }
    .product_caption {
        margin: 2.6% 0 0;
        font-size: 0.638em;
        line-height: 1.667;
    }
    .product_btn {
        margin: 4.7% 0 0 0;
        padding: 0.7em 1em 0.8em 0.8em;
        font-size: 0.978em;
        transition: opacity 500ms cubic-bezier(0.23, 1, 0.32, 1);
        border-radius: 4px;
        text-align: center;
    }
    .product_btn:hover {
        opacity: 0.8;
    }
    .product_btn:hover .product_arw {
        animation: btn_arw 800ms ease-out;
    }
    .product_img {
        margin: 2.9% 0 0 20.5%;
        padding: 0;
        width: 212px;
        float: none;
    }
    .ctn_product--02 .product_img {
        width: 216px;
        margin: 2.9% 0 0 20.7%;
    }
    .product_bottom {
        left: 50%;
        margin: -1px 0 0 -1280px;
    }
    .cts_link_top {
        left: 50%;
        margin: -365px 0 0 -1280px;
    }
    .cts_link_top.cm_line {
        margin-bottom: 366px;
    }
    #product .cts_link_top {
        margin-bottom: 366px;
    }
    .cts_link_top img:nth-child(4) {
        margin: 0;
        position: absolute;
        top: 3px;
        left: 0;
    }
    .line_y {
        height: 394px;
    }
    .cts_link_top .line_w {
        height: 425px;
        margin-top: 5px;
    }
    .cts_link {
        margin: 0 auto;
        width: 756px;
        vertical-align: top;
    }
    .cts_thumb img {
        border-radius: 12px;
    }
    #cm .cm_link+.cm_link {
        margin: 0 0 0 5.9%;
    }
    #cm .cts_thumb:before {
        padding: 0 0 3.8em;
        margin: -1.9em;
        width: 3.8em;
    }
    #cm .cts_thumb:after {
        margin: -0.7em -0.44em;
        border-left-width: 1.1em;
        border-top-width: 0.6em;
        border-bottom-width: 0.6em;
    }
    .cts_thumb:before {
        padding: 0 0 5.68em;
        margin: -2.84em;
        width: 5.68em;
    }
    .cts_thumb:after {
        margin: -1em -0.64em;
        border-left-width: 2em;
        border-top-width: 1em;
        border-bottom-width: 1em;
    }
    .cts_thumb:before,
    .cts_thumb:after {
        transition: transform 200ms cubic-bezier(0.13, 0.353, 0.193, 0.98);
        backface-visibility: hidden;
    }
    .cts_link:hover .cts_thumb:before {
        -ms-transform: scale(1.14);
        -webkit-transform: scale(1.14);
        transform: scale(1.14);
    }
    .cts_link:hover .cts_thumb:after {
        -ms-transform: scale(1.23);
        -webkit-transform: scale(1.23);
        transform: scale(1.23);
    }
    .cm_text {
        padding: 4.7% 0 3%;
        font-size: 1.25em;
    }
    .story_tl {
        font-size: 1.25em;
        margin: 0 0 2.7%;
        padding: 5.8% 0 0;
    }
    .anchor_story {
        margin-top: 0;
    }
    .ctn_img_story {
        width: 83.091%;
        padding: 0px 0 46.7%;
        border-radius: 0.75em;
        margin-bottom: 4.3%;
        background: linear-gradient(to right, #006fe3, #0190f0, #0165dd);
    }
    .item_img_story {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }
    .box_num_story {
        position: absolute;
        top: 0;
        left: 0;
        width: 7.55%;
        overflow: hidden;
        padding: 0 0 7.55%;
        margin: 12.364% 0 0 72.758%;
    }
    .ctn_img_story .txt_img_story {
        width: 62.364%;
        margin: 8.1% 0 0 18.5%;
    }
    .ctn_img_story .for_tb {
        z-index: 2;
    }
    .lists_story {
        width: 83.091%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .lists_story li {
        width: 47.922%;
        margin: 0 0 4.2%;
    }
    .lists_story li a {
        display: block;
        transition: opacity 200ms ease-out;
    }
    .ctn_img_story img,
    .lists_story img {
        width: 100%;
        height: auto;
    }
    .lists_story a:hover {
        opacity: 0.8;
    }
    .lists_story a:hover .story_arw {
        animation: btn_arw 800ms ease-out;
    }
    .dialogue_text {
        margin: 5.2% 0 4.7%;
        font-size: 1.125em;
        line-height: 1.889;
    }
    .dialogue_btn {
        margin: 0 auto;
        margin: 4% auto 0;
        font-size: 1.375em;
        width: 8.6em;
        transition: opacity 500ms cubic-bezier(0.23, 1, 0.32, 1);
        border-radius: 4px;
    }
    .dialogue_btn:hover {
        opacity: 0.8;
    }
    .dialogue_btn:hover .dialogue_arw {
        animation: btn_arw 800ms ease-out;
    }
    .ambassador_text {
        margin: 5.2% 0 4.7%;
        font-size: 1.125em;
        line-height: 1.889;
    }
    .result_cts {
        margin: 0 auto;
        padding: 0 0 3.4%;
        width: 82.533%;
        border-radius: 12px;
    }
    .result__tl {
        font-size: 1.438em;
        padding: 1.8% 0 2.1%;
        font-weight: 600;
    }
    .result__ctn-02 {
        background: #fff;
        width: 93.387%;
        margin: 0 auto;
        border-radius: 11px;
    }
    .result__caption {
        font-size: 10px;
        text-align: left;
        padding: 0 0 2.8% 5.6%;
        margin: 1.6% 0 0;
    }
    .result_stl {
        margin: 0 0 0 0;
        padding: 5% 0 0 5.7%;
        width: 82.533%;
    }
    .result_box {
        margin: 3.4% auto 0;
        padding: 4.254% 4.254% 2.4%;
        width: 88.811%;
        border-radius: 9px;
        background: #d2eefa;
    }
    .result_sstl {
        padding: 0.6em 0 0.75em;
        font-size: 1.15em;
        border-radius: 7px 7px 0 0;
    }
    .result_box_left {
        padding: 0 0 0 0;
    }
    .result_box_left img {
        width: 100%;
    }
    .result_cite {
        margin: 1.3% 0 0;
        font-size: 10px;
        line-height: 1.364;
    }
    .result_cite strong {
        padding: 0.3em 0;
    }
    .result_kinou_text {
        font-size: 10px;
        padding-bottom: 0;
        margin: 0 0 0.2em;
    }
    .machanism_cts {
        margin: 0 auto;
        padding: 0 0 8.9%;
        width: 91.6%;
        border-radius: 20px;
    }
    .machanism_text {
        padding: 8.5% 0 0 12.9%;
    }
    .machanism_box {
        margin: 2.9% auto 0;
        padding: 0;
        width: 74.1%;
        border-radius: 9px;
    }
    .machanism_stl {
        padding: 0.6em 0 0.75em;
        font-size: 1.375em;
        border-radius: 9px;
    }
    .machanism_box_text {
        font-size: 1em;
        line-height: 1.375;
        width: 48.6%;
    }
    .machanism_box_text:nth-of-type(1) {
        margin: 0 1.9% 0 -1.5%;
    }
    .machanism_kinou {
        margin: 4.4% -5.5%;
        padding: 5.601%;
        width: 111%;
        border-radius: 8px;
    }
    .machanism_kinou li {
        padding: 3.4% 0 3.5% 14%;
        font-size: 1.375em;
        border-radius: 7px;
        width: 47.537%;
        box-sizing: border-box;
        float: left;
        line-height: 1.273;
    }
    .machanism_kinou li+li {
        margin-top: 0;
        float: right;
    }
    .machanism_kinou_text {
        font-size: 1.25em;
        clear: both;
        letter-spacing: 0;
    }
    .machanism_kinou_point {
        margin: 3.8% 0 4.4%;
        letter-spacing: 0.06em;
    }
    .machanism_kinou_num {
        margin: 8.1% 0 0 7.9%;
    }
    /* #main */
    #main {
        z-index: 1;
        overflow: hidden;
    }
    #main section {
        z-index: auto;
        opacity: 1;
    }
    #main .inner {
        z-index: 2;
    }
    .product_stl {
        position: static;
        margin: 0 0 0 -1.2%;
        width: 101.9%;
    }
    .ctn_product--02 .product_stl {
        width: 101.6%;
    }
    .product_stl img {
        width: 100%;
    }
    .product_text {
        font-size: 1.25em;
        line-height: 1.73;
        margin: 2.2% 0 0 -0.9%;
        letter-spacing: 0.03em;
    }
    .ctn_product--02 .product_text {
        padding-right: 1%;
    }
    #main .kinou_tl {
        font-size: 0.935em;
    }
    .machanism_img {
        margin: 4.7% 0 1.8% -1.4%;
    }
    .mechanism_box_left {
        width: 100%;
        margin: 1% 0 0 1.3%;
    }
    .cts-anchor {
        margin-top: 150px;
    }
    /* #product */
    #product .cts_tl {
        padding: 4.1% 0 0.1%;
    }
    .cts_tl_line {
        margin: 1.5rem auto 0;
        width: 100%;
    }
    .bnr_story {
        width: 71.4%;
        padding: 3.3% 0 3.7%;
    }
    .bnr_story a {
        display: block;
        transition: opacity 200ms ease-out;
    }
    .bnr_story a:hover {
        opacity: 0.8;
    }
    .bnr_cp {
        width: 56.9%;
        padding: 3.3% 0 2.7%;
        transition: opacity 200ms ease-out;
    }
    .bnr_cp img {
        width: 100%;
    }
    .bnr_cp:hover {
        opacity: 0.8;
    }
    /* #cm */
    #cm {
        padding: 131px 0 0 0;
    }
    #cm .inner {
        padding-bottom: 240px;
        max-width: 1100px;
    }
    #cm .cts_tl {
        padding: 7.7% 0 6.4% 0;
    }
    .cm__ctn-wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-start;
        gap: 5.5em 2%;
    }
    .cm__ctn {
        width: 44.364%;
    }
    #cm .cm_link {
        width: 100%;
    }
    #cm .cm_link img {
        width: 100%;
        border-radius: 10px;
    }
    #cm .cm_text {
        font-size: 1.2em;
    }
    /* #dialogue */
    #dialogue {
        padding-bottom: 62px;
        padding: 68px 0 138px;
    }
    #dialogue .cts_tl {
        padding: 5.5% 0 0;
    }
    /* #dialogue_line_top */
    .cts_line_top_bl {
        margin: 0 0 0 -1280px;
        left: 50%;
        width: 2560px;
        height: 420px;
    }
    /* #ambassador */
    #ambassador {
        padding: 0 0 154px;
    }
    #ambassador-anchor {
        margin-top: -28px;
    }
    #ambassador .cts_tl {
        padding: 4% 0 0;
    }
    /* #mbp */
    #mbp-anchor {
        margin-top: -28px;
    }
    #mechanism .mbp .cts_tl {
        padding: 0 0 5.7%;
    }
    /* #mbp_bg */
    .cts_bg {
        margin: 0 0 -400px -1280px;
        width: 2560px;
        left: 50%;
        bottom: 0;
    }
    /* #result */
    #result {
        padding: 515px 0 208px;
    }
    #result-anchor {
        margin-top: 465px;
    }
    #result .cts_tl {
        padding: 0 0 6%;
    }
    /* #mechanism */
    #mechanism {
        padding-bottom: 198px;
    }
    #mechanism_bg {
        margin-bottom: 0;
    }
    #mechanism-anchor {
        margin-top: 50px;
    }
    #mechanism .cts_tl {
        padding: 12.8% 0 3.7%;
    }
    #mechanism .cts_tl_line {
        margin-top: 1.3rem;
        width: 111px;
    }
    .mbp {
        padding-top: 4.9%;
    }
    .know {
        padding: 8.5% 0 0;
    }
    .know__ctn {
        margin: 0 auto;
        width: 82.206%;
        box-sizing: border-box;
        border-radius: 14.7px;
        padding: 0 2.6% 2.9%;
    }
    .know__box {
        border-radius: 10.3px;
    }
    .know__arw {
        width: 8.516%;
        margin-top: 1.5%;
    }
    .know__tl {
        font-size: 0.938em;
        padding: 1.6% 0 1.9%;
    }
    .know__text-01 {
        width: 71.168%;
        margin: 0;
        padding: 2.1% 0 0 15%;
    }
    .know__stl {
        font-size: 1em;
        width: 70.318%;
        border-radius: 4.33px;
        margin-top: 1.7%;
        padding: 0.6% 0 1%;
    }
    .know__graph {
        width: 51.321%;
        margin: 2.2% 0 0 20.5%;
    }
    .know__text-02 {
        font-size: 0.688em;
        margin: 1.5% 0% 0% 0%;
        padding: 0 0 3.5%;
    }
    .know__texxt-03 {
        width: 82.315%;
        margin: 5.6% 0 0 8.3%;
    }
    .step__tl {
        font-size: 1.35em;
        width: 82.097%;
        border-radius: 7.2px;
        margin-top: 2%;
        padding: 0 2.6% 0.9% 0;
        margin-left: 8.5%;
    }
    .step__tl-num {
        font-size: 1.468em;
    }
    .step__ctn {
        display: flex;
        justify-content: center;
        margin: 2.1% 0 0 -0.3%;
    }
    .step__item {
        font-size: 1.165em;
        display: block;
        width: 23%;
        margin: 0 0 7.6%;
    }
    .step__item.--item-02 {
        margin: 0 0% 0 -0.5%;
    }
    .step__stl {
        width: 43.67%;
        margin: 0 0 0 27.8%;
    }
    .step__stl img {
        max-width: 100%;
    }
    .step__img-wrap {
        width: 100%;
        height: 0;
        padding: 0 0 68.7%;
    }
    .step__item-text {
        margin: 0;
    }
    .step__item-text.--text-03 {
        margin: 0;
    }
    .step__img-01 {
        margin: 0;
        padding: 8.6% 0 0 5.1%;
        width: 84%;
    }
    .step__img-02 {
        margin: 0;
        padding: 6.3% 0 0 27%;
        width: 45.4%;
    }
    .step__img-03 {
        margin: 0;
        padding: 21% 0 0 16%;
        width: 66.9%;
    }
    .step__result {
        font-size: 0.922em;
        text-align: center;
        width: 77.184%;
        border-radius: 11px;
        line-height: 1.3;
    }
    .step__result-text {
        padding: 0 0 2.4%;
        width: 91.655%;
        margin: 0 0 0 3.4%;
    }
    .step__result-img {
        border-bottom: none;
        padding: 1.6% 0 0.7% 3.4%;
        margin: 0 0 0;
        width: 91.655%;
    }
    .promote__tl {
        width: 60.153%;
        margin: 0 0 0 19.5%;
        padding: 6.4% 0 0;
    }
    .promote__note {
        color: #4A4A4A;
        font-size: 10px;
        padding: 0.3% 0 0 19.5%;
        display: block;
    }
    .promote__img {
        width: 75.656%;
        margin: 3.9% 0 5.4% 12.2%;
    }
    .promote__text {
        font-size: 1.125em;
        line-height: 1.667;
        text-align: center;
        color: var(--c-main);
        font-weight: 600;
        margin: 3.1% 0 0;
        letter-spacing: 0.1em;
    }
    .result {
        background: #D2EEFA;
        width: 82.533%;
        margin: 0 auto;
        border-radius: 13px;
    }
    .result__graph {
        position: relative;
        width: 92.99%;
        margin: 0 0 0 3.2%;
    }
    .result__cite {
        color: #4A4A4A;
        font-size: 10px;
        line-height: 1.3;
        padding: 2.1% 3.3%;
        display: block;
        letter-spacing: 0.08em;
    }
    .result__graph-img-01 {
        width: 100.2%;
    }
    .result__graph-img-02 {
        position: absolute;
        top: 0;
        left: 0;
        margin: 40.5% 0 0 31.3%;
        width: 21.364%;
    }
    .result__graph-img-03 {
        position: absolute;
        top: 0;
        left: 0;
        margin: 34.7% 0 0 33.1%;
        width: 18.349%;
        opacity: 0;
    }
    .result__graph-img-04 {
        position: absolute;
        top: 0;
        left: 0;
        margin: 24.4% 0 0 61%;
        width: 21.364%;
    }
    .result__graph-img-05 {
        position: absolute;
        top: 0;
        left: 0;
        margin: 18.6% 0 0 60%;
        width: 23.659%;
    }
    .mechanism__text-01 {
        font-size: 1.125em;
        margin: 0;
        line-height: 1.667;
        letter-spacing: 0.08em;
    }
    .mechanism__ctn {
        font-size: 1.375em;
        letter-spacing: 0.05em;
        margin: 1.6% 13.7% 0 17.5%;
    }
    .mechanism__step {
        width: 47.6%;
    }
    .mechanism__step-num {
        width: 18.4%;
        margin: 3.1% 6.4% 0 0;
    }
    .mechanism__img {
        width: 65.612%;
        margin: 2.9% 0 0 17.1%;
    }
    .mechanism__ctn-02 {
        font-size: 1.125em;
        margin: 2.1% 0 0%;
        letter-spacing: 0.05em;
        line-height: 1.32;
        padding-bottom: 5.8%;
    }
    .mechanism__text-02 {
        margin: 0 0 0 30.7%;
    }
    .mechanism__ctn-02 p>span {
        font-size: 1em;
    }
    .mechanism__text-03 {
        margin: 0 32% 0 0;
    }
    .bnr {
        width: 91.4%;
        padding: 6% 0 13.9%;
    }
    .bnr__bone {
        transition: opacity 500ms cubic-bezier(0.23, 1, 0.32, 1);
    }
    .bnr__bone:hover {
        opacity: 0.8;
    }
    /* #footer */
    #footer {
        margin-top: 0;
        padding-top: 0;
    }
    @supports (position: sticky) or (position: -webkit-sticky) {
        .btn-totop {
            margin-top: 0;
        }
    }
    /* is-mobile */
    .is-mobile .for_tb {
        display: block !important;
    }
    .is-mobile .ctn_img_story {
        padding-bottom: 54.6%;
    }
}
@media print {
    #main section,
    #main .inner {
        opacity: 1 !important;
    }
    .cts_tl_line {
        transform: scaleX(1) !important;
    }
    .cts_bg svg {
        position: absolute;
        top: 0;
        left: 0;
    }
    .cts_link_top .line_w,
    .cts_link_top .line_y {
        opacity: 1 !important;
        transform: translateX(0) !important;
    }
    #product-info {
        break-inside: avoid;
    }
    .product-ctn {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
}