@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap");
.pc {
  display: block;
}

.sp {
  display: none;
}

@media (max-width: 1024px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
@media (max-width: 734px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
html {
  scroll-behavior: smooth;
  font-size: 10px;
  background: #fff;
}
html body {
  font-family: "Noto Sans JP", sans-serif;
  color: black;
  font-weight: bold;
}
html body main {
  overflow: hidden;
}
html body .blue {
  color: #001dfa;
}
html body .red {
  color: #e73311;
}
html body .green {
  color: #4ac400;
}
html body .pink {
  color: #e83dfd;
}
html body header {
  width: 100%;
  margin: 0 auto;
}
html body section {
  width: 100%;
}
html body .contents {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
html body img {
  width: 100%;
  height: auto;
}
html body h1 {
  font-size: clamp(8px, 3.7375vw, 53.82px);
}
html body h2 {
  font-weight: bold;
  font-size: clamp(8px, 3.5493055556vw, 51.11px);
  font-family: "Noto Rashi Hebrew", serif;
}
html body h3 {
  font-weight: bold;
  font-size: clamp(8px, 2.9166666667vw, 42px);
  font-family: "Noto Rashi Hebrew", serif;
}
html body h4 {
  font-weight: bold;
  font-size: clamp(8px, 1.875vw, 27px);
}
html body p {
  font-size: clamp(8px, 1.25vw, 18px);
  line-height: min(1.8055555556vw, 26px);
}
html body a {
  color: black;
  text-decoration: none;
  font-size: clamp(8px, 1.3888888889vw, 20px);
}
html body li {
  list-style: none;
}
html body footer {
  width: 100%;
}
html body input[type=checkbox] {
  background-color: transparent !important;
  /* お好きな色に変更 */
}
@media (max-width: 734px) {
  html body h1 {
    font-size: 8.7769230769vw;
  }
  html body h3 {
    font-size: 10.7692307692vw;
    line-height: 13.3333333333vw;
  }
  html body h4 {
    font-size: 6.9230769231vw;
  }
  html body p {
    font-size: 4.6153846154vw;
    line-height: 8.4615384615vw;
  }
  html body .contents {
    width: 89.7435897436vw;
    margin: 0 auto;
  }
}

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
/* =========================================
   全消しリセットCSS（フォームUIは残す）
   ========================================= */
/* すべての要素の余白・枠線・フォントサイズをリセット */
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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5要素のデフォルト表示をブロックに */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

/* ボディ初期化 */
body {
  line-height: 1;
}

/* リストマーカー削除 */
ol, ul {
  list-style: none;
}

/* 引用符削除 */
blockquote, q {
  quotes: none;
}

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

/* テーブル初期化 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ===== フォームUIは基本残すが最小限調整 ===== */
/* フォント継承（見た目の統一感を出す） */
input, select, textarea, button {
  font: inherit;
  color: inherit;
}

/* iOS Safariのズーム防止（必要な場合） */
input, textarea, select {
  font-size: 16px;
}

/* ボタンはポインター */
button {
  cursor: pointer;
}

/* Webkit系での余計なスタイル防止（外観は保持） */
input[type=search] {
  -webkit-appearance: textfield;
}

/* プレースホルダーの色だけ少し整える */
::-moz-placeholder {
  color: #999;
}
::placeholder {
  color: #999;
}

body {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  overflow-x: hidden;
  color: black;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  color: black;
}

.header__wrap {
  padding: min(1.9444444444vw, 28px) min(0vw, 0px) min(1.9444444444vw, 28px) min(0vw, 0px);
}
.header__bar {
  width: 95%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header__nav {
  margin-bottom: min(0.6944444444vw, 10px);
  z-index: 5;
}
.header__nav--list {
  display: flex;
  justify-content: end;
}
.header__contact a {
  background-color: #000000;
  color: #ffffff;
  line-height: min(1.5972222222vw, 23px);
  font-size: clamp(8px, 1.25vw, 18px);
  padding: min(0.8333333333vw, 12px) min(1.7361111111vw, 25px) min(0.8333333333vw, 12px) min(1.7361111111vw, 25px);
  border-radius: min(0.3472222222vw, 5px);
  margin-left: min(1.6666666667vw, 24px);
}
.header__link {
  margin-left: min(2.0833333333vw, 30px);
  font-family: "Roboto", sans-serif;
}
.header__logo {
  width: min(10.8333333333vw, 156px);
  height: min(4.8611111111vw, 70px);
}
@media (max-width: 734px) {
  .header .header__logo {
    width: 35.4vw;
    height: 15.8974358974vw;
    margin: 5.8974358974vw 0vw 0vw 3.8461538462vw;
  }
}

.footer__contents {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: min(1.5972222222vw, 23px) min(0vw, 0px) min(1.3888888889vw, 20px) min(0vw, 0px);
}
.footer__nav--list {
  display: flex;
  align-items: center;
  gap: min(2.0833333333vw, 30px);
}
.footer__logo {
  width: min(10.8333333333vw, 156px);
  height: min(4.8611111111vw, 70px);
}
.footer__link {
  font-family: "Roboto", sans-serif;
}
@media (max-width: 734px) {
  .footer .footer__logo {
    width: 33.8461538462vw;
    height: 15.3846153846vw;
  }
  .footer__nav {
    width: 50%;
  }
  .footer__nav--item:first-child a {
    font-size: 3.3333333333vw;
  }
  .footer__nav--list {
    flex-flow: wrap;
  }
  .footer__link {
    font-size: 4.358974359vw;
  }
}

.drow {
  display: none;
}

@media (max-width: 734px) {
  .drow {
    display: block;
  }
  .mobile-menu-icon {
    background-color: transparent;
    border: none;
    position: fixed;
    right: 4%;
    top: 2.2rem;
    z-index: 5000000;
    background: #000;
    width: 13.6538461538vw;
    height: 13.6538461538vw;
    border-radius: 0.7692307692vw;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    font-size: 3.3333333333vw;
  }
  .mobile-menu-icon span {
    background-color: #fff;
    color: #fff;
    width: 6.258974359vw;
    height: 2px;
    display: block;
    margin-bottom: 1.5384615385vw;
    transition: transform 0.7s;
  }
  .mobile-menu-icon span:last-child {
    background-color: transparent;
    display: block;
    margin-left: -12px;
  }
  button.menu-open > span {
    background-color: #fff;
    color: #fff;
  }
  button.menu-open > span:nth-child(1) {
    transform: translateY(9px) rotate(125deg);
  }
  button.menu-open > span:nth-child(2) {
    transform: translateX(-18px) scaleX(0);
  }
  button.menu-open > span:nth-child(3) {
    transform: translateY(-9px) rotate(-125deg);
  }
  .menu-open {
    transform: none !important;
    transition: transform 0.7s;
  }
  body {
    margin: 0;
    padding: 0;
    position: relative;
    overflow-x: hidden;
  }
  .header {
    position: relative;
  }
  .header__nav {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    right: 0;
    left: 0;
    transform: translateY(-100vh);
    background: #fff;
    flex-flow: column;
    gap: 0;
  }
}
@media (max-width: 734px) {
  .header__nav--list {
    display: flex;
    justify-content: start;
    flex-flow: column;
    width: 90%;
    margin: 29px auto;
  }
  .header__link {
    margin-left: min(2.0833333333vw, 30px);
    font-family: "Roboto", sans-serif;
    font-size: 18px;
  }
  .header__nav--item {
    list-style: none;
    margin-top: 23px;
  }
}
/* 止まらず一定速度で流れるためのタイミング関数 */
.mySwiper .swiper-wrapper {
  transition-timing-function: linear !important;
}

/* 画像ドラッグで止まらないように */
.mySwiper img {
  pointer-events: none;
  user-drag: none;
  -webkit-user-drag: none;
}

.swiper-slide img {
  width: min(24.3055555556vw, 350px);
  height: min(11.875vw, 171px);
}

@media (max-width: 734px) {
  .swiper-slide img {
    width: 43.5230769231vw;
    height: 23.841025641vw;
  }
}
.fv {
  padding-bottom: min(9.7222222222vw, 140px);
  margin-top: min(10.1388888889vw, 146px);
}
.fv__subttl {
  font-size: clamp(8px, 2.4180555556vw, 34.82px);
  display: block;
  margin-top: min(1.8055555556vw, 26px);
}
.fv__slide-area {
  transform: rotate(-5deg);
  margin-top: min(6.25vw, 90px);
}
@media (max-width: 734px) {
  .fv {
    margin-top: 6.4102564103vw;
    line-height: 12.8205128205vw;
  }
  .fv .fv__subttl {
    font-size: 5.7512820513vw;
    margin-top: 0;
    line-height: 9.7435897436vw;
    padding-bottom: 2.0512820513vw;
  }
}

.mission {
  background-color: #000000;
  color: #ffffff;
  position: relative;
}
.mission::after {
  position: absolute;
  content: "";
  background: url(../img/misston-right.svg) no-repeat;
  background-size: contain;
  width: min(13.0555555556vw, 188px);
  height: min(37.9861111111vw, 547px);
  top: 0;
  right: 0;
}
.mission::before {
  position: absolute;
  content: "";
  background: url(../img/misston-left.svg) no-repeat;
  background-size: contain;
  width: min(12.5vw, 180px);
  height: min(34.7222222222vw, 500px);
  bottom: 0;
  left: 0;
}
.mission__contents {
  padding-bottom: min(4.8611111111vw, 70px);
  position: relative;
}
.mission__contents::after, .mission__contents::before {
  position: absolute;
  content: "";
  left: 0;
}
.mission__contents::after {
  background: url(../img/file_wiht.svg) no-repeat;
  background-size: contain;
  width: min(19.4444444444vw, 280px);
  height: min(5.6944444444vw, 82px);
  top: max(-3.1944444444vw, -46px);
  display: block;
}
.mission__contents::before {
  background: url(../img/file_bluck.svg) no-repeat;
  background-size: contain;
  width: min(19.4444444444vw, 280px);
  height: min(5.6944444444vw, 82px);
  bottom: max(-2.2916666667vw, -33px);
  display: block;
}
.mission__ttlarea {
  text-align: center;
  padding: min(2.6388888889vw, 38px) min(0vw, 0px) min(2.6388888889vw, 38px) min(0vw, 0px);
}
.mission__ttl {
  color: #ffffff;
  margin: min(0vw, 0px) min(7.6388888889vw, 110px) min(0vw, 0px) min(0vw, 0px);
}
.mission__ttl-sub {
  display: block;
  font-size: clamp(8px, 1.3888888889vw, 20px);
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: min(0.6944444444vw, 10px);
}
.mission__txt-area {
  margin-top: min(1.3194444444vw, 19px);
  line-height: min(3.5416666667vw, 51px);
  letter-spacing: min(0.1388888889vw, 2px);
  position: relative;
}
.mission__txt-area::after {
  position: absolute;
  content: "";
  background: url(../img/mission__bg.png) no-repeat;
  background-size: contain;
  width: min(36.6666666667vw, 528px);
  height: min(32.2222222222vw, 464px);
  top: 0;
  left: min(32.6388888889vw, 470px);
  z-index: 0;
}
.mission__subttling {
  margin-top: min(0.625vw, 9px);
  font-size: clamp(8px, 1.7430555556vw, 25.1px);
}
.mission__txt {
  margin-top: min(1.1805555556vw, 17px);
  line-height: min(2.3611111111vw, 34px);
  letter-spacing: 0;
  position: relative;
  z-index: 1;
}
@media (max-width: 734px) {
  .mission::after {
    background: url(../img/misston-right-sp.svg) no-repeat;
    width: 20vw;
    height: 78.4615384615vw;
    z-index: 0;
    top: 40%;
  }
  .mission::before {
    background: url(../img/misston-left-sp.svg) no-repeat;
    width: 20vw;
    height: 78.4615384615vw;
    z-index: 1;
    bottom: -32px;
  }
  .mission .mission__ttl {
    font-size: 13.1051282051vw;
  }
  .mission .mission__ttl-sub {
    font-size: 5.1282051282vw;
    font-weight: normal;
    margin-bottom: 3.3333333333vw;
  }
  .mission__contents::after {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    top: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .mission__contents::before {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    bottom: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
    z-index: 0;
  }
  .mission .mission__contents {
    padding: 17.4358974359vw 0vw 7.1794871795vw 0vw;
  }
  .mission .mission__txt-area::after {
    display: contents;
  }
  .mission .mission__subttling {
    font-size: 6.9230769231vw;
    line-height: 12.5641025641vw;
  }
  .mission .mission__txt {
    line-height: 8.4615384615vw;
  }
  .mission .mission__img-area {
    margin-top: 2.5641025641vw;
  }
  .mission .mission__txt-area {
    margin-top: 5.1282051282vw;
  }
  .mission .mission__txt {
    margin-top: 0;
    font-size: 4.6153846154vw;
    line-height: 8.4615384615vw;
    margin-top: 3.8461538462vw;
  }
}

.issue {
  background-color: #E3E3E3;
}
.issue__contents {
  padding: min(5.4166666667vw, 78px) min(0vw, 0px) min(5.5277777778vw, 79.6px) min(0vw, 0px);
  position: relative;
}
.issue__contents::before {
  position: absolute;
  content: "";
  left: 0;
}
.issue__contents::before {
  background: url(../img/file_gray.svg) no-repeat;
  background-size: contain;
  width: min(19.4444444444vw, 280px);
  height: min(5.6944444444vw, 82px);
  bottom: max(-2.2916666667vw, -33px);
  display: block;
}
.issue__ttl {
  letter-spacing: min(0.2083333333vw, 3px);
}
.issue__ttl-sub {
  display: block;
  font-size: clamp(8px, 1.3888888889vw, 20px);
  font-family: "Noto Sans JP", sans-serif;
  margin-top: min(0.4861111111vw, 7px);
  letter-spacing: min(0.0694444444vw, 1px);
}
.issue__contents-area {
  text-align: center;
  margin-top: min(2.0138888889vw, 29px);
}
.issue__subttl {
  font-size: clamp(8px, 2.4305555556vw, 35px);
  font-family: "Noto Sans JP", sans-serif;
}
.issue__txt {
  margin-top: min(1.8055555556vw, 26px);
  font-size: clamp(8px, 1.3888888889vw, 20px);
  line-height: min(2.0138888889vw, 29px);
}
.issue__items {
  margin-top: min(2.5vw, 36px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: wrap;
  gap: min(2.1527777778vw, 31px);
}
.issue__item {
  flex: 1 1 calc(45% - 50px);
  /* 横幅50% - 隙間調整 */
  box-sizing: border-box;
}
.issue__subttling {
  font-size: clamp(8px, 1.7361111111vw, 25px);
  padding: min(1.8055555556vw, 26px) min(0vw, 0px) min(1.25vw, 18px) min(0vw, 0px);
}
.issue__list.white-area {
  background-color: #fff;
  position: relative;
}
.issue__list.white-area::after, .issue__list.white-area::before {
  position: absolute;
  content: "";
  left: min(1.0416666667vw, 15px);
  z-index: 0;
}
.issue__list.white-area::after {
  background: url(../img/file_wiht.svg) no-repeat;
  background-size: contain;
  width: min(7.7777777778vw, 112px);
  height: min(2.2777777778vw, 32.8px);
  bottom: max(-0.6944444444vw, -10px);
  display: block;
}
.issue__list.white-area::before {
  background: url(../img/file_gray.svg) no-repeat;
  background-size: contain;
  width: min(7.7777777778vw, 112px);
  height: min(2.2777777778vw, 32.8px);
  top: max(-1.4583333333vw, -21px);
  display: block;
}
.issue__list.black-area {
  background-color: #000;
  color: #fff;
  text-align: left;
}
.issue__subttling {
  position: relative;
  z-index: 1;
}
.issue__list--txt {
  width: min(20.3472222222vw, 293px);
  margin: 0 auto;
  height: min(9.0277777778vw, 130px);
  padding: min(2.9166666667vw, 42px) min(0vw, 0px) min(2.0833333333vw, 30px) min(0vw, 0px);
}
@media (max-width: 734px) {
  .issue__contents::after {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    top: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .issue__contents::before {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    bottom: min(-1.4583333333vw, -21px);
    left: -2.8205128205vw;
  }
  .issue .issue__ttl {
    font-size: 13.1051282051vw;
  }
  .issue .issue__ttl-sub {
    font-size: 5.1282051282vw;
  }
  .issue .issue__contents {
    padding: 15.8974358974vw 0vw 12.8205128205vw 0vw;
  }
  .issue .issue__contents-area {
    margin-top: 12.8205128205vw;
  }
  .issue .issue__subttl {
    font-size: 8.9743589744vw;
  }
  .issue .issue__txt {
    margin-top: 5.3846153846vw;
    font-size: 4.8717948718vw;
    line-height: 8.2051282051vw;
    font-weight: normal;
  }
  .issue .issue__items {
    flex-flow: column;
    margin-top: 8.2051282051vw;
    gap: 6.1538461538vw;
  }
  .issue .issue__item {
    width: 89.7435897436vw;
    height: 69.8974358974vw;
    margin-bottom: 6.1538461538vw;
  }
  .issue .issue__item:nth-of-type(4) {
    order: 4;
  }
  .issue .issue__list--txt {
    width: 84.1025641026vw;
    height: 42.0512820513vw;
    padding: 10.5128205128vw 0vw 6.6666666667vw 0vw;
  }
  .issue .issue__subttling {
    font-size: 7.1897435897vw;
    padding: 7.6923076923vw 0vw 4.6153846154vw 0vw;
  }
  .issue .issue__list.white-area::before {
    height: 9.4333333333vw;
    width: 32.2153846154vw;
    top: -5.641025641vw;
    left: 4.6153846154vw;
  }
  .issue .issue__list.white-area::after {
    height: 9.4333333333vw;
    width: 32.2153846154vw;
    bottom: -3.3333333333vw;
    left: 4.6153846154vw;
  }
}

@media (max-width: 734px) {
  .issue__ttl {
    font-size: 13.1051282051vw;
  }
  .issue__ttl-sub {
    font-size: 5.1282051282vw;
    font-weight: normal;
  }
}
.features__contents {
  padding: min(5.4166666667vw, 78px) min(0vw, 0px) min(2.9861111111vw, 43px) min(0vw, 0px);
  position: relative;
}
.features__contents::before {
  position: absolute;
  content: "";
  left: 0;
}
.features__contents::before {
  background: url(../img/file_wiht.svg) no-repeat;
  background-size: contain;
  width: min(19.4444444444vw, 280px);
  height: min(5.6944444444vw, 82px);
  bottom: max(-2.2916666667vw, -33px);
  display: block;
}
.features__subttl {
  font-size: clamp(8px, 2.4305555556vw, 35px);
  font-family: "Noto Sans JP", sans-serif;
  line-height: min(3.4722222222vw, 50px);
}
.features__contents-area {
  text-align: center;
}
.features__apl-area {
  margin-top: min(3.125vw, 45px);
  background: url(../img/features_bg.png) no-repeat;
  background-size: 74%;
  background-position: bottom;
  padding-bottom: min(2.7777777778vw, 40px);
}
.features__flex--top, .features__flex--bottom {
  display: flex;
}
.features__flex--top {
  justify-content: center;
  gap: min(2.0833333333vw, 30px);
}
.features__flex--bottom {
  justify-content: space-between;
  width: min(64.5833333333vw, 930px);
  margin: min(6.0416666667vw, 87px) min(0vw, 0px) min(0vw, 0px) min(2.3611111111vw, 34px);
}
.features__flex--items.kojo {
  transform: translateX(6.3194444444vw);
}
.features__subttling {
  font-size: clamp(8px, 1.7361111111vw, 25px);
  margin-bottom: min(0.6944444444vw, 10px);
}
@media (max-width: 734px) {
  .features .features__contents {
    padding: 15.3846153846vw 0vw 12.8205128205vw 0vw;
  }
  .features .issue__ttl {
    line-height: 10.2564102564vw;
  }
  .features__contents::after {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    top: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .features__contents::before {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    bottom: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .features .features__subttl {
    font-size: 8.2051282051vw;
    line-height: 13.5897435897vw;
  }
  .features .features__subttling {
    font-size: 6.1538461538vw;
  }
  .features .features__contents-area {
    margin-top: 8.2051282051vw;
  }
  .features .features__flex--top {
    flex-flow: column;
  }
  .features .features__flex--bottom {
    flex-flow: column;
    margin: 49.7435897436vw 0vw 0vw 0vw;
  }
  .features .features__flex--bottom .features__flex--items:last-child {
    margin-top: 22.3076923077vw;
    transform: translateX(100px);
  }
  .features .features__apl-area {
    background: url(../img/features_bg-sp.png) no-repeat;
    background-size: 74%;
    background-position: right;
    padding-bottom: min(2.7777777778vw, 40px);
    margin-top: 14.1025641026vw;
    background-size: cover;
  }
  .features .features__flex--top {
    align-items: end;
  }
  .features .features__subtxt {
    line-height: 6.9230769231vw;
  }
  .features .features__flex--items.kojo {
    margin-top: 17.9487179487vw;
    transform: translateX(-21.2820512821vw);
  }
}

.service {
  background-color: #E3E3E3;
}
.service__contents {
  padding: min(5.2083333333vw, 75px) min(0vw, 0px) min(5.5277777778vw, 79.6px) min(0vw, 0px);
  position: relative;
}
.service__contents::before {
  position: absolute;
  content: "";
  left: 0;
}
.service__contents::before {
  background: url(../img/file_gray.svg) no-repeat;
  background-size: contain;
  width: min(19.4444444444vw, 280px);
  height: min(5.6944444444vw, 82px);
  bottom: max(-2.2916666667vw, -33px);
  display: block;
}
.service__contents-area {
  margin-top: min(3.6805555556vw, 53px);
}
.service__box {
  margin-top: min(4.0277777778vw, 58px);
  padding: min(3.9166666667vw, 56.4px) min(0vw, 0px) min(2.2222222222vw, 32px) min(0vw, 0px);
  background-color: #fff;
  padding: 34px 0 0px 0;
  padding: min(2.3611111111vw, 34px) min(0vw, 0px) min(2.4305555556vw, 35px) min(0vw, 0px);
  position: relative;
}
.service__box::after, .service__box::before {
  position: absolute;
  content: "";
  left: min(1.0416666667vw, 15px);
}
.service__box::after {
  background: url(../img/file_gray.svg) no-repeat;
  background-size: contain;
  width: min(7.7777777778vw, 112px);
  height: min(2.2777777778vw, 32.8px);
  top: max(-1.0416666667vw, -15px);
  display: block;
}
.service__box::before {
  background: url(../img/file_wiht.svg) no-repeat;
  background-size: contain;
  width: min(7.7777777778vw, 112px);
  height: min(2.2777777778vw, 32.8px);
  bottom: max(-1.0416666667vw, -15px);
  display: block;
}
.service__box:first-child {
  margin-top: 0;
}
.service__box-area {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: min(3.125vw, 45px);
  width: min(67.3611111111vw, 970px);
  margin: 0 auto;
}
.service__logo {
  width: min(18.75vw, 270px);
  height: min(9.1666666667vw, 132px);
}
.service__txt-area {
  height: min(12.1527777778vw, 175px);
}
.service__subttl {
  font-size: clamp(8px, 1.7361111111vw, 25px);
  font-family: "Roboto", sans-serif;
  line-height: min(3.4722222222vw, 50px);
  padding-bottom: min(0.6944444444vw, 10px);
  border-bottom: solid 1px #000;
}
.service__subttl.blue .sen {
  border-right: solid #001dfa 2px;
}
.service__subttl.red .sen {
  border-right: solid #e73311 2px;
}
.service__subttl.pink .sen {
  border-right: solid #e83dfd 2px;
}
.service__subttl.green .sen {
  border-right: solid #4ac400 2px;
}
.service__subttl .sen {
  padding-right: 13px;
  margin-right: 18px;
  display: inline-block;
  height: 40px;
  height: min(2.7777777778vw, 40px);
  padding-right: min(0.9027777778vw, 13px);
  margin-right: min(1.25vw, 18px);
}
.service__txt {
  margin-top: min(1.25vw, 18px);
}
@media (max-width: 734px) {
  .service__contents::after {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    top: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .service__contents::before {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    bottom: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .service .service__contents-area {
    margin-top: 10.7692307692vw;
  }
  .service .service__logo {
    width: 69.2307692308vw;
    height: 33.8461538462vw;
  }
  .service .service__txt-area {
    height: auto;
  }
  .service .service__contents {
    padding: 16.6666666667vw 0vw 10.2564102564vw 0vw;
  }
  .service .service__box-area {
    flex-flow: column;
    width: 80.7692307692vw;
    padding: 10.5128205128vw 0vw 7.4358974359vw 0vw;
  }
  .service .service__box::before {
    width: 28.7179487179vw;
    height: 8.4102564103vw;
    bottom: -4.8717948718vw;
    left: 4.358974359vw;
  }
  .service .service__box::after {
    width: 28.7179487179vw;
    height: 8.4102564103vw;
    top: -4.8717948718vw;
    left: 4.358974359vw;
  }
  .service .service__box {
    margin-bottom: 16.1538461538vw;
  }
  .service .service__subttl {
    font-size: 6.4102564103vw;
    margin-left: 2.5641025641vw;
  }
  .service .service__txt-area {
    margin-top: 7.9487179487vw;
  }
  .service .service__subttl {
    padding: 0vw 2.3076923077vw 0vw 0vw;
    margin: 0vw 3.5897435897vw 2.0512820513vw 0vw;
    height: 8.4615384615vw;
  }
  .service .service__txt {
    margin-top: 4.1025641026vw;
    line-height: 6.9230769231vw;
  }
}

.model__contents {
  padding: min(5.3472222222vw, 77px) min(0vw, 0px) min(3.4722222222vw, 50px) min(0vw, 0px);
  position: relative;
}
.model__contents::before {
  position: absolute;
  content: "";
  left: 0;
}
.model__contents::before {
  background: url(../img/file_wiht.svg) no-repeat;
  background-size: contain;
  width: min(19.4444444444vw, 280px);
  height: min(5.6944444444vw, 82px);
  bottom: max(-2.2916666667vw, -33px);
  display: block;
}
.model__ttl {
  letter-spacing: min(0.1388888889vw, 2px);
}
.model__contents-area {
  margin-top: min(3.6805555556vw, 53px);
  text-align: center;
}
.model__subttl {
  font-size: clamp(8px, 2.4305555556vw, 35px);
  font-family: "Noto Sans JP", sans-serif;
  line-height: min(3.6111111111vw, 52px);
}
.model__img-area {
  width: min(61.5444444444vw, 886.24px);
  margin: min(2.7777777778vw, 40px) auto min(0vw, 0px) auto;
}
@media (max-width: 734px) {
  .model__contents::after {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    top: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .model__contents::before {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    bottom: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .model .model__contents {
    padding: 40.5128205128vw 0vw 0vw 0vw;
  }
  .model__ttl {
    font-size: 13.1051282051vw;
  }
  .model__ttl-sub {
    font-size: 5.1282051282vw;
    font-weight: normal;
  }
  .model .model__subttl {
    font-size: 8.2051282051vw;
    line-height: 12.8205128205vw;
  }
  .model .model__contents-area {
    margin-top: 22.3076923077vw;
  }
  .model .model__img-area {
    width: 100%;
    overflow: scroll;
    margin-top: 15.641025641vw;
    z-index: 1;
    position: relative;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
  }
  .model .model__img-area::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari, Opera */
  }
  .model .model__img-area img {
    width: 227.241025641vw;
    height: auto;
  }
}

.company {
  background-color: #E3E3E3;
}
.company__contents {
  padding: min(5.2083333333vw, 75px) min(0vw, 0px) min(3.6805555556vw, 53px) min(0vw, 0px);
  position: relative;
}
.company__contents::before {
  position: absolute;
  content: "";
  left: 0;
}
.company__contents::before {
  background: url(../img/file_gray.svg) no-repeat;
  background-size: contain;
  width: min(19.4444444444vw, 280px);
  height: min(5.6944444444vw, 82px);
  bottom: max(-2.2916666667vw, -33px);
  display: block;
}
.company__table {
  width: min(63.75vw, 918px);
  margin: min(4.4444444444vw, 64px) auto min(1.3888888889vw, 20px) auto;
}
.company__row {
  border-bottom: 1px solid #ccc;
}
.company__row--box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: min(1.7361111111vw, 25px) min(0.7638888889vw, 11px) min(1.875vw, 27px) min(0.7638888889vw, 11px);
  font-size: clamp(8px, 1.3888888889vw, 20px);
  gap: min(5.0694444444vw, 73px);
}
.company__row dt {
  width: min(8.3333333333vw, 120px);
  -moz-text-align-last: left;
       text-align-last: left;
}
.company__row dd {
  -moz-text-align-last: left;
       text-align-last: left;
  font-weight: normal;
  line-height: 28px;
}
.company__ggmap {
  height: min(29.0972222222vw, 419px);
  max-width: 1000px;
}
@media (max-width: 734px) {
  .company__contents::after {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    top: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .company__contents::before {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    bottom: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .company .company__table {
    width: 100%;
  }
  .company .company__contents {
    padding: 20.5128205128vw 0vw 20.5128205128vw 0vw;
  }
  .company .company__row--box {
    font-size: 4.358974359vw;
    padding: 2.5641025641vw 0vw 3.0769230769vw 0vw;
  }
  .company .company__row dt {
    width: 27.6923076923vw;
  }
  .company .company__ggmap {
    width: 89.7435897436vw;
    height: 53.8461538462vw;
  }
}

.message {
  position: relative;
}
.message__contents {
  padding: min(5.2083333333vw, 75px) min(0vw, 0px) min(8.3333333333vw, 120px) min(0vw, 0px);
  position: relative;
}
.message__contents::before {
  position: absolute;
  content: "";
  left: 0;
}
.message__contents::before {
  background: url(../img/file_wiht.svg) no-repeat;
  background-size: contain;
  width: min(19.4444444444vw, 280px);
  height: min(5.6944444444vw, 82px);
  bottom: max(-2.2916666667vw, -33px);
  display: block;
}
.message__main--contents {
  margin-top: min(4.8611111111vw, 70px);
}
.message__txt {
  line-height: min(1.9444444444vw, 28px);
  letter-spacing: min(0.1319444444vw, 1.9px);
}
.message .biz_programming {
  position: absolute;
  bottom: max(-2.6388888889vw, -38px);
  right: 0;
  left: 0;
  margin: 0 auto;
  width: min(100vw, 1440px);
}
@media (max-width: 734px) {
  .message {
    background: url(../img/biz_programming-sp.svg) no-repeat;
    background-position: right;
  }
  .message__contents::after {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    top: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .message__contents::before {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    bottom: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .message .message__txt {
    line-height: 7.1794871795vw;
    font-size: 5.1282051282vw;
    font-weight: normal;
  }
  .message .biz_programming {
    display: none;
  }
  .message__contents {
    padding: 20.5128205128vw 0vw 20.5128205128vw 0vw;
  }
}

.contact {
  background: url(../img/contact_bg.png) no-repeat;
  background-size: cover;
  color: #ffffff;
}
.contact__contents {
  padding: min(5.5555555556vw, 80px) min(0vw, 0px) min(6.25vw, 90px) min(0vw, 0px);
  position: relative;
}
.contact__form-area {
  margin: min(5.9027777778vw, 85px) min(0vw, 0px) min(0vw, 0px) min(0vw, 0px);
}
.contact__form-table tr {
  margin-bottom: min(1.7361111111vw, 25px);
  display: block;
}
.contact__form-table tr:last-child {
  margin-top: min(3.4722222222vw, 50px);
}
.contact__form-table tr:last-child th {
  vertical-align: top;
}
.contact__form-table th {
  text-align: left;
  width: min(22.2222222222vw, 320px);
  vertical-align: middle;
}
.contact__form-table th label {
  font-size: clamp(8px, 1.3888888889vw, 20px);
}
.contact__form-table th span {
  font-size: clamp(8px, 1.2597222222vw, 18.14px);
  margin-left: min(1.4583333333vw, 21px);
  padding: min(0.4166666667vw, 6px) min(0.8333333333vw, 12px) min(0.4166666667vw, 6px) min(0.8333333333vw, 12px);
  border-radius: min(0.3472222222vw, 5px);
  background-color: rgba(255, 255, 255, 0.3);
}
.contact__form-table td input,
.contact__form-table td textarea {
  height: min(3.8888888889vw, 56px);
  width: min(46.5277777778vw, 670px);
  border: solid rgba(230, 230, 230, 0.6) 1px;
  background-color: transparent;
  box-sizing: border-box;
  padding-left: 14px;
}
.contact__form-table td textarea {
  height: min(10vw, 144px);
  width: min(46.5277777778vw, 670px);
  border: solid rgba(230, 230, 230, 0.6) 1px;
  background-color: transparent;
}
.contact__policy {
  color: #fff;
  font-size: clamp(8px, 1.7361111111vw, 25px);
  text-decoration: underline;
}
.contact .privacy-check {
  display: flex;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
}
.contact .privacy-check label {
  font-size: clamp(8px, 1.7361111111vw, 25px);
}
.contact .privacy-check input {
  display: block;
  width: min(2.0833333333vw, 30px);
  height: min(2.0833333333vw, 30px);
  border: solid rgba(230, 230, 230, 0.6) 1px;
}
.contact .contents__check {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: min(3.4722222222vw, 50px);
}
.contact .custom-checkbox {
  position: relative;
  padding-left: min(3.4722222222vw, 50px);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  color: #fff;
  font-size: clamp(8px, 1.7361111111vw, 25px);
}
.contact .custom-checkbox input {
  opacity: 0;
  position: absolute;
  cursor: pointer;
  border: solid rgba(230, 230, 230, 0.6) 1px;
}
.contact .custom-checkbox .checkmark {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: min(2.0833333333vw, 30px);
  height: min(2.0833333333vw, 30px);
  background-color: transparent;
  /* ←未チェック時は透明！ */
  border: 1px solid #fff;
  border-radius: 4px;
  box-sizing: border-box;
}
.contact .custom-checkbox input:checked + .checkmark {
  background-color: #00bcd4;
  /* ←チェック時の背景色 */
}
.contact .custom-checkbox .checkmark::after {
  content: "";
  position: absolute;
  display: none;
}
.contact .custom-checkbox input:checked + .checkmark::after {
  display: block;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
}
.contact .form-submit {
  text-align: center;
  margin-top: min(5.5555555556vw, 80px);
}
.contact .form-submit button {
  font-size: clamp(8px, 1.25vw, 18px);
  padding: min(1.9444444444vw, 28px) min(14.7222222222vw, 212px) min(1.9444444444vw, 28px) min(14.7222222222vw, 212px);
  border-radius: min(6.1111111111vw, 88px);
  background-color: #292929;
  border: solid rgba(230, 230, 230, 0.6) 1px;
}
@media (max-width: 734px) {
  .contact__contents::after {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    top: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .contact__contents::before {
    width: 53.8461538462vw;
    height: 15.8974358974vw;
    bottom: min(-2.2222222222vw, -32px);
    left: -2.8205128205vw;
  }
  .contact .contact__form-table th {
    display: block;
    width: 100%;
    margin: 10.2564102564vw 0vw 5.1282051282vw 0vw;
  }
  .contact .contact__form-table th span {
    font-size: 3.8461538462vw;
    padding: 1.5384615385vw 3.0769230769vw 1.5384615385vw 3.0769230769vw;
    border-radius: 0.7692307692vw;
  }
  .contact .contact__form-table th label {
    font-size: 5.1282051282vw;
  }
  .contact .contact__form-table td input,
  .contact .contact__form-table td textarea {
    width: 99%;
    border: solid rgba(230, 230, 230, 0.6) 1px;
    box-sizing: border-box;
    padding-left: 14px;
  }
  .contact .contact__form-table td textarea {
    height: 29.2307692308vw;
  }
  .contact .contact__form-table td input {
    height: 14.358974359vw;
  }
  .contact .contact__form-table td {
    display: block;
  }
  .contact .contact__form-table {
    width: 100%;
  }
  .contact .custom-checkbox {
    font-size: 4.6153846154vw;
    padding-left: 7.6923076923vw;
  }
  .contact .contact__policy {
    font-size: 4.6153846154vw;
  }
  .contact .custom-checkbox .checkmark {
    width: 6.4102564103vw;
    height: 6.4102564103vw;
  }
  .contact .form-submit button {
    width: 89.7435897436vw;
    height: 23.5897435897vw;
    border-radius: 22.5641025641vw;
    font-size: 4.6153846154vw;
    border: solid 1px rgba(230, 230, 230, 0.6);
  }
  .contact__contents {
    padding: 20.5128205128vw 0vw 20.5128205128vw 0vw;
  }
  .contact .contents__check {
    margin-top: 12.8205128205vw;
  }
}

.modal {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

html body .privacy-policy__contents {
  width: 95%;
}
html body .privacy-policy__ttl {
  margin: min(3.4722222222vw, 50px) min(0vw, 0px) min(3.4722222222vw, 50px) min(0vw, 0px);
}
html body .privacy-policy__subttl {
  font-size: clamp(8px, 1.25vw, 18px);
  margin-bottom: min(2.0833333333vw, 30px);
  font-weight: bold;
}
html body .privacy-policy__txt {
  font-size: clamp(8px, 1.25vw, 18px);
  margin-bottom: min(2.0833333333vw, 30px);
  font-weight: normal;
}
@media (max-width: 734px) {
  html body .privacy-policy__ttl {
    margin: 12.8205128205vw 0vw 12.8205128205vw 0vw;
  }
  html body .privacy-policy__subttl {
    font-size: 4.1025641026vw;
    margin-bottom: 7.6923076923vw;
    font-weight: bold;
  }
  html body .privacy-policy__txt {
    font-size: 3.8461538462vw;
    margin-bottom: 7.6923076923vw;
    font-weight: 100;
    line-height: 7.6923076923vw;
  }
}