@charset "UTF-8";
html {
  font-size: 1.0582010582vw;
  color: #000;
}

body {
  font-family: "Noto Sans JP", serif;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

a {
  transition: filter 0.4s ease;
}
a:hover {
  opacity: 1;
  filter: grayscale(40%);
}

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

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.header {
  display: flex;
  position: fixed;
  width: 100%;
  justify-content: space-between;
  background-color: transparent;
  z-index: 100;
}

@media screen and (max-width: 768px) {
  .header {
    position: relative;
    background-color: #fff;
    justify-content: center;
  }
}
/* 全部一旦非表示 */
/* 共通 */
.logo img {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.4s ease;
  width: 17.328042328vw;
  margin: 1.5873015873vw 0 0 2.1164021164vw;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .logo img {
    margin: unset;
  }
}

.logo img.is-visible {
  opacity: 1;
}

/*  PC専用設定 */
@media screen and (min-width: 769px) {
  .logo--default,
.logo--white {
    display: block;
  }
  .logo--sp {
    display: none;
  }
}
/*  SP専用設定 */
@media screen and (max-width: 768px) {
  .logo--default,
.logo--white {
    display: none !important;
  }
  .logo--sp {
    display: block !important;
    opacity: 1 !important;
    position: static !important;
    width: 64vw !important;
    padding: 2.1333333333vw !important;
  }
}
.header__items {
  position: absolute;
  display: flex;
  right: 0;
  justify-content: flex-end;
}

@media screen and (max-width: 768px) {
  .header__items {
    position: fixed;
    display: flex;
    justify-content: center;
    bottom: env(safe-area-inset-bottom, 0);
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    padding: 2.1384615385vw 0;
    z-index: 1000;
  }
}
.header__item {
  font-size: 1.0582010582vw;
  font-weight: 700;
  line-height: 175%;
  width: 16.9312169312vw;
  height: 3.7037037037vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../../assets/img/bg_header-download.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: -2.1825396825vw;
  transition: filter 0.3s ease;
}

@media screen and (max-width: 768px) {
  .header__item {
    font-size: 3.5897435897vw;
    width: 48.241025641vw;
    height: 11.4512820513vw;
    background-image: url(../../assets/img/sp_bg_header-download.png);
    margin-right: -6.6666666667vw;
  }
}
.header__item:nth-child(2) {
  width: 15.873015873vw;
  justify-content: flex-end;
  padding-right: 1.5873015873vw;
  background-image: url(../../assets/img/bg_header-contact.png);
  margin-right: unset;
}

@media screen and (max-width: 768px) {
  .header__item:nth-child(2) {
    width: 52.3435897436vw;
    height: 11.4512820513vw;
    background-image: url(../../assets/img/sp_bg_header-contact.png);
    padding-right: 6.4102564103vw;
  }
}
.header__item:hover {
  filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.6));
}

.header__link {
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: 0.3s all;
}

.header__item:nth-child(2) .header__link {
  color: #fff;
  margin-left: 2.6455026455vw;
}

@media screen and (max-width: 768px) {
  .header__item:nth-child(2) .header__link {
    margin-left: 5.8974358974vw;
  }
}
.mv-bg {
  background-image: url(../../assets/img/bg_mv.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .mv-bg {
    background-image: url(../../assets/img/sp_bg_mv.png);
  }
}

.mv-bg02 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.mv {
  padding-top: 5.9523809524vw;
}
@media screen and (max-width: 768px) {
  .mv {
    padding-top: 8.5333333333vw;
  }
}

.mv__inner {
  position: relative;
  z-index: 20;
}

.mv-title__wrap {
  text-align: center;
}

.mv-heading {
  font-size: 1.5873015873vw;
  font-weight: 700;
  color: #446073;
  width: 25.9259259259vw;
  height: 3.1746031746vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../../assets/img/bg_mv-heading.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .mv-heading {
    font-size: 4.2666666667vw;
    width: 70.9333333333vw;
    height: 8.5333333333vw;
  }
}

.mv__title {
  font-size: 7.2751322751vw;
  font-weight: 700;
  line-height: 150%;
  color: #FFDA2A;
  margin-top: 0.5291005291vw;
}
@media screen and (max-width: 768px) {
  .mv__title {
    font-size: 12.8vw;
    margin-top: 2.1333333333vw;
  }
}

.mv-br {
  display: block;
  font-size: 3.4391534392vw;
  font-weight: 700;
  color: #FFFFFF;
  margin-top: -2.6455026455vw;
}
@media screen and (max-width: 768px) {
  .mv-br {
    font-size: 6.4vw;
    margin-top: -2.6666666667vw;
  }
}

.mv-img {
  margin-top: -11.2433862434vw;
}
@media screen and (max-width: 768px) {
  .mv-img {
    margin-top: unset;
  }
}

.trouble {
  position: relative;
  z-index: 20;
}

.worries__wrapper {
  background-image: url(../../assets/img/bg_trouble.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .worries__wrapper {
    display: block;
    background-image: unset;
  }
}

.worries__wrapper::before {
  position: absolute;
  content: "";
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%);
  width: 100vw;
  height: 1px;
  top: 0;
}

.worries__wrapper::after {
  position: absolute;
  content: "";
  background: linear-gradient(-90deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%);
  width: 100%;
  height: 1px;
  top: 31.4814814815vw;
}
@media screen and (max-width: 768px) {
  .worries__wrapper::after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%);
    top: 207.4666666667vw;
  }
}

