/* reset */
*,:after,:before {
  font-size: inherit;
}

.healthylifecampaignArea .main_contents { line-height: 1.74; font-size: 1.6rem; font-family: 'Noto Sans JP', sans-serif; color: #274b66; font-weight: 500;  }
.healthylifecampaignArea .main_contents ul, .healthylifecampaignArea .main_contents ol, .healthylifecampaignArea .main_contents li { list-style: none; }
.healthylifecampaignArea .main_contents em, .healthylifecampaignArea .main_contents i { font-style: normal; }
.healthylifecampaignArea .main_contents img, .healthylifecampaignArea .main_contents iframe, .healthylifecampaignArea .main_contents svg { max-width: 100%; }
.healthylifecampaignArea .main_contents input, .healthylifecampaignArea .main_contents button, .healthylifecampaignArea .main_contents textarea, .healthylifecampaignArea .main_contents select { font: inherit; }
.healthylifecampaignArea .main_contents a { text-decoration: none; }
.healthylifecampaignArea .main_contents .breadcrumb-wrap { font-size: 1.4rem; margin-inline: auto; margin-block: 0; padding-top: 2.4rem; }

.ffm { font-family: "Noto Serif Japanese", serif; font-size: 1.05em; position: relative; top: 1px; }
.ffc { font-family: "M PLUS Rounded 1c", sans-serif; }
.pt1 { padding-top: 1em; }
.pt2 { padding-top: 2em; }
.pt3 { padding-top: 3em; }
.mt0 { margin-top: 0; }
.mb0 { margin-bottom: 0; }
.txt-center { text-align: center; }
.txt-right { text-align: right; }
.ti { text-indent: -1.4em; padding-left: 1.4em; line-height: 1.4; }
.ti05 { text-indent: -0.5em; padding-left: 0.5em; }
.ti1 li { text-indent: -1em; padding-left: 1em; line-height: 1.4; }
.ti11 li { text-indent: -1.1em; padding-left: 1.1em; line-height: 1.4; }
.ti12 li { text-indent: -1.2em; padding-left: 1.2em; line-height: 1.4; }
.ti15 li { text-indent: -1.5em; padding-left: 1.5em; line-height: 1.4; }
.ti2 li { text-indent: -2em; padding-left: 2em; line-height: 1.4; }
.ls-1 { letter-spacing: -0.025em; }

.scene-point .notes, .notes { font-size: 14px; font-weight: 400; padding-top: 1em; }
.scene-point .notes p, .notes p { text-indent: -1.1em; padding-left: 1.1em; line-height: 1.3; margin-bottom: 4px; font-size: 1em; }
.scene-point .notes li, .notes li { text-indent: -1.5em; padding-left: 1.5em; line-height: 1.4; margin-bottom: 4px; }

p.notes { text-indent: -1.1em; padding-left: 1.1em; line-height: 1.3; }
.report02 .lead p.notes { font-size: 1.4rem; padding-top: 0; margin-top: 3.2rem; }

.d_ib { display: inline-block; text-indent: 0; }

.fadeIn, .fadeIn2 { visibility: hidden; opacity: 0; transition-duration: 1.2s; }
.fadeIn.inView, .fadeIn2.inView { visibility: visible; opacity: 1; }

.leftIn { transform: translateX(-80px); }
.leftIn.inView { transform: translateX(0); }

.rightIn { transform: translateX(80px); }
.rightIn.inView { transform: translateX(0); }

.bounceIn { opacity: 0; }
.bounceIn.inView { animation: bounceIn 0.75s 0s forwards; }

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

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

b, strong { font-weight: 600; }

sup { font-size: smaller; }

.wrap { overflow: hidden; text-align: justify; }

.inView .kv::after { opacity: 1; }

.kv { position: relative; padding-top: 56px; }
.kv::after { content: ""; position: absolute; z-index: -1; left: 0; top: 0; width: 100%; height: 100%; background: url("../../images/support/tracing-report/01/bg1.png") no-repeat center bottom; background-size: 150vw; opacity: 0; transition-duration: 5.0s; }
.kv .head { width: 1080px; max-width: 100%; margin: auto; padding: 8px; }
.kv .container { position: relative; }
@media (max-width: 768px){
  .kv { padding-top: 35px; }
  .scene-point .notes, .notes { font-size: calc(28 / 750 * 100vw); }
}

.kv-title { opacity: 0; animation: bounceIn 1.00s 1.6s forwards; }
.kv-title h1 { width: 100%; max-width: 1020px; margin: 0 auto; }
.kv-title h2 { font-size: 2.0rem; text-align: center; font-weight: 800; margin: 3.0rem auto 0; }
.kv-title h2 b { font-size: 2.8rem; }

.kv-name { position: absolute; opacity: 0; right: 20px; bottom: 28px; animation: bounceIn 1.0s 4.20s forwards; line-height: 1.6; font-size: 1.4rem; font-weight: 700; }
.kv-name span { display: block; }
.kv-name em { display: block; }
.kv-name b { font-size: 2.4rem; }
.kv-name small { font-size: 1.4rem; }

.kv-image { position: relative; padding: 9.5rem 0 6.5rem; }
.kv-image .kv-image-lady { width: 100%; max-width: 568px; margin: auto; background: url("../../images/support/tracing-report/01/kv-lack.png") no-repeat 0 0/cover; opacity: 0; animation: bounceIn 0.75s 1.6s forwards; }
.kv-image .kv-image-lady img { opacity: 0; animation: bounceIn 1.05s 1.6s forwards; }
.kv-image p { position: absolute; }
.kv-image p img { opacity: 0; animation: upIn 1.0s 0s forwards, fuwa 3.0s 0s infinite; }
.kv-image p.kv-p-01 { top: 6%; right: 14%; width: 16%; }
.kv-image p.kv-p-01 img { animation-delay: 2.2s, 4.5s; }
.kv-image p.kv-p-02 { top: 18%; right: 10%; width: 8%; }
.kv-image p.kv-p-02 img { animation-delay: 2.45s, 4.6s; }
.kv-image p.kv-p-03 { top: 35%; right: 6%; width: 12%; }
.kv-image p.kv-p-03 img { animation-delay: 2.70s, 4.7s; }
.kv-image p.kv-p-04 { top: 70%; left: 16%; width: 9%; }
.kv-image p.kv-p-04 img { animation-delay: 3.6s, 4.7s; }
.kv-image p.kv-p-05 { top: 60%; left: 10%; width: 11%; }
.kv-image p.kv-p-05 img { animation-delay: 3.5s, 4.6s; }
.kv-image p.kv-p-06 { top: 30%; left: 6%; width: 15%; }
.kv-image p.kv-p-06 img { animation-delay: 3.25s, 4.5s; }
.kv-image p.kv-p-07 { top: 40%; left: 4%; width: 5%; }
.kv-image p.kv-p-07 img { animation-delay: 3.25s, 4.9s; }
.kv-image p.kv-p-08 { top: 10%; left: 16%; width: 14%; }
.kv-image p.kv-p-08 img { animation-delay: 3.0s, 4.8s; }

@keyframes pop { 78% { transform: translateY(0px); }
  90% { transform: translateY(-10px); }
  100% { transform: translateY(0px); } }
@keyframes fuwa { 0% { margin-top: 8px; }
  50% { margin-top: -8px; }
  100% { margin-top: 8px; } }
@keyframes upIn { 0% { opacity: 0; margin-top: 16px; }
  40% { margin-top: 0; }
  100% { opacity: 1; margin-top: 8px; } }
@keyframes bounceIn { 0%, 20%, 40%, 60%, 80%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
  20% { transform: scale3d(1.01, 1.01, 1.01); }
  40% { transform: scale3d(0.9, 0.9, 0.9); }
  60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); }
  80% { transform: scale3d(0.97, 0.97, 0.97); }
  to { opacity: 1; transform: scaleX(1); } }
