@charset "utf-8";

/*
  Reset
----------------------------------------------------------------------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
address,
img,
sub,
sup,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

ol,
ul {
  list-style: none;
}

/*
  Base Style
----------------------------------------------------------------------------------------------------*/
* {
  box-sizing: border-box;
}

a {
  color: #0066aa;
  text-decoration: none;
}

#reportPage {
  @media all and (min-width: 768px), print {
    min-width: 1240px;
    overflow: hidden;
  }
}

.reportMainArea {
  color: #222;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  min-height: 100vh;
  overflow-wrap: anywhere;
  text-decoration-skip-ink: none;
}

.reportContentArea {
  padding-bottom: 80px;
}
.reportContentArea img {
  display: block;
  height: auto;
  max-width: 100%;
}

@media all and (min-width: 768px), print {
  .reportMainArea {
    font-size: 15px;
    line-height: 1.4;
  }
}

/*
  Parts Style
----------------------------------------------------------------------------------------------------*/
/* --- reportBreadcrumbWrap --- */
.reportBreadcrumbWrap {
  background: #f1f2f6;
  border-bottom: 1px solid #e6e9ee;
  color: #556;
  font-size: 11px;
  line-height: 1;
  padding: 11px 0;
}
.reportBreadcrumb {
  font-size: 12px;
  line-height: 1.8;
  margin: 0 12px;
  width: auto;
}
.reportBreadcrumb__item {
  display: inline;
}
.reportBreadcrumb img {
  display: inline;
}

@media all and (min-width: 768px), print {
  .reportBreadcrumbWrap {
    padding: 9px 20px;
  }
  .reportBreadcrumb {
    margin-inline: auto;
    line-height: 1.4;
    max-width: 1320px;
    width: 100%;
  }
  .reportBreadcrumb__item a:hover {
    color: #1d9bff;
    text-decoration: underline;
  }
}

/* --- reportNav --- */
.reportNavWrapper {
  background-color: #ebf6ff;
  border-top: 1px solid #dde0e7;
}
.reportNav {
  margin-inline: auto;
  padding: 20px;
}
.reportNav__list {
  display: flex;
  flex-flow: row wrap;
  row-gap: 12px;
}
.reportNav__item {
  position: relative;
  width: calc((100% - 1px) / 2);
}
.reportNav__item:nth-child(odd)::after {
  background-color: #ddd;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: calc(100% - 8px);
}
.reportNav--current {
  border-bottom: 2px solid #06a;
}
.reportNav__link {
  color: #06a;
  display: block;
  font-weight: 500;
  padding: 0 16px 9px;
  text-align: center;
  width: 100%;
}
.reportNav__link:visited {
  color: #06a;
}

@media all and (min-width: 768px), print {
  .reportNav {
    max-width: 1200px;
    padding: 0;
    padding-top: 11px;
  }
  .reportNav__list {
    flex-flow: nowrap;
  }
  .reportNav__item {
    width: auto;
  }
  .reportNav__item:not(:last-child)::after {
    background-color: #ddd;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: calc(100% - 8px);
  }
  .reportNav__item:hover {
    border-bottom: 2px solid #06a;
  }
}

/* --- reportMainVisual --- */
.reportMainVisual {
  margin-bottom: 30px;
}
.reportMainVisual__detail img {
  width: 100%;
}

@media all and (min-width: 768px), print {
  .reportMainVisual {
    margin-bottom: 60px;
  }
}

/* --- reportContainer --- */
.reportContainer {
  padding: 0 20px;
}

@media all and (min-width: 768px), print {
  .reportContainer {
    margin-bottom: 28px;
  }
}

/* --- reportSection --- */
.reportSection {
  width: 100%;
}
.reportSection--bg-gradation01 {
  background: linear-gradient(135deg, rgba(247, 237, 255, 1), rgba(235, 246, 255, 1));
  mix-blend-mode: multiply;
}
.reportSection--bg-gradation02 {
  background: linear-gradient(45deg, rgba(255, 237, 239, 1), rgba(213, 237, 252, 1));
  mix-blend-mode: multiply;
}
.reportSection__inner {
  margin-inline: auto;
  padding: 0 20px;
  width: 100%;
}
.reportSection--vision {
  clip-path: polygon(0 0%, 100% 10%, 100% 100%, 0 90%);
}
.reportSection--strategy {
  clip-path: polygon(0 6%, 100% 0%, 100% 94%, 0 100%);
}
.reportSection__inner--vision {
  padding: 58px 20px 80px;
}
.reportSection__inner--strategy {
  margin-top: -62px;
  padding: 60px 20px 86px;
}

