/* リセットCSS（最小限） */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/*------------- General Elements -------------*/
html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #00060D;
  font-size: 1.5rem;
}

a {
  text-decoration: none;
  color: #2c6cd6;
  outline: none;
}

a:hover,
a:active,
a:focus {
  text-decoration: none;
}

img {
  max-width: 100%;
}

em {
  font: inherit;
}

* {
  word-break: break-all;
}

@media screen and (max-width: 1280px) and (min-width: 768px) {
  html {
    font-size: 0.625vw;
  }
}

@media screen and (max-width: 767px) {
  body {
    min-width: inherit;
  }
}

@media screen and (max-width: 767px) {
	.pc-br{
		display:none;
	}
}
.p-mv-root {
  font-size: 62.5%;
}

@media screen and (max-width: 1280px) and (min-width: 768px) {
  .p-mv-root {
    font-size: 0.625vw;
  }
}

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

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

/* PC・SPで表示切り替え */
@media all and (min-width: 768px) {
  .nopc {
    display: none !important;
  }
}

@media all and (max-width: 767px) {
  .nosp {
    display: none !important;
  }
}

/* p-mv関連のスタイル */
.p-mv-container {
  padding-block: 3vw 3vw;
  padding-inline: 1.5625vw;
  position: relative;
}

.p-mv-container::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url('../image/top/bg_mv_pc.png');
}

.p-mv-wrapper {
  width: 100%;
  max-width: 85vw;
  margin-inline: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0 min(1.5625vw, 30px);
}

.p-mv-wrap-txt {
  font-size: 1.8rem;
  line-height: 1.4166666667;
  letter-spacing: 0.01em;
  font-weight: 700;
  font-size: 0.9375vw;
  color: #FF8402;
  display: grid;
  grid-template-columns: repeat(3, auto);
  align-items: center;
  justify-content: flex-start;
  column-gap: 0.3645833333vw;
  margin-left: 1.8229166667vw;
}

.p-mv-wrap-txt::before,
.p-mv-wrap-txt::after {
  content: "";
  width: 0.1041666667vw;
  height: min(1.0416666667vw, 20px);
  background-color: #FF781A;
  border-radius: 10vmax;
}

.p-mv-wrap-txt::before {
  transform: rotate(-30deg);
}

.p-mv-wrap-txt::after {
  transform: rotate(30deg);
}

.p-mv-wrap-read {
  width: fit-content;
  font-size: 2.2em;
  line-height: 1.4545454545;
  letter-spacing: 0.01em;
  font-weight: 700;
  font-size: 1.1458333333vw;
  color: #fff;
  padding-block: 0.6770833333vw 0.5729166667vw;
  padding-inline: 3.3854166667vw 1.1979166667vw;
  position: relative;
  margin-top: 0.5208333333vw;
}

.p-mv-wrap-read::before,
.p-mv-wrap-read::after {
  content: "";
  position: absolute;
}

.p-mv-wrap-read::before {
  top: 50%;
  left: 0;
  z-index: 1;
  transform: translateY(-50%);
  width: 3.125vw;
  aspect-ratio: 1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url('../image/top/icn_mv_read.svg');
}

.p-mv-wrap-read::after {
  top: 0;
  right: 0;
  z-index: -1;
  width: calc(100% - min(1.5625vw, 30px));
  height: 100%;
  background-color: #FF781A;
  border-radius: 0.5208333333vw;
}

.p-mv-wrap-read ._ruby {
  position: relative;
}

.p-mv-wrap-read ._ruby::before {
  content: attr(data-ruby);
  position: absolute;
  top: -0.7em;
  left: 0;
  right: 0;
  font-size: 0.8em;
  letter-spacing: 0.3em;
  margin-left: 0.1em;
}

.p-mv-wrap-ttl {
  font-size: 4.6em;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-weight: 900;
  font-size: 2.3958333333vw;
  margin-top: 1.0416666667vw;
}

.p-mv-wrap-ttl ._colorGreen {
  color: #00C6A7;
}

.p-mv-wrap-ttl .colorPink {
  color: #FF0654;
}

.p-mv-wrap-ttl ._exclamation {
  display: inline-block;
  transform: rotate(10deg);
}

.p-mv-wrap-ttl small {
  font-size: 1.9791666667vw;
}

.p-mv-wrap-logo {
  width: 28.125vw;
  aspect-ratio: 540/137;
  margin-top: 2.6041666667vw;
}