.onsite__wrap {
  padding: 3.1746031746vw 0;
}
@media screen and (max-width: 768px) {
  .onsite__wrap {
    position: relative;
    padding: 6.4vw 0 14.9333333333vw;
    background-image: url(../../assets/img/sp_bg_onsite.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 6.4vw 0;
  }
}

@media screen and (max-width: 768px) {
  .onsite__wrap::before {
    position: absolute;
    content: "";
    background: linear-gradient(-90deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%);
    width: 100%;
    height: 1px;
    top: 93.8666666667vw;
  }
}

.trouble-item__title {
  font-size: 2.5132275132vw;
  font-weight: 700;
  line-height: 175%;
  color: #FFDA2A;
  text-shadow: 0px 4px 20px rgba(0, 0, 0, 0.4);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .trouble-item__title {
    font-size: 6.4vw;
  }
}

.trouble-item_br {
  display: block;
  font-size: 1.5873015873vw;
  font-weight: 700;
  color: #FFFFFF;
  margin-top: -1.3227513228vw;
}
@media screen and (max-width: 768px) {
  .trouble-item_br {
    display: inline-block;
    font-size: 4.2666666667vw;
  }
}

.trouble__items {
  margin-top: 0.6613756614vw;
}
@media screen and (max-width: 768px) {
  .trouble__items {
    margin-top: 4.2666666667vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
}

.trouble__item {
  font-size: 1.1904761905vw;
  font-weight: 700;
  line-height: 2;
  color: #446073;
  background-image: url(../../assets/img/bg_onside-item01.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 29.2989417989vw;
  height: 3.9682539683vw;
  display: flex;
  justify-content: center;
  align-items: center;
  filter: drop-shadow(0px 4px 20px rgba(0, 0, 0, 0.4));
  text-align: center;
}
@media screen and (max-width: 768px) {
  .trouble__item {
    font-size: 4.2666666667vw;
    line-height: 1.75;
    width: 87.2vw;
    height: 15.2vw;
    background-image: url(../../assets/img/sp_bg_trouble-item01.png);
    margin: 0 auto;
    align-items: unset;
    padding-top: 2.1333333333vw;
    filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.4));
  }
}

.trouble__item:nth-child(2) {
  background-image: url(../../assets/img/bg_onside-item02.png);
  height: 5.8201058201vw;
}
@media screen and (max-width: 768px) {
  .trouble__item:nth-child(2) {
    background-image: url(../../assets/img/sp_bg_trouble-item02-03.png);
    width: 97.6vw;
    height: 22.6666666667vw;
  }
}

.trouble__item:nth-child(3) {
  background-image: url(../../assets/img/bg_onside-item03.png);
  height: 3.7037037037vw;
}
@media screen and (max-width: 768px) {
  .trouble__item:nth-child(3) {
    background-image: url(../../assets/img/sp_bg_trouble-item02-03.png);
    width: 97.6vw;
    height: 22.6666666667vw;
  }
}

.trouble__item + .trouble__item {
  margin-top: 1.7857142857vw;
}
@media screen and (max-width: 768px) {
  .trouble__item + .trouble__item {
    margin-top: 2.1333333333vw;
  }
}

.trouble__title {
  font-size: 1.8518518519vw;
  font-weight: 700;
  line-height: 1.1428571429;
  color: #FFFFFF;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  background: linear-gradient(180deg, #002B49 0%, #004A7E 100%);
  width: 4.6296296296vw;
  height: 31.4153439153vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 6.0846560847vw;
}
@media screen and (max-width: 768px) {
  .trouble__title {
    font-size: 5.3333333333vw;
    line-height: 2.4;
    text-align: center;
    writing-mode: unset;
    width: 100%;
    height: 12.8vw;
    margin: 0;
    background: linear-gradient(90deg, #002B49 0%, #004A7E 100%);
    letter-spacing: unset;
  }
}

.inspection__wrap {
  padding: 3.1746031746vw 0;
}
@media screen and (max-width: 768px) {
  .inspection__wrap {
    background-image: url(../../assets/img/sp_bg_inspection.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 6.4vw 0 13.3333333333vw;
  }
}

.inspection__wrap .trouble__item {
  background-image: url(../../assets/img/bg_inspection-item01.png);
}
@media screen and (max-width: 768px) {
  .inspection__wrap .trouble__item {
    background-image: url(../../assets/img/sp_bg_trouble-item01.png);
  }
}

.inspection__wrap .trouble__item:nth-child(2) {
  background-image: url(../../assets/img/bg_inspection-item02.png);
  height: 5.8201058201vw;
}
@media screen and (max-width: 768px) {
  .inspection__wrap .trouble__item:nth-child(2) {
    background-image: url(../../assets/img/sp_bg_trouble-item02-03.png);
    width: 97.6vw;
    height: 22.6666666667vw;
  }
}

.inspection__wrap .trouble__item:nth-child(3) {
  background-image: url(../../assets/img/bg_inspection-item03.png);
  height: 3.7037037037vw;
}
@media screen and (max-width: 768px) {
  .inspection__wrap .trouble__item:nth-child(3) {
    background-image: url(../../assets/img/sp_bg_trouble-item02-03.png);
    width: 97.6vw;
    height: 22.6666666667vw;
  }
}

.resolution__wrap {
  position: relative;
  margin-top: 1.9841269841vw;
  padding-bottom: 16.4682539683vw;
}
@media screen and (max-width: 768px) {
  .resolution__wrap {
    margin-top: 4.2666666667vw;
    padding-bottom: 45.3333333333vw;
  }
}

.resolution-text__en {
  font-size: 8.2010582011vw;
  font-weight: 100;
  font-family: "Roboto", sans-serif;
  color: rgba(255, 255, 255, 0.1);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .resolution-text__en {
    font-size: 17.0666666667vw;
    line-height: 1.125;
  }
}

.resolution-heading__wrap {
  margin: 0 auto;
  position: absolute;
  top: 5.9523809524vw;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .resolution-heading__wrap {
    position: relative;
    top: unset;
    margin-top: 3.7333333333vw;
  }
}

.resolution-heading {
  font-size: 1.5873015873vw;
  font-weight: 700;
  line-height: 175%;
  color: #FFF;
  padding-bottom: 5px;
  display: inline;
  background: linear-gradient(transparent 95%, #FFFFFF 0%);
}
@media screen and (max-width: 768px) {
  .resolution-heading {
    font-size: 4.8vw;
    padding-bottom: 0.5333333333vw;
  }
}

.resolution__text {
  margin-top: 0.6613756614vw;
  font-size: 2.380952381vw;
  font-weight: 700;
  line-height: 175%;
  color: #FFDA2A;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .resolution__text {
    margin-top: 4.2666666667vw;
    font-size: 5.3333333333vw;
  }
}

.device__wrap {
  margin-top: -13.2275132275vw;
  margin-bottom: 7.9365079365vw;
}
@media screen and (max-width: 768px) {
  .device__wrap {
    margin-top: -36.8vw;
    margin-bottom: 32vw;
  }
}

.device__img {
  width: 49.4047619048vw;
  filter: drop-shadow(0px 0px 40px rgba(0, 0, 0, 0.25));
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .device__img {
    width: 82.9333333333vw;
    filter: drop-shadow(0px 0px 18.023px rgba(0, 0, 0, 0.25));
  }
}

.device-text__inner {
  margin-top: 4.2989417989vw;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .device-text__inner {
    margin-top: 8vw;
  }
}

.device__title {
  position: relative;
  font-size: 3.4391534392vw;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.05em;
  color: #000;
  text-align: center;
  margin-top: 2.1164021164vw;
}
@media screen and (max-width: 768px) {
  .device__title {
    font-size: 7.4666666667vw;
    line-height: 1.2035714286;
    margin-top: 6.4vw;
  }
}

.device__title::before {
  position: absolute;
  content: "";
  width: 4.7619047619vw;
  height: 0.0661375661vw;
  background-color: #FFDA2A;
  top: 9.2592592593vw;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .device__title::before {
    width: 17.0666666667vw;
    height: 0.2666666667vw;
    top: 15.4666666667vw;
  }
}

.device__items {
  margin-top: 1.7195767196vw;
}
@media screen and (max-width: 768px) {
  .device__items {
    margin-top: 4.8vw;
  }
}

.device__text {
  position: relative;
  font-size: 1.1904761905vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 3.4;
  padding-left: 4.1005291005vw;
}
@media screen and (max-width: 768px) {
  .device__text {
    font-size: 3.6vw;
    padding-left: 11.4666666667vw;
  }
}

.device__text::before {
  position: absolute;
  content: "";
  width: 3.5052910053vw;
  height: 3.835978836vw;
  background-image: url(../../assets/img/device-icon.webp);
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 768px) {
  .device__text::before {
    width: 10.1333333333vw;
    height: 11.2vw;
  }
}

.device__text .annotation {
  position: absolute;
  left: 4.1005291005vw;
  bottom: 0vw;
  font-size: 0.7936507937vw;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.67;
}
@media screen and (max-width: 768px) {
  .device__text .annotation {
    font-size: 2.6666666667vw;
    left: 11.4666666667vw;
    bottom: -0.8vw;
  }
}

.technology__inner {
  position: relative;
  width: 100%;
}

#technology .section-title__wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
}

.scroll {
  width: 100%;
  display: flex;
  overflow: hidden;
  justify-content: flex-start;
}

#technology .section-title.ja {
  color: #002B49;
}

.slides-wrapper {
  display: flex;
  gap: 3.3068783069vw;
  margin: 0 auto;
  width: auto;
  overflow: visible;
  max-width: none;
  transform: translateX(12.3015873016vw);
  margin-top: 8.2671957672vw;
}
@media screen and (max-width: 768px) {
  .slides-wrapper {
    gap: 8vw;
    margin-top: 24vw;
  }
}

.slide {
  flex-shrink: 0;
  width: 50.2645502646vw;
  aspect-ratio: 16/9; /* スライドを常に横16:縦9の比率で表示 */
  max-height: 100vh;
}
@media screen and (max-width: 768px) {
  .slide {
    width: 82.6666666667vw;
  }
}

.technology-img {
  filter: drop-shadow(15px 15px 30px rgba(0, 0, 0, 0.15));
}

.technology-contents__title {
  font-size: 1.3227513228vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.3;
  text-align: center;
  margin-top: 0.7275132275vw;
}
@media screen and (max-width: 768px) {
  .technology-contents__title {
    font-size: 4.2666666667vw;
    line-height: 1.17;
    margin-top: 5.3333333333vw;
  }
}

.slide03 .technology-contents__title {
  font-size: 1.0582010582vw;
  line-height: 1.17;
}
@media screen and (max-width: 768px) {
  .slide03 .technology-contents__title {
    font-size: 4.2666666667vw;
    margin-top: 4vw;
  }
}

@media screen and (max-width: 768px) {
  .slide03 .technology-contents__title .size {
    font-size: 3.6vw;
  }
}

.technology-contents__text {
  font-size: 1.0582010582vw;
  font-weight: 400;
  line-height: 1.75;
  width: 44.9735449735vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .technology-contents__text {
    font-size: 3.6vw;
    width: 82.6666666667vw;
    margin-top: 3.7333333333vw;
  }
}

.slide03 .technology-contents__text {
  margin-top: 0.5291005291vw;
}
@media screen and (max-width: 768px) {
  .slide03 .technology-contents__text {
    margin-top: 1.0666666667vw;
  }
}

.wafer__inner {
  position: relative;
  width: 100%;
  top: 0;
  padding: 15.4761904762vw 0 16.4021164021vw;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .wafer__inner {
    padding: 22.9333333333vw 0 26.6666666667vw;
  }
}

.wafer__inner::before,
.wafer__inner::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background-color: #446073;
  z-index: -1;
}

