@charset "UTF-8";


.shadow {
  box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.07);
}

iframe {
  aspect-ratio: 2/1;
}



/*---------------------------------------------------------------*\
$common
\*---------------------------------------------------------------*/

.catch_lead {
  font-size: 64px;
  line-height: 1.2;
  margin: 32px 0 40px;
}

.catch_lead>span {
  font-size: 64px;
  line-height: 1.2;
}

.description_common {
  line-height: 2;
  font-size: 20px;
  margin: 32px 0 0 0;
}

.section_subtitle {
  font-size: 19px;
}

.wrap_section_title {
  width: 1200px;
  margin: 0 auto;
}

.section_title {
  font-size: 40px;
  line-height: 1.3;
  margin: 32px 0 0 0;
}

.section_title>span {
  font-size: 40px;
}

@media screen and (max-width: 1200px) {

  .wrap_section_title {
    width: 90%;
  }
}

@media screen and (max-width: 600px) {

  .catch_lead {
    font-size: 32px;
  }

  .catch_lead span {
    font-size: 32px;
  }

  .description_common {
    font-size: 17px;
  }

  .section_subtitle {
    font-size: 16px;
  }

  .section_title {
    font-size: 26px;
  }

  .section_title>span {
    font-size: 26px;
  }
}


/*---------------------------------------------------------------*\
$firstview
\*---------------------------------------------------------------*/

#firstview {
  padding: 200px 0 0;
  position: relative;
  overflow: hidden;
}

#firstview:before {
  display: block;
  content: '';
  background-image: url(../img/blur_firstview.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left;
  width: 55%;
  min-width: 650px;
  aspect-ratio: 2.3 / 1;
  position: absolute;
  z-index: -2;
  top: -20px;
  left: -5%;
}

#firstview .content {
  gap: 72px;
  width: 100%;
  position: relative;
  z-index: 1;
}

/* text */
#firstview .text {
  gap: 32px;
}

#firstview .subtitle {
  font-size: min(3.5vw, 28px);
}

#firstview .logo {
  max-width: 720px;
  width: 64%;
  min-width: 480px;
  margin: 0 auto;
}

#firstview .subject {
  font-size: min(3.5vw, 28px);
}

#firstview .logo img {
  width: 100%;
}

#firstview .description {
  font-size: 22px;
}

/* movie */
#firstview .movie {
  aspect-ratio: 2/0.75;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url('../img/thumbnail_movie.jpg');
  position: relative;
}

#firstview .movie:after {
  position: absolute;
  display: block;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(32 32 32 / 60%);
}

#firstview .play_button {
  width: 120px;
  height: 120px;
  margin: auto;
  position: relative;
  z-index: 1;
  cursor: pointer;
}

#firstview .play_button:hover {
  width: 140px;
  height: 140px;
}

#firstview .play_button:after {
  position: absolute;
  display: block;
  content: '';
  background-image: url('../img/icon_play.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 25px;
  aspect-ratio: 1/1;
  left: 0;
  right: 0;
  margin: auto;
}

/* tab */
#firstview .tab {
  background-image: url(../img/tab.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 720px;
  aspect-ratio: 11 / 1;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 2;
  margin: auto;
}



@media screen and (max-width: 1080px) {

  /* movie */
  #firstview .movie {
    aspect-ratio: 2/1;
  }
}


@media screen and (max-width: 950px) {

  #firstview .description {
    font-size: 18px;
  }

  /* movie */
  #firstview .play_button {
    width: 100px;
    height: 100px;
  }

  #firstview .play_button:after {
    width: 20px;
  }

  /* tab */
  #firstview .tab {
    width: 520px;
  }
}


@media screen and (max-width: 600px) {

  #firstview {
    padding: 100px 0 0;
  }

  #firstview .content {
    gap: 32px;
  }

  #firstview .logo {
    min-width: inherit;
  }

  /* text */
  #firstview .text {
    gap: 20px;
  }

  /* #firstview .subtitle {
    font-size: 15px;
  } */

  #firstview .description {
    font-size: 14px;
  }

  #firstview .subject {
    font-size: 15px;
  }

  /* movie */
  #firstview .play_button {
    width: 64px;
    height: 64px;
  }

  #firstview .play_button:after {
    width: 12px;
  }

  /* tab */
  #firstview .tab {
    width: 300px;
  }
}