.p-mv-wrap-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-mv-wrap-lists {
  display: flex;
  align-items: center;
  gap: 0 1.0416666667vw;
  margin-top: 1.5625vw;
}

.p-mv-wrap-list {
  font-size: 1.8em;
  line-height: 1.4166666667;
  letter-spacing: 0.01em;
  font-weight: 700;
  font-size: 0.9375vw;
  color: #FF8402;
  padding-left: 1.40625vw;
  padding-bottom: 0.1041666667vw;
  border-bottom: 0.15625vw dotted currentColor;
  position: relative;
}

.p-mv-wrap-list::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.1458333333vw;
  aspect-ratio: 1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url('../image/top/icn_check_orange.svg');
}

.p-mv-wrap-img {
  width: 33.6458333333vw;
  aspect-ratio: 646/210;
  margin-top: 1.875vw;
}

.p-mv-wrap-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-mv-button {
  width: min(29.6875vw, 570px);
  padding-bottom: min(2.2395833333vw, 43px);
}

.p-mv-btn {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0 min(1.0416666667vw, 20px);
  font-size: 3.2em;
  line-height: 1.46875;
  letter-spacing: 0.02em;
  font-weight: 900;
  font-size: min(1.6666666667vw, 32px);
  color: #fff;
  padding-inline: min(3.90625vw, 75px) min(1.71875vw, 33px);
  height: min(10.4em, 6vw);
  border-radius: 10vmax;
  background-color: #004A9F;
  filter: drop-shadow(0 min(0.5em, 5px) 0 #00060D);
  transition: filter 0.3s ease;
}

.p-mv-btn:hover {
  color: #fff;
  filter: brightness(1.1) drop-shadow(0 min(0.5em, 5px) 0 #00060D);
}

.p-mv-btn:hover ._arrow {
  transform: translateX(min(0.5em, 5px));
}

.p-mv-btn ._arrow {
  display: block;
  width: min(3.2em, 2vw);
  height: min(3.2em, 2vw);
  border-radius: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url('../image/top/icn_btn_arrow_blue.svg');
  transition: transform 0.3s ease;
}

.IndexPage .Contents3__title--beforetext {
  padding: 64px 0 96px;
  min-height: 169px;
  box-sizing: border-box;
}

@media screen and (min-width: 768px) and (max-width: 991px) {

  .IndexPage .Contents3__title--beforetext {
    min-height: auto;
    box-sizing: border-box;
    display: block;
    margin-bottom: 48px;
    padding: 0 16px;
  }

  .Contents3__title--logo {
    display: block;
  }
}

/* スマートフォン用スタイル */
@media screen and (max-width: 767px) {
  .p-mv {
    margin-top: 58px;
  }

  .p-mv-container {
    padding-block: 0;
    padding-inline: 5.3333333333vw;
    width: 100%;
    height: 185.6vw;
    position: relative;
  }

  .p-mv-container::after {
    background-position: center bottom;
    background-image: url('../image/top/bg_mv_sp.png');
    background-size: 100% 100%;
    margin-top: 3.2vw;
  }

  .p-mv-wrapper {
    max-width: initial;
    flex-direction: column;
    align-items: initial;
    gap: 4.8vw;
  }

  .p-mv-wrap-read {
    width: 100%;
    font-size: 3.7333333333vw;
    line-height: 1.3571428571;
    text-align: center;
    padding-block: 1.8666666667vw 1.3333333333vw;
    padding-inline: 9.3333333333vw 2.6666666667vw;
    margin-top: 1.8666666667vw;
  }

  .p-mv-wrap-read::before {
    width: 13.0666666667vw;
  }

  .p-mv-wrap-read::after {
    width: calc(100% - 4vw);
    border-radius: 2.6666666667vw;
  }

  .p-mv-wrap-ttl {
    font-size: 5.3333333333vw;
    line-height: 1.4;
    text-align: center;
    margin-top: 2.6666666667vw;
  }

  .p-mv-wrap-ttl ._colorGreen {
    margin-left: 5.3333333333vw;
  }

  .p-mv-wrap-ttl small {
    font-size: 4.8vw;
  }

  .p-mv-wrap-logo {
    width: 78.6666666667vw;
    margin-top: 2.6666666667vw;
    margin-inline: auto;
  }

  .p-mv-wrap-lists {
    flex-wrap: wrap;
    gap: 2.6666666667vw;
    margin-top: 4vw;
  }

  .p-mv-wrap-list {
    font-size: 3.4666666667vw;
    line-height: 1.5384615385;
    padding-left: 5.6vw;
    padding-bottom: 0.5333333333vw;
    border-bottom-width: 0.8vw;
  }

  .p-mv-wrap-list::before {
    width: 4.5333333333vw;
  }

  .p-mv-wrap-img {
    width: 64.2666666667vw;
    aspect-ratio: 241/130;
    margin-top: 4vw;
  }

  .p-mv-button-wrap {
    position: absolute;
    top: 121.6vw;
    left: 50%;
    translate: -50% 0;
  }

  .p-mv-button {
    width: 89.3333333333vw;
    margin-inline: auto;
    margin-bottom: initial;
    padding-bottom: 0;
  }

  .p-mv-btn {
    width: 100%;
    gap: 0 5.3333333333vw;
    font-size: 4.8vw;
    padding-inline: 13.3333333333vw 5.3333333333vw;
    height: 16vw;
    filter: drop-shadow(0 1.0666666667vw 0 #00060D);
  }

  .p-mv-btn:hover {
    filter: brightness(1.1) drop-shadow(0 1.0666666667vw 0 #00060D);
  }

  .p-mv-btn:hover ._arrow {
    transform: translateX(0.8vw);
  }

  .p-mv-btn ._arrow {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }

  .IndexPage .Contents3__title--beforetext {
    font-size: 24px;
    padding: 0;
    min-height: auto;
  }

  .IndexPage .Contents3__title--logo {
    display: block;
    height: auto;
  }

  .IndexPage .Contents3__title--logo img {
    width: 70vw;
    height: auto;
  }
}


/* 上書きスタイル
----*/
.IndexPage .Contents3 {
  padding: 0;
  padding: 10.6666666667vw 10vw;
}
@media screen and (max-width: 768px){
.IndexPage .Contents3 {
  padding: 10.6666666667vw 5vw;
	}
}

.IndexPage .Contents4__innerContainer1__subtitle,
.IndexPage .Contents4__innerContainer2__subtitle,
.IndexPage .Contents4__innerContainer3__subtitle {
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
	.IndexPage .Contents4__innerContainer1__subtitle,
	.IndexPage .Contents4__innerContainer2__subtitle,
	.IndexPage .Contents4__innerContainer3__subtitle {
	font-size: 5.3333333333vw;
	}
}

.IndexPage .Contents3__innerContainer1 {
  margin-top: 4.5rem;
}

.IndexPage .Contents3__innerContainer1__area1__subtitle,
.IndexPage .Contents3__innerContainer1__area2__subtitle {
  color: var(--color-brand-sub);
  margin: 30px auto;
  text-align: center;
  font-size: clamp(18px, 4rem, 30px);
  line-height: 1.54;
  letter-spacing: 0.06em;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .IndexPage .Contents3__innerContainer1__area1__subtitle,
  .IndexPage .Contents3__innerContainer1__area2__subtitle {
    font-size: 3rem;
  }
}

.IndexPage .Contents3__innerContainer1__area1__label span,
.IndexPage .Contents3__innerContainer1__area2__label span {
  font-size: 2.2rem;
}

.IndexPage .Contents3__innerContainer1__area1__list li,
.IndexPage .Contents3__innerContainer1__area2__list li {
  font-size: 2rem;
  line-height: 3.5rem;
  font-weight: bold;
  margin-bottom: 2.5rem;
  padding-left: 4rem;
  background: url(../image/contents3/check.png) no-repeat 0 .5rem;
  background-size: 2.5rem 2.5rem;
}

@media screen and (max-width: 767px) {
  .IndexPage .Contents3__innerContainer1__area1__list li,
  .IndexPage .Contents3__innerContainer1__area2__list li {
    font-size: 1.5rem;
    line-height: 2.5rem;
    padding-left: 3rem;
    background: url(../image/contents3/check.png) no-repeat 0 .25rem;
    background-size: 2rem 2rem;
  }
}

.IndexPage .Contents3__innerContainer1__area1__list li span,
.IndexPage .Contents3__innerContainer1__area2__list li span {
  border-bottom: .5rem solid #FF8E1E;
}

.IndexPage .Contents3__innerContainer2__title {
  font-size: 3.5rem;
  top: -2.75rem;
}
@media screen and (max-width: 767px) {
	.IndexPage .Contents3__innerContainer1, .IndexPage .Contents3__innerContainer2,
	.IndexPage .Contents4__innerContainer1, .IndexPage .Contents4__innerContainer2, .IndexPage .Contents4__innerContainer3{
		padding: 0;
    }
}

/* 事例
---*/
.p-solution-example {
  border: 0.3rem solid #002B5D;
  border-radius: 1rem;
  position: relative;
  margin-top: 5.5rem;
}

.p-solution-exampleBox {
  padding-block: 5rem 3.5rem;
  padding-inline: 2rem;
  background-color: #fff;
}

.p-solution-example-txt {
  position: absolute;
  top: -1.7rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.5rem;
  line-height: 1.24;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  background-color: #002B5D;
  border-radius: 10vmax;
  width: 24rem;
  padding-block: 0.5rem;
  padding-inline: 1rem;
}

.p-solution-example-read {
  padding-block: 1.5rem;
  padding-inline: 2rem;
  background-color: #E7F1FC;
  border-radius: 0 0 0.5rem 0.5rem;
  font-size: 2.1rem;
  line-height: 1.5238095238;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #002B5D;
  text-align: center;
}

@media screen and (max-width: 767px) {
    .p-solution-example-read {
        padding-block: 4.2666666667vw;
        padding-inline: 5.3333333333vw;
        font-size: 4vw;
        line-height: 1.5333333333;
    }
}

.p-solution-example::after {
  content: "";
  position: absolute;
  bottom: -9.8rem;
  left: 50%;
  transform: translateX(-50%);
  width: 4rem;
  aspect-ratio: 35 / 61;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../image/top/icn_arrow_bottom_03.svg);
}

.p-solution-blocks {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  margin-top: 13rem;
}

.p-solution-block-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

/* p-effect

ここから 生み出す効果セクション
---------------------------------------------------------------------------- */
/*------------- m-ttl-lp -------------*/
.m-ttl-lp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 1rem;
  padding-bottom: 4.5rem;
  position: relative;
}

.m-ttl-lp:has(._img) {
  padding-bottom: 2.5rem;
}

.m-ttl-lp:has(._read) {
  display: grid;
  grid-template-areas: ". img txt ." "read read read read";
  grid-template-columns: repeat(4, auto);
  gap: 1.5rem 1rem;
  padding-bottom: 6rem;
}

.m-ttl-lp:has(._read) ._img {
  grid-area: img;
}

.m-ttl-lp:has(._read) ._txt {
  grid-area: txt;
}

.m-ttl-lp:has(._read) ._read {
  grid-area: read;
  font-size: 3rem;
  line-height: 1.1;
  letter-spacing: 0.02em;
  font-weight: 900;
  text-align: center;
}

.m-ttl-lp:has(._read) ._read em {
  color: #FF0654;
}

.m-ttl-lp::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 6.2rem;
  aspect-ratio: 62/20.5;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../image/top/icn_ttl_bottom.svg);
}

