@charset "UTF-8";
/*------------------------------------------------------------------------------------------------------------------------------
common
------------------------------------------------------------------------------------------------------------------------------*/
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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  color: #333333;
  line-height: 1.5;
}

html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  line-height: 1.5;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 62.5%;
}

body {
  overflow: hidden;
  font-size: 1.6rem;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

/*
//Adobeフォントの読み込みチラつき防止
html {
	visibility: hidden;
}

html.wf-active,
html.loading-delay {
visibility: visible;
}
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
  display: block;
}

ol,
ul, li {
  list-style: none;
  font-size: 1.6rem;
}

table {
  border-collapse: separate;
  border-spacing: 0;
}

caption,
th,
td {
  font-weight: normal;
  text-align: left;
  font-size: 1.6rem;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}

blockquote,
q {
  -webkit-hyphens: none;
  hyphens: none;
  quotes: none;
}

a {
  text-decoration: none;
  color: #3367c9;
  outline: none;
  transition: 0.3s;
  -webkit-transition: 0.3s;
  -webkit-tap-highlight-color: transparent;
  font-size: 1.6rem;
}

a:hover {
  text-decoration: underline;
}

a:focus {
  transition: 0.3s;
  -webkit-transition: 0.3s;
}

a:hover,
a:active {
  outline: 0;
  transition: 0.3s;
  -webkit-transition: 0.3s;
}

a img {
  border: 0;
}

.clearfix {
  zoom: 1;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden; /* 隙間対応 */
  font-size: 0.1em; /* 隙間対応 */
  line-height: 0; /* 隙間対応 */
}

.both {
  clear: both;
}

.both hr {
  display: none;
}

p, li, a {
  font-size: 1.6rem;
}

img {
  max-width: 100%;
  display: block;
}

input[type=submit] {
  border-radius: 0;
  -webkit-appearance: none;
}

.fadeIn {
  transform: translate3d(0, 3rem, 0);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  opacity: 0;
}

.fadeIn.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.eng {
  font-family: "Lexend Deca", sans-serif;
}

::-moz-selection {
  background-color: #17288B;
  color: #fff;
}

::selection {
  background-color: #17288B;
  color: #fff;
}

::-webkit-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
  display: none;
}

.page_link-btn {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  background: #37484B;
  padding: 1rem 2.7rem;
  margin: 0 auto;
  color: #ffffff;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1;
  text-decoration: none;
}
.page_link-btn:hover {
  background: #FD7E12;
  text-decoration: none;
}

.sm_only {
  display: none;
}

.md_only {
  display: none;
}

.pc_only{
  display: block;
}

.footer-terms-copy{
  display: none!important;
}
.footer-terms-seal{
  margin: 50px auto 0!important;
  gap: 46px 20px;
  width: 100%;
  justify-content: center;
}

.footer {
  background-color: transparent;
  padding: 0 0 46px;
}
.gmoBannerBox {
  margin-right: 110px;
}
@media screen and (max-width: 768px){
  .gmoBannerBox {
    width: 100%;
    text-align: center;
    margin-right: 0;
  }
}
/*------------------------------------------------------------------------------------------------------------------------------
common end
------------------------------------------------------------------------------------------------------------------------------*/
.site-name{
  padding: 11px 13px 10px;
}
.site-name img{
  width: 100%;
  max-width: 110px;
}

.kv_area{
  position: relative;
  width: 100%;
  /* height: 100vh; */
}
.kv_swiper{
  /* height: 100vw; */
  height: 46vw;
}
.kv_swiper img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.kv_swiper .swiper-slide[data-swiper-slide-index="5"] img {
  object-position: top;
}

.kv_area h1{
  position: absolute;
  bottom: 3.1746vw; /* 48px */
  left: 3.1746vw;
  transform: translate(0, 0);

  color: #ffffff;
  font-family: 'Lexend Exa', sans-serif;
  font-size: 4.2328vw; /* 64px */
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  mix-blend-mode: difference;
  z-index: 1;
}
.kv_area p.kv_scroll_btn {
  cursor: pointer;
}
.kv_area p{
  position: absolute;
  bottom: 3.1746vw; /* 48px */
  right: 3.1746vw;
  transform: translate(0, 0);

  display: flex;
  align-items: center;
  gap: 0.661375vw;

  color: #ffffff;
  font-family: 'Lexend Exa', sans-serif;
  font-size: 1.190476vw; /* 18px */
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.04em;
  mix-blend-mode: difference;
  z-index: 1;
}
.kv_area p span{
  margin-top: 0.066137vw; /* 1px */
  color: #ffffff;
  font-family: 'Lexend Exa', sans-serif;
  font-size: 1.190476vw; /* 18px */
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.04em;
  mix-blend-mode: difference;
}
.kv_area svg{
  width: 1.32275vw; /* 20px */
  height: 1.32275vw;
}