/*---------------------------------------------------------------*\
$features
\*---------------------------------------------------------------*/

#features {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  padding: 0 2%;
}

/* headline */
#features .wrap_headlines {
  margin: 0 0 16px 0;
  position: relative;
}

#features .sub_headline {
  font-size: 15px;
  width: fit-content;
  border-radius: 8px;
  margin: auto;
  padding: 12px 24px;
}

#features .headline {
  font-size: 56px;
  line-height: 1.4;
  margin: 28px 0 0 0;
}

#features .badge {
  font-size: 12px;
  color: #888;
  margin: 40px 0 0 0;
}

#features .decoration {
  position: absolute;
  top: 32px;
  right: 0;
  left: 0;
  margin: auto;
  width: 800px;
  background-image: url(../img/decoration.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 3.6 / 1;
  z-index: -1;
}

/* content */
#features .content {
  width: 100%;
  border-radius: 24px;
}

#features .vertical_line {
  width: 1px;
  height: 110px;
  margin: 0 auto;
}

/* left */
#features .left {
  min-width: 400px;
  width: 32%;
  position: relative;
  padding: 40px;
  overflow: hidden;
  gap: 16px;
}

#features .left .step {
  font-size: 16px;
}

#features .catch {
  font-size: 40px;
  position: relative;
  z-index: 2;
}

#features .wave_effect {
  position: absolute;
  width: 100%;
  height: 720px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}

#features .foot_panel {
  position: absolute;
  width: 82%;
  margin: 0 auto;
  bottom: 15%;
  right: 0;
  left: 0;
  z-index: 2;
}

/* 回転するアニメーション */
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

/* このクラスをつけると回転を無限に繰り返します */
.anime-fuwafuwa {
  animation: 6s fuwafuwa infinite;
}

/* right */
#features .right {
  width: calc((100% - 32%));
  max-width: calc((100% - 400px));
  border-left: solid 1px #444;
}

#features .right .each {
  padding: 18px 18px 18px 28px;
}

#features .right .info {
  gap: 20px;
  width: calc((100% - 320px));
}

#features .right .subject {
  font-size: 36px;
}

#features .right .thumbnail {
  width: 320px;
  aspect-ratio: 2/1.1;
  background-color: #1d1d1d;
}

#features .right .each:nth-of-type(1) .thumbnail img,
#features .right .each:nth-of-type(2) .thumbnail img {
  height: 80%;
  width: auto;
}

#features .right .each:nth-of-type(3) .thumbnail img {
  width: 72%;
  height: auto;
}

#features .right .tag_list {
  gap: 10px;
  width: 90%;
}

#features .right .tag {
  background-color: #505050;
  padding: 4% 3%;
  font-size: min(2vw, 17px);
  border-radius: 4px;
}

#features .right .border {
  width: 100%;
  height: 1px;
  background-color: #444;
}


@media screen and (min-width: 1400px) {

  #features .right .thumbnail {
    width: 370px;
  }

  #features .right .info {
    width: calc((100% - 370px));
  }
}


@media screen and (max-width: 1280px) {

  #features .right .info {
    width: calc((100% - 200px));
  }

  #features .right .thumbnail {
    width: 200px;
    aspect-ratio: 1 / 1;
  }
}


@media screen and (max-width: 950px) {

  #features .wrap {
    align-items: flex-end;
  }

  /* headline */
  #features .headline {
    font-size: 48px;
  }

  /* main */
  #features .content {
    flex-direction: column;
  }

  /* left */
  #features .left {
    width: 100%;
    min-width: inherit;
    height: 640px;
    padding: 56px 0 0;
  }

  #features .left .step {
    text-align: center;
  }

  #features .left .catch {
    text-align: center;
  }

  #features .wave_effect {
    height: 600px;
  }

  #features .foot_panel {
    width: 450px;
  }

  /* right */
  #features .right {
    width: 100%;
    max-width: none;
    border-left: none;
    border-top: solid 1px #444;
  }

  #features .right .each {
    gap: 24px;
  }

  #features .right .tag_list {
    gap: 6px;
  }

  #features .right .each {
    width: 100%;
  }

  #features .right .tag_list {
    width: 100%;
  }
}


@media screen and (max-width: 750px) {

  /* headline */
  #features .headline {
    font-size: 40px;
  }
}