.m-ttl-lp ._img {
  display: inline-block;
  width: 41rem;
  aspect-ratio: 410/104;
}

.m-ttl-lp ._img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.m-ttl-lp ._txt {
  font-size: 5.2rem;
  line-height: 1.0961538462;
  letter-spacing: 0.02em;
  font-weight: 900;
}

.m-ttl-lp ._flex {
  display: flex;
  align-items: center;
  gap: 0 1rem;
}

.m-ttl-lp ._exclamation {
  display: inline-block;
  transform: rotate(10deg);
}

@media screen and (max-width: 767px) {
  .m-ttl-lp {
    flex-direction: column;
    gap: 1.3333333333vw;
    padding-bottom: 6.6666666667vw;
  }

  .m-ttl-lp:has(._img) {
    gap: 3.2vw;
    padding-bottom: 6.1333333333vw;
  }

  .m-ttl-lp:has(._read) {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    grid-template-areas: "img txt" "read read";
    grid-template-columns: repeat(2, auto);
    gap: 2.6666666667vw 1.3333333333vw;
    padding-bottom: 4.5333333333vw;
  }

  .m-ttl-lp:has(._read) ._read {
    font-size: 4vw;
    line-height: 1.6;
  }

  .m-ttl-lp::after {
    width: 6.1333333333vw;
  }

  .m-ttl-lp ._img {
    width: 59.2vw;
  }

  .m-ttl-lp ._txt {
    font-size: 6.6666666667vw;
    line-height: 1.08;
  }

  .m-ttl-lp ._flex {
    gap: 0 1.3333333333vw;
  }

  .m-ttl-lp ._exclamation {
    margin-right: -5.3333333333vw;
  }
}