.wafer__inner::before {
  top: 0;
  height: 50%;
  transform: skewY(-4deg) translateY(5.9523809524vw);
}

.wafer__inner::after {
  bottom: 0;
  height: 50%;
  transform: skewY(3deg) translateY(-5.9523809524vw);
}

#wafer .section-title.ja {
  font-size: 1.5873015873vw;
  line-height: 1.92;
}
@media screen and (max-width: 768px) {
  #wafer .section-title.ja {
    font-size: 6.4vw;
  }
}

#wafer .section-title.en {
  font-size: 0.8597883598vw;
  line-height: 1.54;
}
@media screen and (max-width: 768px) {
  #wafer .section-title.en {
    font-size: 3.4666666667vw;
  }
}

#wafer .description {
  margin-top: 1.3227513228vw;
}
@media screen and (max-width: 768px) {
  #wafer .description {
    padding: 0 5.3333333333vw 0 4.5333333333vw;
    margin-top: 3.4666666667vw;
  }
}

.wafer__items {
  max-width: 75.5952380952vw;
  padding-top: 3.5714285714vw;
  display: flex;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1.917989418vw;
       column-gap: 1.917989418vw;
  row-gap: 2.5132275132vw;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .wafer__items {
    max-width: unset;
    padding-top: 10.1333333333vw;
    row-gap: 4.8vw;
    justify-content: unset;
  }
}