section{
  margin: 0;
  padding: 0;
  height: 200vh;
  overflow-x: hidden;
}
section:nth-of-type(3){
  height: auto;
}
.section01 {
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
  color: white;
  font-family: "Noto Sans JP", sans-serif;
}
.section01 .section_wrapper {
  width: 80%;
}
.section01 h1{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 5.291vw /* 80px */);
  display: block;
  margin-bottom: 1.587301587vw; /* 24px */
  font-size: 1.587301587vw;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.04em;
  color: #ffffff;
  text-align: center;
  font-family: 'Lexend Exa', sans-serif;
}
.section01 .text_box {
  display: flex;
  align-items: center;
  justify-content: center;
}
.section01 .text-left{
  width: 100%;
  position: relative;
}
.section01 .text-left h2 {
  display: flex;
  justify-content: center;
  gap: 2.6455vw; /* 40px */
  font-size: 6.3492vw; /* 96px */
  white-space: nowrap;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  font-family: 'Lexend Exa', sans-serif;
  letter-spacing: -0.1em;
  max-width: 100%;
  box-sizing: border-box;
  width: 100%;
}
.section01 .text-left h2 span{
  font-size: 6.3492vw; /* 96px */
  white-space: nowrap;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  font-family: 'Lexend Exa', sans-serif;
}
.section01 .text-left h2 .text{
  letter-spacing: -0.1em;
}
.section01 .text-left h2 .mark{
  letter-spacing: -0.1em;
}
.section01 .text-right{
  width: 0;
}
.section01 .text-right p {
  font-size: 1.455026455vw; /* 22px */
  line-height: calc(35.2 / 22);
  opacity: 0;
  transform: translateX(100%);
  white-space: nowrap;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  text-align: left;
  padding: 0;
  margin: 0;
  width: auto;
  max-width: 100%;
  letter-spacing: -0.1em;
}

.section02 {
  position: relative;
  height: 100vh; /* 画面の高さにフィット */
  overflow: hidden;
  background-color: #fff;
}

.section02 .section_wrapper{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    padding: 48px 5%;
}

.section02 .image-container {
    position: relative;
    width: 46.031746vw; /* 696px */
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.section02 .laptop-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.section02 .mission-statement {
  position: absolute;
  z-index: 2;
  right: 5%;
  padding: 2.6455vw;
  background: #ffffff;
  text-align: left;
  font-size: 2.1164vw; /* 1512pxのときの32px */
  line-height: calc(51.2 / 32);
  font-weight: 700;
  color: #333333;
  transform: translateX(0);
  opacity: 1;
  transition: transform 0.5s ease, opacity 0.5s ease;
  max-width: 50%;
  font-family: "Noto Sans JP", sans-serif;
}
.section02 h1 span{
  display: block;
  margin-bottom: 1.587301587vw; /* 24px */
  font-size: 1.587301587vw;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.04em;
  font-family: 'Lexend Exa', sans-serif;
}

.section02 .text-right {
    position: absolute;
    right: 5%;
    z-index: 3;
    font-size: 1.455026455vw; /* 22px */
    line-height: calc(35.2 / 22);
    font-weight: 700;
    color: #333;
    opacity: 0;
    transform: translateX(100%);
    transition: transform 0.5s ease, opacity 0.5s ease;
}

.section02 ul {
    list-style: none;
    padding: 0;
}

.section02 li {
  margin-bottom: 2.6455vw; /* 40px */
  font-size: 1.455026455vw; /* 22px */
  line-height: calc(35.2 / 22);
  font-weight: 700;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
}
.section02 li .for{
  display: block;
  position: relative;
  padding-left: 2.6455vw; /* 40px */
  margin-bottom: 0.5291vw; /* 8px */
  color: #999999;
  font-weight: 700;
  font-size: 1.19047619vw;
}

.section02 li .for::before{
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  display: block;
  width: 2.1164vw; /* 32px */
  height: 2.1164vw;
  background: url(../images/for01.png) no-repeat 50% 50% / contain;
}

.section02 ul li:nth-of-type(2) .for::before{
  background: url(../images/for02.png) no-repeat 50% 50% / contain;
}
.section02 ul li:nth-of-type(3) .for::before{
  background: url(../images/for03.png) no-repeat 50% 50% / contain;
}

.section03{
  height: 100%;
  width: 100%;
  /* 初期状態の背景画像は最初の画像に設定 */
  background: url(../images/bg01.png) no-repeat 50% 50% / cover;
  /* アニメーションを設定 */
  /* animation: image_anime 4s ease-in-out infinite; */
  /* forwardsを設定すると100%の状態で止まる */
  /* animation-fill-mode: forwards; */
  position: relative;
  z-index: 0;
}
.section03_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.section03_bg img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  animation: image_anime 4s ease-in-out infinite;
}
.section03_bg img[src*="01"] {
  animation-delay: 0s;
}
.section03_bg img[src*="02"] {
  animation-delay: 1s;
}
.section03_bg img[src*="03"] {
  animation-delay: 2s;
}
.section03_bg img[src*="04"] {
  animation-delay: 3s;
}