/*------------- m-speech-bubble-lp -------------*/
.m-speech-bubble-lp {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border-radius: 0.5rem;
  padding-bottom: 0.3rem;
  color: #fff;
  position: relative;
  z-index: 1;
}

.m-speech-bubble-lp._green::after {
  background-color: #00C6A7;
}

.m-speech-bubble-lp._orange::after {
  background-color: #FF8402;
}

.m-speech-bubble-lp._blue::after {
  background-color: #002B5D;
}

.m-speech-bubble-lp ._num {
  font-family: "Oswald", sans-serif;
}

.m-speech-bubble-lp._point {
  width: 9.756rem;
  aspect-ratio: 97.56/117;
  top: 0.9rem;
}

.m-speech-bubble-lp._point ._en {
  font-size: 2.3rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 700;
  line-height: 1.4;
  padding-top: 0.7rem;
}

.m-speech-bubble-lp._point ._num {
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.m-speech-bubble-lp._step {
  width: 8.19rem;
  aspect-ratio: 81.9/97.77;
  top: 0.9rem;
}

.m-speech-bubble-lp._step ._en {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.02em;
  font-weight: 700;
  line-height: 1.4;
  padding-top: 0.7rem;
}

.m-speech-bubble-lp._step ._num {
  font-size: 2.9rem;
  line-height: 1;
  letter-spacing: 0.046em;
  font-weight: 700;
}

.m-speech-bubble-lp._merit {
  width: 6.5rem;
  aspect-ratio: 65/76.93;
}

.m-speech-bubble-lp._merit ._en {
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.m-speech-bubble-lp._merit ._num {
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.m-speech-bubble-lp::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../image/top/icn_speechBubble.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url(../image/top/icn_speechBubble.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .m-speech-bubble-lp {
    border-radius: 1.3333333333vw;
    padding-bottom: 0.8vw;
  }

  .m-speech-bubble-lp._point {
    width: 14.6666666667vw;
    top: 0;
  }

  .m-speech-bubble-lp._point ._en {
    font-size: 3.2vw;
    top: 2.4vw;
  }

  .m-speech-bubble-lp._point ._num {
    font-size: 5.0666666667vw;
  }

  .m-speech-bubble-lp._step {
    width: 14.6666666667vw;
    top: 1.3333333333vw;
  }

  .m-speech-bubble-lp._step ._en {
    font-size: 3.2vw;
    top: 2.4vw;
  }

  .m-speech-bubble-lp._step ._num {
    font-size: 5.0666666667vw;
  }

  .m-speech-bubble-lp._merit {
    width: 14.6666666667vw;
  }

  .m-speech-bubble-lp._merit ._en {
    font-size: 3.2vw;
  }

  .m-speech-bubble-lp._merit ._num {
    font-size: 5.0666666667vw;
  }
}

/*------------- .l-pagebody -------------*/
.l-pagebody {
  width: 100%;
  overflow: hidden;
}

.l-content {
  max-width: 120rem;
  margin-inline: auto;
}

.l-content._1920 {
  max-width: 192rem;
}

.l-content._1008 {
  max-width: 100.8rem;
}

@media screen and (max-width: 767px) {
  .l-content {
    max-width: 100%;
    padding-inline: 5.3333333333vw;
  }

  .l-content._1920 {
    max-width: 100%;
  }

  .l-content._1008 {
    max-width: 100%;
  }

  .l-content._sp_no_padding {
    padding-inline: 0;
  }
}

.p-effect {
  padding-block: 11rem 16rem;
  position: relative;
}

.p-effect::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: #F6F6F6;
  clip-path: polygon(100% 0, 100% calc(100% - 11.5rem), 50% 100%, 0 calc(100% - 11.5rem), 0 0);
}

.p-effect-blocks {
  display: flex;
  flex-direction: column;
  gap: 7.9rem;
  margin-top: 4.5rem;
}

.p-effect-block-ttlBox {
  display: flex;
  align-items: center;
  gap: 0 2rem;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}

.p-effect-block-ttlBox-point {
  position: absolute;
  top: 0;
  left: 0;
}

.p-effect-block-ttl {
  display: inline;
  font-size: 5rem;
  line-height: 1.54;
  letter-spacing: 0.06em;
  font-weight: 900;
  text-align: center;
}

.p-effect-block-items {
  display: flex;
  margin-top: 3.8rem;
}

.p-effect-block-items._01> :nth-child(1) {
  margin-right: 5.8rem;
}

.p-effect-block-items._01> :nth-child(2) {
  margin-right: 8.4rem;
}

.p-effect-block-items._02> :nth-child(1) {
  margin-right: 5.8rem;
  margin-left: 15.7rem;
}

.p-effect-block-items._02> :nth-child(2) {
  margin-right: 8.4rem;
}

.p-effect-block-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  position: relative;
}

.p-effect-block-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 6rem;
  z-index: 1;
  width: 9.5rem;
  aspect-ratio: 89/37;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(assets/images/top/icn_effect_block_item_arrow_pc.svg);
}