.wafer__item {
  position: relative;
  width: 17.4603174603vw;
}
@media screen and (max-width: 768px) {
  .wafer__item {
    width: unset;
    display: flex;
  }
}

.wafer-product {
  position: absolute;
  font-size: 1.3227513228vw;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  z-index: 10;
  padding-left: 1.5211640212vw;
}
@media screen and (max-width: 768px) {
  .wafer-product {
    font-size: 4.8vw;
    line-height: 1.16;
    top: 6.1333333333vw;
    left: 45.3333333333vw;
  }
}

.wafer__item:nth-child(7) .wafer-product {
  font-size: 1.1904761905vw;
  line-height: 1.17;
}
@media screen and (max-width: 768px) {
  .wafer__item:nth-child(7) .wafer-product {
    font-size: 4.8vw;
    line-height: 1.16;
    top: 15.4666666667vw;
    white-space: nowrap;
  }
}

.wafer-product::before {
  position: absolute;
  content: "";
  background-image: url(../../assets/img/bg_wafer-product.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 12.3677248677vw;
  height: 2.5132275132vw;
  top: -0.3968253968vw;
  left: 0vw;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .wafer-product::before {
    background-image: unset;
  }
}

.wafer__item:nth-child(7) .wafer-product::before {
  background-image: url(../../assets/img/bg_wafer-product02.webp);
  width: 15.6746031746vw;
}

.wafer-product .size {
  position: relative;
  font-size: 1.0582010582vw;
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .wafer-product .size {
    font-size: 3.2vw;
  }
}

.wafer__item:nth-child(7) .wafer-product .size {
  font-size: 0.7936507937vw;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .wafer__item:nth-child(7) .wafer-product .size {
    font-size: 3.2vw;
  }
}

@media screen and (max-width: 768px) {
  .wafer__img {
    width: 44.5333333333vw;
  }
}

@media screen and (max-width: 768px) {
  .wafer-text__wrap {
    width: 48.2666666667vw;
    margin-top: 14.6666666667vw;
    margin-left: 1.8666666667vw;
  }
}

.wafer-usage {
  font-size: 0.9259259259vw;
  font-weight: 700;
  line-height: 1.7;
  color: #fff;
  margin-top: 0.7275132275vw;
}
@media screen and (max-width: 768px) {
  .wafer-usage {
    font-size: 3.2vw;
    line-height: 2;
  }
}

.wafer__text {
  font-size: 1.0582010582vw;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .wafer__text {
    font-size: 3.6vw;
    line-height: 1.7;
  }
}

@media screen and (max-width: 768px) {
  .wafer__item:nth-child(7) .wafer__text {
    margin-top: 18.6666666667vw;
  }
}

.wafer__text .annotation {
  font-size: 0.7936507937vw;
  font-weight: 400;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .wafer__text .annotation {
    font-size: 2.6666666667vw;
    line-height: 2.4;
  }
}

@media screen and (max-width: 768px) {
  .wafer__item:nth-child(7) .wafer__text .annotation {
    line-height: 4.6;
  }
}

.defect {
  position: relative;
  width: 100%;
  margin-top: -12.037037037vw;
  overflow: hidden;
}

.defect::before,
.defect::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background-color: #4f6a7c;
  z-index: -1;
}