@media all and (min-width: 768px), print {
  .reportSection--bg-gradation01 {
    clip-path: polygon(0 0%, 100% 15%, 100% 100%, 0 85%);
  }
  .reportSection--bg-gradation02 {
    clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0 100%);
  }

  .reportSection__inner {
    max-width: 1240px;
  }
  .reportSection__inner--w960 {
    max-width: 1000px;
  }
  .reportSection__inner--vision {
    padding: 66px 20px 106px;
  }
  .reportSection__inner--strategy {
    margin-top: -62px;
    padding: 98px 20px 124px;
  }
}

/* --- reportTitle --- */
.reportTitle1 {
  background-color: #0e0d6a;
}
.reportTitle1__inner {
  margin-inline: auto;
  padding: 16px 20px;
  width: 100%;
}
.reportTitle1__heading {
  color: #fff;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.4;
}

.reportTitle2 {
  text-align: center;
}
.reportTitle2--type01 {
  margin-bottom: 20px;
}
.reportTitle2__heading {
  font-weight: 500;
  margin-inline: auto;
  position: relative;
}
.reportTitle2--type01 > .reportTitle2__heading {
  font-size: 20px;
  padding-bottom: 12px;
  position: relative;
}

@media all and (min-width: 768px), print {
  .reportTitle1__inner {
    max-width: 1200px;
    padding: 32px 0;
  }
  .reportTitle1__heading {
    font-size: 40px;
  }

  .reportTitle2--type01 {
    margin-bottom: 30px;
  }
  .reportTitle2--type01 > .reportTitle2__heading {
    font-size: 32px;
  }
}