@keyframes image_anime {
  0% {
    opacity: 1;
    /* background-image: url(../images/bg01.png); */
  }
  25% {
    opacity: 0;
    /* background-image: url(../images/bg02.png); */
  }
  50% {
    opacity: 0;
    /* background-image: url(../images/bg03.png); */
  }
  75% {
    opacity: 0;
    /* background-image: url(../images/bg04.png); */
  }
  100% {
    /* background-image: url(../images/bg01.png); */
  }
}
/*
@keyframes image_anime_sp {
  0% {
    background-image: url(../images/bg01_sp.png);
  }
  25% {
    background-image: url(../images/bg02_sp.png);
  }
  50% {
    background-image: url(../images/bg03_sp.png);
  }
  75% {
    background-image: url(../images/bg04_sp.png);
  }
  100% {
    background-image: url(../images/bg01_sp.png);
  }
} */

.section03 h2{
  margin-bottom: 3.1746vw; /* 48px */
  font-size: 1.587301587vw; /* 24px */
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  text-align: left;
  font-family: 'Lexend Exa', sans-serif;
}
.section03 .section_wrapper{
  padding: 10.582vw 0; /* 160px */
  width: 69.84126%;
  margin: 0 auto;
  position: relative;
}
.section03 .section_wrapper > p{
  margin-bottom: 10.582vw; /* 160px */
  font-size: 2.513227vw; /* 38px */
  font-weight: 700;
  line-height: calc(83.6 / 38);
  letter-spacing: 0.04em;
  text-align: left;
}

.section03 .service_area{
  display: flex;
  justify-content: center;
  gap: 1.587301587vw; /* 24px */
}
.section03 .service_item{
  width: calc(50% - (1.587301587vw / 2));
}
.section03 .service_item img{
  margin-bottom: 1.587301587vw; /* 24px */
  aspect-ratio: 516 / 290;
}
.section03 .service_item h3{
  margin-bottom: 1.0582vw; /* 16px */
  font-size: 2.1164vw; /* 32px */
  font-weight: 700;
  line-height: calc(38.4 / 32);
  letter-spacing: -0.04em;
  text-align: left;
  font-family: 'Lexend Exa', sans-serif;
}
.section03 .service_item p{
  margin-bottom: 1.0582vw; /* 16px */
  font-size: 1.190476vw; /* 18px */
  font-weight: 700;
  line-height: calc(32.4 / 18);
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
}
.section03 .service_item a{
  display: flex;
  align-items: center;
  gap: 0.39682539vw; /* 6px */
  font-size: 1.0582vw; /* 16px */
  font-weight: 700;
  line-height: calc(28.8 / 16);
  text-align: left;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
}
.section03 .service_item svg{
  width: 1.0582vw; /* 16px */
  height: 1.0582vw; /* 16px */
  margin-top: 0.066137566vw; /* 1px */
}