.defect::before {
  top: 0;
  height: 50%;
  transform: skewY(3deg) translateY(5.9523809524vw);
}

.defect::after {
  bottom: 0;
  height: 50%;
  transform: skewY(-3deg) translateY(-5.9523809524vw);
}
@media screen and (max-width: 768px) {
  .defect::after {
    transform: skewY(-5deg) translateY(-24vw);
  }
}

.defect__inner {
  max-width: 75.3968253968vw;
  margin: 0 auto;
  padding: 15.4761904762vw 0 27.5132275132vw;
}
@media screen and (max-width: 768px) {
  .defect__inner {
    max-width: unset;
    padding: 25.3333333333vw 5.3333333333vw 45.3333333333vw;
  }
}

#defect .section-title.en {
  line-height: 1.88;
}

#defect .description {
  margin-top: 1.3227513228vw;
}
@media screen and (max-width: 768px) {
  #defect .description {
    margin-top: 2.6666666667vw;
  }
}

.defect-contents__flex {
  margin-top: 4.2328042328vw;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .defect-contents__flex {
    margin-top: 10.6666666667vw;
    flex-direction: column;
  }
}

.defect__title {
  position: relative;
  font-size: 1.1904761905vw;
  font-weight: 700;
  color: #fff;
  line-height: 1.22;
  letter-spacing: 0.05em;
  z-index: 1;
  margin-bottom: 2.6455026455vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .defect__title {
    font-size: 4.2666666667vw;
    line-height: 1.18;
    margin-bottom: 6.1333333333vw;
  }
}

.defect__title::before {
  position: absolute;
  content: "";
  background-image: url(../../assets/img/bg_defect-title.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 20.5026455026vw;
  height: 2.7777777778vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .defect__title::before {
    width: 60vw;
    height: 8.5333333333vw;
  }
}

#defect table {
  font-size: 1.0582010582vw;
  color: #fff;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #defect table {
    font-size: 3.6vw;
    line-height: 2.14;
    white-space: nowrap;
  }
}

#defect th {
  font-weight: 500;
  line-height: 2.63;
  color: #fff;
  letter-spacing: 0.05em;
  background-color: #002B49;
  width: 18.5185185185vw;
}
@media screen and (max-width: 768px) {
  #defect th {
    width: 89.3333333333vw;
  }
}

#defect td {
  font-weight: 400;
  line-height: 2.31;
  background-color: #69808f;
}

.wafer-example01__wrap {
  margin-left: 5.6216931217vw;
}
@media screen and (max-width: 768px) {
  .wafer-example01__wrap {
    margin-left: 0;
    margin-top: 13.3333333333vw;
  }
}

.wafer-example01__wrap img {
  width: 29.9603174603vw;
}
@media screen and (max-width: 768px) {
  .wafer-example01__wrap img {
    width: 90.1333333333vw;
  }
}

.wafer-example02__wrap {
  margin-top: 6.0185185185vw;
}
@media screen and (max-width: 768px) {
  .wafer-example02__wrap {
    margin-top: 15.2vw;
  }
}

.wafer-example02__wrap .defect__title {
  margin-bottom: 2.1825396825vw;
}
@media screen and (max-width: 768px) {
  .wafer-example02__wrap .defect__title {
    margin-bottom: 6.1333333333vw;
  }
}

.process {
  position: relative;
  width: 100%;
  margin-top: -23.8095238095vw;
  padding: 14.4841269841vw 0 38.5582010582vw;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .process {
    margin-top: -48vw;
    padding: 44.8vw 0 50.6666666667vw;
  }
}

.process::before,
.process::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background-color: #446073;
  z-index: -1;
}

.process::before {
  top: 0;
  height: 50%;
  transform: skewY(-3deg) translateY(5.9523809524vw);
}
@media screen and (max-width: 768px) {
  .process::before {
    transform: skewY(-5deg) translateY(24vw);
  }
}

.process::after {
  bottom: 0;
  height: 50%;
  transform: skewY(3deg) translateY(-5.9523809524vw);
}

.process__inner {
  max-width: 65.873015873vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .process__inner {
    max-width: unset;
  }
}

.process__img {
  margin-top: 2.8439153439vw;
}
@media screen and (max-width: 768px) {
  .process__img {
    width: 90.9333333333vw;
    margin: 0 auto;
    padding-top: 9.0666666667vw;
  }
}