@media screen and (max-width: 600px) {

  /* headline */
  #features .sub_headline {
    font-size: 11px;
    padding: 8px 24px;
  }

  #features .headline {
    font-size: 26px;
    margin: 16px 0 0 0;
  }

  #features .badge {
    font-size: 11px;
  }

  #features .vertical_line {
    height: 64px;
  }

  #features .decoration {
    width: 370px;
    top: 48px;
  }

  /* left */
  #features .left {
    padding: 36px 0 0;
    height: 330px;
    gap: 8px;
  }

  #features .left .step {
    font-size: 11px;
  }

  #features .left .catch {
    font-size: 26px;
  }

  #features .wave_effect {
    height: 350px;
    bottom: -30px;
  }

  #features .foot_panel {
    width: 260px;
    bottom: 10%;
  }


  /* right */
  #features .right .each {
    gap: 10px;
    padding: 14px 14px 14px 20px;
  }

  #features .right .info {
    gap: 12px;
  }

  #features .right .subject {
    font-size: 24px;
  }

  #features .right .tag {
    font-size: 11px;
    padding: 8px;
  }

  #features .right .thumbnail {
    aspect-ratio: 2/1.8;
  }
}


@media screen and (max-width: 480px) {

  #features .headline {
    font-size: 23px;
  }

  /* left */
  #features .left .catch {
    font-size: 23px;
  }

  /* right */
  #features .right .subject {
    font-size: 21px;
  }

  #features .right .info {
    width: calc((100% - 160px));
  }

  #features .right .thumbnail {
    width: 160px;
  }
}



/*---------------------------------------------------------------*\
$casework
\*---------------------------------------------------------------*/

#casework {
  padding: 100px 0 0;
  position: relative;
}

#casework .wrap_headlines {
  gap: 24px;
}

#casework .sub_headline {
  font-size: 16px;
}

#casework .headline {
  font-size: 56px;
}


@media screen and (max-width: 600px) {

  #casework {
    padding: 56px 0 0;
  }

  #casework .wrap_headlines {
    gap: 16px;
  }

  #casework .sub_headline {
    font-size: 12px;
  }

  #casework .headline {
    font-size: 26px;
  }
}


@media screen and (max-width: 480px) {

  #casework .headline {
    font-size: 23px;
  }
}



/*---------------------------------------------------------------*\
$partnership
\*---------------------------------------------------------------*/

#partnership {
  position: relative;
  overflow: hidden;
  background-color: #f7f7f7;
  /* background-image: url('../img/thumbnail_movie.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-blend-mode: overlay; */
  width: 100%;
  height: 500px;
  margin: 120px auto 0;
}

#partnership:before {
  display: block;
  position: absolute;
  top: -200px;
  left: -400px;
  content: '';
  width: 1000px;
  height: 1000px;
  background-image: url('../img/background_blur.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

#partnership:after {
  display: block;
  position: absolute;
  bottom: -200px;
  right: -400px;
  content: '';
  width: 1000px;
  height: 1000px;
  background-image: url('../img/background_blur.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

#partnership .content {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  width: 90%;
  margin: 0 auto;
}

#partnership .text {
  gap: 24px;
}

#partnership .headline {
  font-size: 44px;
}

#partnership .description {
  font-size: 19px;
}

#partnership .icon {
  width: 300px;
  height: 80px;
  background-color: #3EC3FD;
  position: relative;
}


@media screen and (max-width: 950px) {

  #partnership .headline {
    font-size: 32px;
  }
}


@media screen and (max-width: 850px) {

  #partnership .content {
    flex-direction: column;
  }

  #partnership .headline {
    text-align: center;
  }

  /* button */
  #partnership .icon {
    height: 80px;
    margin: 32px auto 0;
  }
}


@media screen and (max-width: 600px) {

  #partnership {
    margin: 56px 0 0 0;
    height: 420px;
  }

  #partnership:before {
    width: 350px;
    height: 350px;
    top: -100px;
    left: -100px;
  }

  #partnership:after {
    width: 280px;
    height: 280px;
    bottom: -100px;
    right: -100px;
  }

  #partnership .headline {
    font-size: 22px;
  }

  #partnership .description {
    font-size: 15px;
  }

  #partnership .content {
    flex-direction: column;
  }
}



/*---------------------------------------------------------------*\
$risks
\*---------------------------------------------------------------*/