.inView .contents::after { opacity: 1; }

.contents { position: relative; }
.contents::after { content: ""; position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; background: #444; opacity: 0; transition-duration: 5.0s; background: url("../../images/support/tracing-report/01/bg2.png") no-repeat center top; background-size: 150vw; }

.lead { padding: 10rem 0 20rem; text-align: center; line-height: 2; font-weight: 700; font-size: 2.2rem; }
.report02 .lead { padding-bottom: 12rem; }

.h2title { text-align: center; padding-bottom: 5.0rem; }
.h2title b { display: inline-block; font-size: clamp(18px, 6.8vw, 50px); font-weight: 800; line-height: 1.4; position: relative; }
.h2title b em { width: 0; overflow: hidden; transition-duration: 1.0s; white-space: nowrap; display: block; }
.h2title b em::after { content: ""; position: absolute; z-index: -1; left: 0; top: 0; width: 0%; height: 100%; background: linear-gradient(transparent 70%, #f6bacb 70%); transition-duration: 1.0s; transition-delay: 0.9s; }
.h2title.inView b em { width: 100%; }
.h2title.inView b em::after { width: 100%; }

.about { padding: 0 0 10rem; }
.about p { padding: 0 0 3.2rem 0; transition-delay: 0.3s; font-size: 2.0rem; font-weight: 500; line-height: 2; }

.about-boxes { display: flex; justify-content: space-between; padding: 8.0rem 0 1.8rem; }
.about-boxes dl { flex: 0 0 30%; text-align: center; line-height: 1.4; }
.about-boxes dl:nth-child(2) { animation-delay: 0.4s; }
.about-boxes dl:nth-child(3) { animation-delay: 0.8s; }
.about-boxes dt { border-bottom: 3px dashed #e9527e; margin: auto; padding-bottom: 24px; margin-bottom: 16px; }
.about-boxes dt img { height: 120px; max-height: 20vw; width: auto; }
.about-boxes dd { font-size: 2.0rem; font-weight: 500; line-height: 1.5; }
.about-boxes dd span { display: block; }
.about-boxes dd b { font-weight: 700; display: block; padding: 4px 0; font-size: 2.4rem; }
.about-boxes dd small { font-size: 1.4rem; }

.bline { background: linear-gradient(transparent 90%, #f6bacb 90%); font-weight: 700; }

.line-wrap { position: relative; }
.line-wrap .line { position: absolute; width: 147%; height: 100%; aspect-ratio: 650 / 1497; left: -15%; top: 10%; z-index: -1; background: url("../../images/support/tracing-report/01/dotline.svg") no-repeat 0 0; background-size: 1300px; }

.report01 .points { padding: 12.2rem 0 14rem; background: rgba(246, 186, 203, 0.24); position: relative; }
.report01 .points::before { content: ""; background: url("../../images/support/tracing-report/01/bg3.png") no-repeat 0 0/contain; width: 30vw; height: 30vw; position: absolute; left: 0; top: 0; transform: translate(-64%, -72%); z-index: -1; }
.report01 .points .container { position: relative; z-index: 2; }
.report01 .points h4 { text-align: center; font-size: 2.2rem; font-weight: 700; padding-bottom: 11rem; position: relative; z-index: 4; }
.report01 .points p { padding: 1.6rem 0; transition-delay: 0.8s; background: #fdeff2; font-size: 2.0rem; line-height: 2; }
.report01 .points p.mb3 { background: none; }
.report01 .points .mb3 { margin-bottom: 5.6rem; }

.report01 .point { padding: 0 0 10rem; }
.report01 .point .flex { align-items: center; margin-bottom: 5.6rem; }
.report01 .point .mb0 { margin-bottom: 0; }
.report01 .point .point-tx { flex: 0 0 54%; position: relative; z-index: 5; }
.report01 .point .point-tx p { background: none; font-size: 2.0rem; font-weight: 500; line-height: 2; }
.report01 .point .point-im { flex: 0 0 40%; position: relative; }
.report01 .point .point-im figure { position: relative; z-index: 5; }
.report01 .point .point-im::after { content: ""; position: absolute; top: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center; transform: scale(2); z-index: 1; }
.report01 .point h3 { padding-bottom: 2.4rem; transition-delay: 0.4s; }
.report01 .point h3 b { display: inline; font-weight: 800; font-size: clamp(18px, 6vw, 30px); color: #e9527e; border-bottom: 3px dashed #e9527e; padding-bottom: 4px; }
.report01 .point h3 small { font-size: smaller; }
.report01 .point.point-3 { padding-bottom: 0; }
.report01 .point.point-3 .flex { margin-bottom: 0; }

.point-box { position: relative; z-index: 5; background: #fff; border-radius: 12px; padding: 3.5rem 4.8rem 1.6rem; margin-bottom: 5.6rem; }
.point-box i { position: absolute; left: -28px; top: -24px; }
.point-box i img { max-height: 64px; width: auto; }
.point-box i img.s { max-height: 54px; }
.point-box h5 { font-weight: 700; font-size: 2.8rem; transition-delay: 0.4s; margin-bottom: 1.5rem; }
.point-box ul { transition-delay: 0.4s; }
.point-box li { background-image: url("../../images/support/tracing-report/01/i-lamp.png"); background-repeat: no-repeat; background-position: left center; background-size: 32px; display: flex; align-items: center; min-height: 4.5em; padding: 15px 0; padding-left: 48px; line-height: 1.5; font-size: 2.0rem; font-weight: 500; }
.point-box li .ti2 { display: inline-block; text-indent: -2.5em; padding-left: 2.5em; }
.point-box .list-pen li { background-image: url("../../images/support/tracing-report/01/i-pen.png"); background-size: 36px; background-position: 0 1em; padding-left: 52px; }
.point-box .list-check li { background-image: url("../../images/support/tracing-report/01/i-check.png"); background-size: 36px; background-position: 0; padding-left: 52px; }
.point-box.point-box-2 i { animation-delay: 0.8s; }
.point-box.point-box-2 h5, .point-box.point-box-2 ul { animation-delay: 1.2s; transition-delay: 1.2s; }
.point-box.point-box-3x i { animation-delay: 1.0s; }
.point-box.point-box-3x h5, .point-box.point-box-3x ul { animation-delay: 1.4s; transition-delay: 1.4s; }
.point-box.point-box-4x i { animation-delay: 1.2s; }
.point-box.point-box-4x h5, .point-box.point-box-4x ul { animation-delay: 1.6s; transition-delay: 1.6s; }
.point-box.point-box-4 { margin-bottom: 0; }

.point-box-flex { display: flex; justify-content: space-between; align-items: stretch; }
.point-box-flex .point-box { flex: 0 0 48%; padding: 4.8rem 4.0rem; }

.point-1 .point-im::after { right: 0; background-image: url("../../images/support/tracing-report/01/bg-ill01.svg"); transform-origin: 25% 35%; }

.point-2 div.flex { flex-direction: row-reverse; align-items: flex-end; }
.point-2 .point-im::after { left: 0; background-image: url("../../images/support/tracing-report/01/bg-ill02.svg"); transform-origin: 75% 35%; }

.point-3 .point-im::after { left: 0; background-image: url("../../images/support/tracing-report/01/bg-ill03.svg"); transform-origin: 25% 35%; }

.summary { background: #274b66; color: #fff; padding: 8.0rem 0; }
.summary h3{ text-align: center; padding-bottom: 8px; font-size: 4.0rem; }
.report01 .summary p { text-align: center; font-size: 2.2rem; line-height: 2.2; font-weight: 700; }
.report02 .summary p { text-align: center; font-size: 2.2rem; line-height: 2.2; font-weight: 700; }
.summary b { color: #e9527e; font-size: 2.8rem; font-weight: 700; }

.flex { display: flex; justify-content: space-between; }
.flex p, .flex div { flex: 0 0 50%; }
.flex figure { flex: 0 0 48%; }
.flex .slide-img, .flex .slide-txt { flex: 0 0 48.5%; }

.slides { border-top: 12px solid #fff; padding: 8.0rem 0; background: url("../../images/support/tracing-report/01/bg-note.png"); background-size: 24px; }

.slides-title { text-align: center; }
.slides-title h2 { font-size: 2.8rem; line-height: 1.4; }
.slides-title h2 b { font-size: 3.2rem; }
.slides-title h2 em { font-size: 5.0rem; color: #e9527e; font-weight: 700; }
.slides-title h2 sup { font-size: 0.6em; }
.slides-title .notes { text-align: right; }

.slide { padding-top: 3.2rem; margin-top: 3.2rem; position: relative; /* h4{ position: absolute; z-index: 3; left: 0; top: 1px; display: inline-block; background: $c1; padding: 8px 8px 10px; line-height: 1; color: #fff; text-align: center; border-radius: 0 0 8px 0; }*/ }
.slide.mt1 { margin-top: 0; }
.slide h4 { font-size: 2.0rem; font-weight: 700; padding-bottom: 2.0rem; }

.slide-img { flex: 0 0 48%; }
.slide-img figure { padding: 0; border-radius: 8px; background: #fff; }
.slide-img figure span { display: block; background: #e9527e; color: #fff; font-family: "M PLUS Rounded 1c", sans-serif; padding: 2px 16px; border-radius: 8px 8px 0 0; }
.slide-img figure img { border-radius: 8px; box-shadow: 0 0 2px #ddd; }
.slide-img figure + figure { margin-top: 3.2rem; }

.slide-txt { flex: 0 0 48%; }
.slide-txt p { font-size: 2.0rem; font-weight: 500; line-height: 2; text-align: left; }

.content-3 .slide h4 { background: #fdeef2; }

.fin { padding: 8.0rem 0 9.0rem; position: relative; background: #274b66; color: #fff; font-size: clamp(0.9em, 4.8vw, 2.2rem); text-align: center; }

.content-notes { padding: 3rem 0; border-bottom: 1px solid #ddd; }
.content-notes li { font-size: 0.8em; text-indent: -1.2em; padding-bottom: 4px; padding-left: 1.2em; font-weight: 400; }

.zoom { display: block; position: relative; line-height: 0; display: block; }
.zoom.mb0 { margin-bottom: 0; }
.zoom::after { content: ""; display: block; position: absolute; right: 8px; bottom: 8px; width: 60px; height: 60px; background: url("../../images/support/tracing-report/01/icon_zoom.svg") no-repeat center center; background-size: contain; transition-duration: 0.4s; }

.pagetop { position: sticky; z-index: 10; bottom: 8px; padding-top: 2rem; }
.pagetop p { text-align: right; position: absolute; right: 8px; bottom: 8px; font-size: 12px; }
.pagetop p a { display: flex; justify-content: center; align-items: center; position: relative; border-radius: 10px; padding: 8px; width: 40px; height: 40px; background: #fff; border-radius: 50%; border: 1px solid #e9527e; transition-duration: 0.4s; }
.pagetop p a span { width: 8px; height: 8px; border-top: 1px solid #e9527e; border-right: 1px solid #e9527e; transform: rotate(-45deg) translate(-5%, 5%); transform-origin: center; }
.pagetop p a::after { position: absolute; left: 50%; top: 50%; width: 16px; height: 12px; clip-path: polygon(0 100%, 50% 0, 100% 100%); background: #274b66; transform: translate(-50%, -50%); transform-origin: center; }
.pagetop p a:hover { opacity: 0.8; background: #e9527e; }
.pagetop p a:hover span { border-color: #fff; }
.pagetop p a:hover::after { background: #fff; }

.footer { font-weight: 400; }
.footer .container { padding: 2rem 0 2rem; display: flex; justify-content: space-between; flex-wrap: wrap; }

.footer-link { flex: 0 0 100%; text-align: center; margin-bottom: 1rem; }
.footer-link p { padding-bottom: 1rem; }
.footer-link a { display: inline-block; background: #f4a8be; border: 2px solid #274b66; font-weight: 500; color: #274b66; padding: 8px 64px; transition-duration: 0.3s; cursor: pointer; border-radius: 40px; }
.footer-link a:hover { background: #274b66; color: #fff; }

.evaluation { margin: 0 1px 0; flex: 1; text-align: center; display: flex; justify-content: center; }

.footer-text { flex: 0 0 33%; text-align: right; font-size: 12px; }
.footer-text p { padding: 4px 0; }

.footer-logo { flex: 0 0 33%; }
.footer-logo p { font-size: 12px; }

.tb, .sp { display: none; }

@media (max-width: 1280px) { .kv::after, .contents::after { background-size: 164vw; } }
@media (max-width: 1180px) { .kv::after, .contents::after { background-size: 200vw; }
  .scene-point h3 { font-size: clamp(16px, 1.8vw, 20px); }
  .scene-point h3::before { bottom: auto; top: -50px; width: 48px; height: 50px; left: -3vw; }
}
@media (max-width: 970px) { .kv::after, .contents::after { background-size: 230vw; background-position: top; }
  .kv-txt p em { display: block; padding-left: 0; }
  .scene0 br.pc { display: none; } }
@media (max-width: 768px) { .tb, .sp { display: block; }
  br.tb, br.sp { display: inline; }
  .pc { display: none; }
  .flex { display: block; }
  .slide.flex { display: flex; flex-direction: column-reverse; }
  body { font-size: 16px; }
  .kv::after { background-image: url("../../images/support/tracing-report/01/bg1-sp.png"); background-size: cover; }
  .kv-title h1 { width: calc(636 / 750 * 100vw); }
  .kv-title h2 b { font-size: calc(40 / 750 * 100vw); }
  .kv-image { padding: 20vw 0 8vw; }
  .kv-image p.kv-p-01 { top: 2%; right: 10%; width: 24%; }
  .kv-image p.kv-p-02 { top: 18%; right: 4%; width: 14%; }
  .kv-image p.kv-p-03 { top: 72%; right: -1%; width: 20%; }
  .kv-image p.kv-p-04 { top: 78%; left: 24%; width: 16%; }
  .kv-image p.kv-p-05 { top: 60%; left: 10%; width: 20%; }
  .kv-image p.kv-p-06 { top: 30%; left: 6%; width: 24%; }
  .kv-image p.kv-p-07 { top: 46%; left: 4%; width: 10%; }
  .kv-image p.kv-p-08 { top: 4%; left: 18%; width: 26%; }
  .kv-name { position: static; padding-bottom: 1rem; }
  .kv-name em { display: inline-block; padding-right: 3px; }
  .kv-name b { font-size: calc(40 / 750 * 100vw); display: block; }
  .kv-name small { font-size: calc(28 / 750 * 100vw); }
  .container { width: calc(670 / 750 * 100vw); padding-inline: 0; }
  .contents::after { background-image: url("../../images/support/tracing-report/01/bg2-sp.png"); background-size: 100vw; }
  .lead { padding: calc(100 / 750 * 100vw) 0 calc(120 / 750 * 100vw); text-align: justify; line-height: 1.78; font-size: clamp(16px, calc(32 / 750 * 100vw), 20px);}
  .report02 .lead { padding-bottom: calc(108 / 750 * 100vw); }
  .h2title b { font-size: calc(52 / 750 * 100vw); }
  .about { position: relative; z-index: 3; padding: 0 0 calc(100 / 750 * 100vw) 0; }
  .about p { font-size: calc(28 / 750 * 100vw); }
  .about-boxes { flex-direction: column; padding: calc(100 / 750 * 100vw) 0 calc(60 / 750 * 100vw); }
  .about-boxes dl { margin-bottom: 3.2rem; }
  .about-boxes dl:last-of-type { margin-bottom: 0; }
  .about-boxes dt { max-width: 200px; }
  .about-boxes dd { font-size: calc(28 / 750 * 100vw); }
  .about-boxes dd b { font-size: calc(40 / 750 * 100vw); }
  .about-boxes dd small { font-size: calc(24 / 750 * 100vw); }
  .txt-right li { text-align: left; }
  .h2title b em::after { content: none; }
  .h2title b em span { position: relative; display: block; }
  .h2title b em span::after { content: ""; position: absolute; z-index: -1; left: 0; top: 0; width: 0%; height: 100%; background: linear-gradient(transparent 70%, #f6bacb 70%); transition-duration: 1.0s; transition-delay: 0.9s; }
  .h2title.inView b em span::after { width: 100%; }
  .report01 .points { padding: calc(100 / 750 * 100vw) 0 calc(80 / 750 * 100vw); }
  .points .h2title b { font-size: calc(60 / 750 * 100vw); }
  .report01 .points h4 { font-size: calc(32 / 750 * 100vw); text-align: left; padding-bottom: calc(100 / 750 * 100vw); }
  .report01 .point h3 b { font-size: calc(44 / 750 * 100vw); }
  .report01 .point .point-tx p { font-size: calc(28 / 750 * 100vw); }
  .points h4 { text-align: justify; }
  .point h3 { text-align: center; }
  .point h3 b { display: inline; }
  .point-im { max-width: 480px; margin: auto; }
  .point-box-flex { display: block; }
  .point-box { margin-left: 2vw; margin-right: 2vw; padding: calc(70 / 750 * 100vw) calc(40 / 750 * 100vw) calc(60 / 750 * 100vw); margin-bottom: calc(60 / 750 * 100vw); }
  .point-box h5 { font-size: calc(40 / 750 * 100vw); }
  .point-box li { background-size: 20px; padding: 13px 0; padding-left: 30px; font-size: 1.4rem; }
  .point-box .list-pen li { background-size: 28px; padding-left: 36px; font-size: 1.4rem; padding-block: 13px; }
  .point-box .list-check li { background-size: 28px; padding-left: 36px; font-size: 1.4rem; padding-block: 13px; background-position: left top 1.0rem; }
  .report01 .points p { font-size: calc(28 / 750 * 100vw); }
  .report01 .point { padding-bottom: calc(100 / 750 * 100vw); }
  .flex figure { padding-top: 1.6rem; }
  .summary { padding-block: calc(100 / 750 * 100vw); }
  .report01 .summary { position: relative; z-index: 20; }
  .report01 .summary p { font-size: calc(32 / 750 * 100vw); line-height: 2; }
  .summary b { font-size: calc(40 / 750 * 100vw); }
  .slides { padding-block: calc(100 / 750 * 100vw); }
  .slides-title h2 { font-size: calc(40 / 750 * 100vw); }
  .slides-title h2 b { font-size: calc(40 / 750 * 100vw); }
  .slides-title h2 em { font-size: calc(60 / 750 * 100vw); }
  .slides-title .notes { text-align: center; }
  .slide { padding-top: calc(40 / 750 * 100vw); margin-top: calc(40 / 750 * 100vw);}
  .slide h4 { font-size: calc(28 / 750 * 100vw); }
  .slide-img figure { padding-top: 0; }
  .slide-txt { padding-bottom: 2.4rem; }
  .slide-txt p { font-size: calc(28 / 750 * 100vw); }
  .zoom::after { width: calc(80 / 750 * 100vw); height: calc(80 / 750 * 100vw); }
  .fin { padding: 3.2rem 0; }
  .footer .container { flex-direction: column; align-items: center; text-align: center; }
  .footer-logo { padding: 1rem; }
  .footer-text { text-align: center; } }
@media (max-width: 480px) { .kv-title h2 { font-size: min(calc(30 / 750 * 100vw), 17px); margin-top: 2.2rem; }
  .kv-name { font-size: min(calc(28 / 750 * 100vw), 15px); }
  .kv-image { padding: 20vw 0 4vw; }
  .h2title { padding-bottom: 4vw; }
  .point-box-flex .point-box  { padding: calc(70 / 750 * 100vw) calc(40 / 750 * 100vw) calc(50 / 750 * 100vw); }
  .point-box.point-box-4 { margin-bottom: 0; }
  .point-box i { left: -4vw; }
  .points p.txt-center { text-align: justify; }
  .point .point-im::after { transform: scale(1.5); }
  .line-wrap .line { display: none; }
  .summary p { font-size: 1.06em; } }

.p-section {
  background-color: #f4f4fa;
}

.p-inner {
  @media (min-width: 769px) {
    width: 1020px;
    margin-inline: auto;
    padding-block: 100px 120px;
  }

  @media (max-width: 768px) {
    width: auto;
    padding: 40px 20px;
  }
}

.p-relation-title {
  position: relative;
  font-weight: bold;
  color: #2a276e;
  line-height: 1.4;

  &::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    background: linear-gradient(90deg, rgba(42, 39, 110, 1) 0%, rgba(42, 39, 110, 1) 66%, rgba(158, 0, 126, 1) 66%, rgba(158, 0, 126, 1) 100%);
  }

  @media (min-width: 769px) {
    padding-left: 2rem;
    font-size: 3rem;

    &::before {
      width: 0.6rem;
      height: 4.6rem;
    }
  }

  @media (max-width: 768px) {
    padding-left: 1.4rem;
    font-size: 2rem;

    &::before {
      width: 0.6rem;
      height: 3rem;
    }
  }
}

.p-relation-items {
  a {
    display: block;

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

  @media (min-width: 769px) {
    margin-top: 5rem;
  }

  @media (max-width: 768px) {
    margin-top: 2.5rem;
  }
}

.btn.--size5 {
  display: flex;
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
  background-color: #E9527E;
}
@media (max-width: 768px) {
  .btn.--size5 {
    height: calc(226 / 750 * 100vw);
    & span {
      text-align: center;
    }
  }
}

.playback { background: rgba(246, 186, 203, 0.24); padding: 12rem 0 12.8rem; position: relative; z-index: 2; }
.playback::before { content: ""; background: url("../../images/support/tracing-report/02/bg-ill02.svg") no-repeat 0 0/contain; width: 40vw; height: 50vw; position: absolute; left: 0; top: 50%; transform: translate(-64%, -50%); z-index: 1; }
.playback p { padding-bottom: 3.2rem; }
.playback h3 { font-size: 2.2rem; padding: 5.6rem 0 0; text-align: left; }

.playback-wrap { background: #fff; border-radius: 20px; padding: 6.4rem 6.0rem 6.8rem; position: relative; z-index: 2; }
.playback-wrap p { padding: 1.5rem 0; }

.playback-lead { font-size: 2.0rem; margin-bottom: 3.3rem; }

.playback-im { position: absolute; top: -2%; right: 0; width: 25%; transform: translate(0, -50%); }

.playback-box { position: relative; display: flex; flex-wrap: wrap; align-items: center; padding: 1.6rem 0 4.0rem; border-bottom: 1px solid #ddd; }
.playback-box-2 { padding-top: 4.0rem; }
.playback-box i { flex: 0 0 6.4rem; position: relative; }
.playback-box i img { max-height: 54px; width: auto; }
.playback-box i img.s { max-height: 44px; }
.playback-box h5 { font-weight: 700; font-size: 2.8rem; }
.playback-box ul { flex: 0 0 100%; transition-delay: 0.4s; padding-left: 6.4rem; margin-top: 1.6rem; }
.playback-box li { background-repeat: no-repeat; background-position: left center; background-size: 20px; padding: 8px 0; line-height: 1.4; font-size: 2.0rem; }
.playback-box li strong { color: #e9527e; font-weight: 700; display: inline-block; padding-bottom: 4px; }
.playback-box li span { display: inline-block; padding-top: 8px; }
.playback-box li span.ti2 { display: inline-block; text-indent: -2.5em; padding-left: 2.5em; padding-top: 0; }
.playback-box .list-pen li { background-image: url("../../images/support/tracing-report/02/i-pen.png"); background-size: 30px; background-position: 0 1em; padding-left: 44px; }
.playback-box ul.list-check { align-items: flex-start; }
.playback-box ul.list-check li { background-image: url("../../images/support/tracing-report/02/i-check.png"); background-size: 30px; background-position: 0 8px; display: flex; padding: 12px 0; padding-left: 36px; padding-right: 1em; }
.playback-box.playback-box-4 { border-bottom: 0; }

.report02 .points { padding: 9.6rem 0; background: #fff; position: relative; }
.report02 .points::before { content: ""; background: url("../../images/support/tracing-report/02/bg-ill02.svg") no-repeat 0 0/contain; opacity: 0.2; width: 40vw; height: 30vw; position: absolute; right: 0; top: 0; transform: translate(40%, -20%) rotate(-10deg); z-index: 1; }
.report02 .points .container { position: relative; z-index: 2; }

.report02 .point { background: #f9d4df; border-radius: 16px; position: relative; padding: 4.8rem 6.0rem; margin-bottom: 6.4rem; }
.report02 .point h3 { font-size: 2.8rem; font-weight: 700; }

.point-case::after { content: ""; position: absolute; left: calc(50% - 50px); top: 98%; background: url("../../images/support/tracing-report/02/down.png") no-repeat center bottom/contain; width: 100px; height: 86px; z-index: 3; }
.point-case figure { position: absolute; right: 40px; top: 15px; width: 20%; }
.point-case dl { display: flex; padding: 3.0rem 0 0; font-size: 2.0rem; }
.point-case dt { background: url("../../images/support/tracing-report/02/i-check.png") no-repeat 0 4px; background-size: 1.2em; padding-left: 3.0rem; text-align: justify; flex: 0 0 7em; font-weight: 700; display: flex; justify-content: space-between; }
.point-case dd { padding-left: 3.2rem; }

.report02 .point-action { background: #e9edf0; }
.report02 .point-action p { padding: 8px 0 0; text-align: left; font-size: 2.0rem; }

.ex-wrap { background: #fff; position: relative; border: 2px solid #274b66; margin-top: 3.2rem; padding: 4.8rem 3.8rem; }
.ex-wrap::before { position: absolute; right: -2px; bottom: -2px; width: 4rem; height: 4rem; background: #f9d4df; border: 2px solid #f9d4df; }
.ex-wrap::after { content: ""; position: absolute; right: -2px; bottom: -2px; width: 6.4rem; height: 6.4rem; background: #f9d4df url("../../images/support/tracing-report/02/ori.png") no-repeat 0 0/cover; }
.ex-wrap h4 { font-size: 2.4rem; text-align: left; }
.ex-wrap h4 span { display: inline-block; font-size: 2.0rem; }
.ex-wrap hr { height: 1px; margin-top: 0.8rem; margin-bottom: 3.2rem; }
.ex-wrap p { font-size: 2.0rem; }

.shohou { margin-top: 3.2rem; background: #f4f6f7; padding: 4.8rem 3.8rem; border-radius: 4px; margin-bottom: 3.2rem; }
.shohou h5 { margin-top: 4.8rem; text-indent: -0.5em; font-weight: 700; font-size: 2.0rem; }
.shohou h5.mt0 { margin-top: 0; }
.shohou li { text-indent: -1em; padding: 4px 0; padding-left: 1em; font-size: 2.0rem; }
.shohou p.mt2 { margin-top: 2rem; }
.shohou .comment-l { left: -17rem; }
.shohou .comment-r { right: -17rem; }
.shohou h4, .shohou p, .shohou h5, .shohou ul, .shohou li { position: relative; z-index: 2; }

.comment-wrap { position: relative; }
.comment-wrap h4, .comment-wrap p, .comment-wrap h5, .comment-wrap ul { position: relative; z-index: 2; }
.comment-wrap h4 { font-feature-settings: "halt"; }
.comment-wrap::after { content: ""; position: absolute; opacity: 0; transition-duration: 0.4s; background: #fdeef2; border: 8px solid #f297b2; border-radius: 8px; width: 104%; height: 150%; left: -2%; top: 50%; transform: translate(0, -50%); z-index: 1; }

.comment { position: absolute; white-space: nowrap; top: -6.4rem; }
.comment i { opacity: 0; display: block; width: 100px; height: 100px; background: url("../../images/support/tracing-report/02/dr-l.png") no-repeat 0 0/contain; position: relative; z-index: 2; top: 4px; transition-duration: 1.0s; }
.comment p { opacity: 0; position: relative; background: #274b66; color: #fff; border-radius: 75%; padding: 3.2rem 3.2rem; margin-top: 0; line-height: 1.2; font-size: 13px; text-align: left; z-index: 3; left: -38px; transition-duration: 1.0s; animation-delay: 1.0s; }
.comment p::after { content: ""; background: #274b66; position: absolute; left: 47%; top: 95%; width: 20px; height: 16px; clip-path: polygon(0 0, 100% 0, 50% 100%); z-index: 3; }

.comment-wrap.inView::after { opacity: 1; }
.comment-wrap.inView .comment p { animation: bounceIn 0.75s 0.5s forwards; }
.comment-wrap.inView .comment i { opacity: 1; }

.comment-l { left: -12.8rem; }

.comment-r { right: -12.8rem; }
.comment-r i { background-image: url("../../images/support/tracing-report/02/dr-r.png"); margin-left: auto; }
.comment-r p { left: 42px; }

.comment-wrap2 .comment-l { top: -9.6rem; }
.comment-wrap2 .comment-r { top: 2.0rem; }
.comment-wrap2::after { width: 108%; height: 105%; left: -4%; }

.comment-wrap3 .comment { top: -9.6rem; }
.comment-wrap3::after { width: 108%; height: 110%; left: -4%; }

.comment-wrap4 { padding-right: 1em; }
.comment-wrap4 .comment { top: -9.6rem; }
.comment-wrap4::after { width: 105%; height: 112%; left: -3%; }

.bline { font-weight: 700; position: relative; z-index: 1; font-size: 2.0rem; display: inline-block; }
.bline::after { content: ""; transition-delay: 0.3s; transition-duration: 0.4s; position: absolute; left: 0; bottom: 0%; width: 0%; height: 3px; background: #f6bacb; z-index: 0; }
.bline.inView::after { width: 100%; }

.report02 .slide-txt p { padding-bottom: 1em; text-align: left; }

@media (max-width: 1180px) {
  .comment i { width: 80px; }
  .comment p { padding: 2rem 1rem; left: -1rem; }
  .comment-l { left: calc(-4rem - 40px); }
  .comment-l p::after { top: 90%; rotate: 24deg; }
  .comment-r p::after { top: 90%; rotate: -24deg; }
  .shohou .comment-l { left: calc(-6rem - 40px); }
  .shohou .comment-r { right: calc(-6rem - 40px); }
  .shohou .comment-r p { left: 1rem; } }
br.m, br.mm { display: none; }

@media (max-width: 970px) { br.mm { display: inline; }
  br.ssp { display: none; } }
@media (max-width: 768px) {
  .comment-wrap h4 { text-align: left; padding-left: 1rem; }
  .report02 .h2title b em { width: auto; }
  .report02 .h2title b em::after { content: none; }
  .report02 .h2title b em span { position: relative; display: inline-block; overflow: hidden; transition-duration: 1.0s; }
  .report02 .h2title b em span i::after { content: ""; background: #fdeff2; z-index: 2; width: 100%; height: 100%; position: absolute; left: 0; top: 0; transition-duration: 1.0s; }
  .report02 .h2title b em span::after { content: ""; position: absolute; z-index: -1; left: 0; top: 0; width: 0%; height: 100%; background: linear-gradient(transparent 70%, #f6bacb 70%); transition-duration: 1.0s; transition-delay: 0.9s; }
  .report02 .h2title.inView b em span i::after { left: 100%; }
  .report02 .h2title.inView b em span::after { width: 100%; }
  .report02 .points { padding: 16vw 0 8vw; }
  .report02 .points h4 { text-align: justify; }
  .report02 .points .h2title b em span i::after { background: #fff; }
  .report02 .point h3 { text-align: center; font-size: calc(48 / 750 * 100vw); }
  .report02 .point h3 b { display: inline; }
  .report02 .point-im { max-width: 480px; margin: auto; }
  .report02 .point-box-flex { display: block; }
  .report02 .point-box { margin-left: 2vw; margin-right: 2vw; }
  .report02 .comment-wrap h4 { text-align: left; padding-left: 1rem; }
  .report02 .flex figure { padding-top: 1rem; }
  .report02 .slides-title h2 b { letter-spacing: -0.025em; font-size: clamp(15px, 6.8vw, 30px); }
  .report02 .slides-title .notes { text-align: left; }
  .report02 .slide-img figure { padding-top: 0; }
  .report02 .slide-txt { padding-bottom: 0.5rem; font-size: 1em; }
  .report02 .fin { padding: 2rem 0; }
  .playback { padding-top: calc(100 / 750 * 100vw); padding-bottom: calc(110 / 750 * 100vw); }
  .playback h3 { font-size: calc(32 / 750 * 100vw); padding-top: calc(60 / 750 * 100vw); }
  .playback p { padding-bottom: 0; }
  .playback-lead { font-size: calc(28 / 750 * 100vw); margin-bottom: calc(80 / 750 * 100vw); }
  .playback-box { padding-bottom: calc(60 / 750 * 100vw); }
  .playback-box-2 { padding-top: calc(60 / 750 * 100vw); }
  .playback-box h5 { font-size: calc(32 / 750 * 100vw); }
  .playback-box li { font-size: calc(28 / 750 * 100vw); }
  .point-case figure { width: calc(200 / 750 * 100vw); top: calc(20 / 750 * 100vw); right: calc(30 / 750 * 100vw); }
  .point-case dl { display: block; text-align: left; font-size: calc(28 / 750 * 100vw); padding-top: calc(32 / 750 * 100vw); }
  .point-case dt { display: block; }
  .point-case dd { padding-left: 3.0rem; }
  .report02 .point-action p { font-size: calc(28 / 750 * 100vw); }
  .report02 .ex-wrap h4 { font-size: calc(32 / 750 * 100vw); }
  .report02 .ex-wrap h4 span { font-size: calc(32 / 750 * 100vw); }
  .ex-wrap hr { margin-bottom: calc(40 / 750 * 100vw); }
  .ex-wrap p { font-size: calc(28 / 750 * 100vw); }
  .shohou { margin-top: calc(40 / 750 * 100vw); padding: calc(50 / 750 * 100vw) calc(40 / 750 * 100vw) calc(60 / 750 * 100vw); }
  .shohou p.pt1 { position: static; }
  .shohou h5 { font-size: calc(28 / 750 * 100vw); }
  .shohou li { font-size: calc(28 / 750 * 100vw); }
  .summary h3 { padding-bottom: calc(32 / 750 * 100vw); font-size: calc(48 / 750 * 100vw); }
  .report02 .summary p { text-align: left; font-size: calc(32 / 750 * 100vw); }
}
@media (max-width: 540px) { br.ssp { display: inline; } }
@media (max-width: 480px) {
  .playback-wrap { padding: 4vw; }
  .playback-im { position: relative; width: 72%; margin: auto; transform: translate(0, 0); top: -12%; }
  .playback-box ul { padding-left: 0; text-align: left; }
  .playback-wrap .txt-center { text-align: left; }
  .playback-box ul.list-check li { background-size: 1.2rem; background-position: 0 13px; padding-left: 1.6em; }
  .report02 .point { padding: 4vw; }
  .report02 .ex-wrap { padding: 8vw 4vw 8vw; z-index: 8; margin-top: calc(68 / 750 * 100vw); }
  .report02 .ex-wrap::after { width: 3.2rem; height: 3.2rem; }
  .report02 .ex-wrap h4 { background: none; border: 0; padding: 0; text-align: center; }
  .report02 .comment-wrap::after { width: calc(100% + 12vw); left: -6vw; height: 122%; }
  .report02 .comment-wrap2::after, .report02 .comment-wrap3::after { width: calc(100% + 18vw); left: -9vw; height: 104%; }
  .comment { visibility: hidden; transform: translateY(100%); transition-duration: 1.0s; opacity: 0; position: fixed; z-index: 18; top: auto; bottom: 0; left: 0; width: 100%; display: flex; align-items: center; justify-content: center; flex-direction: row-reverse; background: #fff; gap: 12px; padding: 8px; min-height: 80px; }
  .comment i { flex: 0 0 16%; width: 16vw; height: 16vw; position: static; margin: 0; }
  .comment p { border-radius: 12px; position: static; flex: 0 0 auto; padding: 1.6rem; left: 0; }
  .comment p::after { left: -8px; top: 40%; width: 16px; clip-path: polygon(0 50%, 100% 0, 100% 100%); rotate: 0deg; }
  .comment-r { flex-direction: row; }
  .comment-r p::after { left: auto; right: -8px; clip-path: polygon(0 0, 100% 50%, 0 100%); }
  .comment-wrap.inView .comment { transform: translateY(0); opacity: 1; visibility: visible; }
  .shohou .comment-l, .shohou .comment-r { right: auto; top: auto; left: 0; }
  .report02 .comment-wrap2 .comment-l { bottom: 80px; }
  .report02 .comment-wrap4 p { position: static; }
  .report02 .comment-wrap4.inView p { position: relative; }
  .report02 .comment-wrap4 .comment { top: auto; }
  .report02 .slides-title h2 { font-size: 1.3em; }
  .report02 .slides-title h2 em { font-size: 1.2em; }
  .report02 .bline { display: inline; background: linear-gradient(transparent 100%, #f6bacb 100%); transition-duration: 1.0s; font-size: 1.4rem; }
  .report02 .bline.inView { background: linear-gradient(transparent 80%, #f6bacb 80%); }
  .report02 .bline::after { content: none; }}