.p-effect-block-items._01 .p-effect-block-item:nth-of-type(1)::after {
  right: -3rem;
}

.p-effect-block-items._01 .p-effect-block-item:nth-of-type(2)::after {
  right: -11.9rem;
}

.p-effect-block-items._02 .p-effect-block-item:nth-of-type(1)::after {
  right: -10rem;
}

.p-effect-block-item-img {
  width: 15.4rem;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
}

.p-effect-block-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-effect-block-item-txt {
  flex: 1;
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-weight: 700;
  text-align: center;
  align-content: center;
}

.p-effect-block-item-txt em {
  font-weight: 700;
  color: #FF0654;
}

.p-effect-block-hedge {
  background-color: #fff;
  border: 0.3rem solid #002B5D;
  border-radius: 1rem;
  overflow: hidden;
  margin-top: 4.7rem;
}

.p-effect-block-hedge-ttl {
  padding-block: 1.7rem 1.9rem;
  background-color: #002B5D;
  font-size: 3.2rem;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #fff;
  text-align: center;
}

.p-effect-block-hedge-wrapper {
  display: flex;
  gap: 0 2.6rem;
  padding-block: 4rem;
  padding-inline: 3.7rem;
}

.p-effect-block-hedge-wrapper-boxes {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3.6rem;
}

