/* --------------------------------------------------------------------------------
 * web fonts
-------------------------------------------------------------------------------- */
/*
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
*/
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap');

:root {
  --color: #222222;
  --color-blue: #3F58A4;
  --color-blue-light: #F6F8FB;

  --serif: "メイリオ", "Hiragino Kaku Gothic ProN",  "Hiragino Sans",  sans-serif;
  --sans-serif: "メイリオ", "Hiragino Kaku Gothic ProN",  "Hiragino Sans",  sans-serif;
  --josefin: 'Josefin Sans', sans-serif;
}
.meiryo {
  font-family: "メイリオ", sans-serif;
}
/* ----------------------------------------------------------------------
 reset (exculding 'sup')
---------------------------------------------------------------------- */
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, 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 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block;
}

input, textarea {
  margin: 0;
  padding: 0;
}

ol, ul {
  list-style: none;
}

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

caption, th {
  text-align: left;
}

img {
  vertical-align: middle;
}

/* ----------------------------------------------------------------------
 basic setting
---------------------------------------------------------------------- */
body {
  font-family: var(--sans-serif);
  color: var(--color);
  line-height: 1.5;
  /*
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  */
}
body.no-scroll {
  overflow: hidden;
}

body * {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
}

input, button, textarea, select {
  color: var(--color);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
}

textarea {
  vertical-align: top;
}

*:focus {
  outline: none;
}

img {
  max-width: 100%;
  height: auto;
}