/* --- reportLeadText --- */
.reportLeadText {
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

@media all and (min-width: 768px), print {
  .reportLeadText {
    font-size: 15px;
    line-height: 2;
  }
}

/* --- reportText --- */
.reportText {
  font-size: 14px;
}
.reportText--lg {
  font-size: 18px;
  font-weight: 500;
}
.reportText:not(:first-child) {
  margin-top: 20px;
}
.reportImageColumn__text > .reportText:not(:first-child) {
  margin-top: 24px;
}

@media all and (min-width: 768px), print {
  .reportText {
    font-size: 15px;
  }
  .reportText--lg {
    font-size: 20px;
  }
  .reportImageColumn__text > .reportText:not(:first-child) {
    margin-top: 32px;
  }
}

/* --- reportButton --- */
.reportButtonLayout {
  display: flex;
  margin-top: 30px;
}
.reportContentArea > .reportButtonLayout {
  padding: 0 20px;
}
.reportButtonLayout--center {
  justify-content: center;
}
.reportButton {
  background-color: #fff;
  border: 1px solid #0e0d6a;
  border-radius: 8px;
  box-shadow: 0 3px 6px 0 rgb(0 0 0 / 0.1);
  color: #0e0d6a;
  display: block;
  font-weight: 500;
  padding: 15px 30px 15px 10px;
  position: relative;
  text-align: center;
  width: 100%;
}
.reportButton:visited {
  color: #0e0d6a;
}
.reportButton::after {
  background: url(/vision/sustainability-integrated-report2024/img/common/ico-arrow-blue.svg) no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 14px;
  right: 10px;
  position: absolute;
  top: calc((100% - 14px) / 2);
  transform: rotate(270deg);
  width: 14px;
}
.reportButton--return {
  padding: 15px 10px 15px 30px;
}
.reportButton.reportButton--return::after {
  background: url(/vision/sustainability-integrated-report2024/img/common/ico-arrow-blue.svg) no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 14px;
  left: 10px;
  position: absolute;
  top: calc((100% - 14px) / 2);
  transform: rotate(90deg);
  width: 14px;
}
.reportButton::before {
  content: "";
  background-color: #fff;
  border-radius: 8px;
  display: block;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: all 300ms 0s ease;
  width: 100%;
  top: 0;
}

@media all and (min-width: 768px), print {
  .reportButtonLayout {
    margin-top: 20px;
  }
  .reportContentArea > .reportButtonLayout {
    padding: 0;
  }
  .reportButton {
    width: 476px;
  }
  .reportButton:hover {
    border: 1px solid #8786b5;
  }
  .reportButton:hover::before {
    opacity: 0.5;
    transition: all 300ms 0s ease;
  }
}

/* --- reportPanelButton --- */
.reportPanelButtonLayout {
  margin-inline: auto;
  margin-top: 30px;
}
.reportContentArea > .reportPanelButtonLayout {
  padding: 0 20px;
}
.reportPanelButton {
  background-color: #fff;
  border: 1px solid #0e0d6a;
  border-radius: 8px;
  box-shadow: 0 3px 6px 0 rgb(0 0 0 / 0.1);
  color: #0e0d6a;
  display: block;
  font-weight: 500;
  padding: 6px 40px 6px 15px;
  position: relative;
  text-decoration: none;
}
.reportPanelButton:hover,
.reportPanelButton:visited {
  color: #0e0d6a;
}
.reportPanelButton::before {
  content: "";
  background-color: #fff;
  border-radius: 8px;
  display: block;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: all 300ms 0s ease;
  width: 100%;
  top: 0;
}
.reportPanelButton[target="_blank"]::after {
  background: url(/vision/sustainability-integrated-report2024/img/common/icon_blank-b.png) no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 15px;
  position: absolute;
  right: 15px;
  top: 41%;
  width: 18px;
}
.reportPanelButton__content {
  align-items: center;
  column-gap: 12px;
  display: flex;
}
.reportPanelButton__image {
  flex-shrink: 0;
  height: 46px;
  width: 32px;
}
.reportPanelButton__detail {
  align-items: center;
  display: flex;
  justify-content: center;
  width: 100%;
}
.reportPanelButton__text {
  text-align: center;
}

@media all and (min-width: 768px), print {
  .reportPanelButtonLayout {
    margin-top: 40px;
    width: 478px;
  }
  .reportContentArea > .reportPanelButtonLayout {
    padding: 0;
  }
  .reportPanelButton {
    padding: 10px 40px 10px 15px;
  }
  .reportPanelButton:hover {
    border: 1px solid #8786b5;
  }
  .reportPanelButton:hover::before {
    opacity: 0.5;
    transition: all 300ms 0s ease;
  }
  .reportPanelButton:hover::after {
    opacity: 0.5;
  }
  .reportPanelButton__content {
    column-gap: 20px;
  }
  .reportPanelButton__image {
    height: 55px;
    width: 38px;
  }
  .reportPanelButton__detail {
    justify-content: left;
  }
}

/* --- reportCardButton --- */
.reportCardButtonLayout {
  margin-top: 30px;
  display: flex;
  column-gap: 40px;
  flex-direction: column;
  row-gap: 20px;
}
.reportCardButton {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 3px 6px 0 rgb(0 0 0 / 0.1);
  color: #222;
  display: block;
  position: relative;
}
.reportCardButton:visited {
  color: #222;
}
.reportCardButton::after {
  content: "";
  background-color: #fff;
  border-radius: 8px;
  display: block;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: all 300ms 0s ease;
  width: 100%;
  top: 0;
}
.reportCardButton__content {
  align-items: center;
  display: flex;
}
.reportCardButton__image {
  flex-shrink: 0;
  height: 93px;
  width: 98px;
}
.reportCardButton__image img {
  border-radius: 8px 0 0 8px;
}
.reportCardButton__detail {
  align-items: center;
  display: grid;
  font-size: 11px;
  font-weight: 400;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding: 11px 26px 11px 10px;
  row-gap: 5px;
  width: 100%;
}
.reportCardButton[target="_blank"] .reportCardButton__detail {
  padding: 11px 36px 11px 10px;
}
.reportCardButton__detail::after {
  background: url(/vision/sustainability-integrated-report2024/img/common/ico-arrow-black.svg) no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 14px;
  right: 10px;
  position: absolute;
  top: calc((100% - 14px) / 2);
  transform: rotate(270deg);
  width: 14px;
}
.reportCardButton[target="_blank"] .reportCardButton__detail::after {
  background: url(/vision/sustainability-integrated-report2024/img/common/icon_blank-b.png) no-repeat;
  background-size: contain;
  height: 15px;
  width: 18px;
  right: 16px;
  top: calc((100% - 15px) / 2);
  transform: rotate(0);
}

@media all and (min-width: 768px), print {
  .reportCardButtonLayout {
    flex-direction: row;
    justify-content: flex-end;
    margin-top: 40px;
  }
  .reportCardButton {
    width: 508px;
  }
  .reportCardButton:hover {
    color: #222;
  }
  .reportCardButton:hover::after {
    opacity: 0.2;
    transition: all 300ms 0s ease;
  }
  .reportCardButton__image {
    height: 140px;
    width: 147px;
  }
  .reportCardButton__detail {
    font-size: 14px;
    font-weight: 500;
    padding: 0 44px 0 32px;
    text-align: center;
    row-gap: 10px;
  }
  .reportCardButton[target="_blank"] .reportCardButton__detail {
    padding: 0 56px 0 32px;
  }
  .reportCardButton[target="_blank"] .reportCardButton__detail::after {
    right: 20px;
  }
}

/* --- reportLink --- */
.reportLinkLayout {
  display: flex;
  justify-content: flex-end;
  margin-top: 30px;
}
.reportLink {
  color: #0e0d6a;
  padding-left: 20px;
  padding-right: 24px;
  position: relative;
}
.reportLink::before {
  background: url(/vision/sustainability-integrated-report2024/img/common/ico-arrow-blue.svg);
  content: "";
  display: block;
  height: 14px;
  left: 0;
  position: absolute;
  top: calc((100% - 14px) / 2);
  transform: rotate(270deg);
  width: 14px;
}
.reportLink[target="_blank"]::after {
  background: url(/vision/sustainability-integrated-report2024/img/common/icon_blank-b.png) no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 15px;
  position: absolute;
  right: 0;
  top: calc((100% - 15px) / 2);
  width: 18px;
}

@media all and (min-width: 768px), print {
  .reportLink:hover {
    text-decoration: underline;
  }
  .reportLink::before {
    top: calc((100% - 12px) / 2);
  }
}

/* --- reportImage --- */
.reportImage {
  margin-top: 24px;
}

@media all and (min-width: 768px), print {
  .reportImage {
    margin-top: 20px;
  }
}

/* --- reportSetImage --- */
.reportSetImage {
  margin-inline: auto;
  margin-top: 30px;
  width: fit-content;
}
.reportSetImage__image {
  margin-top: 10px;
}

@media all and (min-width: 768px), print {
  .reportSetImage {
    margin-top: 40px;
  }
}

/* --- reportImageBox --- */
.reportImageBoxLayout {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: 80px;
}
.reportImageBox {
  align-items: center;
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
.reportImageBox__image {
  max-width: 415px;
}
.reportImageBox__detail {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.reportImageBox__title {
  color: #0e0d6a;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 15px;
  text-align: center;
}
.reportImageBox__description {
  font-size: 14px;
  line-height: 2;
}
.reportImageBox__button {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

@media all and (min-width: 768px), print {
  .reportImageBoxLayout {
    margin-inline: auto;
    max-width: 960px;
    row-gap: 30px;
  }
  .reportImageBox {
    column-gap: 40px;
    flex-direction: row;
    row-gap: 0;
  }
  .reportImageBox--revers {
    flex-direction: row-reverse;
  }
  .reportImageBox__image {
    flex-shrink: 0;
  }
  .reportImageBox__description {
    font-size: 15px;
  }
  .reportImageBox__title {
    font-size: 24px;
    margin-bottom: 30px;
  }
  .reportImageBox__button {
    margin-top: 30px;
  }
}

/* --- reportArrowLink --- */
.reportArrowLink {
  color: #222;
  display: block;
  font-size: 18px;
  line-height: 1.4;
  padding: 1px 0 12px;
  position: relative;
  text-decoration: none;
  text-align: center;
  width: 248px;
}
.reportArrowLink:visited {
  color: #222;
}
.reportArrowLink::after {
  background-image: url(/vision/sustainability-integrated-report2024/img/report2024-ico-arrow-line-01.svg);
  bottom: 0;
  content: "";
  display: block;
  height: 15px;
  left: 0;
  position: absolute;
  transition: all 300ms 0s ease;
  width: 100%;
}

@media all and (min-width: 768px), print {
  .reportArrowLink:hover {
    color: #888;
  }
  .reportArrowLink:hover::after {
    left: 8px;
    transition: all 300ms 0s ease;
    opacity: 0.6;
  }
}

/* --- reportList --- */
.reportList {
  display: grid;
  font-size: 14px;
  row-gap: 10px;
}
.reportList--note {
  font-size: 11px;
}
.reportList__item {
  display: flex;
  column-gap: 5px;
}
.reportList__marker {
  flex-shrink: 0;
}

@media all and (min-width: 768px), print {
  .reportList {
    font-size: 15px;
    row-gap: 16px;
  }
  .reportList--note {
    font-size: 14px;
  }
}

/* --- reportAnchorList --- */
.reportAnchorList {
  display: flex;
  flex-wrap: wrap;
  row-gap: 22px;
}
.reportAnchorList__item {
  border-left: 1px solid #999;
  width: calc(100% / 2);
}
.reportAnchorList__item:nth-child(2n) {
  border-right: 1px solid #999;
}
.reportAnchorList__link {
  align-items: center;
  color: #0e0d6a;
  display: flex;
  flex-direction: column;
  font-size: 14px;
  padding: 0 10px 15px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%;
}
.reportAnchorList__link::after {
  background: url(/vision/sustainability-integrated-report2024/img/common/ico-arrow-blue.svg) no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  display: block;
  height: 14px;
  left: calc((100% - 14px) / 2);
  position: absolute;
  width: 14px;
}
.reportAnchorList__prefix {
  font-size: 24px;
  font-weight: bold;
}

@media all and (min-width: 768px), print {
  .reportAnchorList {
    display: flex;
    flex-wrap: nowrap;
  }
  .reportAnchorList__item {
    width: 100%;
  }
  .reportAnchorList__item:nth-child(2n) {
    border-right: none;
  }
  .reportAnchorList__item:last-child {
    border-right: 1px solid #999;
  }
  .reportAnchorList__link {
    font-size: 15px;
    padding: 1px 10px 24px;
  }
  .reportAnchorList__link:hover {
    color: #0e0d6a;
  }
  .reportAnchorList__text:hover {
    text-decoration: underline;
  }
}

/* --- reportDetailBlock --- */
.reportDetailBlockLayout {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: 30px;
}
.reportDetailBlockLayout:not(:first-child) {
  margin-top: 30px;
}
.reportDetailBlock__title {
  align-items: center;
  border-radius: 8px 8px 0 0;
  color: #fff;
  column-gap: 15px;
  display: flex;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  padding: 10px 14px;
}
.reportDetailBlock--red > .reportDetailBlock__title {
  background: linear-gradient(90deg, #bf2d28 40%, #f28563);
}
.reportDetailBlock--yellow > .reportDetailBlock__title {
  background: linear-gradient(90deg, #986015 40%, #e6b679);
}
.reportDetailBlock--green > .reportDetailBlock__title {
  background: linear-gradient(90deg, #287c53 40%, #9cceb6);
}
.reportDetailBlock--blue > .reportDetailBlock__title {
  background: linear-gradient(90deg, #296da1 40%, #8eb1da);
}
.reportDetailBlock--purple > .reportDetailBlock__title {
  background: linear-gradient(90deg, #5a4e8d 40%, #a098c5);
}
.reportDetailBlock--pink > .reportDetailBlock__title {
  background: linear-gradient(90deg, #9b4282 40%, #ca9ec4);
}
.reportDetailBlock__prefix {
  align-items: center;
  display: flex;
  font-size: 11px;
  flex-direction: column;
  flex-shrink: 0;
}
.reportDetailBlock__number {
  font-size: 30px;
  margin-top: -7px;
}
.reportDetailBlock__body {
  background-color: #fff;
  border-radius: 0 0 8px 8px;
  padding: 16px;
}
.reportDetailBlock--red > .reportDetailBlock__body {
  border: 2px solid #ea5650;
}
.reportDetailBlock--yellow > .reportDetailBlock__body {
  border: 2px solid #e7a244;
}
.reportDetailBlock--green > .reportDetailBlock__body {
  border: 2px solid #42ad79;
}
.reportDetailBlock--blue > .reportDetailBlock__body {
  border: 2px solid #3389ca;
}
.reportDetailBlock--purple > .reportDetailBlock__body {
  border: 2px solid #7057a3;
}
.reportDetailBlock--pink > .reportDetailBlock__body {
  border: 2px solid #b8589d;
}

@media all and (min-width: 768px), print {
  .reportDetailBlockLayout {
    row-gap: 60px;
  }
  .reportDetailBlock__title {
    column-gap: 20px;
    font-size: 24px;
    line-height: 1.5;
    padding: 22px;
  }
  .reportDetailBlock__prefix {
    font-size: 14px;
  }
  .reportDetailBlock__number {
    font-size: 50px;
    margin-top: -15px;
  }
  .reportDetailBlock__body {
    padding: 20px 72px 40px;
  }
}

/* --- reportProvidedBox --- */
.reportProvidedBox {
  padding: 14px;
}
.reportProvidedBox:not(:first-child) {
  margin-top: 30px;
}
.reportProvidedBox--bg {
  background: url(/vision/sustainability-integrated-report2024/img/report2024-bg-01.png) no-repeat;
  background-position: 42% 50%;
  color: #fff;
}
.reportProvidedBox__title {
  border-bottom: 1px solid #222;
  font-size: 18px;
  font-weight: 500;
  padding-bottom: 9px;
}
.reportProvidedBox--bg > .reportProvidedBox__title {
  border-bottom: 1px solid #fff;
}
.reportProvidedBox__detail {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-weight: 500;
  margin-top: 28px;
  row-gap: 20px;
}
.reportProvidedBox__detailTitle {
  font-size: 24px;
  height: 95px;
  position: relative;
  text-align: center;
  width: 95px;
}
.reportProvidedBox__detailTitle::after {
  bottom: 0;
  border: 2px solid #fff;
  border-radius: 50%;
  content: "";
  display: block;
  height: 91px;
  left: 0;
  position: absolute;
  width: 91px;
}
.reportProvidedBox__advantage {
  display: block;
  height: 95px;
  /* left: 25%; */
  top: 28%;
  position: absolute;
  width: 95px;
}

@media all and (min-width: 768px), print {
  .reportProvidedBox--bg {
    background-size: auto;
    background-position: 0 0;
    padding: 30px;
  }
  .reportProvidedBox:not(:first-child) {
    margin-top: 20px;
  }
  .reportProvidedBox__title {
    font-size: 20px;
    padding-bottom: 0;
  }
  .reportProvidedBox__detail {
    column-gap: 66px;
    flex-direction: row;
    margin-top: 40px;
    padding-left: 84px;
  }
}

/*
  utility
----------------------------------------------------------------------------------------------------*/
/* --- display --- */
.view-pc {
  display: none !important;
}
.view-sp {
  display: block !important;
}

@media all and (min-width: 768px), print {
  .view-pc {
    display: block !important;
  }
  .view-sp {
    display: none !important;
  }
}

/* --- margin --- */
.mt10 {
  margin-top: 10px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt120 {
  margin-top: 120px !important;
}

@media all and (min-width: 768px), print {
  .mt20-pc {
    margin-top: 20px !important;
  }
  .mt24-pc {
    margin-top: 24px !important;
  }
  .mt40-pc {
    margin-top: 40px !important;
  }
  .mt60-pc {
    margin-top: 60px !important;
  }
  .mt80-pc {
    margin-top: 80px !important;
  }
}

/* --- padding --- */
@media all and (min-width: 768px), print {
  .pr20-pc {
    padding-right: 20px !important;
  }
}

/* --- color --- */
.text-blue {
  color: #0e0d6a !important;
}

/* --- weight --- */
.weight-medium {
  font-weight: 500 !important;
}

/* --- size --- */
.text-12 {
  font-size: 12px !important;
}
.text-16 {
  font-size: 16px !important;
}

@media all and (min-width: 768px), print {
  .text-18-pc {
    font-size: 18px !important;
  }
  .text-24-pc {
    font-size: 24px !important;
  }
}