section:nth-of-type(4){
  height: auto;
}
.section04{
  background: #ffffff;
}
.section04 .section_wrapper{
  padding: 10.582vw 0; /* 160px */
  width: 69.84126%;
  margin: 0 auto;
}
.section04 h2{
  margin-bottom: 3.1746vw; /* 48px */
  font-size: 1.587301587vw; /* 24px */
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  text-align: left;
  font-family: 'Lexend Exa', sans-serif;
}
.section04 .overview_row{
  display: flex;
  gap: 1.587301587vw; /* 24px */
  padding: 1.587301587vw 0; /* 24px */
  border-bottom: 1px solid #DDDDDD;
}
.section04 .overview_row:first-of-type{
  border-top: 1px solid #DDDDDD;
}
.section04 .overview_row h3{
  width: 31.81818%;
  font-size: 1.190476vw; /* 18px */
  font-weight: 700;
  line-height: calc(32.4 / 18);
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
}
.section04 .overview_row p{
  width: calc(100% - 31.81818%);
  font-size: 1.190476vw; /* 18px */
  font-weight: 400;
  line-height: calc(32.4 / 18);
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 599px) {
  .pc_only{
    display: none;
  }
  .sm_only {
    display: block;
  }
  .kv_swiper{
    /* height: 100vw; */
    height: calc(100vh - 39px);
  }
  .kv_area h1{
    left: 6.153846vw; /* 24px */
    bottom: 16.410256vw; /* 64px */
    font-size: clamp(1rem, 12.307692vw, 48px); /* 48px */
    line-height: calc(57.6 / 48);
    letter-spacing: -0.04em;
  }
  .kv_area p{
    gap: 2.051282vw; /* 8px */
    right: auto;
    left: 6.153846vw; /* 24px */
    bottom: 6.153846vw;
    font-size: 3.8461538vw; /* 15px */
  }
  .kv_area p span{
    font-size: clamp(1rem, 3.8461538vw, 15px); /* 15px */
  }
  .kv_area svg{
    width: 4.102564vw; /* 16px */
    height: 4.102564vw; /* 16px */
  }

  section:nth-of-type(1){
    /* height: 216.410256vw; */
    min-height: 230.410256vw;
  }
  .section01{
    /* height: 216.410256vw; */
    /* height: auto;
    height: 120%; */
    /* min-height: 200%; */
  }
  .section01 h1{
    transform: translate(-50%, 20.51282vw /* 80px */);
    font-size: clamp(1rem, 4.102564vw, 16px); /* 16px */
  }
  .section01 .section_wrapper{
    /* height: 216.410256vw; */
    padding-top: 28.205128vw; /* h1の下に配置するための余白（h1の位置20.51282vw + フォントサイズ4.102564vw + 余白3.589744vw） */
  }

  .section01 .text_box{
    flex-direction: column;
    gap: 14.3589743vw; /* 56px */
    padding-top: 0;
    margin-top: 0;
  }
  .section01 .text-right{
    width: 100%;
    transform: unset;
  }
  .section01 .text-left{
    transform: unset;
    width: 100%;
    margin-top: 0;
  }
  .section01 .text-left h2{
    flex-direction: column;
    font-size: clamp(1rem, 12.307692vw, 48px); /* 48px */
    gap: 4.102564vw; /* 16px */
    gap: 0;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    margin-top: 0;
  }
  .section01 .text-left h2 span{
    font-size: clamp(1rem, 17.2307692vw, 67px); /* 67px */
    line-height: 1;
  }
  .section01 .text-left h2 span.mark{
    font-size: clamp(1rem, 24.287179vw, 94.72px); /* 94.72px */
  }
  .section01 .text-right p{
    /* transform: translateX(0) translateY(100%); */
    font-size: clamp(1rem, 6.153846vw, 24px); /* 24px */
    line-height: 1.5;
    text-align: center;
    white-space: normal;
    /* transform: unset; */
    padding-bottom: 91px;

    /* position: relative;
    top: 100%; */
    transform: translateX(0) translateY(50.025641vw);
  }
  .section01 .text-right p br{
    display: block;
    margin: 0.3em 0;
    line-height: 0.8;
  }


  .section02 .section_wrapper{
    flex-direction: column;
    /* padding-bottom: 120px; */
  }
  .section02 .image-container{
    width: 100%;
    min-height: 634px;
    /* padding-bottom: 200px; */

  }
  .section02 .mission-statement{
    position: relative;
    left: 5%;
    margin: 0 auto 0 -40px;
    padding: 6.153846vw;
    font-size: clamp(1rem, 5.128205vw, 20px); /* 20px */
    line-height: calc(32 / 20);
    width: 600px;
    max-width: 90%;
    /* width: 330px; */

    /* position: unset; */
    transform: unset;
  }
  .section02 h1 span{
    margin-bottom: 4.102564vw; /* 16px */
    font-size: clamp(1rem, 4.102564vw, 16px); /* 16px */
  }
  .section02 .text-right{
    /* position: unset; */
    /* transform: translateX(0) translateY(50%); */
    /* position: relative; */
    /* position: absolute;
    transform: translateX(-100%) translateY(0); */
    top: -112%;
    top: 66%;
    right: auto;
    left: 0;
    margin: 0 auto 0 -40px;
    padding: 6.153846vw;
    background: #ffffff;
    width: 600px;
    /* width: 330px; */

    position: unset;
    /* transform: unset; */
    transform: translateX(-100%) translateY(0);
  }
  .section02 .text-right {
    /* position: absolute; */
    position: relative;
    top: 0;
    left: 5%;
    /* right: 5%; */
    right: unset;
    z-index: 3;
    font-size: 1.0582vw; /* 16px */
    line-height: calc(38.4 / 16);
    font-weight: 700;
    color: #333;
    /* opacity: 0; */
    /* transform: translateX(100%); */
    transform: unset;
    background: #ffffff;
    opacity: 1;
    transition: transform 0.5s ease, opacity 0.5s ease;
  }
  .section02 .text-right ul{
    /* position: absolute; */
    position: relative;
    top: 0;
    left: 5%;
    /* right: 5%; */
    right: unset;
    z-index: 3;
    font-size: 1.0582vw; /* 16px */
    line-height: calc(38.4 / 16);
    font-weight: 700;
    color: #333;
    opacity: 0;
    transform: translateX(-100%);
    transition: transform 0.5s ease, opacity 0.5s ease;
    width: 330px;
  }

  .section02 ul{

  }
  .section02 li{
    font-size: clamp(1rem, 4.102564vw, 16px); /* 16px */
    line-height: calc(25.6 / 16);
  }
  .section02 li .for{
    font-size: clamp(1rem, 3.589743vw, 14px); /* 14px */
    padding-left: 5.1282vw; /* 20px */
  }
  .section02 li .for::before{
    width: 4.102564vw;
    height: 4.102564vw;
  }

  .section02 .laptop-image{
    /* min-height: 165.128vw; */
    /* padding-bottom: 200px; */
  }


  .section03{
    height: 100%;
    width: 100%;
    /* 初期状態の背景画像は最初の画像に設定 */
    background: url(../images/bg01_sp.png) no-repeat 50% 50% / cover;
    /* アニメーションを設定 */
    /* animation: image_anime_sp 4s ease-in-out infinite; */
    /* forwardsを設定すると100%の状態で止まる */
    /* animation-fill-mode: forwards; */
  }
  .section03 .section_wrapper{
    padding: 20.51282vw 0; /* 80px */
    width: calc(100% - 12.307692vw); /* 100% - 48px */
  }
  .section03 h2{
    margin-bottom: 8.205128vw; /* 32px */
    font-size: clamp(1rem, 6.153846vw, 24px); /* 24px */
  }
  .section03 .section_wrapper > p{
    margin-bottom: 10.25641vw; /* 40px */
    font-size: clamp(1rem, 6.153846vw, 24px); /* 24px */
    line-height: calc(52.8 / 24);
  }
  .section03 .service_area{
    flex-direction: column;
    gap: 8.205128vw; /* 32px */
  }
  .section03 .service_item{
    width: 100%;
  }
  .section03 .service_item img{
    margin-bottom: 6.153846vw; /* 24px */
  }
  .section03 .service_item h3{
    margin-bottom: 4.10256vw; /* 16px */
    font-size: clamp(1rem, 8.205128vw, 32px); /* 32px */
    line-height: calc(38.4 / 32);
  }
  .section03 .service_item p{
    margin-bottom: 4.10256vw; /* 16px */
    font-size: clamp(1rem, 4.10256vw, 16px); /* 16px */
    line-height: calc(28.8 / 16);
  }
  .section03 .service_item a{
    gap: 1.53846153vw; /* 6px */
    font-size: clamp(1rem, 4.10256vw, 16px); /* 16px */
    line-height: calc(28.8 / 16);
  }
  .section03 .service_item svg{
    margin-top: 0.25641vw;
    width: 4.10256vw;
    height: 4.10256vw;
  }
  .section04 .section_wrapper{
    padding: 20.51282vw 0; /* 80px */
    width: calc(100% - 12.307692vw); /* 100% - 48px */
  }
  .section04 h2{
    margin-bottom: 8.205128vw; /* 32px */
    font-size: clamp(1rem, 6.153846vw, 24px); /* 24px */
  }
  .section04 .overview_row{
    padding: 6.153846vw 0;
    gap: 6.153846vw;
  }
  .section04 .overview_row h3{
    width: 43.24324%;
    font-size: clamp(1rem, 3.589743vw, 14px); /* 14px */
  }
  .section04 .overview_row p{
    width: calc(100% - 43.24324%);
    font-size: clamp(1rem, 3.589743vw, 14px); /* 14px */
  }
}