a:hover {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

/* ----------------------------------------------------------------------
 common class
---------------------------------------------------------------------- */
@media only screen and (min-width: 751px) {
  .pc-non {
    display: none !important;
  }
}
@media only screen and (max-width: 750px) {
  .sp-non {
    display: none !important;
  }
}
.mb-0 {
  margin-bottom: 0;
}
.mb-10 {
  margin-bottom: 10px;
}

.mr-10 {
  margin-right: 10px;
}

.t-center {
  text-align: center;
}

.font-josefin {
  font-family: var(--josefin);
}

.color-blue {
  color: var(--color-blue) !important;
}
.color-white {
  color: #fff !important;
} 

.weight-sbold {
  /* font-weight: 600; */
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.link-tel {
  color: inherit;
  text-decoration: none;
}
@media only screen and (min-width: 751px) {
  .link-tel {
    pointer-events: none;
  }
}

.wrapper {
  width: 1200px;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .wrapper {
    width: auto;
  }
}

.hover {
  transition: 0.3s;
}
@media only screen and (min-width: 751px) {
  .hover:hover {
    opacity: 0.7;
  }
}

.hoverTxt {
  text-decoration: none;
  color: inherit;
}
.hoverTxt:hover {
  text-decoration: underline;
}

.title-home-section {
  position: relative;
  z-index: 1;
  padding-top: 70px;
  @media screen and (max-width: 750px){
    padding-top: 30px;
  }
  .ja {
    font-size: 35px;
    font-weight: 500;
    letter-spacing: 0.035em;
    @media screen and (max-width: 750px){
      font-size: 26px;
    }
    small {
      font-size: 16px;
    }
  }
  .en {
    font-family: var(--josefin);
    /* color: var(--color-blue-light); */
    color: #e7e7e7;
    font-size: 120px;
    line-height: 1;
    position: absolute;
    top: 0px;
    left: -60px;
    z-index: -1;
    @media screen and (max-width: 750px){
      font-size: 61px;
      left: -10px;
      word-break: break-all;
    }
  }
  &.-white {
    .en {
      color: var(--color-blue-light);
      opacity: 0.15;
    }
    .ja {
      color: #fff;
    }
  }
}

.btn-primary {
  display: flex;
  width: 220px;
  height: 65px;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  position: relative;
  letter-spacing: 0.15em;
  &:after {
    content: "";
    background: url(../img/arrow_right_white.svg) no-repeat center/contain;
    width: 10px;
    height: 10px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  @media screen and (max-width: 750px){
    width: 200px;
    height: 49px;
    font-size: 12px;
    &:after {
      width: 9px;
      height: 8px;
      right: 17px;
    }
  }
}
.btn-primary-back {
  display: flex;
  width: 260px;
  height: 65px;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  position: relative;
  letter-spacing: 0.15em;
  &:after {
    content: "";
    background: url(../img/arrow_right_white.svg) no-repeat center/contain;
    width: 10px;
    height: 10px;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
  }
  @media screen and (max-width: 750px){
    width: 200px;
    height: 49px;
    font-size: 12px;
    &:after {
      width: 9px;
      height: 8px;
      left: 17px;
    }
  }
}
.btn-primary-white {
  display: flex;
  width: 220px;
  height: 65px;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 14px;
  color: var(--color-blue);
  text-decoration: none;
  background: #fff;
  position: relative;
  letter-spacing: 0.15em;
  &:after {
    content: "";
    background: url(../img/arrow_right_blue.svg) no-repeat center/contain;
    width: 10px;
    height: 10px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  &.-orange {
    color: #DB6F32;
    &:after {
      background-image: url(../img/arrow_right_orange.svg);
    }
  }
  @media screen and (max-width: 750px){
    width: 200px;
    height: 49px;
    font-size: 12px;
    &:after {
      width: 9px;
      height: 8px;
      right: 17px;
    }
  }
}
.btn-send {
  width: 220px;
  height: 65px;
  font-weight: bold;
  font-size: 14px;
  color: #fff;
  background: url(../img/arrow_right_white.svg) no-repeat calc(100% - 20px) center/10px auto, linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  position: relative;
  letter-spacing: 0.15em;
  border-style: none;
  cursor: pointer;
  @media screen and (max-width: 750px){
    width: 200px;
    height: 49px;
    font-size: 12px;
    background: url(../img/arrow_right_white.svg) no-repeat calc(100% - 20px) center/9px auto, linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  }
  &:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
  }
}

.btn-back {
  width: 220px;
  height: 65px;
  font-weight: bold;
  font-size: 14px;
  background-color: #CCCCCC;
  position: relative;
  letter-spacing: 0.15em;
  border-style: none;
  cursor: pointer;
  @media screen and (max-width: 750px){
    width: 200px;
    height: 49px;
    font-size: 12px;
  }
}

/* ----------------------------------------------------------------------
 Layout
---------------------------------------------------------------------- */
.main {
  overflow: hidden;
}
.header {
  position: relative;
  width: 100%;
  height: 130px;
  @media screen and (max-width: 750px){
    position: relative;
    height: 60px;
  }
  @media screen and (min-width: 751px){
    &.-white {
      position: relative;
      background-color: #fff;
    }
  }
}
.header__inner {
  position: fixed;
  width: 100%;
  z-index: 1000;
  top: 0px;
  left: 0px;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
  padding: 0 40px;
  @media screen and (max-width: 750px){
    position: fixed;
    height: 60px;
    padding-left: 15px;
    padding-right: 0;
  }
}
.header__logo {
  img {
    width: 300px;
  }
  @media screen and (max-width: 750px){
    img {
      width: 261px;
    }
  }
  @media screen and (min-width: 751px){
    .-white & {
      background: url(../img/logo.svg) no-repeat center/contain;
      img {
        opacity: 0;
      }
    }  
  }
}
.header__right {
  display: flex;
  align-items: center;
  @media screen and (max-width: 750px){
    display: none;
  }
}
.header__contact {
  height: 95px;
  background-color: #fff;
  a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 176px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
    img {
      width: 16px;
      margin-right: 8px;
    }
  }
}
.header__navi {
  display: flex;
  > li {
    margin-left: 20px;
    white-space: nowrap;
    position: relative;
    &:first-child {
      margin-left: 0;
    }
    > a {
      font-size: 14px;
      text-decoration: none;
      color: inherit;
      font-weight: bold;
      &:hover {
        color: var(--color-blue);
      }
    }
    &.has-child {
      span {
        font-size: 14px;
        font-weight: bold;
        color: inherit;
      }
      &:hover {
        span {cursor: pointer;
          color: var(--color-blue);
        }
      }
    }
  }
  .sub {
    padding-top: 26px;
    position: absolute;
    top: calc(100% - 3px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    cursor: pointer;
    display: none;
    &:after {
      content: "";
      position: absolute;
      bottom: calc(100% - 26px);
      left: 50%;
      transform: translateX(-50%);
      width: 14px;
      height: 8px;
      clip-path: polygon(50% 0, 100% 100%, 0 100%);
      background-color: var(--color-blue);
    }
    ul {
      padding: 36px 50px;
      background-color: var(--color-blue);
      display: flex;
      gap: 30px;
      li {
        a {
          color: #fff;
          text-decoration: none;
          font-size: 14px;
          font-weight: bold;
          &:hover {
            text-decoration: underline;
          }
        }
      }
    }
  }
}
@media screen and (min-width: 751px){
  .-white .header__navi li a {
    color: var(--color);
  }
}
.header__lng {
  display: flex;
  margin-right: 40px;
  li {
    line-height: 1;
    font-size: 14px;
    font-weight: bold;
    &:first-child {
      margin-right: 15px;
      padding-right: 15px;
      border-right: 1px solid #fff;
    }
    a {
      color: inherit;
      text-decoration: none;
      color: #8EA8BC;
      &.is-active {
        color: #fff;
      }
    }
  }
}
@media screen and (min-width: 751px){
  .-white .header__lng li {
    &:first-child {
      border-right: 1px solid var(--color);
    }
    a {
      &.is-active {
        color: var(--color);
      }
    }
  }
}
.menu {
  @media screen and (min-width: 751px){
    display: none;
  }
  width: 60px;
  background: url(../img/menu_close.svg) no-repeat center/cover;
  &.is-active {
    img {
      opacity: 0;
    }
  }
}

.header__bottom {
  height: 60px;
  background-color: rgba(0, 0, 0, 0.86);
  padding: 0 40px;
  display: flex;
  align-items: center;
  position: fixed;
  top: 70px;
  left: 0px;
  width: 100%;
  z-index: 900;
  @media screen and (max-width: 750px){
    display: none;
  }
}
.header__submenu {
  display: flex;
  gap: 30px;
  li {
    position: relative;
    a {
      color: #fff;
      text-decoration: none;
      font-size: 14px;
      font-weight: bold;
      &:hover {
        text-decoration: underline;
      }
    }
    &.has-child {
      span {
        color: #fff;
        font-size: 14px;
        font-weight: bold;
        cursor: pointer;
      }
    }
  }
  .sub {
    padding-top: 26px;
    position: absolute;
    top: calc(100% - 3px);
    left: 0;
    z-index: 1000;
    cursor: pointer;
    display: none;
    &:after {
      content: "";
      position: absolute;
      bottom: calc(100% - 26px);
      left: 10%;
      width: 14px;
      height: 8px;
      clip-path: polygon(50% 0, 100% 100%, 0 100%);
      background-color: var(--color-blue);
    }
    ul {
      padding: 36px 50px;
      background-color: var(--color-blue);
      display: flex;
      gap: 30px;
      li {
        white-space: nowrap;
        a {
          color: #fff;
          text-decoration: none;
          font-size: 14px;
          font-weight: bold;
          &:hover {
            text-decoration: underline;
          }
        }
      }
    }
  }
}

.spNavi {
  @media screen and (min-width: 751px){
    display: none !important;
  }
  display: none;
  position: fixed;
  top: 60px;
  right: 0;
  width: 100%;
  height: calc(100% - 60px);
  overflow: auto;
  background: var(--color-blue-light);
  z-index: 100;
  @media screen and (max-width: 750px){
    padding: 50px 15px 60px;
  }
}
.spNavi__lng {
  display: flex;
  justify-content: flex-end;
  li {
    line-height: 1;
    font-size: 14px;
    font-weight: bold;
    &:not(:last-child) {
      margin-right: 20px;
      padding-right: 20px;
      border-right: 1px solid var(--color);
    }
    a {
      text-decoration: none;
      color: #CCCCCC;
      &.is-active {
        color: var(--color);
      }
    }
  }
}
.spNavi__menu {
  margin-top: 30px;
  li {
    border-bottom: 1px solid #999999;
    a {
      display: block;
      padding: 20px 0;
      position: relative;
      font-size: 14px;
      text-decoration: none;
      font-weight: 500;
      color: inherit;
      &:after {
        content: "";
        background: url(../img/arrow_right_blue.svg) no-repeat center/10px auto;
        width: 24px;
        height: 24px;
        border: 1px solid var(--color-blue);
        border-radius: 50%;
        position: absolute;
        right: 0px;
        top: 50%;
        transform: translateY(-50%);
      }
    }
  }
}
.spNavi__contact {
  margin-top: 30px;
  a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    width: 100%;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
    img {
      width: 16px;
      margin-right: 8px;
    }
  }
}
.homeMv {
  position: relative;
}
.homeMv__inner {
  position: absolute;
  width: 100%;
  padding: 0 20px;
  max-width: 1200px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  @media screen and (max-width: 750px){
    padding: 0 15px;
    bottom: 50px;
    left: 0px;
    transform: none;
    display: block;
  }
}
.homeMv__bg {
  width: 100%;
  height: calc(100vh - 130px);
  @media screen and (max-width: 750px){
    height: calc(100dvh - 60px);
  }
  video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.homeMv__title {
  font-size: 52px;
  font-weight: bold;
  text-shadow: 1px 1px 6px rgba(11, 54, 118, 0.6);
  @media screen and (max-width: 750px){
    font-size: 39px;
    line-height: 1.33;
  }
}
.homeMv__text {
  font-size: 16px;
  font-weight: bold;
  text-shadow: 1px 1px 6px rgba(11, 54, 118, 0.6);
  @media screen and (max-width: 750px){
    font-size: 13px;
    margin-top: 20px;
  }
}
.homeBusiness {
  padding-top: 100px;
  @media screen and (max-width: 750px){
    padding-top: 60px;
  }
}
.homeBusiness__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  @media screen and (max-width: 750px){
    padding: 0 15px;
    flex-direction: column-reverse;
  }
}
.homeBusiness__left {
  width: 43%;
  @media screen and (max-width: 750px){
    width: auto;
    margin-top: 40px;
    margin-left: -15px;
  }
}
.homeBusiness__right {
  width: 50.8%;
  @media screen and (max-width: 750px){
    width: 100%;
  }
}
.homeBusiness__title {
  position: relative;
  z-index: 1;
  .ja {
    font-size: 35px;
    font-weight: 500;
    color: var(--color-blue);
    border-bottom: 1px solid var(--color-blue);
    @media screen and (max-width: 750px){
      font-size: 26px;
    }
  }
  .en {
    font-family: var(--josefin);
    color: #e7e7e7;
    font-size: 120px;
    line-height: 1;
    position: absolute;
    bottom: -14px;
    left: 80px;
    z-index: -1;
    @media screen and (max-width: 750px){
      font-size: 61px;
      left: 36px;
      bottom: 0px;
    }
  }
}
.homeBusiness__subtitle {
  font-family: var(--serif);
  font-size: 35px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-top: 40px;
  @media screen and (max-width: 750px){
    margin-top: 25px;
    font-size: 20px;
  }
}
.homeBusiness__text {
  margin-top: 50px;
  line-height: 2;
  font-size: 18px;
  @media screen and (max-width: 750px){
    margin-top: 20px;
    font-size: 16px;
  }
}
.homeBusiness__btn {
  margin-top: 50px;
  @media screen and (max-width: 750px){
    margin-top: 30px;
  }
}
.homeCoordinate {
  padding-top: 120px;
  @media screen and (max-width: 750px){
    padding-top: 60px;
  }
}
.homeCoordinate__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.homeCoordinate__title {
  text-align: center;
  font-size: 35px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.4;
  @media screen and (max-width: 750px){
    font-size: 26px;
  }
}
.homeCoordinateList {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  @media screen and (max-width: 750px){
    display: block;
    margin-top: 50px;
  }
}
.homeCoordinateList__item {
  width: calc((100% - 200px) / 5);
  text-align: center;
  &:last-child {
    .homeCoordinateList__inner:after {
      display: none;
    }
  }
  @media screen and (max-width: 750px){
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    + .homeCoordinateList__item {
      margin-top: 50px;
    }
    &:after {
      content: "";
      background: url(../img/tri_right_blue.svg) no-repeat center/contain;
      width: 10px;
      height: 15px;
      position: absolute;
      left: calc(50% - 5px);
      bottom: -36px;
      transform: rotate(90deg);
    }
    &:last-child:after {
      display: none;
    }
  }
}
.homeCoordinateList__num {
  color: var(--color-blue);
  font-family: var(--josefin);
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  @media screen and (max-width: 750px){
    font-size: 15px;
  }
}
.homeCoordinateList__inner {
  margin-top: 10px;
  background: var(--color-blue);
  padding: 30px 10px 40px;
  position: relative;
  @media screen and (max-width: 750px){
    padding: 20px 0 20px 120px;
    width: calc(100% - 30px);
  }
  &:after {
    content: "";
    background: url(../img/tri_right_blue.svg) no-repeat center/contain;
    width: 10px;
    height: 20px;
    position: absolute;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
    @media screen and (max-width: 750px){
      display: none;
    }
  }
}
.homeCoordinateList__thumb {
  position: relative;
  left: 20px;
  filter: drop-shadow(0px 9px 7px #0000003D);
  img {
    clip-path: polygon(10% 0, 100% 0, 90% 100%, 0% 100%);
  }
  @media screen and (max-width: 750px){
    position: absolute;
    width: 90px;
    left: 15px;
    top: -20px;
  }
}
.homeCoordinateList__text {
  font-size: 18px;
  font-weight: 500;
  margin-top: 30px;
  color: #fff;
  letter-spacing: 0.03em;
  @media screen and (max-width: 750px){
    font-size: 15px;
    margin: 0;
  }
}
.homeReason {
  padding-top: 120px;
  overflow: hidden;
  @media screen and (max-width: 750px){
    padding-top: 60px;
    overflow: visible;
  }
}
.homeReason__header {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.homeReasonList {
  margin-top: 40px;
  @media screen and (max-width: 750px){
    margin-top: 30px;
  }
}
.homeReasonList__item {
  background-color: var(--color-blue-light);
  padding: 60px 80px;
  + .homeReasonList__item {
    margin-top: 100px;
    @media screen and (max-width: 750px){
      margin-top: 43.8vw;
    }
  }
  @media screen and (max-width: 750px){
    padding: 40px 15px 42vw;
    position: relative;
  }
}
.homeReasonList__inner {
  width: 100%;
  max-width: 1200px;
  display: flex;
  margin: 0 auto;
  position: relative;
  @media screen and (max-width: 750px){
    position: static;
  }
}
.homeReasonList__num {
  font-size: 14px;
  font-weight: bold;
  color: var(--color-blue);
  font-family: var(--josefin);
  letter-spacing: 0.05em;
  display: inline-block;
  border-bottom: 1px solid var(--color-blue);
  @media screen and (max-width: 750px){
    font-size: 12px;
  }
}
.homeReasonList__left {
  width: 49.2%;
  @media screen and (max-width: 750px){
    width: 100%;
  }
}
.homeReasonList__right {
  width: 55.8%;
  position: absolute;
  right: -120px;
  top: -110px;
  @media screen and (max-width: 750px){
    width: calc(100% - 15px);
    right: 0px;
    bottom: -30vw;
    top: auto;
  }
}
@media screen and (min-width: 751px){
  .homeReasonList__item:nth-child(2n) .homeReasonList__inner {
    flex-direction: row-reverse;
  }  
}

.homeReasonList__item:nth-child(2n) .homeReasonList__right {
  right: auto;
  left: -120px;
  top: -80px;
  @media screen and (max-width: 750px){
    left: 0px;
    bottom: -30vw;
    top: auto;
  }
}
.homeReasonList__title {
  font-family: var(--serif);
  margin-top: 30px;
  font-size: 32px;
  letter-spacing: 0.08em;
  font-weight: 500;
  line-height: 1.56;
  @media screen and (max-width: 750px){
    font-size: 24px;
    margin-top: 25px;
  }
}
.homeReasonList__text {
  margin-top: 40px;
  line-height: 1.9;
  font-size: 18px;
  @media screen and (max-width: 750px){
    font-size: 16px;
  }
}
.homeProduct {
  margin-top: 100px;
  background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  padding: 150px 0 100px;
  overflow: hidden;
  @media screen and (max-width: 750px){
    margin-top: 52.9vw;
    padding: 60px 15px 60px;
  }
}
.homeProduct__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.homeProduct__header {
  display: flex;
  justify-content: space-between;
  width: 100%;
  @media screen and (max-width: 750px){
    display: block;
  }
}
.homeProduct__text {
  width: 57.3%;
  color: #fff;
  line-height: 1.9;
  padding-top: 78px;
  font-size: 18px;
  @media screen and (max-width: 750px){
    width: 100%;
    margin-top: 30px;
    font-size: 16px;
    padding-top: 0;
  }
}
.homeProductList {
  margin-top: 50px;
  position: relative;
  @media screen and (max-width: 750px){
    margin-top: 30px;
  }
  &:after {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0px;
    left: 100%;
    @media screen and (max-width: 750px){
      display: none;
    }
  }
}
.homeProductItem__thumb {
  width: 100%;
  max-width: 340px;
  img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }
}
.homeProductList__btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 21.6%;
  height: 90px;
  border-right: 1px solid #3F58A4;
  background: rgba(255,255,255,0.2);
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  padding-left: 20px;
  padding-right: 70px;
  position: relative;
  border-bottom: 1px solid #fff;
  cursor: pointer;
  transition: .3s ease-in-out;
  @media screen and (max-width: 750px){
    width: 100%;
    height: 55px;
    padding: 0 15px;
    font-size: 15px;
  }
  &:after {
    content: "";
    background: url(../img/arrow_right_white.svg) no-repeat center/10px auto;
    width: 30px;
    height: 30px;
    border: 1px solid #fff;
    border-radius: 50%;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    @media screen and (max-width: 750px){
      width: 25px;
      height: 25px;
      right: 15px;
      transform: translateY(-50%) rotate(90deg);
    }
  }
  &.is-active {
    background: #fff;
    color: var(--color-blue);
    &:after {
      border: 1px solid var(--color-blue);
      background-image: url(../img/arrow_right_blue.svg);
    }
    @media screen and (max-width: 750px){
      &:after {
        transform: translateY(-50%) rotate(-90deg);
      }
    }
  }
  @media (hover: hover){
    &:hover {
      background: #fff;
      color: var(--color-blue);
      &:after {
        border: 1px solid var(--color-blue);
        background-image: url(../img/arrow_right_blue.svg);
      }
    }
  }
}
.homeProductList_child {
  width: 78.4%;
  min-height: 100%;
  position: absolute;
  top: 0px;
  right: 0px;
  display: none;
  background-color: #fff;
  padding: 35px 60px;
  @media screen and (max-width: 750px){
    position: static;
    width: 100%;
    min-height: initial;
    flex-direction: column;
    padding: 0 0 40px;
  }
}
.homeProductItem__right {
  margin-left: 60px;
  @media screen and (max-width: 750px){
    margin: 30px 15px 0;
  }
}
.homeProductItem__title {
  width: 100%;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: var(--color-blue);
  @media screen and (max-width: 750px){
    font-size: 14px;
  }
  span {
    border-bottom: 1px solid var(--color-blue);
    display: inline-block;
  }
}
.homeProduct__details {
  display: flex;
  margin-top: 35px;
  gap: 40px;
  @media screen and (max-width: 750px){
    margin-top: 25px;
  }
}
.homeProductItem__list {
  li {
    position: relative;
    padding-left: 1em;
    font-weight: 500;
    @media screen and (max-width: 750px){
      font-size: 14px;
    }
    &:before {
      content: "・";
      color: var(--color-blue);
      position: absolute;
      top: 0px;
      left: 0px;
    }
    + li {
      margin-top: 15px;
    }
  }
}
.homeProductItem__btn {
  margin-top: 35px;
  @media screen and (max-width: 750px){
    margin-top: 30px;
    .btn-primary {
      width: 100%;
    }
  }
}
.homeNews {
  padding: 120px 0 120px;
  background-color: var(--color-blue-light);
  @media screen and (max-width: 750px){
    padding: 60px 15px 60px;
  }
}
.homeNews__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  @media screen and (max-width: 750px){
    flex-direction: column;
  }
}
.homeNews__left {
  @media screen and (max-width: 750px){
    display: contents;
  }
}
.homeNews__title {
  @media screen and (max-width: 750px){
    order: 1;
  }
}
.homeNews__right {
  width: 62.5%;
  @media screen and (max-width: 750px){
    width: 100%;
    margin-top: 20px;
    order: 2;
  }
}
.homeNews__btn {
  margin-top: 100px;
  @media screen and (max-width: 750px){
    margin-top: 30px;
    order: 3;
    display: flex;
    justify-content: center;
  }
}
.homeNewsList {

}
.homeNewsList__item {
  padding: 30px 0;
  border-bottom: 1px solid #999999;
  @media screen and (max-width: 750px){
    padding: 10px 0;
  }
  a {
    display: block;
    text-decoration: none;
    color: inherit;
    position: relative;
    &:after {
      content: "";
      background: url(../img/arrow_right_blue.svg) no-repeat center/10px auto;
      width: 30px;
      height: 30px;
      border: 1px solid var(--color-blue);
      border-radius: 50%;
      position: absolute;
      right: 0px;
      top: 50%;
      transform: translateY(-50%);
      @media screen and (max-width: 750px){
        width: 25px;
        height: 25px;
      }
    }
  }
}
.homeNewsList__date {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-blue);
  font-family: var(--josefin);
  @media screen and (max-width: 750px){
    font-size: 12px;
  }
}
.homeNewsList__title {
  margin-top: 10px;
  font-weight: 500;
  font-size: 18px;
  @media screen and (max-width: 750px){
    font-size: 14px;
    margin-top: 5px;
  }
}
.homeSustain {
  padding-top: 160px;
  @media screen and (max-width: 750px){
    padding-top: 60px;
  }
}
.homeSustain__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  position: relative;
  @media screen and (max-width: 750px){
    flex-direction: column-reverse;
    justify-content: flex-start;
  }
}
.homeSustain__box {
  width: 46.9%;
  background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  padding: 110px 48px 67px 48px;
  box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
  position: relative;
  z-index: 2;
  @media screen and (max-width: 750px){
    width: calc(100% - 15px);
    margin: -65px 0 0 15px;
    padding: 40px 15px 40px 30px;
  }
}
.homeSustain__thumb {
  width: 994px;
  position: absolute;
  left: -120px;
  top: -80px;
  z-index: 1;
  @media screen and (max-width: 750px){
    width: calc(100% - 15px);
    position: static;
  }
}
.homeSustain__title {
  position: relative;
  z-index: 1;
  padding-top: 36px;
  @media screen and (max-width: 750px){
    padding-top: 22.5px;
  }
  .ja {
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    border-bottom: 1px solid #fff;
    @media screen and (max-width: 750px){
      font-size: 12px;
    }
  }
  .en {
    font-family: var(--josefin);
    color: var(--color-blue-light);
    font-size: 60px;
    line-height: 1;
    position: absolute;
    top: 0px;
    left: -30px;
    opacity: 0.15;
    @media screen and (max-width: 750px){
      font-size: 40px;
      left: -15px;
    }
  }
}
.homeSustain__subtitle {
  margin-top: 50px;
  font-size: 26px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 1.4;
  font-family: var(--serif);
  @media screen and (max-width: 750px){
    margin-top: 25px;
    font-size: 23px;
  }
}
.homeSustain__text {
  margin-top: 40px;
  font-size: 18px;
  color: #fff;
  line-height: 2;
  @media screen and (max-width: 750px){
    margin-top: 25px;
    font-size: 16px;
  }
}
.homeSustain__btn {
  margin-top: 40px;
  @media screen and (max-width: 750px){
    margin-top: 30px;
  }
}
.homeContact {
  margin-top: 120px;
  padding: 80px 0;
  background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  @media screen and (max-width: 750px){
    margin-top: 190px;
    padding: 170px 15px 60px;
    position: relative;
  }
}
.homeContact__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  position: relative;
  @media screen and (max-width: 750px){
    display: block;
    position: static;
  }
}
.homeContact__block {
  width: 50%;
  color: #fff;
  @media screen and (max-width: 1200px){
    width: calc(100% - 580px);
  }
  @media screen and (max-width: 750px){
    width: 100%;
  }
}
.homeContact__thumb {
  position: absolute;
  left: -120px;
  top: -120px;
  display: flex;
  width: 650px;
  justify-content: space-between;
  gap: 10px;
  .item:nth-child(2) {
    margin-top: 60px;
    @media screen and (max-width: 750px){
      margin-top: 30px;
    }
  }
  img {
    box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
  }
  @media screen and (max-width: 750px){
    top: -130px;
    left: 0px;
    width: 325px;
    gap: 5px;
  }
}
.homeContact__subtitle {
  margin-top: 20px;
  font-size: 26px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 1.4;
  font-family: var(--serif);
  @media screen and (max-width: 750px){
    font-size: 23px;
    margin-top: 30px;
  }
}
.homeContact__text {
  margin-top: 30px;
  line-height: 2;
  font-size: 18px;
  @media screen and (max-width: 750px){
    font-size: 16px;
  }
}
.homeContact__btn {
  margin-top: 40px;
  @media screen and (max-width: 750px){
    margin-top: 30px;
  }
}
.homeRecruit {
  padding-top: 160px;
  overflow: hidden;
  @media screen and (max-width: 750px){
    padding-top: 190px;
  }
}
.homeRecruit__bg {
  background: url(../img/home/bg_recruit.png) no-repeat center bottom/926px, linear-gradient(90deg, #E59039 0%, #DB6F32 100%);
  padding: 80px 0;
  position: relative;
  padding: 80px 0 50px;
  @media screen and (max-width: 750px){
    background: url(../img/home/bg_recruit.png) no-repeat center bottom -20%/123%, linear-gradient(90deg, #E59039 0%, #DB6F32 100%);
    padding: 140px 15px 60px;
    position: relative;
  }
}
.homeRecruit__inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  @media screen and (max-width: 750px){
    position: static;
  }
}
.homeRecruit__subtitle {
  margin-top: 50px;
  font-family: var(--serif);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  @media screen and (max-width: 1200px){
    width: calc(100% - 580px);
  }
  @media screen and (max-width: 750px){
    width: 100%;
  }
  span {
    background: url(../img/home/bg_recruit.png) no-repeat center bottom/926px, linear-gradient(-90deg, #E59039 0%, #DB6F32 100%);
    font-size: 38px;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.08em;
    padding: 8px 10px;
    + span {
      margin-top: 8px;
      @media screen and (max-width: 750px){
        margin-top: 5px;
      }
    }
  }
  @media screen and (max-width: 750px){
    margin-top: 30px;
    span {
      font-size: 21px;
      padding: 6px 8px;  
    }
  }
}
.homeRecruit__thumb {
  position: absolute;
  right: -120px;
  top: -160px;
  display: flex;
  width: 650px;
  justify-content: space-between;
  gap: 10px;
  .item:nth-child(2) {
    margin-top: 60px;
    @media screen and (max-width: 750px){
      margin-top: 20px;
    }
  }
  img {
    box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
  }
  @media screen and (max-width: 750px){
    top: -130px;
    right: 0px;
    width: 325px;
    gap: 5px;
  }
}
.homeRecruit__btn {
  margin-top: 30px;
  display: flex;
  justify-content: flex-end;
  @media screen and (max-width: 750px){
    margin-top: 40px;
  }
}
.footer {
  background-color: #4D586A;
  padding: 50px 0 60px;
  @media screen and (max-width: 750px){
    padding: 50px 15px 25px;
  }
}
.footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  @media screen and (max-width: 750px){
    flex-direction: column;
    align-items: flex-start;
  }
}
.footer__left {
  @media screen and (max-width: 750px){
    display: contents;
  }
}
.footer__logo {
  img {
    width: 300px;
  }
  @media screen and (max-width: 750px){
    width: 100%;
    text-align: center;
    img {
      width: 300px;
    }
  }
}
.footer__copyright {
  margin-top: 60px;
  font-size: 14px;
  font-family: var(--josefin);
  color: #999999;
  @media screen and (max-width: 750px){
    width: 100%;
    text-align: center;
    margin-top: 35px;
    order: 3;
    font-size: 12px;
  }
}
.footer__right {
  @media screen and (max-width: 750px){
    width: 100%;
    order: 2;
    padding-top: 15px;
  }
}
.footerNavi {
  display: flex;
  gap: 70px;
  @media screen and (max-width: 750px){
    display: block;
  }
}
.footerNavi__list {
  li {
    @media screen and (min-width: 751px){
      + li {
        margin-top: 20px;
      }  
    }
    @media screen and (max-width: 750px){
      margin-top: 35px;
    }
    a {
      color: #fff;
      text-decoration: none;
      font-size: 14px;
      font-weight: 500;
      &:hover {
        text-decoration: underline;
      }
      @media screen and (max-width: 750px){
        display: block;
        font-size: 12px;
        position: relative;
        &:after {
          content: "";
          background: url(../img/arrow_right_white.svg) no-repeat center/9px auto;
          width: 9px;
          height: 9px;
          position: absolute;
          right: 0px;
          top: 50%;
          transform: translateY(-50%);
        }
      }
    }
  }
}
.footer__update {display: block;
  font-size: 14px;
  color: #fff;
  text-align: right;
  margin-top: 2em;
  @media screen and (max-width: 750px){
    font-size: 12px;
  }
}

.pageHero {
  position: relative;
}
.pageHero__bg {
  height: 220px;
  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 16%;
  }
  @media screen and (max-width: 750px){
    height: 143px;
    img {
      object-position: center;
    }
  }
}
.pageHero__title {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  .en {
    display: block;
    font-family: var(--josefin);
    font-size: 80px;
    font-weight: 500;
    text-shadow: 1px 1px 6px rgba(11, 54, 118, 0.6);
    line-height: 1.1;
    @media screen and (max-width: 750px){
      font-size: 35px;
    }
  }
  .ja {
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-shadow: 1px 1px 6px rgba(11, 54, 118, 0.6);
    @media screen and (max-width: 750px){
      font-size: 19px;
    }
  }
}
.aboutMission {
  padding: 60px 0 140px;
  position: relative;
  z-index: 1;
  @media screen and (max-width: 750px){
    padding: 50px 0 90px;
  }
  &:after {
    content: "";
    z-index: -1;
    width: 937px;
    height: 100%;
    background: url(../img/about/bg_mission.png) no-repeat center bottom /contain;
    position: absolute;
    bottom: 0px;
    left: calc(50% - 220px);
    @media screen and (max-width: 750px){
      width: 390px;
      left: auto;
      right: 0px;
    }
  }
}
.aboutMission__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.aboutMission__title {
  padding-top: 77px;
  position: relative;
  z-index: 1;
  @media screen and (max-width: 750px){
    padding-top: 27px;
  }
  .ja {
    font-size: 14px;
    font-weight: 500;
    color: var(--color-blue);
    border-bottom: 1px solid var(--color-blue);
    @media screen and (max-width: 750px){
      font-size: 13px;
      padding-bottom: 5px;
    }
  }
  .en {
    font-family: var(--josefin);
    color: rgba(63, 88, 164, 0.15);
    font-size: 120px;
    line-height: 1;
    position: absolute;
    top: 0px;
    left: -60px;
    @media screen and (max-width: 750px){
      font-size: 66px;
      left: auto;
      right: -10px;
    }
  }
}
.aboutMission__text {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  @media screen and (max-width: 750px){
    margin-top: 25px;
  }
  span {
    font-family: var(--serif);
    font-size: 35px;
    color: #fff;
    letter-spacing: 0.05em;
    background: var(--color-blue);
    padding: 0 15px;
    @media screen and (max-width: 750px){
      font-size: 22px;
      padding: 5px 8px;
    }
    &.meiryo {
      font-family: 'Meiryo', sans-serif;
    }
  }
}
.aboutVision {
  padding: 80px 0 100px;
  position: relative;
  background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  @media screen and (max-width: 750px){
    padding: 260px 15px 60px;
  }
}
.aboutVision__inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  @media screen and (max-width: 750px){
    position: static;
  }
}
.aboutVision__subtitle {
  margin-top: 80px;
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.05em;
  width: 660px;
  @media screen and (max-width: 1240px){
    width: calc(100% - 550px);
  }
  @media screen and (max-width: 750px){
    width: 100%;
    font-size: 21px;
    margin-top: 30px;
  }
  &.meiryo {
    font-family: 'Meiryo', sans-serif;
  }
}
.aboutVision__en {
  margin-top: 30px;
  font-size: 18px;
  color: #fff;
  font-family: var(--josefin);
  @media screen and (max-width: 750px){
    font-size: 15px;
    margin-top: 20px;
  }
}
.aboutVision__text {
  margin-top: 70px;
  line-height: 2;
  color: #fff;
  font-size: 18px;
  @media screen and (max-width: 750px){
    margin-top: 40px;
    font-size: 16px;
  }
}
.aboutVision__img {
  position: absolute;
  right: -120px;
  top: -160px;
  display: flex;
  width: 650px;
  justify-content: space-between;
  gap: 10px;
  .item:nth-child(2) {
    margin-top: 40px;
    @media screen and (max-width: 750px){
      margin-top: 20px;
    }
  }
  img {
    box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
  }
  @media screen and (max-width: 750px){
    top: -30px;
    right: 0px;
    width: 325px;
    gap: 5px;
  }
}
.aboutValue {
  padding: 100px 0 180px;
  @media screen and (max-width: 750px){
    padding: 60px 0 190px;
  }
}
.aboutValue__inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.aboutValueList {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  margin-top: 20px;
  @media screen and (max-width: 750px){
    flex-direction: column;
    gap: 15px;
    margin-top: 20px;
  }
}
.aboutValueList__item {
  background-color: #fff;
  box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.14);
  width: calc((100% - 60px) / 4);
  padding: 40px 30px;
  position: relative;
  @media screen and (max-width: 750px){
    width: 100%;
    padding: 30px 15px 35px;
  }
}
.aboutValueList__num {
  position: absolute;
  top: 17px;
  right: 38px;
  img {
    width: auto;
    height: 53px;
  }
  @media screen and (max-width: 750px){
    top: 20px;
    right: 20px;
    img {
      height: 47px;
    }
  }
}
.aboutValueList__title {
  font-size: 24px;
  letter-spacing: 0.08em;
  position: relative;
  padding-bottom: 10px;
  @media screen and (max-width: 750px){
    font-size: 19px;
  }
  &:after {
    content: "";
    width: 20px;
    height: 1px;
    position: absolute;
    bottom: 0px;
    left: 0px;
    background-color: var(--color-blue);
  }
}
.aboutValueList__text {
  margin-top: 20px;
  line-height: 1.9;
  @media screen and (max-width: 750px){
    font-size: 14px;
  }
}
.aboutMessage {
  padding: 80px 0 100px;
  background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  position: relative;
  z-index: 1;
  @media screen and (max-width: 750px){
    padding: 220px 0 60px;
  }
}
.aboutMessage__inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  @media screen and (max-width: 750px){
    padding: 0 15px;
    position: static;
  }
}
.aboutMessage__subtitle {
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.05em;
  margin-top: 80px;
  width: 660px;
  @media screen and (max-width: 1240px){
    width: calc(100% - 502px);
  }
  @media screen and (max-width: 750px){
    font-size: 21px;
    margin-top: 40px;
  }
  &.meiryo {
    font-family: 'Meiryo', sans-serif;
  }
}
.aboutMessage__text {
  margin-top: 40px;
  line-height: 2;
  max-width: 674px;
  color: #fff;
  font-size: 18px;
  @media screen and (max-width: 1240px){
    width: calc(100% - 502px);
  }
  @media screen and (max-width: 750px){
    width: initial;
    margin-top: 25px;
    font-size: 16px;
  }
}
.aboutMessage__name {
  margin-top: 30px;
  text-align: right;
  max-width: 674px;
  color: #fff;
  font-family: "Yuji Syuku", serif;
  @media screen and (max-width: 750px){
    font-size: 14px;
  }
  .large {
    font-size: 32px;
    font-weight: 500;
    margin-left: 0.5em;
    @media screen and (max-width: 750px){
      font-size: 21px;
    }
  }
}
.aboutMessage__thumb {
  position: absolute;
  right: -120px;
  top: -120px;
  display: flex;
  width: 586px;
  img {
    box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
  }
  @media screen and (max-width: 750px){
    top: -130px;
    right: 0px;
    width: 293px;
  }
}