#risks {
  padding: 100px 0 0;
}

#risks .wrap_headline {
  gap: 16px;
}

#risks .headline {
  font-size: 40px;
  line-height: 1.3;
}

#risks .wrapper_supports_about_ew {
  margin: 40px 0 0 0;
  box-shadow: 0px 10px 56px rgb(0 0 0 / 8%);
  background-color: #fff;
}

#risks .supports_about_ew {
  margin: 56px auto;
}

#risks .each_support_about_ew {
  background-color: #eee;
  border: none;
}

#risks .inner_support_about_ew {
  gap: 20px;
}

#risks .thumbnail_about_ew {
  border-radius: 6px;
  overflow: hidden;
}

#risks .title_about_ew {
  font-size: 20px;
}


@media screen and (max-width: 950px) {

  #risks .headline {
    font-size: 32px;
  }
}


@media screen and (max-width: 600px) {

  #risks {
    padding: 40px 0 0;
  }

  #risks .sub_headline {
    font-size: 12px;
  }

  #risks .headline {
    font-size: 25px;
  }

  #risks .wrapper_supports_about_ew {
    margin: 20px 0 0 0;
  }

  #risks .supports_about_ew {
    margin: 24px auto;
  }

  #risks .inner_support_about_ew {
    gap: 10px;
  }

  #risks .title_about_ew {
    font-size: 15px;
  }
}


@media screen and (max-width: 480px) {

  #risks .headline {
    font-size: 23px;
  }
}



/*---------------------------------------------------------------*\
$concept
\*---------------------------------------------------------------*/

#concept {
  padding: 120px 0 0;
}

#concept .wrap_headline {
  gap: 24px;
}

#concept .sub_headline {
  font-size: 16px;
}

#concept .headline {
  font-size: 56px;
}

#concept .figure {
  margin: 0 auto;
  max-width: 1000px;
  width: 93%;
  z-index: 2;
  position: relative;
}

#concept .figure img {
  width: 100%;
}

#concept .content {
  box-shadow: 0px 10px 56px rgb(0 0 0 / 8%);
  position: relative;
  margin: 64px auto 0;
  width: 95%;
  overflow: hidden;
  border-radius: 10px;
  max-width: 1400px;
}

#concept .content li {
  gap: 10px;
  position: relative;
  z-index: 2;
  padding: 60px 0 64px;
  border-bottom: solid 1px #eee;
}

#concept .content li:last-child {
  border-bottom: none;
}

#concept .content .subject {
  font-size: 14px;
  width: 100px;
  padding: 8px 0 9px;
  margin: 0 auto;
  border-radius: 80px;
  background-color: #333;
  color: #fff;
}

#concept .sentence {
  font-size: 25px;
  color: #333;
  line-height: 1.5;
}


@media screen and (max-width: 960px) {

  #concept .sentence {
    font-size: 22px;
  }
}


@media screen and (max-width: 600px) {

  #concept {
    padding: 56px 0 0;
  }

  #concept .wrap_headline {
    gap: 16px;
  }

  #concept .sub_headline {
    font-size: 12px;
  }

  #concept .headline {
    font-size: 26px;
  }

  #concept .content .subject {
    font-size: 10px;
    width: 70px;
    padding: 7px 0;
  }

  #concept .sentence {
    font-size: 15px;
    line-height: 1.4;
  }

  #concept .content {
    margin: 40px auto 0;
  }

  #concept .content li {
    padding: 30px 5% 32px;
    gap: 8px;
  }
}


@media screen and (max-width: 600px) {

  #concept .headline {
    font-size: 23px;
  }
}



/*---------------------------------------------------------------*\
$steps
\*---------------------------------------------------------------*/

#steps {
  position: relative;
  padding: 50px 0 0;
  margin: 200px 0 0;
}

#steps .backgorund {
  background-color: #eee;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  height: 400px;
  top: 0px;
  width: 97%;
  border-radius: 10px;
  z-index: -1;
  right: 0;
  left: 0;
  margin: auto;
}

#steps .headline {
  font-size: 30px;
}

/* lists */
#steps .lists {
  width: 1000px;
  padding: 32px;
  border-radius: 10px;
  display: grid;
  position: relative;
  z-index: 2;
  gap: 40px;
  background-color: #fff;
  margin: 40px auto 0;
}

#steps .each_list {
  display: flex;
  align-items: center;
}

