@charset 'UTF-8';

/******* MV *******/

.headingEngagement .headingEngagement_inner {
  max-width: 1280px;
  grid-template-columns: 1fr 54.5%;
}
.headingEngagement__h1 {
  font-size: clamp(26px, 2.8vw, 47px);
  align-self:end;
}
.headingEngagement_inner figure img {
  margin: 0 auto;
}
@media screen and (min-width: 901px){
  .headingEngagement {
    padding: 0 9vw 0 12vw;
  }
  .headingEngagement_inner .fv_btn {
    margin-top: 2.125rem;
  }
}
@media screen and (max-width: 900.9px){
  .headingEngagement__h1 {
    margin-bottom: 12px;
    font-size: 6vw !important;
  }
}


/******* #section-1 *******/
#section-1 .movie {
  margin-top: 160px;
  max-width: unset;
  text-align: center;
}
#section-1 h2 {
  font-size: clamp(30px, 6vw, 40px);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
}
@media screen and (min-width: 901px){
  .movie button { width:55.5% }
}
.movie button:hover { opacity:0.65; }
.figureBox {
  padding: 45px 36px;
  background-color: #fff;
  border-radius: 12px;
}

@media screen and (max-width: 900.9px){
  #section-1 .movie { 
    display:block;
    margin-top: 8vw;
    text-align:center; }
  #section-1 h2 {
    font-size: clamp(28px, 6vw, 56px);
  }
}

/******* #pageLink *******/

#pageLink .container {
  max-width :1120px;
}
@media screen and (min-width: 1361px){
  #pageLink li {
    width: 250px;
  }
}
@media screen and (min-width: 521px) and (max-width: 1360.9px) {
  #pageLink li {
    width: 46%;
  }
}


/******* #section-2 *******/

#section-2 .simple_frame {
  margin: 24px 0 0 0;
}
.box_white.data-analytics {
  margin-top: 24px;
  padding: 40px;
}
.box_white.data-analytics img {
  height: auto;
  max-width: 520px;
  width: 100%;
}
.data-analytics .columns.columns--image {
  grid-template-columns: 25% 1fr;
  column-gap: 4rem;
}
.data-analytics .txt_area dt {
  font-size: 0.875rem;
  font-weight: 500;
}
.data-analytics .txt_area dt em {
  display: inline-block;
  margin-right: 4px;
  padding: 2px 7px 2px 8px;
  font-family: "Reddit Mono", monospace;
  font-style: normal;
  color: #fff;
  background-color: #23678a;
  border-radius: 8px;
}
.data-analytics .txt_area dd {
  line-height: 1.75;
  margin-left: 1em;
  text-indent: -1em;
}
.data-analytics .txt_area dd:before {
  content: "・";
}
.summary {
  margin: 24px 0 0 0;
  padding: 24px 0 0 0;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  color: #23678a;
  border-top: solid 1px #23678a;
}
@media screen and (max-width: 900.9px){
  .data-analytics .columns.columns--image {
    grid-template-columns : unset;
  }
  .summary { text-align:left; }
}

@media screen and (max-width: 900.9px){
  #section-2 {
    padding-block: 3rem 15vw;
  }
}
@media screen and (max-width: 767.9px){
  #section-2 {
    padding-block: 3rem 18vw;
  }
}
@media screen and (max-width: 520.9px){
  #section-2 {
    padding-block: 3rem 35vw;
  }
}


/******* #section-3 *******/

#section-3 {
  padding-block: 5em 0;
  background-color: #f5f5f5;
}
.wrap_container {
  background-color: #fff;
  padding-bottom: 160px;
  border-radius: 8.68vw 8.68vw 0 0;
}
#section-3 .ttl_emphasis {
  display: block;
}
#section-3 .simple_frame:first-of-type {
  margin-top: -5em;
}
#section-3 img { margin:0 auto; }

.columns.approach {
  column-gap: 2.5rem;
  row-gap: 0;
}
.box_approach {
  margin-top: 24px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  row-gap: 0;
}
.task {
  position: relative;
  display: grid;
  grid-template-columns: 4em 1fr;
  padding: 24px 15px;
  font-weight: 700;
  color: #777777;
  background-color: #F5F5F5;
  border-radius: 16px;
}
.task dt {
  font-size: 1.125rem;
}
.task dd {
  font-size: 1rem;
  line-height: 1.5;
}
.task:after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 9px 0 9px;
  border-color: #F5F5F5 transparent transparent transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}
.box_number {
  margin-top: 24px;
  padding: 0 20px 20px;
  background-color: #fff;
  border: solid 2px #7CC0D7;
  border-radius: 16px;
  box-shadow: 0 10px 20px rgba(193,196,204,0.2);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 0;
}
.box_number .number {
  display: inline-block;
  width: 64px;
  margin:0 0 12px -20px;
  font-size: 1.75rem;
  font-weight: 700;
  font-family: "Reddit Mono", monospace;
  color: #fff;
  line-height: 1.8;
  text-align: center;
  background-color: #7CC0D7;
  border-radius: 14px 0 14px 0;
}
.box_number img {
  margin: 0 auto;
  width: auto;
  height: 90px;
}
.box_number .text {
  font-weight: 700;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.box_number .text strong {
  font-size: 1.25rem;
  color: #333;
}

.ttl_emphasis strong {
  font-size: clamp(22px, 5vw, 40px);
}
@media screen and (max-width: 900.9px){
  .wrap_container {
    padding-bottom: 12vw;
  }
  #section-3 .simple_frame:first-of-type {
    margin-top: -4.5em;
  }
}
@media screen and (max-width: 520.9px){
  #section-3 .simple_frame:first-of-type {
    margin-top: -6.2em;
  }
}


/******* #section-4 *******/

#section-4 .box_white.data-analytics .columns {
  align-items: center;
}

/******* お問い合わせ *******/

@media print, screen and (min-width: 901px) {
  .footer__inquiryLink.cv_btn {
    margin-bottom: 57px;
  }
}