.lineup {
  position: relative;
  width: 100%;
  margin-top: -35.7142857143vw;
  padding: 14.4841269841vw 0 22.619047619vw;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .lineup {
    padding: 25.6vw 0 100.2666666667vw;
  }
}

.lineup::before,
.lineup::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background-color: #4f6a7c;
  z-index: -1;
}

.lineup::before {
  top: 0;
  height: 50%;
  transform: skewY(3deg) translateY(5.9523809524vw);
}

.lineup::after {
  bottom: 0;
  height: 50%;
  transform: skewY(-3deg) translateY(-5.9523809524vw);
}
@media screen and (max-width: 768px) {
  .lineup::after {
    transform: skewY(-5deg) translateY(-24vw);
  }
}

@media screen and (max-width: 768px) {
  .lineup__inner {
    padding: 0 5.3333333333vw;
  }
}

#lineup .section-title.en {
  margin-top: -0.3306878307vw;
}

#lineup .description {
  margin-top: 0.3306878307vw;
}
@media screen and (max-width: 768px) {
  #lineup .description {
    margin-top: 3.2vw;
  }
}

.lineup__items {
  max-width: 75.5952380952vw;
  padding-top: 2.9100529101vw;
  display: flex;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 1.7857142857vw;
       column-gap: 1.7857142857vw;
  row-gap: 1.8518518519vw;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .lineup__items {
    flex-direction: column;
    max-width: unset;
    grid-template-columns: repeat(1, 1fr);
    padding-top: 9.8666666667vw;
    row-gap: 5.8666666667vw;
  }
}

.lineup__item {
  position: relative;
  width: 23.8095238095vw;
}
@media screen and (max-width: 768px) {
  .lineup__item {
    width: 100%;
  }
}

.lineup-product {
  position: absolute;
  font-size: 1.3227513228vw;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  z-index: 10;
  padding-top: 0.0661375661vw;
  padding-left: 1.5211640212vw;
}
@media screen and (max-width: 768px) {
  .lineup-product {
    font-size: 4.952vw;
    line-height: 1.4;
    padding-top: 0.2666666667vw;
    padding-left: 5.6vw;
  }
}

.lineup-product::before {
  position: absolute;
  content: "";
  background-image: url(../../assets/img/bg_lineup-title.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 18.0555555556vw;
  height: 2.5132275132vw;
  top: 0vw;
  left: 0vw;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .lineup-product::before {
    width: 67.4666666667vw;
    height: 9.3333333333vw;
  }
}

.lineup-product .size {
  position: relative;
  font-size: 1.0582010582vw;
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .lineup-product .size {
    font-size: 3.96vw;
    line-height: 1.7;
  }
}

.lineup-btn {
  position: relative;
  font-size: 1.0582010582vw;
  font-weight: bold;
  color: white;
  display: flex;
  align-items: center;
  width: 17.7248677249vw;
  height: 2.9100529101vw;
  top: -1.455026455vw;
  left: 50%;
  transform: translateX(-50%);
  padding-left: 4.2989417989vw;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .lineup-btn {
    font-size: 3.96vw;
    line-height: 1.75;
    width: 66.1333333333vw;
    height: 10.6666666667vw;
    top: -5.3333333333vw;
    padding-left: 16.5333333333vw;
  }
}

.lineup-btn::before {
  position: absolute;
  content: "";
  background-image: url(../../assets/img/bg_lineup-btn.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
  left: 51%;
  transform: translateX(-50%);
  z-index: -1;
}

.lineup-btn:hover {
  filter: invert(100%);
}

.sample {
  position: relative;
  padding: 1.9841269841vw 0;
  background-color: #002B49;
  margin: 0 auto;
  max-width: 75.3968253968vw;
  margin-top: -16.2037037037vw;
}
@media screen and (max-width: 768px) {
  .sample {
    max-width: 89.3333333333vw;
    padding: 6.4vw 6.4vw 10.6666666667vw;
    margin-top: -84.8vw;
  }
}

.sample__inner {
  max-width: 70.4365079365vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sample__inner {
    max-width: 100%;
  }
}

.sample-contents__wrap {
  display: flex;
}
@media screen and (max-width: 768px) {
  .sample-contents__wrap {
    flex-direction: column;
  }
}

.sample-head__wrap {
  position: relative;
  display: inline-block;
}

.sample-comment__wrap {
  position: relative;
}

.sample-comment {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.1904761905vw;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  color: #FFDA2A;
}
@media screen and (max-width: 768px) {
  .sample-comment {
    font-size: 4.8vw;
    line-height: 1.5;
    left: 50%;
    transform: translateX(-29%);
  }
}

.sample-comment__wrap img {
  width: 11.7724867725vw;
  margin: 0 auto;
  margin-left: 1.0582010582vw;
}
@media screen and (max-width: 768px) {
  .sample-comment__wrap img {
    position: relative;
    width: 46.9333333333vw;
    left: 50%;
    transform: translateX(-31%);
    top: 1.3333333333vw;
    margin-left: unset;
  }
}

.sample-title__wrap {
  margin-top: 0.6613756614vw;
}
@media screen and (max-width: 768px) {
  .sample-title__wrap {
    position: relative;
    left: 50%;
    transform: translateX(-35%);
    top: 2.6666666667vw;
  }
}

.sample-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -20%);
  font-size: 1.455026455vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.23;
  white-space: nowrap;
  color: #002B49;
}
@media screen and (max-width: 768px) {
  .sample-title {
    font-size: 5.8666666667vw;
    line-height: 1.2;
    top: 50%;
    left: 50%;
    transform: translate(-48%, -64%);
  }
}