#steps .border {
  border-bottom: solid 1px #ddd;
}

#steps .thumbnail_list {
  width: 320px;
  height: 240px;
  background: #eee;
  margin: 0 32px 0 0;
  border-radius: 5px;
}

#steps .info_list {
  width: calc(100% - 192px);
}

#steps .badge_list {
  font-size: 16px;
}

#steps .title_list {
  font-size: 24px;
  margin: 16px 0 0 0;
}

#steps .note {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 24px 0 0 0;
}

#steps .each_note {
  display: flex;
  align-items: start;
  gap: 4px;
}

#steps .each_note span {
  color: #555;
  line-height: 1.3;
  font-size: 15px;
}

#steps .description_list {
  margin: 12px 0 0 0;
  font-size: 17px;
  line-height: 1.5;
}


@media screen and (max-width: 1200px) {

  #steps .lists {
    width: 90%;
  }
}


@media screen and (max-width: 960px) {

  /* lists */
  #steps .each_list {
    flex-direction: column-reverse;
  }

  #steps .info_list {
    width: 100%;
  }

  #steps .icon_list {
    width: 100%;
    margin: 24px 0 0 0;
  }
}


@media screen and (max-width: 600px) {

  /* lists */
  #steps .each_note span {
    font-size: 13px;
  }
}



/*---------------------------------------------------------------*\
FAQ
\*---------------------------------------------------------------*/

#faq {
  padding: 100px 0 0;
  position: relative;
  gap: 64px;
}

#faq .wrap_headlines {
  gap: 24px;
}

#faq .sub_headline {
  font-size: 16px;
}

#faq .headline {
  font-size: 56px;
}


/* accordion */
#faq .accordion {
  position: relative;
  border-bottom: solid 1px #eee;
  gap: 16px;
}

#faq .accordion .faqs {
  gap: 24px;
}

#faq .accordion:last-child {
  border-bottom: none;
}

#faq .accordion .each_faq {
  position: relative;
  background-color: #fafafa;
  list-style: none;
  max-width: 1400px;
  border-radius: 12px;
  width: 90%;
  margin: 0 auto;
  overflow: hidden;
}

#faq .accordion .each_faq:last-child {
  border-bottom: none;
}

#faq .accordion .toggle {
  padding: 32px;
  position: relative;
  cursor: pointer;
}

/* question */
#faq .accordion .question {
  width: calc((100% - 72px));
  gap: 16px;
}

#faq .accordion .question .subject {
  width: calc((100% - 56px));
  font-size: 19px;
}

#faq .accordion .question .badge {
  width: 40px;
  height: 40px;
  font-size: 17px;
  border-radius: 6px;
}

/* answer */
#faq .accordion .answer {
  display: none;
  position: relative;
  padding: 32px;
}

#faq .accordion .answer:before {
  position: absolute;
  top: 0;
  width: calc((100% - 64px));
  margin: 0 auto;
  display: block;
  content: '';
  border-top: solid 1px #eee;
}

#faq .accordion .answer>div {
  gap: 16px;
}

#faq .accordion .answer .context {
  gap: 24px;
  width: calc((100% - 64px));
}

#faq .accordion .answer .paragraph {
  font-size: 19px;

}

#faq .accordion .answer .badge {
  width: 40px;
  height: 40px;
  font-size: 14px;
  border-radius: 6px;
}

/* icon */
#faq .accordion li .accordion_icon,
#faq .accordion li .accordion_icon span {
  display: inline-block;
  transition: all .1s;
  box-sizing: border-box;
}

#faq .accordion li .accordion_icon {
  width: 72px;
  height: 72px;
  position: relative;
  background-color: #333;
  border-radius: 50%;
}

#faq .accordion li .accordion_icon span {
  position: absolute;
  width: 14px;
  height: 2px;
  background-color: #fff;
  border-radius: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  right: 0;
}

#faq .accordion li .accordion_icon span:nth-of-type(1) {
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
}

#faq .accordion li .accordion_icon span:nth-of-type(2) {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
}

#faq .accordion li .accordion_icon.active span:nth-of-type(1) {
  display: none;
}

#faq .accordion li .accordion_icon.active span:nth-of-type(2) {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}


@media screen and (max-width: 950px) {

  #faq .accordion .toggle {
    padding: 24px;
  }

  #faq .accordion .answer {
    padding: 24px;
  }

  #faq .accordion li .accordion_icon {
    width: 56px;
    height: 56px;
  }
}