.companyProfile {
  padding: 100px 0 120px;
  @media screen and (max-width: 750px){
    padding: 50px 0 60px;
  }
}
.companyProfile__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.companyProfile__table {
  margin-top: 80px;
  width: 100%;
  border: 1px solid #F6F8FB;
  @media screen and (max-width: 750px){
    margin-top: 40px;
  }
  th {
    width: 360px;
    background-color: var(--color-blue);
    color: #fff;
    vertical-align: middle;
    font-weight: bold;
    padding: 25px 38px;
    border-bottom: 1px solid #fff;
    font-size: 18px;
    @media screen and (max-width: 750px){
      width: 37%;
      font-size: 14px;
      padding: 17px 15px;
    }
  }
  td {
    padding: 25px 38px;
    border-bottom: 1px solid #F6F8FB;
    font-weight: 500;
    font-size: 18px;
    @media screen and (max-width: 750px){
      font-size: 14px;
      padding: 17px 15px;
    }
  }
}
.companyOffice {
  padding: 100px 0 120px;
  background-color: var(--color-blue-light);
  @media screen and (max-width: 750px){
    padding: 50px 0 60px;
  }
}
.companyOffice__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.companyOfficeList {
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 60px 0;
  @media screen and (max-width: 750px){
    flex-direction: column;
    margin-top: 40px;
    gap: 30px;
  }
}
.companyOfficeList__item {
  width: calc((100% - 50px) / 2);
  @media screen and (max-width: 750px){
    width: 100%;
  }
}
.companyOfficeList__name {
  margin-top: 16px;
  color: var(--color-blue);
  font-size: 22px;
  font-weight: 500;
  position: relative;
  padding-left: 1em;
  @media screen and (max-width: 750px){
    font-size: 19px;
  }
  &:before {
    content: "";
    width: 12px;
    height: 12px;
    background-color: var(--color-blue);
    border-radius: 50%;
    position: absolute;
    top: 11px;
    left: 0px;
    @media screen and (max-width: 750px){
      top: 9px;
      width: 9px;
      height: 9px;
    }
  }
}
.companyOfficeList__info {
  margin-top: 10px;
  p {
    font-size: 18px;
    @media screen and (max-width: 750px){
      font-size: 14px;
    }
  }
}
.companyOfficeList__tel {
  display: inline-block;
  dt {
    display: inline-block;
    font-size: 12px;
    color: var(--color-blue);
    width: 36px;
    border-radius: 50vh;
    background-color: #fff;
    text-align: center;
    padding: 2px 0;
    @media screen and (max-width: 750px){
      font-size: 11px;
      width: 30px;
    }
  }
  dd {
    display: inline-block;
    margin-left: 6px;
    @media screen and (max-width: 750px){
      font-size: 14px;
    }
  }
  + .companyOfficeList__tel {
    margin-left: 20px;
    @media screen and (max-width: 750px){
      margin-left: 15px;
    }
  }
}
.companyOfficeList__block {
  display: flex;
  @media screen and (max-width: 750px){
    p {
      font-size: 12px;
      margin-top: 5px;
    }
  }
}
.companyHistory {
  padding: 100px 0 120px;
  @media screen and (max-width: 750px){
    padding: 60px 0 60px;
  }
}
.companyHistory__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.companyHistory__table {
  width: 100%;
  margin-top: 80px;
  @media screen and (max-width: 750px){
    margin-top: 30px;
  }
  th {
    width: 160px;
    position: relative;
    font-size: 50px;
    font-weight: 500;
    color: var(--color-blue);
    font-family: var(--josefin);
    line-height: 1;
    padding-bottom: 50px;
    @media screen and (max-width: 750px){
      width: 96px;
      font-size: 32px;
      padding-bottom: 25px;
    }
    &:before {
      content: "";
      width: 16px;
      height: 100%;
      background-color: var(--color-blue-light);
      top: 0px;
      right: 0px;
      position: absolute;
      @media screen and (max-width: 750px){
        width: 14px;
      }
    }
    &:after {
      content: "";
      width: 16px;
      height: 16px;
      background-color: var(--color-blue);
      border-radius: 50%;
      position: absolute;
      top: 13px;
      right: 0px;
      @media screen and (max-width: 750px){
        width: 14px;
        height: 14px;
        top: 7px;
      }
    }
  }
  tr:last-child th {
    padding-bottom: 0;
  }
  td {
    font-size: 18px;
    padding-left: 60px;
    line-height: 1.9;
    vertical-align: top;
    padding-top: 6px;
    @media screen and (max-width: 750px){
      padding-left: 20px;
      font-size: 14px;
      padding-top: 1px;
      padding-bottom: 25px;
    }
  }
}
.newsArchives {
  padding: 100px 0 120px;
  @media screen and (max-width: 750px){
    padding: 50px 0 60px;
  }
}
.newsArchives__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.newsArchivesCategories {
  display: flex;
  justify-content: center;
  margin-top: 50px;
  li {
    margin: 0 20px;
    font-weight: 500;
    font-size: 18px;
    @media screen and (max-width: 750px){
      margin: 0 10px;
      font-size: 12px;
    }
    a {
      color: inherit;
      text-decoration: none;
      padding-bottom: 5px;
      &:hover,
      &.is-active {
        color: var(--color-blue);
        border-bottom: 1px solid var(--color-blue);
      }
    }
  }
}
.newsArchivesList {
  max-width: 800px;
  margin: 50px auto 0;
  border-top: 1px solid #999999;
  @media screen and (max-width: 750px){
    margin: 30px auto 0;
  }
}
.newsArchivesList__item {
  border-bottom: 1px solid #999999;
  a {
    padding: 50px 100px 50px 0;
    text-decoration: none;
    color: inherit;
    display: block;
    position: relative;
    @media screen and (max-width: 750px){
      padding: 20px 40px 20px 0;
    }
    &:hover {
      opacity: 0.8;
    }
    &:after {
      content: "";
      background: url(../img/arrow_right_blue.svg) no-repeat center/13px auto;
      width: 50px;
      height: 50px;
      border: 1px solid var(--color-blue);
      border-radius: 50%;
      position: absolute;
      right: 0px;
      top: 50%;
      transform: translateY(-50%);
      @media screen and (max-width: 750px){
        width: 25px;
        height: 25px;
        background-size: 9px auto;
      }
    }
  }
}
.newsArchivesList__date {
  color: #999999;
  font-size: 16px;
  font-weight: 600;
  margin-right: 20px;
  font-family: var(--josefin);
  @media screen and (max-width: 750px){
    font-size: 12px;
  }
}
.newsArchivesList__category {
  color: var(--color-blue);
  font-size: 14px;
  font-weight: bold;
  @media screen and (max-width: 750px){
    font-size: 12px;
  }
}
.newsArchivesList__title {
  font-size: 18px;
  font-weight: 500;
  margin-top: 16px;
  @media screen and (max-width: 750px){
    margin-top: 10px;
    font-size: 14px;
  }
}
.newsArchivesList__excerpt {
  margin-top: 12px;
  color: #666666;
  line-height: 1.8;
  font-size: 16px;
  @media screen and (max-width: 750px){
    font-size: 14px;
  }
}
.newsSingle {
  padding: 1px 0 120px;
  position: relative;
  z-index: 2;
  @media screen and (max-width: 750px){
    padding: 1px 15px;
  }
}
.newsSingle__inner {
  max-width: 900px;
  margin: -140px auto 0;
  padding: 70px;
  background-color: #fff;
  border-radius: 60px 60px 0 0;
  @media screen and (max-width: 750px){
    margin-top: -36px;
    border-radius: 30px 30px 0 0;
    padding: 35px 15px 60px;
  }
}
.newsSingle__title {
  font-size: 35px;
  font-weight: 500;
  @media screen and (max-width: 750px){
    font-size: 26px;
  }
}
.newsSingle__meta {
  margin-top: 24px;
  @media screen and (max-width: 750px){
    margin-top: 8px;
  }
}
.newsSingle__date {
  color: #999999;
  font-size: 16px;
  font-weight: 600;
  margin-right: 20px;
  font-family: var(--josefin);
  @media screen and (max-width: 750px){
    font-size: 12px;
  }
}
.newsSingle__category {
  display: inline-block;
  margin-left: 20px;
  font-size: 14px;
  font-weight: bold;
  color: var(--color-blue);
  @media screen and (max-width: 750px){
    font-size: 12px;
  }
}
.newsSingle__post {
  border-top: 1px solid #999999;
  margin-top: 40px;
  padding-top: 40px;
  @media screen and (max-width: 750px){
    margin-top: 15px;
    padding-bottom: 20px;
  }
}
.newsSingle__btn {
  margin-top: 100px;
  display: flex;
  justify-content: center;
}
.faq {
  padding-top: 100px;
  @media screen and (max-width: 750px){
    padding-top: 50px;
  }
}
.faq__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.faqList {
  max-width: 900px;
  margin: 60px auto 0;
  @media screen and (max-width: 750px){
    margin-top: 30px;
  }
}
.faqList__item {
  + .faqList__item {
    margin-top: 10px;
    @media screen and (max-width: 750px){
      margin-top: 7px;
    }
  }
}
.faqList__q {
  background-color: #F6F8FB;
  position: relative;
  padding: 30px 90px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  @media screen and (max-width: 750px){
    padding: 20px 55px 20px 47px;
    font-size: 14px;
  }
  &:before {
    content: "Q.";
    color: var(--color-blue);
    font-family: var(--josefin);
    font-size: 35px;
    font-weight: 600;
    line-height: 1;
    position: absolute;
    top: 25px;
    left: 30px;
    @media screen and (max-width: 750px){
      font-size: 26px;
      top: 18px;
      left: 15px;
    }
  }
  &:after {
    content: "";
    background: url(../img/arrow_right_blue.svg) no-repeat center/10px auto;
    width: 30px;
    height: 30px;
    border: 1px solid var(--color-blue);
    border-radius: 50%;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.3s ease;
    @media screen and (max-width: 750px){
      width: 25px;
      height: 25px;
      background-size: 9px auto;
      right: 15px;
    }
  }
  &.is-active {
    &:after {
      transform: translateY(-50%) rotate(-90deg);
    }
  }
  &:hover {
    background-color: #EDEFF3;
  }
}
.faqList__a {
  padding: 20px 90px;
  font-size: 16px;
  font-weight: 500;
  position: relative;
  display: none;
  @media screen and (max-width: 750px){
    padding: 13px 0px 18px 47px;
    font-size: 14px;
  }
  &:before {
    content: "A.";
    color: #6F9ED6;
    font-family: var(--josefin);
    font-size: 35px;
    font-weight: 600;
    line-height: 1;
    position: absolute;
    top: 15px;
    left: 33px;
    @media screen and (max-width: 750px){
      font-size: 26px;
      top: 10px;
      left: 18px;
    }
  }
}
.contact {
  padding-top: 120px;
  @media screen and (max-width: 750px){
    padding-top: 60px;
  }
}
.contactHeader {
  text-align: center;
  @media screen and (max-width: 750px){
    padding: 0 20px;
    text-align: left;
  }
}
.contactHeader__title {
  font-size: 35px;
  font-weight: 500;
  @media screen and (max-width: 750px){
    font-size: 26px;
  }
}
.contactHeader__text {
  font-size: 16px;
  margin-top: 30px;
  @media screen and (max-width: 750px){
    font-size: 14px;
    margin-top: 20px;
  }
}
.contactForm {
  margin-top: 80px;
  background-color: var(--color-blue-light);
  padding-top: 80px;
  padding-bottom: 120px;
  @media screen and (max-width: 750px){
    margin-top: 30px;
    padding: 40px 15px 60px;
  }
}
.contactForm__inner {
  max-width: 640px;
  margin: 0 auto;
}
.contactTable__title {
  background-color: var(--color-blue);
  color: #fff;
  padding: 15px 20px;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 1em;
  @media screen and (max-width: 750px){
    font-size: 18px;
  }
}
.contactTable__item {
  &.-agree {
    text-align: center;
  }
  + .contactTable__item {
    margin-top: 26px;
    @media screen and (max-width: 750px){
      margin-top: 20px;
    }
  }
}
.error-group {
  margin-bottom: 26px;
  @media screen and (max-width: 750px){
    margin-bottom: 20px;
  }
}
.contactTable__product {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5em 0;
  border-top: 1px solid var(--color);
  .num {
    margin-left: 1em;
    @media screen and (max-width: 750px){
      margin: 0;
    }
  }
  .price {
    margin-left: 1em;
    @media screen and (max-width: 750px){
      display: block;
      margin: 0;
    }
  }
}
.contactTable__label {
  font-weight: bold;
  position: relative;
  .required {
    font-size: 10px;
    font-weight: bold;
    background-color: var(--color-blue);
    padding: 1px 0.5em;
    text-align: center;
    display: inline-block;
    color: #fff;
    margin-left: 8px;
    border-radius: 3px;
    position: relative;
    top: -1px;
  }
}
.contactTable__link {
  position: absolute;
  top: 0px;
  right: 0px;
  @media screen and (max-width: 750px){
    font-size: 14px;
    top: 2px;
  }
}
.contactTable__input {
  margin-top: 10px;
}
.form-text {
  width: 100%;
  height: 50px;
  background-color: #fff;
  border: 1px solid #EAEDF2;
  padding: 0 10px;
  &::placeholder {
    color: #999999;
  }
}
.form-num {
  width: 8em;
  height: 50px;
  background-color: #fff;
  border: 1px solid #EAEDF2;
  padding: 0 10px;
  @media screen and (max-width: 750px){
    width: 6em;
  }
  &::placeholder {
    color: #999999;
  }
}
.form-select {
  width: 100%;
  height: 50px;
  background-color: #fff;
  border: 1px solid #EAEDF2;
  padding: 0 10px;
}
.form-textarea {
  width: 100%;
  height: 200px;
  background-color: #fff;
  border: 1px solid #EAEDF2;
  padding: 10px;
}
.agree-checkbox {
  width: 16px;
  height: 16px;
  margin-right: 4px;
}
.contact__btn {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.pp {
  padding: 100px 0 120px;
  @media screen and (max-width: 750px){
    padding: 50px 0 60px;
  }
}
.pp__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.content {
  padding-top: 60px;
}

.strengthIntro {
  padding-top: 100px;
  position: relative;
  &:before {
    content: "";
    width: 570px;
    height: 660px;
    background-color: var(--color-blue-light);
    position: absolute;
    top: 0px;
    left: calc(50% - 720px);
    z-index: -1;
  }
  @media screen and (max-width: 750px){
    padding-top: 60px;
    padding-bottom: 30px;
    &:before {
      width: 76%;
      height: 100%;
      left: 0px;
    }
  }
}
.strengthIntro__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  position: relative;
  @media screen and (max-width: 750px){
    padding: 0 15px;
    display: block;
  }
}
.strengthIntro__right {
  width: 48%;
  padding-top: 40px;
  @media screen and (max-width: 750px){
    width: 100%;
    padding-top: 0;
  }
}
.strengthIntro__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  @media screen and (min-width: 751px){
    > span {
      padding: 10px 15px;
      font-size: 35px;
      font-weight: 500;
      color: #fff;
      background-color: var(--color-blue);
      font-family: var(--serif);
    }
  }
  @media screen and (max-width: 750px){
    span {
      display: inline-block;
      font-size: 26px;
      font-weight: 500;
      color: #fff;
      background-color: var(--color-blue);
      padding: 5px 8px;
      font-family: var(--serif);
    }
    .bottom {
      display: contents;
    }
  }
}
.strengthIntro__text {
  margin-top: 40px;
  line-height: 2;
  font-size: 18px;
  @media screen and (max-width: 750px){
    font-size: 16px;
    margin-top: 30px;
    line-height: 1.7;
  }
}
.strengthIntro__thumbs {
  width: 54.2%;
  margin-left: -120px;
  display: flex;
  .item {
    &:first-child {
      margin-right: 10px;
      margin-top: 40px;
    }
    img {
      box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
    }
  }
  @media screen and (max-width: 750px){
    width: 94%;
    margin: 30px 0 0 -15px;
    .item {
      &:first-child {
        margin-right: 5px;
        margin-top: 20px;
      }
    }
  }
}
.strengthFour {
  padding-top: 120px;
  overflow: hidden;
  @media screen and (max-width: 750px){
    padding-top: 60px;
  }
}
.strengthFour__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.strengthFourList {
  margin-top: 40px;
  @media screen and (max-width: 750px){
    margin-top: 30px;
  }
}
.strengthFourList__item {
  display: flex;
  padding: 50px 0 70px;
  display: flex;
  justify-content: space-between;
  position: relative;
  &:after {
    content: "";
    width: 200vw;
    position: absolute;
    z-index: -1;
    top: 0px;
    left: -50vw;
    height: 100%;
    background-color: var(--color-blue-light);
  }
  @media screen and (max-width: 750px){
    padding: 40px 0 0;
    display: block;
    &:after {
      height: calc(100% - 165px);
      width: calc(100% + 30px);
      left: -15px;
      top: 0px;
    }
  }
  + .strengthFourList__item {
    margin-top: 130px;
    @media screen and (max-width: 750px){
      
    }
  }
  @media screen and (min-width: 751px){
    &:nth-child(even) {
      flex-direction: row-reverse;
      .strengthFourList__right {
        margin: -100px 0 0 -120px;
      }
    }
  }
  @media screen and (max-width: 750px){
    &:nth-child(even) {
      flex-direction: row-reverse;
      .strengthFourList__right {
        margin: 30px 0 0 -15px;
      }
    }
  }
}
.strengthFourList__left {
  width: 49.2%;
  @media screen and (max-width: 750px){
    width: 100%;
  }
}
.strengthFourList__right {
  width: 55.8%;
  margin: -100px -120px 0 0;
  @media screen and (max-width: 750px){
    width: calc(100% + 15px);
    margin: 30px -15px 0 0;
  }
  img {
    box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
  }
}
.strengthFourList__num {
  display: flex;
  align-items: flex-end;
  @media screen and (max-width: 750px){
    justify-content: flex-end;
  }
  span {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    font-family: var(--josefin);
    color: var(--color-blue);
    border-bottom: 1px solid var(--color-blue);
    margin-right: 10px;
    @media screen and (max-width: 750px){
      font-size: 12px;
    }
  }
  img {
    width: 65px;
  }
}
.strengthFourList__title {
  margin-top: 30px;
  font-size: 32px;
  font-weight: 500;
  font-family: var(--serif);
  @media screen and (max-width: 750px){
    font-size: 24px;
    margin-top: 25px;
  }
}
.strengthFourList__text {
  margin-top: 40px;
  line-height: 1.9;
  font-size: 18px;
  @media screen and (max-width: 750px){
    margin-top: 25px;
    font-size: 16px;
    line-height: 1.7;
  }
}
.strengthTech {
  margin-top: 120px;
  background-color: var(--color-blue-light);
  padding: 80px 0 120px;
  overflow: hidden;
  @media screen and (max-width: 750px){
    margin-top: 60px;
    padding: 50px 0 60px;
  }
}
.strengthTech__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.strengthTechList {
  margin-top: 80px;
  @media screen and (max-width: 750px){
    margin-top: 30px;
  }
}
.strengthTechList__item {
  display: flex;
  justify-content: space-between;
  @media screen and (max-width: 750px){
    flex-direction: column-reverse;
  }
  + .strengthTechList__item {
    margin-top: 80px;
    @media screen and (max-width: 750px){
      margin-top: 50px;
    }
  }
  @media screen and (min-width: 751px){
    &:nth-child(even) {
      flex-direction: row-reverse;
      .strengthTechList__right {
        margin: -80px 0 0 -120px;
      }
    }
  }
}
.strengthTechList__left {
  width: 49.2%;
  padding-top: 30px;
  @media screen and (max-width: 750px){
    width: 100%;
    padding-top: 25px;
  }
}
.strengthTechList__right {
  width: 55.8%;
  margin: -80px -120px 0 0;
  @media screen and (max-width: 750px){
    width: 100%;
    margin: 0;
  }
  img {
    box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
  }
}
.strengthTechList__title {
  font-size: 32px;
  font-weight: 500;
  font-family: var(--serif);
  position: relative;
  padding-bottom: 20px;
  .en {
    font-family: var(--josefin);
    color: var(--color-blue);
    font-size: 18px;
    display: block;
    @media screen and (max-width: 750px){
      font-size: 16px;
    }
  }
  &:before {
    content: "";
    width: 30px;
    height: 2px;
    background-color: var(--color-blue);
    position: absolute;
    top: 100%;
    left: 0px;
  }
  @media screen and (max-width: 750px){
    font-size: 24px;
  }
}
.strengthTechList__text {
  margin-top: 30px;
  line-height: 1.9;
  font-size: 18px;
  @media screen and (max-width: 750px){
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.7;
  }
}
.sustainAgree {
  padding: 100px 0 0;
  @media screen and (max-width: 750px){
    padding-top: 50px;
  }
}
.sustainAgree__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.sustainCommit {
  margin-top: 60px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  @media screen and (max-width: 750px){
    margin-top: 40px;
    flex-direction: column;
  }
}
.sustainCommit__title {
  font-size: 16px;
  font-weight: 500;
  color: var(--color-blue);
  border-bottom: 1px solid var(--color-blue);
  padding-bottom: 5px;
  @media screen and (max-width: 750px){
    font-size: 16px;
  }
}
.sustainCommit__text {
  width: 80%;
  line-height: 1.9;
  font-size: 18px;
  @media screen and (max-width: 750px){
    width: 100%;
    margin-top: 15px;
    font-size: 16px;
    line-height: 1.7;
  }
}
.sustainDec {
  display: flex;
  margin-top: 160px;
  justify-content: flex-end;
  position: relative;
  @media screen and (max-width: 750px){
    flex-direction: column-reverse;
    justify-content: flex-start;
    margin-top: 30px;
  }
}
.sustainDec__left {
  position: absolute;
  top: -108px;
  left: -120px;
  width: 70.8%;
  z-index: -1;
  @media screen and (max-width: 750px){
    position: relative;
    top: 0;
    left: 0;
    width: calc(100% + 15px);
    margin-left: -15px;
    img {
      aspect-ratio: 72 / 50;
      object-fit: cover;
    }
  }
}
.sustainDec__right {
  width: 46.9%;
  background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  padding: 70px 50px 80px;
  color: #fff;
  @media screen and (max-width: 750px){
    width: calc(100% + 15px);
    margin: -50px -15px 0 0;
    padding: 40px 15px 50px 30px;
  }
}
.sustainDec__title {
  position: relative;
  padding-top: 40px;
  @media screen and (max-width: 750px){
    padding-top: 20px;
  }
  .en {
    font-family: var(--josefin);
    position: absolute;
    left: -24px;
    top: 0;
    line-height: 1;
    color: #F6F8FB;
    opacity: 0.15;
    font-size: 60px;
    font-weight: 500;
    @media screen and (max-width: 750px){
      font-size: 40px;
      left: -12px;
    }
  }
  .ja {
    font-size: 35px;
    font-weight: 500;
    @media screen and (max-width: 750px){
      font-size: 26px;
    }
  }
}
.sustainDec__text {
  margin-top: 35px;
  line-height: 2;
  font-size: 18px;
  @media screen and (max-width: 750px){
    margin-top: 25px;
    font-size: 16px;
    line-height: 1.7;
  }
}
.sustainIssue {
  margin-top: 120px;
  background-color: var(--color-blue-light);
  padding: 80px 0 230px;
  @media screen and (max-width: 750px){
    margin-top: 60px;
    @media screen and (max-width: 750px){
      padding: 50px 0 260px;
    }
  }
}
.sustainIssue__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.sustainIssueList {
  margin-top: 80px;
  @media screen and (max-width: 750px){
    margin-top: 30px;
  }
}
.sustainIssueList__item {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  @media screen and (max-width: 750px){
    flex-direction: column-reverse;
  }
  + .sustainIssueList__item {
    margin-top: 80px;
    @media screen and (max-width: 750px){
      margin-top: 50px;
    }
  }
  @media screen and (min-width: 751px){
    &:nth-child(even) {
      flex-direction: row;
      .sustainIssueList__left {
        margin: 0 -120px 0 0;
      }
    }
  }
}
.sustainIssueList__left {
  width: 55.8%;
  margin: 0 0 0 -120px;
  img {
    box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
  }
  @media screen and (max-width: 750px){
    width: 100%;
    margin: 0;
  }
}
.sustainIssueList__right {
  width: 49.2%;
  padding-top: 30px;
  @media screen and (max-width: 750px){
    width: 100%;
    padding-top: 25px;
  }
}
.sustainIssueList__title {
  font-size: 32px;
  font-weight: 500;
  font-family: var(--serif);
  position: relative;
  padding-bottom: 20px;
  &:before {
    content: "";
    width: 30px;
    height: 2px;
    background-color: var(--color-blue);
    position: absolute;
    top: 100%;
    left: 0px;
  }
  @media screen and (max-width: 750px){
    font-size: 24px;
  }
}
.sustainIssueList__text {
  margin-top: 30px;
  line-height: 1.9;
  font-size: 18px;
  @media screen and (max-width: 750px){
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.7;
  }
}
.sustainHolder {
  padding: 0 0 120px;
  @media screen and (max-width: 750px){
    padding: 0 15px 60px;
  }
}
.sustainHolder__inner {
  max-width: 1200px;
  margin: -130px auto 0;
  background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  padding: 60px 80px 80px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  @media screen and (max-width: 750px){
    margin: -200px -15px 0 0;
    display: block;
    padding: 30px 15px 60px 30px;
  }
}
.sustainHolder__title {
  position: relative;
  padding-top: 40px;
  @media screen and (max-width: 750px){
    padding-top: 50px;
  }
  .en {
    font-family: var(--josefin);
    position: absolute;
    left: -24px;
    top: 0;
    line-height: 1;
    color: #F6F8FB;
    opacity: 0.15;
    font-size: 60px;
    font-weight: 500;
    white-space: nowrap;
    @media screen and (max-width: 750px){
      font-size: 40px;
      left: -12px;
    }
  }
  .ja {
    font-size: 35px;
    font-weight: 500;
    @media screen and (max-width: 750px){
      font-size: 26px;
    }
  }
}
.sustainHolder__text {
  width: 61.3%;
  line-height: 1.9;
  padding-top: 40px;
  font-size: 18px;
  @media screen and (max-width: 750px){
    width: 100%;
    margin-top: 25px;
    font-size: 16px;
    line-height: 1.7;
  }
}
.qcdTop {
  padding: 100px 0;
  @media screen and (max-width: 750px){
    padding: 50px 15px 60px;
  }
}
.qcdTop__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 70px;
  position: relative;
  @media screen and (max-width: 750px){
    padding: 65px 0 0;
  }
}
.qcdTop__title {
  font-size: 120px;
  font-family: var(--josefin);
  font-weight: 500;
  color: #E7E7E7;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: -1;
  line-height: 1;
  @media screen and (max-width: 750px){
    font-size: 66px;
  }
}
.qcdTop__text {
  font-size: 22px;
  letter-spacing: 0.05em;
  font-family: var(--sans-serif);
  line-height: 1.8;
  @media screen and (max-width: 1240px){
    width: calc(100% - 700px);
  }
  @media screen and (max-width: 750px){
    width: 100%;
    font-size: 19px;
  }
}
.qcdTop__list {
  display: flex;
  justify-content: flex-end;
  @media screen and (max-width: 750px){
    margin-top: 25px;
    justify-content: center;
    flex-wrap: wrap;
  }
  li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    color: #fff;
    &:nth-child(1) {
      background-color: rgba(111,158,214, 0.9);
    }
    &:nth-child(2) {
      background-color: rgba(73,129,196, 0.9);
    }
    &:nth-child(3) {
      background-color: rgba(88,108,170, 0.9);
    }
    &:nth-child(4) {
      background-color: rgba(63,88,164, 0.9);
    }
    .en {
      font-size: 40px;
      font-family: var(--josefin);
      font-weight: 500;
      line-height: 1.2;
    }
    .ja {
      font-size: 22px;
      font-weight: 500;
    }
    @media screen and (min-width: 751px){
      margin-right: -15px;
      &:last-child {
        margin-right: 0;
      }  
    }
    @media screen and (max-width: 750px){
      width: 150px;
      height: 150px;
      margin: -5px;
      .en {
        font-size: 31px;
      }
      .ja {
        font-size: 19px;
      }
    }
  }
}
.qcdContent {
  background-color: #F6F8FB;
  overflow: hidden;
  padding-bottom: 120px;
  @media screen and (max-width: 750px){
    padding-bottom: 80px;
  }
}
.qcdContent__title {
  font-size: 35px;
  font-weight: 500;
  font-family: var(--sans-serif);
  background-color: var(--color-blue);
  color: #fff;
  text-align: center;
  padding: 0.25em 0;
  letter-spacing: 0.05em;
  @media screen and (max-width: 750px){
    font-size: 26px;
  }
}
.qcdContent__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.qcdContent__item {
  padding-top: 120px;
  display: flex;
  justify-content: space-between;
  margin-right: -120px;
  @media screen and (max-width: 750px){
    margin: 0;
    padding-top: 60px;
    flex-direction: column-reverse;
  }
}
.qcdContent__left {
  position: relative;
  width: 60.9%;
  @media screen and (max-width: 750px){
    width: 100%;
    margin-top: 60px;
  }
}
.qcdContent__right {
  width: 34.5%;
  @media screen and (max-width: 750px){
    width: calc(100% + 15px);
    margin-right: -15px;
  }
  img {
    box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
    aspect-ratio: 456 / 408;
    object-fit: cover;
    @media screen and (max-width: 750px){
      aspect-ratio: 720 / 484;
    }
  }
}
.qcdContent__theme {
  margin-top: 20px;
  display: flex;
  align-items: flex-start;
  dt {
    width: 83px;
    text-align: center;
    background-color: var(--color-blue);
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    @media screen and (max-width: 750px){
      width: 68px;
      font-size: 19px;
    }
  }
  dd {
    flex: 1;
    margin-left: 0.5em;
    font-size: 22px;
    font-weight: 500;
    color: var(--color-blue);
    letter-spacing: 0.03em;
    @media screen and (max-width: 750px){
      font-size: 19px;
    }
  }
}
.qcdContentBefore {
  margin-top: 40px;
  background-color: #fff;
  text-align: center;
  padding: 60px 0;
  position: relative;
  z-index: 1;
  @media screen and (max-width: 750px){
    margin-top: 30px;
    padding: 40px 25px 35px;
  }
  &:after {
    content: "";
    width: 20px;
    height: 20px;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    background-color: #222222;
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    @media screen and (max-width: 750px){
      width: 15px;
      height: 15px;
      bottom: -25px;
    }
  }
}
.qcdContentBefore__en {
  position: absolute;
  font-size: 80px;
  font-weight: 500;
  font-family: var(--josefin);
  line-height: 1;
  top: 20px;
  right: 20px;
  z-index: -1;
  color: #E7E7E7;
  @media screen and (max-width: 750px){
    font-size: 50px;
    top: 15px;
    right: 15px;
  }
}
.qcdContentBefore__title {
  font-size: 22px;
  font-weight: 500;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 30px;
  @media screen and (max-width: 750px){
    font-size: 19px;
    padding-bottom: 12px;
    margin-bottom: 20px;
  }
  &:after {
    content: "";
    width: 30px;
    height: 2px;
    background-color: var(--color-blue);
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.qcdContentBefore__list {
  display: inline-block;
  text-align: left;
  @media screen and (max-width: 750px){
    display: block;
  }
  li {
    font-size: 22px;
    font-weight: 500;
    margin-left: 1em;
    text-indent: -1em;
    @media screen and (max-width: 750px){
      font-size: 19px;
    }
    + li {
      margin-top: 10px;
      @media screen and (max-width: 750px){
        margin-top: 7px;
      }
    }
    &:before {
      content: "・";
      margin-right: 8px;
      color: var(--color-blue);
    }
  }
}
.qcdContentBefore__circle {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: -20px;
  top: -20px;
  color: #fff;
  @media screen and (max-width: 750px){
    width: 80px;
    height: 80px;
    top: -5px;
    left: 20px;
  }
  .en {
    font-size: 32px;
    font-weight: 500;
    font-family: var(--josefin);
    line-height: 1.2;
    @media screen and (max-width: 750px){
      font-size: 16px;
    }
  }
  .ja {
    font-size: 22px;
    font-weight: 500;
    @media screen and (max-width: 750px){
      font-size: 14px;
    }
  }
  &.-circle01 {
    background-color: #6F9ED6;
  }
  &.-circle02 {
    background-color: #4981C4;
  }
  &.-circle03 {
    background-color: #586CAA;
  }
  &.-circle04 {
    background-color: #3F58A4;
  }
}
.qcdContentAfter {
  margin-top: 60px;
  background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  padding: 60px 0;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
  @media screen and (max-width: 750px){
    margin-top: 35px;
    padding: 40px 25px 35px;
  }
  &:after {
    content: "";
    background: url(../img/qcds/light.svg) no-repeat center/contain;
    width: 146px;
    aspect-ratio: 146 / 150;
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: -1;
    @media screen and (max-width: 750px){
      width: 100px;
      bottom: 10px;
      right: 10px;
    }
  }
}
.qcdContentAfter__en {
  position: absolute;
  font-size: 80px;
  font-weight: 500;
  font-family: var(--josefin);
  line-height: 1;
  top: 20px;
  right: 20px;
  z-index: -1;
  color: rgba(246, 248, 251, 0.15);
  @media screen and (max-width: 750px){
    font-size: 50px;
    top: 15px;
    right: 15px;
  }
}
.qcdContentAfter__title {
  font-size: 22px;
  font-weight: 500;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 30px;
  @media screen and (max-width: 750px){
    font-size: 19px;
    padding-bottom: 12px;
    margin-bottom: 20px;
  }
  &:after {
    content: "";
    width: 30px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.qcdContentAfter__list {
  display: inline-block;
  text-align: left;
  li {
    font-size: 32px;
    font-weight: 500;
    margin-left: 1em;
    text-indent: -1em;
    @media screen and (max-width: 750px){
      font-size: 21px;
    }
    + li {
      margin-top: 10px;
      @media screen and (max-width: 750px){
        margin-top: 7px;
      }
    }
    &:before {
      content: "・";
      margin-right: 8px;
      color: #fff;
    }
  }
}
.serviceIntro {
  padding-top: 140px;
  padding-bottom: 40px;
  overflow: hidden;
  position: relative;
  z-index: 1;
  @media screen and (max-width: 750px){
    padding: 60px 15px 30px;
  }
  &:after {
    content: "";
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0px;
    left: calc(50% + 150px);
    background-color: #F6F8FB;
    z-index: -1;
    @media screen and (max-width: 750px){
      left: 0px;
      width: calc(100% - 90px);
    }
  }
}
.serviceIntro__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  @media screen and (max-width: 750px){
    padding: 0 0;
    display: block;
  }
}
.serviceIntro__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  @media screen and (min-width: 751px){
    > span {
      padding: 10px 15px;
      font-size: 35px;
      font-weight: 500;
      color: #fff;
      background-color: var(--color-blue);
      font-family: var(--serif);
    }  
  }
  @media screen and (max-width: 750px){
    .sp-contents {
      display: contents;
    }
    span {
      padding: 5px 10px;
      font-size: 26px;
      font-weight: 500;
      color: #fff;
      background-color: var(--color-blue);
      font-family: var(--serif);
    }
  }
}
.serviceIntro__text {
  margin-top: 40px;
  line-height: 2;
  font-size: 18px;
  @media screen and (max-width: 750px){
    font-size: 14px;
    margin-top: 30px;
  }
}
.serviceIntro__left {
  width: 580px;
  @media screen and (max-width: 750px){
    width: 100%;
  }
}
.serviceIntro__right {
  width: 650px;
  margin-right: -120px;
  display: flex;
  gap: 10px;
  @media screen and (max-width: 750px){
    width: calc(100vw - 50px);
    margin-left: -15px;
    margin-right: 0;
    gap: 5px;
    margin-top: 40px;
  }
  .item {
    &:last-child {
      position: relative;
      top: -40px;
      @media screen and (max-width: 750px){
        top: -20px;
      }
    }
    img {
      box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
    }
  }
}
.serviceUnit {
  @media screen and (max-width: 750px){
    padding-top: 80px;
  }
}
.serviceUnit__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.serviceUnit__navi {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  @media screen and (max-width: 750px){
    justify-content: center;
    gap: 10px 15px;
    flex-wrap: wrap;
  }
  li {
    display: flex;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #F6F8FB url(../img/icon_link_circle.svg) no-repeat center bottom 30px;
    background-size: 32px auto;
    font-size: 22px;
    font-weight: 500;
    position: relative;
    cursor: pointer;
    @media screen and (max-width: 750px){
      width: calc((100% - 30px) / 3);
      height: auto;
      aspect-ratio: 1 / 1;
      font-size: 19px;
      background-image: none;
      font-size: 19px;
    }
    &:hover {
      background-color: var(--color-blue);
      color: #fff;
    }
    &.is-active {
      background-color: var(--color-blue);
      color: #fff;
      pointer-events: none;
      &:before {
        content: "";
        width: 62px;
        height: 30px;
        position: absolute;
        bottom: -70px;
        left: calc(50% - 31px);
        background-color: #F6F8FB;
        clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
        @media screen and (max-width: 750px){
          display: none;
        }
      }
    }
    &:after {
      content: "";
      width: 10px;
      height: 20px;
      background-color: #6F9ED6;
      position: absolute;
      left: -30px;
      top: calc(50% - 10px);
      clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
      @media screen and (max-width: 750px){
        left: -10px;
        width: 5px;
        height: 10px;
        top: calc(50% - 5px);
      }
    }
    &:first-child:after {
      display: none;
    }
    small {
      font-size: 16px;
      @media screen and (max-width: 750px){
        font-size: 12px;
      }
    }
  }
}
.serviceUnitContent {
  margin-top: 68px;
  @media screen and (max-width: 750px){
    position: relative;
    margin: 25px -15px 0;
    &:after {
      content: "";
      width: 30px;
      height: 15px;
      background-color: #F6F8FB;
      position: absolute;
      top: -14px;
      left: calc(50% - 15px);
      clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
    }
  }
}
.serviceUnitBlock {
  padding: 60px;
  background-color: #F6F8FB;
  display: none;
  @media screen and (max-width: 750px){
    padding: 50px 15px;
    width: 100%;
  }
  &.is-active {
    display: block;
  }
}
.serviceUnitBlock__row {
  display: flex;
  @media screen and (max-width: 750px){
    display: block;
  }
  + .serviceUnitBlock__row {
    margin-top: 50px;
    @media screen and (max-width: 750px){
      margin-top: 45px;
    }
  }
}
.serviceUnitBlock__left {
  width: 200px;
  padding-right: 1em;
  @media screen and (max-width: 750px){
    width: 100%;
    padding: 0;
  }
}
.serviceUnitBlock__title {
  display: inline-block;
  font-size: 22px;
  font-weight: 500;
  color: var(--color-blue);
  border-bottom: 1px solid var(--color-blue);
  @media screen and (max-width: 750px){
    border-style: none;
    margin-bottom: 15px;
    &:before {
      content: "・";
    }
  }
}
.serviceUnitBlock__right {
  flex: 1;
}
.serviceUnitList {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 50px 20px;
  @media screen and (max-width: 750px){
    flex-direction: column;
    gap: 30px;
  }
}
.serviceUnitList__item {
  width: calc((100% - 40px) / 3);
  min-width: 280px;
  background-color: #fff;
  @media screen and (max-width: 750px){
    width: 100%;
    min-width: initial;
  }
}
.serviceUnitList__title {
  text-align: center;
  height: 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: var(--color-blue);
  font-size: 22px;
  font-weight: bold;
  line-height: 1.2;
  padding: 0 0.5em;
  @media screen and (max-width: 750px){
    height: auto;
    font-size: 19px;
    padding: 10px 0.5em;
  }
}
.serviceUnitList__link {
  border-top: 1px solid #F6F8FB;
  font-size: 22px;
  @media screen and (max-width: 750px){
    font-size: 19px;
  }
  span {
    display: block;
    padding: 18px 36px 18px 18px;
    @media screen and (max-width: 750px){
      padding: 13px 42px 13px 15px;
    }
    &.has-link {
      background: url(../img/icon_link.svg) no-repeat right 16px center;
      background-size: 12px auto;
      &:hover {
        cursor: pointer;
        background-color: #F6F8FB;
      }
    }
  }
  a {
    display: block;
    padding: 18px 36px 18px 18px;
    text-decoration: none;
    color: inherit;
    background: url(../img/icon_link.svg) no-repeat right 16px center;
    background-size: 12px auto;
    &:hover {
      cursor: pointer;
      background-color: #F6F8FB;
    }
    @media screen and (max-width: 750px){
      padding: 13px 42px 13px 15px;
    }
  }
}
.unitModal {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
}
.unitModal__inner {
  position: relative;
}
.unitModal__close {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  @media screen and (max-width: 750px){
    top: -16px;
    right: -16px;
  }
}
.unitModal__item {
  padding: 20px;
  background-color: #EDEDED;
  display: none;
  @media screen and (max-width: 750px){
    padding: 10px;
  }
  img {
    /*
    max-width: calc(90vw - 40px);
    max-height: calc(90dvh - 40px);
    width: auto;
    height: auto;
    */
    width: 700px;
    max-width: calc(90vw - 20px);
    aspect-ratio: 700 / 385;
    object-fit: cover;
  }
  video {
    width: 700px;
    max-width: calc(90vw - 20px);
    aspect-ratio: 700 / 385;
    object-fit: cover;
  }
}
.serviceUnit__link {
  margin-top: 40px;
  text-align: center;
  @media screen and (max-width: 750px){
    margin-top: 25px;
  }
  a {
    display: inline-block;
    color: var(--color-blue);
    border-bottom: 1px solid var(--color-blue);
    padding-right: 23px;
    position: relative;
    font-size: 22px;
    font-weight: bold;
    text-decoration: none;
    @media screen and (max-width: 750px){
      font-size: 19px;
    }
    &:after {
      content: "";
      width: 12px;
      height: 12px;
      background: url(../img/icon_link.svg) no-repeat center/contain;
      position: absolute;
      top: 50%;
      right: 0px;
      transform: translateY(-50%);
    }
  }
}
.unitMerit {
  padding-top: 100px;
  @media screen and (max-width: 750px){
    padding-top: 80px;
  }
}
.unitMerit__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.unitMerit__table {
  width: 100%;
  margin-top: 50px;
  border: 1px solid #F6F8FB;
  @media screen and (max-width: 750px){
    margin-top: 30px;
  }
  th {
    width: 150px;
    height: 74px;
    background-color: var(--color-blue);
    color: #fff;
    font-size: 16px;
    text-align: center;
    font-weight: bold;
    border: 1px solid #F6F8FB;
    vertical-align: middle;
    @media screen and (max-width: 750px){
      width: 64px;
      font-size: 13px;
      height: auto;
      padding: 15px 12px;
    }
  }
  thead {
    td {
      border: 1px solid #F6F8FB;
      background-color: #F6F8FB;
      text-align: center;
      font-size: 16px;
      font-weight: bold;
      vertical-align: middle;
      @media screen and (max-width: 750px){
        font-size: 13px;
        padding: 15px 12px;
      }
    }
  }
  tbody {
    td {
      border: 1px solid #F6F8FB;
      font-size: 16px;
      font-weight: 500;
      padding-left: 36px;
      vertical-align: middle;
      @media screen and (max-width: 750px){
        font-size: 13px;
        padding: 15px 12px;
      }
    }
  }
}
.serviceCase {
  padding-top: 120px;
  padding-bottom: 120px;
  overflow: hidden;
  @media screen and (max-width: 750px){
    padding-top: 60px;
    padding-bottom: 80px;
  }
}
.serviceCase__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.serviceCase__item {
  padding-top: 120px;
  display: flex;
  justify-content: space-between;
  margin-right: -120px;
  @media screen and (max-width: 750px){
    margin: 0;
    padding-top: 60px;
    flex-direction: column-reverse;
  }
}
.serviceCase__left {
  position: relative;
  width: 60.9%;
  @media screen and (max-width: 750px){
    width: 100%;
    margin-top: 30px;
  }
}
.serviceCase__right {
  width: 34.5%;
  @media screen and (max-width: 750px){
    width: calc(100% + 15px);
    margin-right: -15px;
  }
  img {
    box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.12);
    aspect-ratio: 456 / 408;
    object-fit: cover;
    @media screen and (max-width: 750px){
      aspect-ratio: 720 / 484;
    }
  }
}
.serviceCase__h3 {
  font-size: 22px;
  font-weight: 500;
  color: var(--color-blue);
  padding-left: 1em;
  @media screen and (max-width: 750px){
    font-size: 19px;
  }
  &:before {
    content: "・";
    position: absolute;
    top: 0px;
    left: 0px;
  }
}
.serviceCaseBefore {
  margin-top: 20px;
  background-color: #F6F8FB;
  text-align: center;
  padding: 60px 0;
  position: relative;
  z-index: 1;
  @media screen and (max-width: 750px){
    margin-top: 30px;
    padding: 40px 25px 35px;
  }
  &:after {
    content: "";
    width: 20px;
    height: 20px;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    background-color: #222222;
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    @media screen and (max-width: 750px){
      width: 15px;
      height: 15px;
      bottom: -25px;
    }
  }
}
.serviceCaseBefore__en {
  position: absolute;
  font-size: 80px;
  font-weight: 500;
  font-family: var(--josefin);
  line-height: 1;
  top: 20px;
  right: 20px;
  z-index: -1;
  color: #E7E7E7;
  @media screen and (max-width: 750px){
    font-size: 50px;
    top: 15px;
    right: 15px;
  }
}
.serviceCaseBefore__list {
  display: inline-block;
  text-align: left;
  @media screen and (max-width: 750px){
    display: block;
  }
  li {
    font-size: 22px;
    font-weight: 500;
    margin-left: 1em;
    text-indent: -1em;
    @media screen and (max-width: 750px){
      font-size: 19px;
    }
    + li {
      margin-top: 10px;
      @media screen and (max-width: 750px){
        margin-top: 7px;
      }
    }
    &:before {
      content: "・";
      margin-right: 8px;
      color: var(--color-blue);
    }
  }
}
.serviceCaseAfter {
  margin-top: 60px;
  background: linear-gradient(90deg, #3F58A4 0%, #6F9ED6 100%);
  padding: 60px 50px;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
  @media screen and (max-width: 750px){
    margin-top: 35px;
    padding: 40px 25px 35px;
  }
  &:after {
    content: "";
    background: url(../img/qcds/light.svg) no-repeat center/contain;
    width: 146px;
    aspect-ratio: 146 / 150;
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: -1;
    @media screen and (max-width: 750px){
      width: 100px;
      bottom: 10px;
      right: 10px;
    }
  }
}
.serviceCaseAfter__en {
  position: absolute;
  font-size: 80px;
  font-weight: 500;
  font-family: var(--josefin);
  line-height: 1;
  top: 20px;
  right: 20px;
  z-index: -1;
  color: rgba(246, 248, 251, 0.15);
  @media screen and (max-width: 750px){
    font-size: 50px;
    top: 15px;
    right: 15px;
  }
}
.serviceCaseAfter__list {
  display: inline-block;
  text-align: left;
  li {
    font-size: 32px;
    font-weight: 500;
    margin-left: 1em;
    text-indent: -1em;
    @media screen and (max-width: 750px){
      font-size: 21px;
    }
    + li {
      margin-top: 10px;
      @media screen and (max-width: 750px){
        margin-top: 7px;
      }
    }
    &:before {
      content: "・";
      margin-right: 8px;
      color: #fff;
    }
  }
}

.pageContent {
  padding-top: 100px;
  padding-bottom: 120px;
  @media screen and (max-width: 750px){
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
.pageContent__inner {
  max-width: 1200px;
  margin: 0 auto;
  @media screen and (max-width: 750px){
    padding: 0 15px;
  }
}
.buyForm {
  background-color: var(--color-blue-light);
  padding-top: 80px;
  padding-bottom: 120px;
  @media screen and (max-width: 750px){
    padding: 40px 15px 60px;
  }
}
.buyForm__inner {
  max-width: 640px;
  margin: 0 auto;
}

.confirmModal {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
}
.confirmModal__inner {
  background-color: #fff;
  padding: 40px;
  max-width: 400px;
  width: 90%;
  height: 90dvh;
  overflow-y: auto;
  text-align: center;
  @media screen and (max-width: 750px){
    padding: 25px 15px;
  }
}
.confirmModal__title {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 1em;
  @media screen and (max-width: 750px){
    font-size: 18px;
  }
}
.confirmModal__text {
  @media screen and (max-width: 750px){
    font-size: 14px;
  }
}
.confirmModal__container {
  margin-top: 2em;
  text-align: left;
}
.confirmModal__container {
  dl {
    display: flex;
    + dl {
      margin-top: 1em;
    }
    dt {
      font-weight: bold;
      margin-right: 1em;
      white-space: nowrap;
    }
    @media screen and (max-width: 750px){
      font-size: 14px;
    }
  }
}