.sample-title__wrap img {
  width: 14.2857142857vw;
  margin-top: 0.3306878307vw;
}
@media screen and (max-width: 768px) {
  .sample-title__wrap img {
    width: 57.6vw;
    margin-top: 1.0666666667vw;
  }
}

.sample__text {
  font-size: 1.0582010582vw;
  font-weight: 400;
  line-height: 1.75;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .sample__text {
    font-size: 3.6vw;
    line-height: 1.7;
    margin-top: 4vw;
  }
}

@media screen and (max-width: 768px) {
  .sample-img__wrap.md-show {
    display: flex;
    margin-left: -0.8vw;
    margin-top: 4vw;
  }
}

.sample-btn {
  position: relative;
  font-size: 1.3227513228vw;
  font-weight: 700;
  line-height: 1.4;
  display: flex;
  align-items: center;
  color: #fff;
  z-index: 1;
  margin-top: 1.9841269841vw;
  padding-left: 2.0502645503vw;
}
@media screen and (max-width: 768px) {
  .sample-btn {
    font-size: 4.2666666667vw;
    line-height: 1.75;
    margin-top: 9.6vw;
    padding-left: 11.2vw;
  }
}

.sample-btn::before {
  position: absolute;
  content: "";
  background-image: url(../../assets/img/bg_sample-btn.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 21.5608465608vw;
  height: 4.3650793651vw;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .sample-btn::before {
    width: 78.6666666667vw;
    height: 17.6vw;
    left: -1.3333333333vw;
    top: -4vw;
  }
}

.sample-img01,
.sample-img02 {
  width: 19.3783068783vw;
}
@media screen and (max-width: 768px) {
  .sample-img01,
.sample-img02 {
    width: 40.2666666667vw;
  }
}

@media screen and (max-width: 768px) {
  .sample-img02 {
    margin-left: -2.1333333333vw;
  }
}

.download {
  position: relative;
  margin-top: 9.3253968254vw;
}
@media screen and (max-width: 768px) {
  .download {
    margin-top: 21.3333333333vw;
  }
}

.download__inner {
  max-width: 75.7275132275vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .download__inner {
    max-width: unset;
    padding: 0 5.3333333333vw 5.4894179894vw;
  }
}

.download-title {
  font-size: 1.5873015873vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.17;
  color: #000;
  background-image: url(../../assets/img/bg_download-title.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 29.2989417989vw;
  height: 4.0343915344vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .download-title {
    font-size: 4.8vw;
    width: 89.3333333333vw;
    height: 12.2666666667vw;
  }
}

.download__items {
  display: flex;
  grid-template-columns: repeat(2, 1fr);
  flex-wrap: wrap;
  -moz-column-gap: 4.2989417989vw;
       column-gap: 4.2989417989vw;
  row-gap: 4.5634920635vw;
  margin-top: 3.2407407407vw;
}
@media screen and (max-width: 768px) {
  .download__items {
    flex-direction: column;
    row-gap: 11.4666666667vw;
    margin-top: 10.1333333333vw;
  }
}

.download__item {
  width: 35.3835978836vw;
}
@media screen and (max-width: 768px) {
  .download__item {
    width: 100%;
  }
}

.download-head__wrap {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .download-head__wrap {
    align-items: unset;
  }
}

.head-number {
  font-size: 1.9841269841vw;
  font-weight: 600;
  font-style: italic;
  line-height: 1.47;
  font-family: "Inter", serif;
  color: #002B49;
  width: 3.7037037037vw;
  height: 3.2407407407vw;
  background-image: url(../../assets/img/bg_download-number.webp);
  background-repeat: no-repeat;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .head-number {
    font-size: 8vw;
    width: 14.9333333333vw;
    height: 12.8vw;
  }
}

.download-head__inner {
  margin-left: 0.8597883598vw;
}
@media screen and (max-width: 768px) {
  .download-head__inner {
    margin-left: 2.9333333333vw;
  }
}

.download-head__title {
  font-size: 1.455026455vw;
  font-weight: 700;
  line-height: 1.18;
  color: #002B49;
}
@media screen and (max-width: 768px) {
  .download-head__title {
    font-size: 5.3333333333vw;
    line-height: 1.3;
  }
}

.materials-name {
  font-size: 1.0582010582vw;
  font-weight: 500;
  line-height: 1.63;
}
@media screen and (max-width: 768px) {
  .materials-name {
    font-size: 3.6vw;
    line-height: 1.9;
  }
}

.download-contents__wrap {
  position: relative;
  display: flex;
  margin-top: 1.3227513228vw;
}
@media screen and (max-width: 768px) {
  .download-contents__wrap {
    margin-top: 3.7333333333vw;
    align-items: center;
  }
}

.download-text__wrap {
  margin-left: 1.455026455vw;
}
@media screen and (max-width: 768px) {
  .download-text__wrap {
    margin-left: 3.7333333333vw;
  }
}

.download-img {
  width: 16.0714285714vw;
  box-shadow: 6px 6px 15px 0px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .download-img {
    width: 38.9333333333vw;
  }
}

.detail-title {
  font-size: 1.0582010582vw;
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .detail-title {
    font-size: 3.6vw;
  }
}

.detail__wrap li {
  font-size: 1.0582010582vw;
  font-weight: 400;
  line-height: 1.62;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .detail__wrap li {
    font-size: 3.6vw;
    white-space: wrap;
    text-indent: -1em;
    padding-left: 1em;
  }
}

.recommended__wrap {
  background-color: #fef9df;
  padding: 0.9259259259vw 1.5211640212vw;
  position: absolute;
  bottom: 0;
  max-width: 17.4603174603vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .recommended__wrap {
    position: unset;
    max-width: unset;
    padding: 4.5333333333vw 7.4666666667vw 5.8666666667vw;
    margin-top: 7.2vw;
  }
}

.recommended-title {
  font-size: 1.0582010582vw;
  font-weight: 700;
  line-height: 1.5;
  background-image: url(../../assets/img/bg_recommended-title.webp);
  background-repeat: no-repeat;
  background-size: cover;
  width: 10.8465608466vw;
  height: 1.1243386243vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .recommended-title {
    font-size: 3.6vw;
    line-height: 2;
    width: 38.4vw;
    height: 4.5333333333vw;
    background-size: contain;
  }
}

.recommended-text {
  margin-top: 0.5291005291vw;
  font-size: 1.0582010582vw;
  font-weight: 400;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .recommended-text {
    font-size: 3.6vw;
    line-height: 1.77;
    margin-top: 2.1333333333vw;
  }
}

.download-btn {
  position: relative;
  font-size: 1.3227513228vw;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 6.3492063492vw;
}
@media screen and (max-width: 768px) {
  .download-btn {
    font-size: 4.2666666667vw;
    line-height: 1.75;
    margin-top: 10.6666666667vw;
    justify-content: unset;
    padding-left: 5.6vw;
    padding-top: 4.8vw;
  }
}

.download-btn::before {
  position: absolute;
  content: "";
  background-image: url(../../assets/img/bg_download-btn.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 33.664021164vw;
  height: 4.3650793651vw;
  z-index: -1;
  top: 50%;
  transform: translateY(-48%);
}
@media screen and (max-width: 768px) {
  .download-btn::before {
    background-image: url(../../assets/img/sp_bg_download-btn.webp);
    width: 89.3333333333vw;
    height: 17.6vw;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
  }
}

.contact {
  margin-top: 5.291005291vw;
}
@media screen and (max-width: 768px) {
  .contact {
    margin-top: 8.8vw;
  }
}

.contact-comment {
  font-size: 1.1904761905vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.56;
  background-image: url(../../assets/img/bg_contact-comment.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 15.5423280423vw;
  height: 1.1243386243vw;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .contact-comment {
    font-size: 4vw;
    line-height: 1.86;
    width: 54.6666666667vw;
    height: 4.5333333333vw;
    margin-bottom: -2.6666666667vw;
  }
}

@media screen and (max-width: 768px) {
  .contact-btn__wrap {
    position: relative;
    top: 3.2vw;
  }
}

.contact-btn {
  position: relative;
  font-size: 1.5873015873vw;
  font-weight: 700;
  line-height: 1.17;
  color: #fff;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1.9841269841vw;
  margin-bottom: -0.9920634921vw;
}
@media screen and (max-width: 768px) {
  .contact-btn {
    font-size: 4.8vw;
    line-height: 1.55;
    justify-content: unset;
    align-items: unset;
    padding-left: 10.4vw;
    padding-top: 7.4666666667vw;
  }
}

.contact-btn::before {
  position: absolute;
  content: "";
  background-image: url(../../assets/img/bg_contact-btn.webp);
  background-repeat: no-repeat;
  background-size: cover;
  width: 44.246031746vw;
  height: 4.3650793651vw;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .contact-btn::before {
    background-image: url(../../assets/img/sp_bg_contact-btn.webp);
    width: 89.8666666667vw;
    height: 22.9333333333vw;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
  }
}

.contact-btn:hover {
  opacity: 1;
}

.footer__inner {
  background-color: #002B49;
  padding: 3.373015873vw 0 1.6534391534vw;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .footer__inner {
    padding: 15.4666666667vw 0 16vw;
  }
}

.copyright {
  font-size: 0.7936507937vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2.33;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .copyright {
    font-size: 2.6666666667vw;
    line-height: 2.8;
  }
}

.section-title__wrap {
  text-align: center;
}

.section-title.ja {
  font-size: 1.9841269841vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.53;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .section-title.ja {
    font-size: 6.4vw;
  }
}

.section-title.en {
  font-size: 1.0582010582vw;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2.88;
  color: #FFDA2A;
}
@media screen and (max-width: 768px) {
  .section-title.en {
    font-size: 3.4666666667vw;
    line-height: 2;
  }
}

.description {
  font-size: 1.0582010582vw;
  font-weight: 400;
  line-height: 1.75;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .description {
    font-size: 3.6vw;
    line-height: 1.7;
    text-align: left;
  }
}

@media screen and (max-width: 768px) {
  .md-none {
    display: none;
  }
}

.md-show {
  display: none;
}
@media screen and (max-width: 768px) {
  .md-show {
    display: block;
  }
}

html, body {
  overflow-x: hidden;
}