.p-effect-block-hedge-wrapper-box {
  padding-block: 3rem 2.6rem;
  padding-inline: 3rem;
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  position: relative;
}

.p-effect-block-hedge-wrapper-box._01 {
  background-color: #F6F6F6;
}

.p-effect-block-hedge-wrapper-box._02 {
  background-color: #FFF6EC;
}

.p-effect-block-hedge-wrapper-box:first-child::after {
  content: "";
  position: absolute;
  top: 100%;
  right: 52%;
  transform: translateX(50%);
  width: 7.2rem;
  height: 2.6rem;
  background-color: #5E5E5E;
  clip-path: polygon(50% 2.6rem, 0% 0%, 7.2rem 0%);
}

.p-effect-block-hedge-wrapper-box-ttl {
  width: fit-content;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 900;
  color: #fff;
  padding-block: 0.8rem;
  padding-inline: 2rem 3rem;
  clip-path: polygon(calc(100% - 1.5rem) 0, 100% 50%, calc(100% - 1.5rem) 100%, 0 100%, 0 0);
}

.p-effect-block-hedge-wrapper-box-ttl._01 {
  background-color: #5E5E5E;
}

.p-effect-block-hedge-wrapper-box-ttl._02 {
  background-color: #FF0654;
}

.p-effect-block-hedge-wrapper-box-txt {
  font-size: 2.3rem;
  line-height: 1.6086956522;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.p-effect-block-hedge-wrapper-box-txt em {
  font-weight: 900;
}

.p-effect-block-hedge-wrapper-box-txt ._borderBottom {
  border-bottom: 0.5rem dotted #FF0654;
}

.p-effect-block-hedge-wrapper-box-txt ._colorPink {
  font-size: 3.7rem;
  line-height: 1.1351351351;
  font-weight: 900;
  color: #FF0654;
  margin-left: 4.3rem;
}

.p-effect-block-hedge-wrapper-img {
  width: 50.4rem;
  aspect-ratio: 504/430;
}

.p-effect-block-hedge-wrapper-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-effect-block-hedge-content {
  padding-block: 4rem 3.7rem;
  padding-inline: 7rem;
}

.p-effect-block-hedge-content-read {
  width: fit-content;
  margin-inline: auto;
  font-size: 3rem;
  line-height: 1.2333333333;
  letter-spacing: 0.04em;
  font-weight: 500;
  text-align: center;
}

.p-effect-block-hedge-content-read ._bold {
  font-weight: 900;
}

.p-effect-block-hedge-content-read ._dotted {
  border-bottom: 0.5rem dotted currentColor;
}

.p-effect-block-hedge-content-read:not(:last-of-type) {
  position: relative;
  margin-bottom: 5.3rem;
}

.p-effect-block-hedge-content-read:not(:last-of-type)::after {
  content: "";
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  width: 4.9rem;
  height: 1.7800291936rem;
  background-color: #5E5E5E;
  position: absolute;
  bottom: -2rem;
  left: 50%;
  translate: -50% 100%;
}

.p-effect-block-hedge-content-box {
  width: 100%;
  border-radius: 0.5rem;
  background-color: #FFF6EC;
  padding-block: 3.25rem;
  padding-inline: 1rem;
  text-align: center;
  position: relative;
  margin-top: 4.5rem;
}

.p-effect-block-hedge-content-box::before {
  content: "";
  position: absolute;
  top: -1.3rem;
  left: 50%;
  transform: translateX(-50%);
  width: 7.2rem;
  height: 2.6rem;
  background-color: #FF0654;
  clip-path: polygon(50% 2.6rem, 0% 0%, 7.2rem 0%);
}

.p-effect-block-hedge-content-box-txt {
  display: inline;
  font-size: 3.7rem;
  line-height: 1.1351351351;
  letter-spacing: 0.04em;
  font-weight: 900;
  color: #FF0654;
  border-bottom: 0.5rem dotted currentColor;
}

.p-effect-block-hedge-content-img {
  width: 100%;
  aspect-ratio: 1060/300;
  margin-top: 3rem;
}

.p-effect-block-hedge-content-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

@media screen and (max-width: 767px) {
  .p-effect {
    padding-block: 10.6666666667vw 16vw;
  }

  .p-effect::after {
    clip-path: polygon(100% 0, 100% calc(100% - 5.3333333333vw), 50% 100%, 0 calc(100% - 5.3333333333vw), 0 0);
  }

  .p-effect-blocks {
    gap: 9.8666666667vw;
    margin-top: 6.4vw;
  }

  .p-effect-block-ttlBox {
    gap: 0 2.6666666667vw;
  }

  .p-effect-block-ttl {
    font-size: 5.3333333333vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
    text-align: left;
  }

  .p-effect-block-items {
    flex-direction: column;
    justify-content: initial;
    gap: 16.2666666667vw;
    margin-top: 3.7333333333vw;
  }

  .p-effect-block-items._01> :nth-child(1) {
    margin-right: 0;
  }

  .p-effect-block-items._01> :nth-child(2) {
    margin-right: 0;
  }

  .p-effect-block-items._02> :nth-child(1) {
    margin-right: 0;
    margin-left: 0;
  }

  .p-effect-block-items._02> :nth-child(2) {
    margin-right: 0;
  }

  .p-effect-block-item {
    width: 100%;
    gap: 4vw;
  }

  .p-effect-block-item:not(:last-child)::after {
    top: calc(100% + 4vw);
    width: 5.3333333333vw;
    aspect-ratio: 18/33.5;
    background-image: url(assets/images/top/icn_effect_block_item_arrow_sp.svg);
    translate: 50%;
  }

  .p-effect-block-items._01 .p-effect-block-item:nth-of-type(1)::after {
    right: 50%;
  }

  .p-effect-block-items._01 .p-effect-block-item:nth-of-type(2)::after {
    right: 50%;
  }

  .p-effect-block-items._02 .p-effect-block-item:nth-of-type(1)::after {
    right: 50%;
  }

  .p-effect-block-item-img {
    width: 26.6666666667vw;
  }

  .p-effect-block-item-txt {
    font-size: 4.2666666667vw;
    line-height: 1.5625;
  }

  .p-effect-block-hedge {
    border-width: 0.8vw;
    border-radius: 2.6666666667vw;
    margin-top: 6.6666666667vw;
  }

  .p-effect-block-hedge-ttl {
    padding-block: 2.6666666667vw 3.7333333333vw;
    font-size: 4.2666666667vw;
  }

  .p-effect-block-hedge-wrapper {
    flex-direction: column;
    gap: 8vw;
    padding-block: 5.3333333333vw 7.2vw;
    padding-inline: 4.5333333333vw;
  }

  .p-effect-block-hedge-wrapper-boxes {
    gap: 0;
  }

  .p-effect-block-hedge-wrapper-box {
    padding-block: 5.3333333333vw 4.8vw;
    padding-inline: 5.3333333333vw;
    gap: 2.6666666667vw;
  }

  .p-effect-block-hedge-wrapper-box:first-child::after {
    right: 50%;
    width: 13.8666666667vw;
    height: 4.8vw;
    clip-path: polygon(50% 4.8vw, 0% 0%, 13.8666666667vw 0%);
  }

  .p-effect-block-hedge-wrapper-box-ttl {
    font-size: 3.7333333333vw;
    padding-block: 1.8666666667vw;
    padding-inline: 4vw 7.2vw;
    clip-path: polygon(calc(100% - 3.2vw) 0, 100% 50%, calc(100% - 3.2vw) 100%, 0 100%, 0 0);
  }

  .p-effect-block-hedge-wrapper-box-txt {
    font-size: 4vw;
    line-height: 1.6;
  }

  .p-effect-block-hedge-wrapper-box-txt ._borderBottom {
    border-bottom-width: 1.0666666667vw;
    padding-bottom: initial;
  }

  .p-effect-block-hedge-wrapper-box-txt ._colorPink {
    font-size: 5.3333333333vw;
    line-height: 1.35;
    margin-left: 0;
  }

  .p-effect-block-hedge-wrapper-img {
    width: 100%;
    margin-block: 10.1333333333vw 5.6vw;
  }

  .p-effect-block-hedge-content {
    padding-block: 4.8vw 5.3333333333vw;
    padding-inline: 3.4666666667vw;
  }

  .p-effect-block-hedge-content-read {
    width: 100%;
    font-size: 4.2666666667vw;
    line-height: 1.5625;
    letter-spacing: 0.01em;
  }

  .p-effect-block-hedge-content-read ._dotted {
    border-bottom-width: 0.8vw;
  }

  .p-effect-block-hedge-content-read:not(:last-of-type) {
    margin-bottom: 7.28vw;
  }

  .p-effect-block-hedge-content-read:not(:last-of-type)::after {
    width: 7.7333333333vw;
    height: calc(7.7333333333vw / 2 * 0.6745085168);
    bottom: -3.0133333333vw;
  }

  .p-effect-block-hedge-content-box {
    border-radius: 1.3333333333vw;
    padding-block: 4.8vw;
    padding-inline: 5.3333333333vw 0;
    margin-top: 9.0666666667vw;
  }

  .p-effect-block-hedge-content-box::before {
    top: -2.1333333333vw;
    width: 13.8666666667vw;
    height: 4.8vw;
    clip-path: polygon(50% 4.8vw, 0% 0%, 13.8666666667vw 0%);
  }

  .p-effect-block-hedge-content-box-txt {
    font-size: 5.3333333333vw;
    line-height: 1.6;
    text-align: left;
    border-bottom: 1.0666666667vw dotted currentColor;
  }

  .p-effect-block-hedge-content-img {
    aspect-ratio: 295/205;
    margin-top: 5.3333333333vw;
  }
}

/* feature */


.IndexPage .Contents4__innerContainer4--topline {
  width: 100%;
  max-width: 1200px;
}

.Contents4__innerContainer4__inner {
  display: flex;
}

.IndexPage .Contents4__innerContainer1__text,
.IndexPage .Contents4__innerContainer2__text,
.IndexPage .Contents4__innerContainer3__text,
.IndexPage .Contents4__innerContainer4__text {
  font-size: clamp(13px, 1.5rem, 20px);
}

@media screen and (max-width: 1280px) and (min-width: 768px) {
  .IndexPage .Contents4__innerContainer1__text,
  .IndexPage .Contents4__innerContainer2__text,
  .IndexPage .Contents4__innerContainer3__text,
  .IndexPage .Contents4__innerContainer4__text {
    font-size: clamp(13px, 1.75rem, 20px);
  }
}

.IndexPage .Contents4__innerContainer1__text span, .IndexPage .Contents4__innerContainer2__text span, .IndexPage .Contents4__innerContainer3__text span {
  border-bottom: .5rem solid #FF8E1E;
  padding-bottom: 0px;
}

.IndexPage .Contents4__innerContainer4__area1,
.IndexPage .Contents4__innerContainer4__area2 {
  float: none;
}

.IndexPage .Contents4__innerContainer4__area2--inner {
  width: 100%;
  max-width: 584px;
  padding: 5rem 8rem 0;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .Contents4__innerContainer4__inner {
    flex-flow: column;
  }

  .IndexPage .Contents4__innerContainer4__area2--inner {
    width: 100%;
    padding: 0;
  }
}