@media screen and (max-width: 600px) {

  #faq {
    padding: 56px 0 0;
    gap: 40px;
  }

  /* common */
  .faq {
    padding: 8px;
    gap: 8px;
  }

  /* headline */
  #faq .wrap_headlines {
    gap: 16px;
  }

  #faq .sub_headline {
    font-size: 12px;
  }

  #faq .headline {
    font-size: 26px;
  }

  /* accordion */
  #faq .accordion .toggle {
    padding: 16px;
  }

  /* question */
  #faq .accordion .faqs {
    gap: 16px;
  }

  #faq .accordion .question {
    gap: 12px;
    width: calc((100% - 56px));
  }

  #faq .accordion .question .subject {
    font-size: 13px;
    width: calc((100% - 40px));
  }

  /* icon */
  #faq .accordion li .accordion_icon {
    width: 32px;
    height: 32px;
  }

  #faq .accordion li .accordion_icon span {
    width: 8px;
    height: 1px;
  }

  /* question */
  #faq .accordion .question .badge {
    width: 36px;
    height: 36px;
    font-size: 10px;
  }

  /* answer */
  #faq .accordion .answer {
    padding: 16px;
  }

  #faq .accordion .answer .badge {
    width: 32px;
    height: 32px;
    font-size: 11px;
  }

  #faq .accordion .answer .paragraph {
    font-size: 13px;
  }

  #faq .accordion .answer>div {
    gap: 10px;
  }
}


@media screen and (max-width: 600px) {

  #faq .headline {
    font-size: 23px;
  }
}



/*---------------------------------------------------------------*\
$contact
\*---------------------------------------------------------------*/

#contact {
  height: 380px;
  background-color: #fafafa;
  margin: 150px auto 0;
  width: 97%;
  padding: 0 3%;
  position: relative;
}

#contact:before {
  display: block;
  position: absolute;
  top: -200px;
  left: -400px;
  content: '';
  width: 1000px;
  height: 1000px;
  background-image: url('../img/background_blur.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}

#contact:after {
  display: block;
  position: absolute;
  bottom: -200px;
  right: -400px;
  content: '';
  width: 1000px;
  height: 1000px;
  background-image: url('../img/background_blur.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}

#contact .wrap_headlines {
  gap: 20px;
  position: relative;
  z-index: 2;
}

#contact .sub_headline {
  font-size: 24px;
  width: fit-content;
  margin: auto;
}

#contact .headline {
  font-size: 80px;
}


@media screen and (max-width: 600px) {

  #contact {
    margin: 100px auto 0;
  }

  #contact:before {
    width: 350px;
    height: 350px;
    top: -100px;
    left: -100px;
  }

  #contact:after {
    width: 280px;
    height: 280px;
    bottom: -100px;
    right: -100px;
  }

  #contact .sub_headline {
    font-size: 16px;
  }

  #contact .headline {
    font-size: 44px;
  }
}



/*---------------------------------------------------------------*\
$cards
\*---------------------------------------------------------------*/

/* cards */
.wrapper_supports_about_ew {
  overflow-x: scroll;
}

.supports_about_ew {
  display: flex;
  align-items: flex-start;
  width: 1400px;
  margin: 64px auto 32px;
  gap: 32px;
}

.each_support_about_ew {
  width: calc((100% / 3));
  border: solid 1px #f2f2f2;
}

.inner_support_about_ew {
  padding: 24px;
}

.info_about_ew {
  position: relative;
}

.date {
  font-size: 12px;
  margin: 0 0 4px 0;
}

.title_about_ew {
  font-size: 20px;
}

.description_about_ew {
  margin-top: 16px;
  font-size: 15px;
}


@media screen and (max-width: 1400px) {

  .supports_about_ew {
    padding: 0 5%;
  }
}


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


@media screen and (max-width: 600px) {

  .supports_about_ew {
    width: 840px;
    gap: 16px;
    margin: 40px auto 32px;
  }

  .info_about_ew {
    height: auto;
  }

  .description_about_ew {
    font-size: 12px;
  }

  .inner_support_about_ew {
    padding: 12px;
  }

  .title_about_ew {
    font-size: 14px;
  }

  .date {
    font-size: 10px;
  }
}