/* common
   ========================================================================== */

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

body.pillow { overflow: auto; position: relative; }
body.pillow.fixed { position: fixed; inset: 0; margin: 0 auto; }

body.pillow .article-body { font-family: newpeace, "A1 Mincho", serif; font-feature-settings: "palt"; line-height: 1; margin: 0 auto; position: relative; }

body.pillow .article-body img,
.popup-content img { max-width: none; }
body.pillow figure { margin: 0; }
body.pillow sup { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif; }
.sans { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif; color: #000; font-weight: normal; }
.oval-btn { display: flex; justify-content: center; align-items: center; border: 1px solid #1e2678; margin: 0 auto; box-sizing: border-box; transition: .5s; }
.oval-btn span { color: #1e2678; font-weight: bold; letter-spacing: .13em; transition: .5s; }
.oval-btn:hover { background-color: #1e2678; }
.oval-btn:hover span { color: #fff; }
.oval-btn.video { border-color: #fff; background-repeat: no-repeat; }
.oval-btn.video span { color: #fff; letter-spacing: .17em; }
.oval-btn.video:hover { background-color: rgba(255, 255, 255, .25); }

@media screen and (max-width: 767px) {
.oval-btn { width: 325px; height: 60px; border-radius: 30px; }
.oval-btn span { font-size: 1.3rem; }
.oval-btn.video { width: 325px; height: 60px; background-image: url(/technology/meltlast/images/btn_icon_video_sp.svg); background-position: calc(100% - 10px) center; background-size: 36px; }
}
@media screen and (min-width: 768px) {
.oval-btn { width: 350px; height: 70px; border-radius: 35px; }
.oval-btn span { font-size: 1.6rem; }
.oval-btn.video { background-image: url(/technology/meltlast/images/btn_icon_video_pc.svg); background-position: calc(100% - 15px) center; background-size: 42px; }
}

/* popup content */
.popup-content { display: none; width: 100vw; height:100vh; font-family: newpeace, "A1 Mincho", serif; font-feature-settings: "palt"; line-height: 1; background-color: rgba(255, 255, 255, .9); position: fixed; top: 0; z-index: +10001; }
.popup-content::before { content: ''; display: block; width: 100%; height: 100%; background: url(/technology/meltlast/images/popup_bg.jpg) repeat-x center center; background-size: contain; opacity: .75; position: absolute; left: 0; top: 0; }
.popup-wrapper { display: flex; justify-content: center; align-items: flex-start; width: 100%; height:100%; overflow: auto; position: relative; }

#popup-close-btn { display: block; cursor: pointer; position: absolute; z-index: 1; }
#popup-close-btn span { font-size: 0; }
#popup-close-btn::before,
#popup-close-btn::after { content: ''; display: block; width: 1px; background-color: #1e2678; position: absolute; transition: .25s; }
#popup-close-btn::before { transform: rotate(45deg); }
#popup-close-btn::after { transform: rotate(-45deg); }
#popup-close-btn:hover::before,
#popup-close-btn:hover::after { background-color: #fff; }

@media screen and (max-width: 767px) {
.popup-inner { width: 340px; padding: 60px 0 120px; }
#popup-close-btn { width: 25px; height: 25px; right: 15px; top: 15px; }
#popup-close-btn::before,
#popup-close-btn::after { height: 35px; left: 12px; top: -5px; }
}
@media screen and (min-width: 768px) {
.popup-inner { width: 900px; padding: 150px 0; }
#popup-close-btn { width: 50px; height: 50px; right: 100px; top: 100px; }
#popup-close-btn::before,
#popup-close-btn::after { height: 70px; left: 25px; top: -10px; }
}

/* meltlast
   ========================================================================== */

body.meltlast .article-body { text-align: center; background-repeat: repeat; background-position: 0 0; }
body.meltlast .article-body::before { content: ''; display: block; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center top; background-size: contain; position: absolute; left: 0; top: 0; }

/* section-01 */
@media screen and (max-width: 767px) {
body.meltlast .article-body { background: url(/technology/meltlast/images/bg_base_sp.jpg); }
body.meltlast .article-body::before { height: calc(100vw * (750 / 375)); background-image: url(/technology/meltlast/images/bg_main_sp.jpg); }
}
@media screen and (min-width: 768px) {
body.meltlast .article-body { background-image: url(/technology/meltlast/images/bg_base_pc.jpg); background-size: calc(100vw * (1000 / 3200)); }
body.meltlast .article-body::before { background-image: url(/technology/meltlast/images/bg_main_pc.jpg); }
.meltlast .section-01 { padding-top: calc(100vw * (142 / 1600)); }
}

/* section-01: #section-01-pu-01 */
.meltlast #section-01-pu-01 .popup-wrapper { align-items: center; }

.meltlast #section-01-pu-01 .videos-with-btn { position: relative; }
.meltlast #section-01-pu-01 .btn-play-video { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; position: absolute; left: 0; top: 0; }
.meltlast #section-01-pu-01 .btn-play-video::before { content: ''; display: block; width: 100%; height: 100%; background: rgba(77, 77, 77, .7); mix-blend-mode: multiply; position: absolute; left: 0; top: 0; }

@media screen and (max-width: 767px) {
.meltlast #section-01-pu-01 .popup-inner { width: 325px; padding: 0; }
.meltlast #section-01-pu-01 video.sp { display: block; width: 325px; height: 182px; }
.meltlast #section-01-pu-01 img.sp { display: block; width: 50px; height: 50px; }
}
@media screen and (min-width: 768px) {
.meltlast #section-01-pu-01 .popup-inner { width: 1000px; padding: 0; }
.meltlast #section-01-pu-01 video.pc { display: block; width: 1000px; height: 560px; }
.meltlast #section-01-pu-01 img.pc { display: block; width: 120px; height: 120px; }
}

/* section-02 */
.meltlast .section-02 { color: #fff; background-color: #1e1e1e; }
.meltlast .section-02 table { margin: 0 auto; }
.meltlast .section-02 table th,
.meltlast .section-02 table td { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif; font-weight: 500; border-bottom: solid #fff; vertical-align: middle; }
.meltlast .section-02 table th { letter-spacing: .18em; }
.meltlast .section-02 table th img { display: block; }
.meltlast .section-02 table td { letter-spacing: .18em; border-left-color: #fff; }
.meltlast .section-02 table td span { background-repeat: no-repeat; background-position: left center; }
.meltlast .section-02 table td .merit { background-image: url(/technology/meltlast/images/section-02_icon_merit.svg); }
.meltlast .section-02 table td .demerit { background-image: url(/technology/meltlast/images/section-02_icon_demerit.svg); }
.meltlast .section-02 table tr:first-child th { padding-top: 0; }
.meltlast .section-02 table tr:first-child th:not(:first-child) { border-left-color: #fff; }

@media screen and (max-width: 767px) {
.meltlast .section-02 { padding: 35px 15px 30px; margin: 35px 10px; }
.meltlast .section-02 p { font-size: 1.2rem; letter-spacing: .06em; line-height: 2.5; margin-bottom: 30px; }
.meltlast .section-02 table { width: 100%; }
.meltlast .section-02 table th,
.meltlast .section-02 table td { border-bottom-width: 1px; }
.meltlast .section-02 table th { font-size: 1.4rem; padding: 0 0 7px; }
.meltlast .section-02 table tr th:first-child { padding: 0 5px; }
.meltlast .section-02 table th img { width: 80px; margin: 10px auto 0; }
.meltlast .section-02 table td { font-size: 1.3rem; line-height: 1.7; padding: 10px 0; position: relative; }
.meltlast .section-02 table td span { display: inline-block; height: auto; text-align: left; background-position: left 7px; padding-top: 2px; margin-bottom: 10px; }
.meltlast .section-02 table td .merit { background-size: 10px; padding-left: 15px; }
.meltlast .section-02 table td .demerit { background-size: 8px; padding-left: 12px; }
.meltlast .section-02 table td,
.meltlast .section-02 table tr:first-child th:not(:first-child) { border-left: 1px dotted; }
}
@media screen and (min-width: 768px) {
.meltlast .section-02 { width: 1000px; padding: 70px 0 80px; margin: 95px auto 75px; }
.meltlast .section-02 p { font-size: 1.6rem; letter-spacing: .1em; line-height: 3.1; margin-bottom: 75px; }
.meltlast .section-02 p span br { display: none; }
.meltlast .section-02 table { width: 850px; }
.meltlast .section-02 table th,
.meltlast .section-02 table td { width: 33%; border-bottom-width: 3px; padding: 30px 0; }
.meltlast .section-02 table th { font-size: 2.2rem; }
.meltlast .section-02 table th img { width: 235px; margin: 20px auto; }
.meltlast .section-02 table td { font-size: 1.6rem; border-left: 2px dashed; }
.meltlast .section-02 table td span { display: inline-flex; align-items: center; height: 30px; margin-bottom: 20px; }
.meltlast .section-02 table td span:last-child { margin-bottom: 0; }
.meltlast .section-02 table td .merit { background-size: 21px; padding-left: 27px; }
.meltlast .section-02 table td .demerit { background-size: 13px; padding-left: 20px; }
.meltlast .section-02 table td,
.meltlast .section-02 table tr:first-child th:not(:first-child) { border-left: 2px dashed; }
}

/* section-03 */
.meltlast .section-03 { color: #fff; }
.meltlast .section-03 .heading::after { content: ''; display: block; width: 1px; background-color: #fff; }
.meltlast .section-03 p { letter-spacing: .2em; }
.meltlast .section-03 p strong { display: inline-block; font-family: newpeace, "A1 Mincho", serif; font-weight: normal; line-height: 2.3; letter-spacing: .2em; }

@media screen and (max-width: 767px) {
.meltlast .section-03 .heading { font-size: 1.6rem; letter-spacing: .13em; }
.meltlast .section-03 .heading::after { height: 45px; margin: 18px auto 10px; }
.meltlast .section-03 p { font-size: 1.2rem; line-height: 2.7; }
.meltlast .section-03 p strong { font-size: 2rem; font-weight: normal; margin: 15px 0; }
}
@media screen and (min-width: 768px) {
.meltlast .section-03 .heading { font-size: 2.2rem; letter-spacing: .15em; }
.meltlast .section-03 .heading::after { height: 88px; margin: 30px auto 10px; }
.meltlast .section-03 p { font-size: 1.6rem; line-height: 3.3; }
.meltlast .section-03 p strong { font-size: 2.5rem; font-weight: normal; margin: 20px 0 30px; }
}

/* section-04 */
.meltlast .section-04 { background-repeat: no-repeat; background-position: center center; background-size: cover; }

@media screen and (max-width: 767px) {
.meltlast .section-04 { height: calc(100vw * (250 / 375)); background-image: url(/technology/meltlast/images/section-04_bg_sp.jpg); margin: 40px auto; }
}
@media screen and (min-width: 768px) {
.meltlast .section-04 { height: calc(100vw * (700 / 1600)); background-image: url(/technology/meltlast/images/section-04_bg_pc.jpg); margin: 80px auto 70px; }
}

/* section-05 */
.meltlast .section-05 { color: #fff; }
.meltlast .section-05 .heading { letter-spacing: .17em; }
.meltlast .section-05 p b { display: inline-block; font-family: newpeace, "A1 Mincho", serif; font-weight: normal; }
.meltlast .section-05 p strong { display: inline-block; font-family: newpeace, "A1 Mincho", serif; font-weight: normal; }
.meltlast .section-05 p strong sup { letter-spacing: normal; }
.meltlast .section-05 p:last-child { letter-spacing: .11em; }
.meltlast .section-05 p:last-child::after { content: ''; display: block; width: 1px; background-color: #fff; }
.meltlast .section-05 p.aligned strong { display: inline-flex; align-items: center; }

@media screen and (max-width: 767px) {
.meltlast .section-05 { margin-bottom: 25px; }
.meltlast .section-05 .heading { font-size: 1.8rem; letter-spacing: .15em; line-height: 2.1; margin-bottom: 20px; }
.meltlast .section-05 p { font-size: 1.2rem; letter-spacing: .08em; line-height: 2.7; }
.meltlast .section-05 p b { font-size: 1.8rem; }
.meltlast .section-05 p strong { font-size: 1.8rem; letter-spacing: .12em; margin-left: 3px; text-shadow: 3px 3px 6px #4a04a5; }
.meltlast .section-05 p strong .sub { font-size: 1.2rem; margin-right: 3px; }
.meltlast .section-05 p strong sup { font-size: .8rem; top: -5px; }
.meltlast .section-05 p strong .sub sup { top: -4px; }
.meltlast .section-05 p:last-child::after { height: 50px; margin: 15px auto 25px; }
.meltlast .section-05 p.aligned strong { position: relative; bottom: -2px; }
}
@media screen and (min-width: 768px) {
.meltlast .section-05 { margin-bottom: 40px; }
.meltlast .section-05 .heading { font-size: 2.2rem; line-height: 2.3; margin-bottom: 40px; }
.meltlast .section-05 p { font-size: 1.6rem; letter-spacing: .2em; line-height: 2.7; }
.meltlast .section-05 p b { font-size: 2.2rem; }
.meltlast .section-05 p strong { font-size: 4rem; letter-spacing: .085em; margin: 0 5px; text-shadow: 4px 4px 5px #4a04a5; mix-blend-mode: multiply; }
.meltlast .section-05 p strong sup { font-size: 1.6rem; top: -10px; }
.meltlast .section-05 p strong .sub { font-size: 2.5rem; }
.meltlast .section-05 p strong .sub sup { top: -8px; }
.meltlast .section-05 p:last-child::after { height: 90px; margin: 30px auto 0; }
.meltlast .section-05 p.aligned { display: flex; justify-content: center; align-items: center; }
}

/* section-06 */
.meltlast .section-06 { color: #fff; position: relative; }
.meltlast .section-06 .columned { display: flex; justify-content: space-between; align-items: center; }
.meltlast .section-06 p { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif; font-weight: 400; line-height: 2.5; }
.meltlast .section-06 > .block { position: relative; z-index: 1; }
.meltlast .section-06 > .block .text { text-align: left; }
.meltlast .section-06 > .block .text .heading .sub { display: block; }
.meltlast .section-06 .boxed.columned { border: 1px solid #fff; box-sizing: border-box; position: relative; }
.meltlast .section-06 .boxed.columned > .block:first-child { text-align: left; }
.meltlast .section-06 .boxed.columned .columned { align-items: flex-start; }
.meltlast .section-06 .boxed.columned figcaption { color: #fff; letter-spacing: .06em; }
.meltlast .section-06 .boxed.columned figure .heading { display: flex; justify-content: center; align-items: center; }
.meltlast .section-06 .boxed.columned figure:first-child .heading { background-color: #828282; }
.meltlast .section-06 .boxed.columned figure:last-child .heading { background-color: #1e2678; }

@media screen and (max-width: 767px) {
.meltlast .section-06 { margin-bottom: 60px; }
.meltlast .section-06 p { font-size: 1.3rem; letter-spacing: .06em; }
.meltlast .section-06 > .block { display: flex; align-items: flex-end; flex-direction: column; }
.meltlast .section-06 > .block .text { width: 332px; }
.meltlast .section-06 > .block .text .heading { font-size: 2rem; letter-spacing: .17em; }
.meltlast .section-06 > .block .text .heading br { display: none; }
.meltlast .section-06 > .block .text .heading .sub { font-size: 1.4rem; margin-bottom: 10px; }
.meltlast .section-06 > .block .text p { margin: 15px 0; }
.meltlast .section-06 > .block video { width: 332px; height: 192px; }
.meltlast .section-06 .boxed.columned { flex-direction: column; padding: 70px 30px 20px; margin: -50px 10px 0; }
.meltlast .section-06 .boxed.columned > .block { width: 100%; letter-spacing: .1em; }
.meltlast .section-06 .boxed.columned > .block:first-child { margin-bottom: 25px; }
.meltlast .section-06 .boxed.columned > .block:first-child .heading { font-size: 1.6rem; margin-bottom: 20px; }
.meltlast .section-06 .boxed.columned > .block:last-child > .heading { font-size: 1.2rem; margin-bottom: 15px; }
.meltlast .section-06 .boxed.columned .columned { width: 100%; }
.meltlast .section-06 .boxed.columned figcaption { font-size: 1.2rem; line-height: 2.3; margin-top: 10px; }
.meltlast .section-06 .boxed.columned img { width: 137px; }
.meltlast .section-06 .boxed.columned figure .heading { width: 137px; height: 46px; font-size: 1.2rem; letter-spacing: .04em; line-height: 1.5; }
}
@media screen and (min-width: 768px) {
.meltlast .section-06 { margin-bottom: 100px; }
.meltlast .section-06 p { font-size: 1.6rem; letter-spacing: .06em; }
.meltlast .section-06 > .block { width: 1000px; height: 375px; margin: 0 auto; }
.meltlast .section-06 > .block .text { width: 460px; left: 60px; position: absolute; z-index: 1; }
.meltlast .section-06 > .block .text .heading { font-size: 4rem; letter-spacing: .22em; line-height: 1.7; }
.meltlast .section-06 > .block .text .heading .sub { font-size: 2.5rem; letter-spacing: .17em; margin-bottom: 10px; }
.meltlast .section-06 > .block .text p { margin-top: 10px; }
.meltlast .section-06 > .block video { width: 630px; height: 375px; position: absolute; right: -60px; }
.meltlast .section-06 .boxed.columned { width: 1000px; padding: 80px 70px 70px; margin: -25px auto 0; }
.meltlast .section-06 .boxed.columned > .block:first-child { width: 300px; }
.meltlast .section-06 .boxed.columned > .block:first-child .heading { font-size: 2.5rem; letter-spacing: .06em; line-height: 2; margin-bottom: 30px; }
.meltlast .section-06 .boxed.columned > .block:first-child p { line-height: 2.5; }
.meltlast .section-06 .boxed.columned > .block:last-child > .heading { font-size: 1.8rem; letter-spacing: .05em; margin-bottom: 25px; }
.meltlast .section-06 .boxed.columned .columned { width: 530px; }
.meltlast .section-06 .boxed.columned figcaption { font-size: 1.6rem; line-height: 1.9; margin-top: 15px; }
.meltlast .section-06 .boxed.columned img { width: 250px; }
.meltlast .section-06 .boxed.columned figure .heading { width: 250px; height: 45px; font-size: 1.6rem; letter-spacing: .02em; }
.meltlast .section-06 .boxed.columned .columned figure:last-child figcaption,
.meltlast .section-06 .boxed.columned .columned figure:last-child .heading { letter-spacing: 0; }
}

/* section-07 */
.meltlast .section-07 { color: #fff; position: relative; }
.meltlast .section-07 .columned { display: flex; justify-content: space-between; align-items: center; }
.meltlast .section-07 p { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif; font-weight: 400; line-height: 2.5; }
.meltlast .section-07 > .block { position: relative; z-index: 1; }
.meltlast .section-07 > .block .text { text-align: right; }
.meltlast .section-07 > .block .text .heading .sub { display: block; }
.meltlast .section-07 .boxed.columned { border: 1px solid #fff; box-sizing: border-box; position: relative; }
.meltlast .section-07 .boxed.columned .text { text-align: left; }

@media screen and (max-width: 767px) {
.meltlast .section-07 { margin-bottom: 60px; }
.meltlast .section-07 p { font-size: 1.3rem; letter-spacing: .06em; }
.meltlast .section-07 > .block { display: flex; align-items: flex-start; flex-direction: column; }
.meltlast .section-07 > .block .text { width: 332px; }
.meltlast .section-07 > .block .text .heading { font-size: 2rem; letter-spacing: .17em; }
.meltlast .section-07 > .block .text .heading br { display: none; }
.meltlast .section-07 > .block .text .heading .sub { font-size: 1.4rem; margin-bottom: 10px; }
.meltlast .section-07 > .block .text p { margin: 15px 0; }
.meltlast .section-07 > .block video { width: 332px; height: 192px; }
.meltlast .section-07 .boxed.columned { flex-direction: column; padding: 70px 10px 10px; margin: -50px 10px 0; }
.meltlast .section-07 .boxed.columned .text { width: 100%; letter-spacing: .1em; padding: 0 20px; }
.meltlast .section-07 .boxed.columned .heading { font-size: 1.6rem; letter-spacing: .09em; line-height: 2.1; margin-bottom: 15px; }
.meltlast .section-07 .boxed.columned .text p { margin-bottom: 20px; }
.meltlast .section-07 .boxed.columned .text p span br { display: none; }
.meltlast .section-07 .boxed.columned img { width: 100%; }
}
@media screen and (min-width: 768px) {
.meltlast .section-07 { margin-bottom: 100px; }
.meltlast .section-07 p { font-size: 1.6rem; letter-spacing: .1em; }
.meltlast .section-07 > .block { width: 1000px; height: 375px; margin: 0 auto; }
.meltlast .section-07 > .block .text { width: 850px; right: 55px; top: 30px; position: absolute; z-index: 1; }
.meltlast .section-07 > .block .text .heading { font-size: 4rem; letter-spacing: .18em; line-height: 1.7; }
.meltlast .section-07 > .block .text .heading .sub { font-size: 2.5rem; letter-spacing: .17em; margin-bottom: 10px; }
.meltlast .section-07 > .block .text p { margin-top: 10px; }
.meltlast .section-07 > .block video { width: 630px; height: 375px; position: absolute; left: -60px; }
.meltlast .section-07 .boxed.columned { width: 1000px; padding: 80px 70px 70px; margin: -25px auto 0; }
.meltlast .section-07 .boxed.columned .text { width: 400px; }
.meltlast .section-07 .boxed.columned .heading { font-size: 2.5rem; letter-spacing: .09em; line-height: 2; margin-bottom: 30px; }
.meltlast .section-07 .boxed.columned img { width: 450px; }
}

/* section-08 */
.meltlast .section-08 { color: #fff; position: relative; }
.meltlast .section-08 .columned { display: flex; justify-content: space-between; align-items: center; }
.meltlast .section-08 p { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif; font-weight: 400; line-height: 2.5; }
.meltlast .section-08 > .block { position: relative; z-index: 1; }
.meltlast .section-08 > .block .text { text-align: left; }
.meltlast .section-08 > .block .text .heading { letter-spacing: .1em; }
.meltlast .section-08 > .block .text .heading .sub { display: block; }
.meltlast .section-08 .boxed.columned { border: 1px solid #fff; box-sizing: border-box; position: relative; }
.meltlast .section-08 .boxed.columned .text { text-align: left; }

@media screen and (max-width: 767px) {
.meltlast .section-08 { margin-bottom: 60px; }
.meltlast .section-08 p { font-size: 1.3rem; letter-spacing: .06em; }
.meltlast .section-08 > .block { display: flex; align-items: flex-end; flex-direction: column; }
.meltlast .section-08 > .block .text { width: 332px; }
.meltlast .section-08 > .block .text .heading { font-size: 2rem; }
.meltlast .section-08 > .block .text .heading .sub { font-size: 1.4rem; margin-bottom: 10px; }
.meltlast .section-08 > .block .text p { margin: 15px 0; }
.meltlast .section-08 > .block video { width: 332px; height: 192px; }
.meltlast .section-08 .boxed.columned { flex-direction: column; padding: 70px 10px 10px; margin: -50px 10px 0; }
.meltlast .section-08 .boxed.columned .text { width: 100%; letter-spacing: .1em; padding: 0 20px; }
.meltlast .section-08 .boxed.columned .heading { font-size: 1.6rem; letter-spacing: .09em; line-height: 2.1; margin-bottom: 15px; }
.meltlast .section-08 .boxed.columned .text p { margin-bottom: 20px; }
.meltlast .section-08 .boxed.columned .text p span br { display: none; }
.meltlast .section-08 .boxed.columned img { width: 100%; }
}
@media screen and (min-width: 768px) {
.meltlast .section-08 { margin-bottom: 140px; }
.meltlast .section-08 p { font-size: 1.6rem; letter-spacing: .1em; }
.meltlast .section-08 > .block { width: 1000px; height: 305px; margin: 0 auto; }
.meltlast .section-08 > .block .text { width: 850px; left: 60px; top: 60px; position: absolute; z-index: 1; }
.meltlast .section-08 > .block .text .heading { font-size: 3.3rem; }
.meltlast .section-08 > .block .text p { margin-top: 50px; }
.meltlast .section-08 > .block video { width: 470px; height: 305px; position: absolute; right: -60px; }
.meltlast .section-08 .boxed.columned { width: 1000px; padding: 80px 70px 70px; margin: -30px auto 0; }
.meltlast .section-08 .boxed.columned .text { width: 400px; }
.meltlast .section-08 .boxed.columned .heading { font-size: 2.5rem; letter-spacing: .09em; line-height: 2; margin-bottom: 30px; }
.meltlast .section-08 .boxed.columned img { width: 450px; }
}

/* section-09 */
.meltlast .section-09 { background-repeat: no-repeat; background-position: center top; }
.meltlast .section-09 .heading { display: flex; justify-content: center; align-items: center; color: #1e2678; }
.meltlast .section-09 .boxed { display: flex; justify-content: flex-end; align-items: center; background: url(/technology/meltlast/images/section-09_box_bg.jpg) no-repeat center center; margin: 0 auto; position: relative; }
.meltlast .section-09 .boxed > img { position: absolute; }
.meltlast .section-09 .m-btn-arrow { color: #1e2678; font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif; font-weight: 700; letter-spacing: .13em; background-color: transparent; border: 1px solid #1e2678; }
.meltlast .m-box-other,
.meltlast .m-box-other .other-btn { margin-top: 0; }

@media screen and (max-width: 767px) {
.meltlast .section-09 { height: calc(100vw * (485 / 375)); background-image: url(/technology/meltlast/images/section-09_bg_sp.jpg); background-size: cover; padding-top: calc(100vw * (280 / 375)); }
.meltlast .section-09 .heading { font-size: 1.4rem; letter-spacing: .14em; margin-bottom: 15px; }
.meltlast .section-09 .heading .sub { font-size: 1.1rem; margin-right: 3px; }
.meltlast .section-09 .heading sup { font-size: .8rem; top: -3px; }
.meltlast .section-09 .heading .sub sup { top: -3px; }
.meltlast .section-09 .boxed { width: 325px; height: 160px; }
.meltlast .section-09 .block { margin-right: 25px; position: relative; }
.meltlast .section-09 .logo { width: 135px; position: absolute; right: 0; top: -45px; }
.meltlast .section-09 .boxed > img { width: 205px; left: -20px; top: -5px; }
.meltlast .section-09 .m-btn-arrow { width: 170px; height: 36px; font-size: 1.4rem; border-radius: 18px; position: absolute; left: -220px; bottom: -65px }
.meltlast .section-09 .m-btn-arrow .arrow-inner { padding: 7px 0; }
.meltlast .section-09 .m-btn-arrow .arrow-inner::before { margin-top: -9px; right: 10px; }
.meltlast .section-09 .m-btn-arrow .arrow-inner .add-icon.icon-arrow {
right: 15px; margin-top: -4px; }
}
@media screen and (min-width: 768px) {
.meltlast .section-09 { background-color: #fff; background-image: url(/technology/meltlast/images/section-09_bg_pc.jpg); background-size: cover; padding: calc(100vw * (820 / 1600)) 0 100px; }
.meltlast .section-09 .heading { font-size: 3.3rem; letter-spacing: .08em; margin-bottom: 50px; }
.meltlast .section-09 .heading .sub { font-size: 2.2rem; margin-right: 5px; }
.meltlast .section-09 .heading sup { font-size: 1.6rem; top: -8px; }
.meltlast .section-09 .heading .sub sup { top: -5px; }
.meltlast .section-09 .boxed { width: 900px; height: 338px; }
.meltlast .section-09 .block { display: flex; justify-content: center; align-items: center; flex-direction: column; margin-right: 90px; }
.meltlast .section-09 .logo { width: 340px; margin-bottom: 50px; }
.meltlast .section-09 .boxed > img { width: 560px; left: -40px; top: 10px; }
.meltlast .section-09 .m-btn-arrow { width: 230px; height: 50px; font-size: 1.6rem; border-radius: 25px; }
.meltlast .section-09 .m-btn-arrow .arrow-inner { padding: 12px 0; }
.meltlast .section-09 .m-btn-arrow .arrow-inner::before { margin-top: -13px; right: 15px; }
.meltlast .section-09 .m-btn-arrow .arrow-inner .add-icon.icon-arrow {
right: 24px; margin-top: -4px; }
}
