@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
/* Set core root defaults */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html {
  scroll-behavior: smooth;
}
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, img, i, dl, dt, dd, ol, ul, li, form, label, table, tbody, tfoot, thead, tr, th, td, article, aside, canvas, figure, footer, header, nav, section, audio, video {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border: 0;
  outline: 0;
}
body {
  line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, img {
  display: block;
}
img {
  max-width: 100%;
}
nav ul {
  list-style: none;
}
li {
  list-style: none;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}
a {
  padding: 0;
  margin: 0;
  color: #000000;
  font-size: 100%;
  text-decoration: none;
  vertical-align: baseline;
  background: transparent;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
input, select {
  vertical-align: middle;
}
html {
  margin: 0;
  overflow-x: hidden;
  font-size: 62.5%;
  margin-top: 0 !important;
}
body {
  margin: 0;
  overflow-x: hidden;
  color: #000000;
  background-color: #ffffff;
  font-family: "Noto Sans JP", "Noto Sans Japanese", YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 480px) {
  body {
    letter-spacing: 0;
  }
}
.-spOnly {
  display: none;
}
@media only screen and (max-width: 768px) {
  .-spOnly {
    display: inline-block;
  }
}
.-spOnly2 {
  display: none;
}
@media only screen and (max-width: 480px) {
  .-spOnly2 {
    display: block;
  }
}
.-spNone {
  display: block;
}
@media only screen and (max-width: 480px) {
  .-spNone {
    display: none;
  }
}
.-pcOnly {
  display: block;
}
@media only screen and (max-width: 768px) {
  .-pcOnly {
    display: none;
  }
}
.-pc1024Only {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .-pc1024Only {
    display: inline-block;
  }
}
@media only screen and (max-width: 480px) {
  .-pc1024Only {
    display: none;
  }
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.contact {
  width: 100%;
  height: 275px;
}
@media only screen and (max-width: 768px) {
  .contact {
    height: 160px;
  }
}
.contactButton__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.contactButton {
  font-family: "Jost", sans-serif;
  display: block;
  color: #ffffff;
  background: linear-gradient(#cc2a8d, #ae0cd9);
  width: 50%;
  margin: auto;
  font-size: 5rem;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-transform: uppercase;
  padding: 10rem 0 9.5rem 0;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .contactButton {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 480px) {
  .contactButton {
    font-size: 2rem;
    padding: 5rem 0;
  }
}
.contactButton::before {
  position: absolute;
  display: block;
  content: url(/img/renewal/contact.png);
  left: 50%;
  top: 3rem;
  transform: translateX(-50%) scale(0.5);
}
@media only screen and (max-width: 480px) {
  .contactButton::before {
    top: 0;
    transform: translateX(-50%) scale(0.32);
  }
}
.contactButton::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background-color: rgba(0, 0, 0, 0);
  width: 100%;
  height: 100%;
  transition: background-color 0.3s ease;
}
.contactButton:hover::after {
  background-color: rgba(0, 0, 0, 0.3);
}
.contactButton__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-top: 1.5rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .contactButton__text {
    font-size: 1rem;
    line-height: 1.4;
  }
}
.contactButton__text::after {
  width: 13px;
  height: 13px;
  position: absolute;
  display: block;
  content: "";
  border-bottom: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  top: 4rem;
  left: 50%;
  transform: rotate(45deg);
}
@media only screen and (max-width: 768px) {
  .contactButton__text::after {
    font-size: 1rem;
  }
}
.downloadButton {
  font-family: "Jost", sans-serif;
  display: block;
  color: #ffffff;
  background: linear-gradient(#0491a3, #01e089);
  width: 50%;
  margin: auto;
  font-size: 5rem;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-transform: uppercase;
  padding: 10rem 0 9.5rem 0;
  transition: background-color 0.3s ease;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .downloadButton {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 480px) {
  .downloadButton {
    font-size: 2rem;
    padding: 5rem 0;
  }
}
.downloadButton::before {
  position: absolute;
  display: block;
  content: url(/img/renewal/download.png);
  left: 50%;
  top: 3rem;
  transform: translateX(-50%) scale(0.5);
}
@media only screen and (max-width: 480px) {
  .downloadButton::before {
    top: 0;
    transform: translateX(-50%) scale(0.32);
  }
}
.downloadButton::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background-color: rgba(0, 0, 0, 0);
  width: 100%;
  height: 100%;
  transition: background-color 0.3s ease;
}
.downloadButton:hover::after {
  background-color: rgba(0, 0, 0, 0.3);
}
.downloadButton__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-top: 1.5rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .downloadButton__text {
    font-size: 1rem;
    line-height: 1.4;
  }
}
.downloadButton__text::after {
  width: 13px;
  height: 13px;
  position: absolute;
  display: block;
  content: "";
  border-bottom: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  top: 4rem;
  left: 50%;
  transform: rotate(45deg);
}
.VS__serviceTop {
  max-width: 1352px;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  margin: auto;
  margin-bottom: 12rem;
}
.VS__serviceTop.-infoWhy {
  padding-top: 14rem;
}
@media only screen and (max-width: 768px) {
  .VS__serviceTop.-infoWhy {
    padding-top: 0;
  }
}
@media only screen and (max-width: 768px) {
  .VS__serviceTop {
    background: #f6f6f6;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 480px) {
  .VS__serviceTop {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}
.VS__serviceTop.-serviceUnder {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .VS__serviceTop.-serviceUnder {
    padding: 0 2.5rem;
    margin-bottom: 0;
  }
}
.VS__serviceTop__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #272727;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.03em;
  text-align: center;
  padding-bottom: 4rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .VS__serviceTop__title {
    font-size: 4.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .VS__serviceTop__title {
    font-size: 3.8rem;
  }
}
.VS__serviceTop__inner {
  width: 100%;
  max-width: 1332px;
  background-color: #f6f6f6;
  margin: auto;
  padding: 4rem 5rem 5rem 5rem;
  border-radius: 30px;
}
@media only screen and (max-width: 768px) {
  .VS__serviceTop__inner {
    background: unset;
    padding: 2.5rem 0 5rem 0;
  }
}
@media only screen and (max-width: 480px) {
  .VS__serviceTop__inner {
    padding: 4.5rem 0 2.5rem 0;
  }
}
@media only screen and (max-width: 768px) {
  .VS__serviceTop__inner.-serviceUnder {
    background: unset;
    padding-bottom: 2rem;
  }
}
.viewService__under {
  width: 100%;
  padding-top: 6rem;
  background: #f6f6f6;
  padding: 6rem 1rem 8rem 1rem;
}
@media only screen and (max-width: 1023px) {
  .viewService__under {
    padding: 6rem 2.5rem 8rem 2.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .viewService__under {
    padding: 4rem 2.5rem 5rem 2.5rem;
  }
}
.viewService__inner {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}
.viewService__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media only screen and (max-width: 480px) {
  .viewService__list {
    flex-direction: column;
  }
}
.viewService__item {
  width: calc((100% / 4) - 3rem);
  margin-right: 4rem;
  border-top: 1px solid #d1d0d0;
  padding: 2rem 0 0 0;
  position: relative;
}
@media screen and (max-width: 1280px) {
  .viewService__item {
    width: calc((100% / 3) - 3rem);
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 1023px) {
  .viewService__item {
    width: calc((100% / 2) - 2rem);
    margin-right: 2rem;
  }
}
@media only screen and (max-width: 480px) {
  .viewService__item {
    width: 100%;
    padding: 1.5rem 0 2rem 0;
    margin-bottom: 0;
  }
}
.viewService__item::before {
  content: "";
  position: absolute;
  border-width: 1px;
  border-style: solid;
  border-image-source: linear-gradient(#cc2a8d, #ae0cd9);
  border-image-slice: 1;
  width: 7.3rem;
  top: -0.15rem;
}
@media only screen and (max-width: 768px) {
  .viewService__item::before {
    width: 8.7rem;
  }
}
@media only screen and (max-width: 1023px) {
  .viewService__item:nth-child(2) {
    margin-right: 0;
  }
}
@media screen and (max-width: 1280px) {
  .viewService__item:nth-child(3) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .viewService__item:nth-child(3) {
    margin-right: 2rem;
  }
}
.viewService__item:last-child {
  margin-right: 0;
}
.viewService__item.-under {
  width: calc((100% / 3) - 5.3rem);
  margin-right: 7rem;
  border-top: 1px solid #d1d0d0;
  padding: 2rem 0 0 0;
  position: relative;
}
.viewService__item.-under::before {
  content: "";
  position: absolute;
  border-width: 1px;
  border-style: solid;
  border-image-source: linear-gradient(#cc2a8d, #ae0cd9);
  border-image-slice: 1;
  width: 7.3rem;
  height: 0;
  top: -0.15rem;
  left: 0;
  z-index: 100;
}
@media only screen and (max-width: 768px) {
  .viewService__item.-under::before {
    width: 8.7rem;
  }
}
@media only screen and (max-width: 1023px) {
  .viewService__item.-under {
    margin-right: 2rem;
    width: calc((100% / 2) - 2rem);
  }
}
@media only screen and (max-width: 480px) {
  .viewService__item.-under {
    width: 100%;
    padding: 1.5rem 0 2rem 0;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .viewService__item.-under:nth-child(2) {
    margin-right: 0;
  }
}
.viewService__item.-under:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 480px) {
  .viewService__item.-under:last-child {
    width: 100%;
    padding: 1.5rem 0 0 0;
    margin-bottom: 0;
  }
}
.viewService__item:hover .viewService__btn {
  transition: transform 0.3s;
  transform: translateX(10px);
}
.viewService__btnFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.viewService__btn {
  display: block;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: linear-gradient(#cc2a8d, #ae0cd9);
  cursor: pointer;
  position: relative;
  transition: transform 0.3s;
  /* ホバー時と離れた時の両方でアニメーションを設定 */
}
.viewService__btn::before {
  display: block;
  content: "";
  position: absolute;
  width: 6px;
  height: 1px;
  right: 1.2rem;
  top: 46%;
  background: #ffffff;
  transform: rotate(45deg);
}
.viewService__btn::after {
  display: block;
  content: "";
  position: absolute;
  background: #ffffff;
  width: 1.4rem;
  height: 1px;
  right: 50%;
  top: 50%;
  background: #ffffff;
  transform: translate(50%, 50%);
}
@media only screen and (max-width: 768px) {
  .viewService__btn {
    width: 2.8rem;
    height: 2.8rem;
  }
  .viewService__btn::before {
    width: 0.5rem;
    right: 0.9rem;
  }
  .viewService__btn::after {
    width: 1.1rem;
  }
}
.viewService__btn.-recruit {
  margin-top: -3rem;
}
@media only screen and (max-width: 768px) {
  .viewService__btn.-recruit {
    margin-top: -6rem;
  }
}
@media only screen and (max-width: 480px) {
  .viewService__btn.-recruit {
    margin-top: -9rem;
  }
}
.viewService__itemTag {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #6e11cb;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  margin-bottom: 1.5rem;
  text-align: left;
}
@media only screen and (max-width: 480px) {
  .viewService__itemTag {
    font-size: 1.2rem;
    width: 100%;
    margin-right: 0;
    margin-bottom: 1rem;
  }
}
.viewService__itemTitle {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #000000;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: left;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 1023px) {
  .viewService__itemTitle {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .viewService__itemTitle {
    font-size: 1.8rem;
  }
}
.viewService__itemSubTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0;
}
@media only screen and (max-width: 768px) {
  .viewService__itemSubTitle {
    font-size: 1.2rem;
  }
}
.archiveNews__pagination {
  margin: auto;
}
.navigation .pagination {
  margin: auto;
}
.archiveNews__pagination .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  max-width: 358px;
  width: 100%;
  margin: auto;
}
.archiveNews__pagination .page-numbers li {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  padding: 1.5rem 1rem;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin-right: 1rem;
  transition: opacity 0.3s ease;
}
.archiveNews__pagination .page-numbers li:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .archiveNews__pagination .page-numbers li {
    font-size: 1.8rem;
    margin-right: 3rem;
  }
}
@media only screen and (max-width: 480px) {
  .archiveNews__pagination .page-numbers li {
    margin-right: 1rem;
  }
}
.archiveNews__pagination .page-numbers li .dots {
  padding: 1.5rem 1rem 0.5rem 1rem;
}
.page-numbers .page-numbers {
  transition: opacity 0.3s ease;
}
.page-numbers .page-numbers:hover {
  opacity: 0.5;
}
.page-numbers .page-numbers.current:hover {
  opacity: 1;
}
.archiveNews__pagination .page-numbers .current {
  color: #ffffff;
  background: linear-gradient(#cc2a8d, #ae0cd9);
  padding: 1.5rem 2rem;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .archiveNews__pagination .page-numbers .current {
    padding: 0.7rem 1.2rem 1rem 1.2rem;
  }
}
.linkcard {
  width: 100%;
  max-width: 788px;
  margin-bottom: 6rem;
}
.lkc-card {
  margin: 0;
}
.lkc-internal-wrap {
  max-width: 788px;
  border: none;
  border-radius: 10px;
}
@media only screen and (max-width: 480px) {
  .lkc-internal-wrap {
    height: 29.3rem;
  }
}
.lkc-content {
  margin: 0;
  height: 16rem;
}
@media only screen and (max-width: 480px) {
  .lkc-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    height: 29.3rem;
  }
}
.lkc-thumbnail {
  width: 100%;
  max-width: 21.9rem;
  max-height: 16rem;
  height: auto;
  aspect-ratio: 1.36875;
  object-fit: cover;
  z-index: 20;
  margin: 0;
}
@media only screen and (max-width: 480px) {
  .lkc-thumbnail {
    max-width: unset;
    max-height: unset;
    aspect-ratio: 1.8388888889;
  }
}
.lkc-thumbnail img {
  width: 100%;
  height: 100%;
  max-height: 16rem;
  border: none;
  border-radius: 10px;
}
@media only screen and (max-width: 480px) {
  .lkc-thumbnail img {
    height: 18rem;
    max-width: unset;
    max-height: unset;
    aspect-ratio: 1.8388888889;
  }
}
@media only screen and (max-width: 480px) {
  .lkc-title {
    margin-top: 1rem;
  }
}
.lkc-title-text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.44;
  padding: 4rem 2.5rem 1.5rem 2rem;
}
@media only screen and (max-width: 768px) {
  .lkc-title-text {
    font-size: 1.4rem;
    padding: 3rem 1.5rem 1.5rem 1.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .lkc-title-text {
    font-size: 1.4rem;
    padding: 3rem 1.5rem 1rem 1.5rem;
  }
}
.lkc-title-text:hover {
  text-decoration: none;
}
.lkc-excerpt {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  padding: 0 2.5rem 4rem 2rem;
}
@media only screen and (max-width: 768px) {
  .lkc-excerpt {
    font-size: 1rem;
  }
}
@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.loading__overLay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff; /* 背景色を白に設定 */
  z-index: 9999;
  opacity: 1;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}

.loading__logoContainer {
  position: relative;
  width: 100%;
  height: 100vh;
}

.loading__logo {
  position: absolute;
  width: 100%;
  max-width: 26.6rem;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.5s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.5s ease, transform 0.3s ease;
  transition: opacity 0.5s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (max-width:480px) {
  .loading__logo {
    max-width: 21rem;
  }
}
@media only screen and (max-width:480px) {
  .loading__logo {
    max-width: 17.4rem;
  }
}

.loading__introTextContainer {
  position: relative;
  width: 100%;
  height: 100vh;
}

.introText {
  position: absolute;
  width: 100%;
  max-width: 77.9rem;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  top: 56%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (max-width:768px) {
  .introText {
    max-width: 47rem;
  }
}
@media only screen and (max-width:480px) {
  .introText {
    max-width: 29.1rem;
  }
}

.sideMenu {
  position: fixed;
  right: 0; /* 右端に固定 */
  top: 50%; /* ビューポートの高さの中央 */
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); /* 要素を中央に配置 */
  z-index: 100;
  opacity: 0;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s; /* アニメーションの追加 */
}
@media only screen and (max-width:768px) {
  .sideMenu {
    display: none;
  }
}

.sideMenu__sp {
  display: none;
  position: fixed;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); /* 要素を中央に配置 */
  z-index: 100;
  width: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s; /* アニメーションの追加 */
}
@media only screen and (max-width:768px) {
  .sideMenu__sp {
    display: block;
  }
}
.sideMenu__sp .sideMenu_wrap-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sideMenu__sp .sideMenu_box {
  width: 50%;
}
.sideMenu__sp .sideMenu_link {
  position: relative;
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  padding: 2.4rem 2rem;
  text-align: left;
  font-size: 1.6rem;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.2;
}
@media only screen and (max-width:480px) {
  .sideMenu__sp .sideMenu_link {
    font-size: 1.4rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.sideMenu__sp .sideMenu_link::after {
  content: "";
  background-image: url(../img/common/icon_sidebar.svg);
  width: 24px;
  height: 24px;
  position: absolute;
  right: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width:480px) {
  .sideMenu__sp .sideMenu_link::after {
    right: 1rem;
  }
}
.sideMenu__sp .sideMenu_link.-green {
  padding: 2.4rem 2rem;
  margin-top: 0;
}
@media only screen and (max-width:480px) {
  .sideMenu__sp .sideMenu_link.-green {
    font-size: 1.4rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/*　左の動き　*/
.sideMenu.LeftMove {
  -webkit-animation: LeftAnime 0.5s forwards;
          animation: LeftAnime 0.5s forwards;
}

@-webkit-keyframes LeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px) translateY(-50%);
            transform: translateX(100px) translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
  }
}

@keyframes LeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px) translateY(-50%);
            transform: translateX(100px) translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
  }
}
/*　右の動き　*/
.sideMenu.RightMove {
  -webkit-animation: RightAnime 0.5s forwards;
          animation: RightAnime 0.5s forwards;
}

@-webkit-keyframes RightAnime {
  from {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(100px) translateY(-50%);
            transform: translateX(100px) translateY(-50%);
  }
}

@keyframes RightAnime {
  from {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(100px) translateY(-50%);
            transform: translateX(100px) translateY(-50%);
  }
}
/*　上の動き　*/
.sideMenu__sp.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
          animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px) translateX(-50%);
            transform: translateY(100px) translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%);
  }
}

@keyframes UpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px) translateX(-50%);
            transform: translateY(100px) translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%);
  }
}
/*　下の動き　*/
.sideMenu__sp.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
          animation: DownAnime 0.5s forwards;
}

@-webkit-keyframes DownAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(100px) translateX(-50%);
            transform: translateY(100px) translateX(-50%);
  }
}

@keyframes DownAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(100px) translateX(-50%);
            transform: translateY(100px) translateX(-50%);
  }
}
.sideMenu_box {
  cursor: pointer;
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  -webkit-box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.3);
          box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.3);
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease; /* 色と背景色の変化を0.3秒で滑らかにする */
}

.sideMenu_box.-green {
  background: -webkit-gradient(linear, left top, left bottom, from(#0491a3), to(#01e089));
  background: linear-gradient(#0491a3, #01e089);
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease; /* 色と背景色の変化を0.3秒で滑らかにする */
}

.sideMenu_box::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background-color: rgba(0, 0, 0, 0);
  width: 100%;
  height: 100%;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.sideMenu_box:hover::after {
  background-color: rgba(0, 0, 0, 0.3);
}

.sideMenu_link {
  display: block;
  color: #ffffff;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  padding: 4.2rem 2rem 1.6rem;
  font-weight: 600;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  position: relative;
  z-index: 101;
}

.sideMenu_link.-pink::after {
  content: "";
  background-image: url(../img/common/icon_mail_sidebar.svg);
  background-size: cover;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 16px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: background-image 0.3s;
  transition: background-image 0.3s; /* アニメーションの追加 */
}

.sideMenu_link.-green {
  margin-top: 15px;
  padding: 1.6rem 2rem;
}

.mainVisual {
  height: 68.6rem;
  position: relative;
  z-index: 10;
  margin-top: -1rem;
}
@media only screen and (max-width:480px) {
  .mainVisual {
    height: 70.3rem;
  }
}

.mainVisual__inner {
  max-width: 1160px;
  height: 100%;
  padding-right: 2rem;
  padding-left: 2rem;
  margin: 0 auto;
}
@media only screen and (max-width:1023px) {
  .mainVisual__inner {
    padding-right: 4rem;
    padding-left: 4rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

.mainVisual__flexBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 36px;
  -webkit-column-gap: 35px;
     -moz-column-gap: 35px;
          column-gap: 35px;
}
@media only screen and (max-width:768px) {
  .mainVisual__flexBtn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 2rem;
    margin-top: 4.9rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__flexBtn {
    margin-top: 4.9rem;
  }
}

.mv__btnBox {
  overflow: hidden;
  cursor: pointer;
  position: relative;
  width: 231px;
  border-radius: 47px;
}
@media only screen and (max-width:768px) {
  .mv__btnBox {
    width: 329px;
  }
}
@media only screen and (max-width:480px) {
  .mv__btnBox {
    width: 95%;
  }
}

.mv__btn {
  overflow: hidden;
  position: relative;
  display: block;
  padding: 14px 20px;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  color: #ffffff;
  border-radius: 47px;
  font-size: 14px;
  font-weight: medium;
}
@media only screen and (max-width:768px) {
  .mv__btn {
    padding: 20px 36px 20px 23px;
  }
}
.mv__btn span {
  display: block;
  position: relative;
  z-index: 100;
  text-align: center;
}

.mv__btn:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.mv__btn::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #bb19b7;
  top: 0;
  left: 0;
  border-radius: 47px;
  mix-blend-mode: multiply;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
}

.mv__btn.-gray {
  background: -webkit-gradient(linear, left top, left bottom, from(#0491a3), to(#01e089));
  background: linear-gradient(#0491a3, #01e089);
}

.mv__btn.-gray::before {
  background-color: #0491a3;
}

.mainVisaul__video {
  width: 100%;
  height: 68.6rem;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
@media only screen and (max-width:480px) {
  .mainVisaul__video {
    height: 70.3rem;
  }
}
@media only screen and (min-width: 1921px) {
  .mainVisaul__video video {
    width: 100%;
  }
}
.mainVisaul__video::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisaul__video::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisaul__video::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
.mainVisaul__video.-serviceTop {
  height: 37rem;
}
@media only screen and (max-width:480px) {
  .mainVisaul__video.-serviceTop {
    height: 81rem;
  }
}
.mainVisaul__video.-serviceTop::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisaul__video.-serviceTop::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisaul__video.-serviceTop::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.swiper2 {
  height: 124px;
}
@media only screen and (max-width:768px) {
  .swiper2 {
    height: 70px;
  }
}
.swiper2 .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 37px;
     -moz-column-gap: 37px;
          column-gap: 37px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper {
    -webkit-column-gap: 13px;
       -moz-column-gap: 13px;
            column-gap: 13px;
  }
}
.swiper2 .swiper-wrapper .swiper-slide {
  text-align: center;
  line-height: 1;
  display: contents;
}
.swiper2 .swiper-wrapper .slide1 img {
  max-height: 35px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide1 img {
    max-height: 20px;
  }
}
.swiper2 .swiper-wrapper .slide2 img {
  max-height: 35px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide2 img {
    max-height: 20px;
  }
}
.swiper2 .swiper-wrapper .slide3 img {
  max-height: 79px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide3 img {
    max-height: 45px;
  }
}
.swiper2 .swiper-wrapper .slide4 img {
  max-height: 56px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide4 img {
    max-height: 31px;
  }
}
.swiper2 .swiper-wrapper .slide5 img {
  max-height: 42px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide5 img {
    max-height: 23px;
  }
}
.swiper2 .swiper-wrapper .slide6 img {
  max-height: 67px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide6 img {
    max-height: 23px;
  }
}

.mainVisal.-top {
  display: none;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.mainVisual__title.-top {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.mainVisual__text.-top {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.mainVisual__box {
  position: absolute;
  z-index: 2000;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width:768px) {
  .mainVisual__box {
    top: 57%;
  }
}

.mainVisual__title {
  font-size: 6.3rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.6;
  color: #ffffff;
}
@media only screen and (max-width:768px) {
  .mainVisual__title {
    font-size: 3.6rem;
    line-height: 1.5;
  }
}

.mainVisual__text {
  color: #ffffff;
}

.mainVisual__text.-type1 {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 3;
}
@media only screen and (max-width:768px) {
  .mainVisual__text.-type1 {
    font-size: 1.4rem;
  }
}

.mainVisual__text.-type2 {
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.5;
}
@media only screen and (max-width:768px) {
  .mainVisual__text.-type2 {
    font-size: 1.3rem;
  }
}

.mainVisual__text.-type3 {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 0.8;
}
@media only screen and (max-width:768px) {
  .mainVisual__text.-type3 {
    font-size: 2.4rem;
  }
}

.mainVisual__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 4rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__flex {
    margin-top: 8.4rem;
  }
}

.mainVisual__flexBox {
  margin-right: 3.5rem;
}

.viewMore__btn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  margin: auto;
  width: 226px;
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  font-weight: 400;
  color: #ffffff;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  padding: 1.4rem 1rem;
  margin-bottom: 1rem;
  margin-top: 3rem;
  position: relative;
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  transition: background 0.3s ease, color 0.3s ease; /* 色と背景色の変化を0.3秒で滑らかにする */
  border-radius: 30px;
  z-index: 10;
}
@media only screen and (max-width:768px) {
  .viewMore__btn {
    padding: 1.4rem 5rem;
    width: 250px;
  }
}
@media only screen and (max-width:768px) {
  .viewMore__btn.-project {
    display: none;
  }
}
@media only screen and (max-width:768px) {
  .viewMore__btn.-recruit {
    display: none;
  }
}

.viewMore__btn.-outcome {
  width: 276px;
  font-size: 1.5rem;
  padding: 1.8rem 1rem;
  margin-top: 3.1rem;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width:768px) {
  .viewMore__btn.-outcome {
    padding: 1.4rem 5rem;
    width: 250px;
    font-size: 1.6rem;
  }
}

.viewMore__btn.-left {
  margin-left: 0;
  margin-top: 0;
}

.viewMore__btn.-business {
  margin-top: 4rem;
}

.viewMore__btn:hover {
  color: #bb19b7;
  background: #ffffff;
}

.viewMore__btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 30px;
  border: 2px solid transparent;
  background: transparent;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: destination-out;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.viewMore__btn:hover::after {
  background: -webkit-gradient(linear, left top, left bottom, from(#ae0cd9), to(#cc2a8d));
  background: linear-gradient(to bottom, #ae0cd9, #cc2a8d);
}

.viewMore__btn__projectSpOnly {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: none;
  margin: auto;
  width: 226px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 400;
  border-radius: 30px;
  color: #ffffff;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  padding: 1rem 4rem 1rem 4rem;
  display: none;
}
@media only screen and (max-width:768px) {
  .viewMore__btn__projectSpOnly {
    display: block;
    margin-top: 4rem;
    margin-bottom: 0;
    width: 250px;
    font-size: 1.6rem;
    padding: 1.3rem 4rem;
  }
}
.viewMore__btn__projectSpOnly.-works {
  padding: 1.4rem 5rem 1.4rem 5rem;
  margin-top: 0;
}

.viewMore__btnWrap {
  padding-right: 2.5rem;
}

.ourBusiness {
  padding-top: 2rem;
  margin-bottom: 6.2rem;
}
@media only screen and (max-width:768px) {
  .ourBusiness {
    padding-top: 4rem;
    margin-bottom: 5.4rem;
  }
}
@media only screen and (max-width:480px) {
  .ourBusiness {
    padding-bottom: 7rem;
    margin-bottom: 0;
  }
}

.ourBusiness__inner {
  width: 100%;
  max-width: 1150px;
  margin: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media only screen and (max-width:768px) {
  .ourBusiness__inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

.ourBusiness__title {
  font-family: "Jost", sans-serif;
  font-size: 7.2rem;
  text-align: center;
  font-weight: bold;
  color: #000000;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:768px) {
  .ourBusiness__title {
    font-size: 5rem;
  }
}

.ourBusiness__title-sub {
  font-family: "Jost", sans-serif;
  font-size: 2.4rem;
  text-align: center;
  font-weight: bold;
  color: #000000;
  text-transform: uppercase;
  margin-top: 3.8rem;
}
@media only screen and (max-width:768px) {
  .ourBusiness__title-sub {
    font-size: 1.4rem;
    margin-top: 3.2rem;
  }
}

.ourBusiness__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 4rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media only screen and (max-width:768px) {
  .ourBusiness__flex {
    margin-top: 4.6rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.ourBusiness__description {
  max-width: 652px;
  width: 45%;
  padding-right: 15px;
}
@media only screen and (max-width:768px) {
  .ourBusiness__description {
    width: 100%;
    max-width: unset;
    margin: auto;
    padding-right: 0;
  }
}

.ourBusiness__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin-bottom: 3.5rem;
  text-align: left;
}
@media only screen and (max-width:768px) {
  .ourBusiness__subTitle {
    margin-bottom: 3rem;
    line-height: 1.72;
    font-size: 2.2rem;
  }
}

.ourBusiness__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2;
}
@media only screen and (max-width:768px) {
  .ourBusiness__text {
    line-height: 1.85;
  }
}
@media only screen and (max-width:480px) {
  .ourBusiness__text {
    font-size: 1.4rem;
  }
}

.ourBusiness__image {
  width: 55%;
  max-width: 506px;
}
@media only screen and (max-width:768px) {
  .ourBusiness__image {
    width: 100%;
    max-width: unset;
    margin: auto;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width:480px) {
  .ourBusiness__image {
    max-width: 375px;
  }
}

.ourBusiness__sitemap {
  padding-top: 6rem;
  width: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  overflow: scroll;
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
}
.ourBusiness__sitemap::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

.ourBusiness__sitemapHead {
  font-size: 6rem;
  color: #ffffff;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .ourBusiness__sitemapHead {
    font-size: 3.6rem;
  }
}

.ourBusiness__sitemapInner {
  width: 100%;
  max-width: 1150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: auto;
  padding: 4rem 0 6rem 1rem;
  overflow-x: scroll;
  white-space: nowrap;
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
}
.ourBusiness__sitemapInner::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
@media only screen and (max-width:1023px) {
  .ourBusiness__sitemapInner {
    padding: 3rem 2.5rem 5rem 2.5rem;
  }
}
@media only screen and (max-width:768px) {
  .ourBusiness__sitemapInner {
    padding: 3rem 2.5rem 5rem 2.5rem;
  }
}

.ourBusiness__sitemapContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-right: 3rem;
  padding-right: 3rem;
  width: 27rem;
  white-space: nowrap;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}
.ourBusiness__sitemapContainer:last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: none;
}
@media only screen and (max-width:768px) {
  .ourBusiness__sitemapContainer {
    width: 24rem;
  }
}

.ourBusiness__sitemapTitle {
  font-family: "Lato", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  position: relative;
  margin-top: 0.8rem;
}
@media only screen and (max-width:768px) {
  .ourBusiness__sitemapTitle {
    width: 242px;
  }
}

.ourBusiness__sitemapSubtitle {
  font-size: 1.2rem;
  font-weight: 600;
  color: #ffffff;
}

.ourBusiness__sitemapList {
  padding-bottom: 1.7rem;
}

.ourBusiness__sitemapItem {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 300;
  letter-spacing: 0.02em;
  margin-top: 1rem;
  margin-bottom: 1rem;
  position: relative;
  list-style: none;
}
.ourBusiness__sitemapItem.-hidden {
  visibility: hidden;
}
.ourBusiness__sitemapItem:first-child {
  margin-top: 2rem;
}
.ourBusiness__sitemapItem a {
  color: #ffffff;
  text-decoration: none;
}
.ourBusiness__sitemapItem a:hover {
  text-decoration: underline;
}

.ourBusiness__sitemapBtn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  font-size: 1.8rem;
  color: #ffffff;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-left: auto;
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 0;
  text-decoration: underline;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media only screen and (max-width:768px) {
  .ourBusiness__sitemapBtn {
    font-size: 1.6rem;
  }
}
.ourBusiness__sitemapBtn:hover {
  opacity: 0.6;
}

.ourBusiness__sitemapBtn.-noline:hover {
  opacity: 1;
}

.ourProject__images {
  overflow: hidden;
  max-width: 960px;
}
.ourProject__images__list {
  width: 100%;
}

.ourProject {
  padding-top: 10rem;
  margin-bottom: 12rem;
}
.ourProject.-works {
  margin-left: -2rem;
  padding-top: 4rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1200px) {
  .ourProject.-works {
    margin-left: 0;
  }
}
@media only screen and (max-width:480px) {
  .ourProject.-works {
    margin-bottom: 8.5rem;
  }
}
@media only screen and (max-width:768px) {
  .ourProject {
    padding-top: 0;
    margin-bottom: 6rem;
  }
}
.ourProject__inner {
  width: 100%;
  height: 100%;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .ourProject__inner {
    padding: 0 0 0 2.5rem;
  }
}
.ourProject__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:768px) {
  .ourProject__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.ourProject__description {
  max-width: 371px;
  margin-right: 6rem;
  margin-left: 11.2rem;
}
@media screen and (max-width: 1200px) {
  .ourProject__description {
    margin-left: 1rem;
  }
}
@media only screen and (max-width:768px) {
  .ourProject__description {
    width: 100%;
    margin: auto;
  }
}
@media screen and (min-width: 1500px) {
  .ourProject__description {
    margin-left: 24rem;
  }
}
@media screen and (min-width: 1700px) {
  .ourProject__description {
    margin-left: 28rem;
  }
}
@media screen and (min-width: 1800px) {
  .ourProject__description {
    margin-left: 32rem;
  }
}
@media screen and (min-width: 1900px) {
  .ourProject__description {
    margin-left: 36rem;
  }
}
.ourProject__title {
  font-family: "Jost", sans-serif;
  color: #272727;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.03em;
  line-height: 1.16;
  margin-top: 6.5rem;
  margin-bottom: 3.6rem;
  text-align: left;
  text-transform: uppercase;
}
@media only screen and (max-width:768px) {
  .ourProject__title {
    padding-right: 2.5rem;
    font-size: 5rem;
    margin-top: 4rem;
    text-align: center;
  }
}
@media only screen and (max-width:768px) {
  .ourProject__title {
    margin-bottom: 1.5rem;
  }
}
.ourProject__text {
  color: #000000;
  font-size: 1.6rem;
  text-align: left;
  font-weight: 500;
  margin-bottom: 4rem;
  letter-spacing: 0;
}
@media only screen and (max-width:768px) {
  .ourProject__text {
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 6rem;
  }
}
.ourProject .sliderDesc {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.ourProject .sliderDesc figure {
  overflow: hidden;
  border-radius: 10px;
}
.ourProject .sliderDesc:hover .singleBlog__slideImg {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.ourProject .sliderDesc .singleBlog__slideImg {
  -webkit-transition: border-radius 0.3s ease, -webkit-transform 0.3s ease;
  transition: border-radius 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, border-radius 0.3s ease;
  transition: transform 0.3s ease, border-radius 0.3s ease, -webkit-transform 0.3s ease;
}

.slider__image__img {
  max-width: 324px;
  height: 399px;
  border-radius: 10px;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width:768px) {
  .slider__image__img {
    height: 300px;
  }
}

.slider__Btn__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2.5rem;
}
@media only screen and (max-width:768px) {
  .slider__Btn__wrap {
    margin-bottom: 2rem;
    display: none;
  }
}
@media only screen and (max-width:480px) {
  .slider__Btn__wrap {
    display: none;
    margin-bottom: 2rem;
  }
}
.slider__Btn__prev {
  width: 5rem;
  height: 5rem;
  background-color: #f6f6f6;
  border: 1px solid #d1d0d0;
  margin-left: -1rem;
  cursor: pointer;
  position: relative;
}
.slider__Btn__prev::after {
  position: absolute;
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
}
.slider__Btn__next {
  width: 5rem;
  height: 5rem;
  background-color: #ffffff;
  border: 1px solid #d1d0d0;
  cursor: pointer;
  position: relative;
}
.slider__Btn__next::after {
  position: absolute;
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.slider__image__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  overflow-x: scroll;
}
.slider__image__item {
  margin-right: 2.5rem;
}
.slider__image__img {
  max-width: 324px;
  border-radius: 10px;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width:768px) {
  .slider__image__img {
    height: 300px;
  }
}
.slider__image__subtitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:768px) {
  .slider__image__subtitle {
    font-size: 1.3rem;
  }
}
.slider__image__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
}
@media only screen and (max-width:768px) {
  .slider__image__title {
    font-size: 1.6rem;
  }
}

.swiper-container {
  overflow-x: scroll !important;
}

.sliderDesc {
  position: relative;
  z-index: 0;
  width: 100%; /* 画像コンテナーの幅を100%に設定 */
  max-width: 100%; /* 画像コンテナーの最大幅を100%に設定 */
}

.sliderDesc img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 324/399;
  border-radius: 10px;
}

.sliderTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  color: #000000;
  height: 100px;
  text-align: left;
  line-height: 1.5;
}
@media only screen and (max-width:768px) {
  .sliderTitle {
    font-size: 1.6rem;
  }
}

.sliderSubtitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 2rem 0 1.5rem 0;
}
@media only screen and (max-width:768px) {
  .sliderSubtitle {
    font-size: 0.13rem;
  }
}

.aboutUs {
  padding-top: 3rem;
  padding-bottom: 6rem;
  position: relative;
}
@media only screen and (max-width:768px) {
  .aboutUs {
    padding-top: 5rem;
  }
}
@media only screen and (max-width:480px) {
  .aboutUs {
    padding-bottom: 7rem;
  }
}
.aboutUs::before {
  position: absolute;
  display: block;
  content: "";
  width: 103px;
  height: 1px;
  top: 0;
  left: 50%;
  background-color: #6e11cb;
}
@media only screen and (max-width:768px) {
  .aboutUs::before {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.aboutUs__inner {
  max-width: 1304px;
  margin-left: 2.5rem;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media only screen and (max-width:768px) {
  .aboutUs__inner {
    margin-left: 0;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.aboutUs__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:768px) {
  .aboutUs__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.aboutUs__title {
  font-family: "Jost", sans-serif;
  font-size: 12rem;
  font-weight: bold;
  color: #000000;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media only screen and (max-width:768px) {
  .aboutUs__title {
    font-size: 4.4rem;
    -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
            writing-mode: unset;
    -webkit-transform: unset;
            transform: unset;
    text-align: center;
  }
}
@media only screen and (max-width:480px) {
  .aboutUs__title {
    font-size: 4.4rem;
  }
}

.aboutUs__contents {
  width: 100%;
  max-width: 918px;
  margin-left: 14rem;
  padding-top: 4rem;
}
@media screen and (max-width: 1200px) {
  .aboutUs__contents {
    margin-left: 2rem;
  }
}
@media only screen and (max-width:768px) {
  .aboutUs__contents {
    margin-left: 0;
    margin: auto;
  }
}
@media only screen and (max-width:480px) {
  .aboutUs__contents {
    padding-top: 3rem;
  }
}

.aboutUs__tag {
  font-family: "Jost", sans-serif;
  color: #6e11cb;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-bottom: 2rem;
  text-transform: uppercase;
  position: relative;
}
@media only screen and (max-width:768px) {
  .aboutUs__tag {
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }
}

.aboutUs__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid #6e11cb;
  margin-bottom: 2.5rem;
}
.aboutUs__text:last-of-type {
  margin-bottom: 6rem;
}
@media only screen and (max-width:768px) {
  .aboutUs__text:last-of-type {
    line-height: 1.5;
    font-size: 2rem;
    margin-bottom: 5rem;
    padding-bottom: 3rem;
  }
}
@media only screen and (max-width:768px) {
  .aboutUs__text {
    line-height: 1.5;
    font-size: 2rem;
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

@media only screen and (max-width:768px) {
  .sp-magin {
    display: inline-block;
    margin-left: 1.5rem;
  }
}

.topics {
  padding-top: 6rem;
  padding-bottom: 8rem;
  background-color: #f6f6f6;
}
@media only screen and (max-width:768px) {
  .topics {
    padding-top: 6rem;
  }
}

.topicsInner {
  max-width: 1221px;
  margin: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media only screen and (max-width:768px) {
  .topicsInner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.topicsFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 3%;
     -moz-column-gap: 3%;
          column-gap: 3%;
}
@media only screen and (max-width:768px) {
  .topicsFlex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.topicsDescription {
  width: 34%;
}
@media only screen and (max-width:768px) {
  .topicsDescription {
    width: 100%;
  }
}

.topicsTitle {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #272727;
  font-size: 6rem;
  letter-spacing: 0.03em;
  text-align: center;
  margin-bottom: 5rem;
}
@media only screen and (max-width:768px) {
  .topicsTitle {
    font-size: 5rem;
    margin-bottom: 1.5rem;
  }
}

.topicsText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: left;
  line-height: 1.85;
  margin-bottom: 2rem;
}
@media only screen and (max-width:768px) {
  .topicsText {
    margin-bottom: 4.5rem;
    text-align: center;
  }
}
@media only screen and (max-width:480px) {
  .topicsText {
    margin-bottom: 2rem;
  }
}

.topicsPosts {
  width: 63%;
}
@media screen and (max-width: 1140px) {
  .topicsPosts {
    margin-top: 6rem;
  }
}
@media only screen and (max-width:768px) {
  .topicsPosts {
    width: 100%;
    margin-top: 0;
  }
}

.topicsPosts__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media only screen and (max-width:768px) {
  .topicsPosts__flex {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.topicsPosts__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding-top: 2rem;
  padding-bottom: 2rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.topicsPosts__link:hover .topicsPosts__title {
  opacity: 0.5;
}
.topicsPosts__link:hover::before, .topicsPosts__link:hover::after {
  right: 2rem;
}
.topicsPosts__link .topicsPosts__title {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  opacity: 1; /* 初期状態は完全に不透明に設定 */
}
@media only screen and (max-width:768px) {
  .topicsPosts__link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.topicsPosts__link::before {
  display: block;
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  right: 3rem;
  top: 46%;
  border-style: solid;
  border-color: transparent transparent transparent #000000;
  border-width: 6px 0px 0px 6px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (max-width:768px) {
  .topicsPosts__link::before {
    display: none;
  }
}
.topicsPosts__link::after {
  display: block;
  content: "";
  position: absolute;
  background: #000000;
  width: 3.4rem;
  height: 1px;
  right: 3.5rem;
  top: 50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (max-width:768px) {
  .topicsPosts__link::after {
    display: none;
  }
}

.topicsPosts__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 2px dotted #000000;
  position: relative;
}
.topicsPosts__item:last-child {
  padding-bottom: 0;
  border: none;
}

.topicsPosts__description {
  margin-left: 3.5rem;
}
@media only screen and (max-width:768px) {
  .topicsPosts__description {
    margin-left: 1.5rem;
  }
}

.topicsPosts__date {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #3b4043;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:768px) {
  .topicsPosts__date {
    font-size: 1.2rem;
    margin-bottom: 0;
  }
}

.topicsPosts__category a {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6e11cb;
  font-size: 1.6rem;
  font-weight: bold;
  margin-left: 2rem;
}
@media only screen and (max-width:768px) {
  .topicsPosts__category a {
    font-size: 1.4rem;
  }
}

.topicsPosts__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
}
@media only screen and (max-width:768px) {
  .topicsPosts__title {
    font-size: 1.3rem;
    line-height: 1.69;
  }
}

.slider__subtitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 3rem 0 1.5rem 0;
}

.topicsPosts__img {
  width: 135px;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 135/75;
}
@media only screen and (max-width:768px) {
  .topicsPosts__img {
    width: 73px;
    height: 40px;
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 73/40;
  }
}

.topicsPosts__type {
  font-family: "Jost", sans-serif;
  color: #6e11cb;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-left: 2rem;
  text-transform: uppercase;
}

.pageTop__recruit {
  padding-bottom: 8rem;
}

.pageTop__recruitImage {
  width: 100%;
  height: 425px;
  margin-bottom: 3rem;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitImage {
    display: none;
  }
}

.pageTop__recruitInner {
  max-width: 1221px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: auto;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitInner {
    padding-right: 0;
    padding-left: 0;
  }
}

.pageTop__recruitFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 2rem;
  -webkit-column-gap: 16%;
     -moz-column-gap: 16%;
          column-gap: 16%;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitFlex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.pageTop__recruitContents {
  width: 21%;
}
@media screen and (max-width: 1200px) {
  .pageTop__recruitContents {
    margin-left: 4rem;
  }
}
@media only screen and (max-width:768px) {
  .pageTop__recruitContents {
    width: 100%;
    margin-left: 0;
  }
}

.pageTop__recruitTitle {
  font-family: "Jost", sans-serif;
  color: #272727;
  font-size: 6rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.03em;
  margin-bottom: 6.5rem;
  text-transform: uppercase;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitTitle {
    padding-top: 4rem;
    font-size: 5rem;
  }
}
@media only screen and (max-width:480px) {
  .pageTop__recruitTitle {
    margin-bottom: 4rem;
  }
}

.pageTop__recruitDescription {
  width: 63%;
}
@media only screen and (max-width:1023px) {
  .pageTop__recruitDescription {
    margin-left: 2rem;
  }
}
@media only screen and (max-width:768px) {
  .pageTop__recruitDescription {
    width: 100%;
    margin-left: 0;
  }
}

.pageTop__recruitText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0;
  margin-bottom: 3rem;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitText {
    font-size: 1.8rem;
    padding: 2.5rem;
    margin-bottom: 0;
  }
}

.pageTop__recruitSubtext {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.87;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitSubtext {
    font-size: 1.4rem;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.pageTop__recruit__imageTab-only {
  display: none;
}
@media only screen and (max-width:768px) {
  .pageTop__recruit__imageTab-only {
    display: block;
    width: 100%;
    height: 180px;
  }
}@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
/* Set core root defaults */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html {
  scroll-behavior: smooth;
}

html,
body,
div,
span,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
img,
i,
dl,
dt,
dd,
ol,
ul,
li,
form,
label,
table,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
figure,
footer,
header,
nav,
section,
audio,
video {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border: 0;
  outline: 0;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
img {
  display: block;
}

img {
  max-width: 100%;
}

nav ul {
  list-style: none;
}

li {
  list-style: none;
}

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

a {
  padding: 0;
  margin: 0;
  color: #000000;
  font-size: 100%;
  text-decoration: none;
  vertical-align: baseline;
  background: transparent;
}

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

input,
select {
  vertical-align: middle;
}

.infoInner {
  max-width: 1080px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin: auto;
}
@media screen and (max-width: 1200px) {
  .infoInner {
    max-width: 980px;
  }
}
@media only screen and (max-width:768px) {
  .infoInner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.mainVisaul__video {
  width: 100%;
  height: 81rem;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
.mainVisaul__video ::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
@media only screen and (max-width:480px) {
  .mainVisaul__video {
    height: 60rem;
  }
}
.mainVisaul__video.-info {
  height: 90rem;
}
@media only screen and (max-width:480px) {
  .mainVisaul__video.-info {
    height: 79rem;
  }
}
.mainVisaul__video::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisaul__video::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisaul__video::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.mainVisual__info {
  height: 90rem;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 10;
  margin-top: -1rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__info {
    height: auto;
    padding-bottom: 14rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__info {
    height: auto;
    padding-bottom: 14rem;
  }
}

.mainVisual__infoTitle {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #ffffff;
  font-size: 11.2rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-align: center;
  padding-top: 16rem;
  margin-bottom: 2.5rem;
  position: relative;
  opacity: 0.4;
}
@media only screen and (max-width:1023px) {
  .mainVisual__infoTitle {
    font-size: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .mainVisual__infoTitle {
    font-size: 5rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__infoTitle {
    font-size: 3.2rem;
    padding-top: 11.5rem;
    margin-bottom: 1.5rem;
  }
}

.mainVisual__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 5.5rem;
  opacity: 0.4;
}
@media only screen and (max-width:480px) {
  .mainVisual__subTitle {
    font-size: 1.2rem;
  }
}

.infoWrap {
  max-width: 1060px;
  width: 100%;
  height: auto;
  background-color: #ffffff;
  border-radius: 15px;
  padding: 4rem 0 3rem 0;
}
@media only screen and (max-width:1023px) {
  .infoWrap {
    max-width: 780px;
    margin: auto;
  }
}
@media only screen and (max-width:768px) {
  .infoWrap {
    padding: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .infoWrap {
    padding: 0rem 2.5rem 5.5rem 2.5rem;
  }
}

.infoFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:768px) {
  .infoFlex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.infoProfile {
  width: 100%;
  max-width: 400px;
  padding: 8.5rem 5rem 8.5rem 7rem;
  border-right: 1px solid #333333;
}
@media only screen and (max-width:1023px) {
  .infoProfile {
    padding: 8.5rem 0 8.5rem 4rem;
  }
}
@media only screen and (max-width:768px) {
  .infoProfile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-right: none;
    max-width: 680px;
    border-bottom: 1px solid #333333;
    padding: 3rem 0 2rem 0;
    margin: auto;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .infoProfile {
    max-width: 470px;
    padding: 3.5rem 0rem 1.5rem 0;
  }
}

.infoProfile__title {
  color: #272727;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 5rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  margin-bottom: 2.5rem;
  line-height: 1.1;
}
@media only screen and (max-width:768px) {
  .infoProfile__title {
    margin-bottom: 0;
    font-size: 3rem;
  }
}

.infoProfile__Subtitle {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  color: #6e11cb;
}
@media only screen and (max-width:768px) {
  .infoProfile__Subtitle {
    margin-top: auto;
    font-size: 1.4rem;
  }
}

.infoProfile__logoFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width:768px) {
  .infoProfile__logoFlex {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
}

.infoProfile__logo {
  display: inline-block;
  width: 2.4rem;
  height: 3rem;
}
@media only screen and (max-width:768px) {
  .infoProfile__logo {
    width: 3.7rem;
    height: 6.3rem;
  }
}

.infoTable {
  width: 100%;
  max-width: 670px;
  padding: 0.5rem 0 0.5rem 5rem;
}
@media only screen and (max-width:1023px) {
  .infoTable {
    padding: 0.5rem 3rem 0.5rem 2rem;
  }
}
@media only screen and (max-width:768px) {
  .infoTable {
    padding: 0.5rem 0 0.5rem 0;
    margin: auto;
  }
}
@media only screen and (max-width:480px) {
  .infoTable {
    padding: 0;
  }
}

.infoTable__dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 2rem;
}
@media only screen and (max-width:768px) {
  .infoTable__dl {
    margin-bottom: 1rem;
  }
}
.infoTable__dl:last-child {
  margin-bottom: 0;
}

.infoTable__dt {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  width: 100%;
  max-width: 6rem;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.42;
  margin-right: 5rem;
}
@media only screen and (max-width:1023px) {
  .infoTable__dt {
    margin-right: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .infoTable__dt {
    font-size: 1.2rem;
    margin-right: 2rem;
  }
}

.infoTable__dd {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.62;
}
@media only screen and (max-width:1023px) {
  .infoTable__dd {
    font-size: 1.3rem;
  }
}

.infoPurpose {
  padding-top: 10rem;
  padding-bottom: 8rem;
  background-color: #F6F6F6;
}
@media only screen and (max-width:1023px) {
  .infoPurpose {
    padding-top: 6rem;
  }
}
@media only screen and (max-width:480px) {
  .infoPurpose {
    padding-top: 25.5rem;
    padding-bottom: 5rem;
  }
}

.infoPurpose__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:1023px) {
  .infoPurpose__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.infoPurpose__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  padding-right: 4rem;
  text-align: right;
}
@media only screen and (max-width:1023px) {
  .infoPurpose__title {
    width: 100%;
    font-size: 8rem;
    padding-right: 0;
    -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
            writing-mode: unset;
    padding-top: 0;
    margin-bottom: 4rem;
    -webkit-transform: unset;
            transform: unset;
    text-align: unset;
    padding-left: 2.5rem;
  }
}
@media only screen and (max-width:480px) {
  .infoPurpose__title {
    font-size: 4.4rem;
  }
}

.infoPurpose__box {
  margin-left: 13rem;
  margin-right: 4rem;
}
@media only screen and (max-width:1023px) {
  .infoPurpose__box {
    margin-left: 0;
    margin-right: 0;
    padding: 0 21px 0 25px;
  }
}

.infoPurpose__outcomeBox {
  width: 100%;
  max-width: 964px;
  border: 1px solid #6e11cb;
  padding: 3.2rem 8.2rem 4.5rem 8.4rem;
  position: relative;
  background-color: #ffffff;
}
@media only screen and (max-width:768px) {
  .infoPurpose__outcomeBox {
    max-width: unset;
    margin-bottom: 4rem;
    margin-right: 0;
  }
}
@media only screen and (max-width:768px) {
  .infoPurpose__outcomeBox {
    padding: 2.5rem 0 3.5rem 0;
  }
}
.infoPurpose__outcomeBox:last-child {
  margin-top: 4rem;
}
@media only screen and (max-width:768px) {
  .infoPurpose__outcomeBox:last-child {
    max-width: unset;
    margin-bottom: 0;
  }
}
.infoPurpose__outcomeBox::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: #6e11cb transparent transparent #6e11cb;
}
.infoPurpose__outcomeBox::after {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  bottom: 0;
  right: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: transparent #6e11cb #6e11cb transparent;
}

.infoPurpose__outcomeTag {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6e11cb;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: left;
  margin-bottom: 2rem;
}
@media only screen and (max-width:768px) {
  .infoPurpose__outcomeTag {
    margin-left: 2.5rem;
  }
}
@media only screen and (max-width:480px) {
  .infoPurpose__outcomeTag {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}

.infoPurpose__outcomeTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: left;
  margin-bottom: 5.5rem;
  margin-left: 4rem;
  position: relative;
}
.infoPurpose__outcomeTitle::after {
  content: "";
  position: absolute;
  left: -40px;
  bottom: 0px;
  top: 60px;
  width: 110%;
  height: 1px;
  background-color: #6E11CB;
}
@media only screen and (max-width:768px) {
  .infoPurpose__outcomeTitle::after {
    width: 100%;
    left: 0;
  }
}
@media only screen and (max-width:480px) {
  .infoPurpose__outcomeTitle::after {
    top: 34px;
  }
}
@media only screen and (max-width:768px) {
  .infoPurpose__outcomeTitle {
    margin-left: 1.5rem;
    margin-right: 1.4rem;
    text-align: center;
  }
}
@media only screen and (max-width:480px) {
  .infoPurpose__outcomeTitle {
    font-size: 1.6rem;
    margin-bottom: 3.4rem;
  }
}

.infoPurpose__outcomeText {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.87;
  text-align: left;
  margin-left: 4rem;
}
@media only screen and (max-width:768px) {
  .infoPurpose__outcomeText {
    margin-left: 1.5rem;
    margin-right: 1.4rem;
  }
}
@media only screen and (max-width:480px) {
  .infoPurpose__outcomeText {
    font-size: 1.3rem;
  }
}

.infoHistory {
  padding-top: 9rem;
  background-color: #ffffff;
}
@media only screen and (max-width:1023px) {
  .infoHistory {
    padding-top: 6rem;
  }
}
@media only screen and (max-width:480px) {
  .infoHistory {
    padding-top: 25.5rem;
    padding-bottom: 5rem;
  }
}

.infoHistory__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:1023px) {
  .infoHistory__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.infoHistory__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  padding-right: 4rem;
  text-align: right;
}
@media only screen and (max-width:1023px) {
  .infoHistory__title {
    width: 100%;
    font-size: 8rem;
    padding-right: 0;
    -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
            writing-mode: unset;
    padding-top: 0;
    margin-bottom: 4rem;
    -webkit-transform: unset;
            transform: unset;
    text-align: unset;
    padding-left: 2.5rem;
  }
}
@media only screen and (max-width:480px) {
  .infoHistory__title {
    font-size: 4.4rem;
  }
}

.infoHistory__table {
  width: 100%;
  max-width: 1182px;
  margin-left: 20rem;
  padding-right: 4rem;
}
@media screen and (max-width: 1200px) {
  .infoHistory__table {
    margin-left: 14rem;
  }
}
@media only screen and (max-width:1023px) {
  .infoHistory__table {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
    margin-left: 0;
  }
}

.infoHistory__dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 882px;
  border-bottom: 1px solid #d1d0d0;
  padding-bottom: 2rem;
  margin-bottom: 2.5rem;
  padding-right: 1.5rem;
}
.infoHistory__dl.-hidden {
  padding-bottom: 0;
}
@media only screen and (max-width:768px) {
  .infoHistory__dl.-hidden {
    padding-bottom: 1.5rem;
  }
}
.infoHistory__dl.-noBorber {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:768px) {
  .infoHistory__dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.dd__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.infoHistory__year {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 5rem;
  font-weight: bold;
  color: #272727;
  letter-spacing: 0.03em;
  margin-right: 8rem;
}
@media only screen and (max-width:1023px) {
  .infoHistory__year {
    font-size: 4rem;
  }
}
@media only screen and (max-width:768px) {
  .infoHistory__year {
    font-size: 3rem;
    margin-bottom: 2rem;
  }
}
.infoHistory__year.-hidden {
  visibility: hidden;
  height: 0;
  margin-bottom: 0;
  line-height: 0;
}
@media only screen and (max-width:768px) {
  .infoHistory__year.-hidden {
    display: none;
  }
}

.infoHistory__month {
  font-family: "Noto Sans JP", sans-serif;
  width: 4rem;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  color: #333333;
  margin-top: 0.5rem;
  text-align: left;
}
@media only screen and (max-width:768px) {
  .infoHistory__month {
    font-size: 1.3rem;
    margin-left: -1rem;
    text-align: right;
  }
}

.infoHistory__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.62;
  margin-left: 2rem;
}
@media only screen and (max-width:480px) {
  .infoHistory__text {
    width: 100%;
    max-width: 281px;
    font-size: 1.3rem;
    margin-left: 1rem;
    letter-spacing: -0.03em;
  }
}

.infoAccess {
  padding-top: 12rem;
  position: relative;
  z-index: 11;
  background-color: #ffffff;
}
@media only screen and (max-width:768px) {
  .infoAccess {
    padding-top: 6rem;
  }
}

.infoAccess__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-left: 13rem;
  margin-bottom: 3.5rem;
}
@media only screen and (max-width:768px) {
  .infoAccess__title {
    font-size: 8rem;
    margin-left: 0;
    padding-left: 2.5rem;
  }
}
@media only screen and (max-width:480px) {
  .infoAccess__title {
    font-size: 4.4rem;
  }
}

.infoAccess__gmap {
  width: 100%;
  height: 496px;
  margin-bottom: 4.5rem;
}
@media only screen and (max-width:480px) {
  .infoAccess__gmap {
    height: 280px;
    margin-bottom: 2.5rem;
  }
}

.infoAccess__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 9rem;
}
@media only screen and (max-width:768px) {
  .infoAccess__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.infoAccess__box {
  width: 100%;
  max-width: 512px;
  margin-left: -2rem;
}
@media only screen and (max-width:1023px) {
  .infoAccess__box {
    max-width: 460px;
    margin-left: 0;
  }
}
@media only screen and (max-width:768px) {
  .infoAccess__box {
    margin: auto;
  }
}

.infoAccess__address {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  font-style: normal;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.87;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width:1023px) {
  .infoAccess__address {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width:768px) {
  .infoAccess__address {
    text-align: center;
  }
}
@media only screen and (max-width:480px) {
  .infoAccess__address {
    font-size: 1.4rem;
  }
}

.infoAccess__number {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  font-style: normal;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.87;
  margin-bottom: 2rem;
}
@media only screen and (max-width:768px) {
  .infoAccess__number {
    text-align: center;
  }
}
@media only screen and (max-width:480px) {
  .infoAccess__number {
    font-size: 1.3rem;
  }
}

.infoAccess__mapLink {
  display: block;
  text-align: center;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  width: 34.1rem;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 0.5rem 0 1rem 0;
  border-radius: 3rem;
  position: relative;
}
.infoAccess__mapLink.-pcOnly__1024 {
  display: none;
}
@media only screen and (max-width:768px) {
  .infoAccess__mapLink.-pcOnly__1024 {
    margin: auto;
    display: block;
  }
}
@media only screen and (max-width:768px) {
  .infoAccess__mapLink {
    margin: auto;
    display: none;
  }
}
.infoAccess__mapLink::after {
  position: absolute;
  display: block;
  content: url(/img/renewal/google_map2.png);
  right: 1rem;
  top: 0rem;
  -webkit-transform: scale(0.4);
          transform: scale(0.4);
}
@media only screen and (max-width:768px) {
  .infoAccess__mapLink {
    width: 24.4rem;
  }
}

.infoAccess__mapLink::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background-color: rgba(0, 0, 0, 0);
  border-radius: 30px;
  width: 100%;
  height: 100%;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.infoAccess__mapLink:hover::before {
  background-color: rgba(0, 0, 0, 0.2);
}

.infoAccess__listItem {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  list-style: disc;
  font-size: 1.6em;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.87;
}
.infoAccess__listItem:last-child {
  margin-bottom: 4rem;
}
@media only screen and (max-width:1023px) {
  .infoAccess__listItem {
    font-size: 1.4rem;
    text-align: center;
  }
}
@media only screen and (max-width:768px) {
  .infoAccess__listItem {
    list-style: none;
  }
}
@media only screen and (max-width:480px) {
  .infoAccess__listItem {
    font-size: 1.3rem;
    list-style: none;
  }
}

.mainVisual__video.-infoWhy::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}

.infoWhy__inner {
  max-width: 1086px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: auto;
}
@media only screen and (max-width:480px) {
  .infoWhy__inner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.infoWhy__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #ffffff;
  font-size: 11.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
  padding-top: 16rem;
  margin-bottom: 2.5rem;
  position: relative;
  opacity: 0.4;
}
@media only screen and (max-width:1023px) {
  .infoWhy__title {
    font-size: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .infoWhy__title {
    font-size: 5rem;
  }
}
@media only screen and (max-width:480px) {
  .infoWhy__title {
    font-size: 3.2rem;
    padding-top: 10rem;
    margin-bottom: 1rem;
  }
}

.infoWhy__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 5rem;
  opacity: 0.4;
}
@media only screen and (max-width:768px) {
  .infoWhy__subTitle {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width:480px) {
  .infoWhy__subTitle {
    font-size: 1.2rem;
  }
}

.mainVisual__video {
  width: 100%;
  height: 81rem;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
@media only screen and (max-width:480px) {
  .mainVisual__video {
    height: 60rem;
  }
}
.mainVisual__video.-infoWhy {
  height: 37rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__video.-infoWhy {
    height: 30rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__video.-infoWhy {
    height: 21rem;
  }
}
.mainVisual__video.-infoWhy::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisual__video.-infoWhy::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisual__video.-infoWhy::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.infoWhy__description {
  padding: 5rem 1rem 8rem 1rem;
}
@media only screen and (max-width:1023px) {
  .infoWhy__description {
    padding-top: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .infoWhy__description {
    padding: 4rem 0 6rem 0;
  }
}

.infoWhy__descriptionText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 5rem;
  letter-spacing: -0.03em;
}
@media only screen and (max-width:1023px) {
  .infoWhy__descriptionText {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width:768px) {
  .infoWhy__descriptionText {
    font-size: 1.8rem;
    margin-bottom: 2.5rem;
  }
}

.infoWhy__descriptionSubtext {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.87;
  overflow-wrap: break-word;
}
@media only screen and (max-width:768px) {
  .infoWhy__descriptionSubtext {
    font-size: 1.4rem;
    letter-spacing: -0.03em;
  }
}

.infoWhy__logo {
  display: inline-block;
  width: 2.4rem;
  height: 3rem;
  margin-right: 1rem;
}

.infoWhy__tag {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  color: #6e11cb;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:480px) {
  .infoWhy__tag {
    font-size: 1.3rem;
  }
}

.whatTodo {
  background-color: #f6f6f6;
  padding: 5rem 0 12rem 0;
}
@media only screen and (max-width:768px) {
  .whatTodo {
    padding: 3.5rem 0 6.5rem 0;
  }
}

.whatTodo__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  color: #000000;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 11rem;
  text-align: center;
}
@media only screen and (max-width:1023px) {
  .whatTodo__title {
    font-size: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .whatTodo__title {
    font-size: 5rem;
    margin-bottom: 3.5rem;
  }
}
@media only screen and (max-width:480px) {
  .whatTodo__title {
    font-size: 4.4rem;
    letter-spacing: 0;
  }
}

.whatTodo__box {
  width: 100%;
  max-width: 964px;
  border: 1px solid #6e11cb;
  padding: 3rem 8rem 4.5rem 8rem;
  position: relative;
  background-color: #ffffff;
  margin: auto;
}
@media only screen and (max-width:768px) {
  .whatTodo__box {
    padding: 3rem 5rem 4.5rem 5rem;
  }
}
@media only screen and (max-width:480px) {
  .whatTodo__box {
    padding: 3rem 2rem 2.5rem 2rem;
  }
}
.whatTodo__box:first-child {
  margin-bottom: 4rem;
}
.whatTodo__box::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: #6e11cb transparent transparent #6e11cb;
}
@media only screen and (max-width:768px) {
  .whatTodo__box::before {
    border-width: 14px 16.5px 14px 16.5px;
  }
}
.whatTodo__box::after {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  bottom: 0;
  right: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: transparent #6e11cb #6e11cb transparent;
}
@media only screen and (max-width:768px) {
  .whatTodo__box::after {
    border-width: 14px 16.5px 14px 16.5px;
  }
}
.whatTodo__box :last-child {
  margin-bottom: 0;
}

.whatTodo__boxTag {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6e11cb;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: left;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:768px) {
  .whatTodo__boxTag {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width:480px) {
  .whatTodo__boxTag {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
  }
}

.whatTodo__boxTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-align: center;
  padding-bottom: 3rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid #6e11cb;
}
@media only screen and (max-width:768px) {
  .whatTodo__boxTitle {
    font-size: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .whatTodo__boxTitle {
    font-size: 1.6rem;
    padding-bottom: 2rem;
    margin-bottom: 1.5rem;
    letter-spacing: -0.03em;
    line-height: 1.5;
  }
}

.whatTodo__boxText {
  font-family: "Noto Sans JP", sans-serif;
  max-width: 746px;
  display: block;
  margin: auto;
  color: #333333;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.87;
  letter-spacing: 0;
  padding-right: 2rem;
  padding-left: 2rem;
  position: relative;
  margin-bottom: 0.5rem;
  margin-left: 5.5rem;
}
@media only screen and (max-width:768px) {
  .whatTodo__boxText {
    font-size: 1.4rem;
    margin-left: 1.5rem;
    padding-right: 0;
    padding-left: 1rem;
  }
}
@media only screen and (max-width:480px) {
  .whatTodo__boxText {
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: -0.03em;
  }
}
.whatTodo__boxText::before {
  display: block;
  content: "";
  position: absolute;
  width: 1rem;
  height: 1rem;
  background-color: #000000;
  border-radius: 50%;
  top: 1rem;
  left: 0;
}
@media only screen and (max-width:768px) {
  .whatTodo__boxText::before {
    left: -1rem;
  }
}

.infoWhy__culture {
  width: 100%;
  height: 90rem;
  background-image: url("/img/renewal/office_kari_01.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  padding-top: 7.5rem;
}
@media only screen and (max-width:768px) {
  .infoWhy__culture {
    padding-top: 6rem;
    background-image: url("/img/renewal/office_kari_02.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
.infoWhy__culture::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.55;
  z-index: 300;
}

.infoWhy__logo {
  display: inline-block;
  width: 2.4rem;
  height: 3rem;
  margin-right: 1rem;
}

.infoWhy__cultuereTag {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  color: #ffffff;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:480px) {
  .infoWhy__cultuereTag {
    font-size: 1.3rem;
  }
}

.infoWhy__cultureTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 3rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin-bottom: 6rem;
  text-align: center;
  position: relative;
  z-index: 1000;
}
@media only screen and (max-width:768px) {
  .infoWhy__cultureTitle {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 600px) {
  .infoWhy__cultureTitle {
    font-size: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .infoWhy__cultureTitle {
    font-size: 1.8rem;
    margin-bottom: 3rem;
    letter-spacing: 0;
  }
}

.swiper-container {
  width: 100%;
}

.infoWhy__slide {
  position: relative;
  z-index: 1000;
}

.swiper-slide.-infoWhy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
@media only screen and (max-width:768px) {
  .swiper-slide.-infoWhy {
    padding: 0 1rem 0 1rem;
  }
}
@media only screen and (max-width:480px) {
  .swiper-slide.-infoWhy {
    padding: 0;
  }
}

.infoWhy__slideFlex {
  width: 100%;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:768px) {
  .infoWhy__slideFlex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.infoWhy__slideImg {
  width: 100%;
  max-width: 408px;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 408/470;
  border-radius: 20px;
  margin-right: 11rem;
}
@media only screen and (max-width:1023px) {
  .infoWhy__slideImg {
    max-width: 380px;
    aspect-ratio: 380/470;
    margin-right: 3rem;
  }
}
@media screen and (max-width: 900px) {
  .infoWhy__slideImg {
    max-width: 350px;
    aspect-ratio: 380/400;
    margin-right: 3rem;
  }
}
@media only screen and (max-width:768px) {
  .infoWhy__slideImg {
    margin-right: 0;
    margin: auto;
  }
}
@media only screen and (max-width:768px) {
  .infoWhy__slideImg {
    max-width: 408px;
    aspect-ratio: 408/242;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .infoWhy__slideImg {
    max-width: 250px;
    aspect-ratio: 250/242;
  }
}

.infoWhy__slideBox {
  width: 100%;
  max-width: 49.1rem;
}
@media only screen and (max-width:1023px) {
  .infoWhy__slideBox {
    max-width: 45rem;
  }
}
@media screen and (max-width: 900px) {
  .infoWhy__slideBox {
    max-width: 38rem;
  }
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBox {
    max-width: 100%;
    height: 30rem;
  }
}
@media only screen and (max-width:480px) {
  .infoWhy__slideBox {
    max-width: 100%;
    height: 36rem;
  }
}

.infoWhy__slideBox__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBox__title {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBox__title {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
}

.infoWhy__slideBox__num {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-right: 2.5rem;
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBox__num {
    font-size: 4.8rem;
  }
}
@media only screen and (max-width:480px) {
  .infoWhy__slideBox__num {
    max-width: 100%;
    font-size: 3.2rem;
    margin-right: 1.5rem;
  }
}

.infoWhy__slideBox__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  letter-spacing: 0;
  font-weight: 400;
  line-height: 1.87;
  margin-bottom: 13.5rem;
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBox__text {
    font-size: 1.4rem;
    margin-bottom: 4rem;
  }
}

.swiper-wrapper {
  position: relative;
}

.infoWhy__slideBtn__wrap {
  width: 100%;
  max-width: 49rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width:1023px) {
  .infoWhy__slideBtn__wrap {
    max-width: 45rem;
  }
}
@media screen and (max-width: 900px) {
  .infoWhy__slideBtn__wrap {
    max-width: 40rem;
  }
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBtn__wrap {
    max-width: 45rem;
    right: 20%;
  }
}
@media screen and (max-width: 600px) {
  .infoWhy__slideBtn__wrap {
    right: 10%;
  }
}
@media screen and (max-width: 500px) {
  .infoWhy__slideBtn__wrap {
    right: 3%;
  }
}
@media only screen and (max-width:480px) {
  .infoWhy__slideBtn__wrap {
    max-width: 322px;
    right: 15%;
  }
}
@media screen and (max-width: 380px) {
  .infoWhy__slideBtn__wrap {
    right: 0;
  }
}

.infoWhy__slideBtn__prev {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: bold;
  background-color: transparent;
  width: 8rem;
  height: 8rem;
  padding-top: 1.3rem;
  letter-spacing: 0;
  line-height: 2.2;
  border: 2px solid #ffffff;
  border-radius: 50%;
  position: relative;
  z-index: 1000;
  cursor: pointer;
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBtn__prev {
    font-size: 1.2rem;
    width: 5.6rem;
    height: 5.6rem;
    border: 1px solid #ffffff;
  }
}
.infoWhy__slideBtn__prev::before {
  content: "";
  position: absolute;
  width: 1rem;
  height: 2px;
  left: 1.2rem;
  top: 33%;
  left: 1.7rem;
  background: #ffffff;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBtn__prev::before {
    top: 33%;
    left: 1.5rem;
    height: 1px;
  }
}
.infoWhy__slideBtn__prev::after {
  content: "";
  position: absolute;
  background: #ffffff;
  width: 4rem;
  height: 2px;
  right: 50%;
  top: 2.8rem;
  background: #ffffff;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBtn__prev::after {
    width: 2.2rem;
    top: 2rem;
    height: 1px;
  }
}

.infoWhy__slideBtn__next {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  width: 8rem;
  height: 8rem;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 2.2;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background-color: transparent;
  padding-top: 1.3rem;
  position: relative;
  z-index: 1000;
  cursor: pointer;
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBtn__next {
    font-size: 1.2rem;
    width: 5.6rem;
    height: 5.6rem;
    border: 1px solid #ffffff;
  }
}
.infoWhy__slideBtn__next::before {
  content: "";
  position: absolute;
  width: 1rem;
  height: 2px;
  right: 1.2rem;
  top: 33%;
  right: 1.7rem;
  background: #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBtn__next::before {
    top: 33%;
    right: 1.4rem;
    height: 1px;
  }
}
.infoWhy__slideBtn__next::after {
  content: "";
  position: absolute;
  background: #ffffff;
  width: 4rem;
  height: 2px;
  right: 50%;
  top: 2.8rem;
  background: #ffffff;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBtn__next::after {
    width: 2.2rem;
    top: 2rem;
    height: 1px;
  }
}

.infoWhy__slideBtn__wrap .swiper-pagination {
  position: absolute;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 278px;
  height: 5rem;
  margin: auto;
  color: #ffffff;
  background-color: #000000;
  border-radius: 60px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (max-width:1023px) {
  .infoWhy__slideBtn__wrap .swiper-pagination {
    max-width: 240px;
  }
}
@media screen and (max-width: 900px) {
  .infoWhy__slideBtn__wrap .swiper-pagination {
    max-width: 210px;
  }
}
@media only screen and (max-width:768px) {
  .infoWhy__slideBtn__wrap .swiper-pagination {
    max-width: 240px;
  }
}
@media only screen and (max-width:480px) {
  .infoWhy__slideBtn__wrap .swiper-pagination {
    max-width: 182px;
    height: 4rem;
  }
}

.infoWhy__slideBtn__wrap .swiper-pagination-clickable .swiper-pagination-bullet {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff !important;
  font-weight: bold;
  font-size: 2rem;
  width: 3.8rem;
  height: 3.8rem;
  opacity: 1;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  border-radius: 50%;
  padding-top: 5px;
  margin: 0 5px; /* ページネーションの間隔 */
  cursor: pointer;
  letter-spacing: 0;
}
@media only screen and (max-width:1023px) {
  .infoWhy__slideBtn__wrap .swiper-pagination-clickable .swiper-pagination-bullet {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width:480px) {
  .infoWhy__slideBtn__wrap .swiper-pagination-clickable .swiper-pagination-bullet {
    font-size: 1.3rem;
    width: 3rem;
    height: 2.8rem;
  }
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  color: #ffffff;
  border-radius: 50%;
}

.loading__overLay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff; /* 背景色を白に設定 */
  z-index: 9999;
  opacity: 1;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}

.loading__logoContainer {
  position: relative;
  width: 100%;
  height: 100vh;
}

.loading__logo {
  position: absolute;
  width: 100%;
  max-width: 26.6rem;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.5s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.5s ease, transform 0.3s ease;
  transition: opacity 0.5s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (max-width:480px) {
  .loading__logo {
    max-width: 21rem;
  }
}
@media only screen and (max-width:480px) {
  .loading__logo {
    max-width: 17.4rem;
  }
}

.loading__introTextContainer {
  position: relative;
  width: 100%;
  height: 100vh;
}

.introText {
  position: absolute;
  width: 100%;
  max-width: 77.9rem;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  top: 56%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (max-width:768px) {
  .introText {
    max-width: 47rem;
  }
}
@media only screen and (max-width:480px) {
  .introText {
    max-width: 29.1rem;
  }
}

.sideMenu {
  position: fixed;
  right: 0; /* 右端に固定 */
  top: 50%; /* ビューポートの高さの中央 */
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); /* 要素を中央に配置 */
  z-index: 100;
  opacity: 0;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s; /* アニメーションの追加 */
}
@media only screen and (max-width:768px) {
  .sideMenu {
    display: none;
  }
}

.sideMenu__sp {
  display: none;
  position: fixed;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); /* 要素を中央に配置 */
  z-index: 100;
  width: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s; /* アニメーションの追加 */
}
@media only screen and (max-width:768px) {
  .sideMenu__sp {
    display: block;
  }
}
.sideMenu__sp .sideMenu_wrap-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sideMenu__sp .sideMenu_box {
  width: 50%;
}
.sideMenu__sp .sideMenu_link {
  position: relative;
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  padding: 2.4rem 2rem;
  text-align: left;
  font-size: 1.6rem;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.2;
}
@media only screen and (max-width:480px) {
  .sideMenu__sp .sideMenu_link {
    font-size: 1.4rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.sideMenu__sp .sideMenu_link::after {
  content: "";
  background-image: url(../img/common/icon_sidebar.svg);
  width: 24px;
  height: 24px;
  position: absolute;
  right: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width:480px) {
  .sideMenu__sp .sideMenu_link::after {
    right: 1rem;
  }
}
.sideMenu__sp .sideMenu_link.-green {
  padding: 2.4rem 2rem;
  margin-top: 0;
}
@media only screen and (max-width:480px) {
  .sideMenu__sp .sideMenu_link.-green {
    font-size: 1.4rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/*　左の動き　*/
.sideMenu.LeftMove {
  -webkit-animation: LeftAnime 0.5s forwards;
          animation: LeftAnime 0.5s forwards;
}

@-webkit-keyframes LeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px) translateY(-50%);
            transform: translateX(100px) translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
  }
}

@keyframes LeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px) translateY(-50%);
            transform: translateX(100px) translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
  }
}
/*　右の動き　*/
.sideMenu.RightMove {
  -webkit-animation: RightAnime 0.5s forwards;
          animation: RightAnime 0.5s forwards;
}

@-webkit-keyframes RightAnime {
  from {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(100px) translateY(-50%);
            transform: translateX(100px) translateY(-50%);
  }
}

@keyframes RightAnime {
  from {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(100px) translateY(-50%);
            transform: translateX(100px) translateY(-50%);
  }
}
/*　上の動き　*/
.sideMenu__sp.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
          animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px) translateX(-50%);
            transform: translateY(100px) translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%);
  }
}

@keyframes UpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px) translateX(-50%);
            transform: translateY(100px) translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%);
  }
}
/*　下の動き　*/
.sideMenu__sp.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
          animation: DownAnime 0.5s forwards;
}

@-webkit-keyframes DownAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(100px) translateX(-50%);
            transform: translateY(100px) translateX(-50%);
  }
}

@keyframes DownAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(100px) translateX(-50%);
            transform: translateY(100px) translateX(-50%);
  }
}
.sideMenu_box {
  cursor: pointer;
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  -webkit-box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.3);
          box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.3);
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease; /* 色と背景色の変化を0.3秒で滑らかにする */
}

.sideMenu_box.-green {
  background: -webkit-gradient(linear, left top, left bottom, from(#0491a3), to(#01e089));
  background: linear-gradient(#0491a3, #01e089);
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease; /* 色と背景色の変化を0.3秒で滑らかにする */
}

.sideMenu_box::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background-color: rgba(0, 0, 0, 0);
  width: 100%;
  height: 100%;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.sideMenu_box:hover::after {
  background-color: rgba(0, 0, 0, 0.3);
}

.sideMenu_link {
  display: block;
  color: #ffffff;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  padding: 4.2rem 2rem 1.6rem;
  font-weight: 600;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  position: relative;
  z-index: 101;
}

.sideMenu_link.-pink::after {
  content: "";
  background-image: url(../img/common/icon_mail_sidebar.svg);
  background-size: cover;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 16px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: background-image 0.3s;
  transition: background-image 0.3s; /* アニメーションの追加 */
}

.sideMenu_link.-green {
  margin-top: 15px;
  padding: 1.6rem 2rem;
}

.mainVisual {
  height: 68.6rem;
  position: relative;
  z-index: 10;
  margin-top: -1rem;
}
@media only screen and (max-width:480px) {
  .mainVisual {
    height: 70.3rem;
  }
}

.mainVisual__inner {
  max-width: 1160px;
  height: 100%;
  padding-right: 2rem;
  padding-left: 2rem;
  margin: 0 auto;
}
@media only screen and (max-width:1023px) {
  .mainVisual__inner {
    padding-right: 4rem;
    padding-left: 4rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

.mainVisual__flexBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 36px;
  -webkit-column-gap: 35px;
     -moz-column-gap: 35px;
          column-gap: 35px;
}
@media only screen and (max-width:768px) {
  .mainVisual__flexBtn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 2rem;
    margin-top: 4.9rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__flexBtn {
    margin-top: 4.9rem;
  }
}

.mv__btnBox {
  overflow: hidden;
  cursor: pointer;
  position: relative;
  width: 231px;
  border-radius: 47px;
}
@media only screen and (max-width:768px) {
  .mv__btnBox {
    width: 329px;
  }
}
@media only screen and (max-width:480px) {
  .mv__btnBox {
    width: 95%;
  }
}

.mv__btn {
  overflow: hidden;
  position: relative;
  display: block;
  padding: 14px 20px;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  color: #ffffff;
  border-radius: 47px;
  font-size: 14px;
  font-weight: medium;
}
@media only screen and (max-width:768px) {
  .mv__btn {
    padding: 20px 36px 20px 23px;
  }
}
.mv__btn span {
  display: block;
  position: relative;
  z-index: 100;
  text-align: center;
}

.mv__btn:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.mv__btn::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #bb19b7;
  top: 0;
  left: 0;
  border-radius: 47px;
  mix-blend-mode: multiply;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
}

.mv__btn.-gray {
  background: -webkit-gradient(linear, left top, left bottom, from(#0491a3), to(#01e089));
  background: linear-gradient(#0491a3, #01e089);
}

.mv__btn.-gray::before {
  background-color: #0491a3;
}

.mainVisaul__video {
  width: 100%;
  height: 68.6rem;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
@media only screen and (max-width:480px) {
  .mainVisaul__video {
    height: 70.3rem;
  }
}
@media only screen and (min-width: 1921px) {
  .mainVisaul__video video {
    width: 100%;
  }
}
.mainVisaul__video::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisaul__video::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisaul__video::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
.mainVisaul__video.-serviceTop {
  height: 37rem;
}
@media only screen and (max-width:480px) {
  .mainVisaul__video.-serviceTop {
    height: 81rem;
  }
}
.mainVisaul__video.-serviceTop::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisaul__video.-serviceTop::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisaul__video.-serviceTop::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.swiper2 {
  height: 124px;
}
@media only screen and (max-width:768px) {
  .swiper2 {
    height: 70px;
  }
}
.swiper2 .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 37px;
     -moz-column-gap: 37px;
          column-gap: 37px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper {
    -webkit-column-gap: 13px;
       -moz-column-gap: 13px;
            column-gap: 13px;
  }
}
.swiper2 .swiper-wrapper .swiper-slide {
  text-align: center;
  line-height: 1;
  display: contents;
}
.swiper2 .swiper-wrapper .slide1 img {
  max-height: 35px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide1 img {
    max-height: 20px;
  }
}
.swiper2 .swiper-wrapper .slide2 img {
  max-height: 35px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide2 img {
    max-height: 20px;
  }
}
.swiper2 .swiper-wrapper .slide3 img {
  max-height: 79px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide3 img {
    max-height: 45px;
  }
}
.swiper2 .swiper-wrapper .slide4 img {
  max-height: 56px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide4 img {
    max-height: 31px;
  }
}
.swiper2 .swiper-wrapper .slide5 img {
  max-height: 42px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide5 img {
    max-height: 23px;
  }
}
.swiper2 .swiper-wrapper .slide6 img {
  max-height: 67px;
}
@media only screen and (max-width:768px) {
  .swiper2 .swiper-wrapper .slide6 img {
    max-height: 23px;
  }
}

.mainVisal.-top {
  display: none;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.mainVisual__title.-top {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.mainVisual__text.-top {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.mainVisual__box {
  position: absolute;
  z-index: 2000;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width:768px) {
  .mainVisual__box {
    top: 57%;
  }
}

.mainVisual__title {
  font-size: 6.3rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.6;
  color: #ffffff;
}
@media only screen and (max-width:768px) {
  .mainVisual__title {
    font-size: 3.6rem;
    line-height: 1.5;
  }
}

.mainVisual__text {
  color: #ffffff;
}

.mainVisual__text.-type1 {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 3;
}
@media only screen and (max-width:768px) {
  .mainVisual__text.-type1 {
    font-size: 1.4rem;
  }
}

.mainVisual__text.-type2 {
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.5;
}
@media only screen and (max-width:768px) {
  .mainVisual__text.-type2 {
    font-size: 1.3rem;
  }
}

.mainVisual__text.-type3 {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 0.8;
}
@media only screen and (max-width:768px) {
  .mainVisual__text.-type3 {
    font-size: 2.4rem;
  }
}

.mainVisual__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 4rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__flex {
    margin-top: 8.4rem;
  }
}

.mainVisual__flexBox {
  margin-right: 3.5rem;
}

.viewMore__btn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  margin: auto;
  width: 226px;
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  font-weight: 400;
  color: #ffffff;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  padding: 1.4rem 1rem;
  margin-bottom: 1rem;
  margin-top: 3rem;
  position: relative;
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  transition: background 0.3s ease, color 0.3s ease; /* 色と背景色の変化を0.3秒で滑らかにする */
  border-radius: 30px;
  z-index: 10;
}
@media only screen and (max-width:768px) {
  .viewMore__btn {
    padding: 1.4rem 5rem;
    width: 250px;
  }
}
@media only screen and (max-width:768px) {
  .viewMore__btn.-project {
    display: none;
  }
}
@media only screen and (max-width:768px) {
  .viewMore__btn.-recruit {
    display: none;
  }
}

.viewMore__btn.-outcome {
  width: 276px;
  font-size: 1.5rem;
  padding: 1.8rem 1rem;
  margin-top: 3.1rem;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width:768px) {
  .viewMore__btn.-outcome {
    padding: 1.4rem 5rem;
    width: 250px;
    font-size: 1.6rem;
  }
}

.viewMore__btn.-left {
  margin-left: 0;
  margin-top: 0;
}

.viewMore__btn.-business {
  margin-top: 4rem;
}

.viewMore__btn:hover {
  color: #bb19b7;
  background: #ffffff;
}

.viewMore__btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 30px;
  border: 2px solid transparent;
  background: transparent;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: destination-out;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.viewMore__btn:hover::after {
  background: -webkit-gradient(linear, left top, left bottom, from(#ae0cd9), to(#cc2a8d));
  background: linear-gradient(to bottom, #ae0cd9, #cc2a8d);
}

.viewMore__btn__projectSpOnly {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: none;
  margin: auto;
  width: 226px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 400;
  border-radius: 30px;
  color: #ffffff;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  padding: 1rem 4rem 1rem 4rem;
  display: none;
}
@media only screen and (max-width:768px) {
  .viewMore__btn__projectSpOnly {
    display: block;
    margin-top: 4rem;
    margin-bottom: 0;
    width: 250px;
    font-size: 1.6rem;
    padding: 1.3rem 4rem;
  }
}
.viewMore__btn__projectSpOnly.-works {
  padding: 1.4rem 5rem 1.4rem 5rem;
  margin-top: 0;
}

.viewMore__btnWrap {
  padding-right: 2.5rem;
}

.ourBusiness {
  padding-top: 2rem;
  margin-bottom: 6.2rem;
}
@media only screen and (max-width:768px) {
  .ourBusiness {
    padding-top: 4rem;
    margin-bottom: 5.4rem;
  }
}
@media only screen and (max-width:480px) {
  .ourBusiness {
    padding-bottom: 7rem;
    margin-bottom: 0;
  }
}

.ourBusiness__inner {
  width: 100%;
  max-width: 1150px;
  margin: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media only screen and (max-width:768px) {
  .ourBusiness__inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

.ourBusiness__title {
  font-family: "Jost", sans-serif;
  font-size: 7.2rem;
  text-align: center;
  font-weight: bold;
  color: #000000;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:768px) {
  .ourBusiness__title {
    font-size: 5rem;
  }
}

.ourBusiness__title-sub {
  font-family: "Jost", sans-serif;
  font-size: 2.4rem;
  text-align: center;
  font-weight: bold;
  color: #000000;
  text-transform: uppercase;
  margin-top: 3.8rem;
}
@media only screen and (max-width:768px) {
  .ourBusiness__title-sub {
    font-size: 1.4rem;
    margin-top: 3.2rem;
  }
}

.ourBusiness__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 4rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media only screen and (max-width:768px) {
  .ourBusiness__flex {
    margin-top: 4.6rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.ourBusiness__description {
  max-width: 652px;
  width: 45%;
  padding-right: 15px;
}
@media only screen and (max-width:768px) {
  .ourBusiness__description {
    width: 100%;
    max-width: unset;
    margin: auto;
    padding-right: 0;
  }
}

.ourBusiness__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin-bottom: 3.5rem;
  text-align: left;
}
@media only screen and (max-width:768px) {
  .ourBusiness__subTitle {
    margin-bottom: 3rem;
    line-height: 1.72;
    font-size: 2.2rem;
  }
}

.ourBusiness__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2;
}
@media only screen and (max-width:768px) {
  .ourBusiness__text {
    line-height: 1.85;
  }
}
@media only screen and (max-width:480px) {
  .ourBusiness__text {
    font-size: 1.4rem;
  }
}

.ourBusiness__image {
  width: 55%;
  max-width: 506px;
}
@media only screen and (max-width:768px) {
  .ourBusiness__image {
    width: 100%;
    max-width: unset;
    margin: auto;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width:480px) {
  .ourBusiness__image {
    max-width: 375px;
  }
}

.ourBusiness__sitemap {
  padding-top: 6rem;
  width: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  overflow: scroll;
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
}
.ourBusiness__sitemap::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

.ourBusiness__sitemapHead {
  font-size: 6rem;
  color: #ffffff;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .ourBusiness__sitemapHead {
    font-size: 3.6rem;
  }
}

.ourBusiness__sitemapInner {
  width: 100%;
  max-width: 1150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: auto;
  padding: 4rem 0 6rem 1rem;
  overflow-x: scroll;
  white-space: nowrap;
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
}
.ourBusiness__sitemapInner::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
@media only screen and (max-width:1023px) {
  .ourBusiness__sitemapInner {
    padding: 3rem 2.5rem 5rem 2.5rem;
  }
}
@media only screen and (max-width:768px) {
  .ourBusiness__sitemapInner {
    padding: 3rem 2.5rem 5rem 2.5rem;
  }
}

.ourBusiness__sitemapContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-right: 3rem;
  padding-right: 3rem;
  width: 27rem;
  white-space: nowrap;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}
.ourBusiness__sitemapContainer:last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: none;
}
@media only screen and (max-width:768px) {
  .ourBusiness__sitemapContainer {
    width: 24rem;
  }
}

.ourBusiness__sitemapTitle {
  font-family: "Lato", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  position: relative;
  margin-top: 0.8rem;
}
@media only screen and (max-width:768px) {
  .ourBusiness__sitemapTitle {
    width: 242px;
  }
}

.ourBusiness__sitemapSubtitle {
  font-size: 1.2rem;
  font-weight: 600;
  color: #ffffff;
}

.ourBusiness__sitemapList {
  padding-bottom: 1.7rem;
}

.ourBusiness__sitemapItem {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 300;
  letter-spacing: 0.02em;
  margin-top: 1rem;
  margin-bottom: 1rem;
  position: relative;
  list-style: none;
}
.ourBusiness__sitemapItem.-hidden {
  visibility: hidden;
}
.ourBusiness__sitemapItem:first-child {
  margin-top: 2rem;
}
.ourBusiness__sitemapItem a {
  color: #ffffff;
  text-decoration: none;
}
.ourBusiness__sitemapItem a:hover {
  text-decoration: underline;
}

.ourBusiness__sitemapBtn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  font-size: 1.8rem;
  color: #ffffff;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-left: auto;
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 0;
  text-decoration: underline;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media only screen and (max-width:768px) {
  .ourBusiness__sitemapBtn {
    font-size: 1.6rem;
  }
}
.ourBusiness__sitemapBtn:hover {
  opacity: 0.6;
}

.ourBusiness__sitemapBtn.-noline:hover {
  opacity: 1;
}

.ourProject__images {
  overflow: hidden;
  max-width: 960px;
}
.ourProject__images__list {
  width: 100%;
}

.ourProject {
  padding-top: 10rem;
  margin-bottom: 12rem;
}
.ourProject.-works {
  margin-left: -2rem;
  padding-top: 4rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1200px) {
  .ourProject.-works {
    margin-left: 0;
  }
}
@media only screen and (max-width:480px) {
  .ourProject.-works {
    margin-bottom: 8.5rem;
  }
}
@media only screen and (max-width:768px) {
  .ourProject {
    padding-top: 0;
    margin-bottom: 6rem;
  }
}
.ourProject__inner {
  width: 100%;
  height: 100%;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .ourProject__inner {
    padding: 0 0 0 2.5rem;
  }
}
.ourProject__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:768px) {
  .ourProject__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.ourProject__description {
  max-width: 371px;
  margin-right: 6rem;
  margin-left: 11.2rem;
}
@media screen and (max-width: 1200px) {
  .ourProject__description {
    margin-left: 1rem;
  }
}
@media only screen and (max-width:768px) {
  .ourProject__description {
    width: 100%;
    margin: auto;
  }
}
@media screen and (min-width: 1500px) {
  .ourProject__description {
    margin-left: 24rem;
  }
}
@media screen and (min-width: 1700px) {
  .ourProject__description {
    margin-left: 28rem;
  }
}
@media screen and (min-width: 1800px) {
  .ourProject__description {
    margin-left: 32rem;
  }
}
@media screen and (min-width: 1900px) {
  .ourProject__description {
    margin-left: 36rem;
  }
}
.ourProject__title {
  font-family: "Jost", sans-serif;
  color: #272727;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.03em;
  line-height: 1.16;
  margin-top: 6.5rem;
  margin-bottom: 3.6rem;
  text-align: left;
  text-transform: uppercase;
}
@media only screen and (max-width:768px) {
  .ourProject__title {
    padding-right: 2.5rem;
    font-size: 5rem;
    margin-top: 4rem;
    text-align: center;
  }
}
@media only screen and (max-width:768px) {
  .ourProject__title {
    margin-bottom: 1.5rem;
  }
}
.ourProject__text {
  color: #000000;
  font-size: 1.6rem;
  text-align: left;
  font-weight: 500;
  margin-bottom: 4rem;
  letter-spacing: 0;
}
@media only screen and (max-width:768px) {
  .ourProject__text {
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 6rem;
  }
}
.ourProject .sliderDesc {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.ourProject .sliderDesc figure {
  overflow: hidden;
  border-radius: 10px;
}
.ourProject .sliderDesc:hover .singleBlog__slideImg {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.ourProject .sliderDesc .singleBlog__slideImg {
  -webkit-transition: border-radius 0.3s ease, -webkit-transform 0.3s ease;
  transition: border-radius 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, border-radius 0.3s ease;
  transition: transform 0.3s ease, border-radius 0.3s ease, -webkit-transform 0.3s ease;
}

.slider__image__img {
  max-width: 324px;
  height: 399px;
  border-radius: 10px;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width:768px) {
  .slider__image__img {
    height: 300px;
  }
}

.slider__Btn__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2.5rem;
}
@media only screen and (max-width:768px) {
  .slider__Btn__wrap {
    margin-bottom: 2rem;
    display: none;
  }
}
@media only screen and (max-width:480px) {
  .slider__Btn__wrap {
    display: none;
    margin-bottom: 2rem;
  }
}
.slider__Btn__prev {
  width: 5rem;
  height: 5rem;
  background-color: #f6f6f6;
  border: 1px solid #d1d0d0;
  margin-left: -1rem;
  cursor: pointer;
  position: relative;
}
.slider__Btn__prev::after {
  position: absolute;
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
}
.slider__Btn__next {
  width: 5rem;
  height: 5rem;
  background-color: #ffffff;
  border: 1px solid #d1d0d0;
  cursor: pointer;
  position: relative;
}
.slider__Btn__next::after {
  position: absolute;
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.slider__image__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  overflow-x: scroll;
}
.slider__image__item {
  margin-right: 2.5rem;
}
.slider__image__img {
  max-width: 324px;
  border-radius: 10px;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width:768px) {
  .slider__image__img {
    height: 300px;
  }
}
.slider__image__subtitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:768px) {
  .slider__image__subtitle {
    font-size: 1.3rem;
  }
}
.slider__image__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
}
@media only screen and (max-width:768px) {
  .slider__image__title {
    font-size: 1.6rem;
  }
}

.swiper-container {
  overflow-x: scroll !important;
}

.sliderDesc {
  position: relative;
  z-index: 0;
  width: 100%; /* 画像コンテナーの幅を100%に設定 */
  max-width: 100%; /* 画像コンテナーの最大幅を100%に設定 */
}

.sliderDesc img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 324/399;
  border-radius: 10px;
}

.sliderTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  color: #000000;
  height: 100px;
  text-align: left;
  line-height: 1.5;
}
@media only screen and (max-width:768px) {
  .sliderTitle {
    font-size: 1.6rem;
  }
}

.sliderSubtitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 2rem 0 1.5rem 0;
}
@media only screen and (max-width:768px) {
  .sliderSubtitle {
    font-size: 0.13rem;
  }
}

.aboutUs {
  padding-top: 3rem;
  padding-bottom: 6rem;
  position: relative;
}
@media only screen and (max-width:768px) {
  .aboutUs {
    padding-top: 5rem;
  }
}
@media only screen and (max-width:480px) {
  .aboutUs {
    padding-bottom: 7rem;
  }
}
.aboutUs::before {
  position: absolute;
  display: block;
  content: "";
  width: 103px;
  height: 1px;
  top: 0;
  left: 50%;
  background-color: #6e11cb;
}
@media only screen and (max-width:768px) {
  .aboutUs::before {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.aboutUs__inner {
  max-width: 1304px;
  margin-left: 2.5rem;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media only screen and (max-width:768px) {
  .aboutUs__inner {
    margin-left: 0;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.aboutUs__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:768px) {
  .aboutUs__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.aboutUs__title {
  font-family: "Jost", sans-serif;
  font-size: 12rem;
  font-weight: bold;
  color: #000000;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media only screen and (max-width:768px) {
  .aboutUs__title {
    font-size: 4.4rem;
    -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
            writing-mode: unset;
    -webkit-transform: unset;
            transform: unset;
    text-align: center;
  }
}
@media only screen and (max-width:480px) {
  .aboutUs__title {
    font-size: 4.4rem;
  }
}

.aboutUs__contents {
  width: 100%;
  max-width: 918px;
  margin-left: 14rem;
  padding-top: 4rem;
}
@media screen and (max-width: 1200px) {
  .aboutUs__contents {
    margin-left: 2rem;
  }
}
@media only screen and (max-width:768px) {
  .aboutUs__contents {
    margin-left: 0;
    margin: auto;
  }
}
@media only screen and (max-width:480px) {
  .aboutUs__contents {
    padding-top: 3rem;
  }
}

.aboutUs__tag {
  font-family: "Jost", sans-serif;
  color: #6e11cb;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-bottom: 2rem;
  text-transform: uppercase;
  position: relative;
}
@media only screen and (max-width:768px) {
  .aboutUs__tag {
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }
}

.aboutUs__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid #6e11cb;
  margin-bottom: 2.5rem;
}
.aboutUs__text:last-of-type {
  margin-bottom: 6rem;
}
@media only screen and (max-width:768px) {
  .aboutUs__text:last-of-type {
    line-height: 1.5;
    font-size: 2rem;
    margin-bottom: 5rem;
    padding-bottom: 3rem;
  }
}
@media only screen and (max-width:768px) {
  .aboutUs__text {
    line-height: 1.5;
    font-size: 2rem;
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

@media only screen and (max-width:768px) {
  .sp-magin {
    display: inline-block;
    margin-left: 1.5rem;
  }
}

.topics {
  padding-top: 6rem;
  padding-bottom: 8rem;
  background-color: #f6f6f6;
}
@media only screen and (max-width:768px) {
  .topics {
    padding-top: 6rem;
  }
}

.topicsInner {
  max-width: 1221px;
  margin: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media only screen and (max-width:768px) {
  .topicsInner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.topicsFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 3%;
     -moz-column-gap: 3%;
          column-gap: 3%;
}
@media only screen and (max-width:768px) {
  .topicsFlex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.topicsDescription {
  width: 34%;
}
@media only screen and (max-width:768px) {
  .topicsDescription {
    width: 100%;
  }
}

.topicsTitle {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #272727;
  font-size: 6rem;
  letter-spacing: 0.03em;
  text-align: center;
  margin-bottom: 5rem;
}
@media only screen and (max-width:768px) {
  .topicsTitle {
    font-size: 5rem;
    margin-bottom: 1.5rem;
  }
}

.topicsText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: left;
  line-height: 1.85;
  margin-bottom: 2rem;
}
@media only screen and (max-width:768px) {
  .topicsText {
    margin-bottom: 4.5rem;
    text-align: center;
  }
}
@media only screen and (max-width:480px) {
  .topicsText {
    margin-bottom: 2rem;
  }
}

.topicsPosts {
  width: 63%;
}
@media screen and (max-width: 1140px) {
  .topicsPosts {
    margin-top: 6rem;
  }
}
@media only screen and (max-width:768px) {
  .topicsPosts {
    width: 100%;
    margin-top: 0;
  }
}

.topicsPosts__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media only screen and (max-width:768px) {
  .topicsPosts__flex {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.topicsPosts__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding-top: 2rem;
  padding-bottom: 2rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.topicsPosts__link:hover .topicsPosts__title {
  opacity: 0.5;
}
.topicsPosts__link:hover::before, .topicsPosts__link:hover::after {
  right: 2rem;
}
.topicsPosts__link .topicsPosts__title {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  opacity: 1; /* 初期状態は完全に不透明に設定 */
}
@media only screen and (max-width:768px) {
  .topicsPosts__link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.topicsPosts__link::before {
  display: block;
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  right: 3rem;
  top: 46%;
  border-style: solid;
  border-color: transparent transparent transparent #000000;
  border-width: 6px 0px 0px 6px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (max-width:768px) {
  .topicsPosts__link::before {
    display: none;
  }
}
.topicsPosts__link::after {
  display: block;
  content: "";
  position: absolute;
  background: #000000;
  width: 3.4rem;
  height: 1px;
  right: 3.5rem;
  top: 50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (max-width:768px) {
  .topicsPosts__link::after {
    display: none;
  }
}

.topicsPosts__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 2px dotted #000000;
  position: relative;
}
.topicsPosts__item:last-child {
  padding-bottom: 0;
  border: none;
}

.topicsPosts__description {
  margin-left: 3.5rem;
}
@media only screen and (max-width:768px) {
  .topicsPosts__description {
    margin-left: 1.5rem;
  }
}

.topicsPosts__date {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #3b4043;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:768px) {
  .topicsPosts__date {
    font-size: 1.2rem;
    margin-bottom: 0;
  }
}

.topicsPosts__category a {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6e11cb;
  font-size: 1.6rem;
  font-weight: bold;
  margin-left: 2rem;
}
@media only screen and (max-width:768px) {
  .topicsPosts__category a {
    font-size: 1.4rem;
  }
}

.topicsPosts__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
}
@media only screen and (max-width:768px) {
  .topicsPosts__title {
    font-size: 1.3rem;
    line-height: 1.69;
  }
}

.slider__subtitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 3rem 0 1.5rem 0;
}

.topicsPosts__img {
  width: 135px;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 135/75;
}
@media only screen and (max-width:768px) {
  .topicsPosts__img {
    width: 73px;
    height: 40px;
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 73/40;
  }
}

.topicsPosts__type {
  font-family: "Jost", sans-serif;
  color: #6e11cb;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-left: 2rem;
  text-transform: uppercase;
}

.pageTop__recruit {
  padding-bottom: 8rem;
}

.pageTop__recruitImage {
  width: 100%;
  height: 425px;
  margin-bottom: 3rem;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitImage {
    display: none;
  }
}

.pageTop__recruitInner {
  max-width: 1221px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: auto;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitInner {
    padding-right: 0;
    padding-left: 0;
  }
}

.pageTop__recruitFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 2rem;
  -webkit-column-gap: 16%;
     -moz-column-gap: 16%;
          column-gap: 16%;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitFlex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.pageTop__recruitContents {
  width: 21%;
}
@media screen and (max-width: 1200px) {
  .pageTop__recruitContents {
    margin-left: 4rem;
  }
}
@media only screen and (max-width:768px) {
  .pageTop__recruitContents {
    width: 100%;
    margin-left: 0;
  }
}

.pageTop__recruitTitle {
  font-family: "Jost", sans-serif;
  color: #272727;
  font-size: 6rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.03em;
  margin-bottom: 6.5rem;
  text-transform: uppercase;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitTitle {
    padding-top: 4rem;
    font-size: 5rem;
  }
}
@media only screen and (max-width:480px) {
  .pageTop__recruitTitle {
    margin-bottom: 4rem;
  }
}

.pageTop__recruitDescription {
  width: 63%;
}
@media only screen and (max-width:1023px) {
  .pageTop__recruitDescription {
    margin-left: 2rem;
  }
}
@media only screen and (max-width:768px) {
  .pageTop__recruitDescription {
    width: 100%;
    margin-left: 0;
  }
}

.pageTop__recruitText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0;
  margin-bottom: 3rem;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitText {
    font-size: 1.8rem;
    padding: 2.5rem;
    margin-bottom: 0;
  }
}

.pageTop__recruitSubtext {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.87;
}
@media only screen and (max-width:768px) {
  .pageTop__recruitSubtext {
    font-size: 1.4rem;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.pageTop__recruit__imageTab-only {
  display: none;
}
@media only screen and (max-width:768px) {
  .pageTop__recruit__imageTab-only {
    display: block;
    width: 100%;
    height: 180px;
  }
}

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

html,
body,
div,
span,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
img,
i,
dl,
dt,
dd,
ol,
ul,
li,
form,
label,
table,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
figure,
footer,
header,
nav,
section,
audio,
video {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border: 0;
  outline: 0;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
img {
  display: block;
}

img {
  max-width: 100%;
}

nav ul {
  list-style: none;
}

li {
  list-style: none;
}

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

a {
  padding: 0;
  margin: 0;
  color: #000000;
  font-size: 100%;
  text-decoration: none;
  vertical-align: baseline;
  background: transparent;
}

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

input,
select {
  vertical-align: middle;
}

html {
  margin: 0;
  overflow-x: hidden;
  font-size: 62.5%;
  margin-top: 0 !important;
}

body {
  margin: 0;
  overflow-x: hidden;
  color: #000000;
  font-family: "Noto Sans JP", "Noto Sans Japanese", YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  letter-spacing: 0.08em;
}
@media only screen and (max-width:480px) {
  body {
    letter-spacing: 0;
  }
}

.-spOnly {
  display: none;
}
@media only screen and (max-width:768px) {
  .-spOnly {
    display: inline-block;
  }
}

.-spOnly2 {
  display: none;
}
@media only screen and (max-width:480px) {
  .-spOnly2 {
    display: block;
  }
}

.-spNone {
  display: block;
}
@media only screen and (max-width:480px) {
  .-spNone {
    display: none;
  }
}

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

.-pc1024Only {
  display: none;
}
@media only screen and (max-width:1023px) {
  .-pc1024Only {
    display: inline-block;
  }
}
@media only screen and (max-width:480px) {
  .-pc1024Only {
    display: none;
  }
}

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

.contact {
  width: 100%;
  height: 275px;
}
@media only screen and (max-width:768px) {
  .contact {
    height: 160px;
  }
}

.contactButton__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.contactButton {
  font-family: "Jost", sans-serif;
  display: block;
  color: #ffffff;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  width: 50%;
  margin: auto;
  font-size: 5rem;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-transform: uppercase;
  padding: 10rem 0 9.5rem 0;
  position: relative;
}
@media only screen and (max-width:768px) {
  .contactButton {
    font-size: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .contactButton {
    font-size: 2rem;
    padding: 5rem 0;
  }
}
.contactButton::before {
  position: absolute;
  display: block;
  content: url(/img/renewal/contact.png);
  left: 50%;
  top: 3rem;
  -webkit-transform: translateX(-50%) scale(0.5);
          transform: translateX(-50%) scale(0.5);
}
@media only screen and (max-width:480px) {
  .contactButton::before {
    top: 0;
    -webkit-transform: translateX(-50%) scale(0.32);
            transform: translateX(-50%) scale(0.32);
  }
}

.contactButton::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background-color: rgba(0, 0, 0, 0);
  width: 100%;
  height: 100%;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.contactButton:hover::after {
  background-color: rgba(0, 0, 0, 0.3);
}

.contactButton__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-top: 1.5rem;
  position: relative;
}
@media only screen and (max-width:768px) {
  .contactButton__text {
    font-size: 1rem;
    line-height: 1.4;
  }
}
.contactButton__text::after {
  width: 13px;
  height: 13px;
  position: absolute;
  display: block;
  content: "";
  border-bottom: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  top: 4rem;
  left: 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media only screen and (max-width:768px) {
  .contactButton__text::after {
    font-size: 1rem;
  }
}

.downloadButton {
  font-family: "Jost", sans-serif;
  display: block;
  color: #ffffff;
  background: -webkit-gradient(linear, left top, left bottom, from(#0491a3), to(#01e089));
  background: linear-gradient(#0491a3, #01e089);
  width: 50%;
  margin: auto;
  font-size: 5rem;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-transform: uppercase;
  padding: 10rem 0 9.5rem 0;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  position: relative;
}
@media only screen and (max-width:768px) {
  .downloadButton {
    font-size: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .downloadButton {
    font-size: 2rem;
    padding: 5rem 0;
  }
}
.downloadButton::before {
  position: absolute;
  display: block;
  content: url(/img/renewal/download.png);
  left: 50%;
  top: 3rem;
  -webkit-transform: translateX(-50%) scale(0.5);
          transform: translateX(-50%) scale(0.5);
}
@media only screen and (max-width:480px) {
  .downloadButton::before {
    top: 0;
    -webkit-transform: translateX(-50%) scale(0.32);
            transform: translateX(-50%) scale(0.32);
  }
}

.downloadButton::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background-color: rgba(0, 0, 0, 0);
  width: 100%;
  height: 100%;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.downloadButton:hover::after {
  background-color: rgba(0, 0, 0, 0.3);
}

.downloadButton__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-top: 1.5rem;
  position: relative;
}
@media only screen and (max-width:768px) {
  .downloadButton__text {
    font-size: 1rem;
    line-height: 1.4;
  }
}
.downloadButton__text::after {
  width: 13px;
  height: 13px;
  position: absolute;
  display: block;
  content: "";
  border-bottom: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  top: 4rem;
  left: 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.VS__serviceTop {
  max-width: 1352px;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  margin: auto;
  margin-bottom: 12rem;
}
.VS__serviceTop.-infoWhy {
  padding-top: 14rem;
}
@media only screen and (max-width:768px) {
  .VS__serviceTop.-infoWhy {
    padding-top: 0;
  }
}
@media only screen and (max-width:768px) {
  .VS__serviceTop {
    background: #f6f6f6;
    margin-bottom: 0;
  }
}
@media only screen and (max-width:480px) {
  .VS__serviceTop {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}
.VS__serviceTop.-serviceUnder {
  margin-bottom: 5rem;
}
@media only screen and (max-width:768px) {
  .VS__serviceTop.-serviceUnder {
    padding: 0 2.5rem;
    margin-bottom: 0;
  }
}

.VS__serviceTop__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #272727;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.03em;
  text-align: center;
  padding-bottom: 4rem;
  position: relative;
}
@media only screen and (max-width:768px) {
  .VS__serviceTop__title {
    font-size: 4.4rem;
  }
}
@media only screen and (max-width:480px) {
  .VS__serviceTop__title {
    font-size: 3.8rem;
  }
}

.VS__serviceTop__inner {
  width: 100%;
  max-width: 1332px;
  background-color: #f6f6f6;
  margin: auto;
  padding: 4rem 5rem 5rem 5rem;
  border-radius: 30px;
}
@media only screen and (max-width:768px) {
  .VS__serviceTop__inner {
    background: unset;
    padding: 2.5rem 0 5rem 0;
  }
}
@media only screen and (max-width:480px) {
  .VS__serviceTop__inner {
    padding: 4.5rem 0 2.5rem 0;
  }
}
@media only screen and (max-width:768px) {
  .VS__serviceTop__inner.-serviceUnder {
    background: unset;
    padding-bottom: 2rem;
  }
}

.viewService__under {
  width: 100%;
  padding-top: 6rem;
  background: #f6f6f6;
  padding: 6rem 1rem 8rem 1rem;
}
@media only screen and (max-width:1023px) {
  .viewService__under {
    padding: 6rem 2.5rem 8rem 2.5rem;
  }
}
@media only screen and (max-width:480px) {
  .viewService__under {
    padding: 4rem 2.5rem 5rem 2.5rem;
  }
}

.viewService__inner {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.viewService__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width:480px) {
  .viewService__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.viewService__item {
  width: calc(25% - 3rem);
  margin-right: 4rem;
  border-top: 1px solid #d1d0d0;
  padding: 2rem 0 0 0;
  position: relative;
}
@media screen and (max-width: 1280px) {
  .viewService__item {
    width: calc(33.3333333333% - 3rem);
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width:1023px) {
  .viewService__item {
    width: calc(50% - 2rem);
    margin-right: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .viewService__item {
    width: 100%;
    padding: 1.5rem 0 2rem 0;
    margin-bottom: 0;
  }
}
.viewService__item::before {
  content: "";
  position: absolute;
  border-width: 1px;
  border-style: solid;
  border-image-source: linear-gradient(#cc2a8d, #ae0cd9);
  border-image-slice: 1;
  width: 7.3rem;
  top: -0.15rem;
}
@media only screen and (max-width:768px) {
  .viewService__item::before {
    width: 8.7rem;
  }
}
@media only screen and (max-width:1023px) {
  .viewService__item:nth-child(2) {
    margin-right: 0;
  }
}
@media screen and (max-width: 1280px) {
  .viewService__item:nth-child(3) {
    margin-right: 0;
  }
}
@media only screen and (max-width:1023px) {
  .viewService__item:nth-child(3) {
    margin-right: 2rem;
  }
}
.viewService__item:last-child {
  margin-right: 0;
}
.viewService__item.-under {
  width: calc(33.3333333333% - 5.3rem);
  margin-right: 7rem;
  border-top: 1px solid #d1d0d0;
  padding: 2rem 0 0 0;
  position: relative;
}
.viewService__item.-under::before {
  content: "";
  position: absolute;
  border-width: 1px;
  border-style: solid;
  border-image-source: linear-gradient(#cc2a8d, #ae0cd9);
  border-image-slice: 1;
  width: 7.3rem;
  height: 0;
  top: -0.15rem;
  left: 0;
  z-index: 100;
}
@media only screen and (max-width:768px) {
  .viewService__item.-under::before {
    width: 8.7rem;
  }
}
@media only screen and (max-width:1023px) {
  .viewService__item.-under {
    margin-right: 2rem;
    width: calc(50% - 2rem);
  }
}
@media only screen and (max-width:480px) {
  .viewService__item.-under {
    width: 100%;
    padding: 1.5rem 0 2rem 0;
    margin-bottom: 0;
  }
}
@media only screen and (max-width:1023px) {
  .viewService__item.-under:nth-child(2) {
    margin-right: 0;
  }
}
.viewService__item.-under:last-child {
  margin-right: 0;
}
@media only screen and (max-width:480px) {
  .viewService__item.-under:last-child {
    width: 100%;
    padding: 1.5rem 0 0 0;
    margin-bottom: 0;
  }
}

.viewService__item:hover .viewService__btn {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform: translateX(10px);
          transform: translateX(10px);
}

.viewService__btnFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.viewService__btn {
  display: block;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  cursor: pointer;
  position: relative;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s; /* ホバー時と離れた時の両方でアニメーションを設定 */
}
.viewService__btn::before {
  display: block;
  content: "";
  position: absolute;
  width: 6px;
  height: 1px;
  right: 1.2rem;
  top: 46%;
  background: #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.viewService__btn::after {
  display: block;
  content: "";
  position: absolute;
  background: #ffffff;
  width: 1.4rem;
  height: 1px;
  right: 50%;
  top: 50%;
  background: #ffffff;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
}
@media only screen and (max-width:768px) {
  .viewService__btn {
    width: 2.8rem;
    height: 2.8rem;
  }
  .viewService__btn::before {
    width: 0.5rem;
    right: 0.9rem;
  }
  .viewService__btn::after {
    width: 1.1rem;
  }
}
.viewService__btn.-recruit {
  margin-top: -3rem;
}
@media only screen and (max-width:768px) {
  .viewService__btn.-recruit {
    margin-top: -6rem;
  }
}
@media only screen and (max-width:480px) {
  .viewService__btn.-recruit {
    margin-top: -9rem;
  }
}

.viewService__itemTag {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #6e11cb;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  margin-bottom: 1.5rem;
  text-align: left;
}
@media only screen and (max-width:480px) {
  .viewService__itemTag {
    font-size: 1.2rem;
    width: 100%;
    margin-right: 0;
    margin-bottom: 1rem;
  }
}

.viewService__itemTitle {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #000000;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: left;
  margin-bottom: 1rem;
}
@media only screen and (max-width:1023px) {
  .viewService__itemTitle {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width:768px) {
  .viewService__itemTitle {
    font-size: 1.8rem;
  }
}

.viewService__itemSubTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0;
}
@media only screen and (max-width:768px) {
  .viewService__itemSubTitle {
    font-size: 1.2rem;
  }
}

.archiveNews__pagination {
  margin: auto;
}

.navigation .pagination {
  margin: auto;
}

.archiveNews__pagination .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 358px;
  width: 100%;
  margin: auto;
}

.archiveNews__pagination .page-numbers li {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  padding: 1.5rem 1rem;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin-right: 1rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.archiveNews__pagination .page-numbers li:last-child {
  margin-right: 0;
}
@media only screen and (max-width:768px) {
  .archiveNews__pagination .page-numbers li {
    font-size: 1.8rem;
    margin-right: 3rem;
  }
}
@media only screen and (max-width:480px) {
  .archiveNews__pagination .page-numbers li {
    margin-right: 1rem;
  }
}

.archiveNews__pagination .page-numbers li .dots {
  padding: 1.5rem 1rem 0.5rem 1rem;
}

.page-numbers .page-numbers {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.page-numbers .page-numbers:hover {
  opacity: 0.5;
}

.page-numbers .page-numbers.current:hover {
  opacity: 1;
}

.archiveNews__pagination .page-numbers .current {
  color: #ffffff;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  padding: 1.5rem 2rem;
  border-radius: 50%;
}
@media only screen and (max-width:768px) {
  .archiveNews__pagination .page-numbers .current {
    padding: 0.7rem 1.2rem 1rem 1.2rem;
  }
}

.linkcard {
  width: 100%;
  max-width: 788px;
  margin-bottom: 6rem;
}

.lkc-card {
  margin: 0;
}

.lkc-internal-wrap {
  max-width: 788px;
  border: none;
  border-radius: 10px;
}
@media only screen and (max-width:480px) {
  .lkc-internal-wrap {
    height: 29.3rem;
  }
}

.lkc-content {
  margin: 0;
  height: 16rem;
}
@media only screen and (max-width:480px) {
  .lkc-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 29.3rem;
  }
}

.lkc-thumbnail {
  width: 100%;
  max-width: 21.9rem;
  max-height: 16rem;
  height: auto;
  aspect-ratio: 219/160;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 20;
  margin: 0;
}
@media only screen and (max-width:480px) {
  .lkc-thumbnail {
    max-width: unset;
    max-height: unset;
    aspect-ratio: 331/180;
  }
}
.lkc-thumbnail img {
  width: 100%;
  height: 100%;
  max-height: 16rem;
  border: none;
  border-radius: 10px;
}
@media only screen and (max-width:480px) {
  .lkc-thumbnail img {
    height: 18rem;
    max-width: unset;
    max-height: unset;
    aspect-ratio: 331/180;
  }
}

@media only screen and (max-width:480px) {
  .lkc-title {
    margin-top: 1rem;
  }
}

.lkc-title-text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.44;
  padding: 4rem 2.5rem 1.5rem 2rem;
}
@media only screen and (max-width:768px) {
  .lkc-title-text {
    font-size: 1.4rem;
    padding: 3rem 1.5rem 1.5rem 1.5rem;
  }
}
@media only screen and (max-width:480px) {
  .lkc-title-text {
    font-size: 1.4rem;
    padding: 3rem 1.5rem 1rem 1.5rem;
  }
}
.lkc-title-text:hover {
  text-decoration: none;
}

.lkc-excerpt {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  padding: 0 2.5rem 4rem 2rem;
}
@media only screen and (max-width:768px) {
  .lkc-excerpt {
    font-size: 1rem;
  }
}

.mainVisual__serviceTop {
  height: 36.5rem;
  overflow: hidden;
}
@media only screen and (max-width:768px) {
  .mainVisual__serviceTop {
    height: 30.5rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__serviceTop {
    height: 21.5rem;
  }
}
.mainVisual__serviceTop.-underlayer {
  height: 37rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__serviceTop.-underlayer {
    height: 30.5rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__serviceTop.-underlayer {
    height: 21.5rem;
  }
}

.serviceTop__inner {
  max-width: 1086px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: auto;
}
@media only screen and (max-width:768px) {
  .serviceTop__inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

.mainVisual__serviceTop__title {
  font-family: "Jost", sans-serif;
  display: block;
  color: #ffffff;
  font-size: 7.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
  padding-top: 16rem;
  margin-bottom: 2.5rem;
  position: relative;
  opacity: 0.4;
  white-space: nowrap;
  text-transform: uppercase;
}
@media only screen and (max-width:1023px) {
  .mainVisual__serviceTop__title {
    font-size: 5.5rem;
  }
}
@media only screen and (max-width:768px) {
  .mainVisual__serviceTop__title {
    font-size: 4rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__serviceTop__title {
    font-size: 2.6rem;
    padding-top: 10.5rem;
    margin-bottom: 1rem;
  }
}
.mainVisual__serviceTop__title.-underlayer {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 1200px) {
  .mainVisual__serviceTop__title.-underlayer {
    font-size: 9rem;
  }
}
@media only screen and (max-width:1023px) {
  .mainVisual__serviceTop__title.-underlayer {
    font-size: 7rem;
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width:768px) {
  .mainVisual__serviceTop__title.-underlayer {
    font-size: 4.5rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__serviceTop__title.-underlayer {
    font-size: 3.2rem;
    margin-bottom: 1rem;
  }
}

.mainVisual__serviceTop__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 4.5rem;
  opacity: 0.4;
}
@media only screen and (max-width:768px) {
  .mainVisual__serviceTop__subTitle {
    font-size: 1.6rem;
    margin-bottom: 5.5rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__serviceTop__subTitle {
    font-size: 1.2rem;
  }
}

.mainVisual__video {
  width: 100%;
  height: 81rem;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
@media only screen and (max-width:480px) {
  .mainVisual__video {
    height: 60rem;
  }
}
.mainVisual__video.-serviceTop {
  height: 36.5rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__video.-serviceTop {
    height: 30.5rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__video.-serviceTop {
    height: 21.5rem;
  }
}
.mainVisual__video.-serviceTop::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisual__video.-serviceTop::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisual__video.-serviceTop::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
.mainVisual__video.-underlayer {
  height: 37rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__video.-underlayer {
    height: 31rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__video.-underlayer {
    height: 21rem;
  }
}
.mainVisual__video.-underlayer::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisual__video.-underlayer::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisual__video.-underlayer::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.service__sectionTitle {
  text-align: center;
  font-size: 5.2rem;
  font-weight: 700;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: 0.03em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  width: 100%;
}
@media only screen and (max-width:768px) {
  .service__sectionTitle {
    font-size: 4.6rem;
    line-height: 1.2608695652;
    letter-spacing: 0.02em;
  }
}

.service__sectionSubtitle {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  margin-top: 1.3rem;
  letter-spacing: 0.07em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media only screen and (max-width:768px) {
  .service__sectionSubtitle {
    font-size: 1.4rem;
    margin-top: 3.6rem;
    font-weight: 500;
  }
}

.serviceTop__description {
  padding: 7.5rem 1rem 7.5rem 1rem;
}
@media only screen and (max-width:480px) {
  .serviceTop__description {
    padding: 4rem 2.5rem 6rem 2.5rem;
  }
}
.serviceTop__description.-underlayer {
  padding: 5rem 1rem 8rem 1rem;
}
@media only screen and (max-width:1023px) {
  .serviceTop__description.-underlayer {
    padding: 10rem 1rem 8rem 1rem;
  }
}
@media only screen and (max-width:768px) {
  .serviceTop__description.-underlayer {
    padding: 5rem 1rem 8rem 1rem;
  }
}
@media only screen and (max-width:480px) {
  .serviceTop__description.-underlayer {
    padding: 3.5rem 2.5rem 6rem 2.5rem;
  }
}

.serviceTop__description.-top {
  padding-bottom: 4.5rem;
}
@media only screen and (max-width:768px) {
  .serviceTop__description.-top {
    padding: 3rem 2rem 4.7rem;
  }
}

.serviceTop__descriptionText {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 5rem;
  letter-spacing: -0.03em;
}
@media only screen and (max-width:1023px) {
  .serviceTop__descriptionText {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width:768px) {
  .serviceTop__descriptionText {
    font-size: 1.8rem;
    margin-bottom: 3rem;
  }
}

.serviceTop__descriptionText.-top {
  -moz-text-align-last: left;
       text-align-last: left;
  font-size: 2.8rem;
  line-height: 1.7142857143;
  font-weight: 600;
  margin-bottom: 3.5rem;
}
@media only screen and (max-width:768px) {
  .serviceTop__descriptionText.-top {
    font-size: 2.2rem;
    line-height: 1.7272727273;
    font-weight: 700;
    margin-bottom: 2.4rem;
  }
}

.serviceTop__descriptionBox {
  max-width: 807px;
  margin: auto;
}

.serviceTop__descriptionBox.-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 5.3rem;
  max-width: 900px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:768px) {
  .serviceTop__descriptionBox.-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-top: 4.7rem;
  }
}

.serviceTop__descriptionSubtext {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.87;
  overflow-wrap: break-word;
}
@media only screen and (max-width:768px) {
  .serviceTop__descriptionSubtext {
    font-size: 1.4rem;
  }
}

.serviceTop__descriptionSubtext.-top {
  font-size: 1.3rem;
  line-height: 1.9230769231;
}
@media only screen and (max-width:768px) {
  .serviceTop__descriptionSubtext.-top {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8571428571;
  }
}

.serviceTop__descriptionWrap {
  width: 43%;
  margin-top: 1.2rem;
}
@media only screen and (max-width:768px) {
  .serviceTop__descriptionWrap {
    width: 100%;
    margin-top: 3.8rem;
  }
}

.serviceTop__descriptionImage {
  width: 53%;
}
@media only screen and (max-width:768px) {
  .serviceTop__descriptionImage {
    width: 100%;
  }
}

.serviceTop__outcome {
  position: relative;
  padding: 5rem 0 5rem;
  background-color: #f6f6f6;
  overflow: hidden;
}
@media only screen and (max-width:768px) {
  .serviceTop__outcome {
    padding: 6rem 0;
  }
}

.serviceTop__outcome_image {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-20%);
          transform: translateX(-20%);
}
@media only screen and (max-width:768px) {
  .serviceTop__outcome_image {
    -webkit-transform: translateX(-94%);
            transform: translateX(-94%);
  }
}
.serviceTop__outcome_image img {
  max-width: 40%;
}
@media only screen and (max-width:768px) {
  .serviceTop__outcome_image img {
    max-width: 190%;
  }
}

.serviceTop__outcomeFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 885px;
  margin: auto;
  z-index: 2;
  -webkit-column-gap: 2.4rem;
     -moz-column-gap: 2.4rem;
          column-gap: 2.4rem;
}
@media only screen and (max-width:768px) {
  .serviceTop__outcomeFlex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.serviceTop__outcomeBox {
  width: 100%;
  max-width: 500px;
  border: 1px solid #6e11cb;
  padding: 1.6rem 0;
  position: relative;
  background-color: #ffffff;
}
@media only screen and (max-width:768px) {
  .serviceTop__outcomeBox {
    max-width: unset;
    margin-bottom: 4rem;
    margin-right: 0;
  }
}
@media only screen and (max-width:768px) {
  .serviceTop__outcomeBox {
    padding: 2rem 0 3rem 0;
  }
}
.serviceTop__outcomeBox:last-child {
  margin-right: 0;
}
@media only screen and (max-width:768px) {
  .serviceTop__outcomeBox:last-child {
    max-width: unset;
    margin-bottom: 0;
  }
}
.serviceTop__outcomeBox::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: #6e11cb transparent transparent #6e11cb;
}
.serviceTop__outcomeBox::after {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  bottom: 0;
  right: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: transparent #6e11cb #6e11cb transparent;
}

.serviceTop__outcomeTag {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6e11cb;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 0.8rem;
}
@media only screen and (max-width:480px) {
  .serviceTop__outcomeTag {
    font-size: 1.2rem;
    margin-bottom: 1.2rem;
  }
}

.serviceTop__outcomeTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 1.2rem;
}
@media only screen and (max-width:480px) {
  .serviceTop__outcomeTitle {
    font-size: 1.6rem;
    margin-bottom: 1.8rem;
  }
}

.serviceTop__outcomeText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width:480px) {
  .serviceTop__outcomeText {
    font-size: 1.3rem;
    padding: 0 2.6rem;
    text-align: left;
    line-height: 1.8461538462;
  }
}

.serviceTop__partnership {
  max-width: 1180px;
  padding-top: 7rem;
  margin: auto;
}
@media only screen and (max-width:480px) {
  .serviceTop__partnership {
    padding-top: 6rem;
  }
}

.serviceTop__partnership.-top {
  padding-top: 11rem;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
@media only screen and (max-width:768px) {
  .serviceTop__partnership.-top {
    padding-top: 6rem;
  }
}

.serviceTop__partnershipBox {
  width: 100%;
  padding-bottom: 5rem;
}
@media only screen and (max-width:480px) {
  .serviceTop__partnershipBox {
    padding-bottom: 4rem;
  }
}

.logoFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 5.5rem;
}
@media only screen and (max-width:480px) {
  .logoFlex {
    margin-bottom: 4rem;
  }
}
.logoFlex.-partnership {
  margin-left: 5rem;
}
@media only screen and (max-width:768px) {
  .logoFlex.-partnership {
    margin-left: 0;
  }
}
.logoFlex.-incubation {
  margin-left: 5rem;
}
@media only screen and (max-width:768px) {
  .logoFlex.-incubation {
    margin-left: 0;
  }
}
@media only screen and (max-width:480px) {
  .logoFlex:last-child {
    margin-bottom: 3rem;
  }
}
.logoFlex.-infoWhy {
  margin-left: 5rem;
  position: relative;
  z-index: 1000;
  margin-bottom: 6rem;
}
@media only screen and (max-width:768px) {
  .logoFlex.-infoWhy {
    margin-left: 0;
    margin-bottom: 3rem;
  }
}

.serviceTop__tag {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  color: #6e11cb;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:480px) {
  .serviceTop__tag {
    font-size: 1.3rem;
  }
}

.serviceTop__logo {
  display: inline-block;
  width: 2.4rem;
  height: 3rem;
  margin-right: 1rem;
}

.serviceTop__partnershipTitleFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  max-width: 573px;
}
@media only screen and (max-width:768px) {
  .serviceTop__partnershipTitleFlex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (max-width:768px) {
  .serviceTop__partnershipTitleFlex img {
    height: 66px;
  }
}

.serviceTop__partnershipTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-align: center;
  margin-bottom: 6rem;
}
@media only screen and (max-width:768px) {
  .serviceTop__partnershipTitle {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width:480px) {
  .serviceTop__partnershipTitle {
    font-size: 1.8rem;
    margin-bottom: 3.5rem;
  }
}

.serviceTop__partnershipTitle.-top {
  margin-bottom: 0;
  color: #6e11cb;
  font-size: 2.4rem;
  line-height: 1.8148148148;
}

.serviceTop__partnershipSubtitle.-top {
  color: #6e11cb;
  font-size: 1.9rem;
  line-height: 1.5789473684;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .serviceTop__partnershipSubtitle.-top {
    font-size: 2.1rem;
  }
}

.serviceTop__partnershipText {
  font-family: "Noto Sans JP", sans-serif;
  max-width: 825px;
  display: block;
  margin: auto;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.87;
  padding-right: 2rem;
  padding-left: 2rem;
  position: relative;
}
.serviceTop__partnershipText:first-child {
  display: block;
  margin-bottom: 1rem;
}
@media only screen and (max-width:768px) {
  .serviceTop__partnershipText {
    font-size: 1.4rem;
    margin-left: 1.5rem;
  }
}

.serviceTop__partnershipText.-top {
  font-size: 18px;
  text-align: center;
  margin-top: 3rem;
  margin-bottom: 0;
  max-width: 100%;
  padding: 0;
  letter-spacing: 0.1em;
  margin-left: 0;
}
@media only screen and (max-width:768px) {
  .serviceTop__partnershipText.-top {
    font-size: 1.4rem;
    text-align: left;
    line-height: 1.7142857143;
    margin-top: 3.6rem;
  }
}

.serviceTop__partnershipImg {
  width: 100%;
  height: auto;
}

.serviceTop__capability {
  padding: 8.6rem 1rem 10rem;
}
@media only screen and (max-width:768px) {
  .serviceTop__capability {
    padding: 2.6rem 0 4rem;
  }
}

.serviceTop__capabilityHeading {
  text-align: center;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.6;
  margin-top: 6.2rem;
  letter-spacing: 0.06em;
}
@media only screen and (max-width:768px) {
  .serviceTop__capabilityHeading {
    font-size: 1.8rem;
    line-height: 1.7777777778;
    margin-top: 2.8rem;
  }
}

.serviceTop__capabilityText {
  font-size: 1.6rem;
  line-height: 1.875;
  max-width: 800px;
  margin: 4.2rem auto 0 auto;
}
@media only screen and (max-width:768px) {
  .serviceTop__capabilityText {
    font-size: 1.4rem;
    line-height: 1.7142857143;
    margin-top: 2.6rem;
  }
}

.serviceTop__capabilityImage {
  display: block;
  margin-top: 12.5rem;
}
@media only screen and (max-width:768px) {
  .serviceTop__capabilityImage {
    margin-top: 6rem;
  }
}

.serviceTop__process {
  background-color: #f6f6f6;
  padding: 7.2rem 1rem 2.2rem;
}
@media only screen and (max-width:768px) {
  .serviceTop__process {
    padding: 3rem 0 6rem;
  }
}

.serviceTop__processImage {
  display: block;
  margin-top: 7rem;
}
@media only screen and (max-width:768px) {
  .serviceTop__processImage {
    margin-top: 4.6rem;
  }
}

.serviceTop__incubation {
  padding-right: 1rem;
  padding-left: 1rem;
  padding-top: 9rem;
  padding-bottom: 4rem;
  margin: auto;
}
@media only screen and (max-width:768px) {
  .serviceTop__incubation {
    padding-top: 4.2rem;
    padding-right: 0;
    padding-left: 0;
    letter-spacing: 0;
  }
}

.serviceTop__incubationTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-align: center;
  margin-bottom: 6rem;
}
@media only screen and (max-width:768px) {
  .serviceTop__incubationTitle {
    font-size: 1.8rem;
    margin-bottom: 3.3rem;
  }
}

.serviceTop__incubationText {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 400;
  max-width: 807px;
  width: 100%;
  margin: 0 auto;
  letter-spacing: 0;
  line-height: 1.87;
  overflow-wrap: break-word;
}
@media only screen and (max-width:768px) {
  .serviceTop__incubationText {
    font-size: 1.4rem;
  }
}

.serviceTop__incubationImg {
  width: 100%;
  max-width: 964px;
  height: auto;
  margin: auto;
}
@media only screen and (max-width:480px) {
  .serviceTop__incubationImg {
    margin-bottom: 4rem;
    margin-top: 6rem;
  }
}

.serviceFlow {
  width: 100%;
  background-color: #f6f6f6;
}

.serviceFlow__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 1120px;
  margin: auto;
  padding: 6rem 1rem 4rem 1rem;
  overflow-x: scroll;
  white-space: nowrap;
}
@media only screen and (max-width:480px) {
  .serviceFlow__inner {
    padding: 4rem 2.5rem 2rem 2.5rem;
  }
}

.serviceFlow__container {
  width: 206px;
  margin-right: 2rem;
  white-space: nowrap;
  background-color: #f6f6f6;
}
@media only screen and (max-width:480px) {
  .serviceFlow__container {
    width: 135px;
    margin-right: 1.5rem;
  }
}
.serviceFlow__container:last-child {
  width: 188px;
  margin-right: 0;
}

.serviceFlow__boxFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.serviceFlow__box {
  width: 208px;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  padding: 0.5rem 1rem 2rem 1rem;
  margin-bottom: 1.5rem;
  position: relative;
}
@media only screen and (max-width:480px) {
  .serviceFlow__box {
    width: 135px;
    padding: 0.5rem 2rem 2rem 1rem;
  }
}
.serviceFlow__box::before {
  content: "";
  position: absolute;
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
  width: 5rem;
  height: 9rem;
  background-color: #f6f6f6;
  top: -6rem;
  right: -2rem;
}
.serviceFlow__box::after {
  content: "";
  position: absolute;
  -webkit-transform: rotate(-50deg);
          transform: rotate(-50deg);
  width: 8rem;
  height: 5rem;
  background-color: #f6f6f6;
  bottom: -1rem;
  right: -6rem;
}
.serviceFlow__box.-last {
  width: 188px;
}
.serviceFlow__box.-last::after {
  display: none;
}
.serviceFlow__box.-last::before {
  display: none;
}

.serviceFlow__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  font-size: 1.6rem;
  color: #ffffff;
  letter-spacing: 0.03em;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width:480px) {
  .serviceFlow__number {
    font-size: 1.3rem;
  }
}

.serviceFlow__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:480px) {
  .serviceFlow__title {
    font-size: 1.3rem;
  }
}

.serviceFlow__tag {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  color: #6e11cb;
  text-align: center;
  margin-bottom: 1rem;
}
@media only screen and (max-width:480px) {
  .serviceFlow__tag {
    font-size: 1.2rem;
    margin-right: 2rem;
  }
}

.serviceUnder__contents.-system {
  padding-top: 10rem;
  padding-right: 1rem;
}
@media only screen and (max-width:768px) {
  .serviceUnder__contents.-system {
    padding-right: 0;
  }
}
@media only screen and (max-width:480px) {
  .serviceUnder__contents.-system {
    padding-top: 6rem;
  }
}

.serviceUnder__inner {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width:480px) {
  .serviceUnder__inner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.serviceUnder__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1310px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-bottom: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  max-width: 100%; /* 画面幅の90%まで幅を制限 */
  padding-right: 1rem;
  padding-left: 1rem;
}
@media only screen and (max-width:768px) {
  .serviceUnder__list {
    width: 100%;
    margin-left: 0;
  }
}
@media only screen and (max-width:768px) {
  .serviceUnder__list {
    margin-bottom: 6rem;
    padding-right: 0;
    padding-left: 0;
  }
}

.serviceUnder__listItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transform: translateX(-5rem);
          transform: translateX(-5rem);
}
@media only screen and (max-width:768px) {
  .serviceUnder__listItem {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    margin: auto;
  }
}

.serviceUnder__listImg {
  display: block;
  width: 100%;
  max-width: 534px;
  height: auto;
  border-radius: 15px;
  aspect-ratio: 534/211;
}
@media only screen and (max-width:768px) {
  .serviceUnder__listImg {
    max-width: unset;
    margin: auto;
  }
}
.serviceUnder__listImg img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 15px;
  aspect-ratio: 534/211;
}

.serviceUnder__box {
  width: 100%;
  max-width: 686px;
  margin-left: 8rem;
}
@media screen and (max-width: 1200px) {
  .serviceUnder__box {
    max-width: 500px;
  }
}
@media only screen and (max-width:1023px) {
  .serviceUnder__box {
    max-width: 500px;
  }
}
@media only screen and (max-width:768px) {
  .serviceUnder__box {
    margin-top: 3rem;
    margin-left: 0;
    max-width: unset;
  }
}

.serviceUnder__boxTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: left;
  padding-top: 0.5rem;
  padding-bottom: 2rem;
  letter-spacing: 0;
  border-bottom: 1px solid #d1d0d0;
  position: relative;
}
@media only screen and (max-width:768px) {
  .serviceUnder__boxTitle {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    margin: auto;
  }
}
@media only screen and (max-width:480px) {
  .serviceUnder__boxTitle {
    font-size: 1.8rem;
  }
}
.serviceUnder__boxTitle::before {
  content: "";
  position: absolute;
  border: 1px solid #6e11cb;
  width: 5rem;
  bottom: -0.15rem;
  left: 0;
}

.serviceUnder__boxText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 686px;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
  padding: 1rem 0 0.5rem 0;
  line-height: 1.87;
}
@media screen and (max-width: 1200px) {
  .serviceUnder__boxText {
    max-width: 500px;
  }
}
@media only screen and (max-width:1023px) {
  .serviceUnder__boxText {
    max-width: 500px;
  }
}
@media only screen and (max-width:768px) {
  .serviceUnder__boxText {
    max-width: unset;
    padding: 1.5rem 0 2rem 0;
  }
}
@media only screen and (max-width:480px) {
  .serviceUnder__boxText {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}

.serviceUnder__boxFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.serviceUnder__boxTerm {
  font-family: "Noto Sans JP", sans-serif;
  color: #6e11cb;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  border: 1px solid #6e11cb;
  padding: 0 4rem 0 0;
}
@media only screen and (max-width:480px) {
  .serviceUnder__boxTerm {
    font-size: 1.4rem;
    padding: 0 2rem 0 0;
  }
}
.serviceUnder__boxTerm span {
  display: inline-block;
  color: #ffffff;
  background-color: #6e11cb;
  margin-right: 4rem;
  padding: 0.5rem 1.5rem 0.5rem 1rem;
}
@media only screen and (max-width:480px) {
  .serviceUnder__boxTerm span {
    margin-right: 2rem;
  }
}

.serviceUnder__boxBtn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6e11cb;
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  margin-left: auto;
}
@media only screen and (max-width:480px) {
  .serviceUnder__boxBtn {
    font-size: 1.5rem;
  }
}

.serviceUnder__boxBtn__circle {
  width: 5rem;
  height: 5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border-radius: 50%;
  position: relative;
  margin-left: 2rem;
}
@media only screen and (max-width:768px) {
  .serviceUnder__boxBtn__circle {
    width: 4.5rem;
    height: 4.5rem;
  }
}
.serviceUnder__boxBtn__circle::before {
  content: "";
  position: absolute;
  background: #ffffff;
  width: 0.8rem;
  height: 0.2rem;
  top: 42%;
  right: 30%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.serviceUnder__boxBtn__circle::after {
  content: "";
  position: absolute;
  background: #ffffff;
  width: 2rem;
  height: 0.2rem;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.serviceUnder__solutionInner {
  width: 100%;
  max-width: 1177px;
  padding: 10rem 1rem 4rem 1rem;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width:768px) {
  .serviceUnder__solutionInner {
    padding: 7rem 2.5rem 3rem 2.5rem;
  }
  .serviceUnder__solutionInner::before {
    position: absolute;
    content: "";
    background-color: #6e11cb;
    width: 8rem;
    height: 1px;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.solutionText__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 1092px;
  margin: 0 auto 7rem;
}
@media only screen and (max-width:768px) {
  .solutionText__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (max-width:480px) {
  .solutionText__flex {
    margin-bottom: 5rem;
  }
}

.serviceUnder__solutionTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: bold;
  color: #272727;
  letter-spacing: -0.01em;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width:1023px) {
  .serviceUnder__solutionTitle {
    font-size: 2.6rem;
  }
}
@media only screen and (max-width:768px) {
  .serviceUnder__solutionTitle {
    text-align: center;
    margin-bottom: 2rem;
  }
}

.serviceUnder__solutionSubitle {
  font-size: 3.4rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  color: white;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
@media only screen and (max-width:768px) {
  .serviceUnder__solutionSubitle {
    text-align: center;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width:480px) {
  .serviceUnder__solutionSubitle {
    font-size: 3.2rem;
  }
}

.serviceUnder__solutionText {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  width: 100%;
  max-width: 620px;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.87;
  overflow-wrap: break-word;
}
@media only screen and (max-width:1023px) {
  .serviceUnder__solutionText {
    max-width: 500px;
  }
}
@media screen and (max-width: 880px) {
  .serviceUnder__solutionText {
    max-width: 420px;
  }
}
@media only screen and (max-width:768px) {
  .serviceUnder__solutionText {
    max-width: unset;
  }
}
@media only screen and (max-width:480px) {
  .serviceUnder__solutionText {
    font-size: 1.4rem;
  }
}

.solutionList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:768px) {
  .solutionList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.solutionList__item {
  width: calc(33.3333333333% - 2.7rem);
  height: 24rem;
  margin-right: 4rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border-radius: 0 60px 0 60px;
  position: relative;
}
@media only screen and (max-width:1023px) {
  .solutionList__item:nth-child(2) {
    margin-right: 0;
  }
}
@media only screen and (max-width:1023px) {
  .solutionList__item {
    width: calc(50% - 4rem);
    margin-right: 4rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width:768px) {
  .solutionList__item {
    width: 100%;
    margin-right: 0;
  }
}
@media only screen and (max-width:480px) {
  .solutionList__item {
    height: 21rem;
  }
}
.solutionList__item:last-child {
  margin-right: 0;
}
@media only screen and (max-width:768px) {
  .solutionList__item:last-child {
    margin-bottom: 0;
  }
}
.solutionList__item.is-green {
  background: #0491a3;
}

.solutionList__itemInner {
  padding: 5rem 2rem 2rem 2rem;
  display: block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.solutionList__itemInner.is-close {
  display: none;
}

.circlePosition {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
}

.solutionList__circle {
  display: block;
  width: 4.8rem;
  height: 4.8rem;
  border: 2px solid #ffffff;
  border-radius: 50%;
  position: relative;
  right: 0;
  margin-left: auto;
  margin-right: 0;
  -webkit-transition: 0.2s, right 0.2s;
  transition: 0.2s, right 0.2s; /* transitionプロパティを更新し、rightプロパティをアニメートする */
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right; /* スケール変更時の基準点を右下隅に変更 */
}
@media only screen and (max-width:480px) {
  .solutionList__circle {
    width: 2.8rem;
    height: 2.8rem;
  }
}
.solutionList__circle.is-scaling {
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}
.solutionList__circle::before {
  position: absolute;
  visibility: visible;
  content: "";
  width: 1.8rem;
  height: 2px;
  background-color: #ffffff;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(90deg);
          transform: translateX(-50%) rotate(90deg);
}
@media only screen and (max-width:480px) {
  .solutionList__circle::before {
    top: 48%;
    width: 1.05rem;
  }
}
.solutionList__circle::after {
  position: absolute;
  display: block;
  content: "";
  width: 1.8rem;
  height: 2px;
  background-color: #ffffff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (max-width:480px) {
  .solutionList__circle::after {
    width: 1.05rem;
  }
}

.solutionList__circle.is-opacity::before {
  opacity: 0;
}

.solutionList__circle.is-moving::before {
  top: 5.5rem;
  left: 6.5rem;
  -webkit-animation: Moving 0.3s forwards;
          animation: Moving 0.3s forwards;
}

@-webkit-keyframes Moving {
  from {
    opacity: 0;
    top: 5.5rem;
    left: 6.5rem;
  }
  to {
    opacity: 1;
    top: 50%;
    left: 50%;
  }
}

@keyframes Moving {
  from {
    opacity: 0;
    top: 5.5rem;
    left: 6.5rem;
  }
  to {
    opacity: 1;
    top: 50%;
    left: 50%;
  }
}
.solutionList__itemInnerHide {
  padding: 2rem 2.5rem 2rem 2.5rem;
  display: none;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.solutionList__itemInnerHide.is-open {
  display: block;
  -webkit-animation-name: fadeUp;
          animation-name: fadeUp;
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@-webkit-keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.solutionList__tag {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  font-size: 1.4rem;
  color: #ffffff;
  font-weight: 900;
  letter-spacing: 0.014em;
  margin-bottom: 1.5rem;
}
.solutionList__tag.is-hover {
  display: block;
}
@media only screen and (max-width:480px) {
  .solutionList__tag {
    font-size: 1.8rem;
  }
}

.solutionList__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  line-height: 1.5;
  padding-bottom: 5rem;
}
@media only screen and (max-width:480px) {
  .solutionList__text {
    font-size: 1.8rem;
  }
}

.solutionList__tagHide {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: #ffffff;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  line-height: 1.5;
  margin-bottom: 1rem;
}
@media only screen and (max-width:480px) {
  .solutionList__tagHide {
    font-size: 1.8rem;
  }
}

.solutionList__textHide {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.8;
}
@media only screen and (max-width:480px) {
  .solutionList__textHide {
    font-size: 1.4rem;
  }
}

.serviceUnder__caseStudy {
  padding-top: 10rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width:768px) {
  .serviceUnder__caseStudy {
    padding-top: 0;
  }
}
.serviceUnder__caseStudy .sliderDesc {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.serviceUnder__caseStudy .sliderDesc .wp-post-image {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.serviceUnder__caseStudy .sliderDesc:hover .wp-post-image {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.caseStudy__inner {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding-left: 1rem;
}
@media only screen and (max-width:480px) {
  .caseStudy__inner {
    padding-left: 2.5rem;
  }
}

.caseStudy__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:768px) {
  .caseStudy__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.caseStudy__description {
  max-width: 371px;
  margin-right: 6rem;
  margin-left: 13rem;
}
@media only screen and (max-width:768px) {
  .caseStudy__description {
    width: 100%;
    margin: auto;
  }
}
@media screen and (min-width: 1500px) {
  .caseStudy__description {
    margin-left: 24rem;
  }
}
@media screen and (min-width: 1700px) {
  .caseStudy__description {
    margin-left: 28rem;
  }
}
@media screen and (min-width: 1800px) {
  .caseStudy__description {
    margin-left: 32rem;
  }
}
@media screen and (min-width: 1900px) {
  .caseStudy__description {
    margin-left: 36rem;
  }
}

.caseStudy__title {
  font-family: "Jost", sans-serif;
  color: #272727;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.03em;
  line-height: 1.16;
  margin-top: 6.5rem;
  margin-bottom: 5.5rem;
  text-align: center;
  text-transform: uppercase;
}
@media only screen and (max-width:768px) {
  .caseStudy__title {
    font-size: 5rem;
    margin-top: 4rem;
    margin-bottom: 3.5rem;
  }
}

.caseStudy__text {
  color: #000000;
  font-size: 1.6rem;
  text-align: center;
  font-weight: 500;
  margin-bottom: 4rem;
  letter-spacing: 0;
}
@media only screen and (max-width:768px) {
  .caseStudy__text {
    font-size: 1.4rem;
    margin-bottom: 4rem;
  }
}

.caseStudy__images {
  overflow: hidden;
  max-width: 912px;
}

.sliderDesc img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 324/399;
  border-radius: 10px;
}

.viewMore__btnServie__SpOnly {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: none;
  margin: auto;
  width: 226px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  font-weight: 400;
  border-radius: 30px;
  color: #ffffff;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  padding: 1rem 6rem 1.5rem 5.5rem;
  margin-bottom: 1rem;
  display: none;
}
@media only screen and (max-width:768px) {
  .viewMore__btnServie__SpOnly {
    display: block;
    margin-top: 2rem;
    padding: 1rem 5rem 1.5rem 5.5rem;
  }
}
@media only screen and (max-width:480px) {
  .viewMore__btnServie__SpOnly {
    padding: 1rem 5rem 1.5rem 5.5rem;
    margin-top: 0;
  }
}

.serviceSingle__titleWrap {
  padding: 19rem 0 10rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
}
@media only screen and (max-width:480px) {
  .serviceSingle__titleWrap {
    padding: 15rem 0 10rem;
  }
}

.serviceSingle__subTitle {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  font-size: 5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:768px) {
  .serviceSingle__subTitle {
    font-size: 4rem;
  }
}
@media only screen and (max-width:480px) {
  .serviceSingle__subTitle {
    font-size: 3rem;
    margin-bottom: 3rem;
  }
}

.serviceSingle__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
}

.serviceSingle__inner {
  max-width: 808px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .serviceSingle__inner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.serviceSingle__catch {
  background-color: #f6f6f6;
  padding: 7rem 0 7.5rem;
}
@media only screen and (max-width:480px) {
  .serviceSingle__catch {
    padding: 5rem 0 4.5rem;
  }
}

.serviceSingle__catchTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-bottom: 5rem;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .serviceSingle__catchTitle {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width:480px) {
  .serviceSingle__catchTitle {
    margin-bottom: 3.5rem;
  }
}

.serviceSingle__catchText {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.87;
  text-align: left;
}
@media only screen and (max-width:768px) {
  .serviceSingle__catchText {
    font-size: 1.4rem;
  }
}

.serviceSingle__contents {
  padding: 6rem 0 7rem;
}
@media only screen and (max-width:480px) {
  .serviceSingle__contents {
    padding: 5.5rem 0 4rem;
  }
}
.serviceSingle__contents h2 {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  border-bottom: 1px solid #d1d0d0;
  padding-bottom: 1.5rem;
  margin-bottom: 2rem;
  position: relative;
}
@media only screen and (max-width:768px) {
  .serviceSingle__contents h2 {
    font-size: 1.8rem;
  }
}
.serviceSingle__contents h2::before {
  content: "";
  position: absolute;
  border: 1px solid #6e11cb;
  width: 5rem;
  bottom: -0.15rem;
  left: 0;
}
.serviceSingle__contents h3 {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:768px) {
  .serviceSingle__contents h3 {
    font-size: 1.6rem;
  }
}
.serviceSingle__contents p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.75;
  margin-bottom: 5rem;
}
@media only screen and (max-width:768px) {
  .serviceSingle__contents p {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width:480px) {
  .serviceSingle__contents p {
    margin-bottom: 4.5rem;
  }
}
.serviceSingle__contents img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 788/388;
  margin-top: -2.5rem;
}
@media only screen and (max-width:768px) {
  .serviceSingle__contents img {
    aspect-ratio: 329/162;
  }
}

.mainVisual__archiveNews {
  height: 37rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__archiveNews {
    height: 31rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__archiveNews {
    height: 21.5rem;
  }
}

.archiveNews__inner {
  max-width: 1012px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}

.mainVisual__archiveNews__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #ffffff;
  font-size: 11.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
  padding-top: 16rem;
  margin-bottom: 2.5rem;
  position: relative;
  opacity: 0.4;
}
@media only screen and (max-width:1023px) {
  .mainVisual__archiveNews__title {
    font-size: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .mainVisual__archiveNews__title {
    font-size: 5rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__archiveNews__title {
    font-size: 3.2rem;
    padding-top: 10.5rem;
    margin-bottom: 1rem;
  }
}

.mainVisual__archiveNews__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 5rem;
  opacity: 0.4;
}
@media only screen and (max-width:768px) {
  .mainVisual__archiveNews__subTitle {
    font-size: 1.6rem;
    margin-bottom: 5.5rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__archiveNews__subTitle {
    font-size: 1.2rem;
  }
}

.mainVisual__video.-archiveNews,
.mainVisual__video.-archiveWorks {
  height: 37rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__video.-archiveNews,
  .mainVisual__video.-archiveWorks {
    height: 31rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__video.-archiveNews,
  .mainVisual__video.-archiveWorks {
    height: 22rem;
  }
}
.mainVisual__video.-archiveNews::before,
.mainVisual__video.-archiveWorks::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisual__video.-archiveNews::after,
.mainVisual__video.-archiveWorks::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisual__video.-archiveNews::after video,
.mainVisual__video.-archiveWorks::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.archiveNews__contents {
  max-width: 1012px;
  margin: 0 auto;
  padding-top: 10.5rem;
  margin-bottom: 6rem;
}
@media only screen and (max-width:768px) {
  .archiveNews__contents {
    padding-top: 6rem;
    margin-bottom: 7.5rem;
  }
}

.archiveNews__list {
  margin-bottom: 5rem;
}
@media only screen and (max-width:768px) {
  .archiveNews__list {
    margin-bottom: 3rem;
    overflow-x: auto;
  }
}

.archiveNews__contentsInner {
  max-width: 812px;
  margin: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media only screen and (max-width:768px) {
  .archiveNews__contentsInner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.archiveNews__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 2px dotted #000000;
  position: relative;
}

.archiveNews__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding-top: 2rem;
  padding-bottom: 2rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.archiveNews__link:hover .archiveNews__title {
  opacity: 0.6;
}
.archiveNews__link:hover::before, .archiveNews__link:hover::after {
  right: 2rem;
}
.archiveNews__link .archiveNews__title {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  opacity: 1; /* 初期状態は完全に不透明に設定 */
}
@media only screen and (max-width:768px) {
  .archiveNews__link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.archiveNews__link::before {
  display: block;
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  right: 3rem;
  top: 46%;
  border-style: solid;
  border-color: transparent transparent transparent #000000;
  border-width: 6px 0px 0px 6px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (max-width:768px) {
  .archiveNews__link::before {
    display: none;
  }
}
.archiveNews__link::after {
  display: block;
  content: "";
  position: absolute;
  background: #000000;
  width: 3.4rem;
  height: 1px;
  right: 3.5rem;
  top: 50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (max-width:768px) {
  .archiveNews__link::after {
    display: none;
  }
}

.archiveNews__img {
  width: 135px;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 135/75;
}
@media only screen and (max-width:480px) {
  .archiveNews__img {
    width: 73px;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 73/40;
  }
}

.archiveNews__description {
  margin-left: 3.5rem;
}
@media only screen and (max-width:768px) {
  .archiveNews__description {
    margin-left: 1.5rem;
  }
}

.archiveNews__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media only screen and (max-width:768px) {
  .archiveNews__flex {
    margin-bottom: 1rem;
  }
}

.archiveNews__date {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #3b4043;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:768px) {
  .archiveNews__date {
    font-size: 1.2rem;
    margin-bottom: 0;
  }
}

.archiveNews__type {
  font-family: "Jost", sans-serif;
  color: #6e11cb;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-left: 2rem;
  text-transform: uppercase;
}
@media only screen and (max-width:768px) {
  .archiveNews__type {
    font-size: 1.4rem;
  }
}

.archiveNews__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
}
@media only screen and (max-width:768px) {
  .archiveNews__title {
    font-size: 1.3rem;
    line-height: 1.69;
  }
}

.archiveNews__yearList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 3rem;
}

.archiveNews__yearItem {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.archiveNews__yearItem.-all a {
  color: #6e11cb;
}
.archiveNews__yearItem a {
  font-family: "Noto Sans JP", sans-serif;
  color: #9196a1;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-right: 3rem;
}
.archiveNews__yearItem:hover {
  opacity: 0.6;
}

.archiveNews__yearItem.-current p a {
  color: #6e11cb;
  /* 他のスタイルも必要に応じて追加 */
}

.singleNews {
  padding-top: 17rem;
}
@media only screen and (max-width:480px) {
  .singleNews {
    padding-top: 11rem;
  }
}

.singleNews__inner {
  max-width: 1020px;
  padding-right: 11.6rem;
  padding-left: 11.6rem;
  margin: auto;
}
@media only screen and (max-width:768px) {
  .singleNews__inner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.singleNews__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-weight: bold;
  font-size: 3rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin-bottom: 2rem;
}
@media only screen and (max-width:480px) {
  .singleNews__title {
    font-size: 1.8rem;
  }
}

.singleNews__date {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.87;
}
@media only screen and (max-width:768px) {
  .singleNews__date {
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .singleNews__date {
    margin-bottom: 1.5rem;
  }
}

.singleNews__img {
  width: 100%;
  height: auto;
  max-width: 788px;
  margin-bottom: 7.5rem;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 788/391;
}
@media only screen and (max-width:768px) {
  .singleNews__img {
    margin-bottom: 6rem;
  }
}
@media only screen and (max-width:480px) {
  .singleNews__img {
    width: 100%;
    aspect-ratio: 329/163;
    margin-bottom: 4.5rem;
  }
}

.singleNews__contents h2 {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-weight: bold;
  font-size: 2.6rem;
  letter-spacing: -0.01em;
  line-height: 2.3;
  border-bottom: 1px solid #d1d0d0;
  margin-bottom: 1.5rem;
  position: relative;
}
@media only screen and (max-width:480px) {
  .singleNews__contents h2 {
    font-size: 1.8rem;
  }
}
.singleNews__contents h2::before {
  content: "";
  position: absolute;
  border: 1px solid #6e11cb;
  width: 5.7rem;
  bottom: -0.15rem;
  left: 0;
}
.singleNews__contents h3 {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: -0.01em;
  line-height: 2.3;
  margin-bottom: 0.5rem;
  position: relative;
}
@media only screen and (max-width:480px) {
  .singleNews__contents h3 {
    font-size: 1.6rem;
  }
}
.singleNews__contents h4 {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2rem;
  line-height: 1.66;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.singleNews__contents p {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 3rem;
  line-height: 1.75;
}
@media only screen and (max-width:480px) {
  .singleNews__contents p {
    margin-bottom: 2rem;
    font-size: 1.4rem;
  }
}
.singleNews__contents p:last-child {
  margin-bottom: 8rem;
}
.singleNews__contents img {
  max-width: 788px;
  width: 100%;
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 788/388;
}
.singleNews__contents ol li,
.singleNews__contents ul li {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.singleNews__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 12rem;
  margin: auto;
  margin-bottom: 9rem;
}

.singleNews__paginationPrev__button {
  width: 4rem;
  height: 4rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border-radius: 50%;
  position: relative;
}
.singleNews__paginationPrev__button::before {
  display: block;
  content: "";
  position: absolute;
  width: 6px;
  height: 1px;
  right: 1.2rem;
  top: 46%;
  background: #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.singleNews__paginationPrev__button::after {
  display: block;
  content: "";
  position: absolute;
  background: #ffffff;
  width: 1.4rem;
  height: 1px;
  right: 50%;
  top: 50%;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
}

.singleNews__Nexthover,
.singleNews__Prevhover {
  position: relative;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease; /* 0.3秒で背景色の変化を滑らかにする */
}
.singleNews__Nexthover::after,
.singleNews__Prevhover::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #000000;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; /* 0.3秒で不透明度の変化を滑らかにする */
}
.singleNews__Nexthover:hover::after,
.singleNews__Prevhover:hover::after {
  opacity: 0.3;
}

.singleNews__paginationNext__button {
  width: 4rem;
  height: 4rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border-radius: 50%;
  position: relative;
}
.singleNews__paginationNext__button::before {
  content: "";
  position: absolute;
  background: #ffffff;
  width: 6px;
  height: 1px;
  left: 1.2rem;
  top: 46%;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
.singleNews__paginationNext__button::after {
  content: "";
  position: absolute;
  background: #ffffff;
  width: 1.4rem;
  height: 1px;
  right: 50%;
  top: 50%;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
}


.mainVisual__privacyPolicy {
  height: 37rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__privacyPolicy {
    height: 31rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__privacyPolicy {
    height: 21.5rem;
  }
}

.privacyPolicy__inner {
  max-width: 1012px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .privacyPolicy__inner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.privacyPolicy__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #ffffff;
  font-size: 11.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
  padding-top: 16rem;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  margin-bottom: 2.5rem;
  position: relative;
  opacity: 0.4;
}
@media only screen and (max-width:1023px) {
  .privacyPolicy__title {
    font-size: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .privacyPolicy__title {
    font-size: 5rem;
  }
}
@media only screen and (max-width:480px) {
  .privacyPolicy__title {
    font-size: 3.2rem;
    padding-top: 10.5rem;
    margin-bottom: 1rem;
  }
}

.privacyPolicy__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 5rem;
  opacity: 0.4;
}
@media only screen and (max-width:768px) {
  .privacyPolicy__subTitle {
    font-size: 1.6rem;
    margin-bottom: 5.5rem;
  }
}
@media only screen and (max-width:480px) {
  .privacyPolicy__subTitle {
    font-size: 1.2rem;
  }
}

.mainVisual__video.-privacyPolicy {
  height: 37rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__video.-privacyPolicy {
    height: 31rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__video.-privacyPolicy {
    height: 22rem;
  }
}
.mainVisual__video.-privacyPolicy::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisual__video.-privacyPolicy::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisual__video.-privacyPolicy::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.privacyPolicy__contentsInner {
  width: 100%;
  max-width: 992px;
  margin: 0 auto;
  padding: 8rem 10.2rem 5rem;
}
@media only screen and (max-width:768px) {
  .privacyPolicy__contentsInner {
    padding: 8rem 2.5rem 3.5rem;
  }
}

.privacyPolicy h2 {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-weight: bold;
  font-size: 2.6rem;
  letter-spacing: -0.01em;
  margin-bottom: 2rem;
}
@media only screen and (max-width:480px) {
  .privacyPolicy h2 {
    font-size: 1.8rem;
  }
}
.privacyPolicy p {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.75;
  margin-bottom: 4rem;
}
@media only screen and (max-width:480px) {
  .privacyPolicy p {
    font-size: 1.4rem;
  }
}

.archiveBlog__slider {
  margin-top: 14rem;
}
@media only screen and (max-width:768px) {
  .archiveBlog__slider {
    display: none;
  }
}

.archiveBlog__sliderInner {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem;
  padding-bottom: 1rem;
  position: relative;
}

.blogSlider__buttonPrev {
  position: absolute;
  width: 3rem;
  height: 3rem;
  background-color: #000000;
  border: none;
  border-radius: 50%;
  top: 30rem;
  left: 21rem;
  z-index: 400;
  cursor: pointer;
}
@media screen and (min-width: 1500px) {
  .blogSlider__buttonPrev {
    left: 24rem;
  }
}
@media screen and (min-width: 1600px) {
  .blogSlider__buttonPrev {
    left: 29rem;
  }
}
@media screen and (min-width: 1800px) {
  .blogSlider__buttonPrev {
    left: 39rem;
  }
}
@media screen and (min-width: 1920px) {
  .blogSlider__buttonPrev {
    left: 45rem;
  }
}
@media screen and (max-width: 1300px) {
  .blogSlider__buttonPrev {
    left: 18.5rem;
  }
}
@media screen and (max-width: 1200px) {
  .blogSlider__buttonPrev {
    left: 17rem;
  }
}
@media screen and (max-width: 1100px) {
  .blogSlider__buttonPrev {
    left: 15rem;
  }
}
@media only screen and (max-width:1023px) {
  .blogSlider__buttonPrev {
    top: 28rem;
    left: 14rem;
  }
}
@media screen and (max-width: 900px) {
  .blogSlider__buttonPrev {
    left: 12rem;
  }
}
.blogSlider__buttonPrev::before {
  position: absolute;
  display: block;
  content: "";
  background-color: #ffffff;
  width: 9px;
  height: 2px;
  top: 41%;
  left: 48%;
  -webkit-transform: translate(-50%, -50%) rotate(150deg);
          transform: translate(-50%, -50%) rotate(150deg);
}
.blogSlider__buttonPrev::after {
  position: absolute;
  display: block;
  content: "";
  background-color: #ffffff;
  width: 9px;
  height: 2px;
  top: 55%;
  left: 48%;
  -webkit-transform: translate(-50%, -50%) rotate(30deg);
          transform: translate(-50%, -50%) rotate(30deg);
}

.blogSlider__buttonNext {
  position: absolute;
  width: 3rem;
  height: 3rem;
  background-color: #000000;
  border: none;
  border-radius: 50%;
  top: 30rem;
  right: 21rem;
  z-index: 400;
  cursor: pointer;
}
@media screen and (min-width: 1500px) {
  .blogSlider__buttonNext {
    right: 24rem;
  }
}
@media screen and (min-width: 1600px) {
  .blogSlider__buttonNext {
    right: 29rem;
  }
}
@media screen and (min-width: 1800px) {
  .blogSlider__buttonNext {
    right: 39rem;
  }
}
@media screen and (min-width: 1920px) {
  .blogSlider__buttonNext {
    right: 45rem;
  }
}
@media screen and (max-width: 1300px) {
  .blogSlider__buttonNext {
    right: 18.5rem;
  }
}
@media screen and (max-width: 1200px) {
  .blogSlider__buttonNext {
    right: 17rem;
  }
}
@media screen and (max-width: 1100px) {
  .blogSlider__buttonNext {
    right: 15rem;
  }
}
@media only screen and (max-width:1023px) {
  .blogSlider__buttonNext {
    top: 28rem;
    right: 14rem;
  }
}
@media screen and (max-width: 900px) {
  .blogSlider__buttonNext {
    right: 12rem;
  }
}
.blogSlider__buttonNext::before {
  position: absolute;
  display: block;
  content: "";
  background-color: #ffffff;
  width: 9px;
  height: 2px;
  top: 41%;
  left: 55%;
  -webkit-transform: translate(-50%, -50%) rotate(30deg);
          transform: translate(-50%, -50%) rotate(30deg);
}
.blogSlider__buttonNext::after {
  position: absolute;
  display: block;
  content: "";
  background-color: #ffffff;
  width: 9px;
  height: 2px;
  top: 55%;
  left: 55%;
  -webkit-transform: translate(-50%, -50%) rotate(150deg);
          transform: translate(-50%, -50%) rotate(150deg);
}

.sliderDesc {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.sliderDesc figure {
  overflow: hidden;
  border-radius: 10px;
}

.sliderDesc.-blog {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 0;
  width: 100%;
  max-width: 992px;
  height: 35rem;
  margin: 0 auto;
  margin-bottom: 1rem;
  border-bottom: 0.3px solid #707070;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 10px;
}
@media only screen and (max-width:1023px) {
  .sliderDesc.-blog {
    height: 30rem;
  }
}

.sliderDesc__description.-blog {
  width: 100%;
  padding: 9.5rem 5rem 9.5rem 4rem;
}
@media screen and (max-width: 1200px) {
  .sliderDesc__description.-blog {
    padding: 8rem 3rem 8rem 3rem;
  }
}
@media only screen and (max-width:1023px) {
  .sliderDesc__description.-blog {
    padding: 5rem 3rem 5.5rem 3rem;
  }
}

.sliderDesc.-blog img {
  display: block;
  width: 100%;
  max-width: 63.1rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 631/350;
  border-radius: 10px;
}
@media screen and (max-width: 1200px) {
  .sliderDesc.-blog img {
    max-width: 53.1rem;
  }
}
@media only screen and (max-width:1023px) {
  .sliderDesc.-blog img {
    max-width: 45.1rem;
  }
}
@media screen and (max-width: 900px) {
  .sliderDesc.-blog img {
    max-width: 36.1rem;
  }
}

.sliderTitle.-blog {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  color: #3b4043;
  font-weight: bold;
  color: #000000;
  height: 100px;
  text-align: left;
  line-height: 1.5;
  margin-bottom: 2rem;
}
@media screen and (max-width: 1200px) {
  .sliderTitle.-blog {
    margin-bottom: 4.5rem;
  }
}

.archiveBlog {
  padding-top: 7.5rem;
  padding-bottom: 9rem;
}
.archiveBlog.-search {
  padding-top: 15rem;
}
@media only screen and (max-width:768px) {
  .archiveBlog.-search {
    padding-top: 7.5rem;
  }
}
@media only screen and (max-width:768px) {
  .archiveBlog {
    padding-bottom: 8rem;
  }
}

.archiveBlog__inner {
  width: 100%;
  max-width: 1040px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .archiveBlog__inner {
    padding: 10rem 2.5rem 0 2.5rem;
  }
}
@media only screen and (max-width:480px) {
  .archiveBlog__inner {
    padding-top: 2rem;
  }
}

.archiveBlog__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:768px) {
  .archiveBlog__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.archiveBlog__contents {
  width: 100%;
  max-width: 68rem;
}
@media only screen and (max-width:768px) {
  .archiveBlog__contents {
    max-width: unset;
  }
}

.archiveBlog__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 3.5rem;
}
@media only screen and (max-width:480px) {
  .archiveBlog__title {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}

.archiveBlog__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 4.5rem;
}
@media only screen and (max-width:768px) {
  .archiveBlog__list {
    margin-bottom: 0;
  }
}

.archiveBlog__item {
  width: calc(50% - 1.6rem);
  margin-right: 2rem;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  margin-bottom: 3rem;
}
.archiveBlog__item:nth-child(2n) {
  margin-right: 0;
}
@media only screen and (max-width:480px) {
  .archiveBlog__item:last-child {
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width:480px) {
  .archiveBlog__item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2rem;
  }
}

.archiveBlog__link {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.archiveBlog__link figure {
  border-radius: 4px 4px 10px 10px;
  overflow: hidden;
}
.archiveBlog__link:hover .archiveBlog__img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.archiveBlog__link .archiveBlog__img {
  border-radius: none;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform: scale(1);
          transform: scale(1); /* 初期状態のサイズ */
}

.archiveBlog__itemWrap {
  padding: 2rem 1rem 1.5rem;
}

.archiveBlog__itemFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5rem;
}

.archiveBlog__category {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  background-color: #6e11cb;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0;
  padding: 0.5rem 0.6rem;
  border-radius: 2px;
}
@media only screen and (max-width:768px) {
  .archiveBlog__category {
    margin-right: 1rem;
  }
}
@media only screen and (max-width:480px) {
  .archiveBlog__category {
    margin-right: 0;
  }
}
.archiveBlog__category.-slider {
  max-width: 16rem;
  margin-bottom: 2rem;
}

.archiveBlog__date {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
}

.archiveBlog__img {
  width: 32.4rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 324/180;
  border-radius: 4px 4px 10px 10px;
}
@media only screen and (max-width:768px) {
  .archiveBlog__img {
    width: 100%;
    aspect-ratio: 331/180;
  }
}

.archiveBlog__itemTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.44;
}
@media only screen and (max-width:768px) {
  .archiveBlog__itemTitle {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width:480px) {
  .archiveBlog__itemTitle {
    font-size: 1.8rem;
  }
}

.archiveBlog__aside {
  width: 100%;
  max-width: 28.6rem;
  height: 100%;
  background-color: #f6f6f6;
  border-radius: 4px;
  padding: 3.5rem 1.5rem 0 1.5rem;
}
@media only screen and (max-width:768px) {
  .archiveBlog__aside {
    max-width: unset;
    margin-top: 4.5rem;
  }
}

.archiveBlog__asideCat {
  border-bottom: 1px solid rgba(169, 169, 169, 0.12);
}

.archiveBlog__asideTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 2.5rem;
}
.archiveBlog__asideTitle.-search {
  margin-bottom: 2rem;
}

.archiveBlog__categoryItem {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: #9196a1;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 2rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.archiveBlog__categoryItem.-all {
  color: #6e11cb;
}
.archiveBlog__categoryItem:hover {
  opacity: 0.6;
}

.archiveBlog__categoryItem.-active {
  color: #6e11cb;
}

.archiveBlog__categoryList li:last-child {
  padding-bottom: 1.5rem;
}

.archiveBlog__search {
  padding-top: 3.5rem;
  padding-bottom: 3rem;
}

.archiveBlog__searchForm {
  position: relative;
}

.archiveBlog__searchInput {
  width: 100%;
  height: 4.4rem;
  border: 1px solid #9196a1;
  border-radius: 4px;
  padding-left: 1rem;
}
.archiveBlog__searchInput::-webkit-input-placeholder {
  font-family: "Noto Sans JP", sans-serif;
  color: #9196a1;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
}
.archiveBlog__searchInput::-moz-placeholder {
  font-family: "Noto Sans JP", sans-serif;
  color: #9196a1;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
}
.archiveBlog__searchInput:-ms-input-placeholder {
  font-family: "Noto Sans JP", sans-serif;
  color: #9196a1;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
}
.archiveBlog__searchInput::-ms-input-placeholder {
  font-family: "Noto Sans JP", sans-serif;
  color: #9196a1;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
}
.archiveBlog__searchInput::placeholder {
  font-family: "Noto Sans JP", sans-serif;
  color: #9196a1;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
}

.archiveBlog__searchBtn {
  position: absolute;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: none;
  background: none;
  top: 1.2rem;
  right: 1rem;
  cursor: pointer;
}
.archiveBlog__searchBtn::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: url(/img/renewal/search.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.singleBlog {
  padding-top: 15rem;
}
@media only screen and (max-width:480px) {
  .singleBlog {
    padding-top: 11rem;
  }
}

.singleBlog__inner {
  max-width: 1020px;
  padding-right: 11.6rem;
  padding-left: 11.6rem;
  margin: auto;
}
@media only screen and (max-width:768px) {
  .singleBlog__inner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.singleBlog__category {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  color: #ffffff;
  background-color: #6e11cb;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0;
  padding: 0.6rem 0.8rem;
  border-radius: 2px;
  margin-right: 2rem;
}
@media only screen and (max-width:768px) {
  .singleBlog__category {
    margin-bottom: 1rem;
  }
}

.singleBlog__categoryFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 1.5rem;
  margin-left: 0.5rem;
}

.singleBlog__tagsList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.singleBlog__tagsItem {
  font-family: "Noto Sans JP", sans-serif;
  color: #9196a1;
  font-size: 1.2rem;
  font-weight: 500;
  padding: 0.4rem 0.8rem;
  border: 1px solid #9196a1;
  border-radius: 2px;
  margin-right: 1rem;
}

.singleBlog__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.5;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width:480px) {
  .singleBlog__title {
    font-size: 1.8rem;
  }
}

.singleBlog__img {
  width: 100%;
  height: auto;
  max-width: 788px;
  height: auto;
  margin-bottom: 4rem;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 788/437;
  border-radius: 10px;
}
@media only screen and (max-width:768px) {
  .singleBlog__img {
    margin-bottom: 6rem;
  }
}
@media only screen and (max-width:480px) {
  .singleBlog__img {
    width: 100%;
    aspect-ratio: 329/163;
    margin-bottom: 1.5rem;
  }
}

.singleBlog__dateFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.singleBlog__pubulishDate {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 1rem;
  margin-right: 3rem;
  margin-left: 0.5rem;
}
@media only screen and (max-width:480px) {
  .singleBlog__pubulishDate {
    font-size: 1rem;
  }
}

.singleBlog__updatedDate {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 1rem;
}

.singleBlog__contents {
  /* 四角形の■ リストのスタイル */
}
.singleBlog__contents p {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 4.5rem;
  line-height: 1.75;
}
@media only screen and (max-width:480px) {
  .singleBlog__contents p {
    font-size: 1.4rem;
  }
}
.singleBlog__contents p:first-child {
  margin-bottom: 2.5rem;
}
.singleBlog__contents h2 {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  padding-bottom: 1.5rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #d1d0d0;
  position: relative;
}
@media only screen and (max-width:480px) {
  .singleBlog__contents h2 {
    font-size: 1.8rem;
  }
}
.singleBlog__contents h2::before {
  content: "";
  position: absolute;
  border: 1px solid #6e11cb;
  width: 5rem;
  bottom: -0.15rem;
  left: 0;
}
.singleBlog__contents h3 {
  padding-bottom: 1rem;
  padding-top: 1rem;
  padding-left: 1rem;
  font-size: 22px;
  letter-spacing: 0;
  background-color: rgba(203, 42, 141, 0.1);
  margin-bottom: 2rem;
}
@media only screen and (max-width:480px) {
  .singleBlog__contents h3 {
    font-size: 20px;
  }
}
.singleBlog__contents h4 {
  padding-bottom: 8px;
  font-size: 20px;
  letter-spacing: 0;
  border-bottom: 1px solid #CB2A8D;
  margin-bottom: 2rem;
}
@media only screen and (max-width:480px) {
  .singleBlog__contents h4 {
    font-size: 18px;
  }
}
.singleBlog__contents h5 {
  color: #CB2A8D;
  font-size: 18px;
  margin-bottom: 2rem;
}
@media only screen and (max-width:480px) {
  .singleBlog__contents h5 {
    font-size: 14px;
  }
}
.singleBlog__contents h6 {
  font-size: 18px;
}
@media only screen and (max-width:480px) {
  .singleBlog__contents h6 {
    font-size: 14px;
  }
}
.singleBlog__contents img {
  max-width: 788px;
  width: 100%;
  margin-top: -0.5rem;
  margin-bottom: -2rem;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 788/388;
}
.singleBlog__contents li,
.singleBlog__contents td {
  font-size: 16px;
}
@media only screen and (max-width:480px) {
  .singleBlog__contents li,
  .singleBlog__contents td {
    font-size: 12px;
  }
}
.singleBlog__contents ul {
  display: block;
  list-style-type: disc;
  -webkit-margin-before: 0em;
          margin-block-start: 0em;
  -webkit-margin-after: 0em;
          margin-block-end: 0em;
  -webkit-margin-start: 0px;
          margin-inline-start: 0px;
  -webkit-margin-end: 0px;
          margin-inline-end: 0px;
  -webkit-padding-start: 0px;
          padding-inline-start: 0px;
  margin-top: 4rem;
  margin-bottom: 4rem;
  background-color: rgba(203, 42, 141, 0.1);
  border: dashed 1px #CB2A8D;
  padding: 20px 15px;
}
.singleBlog__contents ul li {
  list-style: none;
  line-height: 2.4;
}
.singleBlog__contents ul li:before {
  left: 0;
  display: inline-block;
  margin-right: 8px;
  color: #CB2A8D;
  content: "●";
}
.singleBlog__contents ul[style="list-style-type: disc;"] {
  display: block;
  -webkit-margin-before: 0em;
          margin-block-start: 0em;
  -webkit-margin-after: 0em;
          margin-block-end: 0em;
  -webkit-margin-start: 0px;
          margin-inline-start: 0px;
  -webkit-margin-end: 0px;
          margin-inline-end: 0px;
  -webkit-padding-start: 0px;
          padding-inline-start: 0px;
  margin-top: 4rem;
  margin-bottom: 4rem;
  background-color: rgba(203, 42, 141, 0.1);
  border: dashed 1px #CB2A8D;
  padding: 20px 15px;
}
.singleBlog__contents ul[style="list-style-type: disc;"] li {
  list-style: none;
  line-height: 2.4;
}
.singleBlog__contents ul[style="list-style-type: disc;"] li:before {
  content: "●";
  display: inline-block;
  margin-right: 8px;
  color: #CB2A8D; /* $primary は使用する色の変数に置き換えてください */
}
.singleBlog__contents ul[style="list-style-type: square;"] {
  display: block;
  -webkit-margin-before: 0em;
          margin-block-start: 0em;
  -webkit-margin-after: 0em;
          margin-block-end: 0em;
  -webkit-margin-start: 0px;
          margin-inline-start: 0px;
  -webkit-margin-end: 0px;
          margin-inline-end: 0px;
  -webkit-padding-start: 0px;
          padding-inline-start: 0px;
  margin-top: 4rem;
  margin-bottom: 4rem;
  background-color: rgba(203, 42, 141, 0.1);
  border: dashed 1px #CB2A8D;
  padding: 20px 15px;
}
.singleBlog__contents ul[style="list-style-type: square;"] li {
  list-style: none;
  line-height: 2.4;
}
.singleBlog__contents ul[style="list-style-type: square;"] li:before {
  content: "■";
  display: inline-block;
  margin-right: 8px;
  color: #CB2A8D; /* $primary は使用する色の変数に置き換えてください */
}
.singleBlog__contents ol {
  display: block;
  list-style-type: disc;
  -webkit-margin-before: 0em;
          margin-block-start: 0em;
  -webkit-margin-after: 0em;
          margin-block-end: 0em;
  -webkit-margin-start: 0px;
          margin-inline-start: 0px;
  -webkit-margin-end: 0px;
          margin-inline-end: 0px;
  -webkit-padding-start: 0px;
          padding-inline-start: 0px;
  padding: 20px 15px;
  margin-top: 4rem;
  margin-bottom: 4rem;
  background-color: rgba(203, 42, 141, 0.1);
  border: dashed 1px #CB2A8D;
}
.singleBlog__contents ol li {
  line-height: 2.4;
  list-style-type: decimal;
  margin-left: 1.5em;
}
.singleBlog__contents ol li::marker {
  color: #CB2A8D;
}
.singleBlog__contents table {
  margin-top: 40px;
  margin-bottom: 40px;
}
.singleBlog__contents table td {
  padding: 20px;
  border: 2px solid #CB2A8D;
}
@media only screen and (max-width:480px) {
  .singleBlog__contents table td {
    padding: 0.8rem;
  }
}
.singleBlog__contents a {
  color: #CB2A8D;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.singleBlog__contents a:hover {
  opacity: 0.6;
}
.singleBlog__contents blockquote {
  position: relative;
  padding: 35px 15px 10px 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-style: italic;
  background: #f5f5f5;
  color: #777777;
  border-left: 4px solid #CB2A8D;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14);
  margin-left: 0;
  margin-right: 0;
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.singleBlog__contents blockquote:before {
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 3px;
  content: "“";
  font-family: sans-serif;
  color: #CB2A8D;
  font-size: 90px;
  line-height: 1;
}
.singleBlog__contents blockquote p {
  padding: 0;
  margin: 7px 0;
  line-height: 1.7;
}
.singleBlog__contents blockquote cite {
  display: block;
  text-align: right;
  color: #888888;
  font-size: 0.9em;
}
.singleBlog__contents .rtoc-mokuji-content ul {
  background-color: transparent;
}
.singleBlog__contents .rtoc-mokuji-content ul li:before {
  content: "";
}

.rtoc-mokuji-content.frame2 {
  width: 100%;
  max-width: 788px;
  position: relative;
  background-color: #f6f6f6;
  border-radius: 10px;
  margin-bottom: 4.5rem;
}
.rtoc-mokuji-content.frame2::before {
  position: absolute;
  content: "";
  border: none !important;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  top: 0;
  left: 0;
  opacity: 0.15;
}
.rtoc-mokuji-content.frame2 ol li,
.rtoc-mokuji-content.frame2 ul li {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.rtoc-mokuji-content #rtoc-mokuji-title.rtoc_center {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 3.5rem 2.5rem 3rem;
  text-align: center;
  z-index: 200 !important;
}
@media only screen and (max-width:768px) {
  .rtoc-mokuji-content #rtoc-mokuji-title.rtoc_center {
    padding-bottom: 0 !important;
  }
}

.rtoc_open_close {
  font-family: "Noto Sans JP", sans-serif;
  color: #4390df;
  font-size: 1.4rem;
  font-weight: 500;
}

.rtoc-mokuji-content.rtoc_open #rtoc-mokuji-title .rtoc_open_close {
  background-color: #f6f6f6 !important;
  display: block;
  position: relative;
  right: 30rem;
}
.rtoc-mokuji-content.rtoc_open #rtoc-mokuji-title .rtoc_open_close:before {
  color: #3b4043;
  position: absolute;
  content: "[";
  left: 0.8rem;
}
@media only screen and (max-width:768px) {
  .rtoc-mokuji-content.rtoc_open #rtoc-mokuji-title .rtoc_open_close:before {
    left: 0.6rem;
  }
}
.rtoc-mokuji-content.rtoc_open #rtoc-mokuji-title .rtoc_open_close:after {
  color: #3b4043;
  position: absolute;
  content: "]";
}

.rtoc-mokuji-content.rtoc_open #rtoc-mokuji-title.rtoc_center .rtoc_open_close {
  right: 29rem !important;
  font-size: 1.4rem;
}
@media only screen and (max-width:1023px) {
  .rtoc-mokuji-content.rtoc_open #rtoc-mokuji-title.rtoc_center .rtoc_open_close {
    right: 27rem !important;
  }
}
@media screen and (max-width: 980px) {
  .rtoc-mokuji-content.rtoc_open #rtoc-mokuji-title.rtoc_center .rtoc_open_close {
    right: 23rem !important;
  }
}
@media screen and (max-width: 900px) {
  .rtoc-mokuji-content.rtoc_open #rtoc-mokuji-title.rtoc_center .rtoc_open_close {
    right: 22rem !important;
  }
}
@media screen and (max-width: 850px) {
  .rtoc-mokuji-content.rtoc_open #rtoc-mokuji-title.rtoc_center .rtoc_open_close {
    right: 19rem !important;
  }
}
@media screen and (max-width: 800px) {
  .rtoc-mokuji-content.rtoc_open #rtoc-mokuji-title.rtoc_center .rtoc_open_close {
    right: 18rem !important;
  }
}
@media only screen and (max-width:768px) {
  .rtoc-mokuji-content.rtoc_open #rtoc-mokuji-title.rtoc_center .rtoc_open_close {
    right: -5rem !important;
    top: -3.8rem;
  }
}

.rtoc-mokuji-content .rtoc-mokuji.level-1 li {
  padding: 0 0 0.5rem 0 !important;
}

.rtoc-mokuji-content .rtoc-mokuji li > a {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043 !important;
  font-size: 1.4rem;
  font-weight: 500;
}

.otherBlog__contents {
  margin-bottom: 10rem;
}
@media only screen and (max-width:480px) {
  .otherBlog__contents {
    margin-bottom: 9rem;
  }
}

.otherBlog__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width:480px) {
  .otherBlog__text {
    font-size: 1.8rem;
  }
}

.otherBlog__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1440px;
  overflow-x: auto;
}

.otherBlog__item {
  display: block;
  width: 32.4rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 2rem;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
}
@media only screen and (max-width:480px) {
  .otherBlog__item {
    width: 20.4rem;
  }
}

.otherBlog__link {
  display: block;
  width: 100%;
  height: 100%;
}
.otherBlog__link figure {
  border-radius: 4px 4px 10px 10px;
  overflow: hidden;
}

.ohtherBlog__img {
  width: 32.4rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 324/180;
  border-radius: 4px 4px 10px 10px;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform: scale(1);
          transform: scale(1); /* 初期状態のサイズ */
}
@media only screen and (max-width:768px) {
  .ohtherBlog__img {
    width: 100%;
    aspect-ratio: 331/180;
  }
}
@media only screen and (max-width:480px) {
  .ohtherBlog__img {
    aspect-ratio: 204/112;
  }
}

.otherBlog__itemWrap {
  padding: 2rem 1rem 1.5rem;
}
@media only screen and (max-width:480px) {
  .otherBlog__itemWrap {
    padding: 1rem 1rem 1.5rem;
  }
}

.otherBlog__itemFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:480px) {
  .otherBlog__itemFlex {
    margin-bottom: 1rem;
  }
}

.otherBlog__category {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  background-color: #6e11cb;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0;
  padding: 0.5rem 0.6rem;
  border-radius: 2px;
}
@media only screen and (max-width:768px) {
  .otherBlog__category {
    margin-right: 1rem;
  }
}
@media only screen and (max-width:480px) {
  .otherBlog__category {
    margin-right: 0;
    margin-bottom: 0.5rem;
  }
}

.otherBlog__date {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
}

.otherBlog__itemTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.44;
}
@media only screen and (max-width:768px) {
  .otherBlog__itemTitle {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width:480px) {
  .otherBlog__itemTitle {
    font-size: 1.2rem;
  }
}

.otherBlog__contents .otherBlog__link:hover .ohtherBlog__img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.singleBlog__author {
  width: 100%;
  max-width: 788px;
  padding: 2.5rem;
  margin-bottom: 4.5rem;
  background-color: #f6f6f6;
  border-radius: 10px;
}

.singleBlog__authorFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2rem;
}

.singleBlog__authorImg {
  width: 8.4rem;
  height: 8.4rem;
  border-radius: 50%;
  border: 1px solid #707070;
  margin-right: 2rem;
}

.singleBlog__authorContents {
  width: 100%;
}

.singleBlog__authorTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 1.5rem;
}

.singleBlog__authorName {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
}

.singleBlog__authorDescription {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
}
@media only screen and (max-width:480px) {
  .singleBlog__authorDescription {
    font-size: 1.2rem;
  }
}

.mainVisual__contactForm {
  height: 37rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__contactForm {
    height: 31rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__contactForm {
    height: 21.5rem;
  }
}

.contactForm__inner {
  max-width: 1020px;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .contactForm__inner {
    padding-right: 2.3rem;
    padding-left: 2.3rem;
  }
}
.contactForm__inner.-download__confirm {
  position: relative;
  padding-right: 0;
  padding-left: 0;
  padding-top: 5rem;
}
@media only screen and (max-width:768px) {
  .contactForm__inner.-download__confirm {
    padding-top: 0;
  }
}

.contactForm__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #ffffff;
  font-size: 11.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
  padding-top: 16rem;
  margin-bottom: 2.5rem;
  position: relative;
  opacity: 0.4;
}
@media only screen and (max-width:1023px) {
  .contactForm__title {
    font-size: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .contactForm__title {
    font-size: 5rem;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__title {
    font-size: 3.2rem;
    padding-top: 10.5rem;
    margin-bottom: 1rem;
  }
}

.contactForm__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 5rem;
  opacity: 0.4;
}
@media only screen and (max-width:768px) {
  .contactForm__subTitle {
    font-size: 1.6rem;
    margin-bottom: 5.5rem;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__subTitle {
    font-size: 1.2rem;
  }
}

.mainVisual__video.-contactForm,
.mainVisual__video.-download,
.mainVisual__video.-download__confirm,
.mainVisual__video.-recruit {
  height: 37rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__video.-contactForm,
  .mainVisual__video.-download,
  .mainVisual__video.-download__confirm,
  .mainVisual__video.-recruit {
    height: 31rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__video.-contactForm,
  .mainVisual__video.-download,
  .mainVisual__video.-download__confirm,
  .mainVisual__video.-recruit {
    height: 22rem;
  }
}
.mainVisual__video.-contactForm::before,
.mainVisual__video.-download::before,
.mainVisual__video.-download__confirm::before,
.mainVisual__video.-recruit::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisual__video.-contactForm::after,
.mainVisual__video.-download::after,
.mainVisual__video.-download__confirm::after,
.mainVisual__video.-recruit::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisual__video.-contactForm::after video,
.mainVisual__video.-download::after video,
.mainVisual__video.-download__confirm::after video,
.mainVisual__video.-recruit::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.mainVisual__video.-recruit {
  height: 69rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__video.-recruit {
    height: 50rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__video.-recruit {
    height: 55rem;
  }
}

.contactForm {
  padding: 5.4rem 0 10rem 0;
}
@media only screen and (max-width:768px) {
  .contactForm {
    padding: 3.5rem 0 6rem 0;
  }
}
.contactForm.-download__confirm {
  background-color: #f6f6f6;
  padding: 0;
}

.contactForm__topTitle {
  font-size: 6rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .contactForm__topTitle {
    font-size: 50px;
  }
}

.contactForm__headhing {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin-top: 2rem;
}
@media only screen and (max-width:768px) {
  .contactForm__headhing {
    font-size: 14px;
    margin-top: 3.2rem;
  }
}

.contactForm__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.87;
  text-align: center;
  margin-top: 3.8rem;
}
@media only screen and (max-width:768px) {
  .contactForm__text {
    font-size: 1.4rem;
    margin-top: 3.6rem;
  }
}
.contactForm__text a {
  text-decoration: underline;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.contactForm__text a:hover {
  opacity: 0.6;
}

.contactForm__smallText {
  font-size: 1.4rem;
  padding-left: 40%;
}
@media only screen and (max-width:768px) {
  .contactForm__smallText {
    display: none;
  }
}

.contactForm__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.contactForm__wrap.-nocenter {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.contactForm__area {
  width: 100%;
  max-width: 1020px;
  margin: auto;
  background-color: #ffffff;
  padding: 8.6rem 3rem 0rem;
}
.contactForm__area.-confirm {
  padding: 5.5rem 9.5rem 8rem;
}
@media only screen and (max-width:768px) {
  .contactForm__area.-confirm {
    padding: 5rem 1rem 8rem;
  }
}
@media only screen and (max-width:768px) {
  .contactForm__area {
    padding: 5.5rem 1rem 5rem;
  }
}
.contactForm__area.-download__confirm {
  width: 100%;
  max-width: 496px;
  margin: unset;
  margin-left: auto;
  padding: 3.5rem 2.8rem 0 2.8rem;
}
@media only screen and (max-width:768px) {
  .contactForm__area.-download__confirm {
    max-width: unset;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__area.-download__confirm {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
}

.contactForm__area p {
  color: #272727;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.87;
}

.contactForm__area .contactForm__subText {
  color: #272727;
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 1.87;
  font-weight: bold;
  text-align: center;
  margin-bottom: 3.5rem;
}
@media only screen and (max-width:480px) {
  .contactForm__area .contactForm__subText {
    font-size: 1.4rem;
    margin-bottom: 3rem;
  }
}

@media only screen and (max-width:768px) {
  .contactForm__subText.-download__confirm {
    text-align: left;
  }
}

.contactForm__labelBox {
  position: relative;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #707070;
}
@media only screen and (max-width:480px) {
  .contactForm__labelBox {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: none;
  }
}
.contactForm__labelBox label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:768px) {
  .contactForm__labelBox label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.contactForm__labelBox__company {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #707070;
}
@media only screen and (max-width:480px) {
  .contactForm__labelBox__company {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: none;
  }
}
.contactForm__labelBox__company label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:768px) {
  .contactForm__labelBox__company label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.contactForm__labelBox__department {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #707070;
}
@media only screen and (max-width:480px) {
  .contactForm__labelBox__department {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: none;
  }
}
.contactForm__labelBox__department label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:768px) {
  .contactForm__labelBox__department label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.contactForm__textareaBox {
  margin-bottom: 70px;
  padding-bottom: 24px;
  border-bottom: 1px solid #707070;
}
@media only screen and (max-width:480px) {
  .contactForm__textareaBox {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: none;
  }
}
.contactForm__textareaBox label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:768px) {
  .contactForm__textareaBox label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

textarea {
  resize: none;
  border-radius: 4px;
}

.contactForm__area select {
  width: 100%;
  height: 4rem;
  background-color: #f6f6f6;
  border: none;
  margin-top: 0.5rem;
  padding-left: 1.5rem;
}

.wpcf7-form-control-wrap {
  width: 60%;
}
@media only screen and (max-width:768px) {
  .wpcf7-form-control-wrap {
    width: 100%;
  }
}

.wpcf7-form-control-wrap select {
  /* セレクトボックス全体に対するスタイル */
  padding-right: 3rem; /* 矢印の分のスペースを確保 */
  /* 矢印のスタイル */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.contactForm__select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.contactForm__selectBox {
  position: relative;
  margin-bottom: 4rem;
  width: 60%;
}
@media only screen and (max-width:480px) {
  .contactForm__selectBox {
    margin-bottom: 3.5rem;
  }
}

select {
  cursor: pointer;
}

.contactForm__selectBox span.wpcf7-not-valid-tip {
  margin-bottom: -4rem;
}

.triangleBox {
  position: absolute;
  top: 2rem;
  right: 1rem;
}
@media only screen and (max-width:768px) {
  .triangleBox {
    top: 5rem;
  }
}

.triangle,
.triangle::before,
.triangle::after {
  width: 0.6rem;
  height: 0.6rem;
  background: #6e11cb;
}

.triangle::before,
.triangle::after {
  content: "";
  position: absolute;
}

.triangle {
  position: relative;
  border-top-left-radius: 30%;
  -webkit-transform: rotate(90deg) skewY(30deg) scaleX(0.86666);
          transform: rotate(90deg) skewY(30deg) scaleX(0.86666);
}

.triangle::before {
  border-top-right-radius: 30%;
  -webkit-transform: skewX(-45deg) translateX(50%);
          transform: skewX(-45deg) translateX(50%);
}

.triangle::after {
  border-bottom-left-radius: 30%;
  -webkit-transform: skewY(-45deg) translateY(50%);
          transform: skewY(-45deg) translateY(50%);
}

.contactForm__area textarea {
  width: 100%;
  height: 11.2rem;
  background-color: #f6f6f6;
  border: none;
  margin-top: 0.5rem;
}

.contactForm__area .contactForm__text {
  color: #272727;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.87;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:480px) {
  .contactForm__area .contactForm__text {
    font-size: 1.4rem;
  }
}

.contactForm__area input {
  width: 100%;
  height: 4rem;
  background-color: #f6f6f6;
  border: none;
  margin-top: 0.5rem;
  padding: 1rem;
  border-radius: 4px;
}

.contactForm__area input[type=submit] {
  display: block;
  color: #ffffff;
  width: 100%;
  max-width: 226px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border-radius: 30px;
  margin: auto;
  margin-top: 0.5rem;
  padding: 0;
  cursor: pointer;
  position: relative;
  border: solid 0px transparent;
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  transition: background 0.3s ease, color 0.3s ease; /* 色と背景色の変化を0.3秒で滑らかにする */
}
@media only screen and (max-width:480px) {
  .contactForm__area input[type=submit] {
    height: 4.6rem;
    margin-top: 1rem;
  }
}

.contactForm__area input[type=submit]:hover {
  color: #bb19b7;
  background: #ffffff;
  border: solid 2px #bb19b7;
}

.contactForm__nameFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 4rem;
}

.contactForm__nameField {
  width: 100%;
  max-width: 29rem;
}
.contactForm__nameField:first-child {
  margin-right: 1rem;
}

.contactForm__area .contactForm__any {
  font-family: "Noto Sans JP", sans-serif;
  color: #6e11cb;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-left: 1.5rem;
  border: solid 1px #6e11cb;
  border-radius: 5px;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
}

.wpcf7-list-item {
  margin: 0;
}

.contactForm__area span.wpcf7-not-valid-tip {
  color: #ff0000;
  margin-top: 0.5rem;
}
.contactForm__area span .wpcf7-list-item-label {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
}
@media only screen and (max-width:768px) {
  .contactForm__area span .wpcf7-list-item-label {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__area span .wpcf7-list-item-label {
    font-size: 1.2rem;
  }
}
.contactForm__area span .wpcf7-list-item input[type=checkbox] {
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  background-color: #f6f6f6;
  border: 1px solid #9196a1;
  border-radius: 3px;
  margin-top: 0;
  margin-right: 1rem;
  margin-left: 0;
  margin-top: 5px;
}
@media only screen and (max-width:768px) {
  .contactForm__area span .wpcf7-list-item input[type=checkbox] {
    margin-top: 0;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__area span .wpcf7-list-item input[type=checkbox] {
    margin-right: 1.5rem;
  }
}

.contactForm__area .contactForm__required {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  background-color: #6e11cb;
  border: solid 1px #6e11cb;
  border-radius: 5px;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-left: 1.5rem;
}
.contactForm__area .contactForm__required.wpcf7-list-item {
  margin: 0;
}
.contactForm__area .contactForm__required.wpcf7-not-valid-tip {
  color: #ff0000;
  margin-top: 0.5rem;
}
.contactForm__area .contactForm__required .wpcf7-list-item-label {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
}
@media only screen and (max-width:768px) {
  .contactForm__area .contactForm__required .wpcf7-list-item-label {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__area .contactForm__required .wpcf7-list-item-label {
    font-size: 1.2rem;
  }
}
.contactForm__area .contactForm__required .wpcf7-list-item input[type=checkbox] {
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  background-color: #f6f6f6;
  border: 1px solid #9196a1;
  border-radius: 3px;
  margin-top: 0;
  margin-right: 1rem;
  margin-left: 0;
}
@media only screen and (max-width:480px) {
  .contactForm__area .contactForm__required .wpcf7-list-item input[type=checkbox] {
    margin-right: 1.5rem;
  }
}

.contactForm__required {
  margin-left: -0.5rem;
}

.contactForm__area textarea {
  margin-bottom: -1rem;
  padding: 1rem;
}

/* 未入力時のフォームの枠の色 */
.wpcf7-form-control-wrap > .wpcf7-not-valid {
  background-color: #ffe6e6;
}

.contactForm__area select {
  border-radius: 4px;
  background-color: #f6f6f6 !important;
}

.contactForm__acceptanceBox {
  text-align: center;
  margin-bottom: 3.5rem;
}
@media only screen and (max-width:480px) {
  .contactForm__acceptanceBox {
    margin-bottom: 2rem;
  }
}
.contactForm__acceptanceBox.-download__confirm {
  margin-bottom: 2.5rem;
  margin-top: -1rem;
}

.wpcf7-list-item > label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.acceptance__praivacyPolicy {
  text-decoration: underline;
}

.contactForm__confirm {
  background-color: #f6f6f6;
  padding: 7rem 0 10rem;
}
@media only screen and (max-width:768px) {
  .contactForm__confirm {
    padding: 7rem 0 8rem;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__confirm {
    padding: 4rem 0 8rem;
  }
}

.contactForm__confirm__spText {
  display: none;
}
@media only screen and (max-width:480px) {
  .contactForm__confirm__spText {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    color: #333333;
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 4rem;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
    letter-spacing: -0.03em;
    line-height: 1.85;
  }
}

.contactForm__area .contactForm__confirmText {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 6.5rem;
  text-align: center;
}
@media only screen and (max-width:480px) {
  .contactForm__area .contactForm__confirmText {
    font-size: 1.4rem;
    margin-bottom: 3rem;
  }
}

.contactForm__area .contactForm__confirmSubject {
  margin-bottom: 3.5rem;
}
@media only screen and (max-width:480px) {
  .contactForm__area .contactForm__confirmSubject {
    margin-bottom: 2.5rem;
  }
}

.contactForm__area .contactForm__confirmSubject label {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
}
@media only screen and (max-width:480px) {
  .contactForm__area .contactForm__confirmSubject label {
    font-size: 1.4rem;
  }
}

.contactForm__area .contactForm__confirmItem {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-weight: 500;
  font-size: 1.4rem;
  margin-left: 1.5rem;
  margin-top: 1.5rem;
  line-height: 2.5;
}
@media only screen and (max-width:768px) {
  .contactForm__area .contactForm__confirmItem {
    margin-right: 1rem;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__area .contactForm__confirmItem {
    font-size: 1.2rem;
    margin-top: 0.5rem;
  }
}

.contactForm__confirmName__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 4.5rem;
}

.contactForm__confirmName {
  display: block;
  width: 100%;
  max-width: 29rem;
}
.contactForm__confirmName:first-child {
  margin-right: 1rem;
}

.contactForm__area .contactForm__confirmName label {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  letter-spacing: 0;
  font-weight: 500;
}

span.wpcf7-spinner {
  display: none;
}

.contactForm__previousBtn {
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border-radius: 30px;
  width: 100%;
  max-width: 226px;
  padding: 2px;
  margin: auto;
  margin-top: 2rem;
}

.contactForm__area input[type=button] {
  display: block;
  color: #bb19b7;
  background: #ffffff;
  width: 100%;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  max-width: 226px;
  border-radius: 30px;
  margin: auto;
  margin-top: 0;
  cursor: pointer;
}
@media only screen and (max-width:480px) {
  .contactForm__area input[type=button] {
    height: 4.6rem;
  }
}

.contactForm__thanksTitle {
  height: 10.4rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  margin-top: 9rem;
}
@media only screen and (max-width:480px) {
  .contactForm__thanksTitle {
    margin-top: 5rem;
  }
}

.contactForm__thanksMessage {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  padding: 4rem 0;
  text-align: left;
}
@media only screen and (max-width:768px) {
  .contactForm__thanksMessage {
    font-size: 1.8rem;
    padding: 4.3rem 0;
  }
}

.contactForm__thanks {
  background-color: #ffffff;
  padding: 9rem 0 18rem;
}
@media only screen and (max-width:768px) {
  .contactForm__thanks {
    padding: 10rem 0 13.5rem;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__thanks {
    padding: 6rem 0 18rem;
  }
}

.contactForm__thanksText {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.87;
  letter-spacing: 0;
  margin-bottom: 6rem;
}
@media only screen and (max-width:768px) {
  .contactForm__thanksText {
    font-size: 1.4rem;
    margin-bottom: 5.5rem;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__thanksText {
    text-align: left;
  }
}

.contactForm__thanksButton {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #ffffff;
  width: 100%;
  max-width: 226px;
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  padding: 1rem 5rem 1rem 5.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border-radius: 30px;
  margin: auto;
}
@media only screen and (max-width:768px) {
  .contactForm__thanksButton {
    padding: 1.4rem 5rem;
  }
}

.mainVisual__download {
  height: 37rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__download {
    height: 31rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__download {
    height: 21.5rem;
  }
}

.download__inner {
  max-width: 1012px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .download__inner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.download__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #ffffff;
  font-size: 11.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
  padding-top: 16rem;
  margin-bottom: 2.5rem;
  position: relative;
  opacity: 0.4;
}
@media only screen and (max-width:1023px) {
  .download__title {
    font-size: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .download__title {
    font-size: 5rem;
  }
}
@media only screen and (max-width:480px) {
  .download__title {
    font-size: 3.2rem;
    padding-top: 10.5rem;
    margin-bottom: 1rem;
  }
}

.download__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 5rem;
  opacity: 0.4;
}
@media only screen and (max-width:768px) {
  .download__subTitle {
    font-size: 1.6rem;
    margin-bottom: 5.5rem;
  }
}
@media only screen and (max-width:480px) {
  .download__subTitle {
    font-size: 1.2rem;
  }
}

.download__contents {
  padding: 11rem 0 6rem;
}
@media only screen and (max-width:480px) {
  .download__contents {
    padding: 5rem 0 6rem;
  }
}

.download__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width:480px) {
  .download__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.download__listItem {
  width: calc(25% - 1.5rem);
  margin-right: 2rem;
  margin-bottom: 3rem;
}
.download__listItem:nth-child(4n) {
  margin-right: 0;
}
@media only screen and (max-width:768px) {
  .download__listItem:nth-child(2n) {
    margin-right: 0;
  }
}
@media only screen and (max-width:768px) {
  .download__listItem {
    width: calc(50% - 2rem);
  }
}
@media only screen and (max-width:480px) {
  .download__listItem {
    width: 100%;
  }
}

.download__listImg {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 235/280;
  border-radius: 10px;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:480px) {
  .download__listImg {
    margin-bottom: 1rem;
    aspect-ratio: 329/392;
  }
}

.download__listText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.625;
}

.contactForm__downloadImage {
  width: 55%;
  min-width: 560px;
  margin: 4rem auto 0rem auto;
}
@media only screen and (max-width:768px) {
  .contactForm__downloadImage {
    width: 100%;
    min-width: 100px;
  }
}

.download__confirm {
  padding: 7rem 0 9rem;
  background-color: #f6f6f6;
}
@media only screen and (max-width:768px) {
  .download__confirm {
    padding: 5rem 0 1rem;
  }
}

.contactForm__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:768px) {
  .contactForm__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.downloadImg {
  width: 100%;
  max-width: 449px;
  height: auto;
  max-height: 534px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 449/534;
  border-radius: 10px;
  margin-bottom: 4rem;
}
@media only screen and (max-width:768px) {
  .downloadImg {
    max-width: unset;
    margin-bottom: 2.5rem;
    margin-top: 3rem;
  }
}

.contactForm__downloadTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
@media only screen and (max-width:768px) {
  .contactForm__downloadTitle {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__downloadTitle {
    font-size: 1.8rem;
    letter-spacing: -0.03em;
  }
}

.contactForm__description {
  width: 100%;
  max-width: 449px;
  margin-right: 4.5rem;
}
@media only screen and (max-width:768px) {
  .contactForm__description {
    max-width: unset;
    margin-right: 0;
    margin-bottom: 5rem;
  }
}

.download__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.87;
}

.download__submitted {
  width: 100%;
  height: 10.4rem;
  margin-top: 9rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
  background: linear-gradient(#cc2a8d, #ae0cd9);
}
@media only screen and (max-width:480px) {
  .download__submitted {
    margin-top: 5rem;
  }
}

.download__submittedInner {
  max-width: 1040px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .download__submittedInner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.download__submittedText {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-align: left;
  padding: 4rem 0;
}
@media only screen and (max-width:480px) {
  .download__submittedText {
    font-size: 1.8rem;
    padding: 4.3rem 0;
  }
}

.download__message {
  padding: 9rem 0;
}
@media only screen and (max-width:768px) {
  .download__message {
    padding: 5.5rem 0;
  }
}

.download__messageInner {
  max-width: 802px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .download__messageInner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.download__messageText {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.75;
}
@media only screen and (max-width:480px) {
  .download__messageText {
    text-align: left;
  }
}
.download__messageText.-first {
  margin-bottom: 3rem;
}
.download__messageText.-second {
  margin-bottom: 3rem;
}

.ourProject.-download {
  background-color: #f6f6f6;
  padding: 6rem 0 5rem 0;
  margin-bottom: 0;
}
@media only screen and (max-width:480px) {
  .ourProject.-download {
    padding: 4rem 0 5rem;
  }
}

.ourProject__inner.-download {
  max-width: 1040px;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media only screen and (max-width:768px) {
  .ourProject__inner.-download {
    padding: 0 0 0 2.5rem;
  }
}

.ourProject__title.-download {
  margin-bottom: 3.5rem;
  margin-top: 0;
}
@media only screen and (max-width:480px) {
  .ourProject__title.-download {
    margin-bottom: 1.5rem;
  }
}

.ourProject__text.-download {
  margin-bottom: 6rem;
}
@media only screen and (max-width:480px) {
  .ourProject__text.-download {
    margin-bottom: 6.5rem;
  }
}

.ourProject__images.-download {
  max-width: 100%;
  margin-bottom: 4rem;
}

.ourProject__list.-download {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow-x: auto;
}

.ourProject__item.-download {
  display: block;
  width: 32.4rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 2rem;
  padding-bottom: 1.5rem;
}
@media only screen and (max-width:480px) {
  .ourProject__item.-download {
    width: 24.7rem;
  }
}
.ourProject__item.-download:last-child {
  margin-right: 0;
}

.ourProject__img.-download {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 324/399;
  border-radius: 10px;
  margin-bottom: 2rem;
}
@media only screen and (max-width:480px) {
  .ourProject__img.-download {
    aspect-ratio: 247/304;
  }
}

.ourProject__itemSubtitle.-download {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 1.5rem;
  margin-left: 1rem;
  text-align: left;
}

.ourProject__itemTitle.-download {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-left: 1rem;
  text-align: left;
}

.mainVisual__recruit {
  height: 69rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__recruit {
    height: 50rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__recruit {
    height: 55rem;
  }
}

.recruit__inner {
  max-width: 1012px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .recruit__inner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.recruit__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #ffffff;
  font-size: 11.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
  padding-top: 33rem;
  margin-bottom: 2.5rem;
  position: relative;
  opacity: 0.4;
}
@media only screen and (max-width:768px) {
  .recruit__title {
    font-size: 5rem;
    padding-top: 25rem;
  }
}
@media only screen and (max-width:480px) {
  .recruit__title {
    font-size: 3.2rem;
    padding-top: 27rem;
  }
}

.recruit__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 5rem;
  opacity: 0.4;
}
@media only screen and (max-width:768px) {
  .recruit__subTitle {
    font-size: 1.6rem;
    margin-bottom: 5.5rem;
  }
}
@media only screen and (max-width:480px) {
  .recruit__subTitle {
    font-size: 1.2rem;
  }
}

.recruitCatch {
  background-color: #f6f6f6;
  padding: 8rem 0 7rem;
}
@media only screen and (max-width:480px) {
  .recruitCatch {
    padding: 7rem 0 7rem;
  }
}

.recruitCatch__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 4.5rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-bottom: 6.5rem;
  text-align: left;
}
@media only screen and (max-width:768px) {
  .recruitCatch__title {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width:480px) {
  .recruitCatch__title {
    margin-bottom: 6rem;
  }
}

.recruitCatch__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2;
  text-align: left;
}

.recruitType {
  padding: 10rem 0 10rem;
}
@media only screen and (max-width:480px) {
  .recruitType {
    padding: 6.5rem 0 9rem;
  }
}

.recruitType__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-bottom: 3.5rem;
  text-align: center;
}
@media only screen and (max-width:480px) {
  .recruitType__title {
    font-size: 1.8rem;
    margin-bottom: 2.5rem;
  }
}

.recruitType__list {
  width: 100%;
}

.recruitType__item {
  width: 100%;
  border-bottom: 1px solid #d1d0d0;
}
.recruitType__item.-bgGray {
  background-color: #f5f5f5;
}
@media only screen and (max-width:480px) {
  .recruitType__item.-bgGray {
    background-color: #ffffff;
  }
}

.recruitType__itemLink {
  display: block;
  padding: 4rem;
}
@media only screen and (max-width:480px) {
  .recruitType__itemLink {
    padding: 2rem 0;
  }
}

.recruitType__itemTag {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #6e11cb;
  font-size: 2rem;
  letter-spacing: 0;
  margin-bottom: 1rem;
  text-align: left;
}
@media only screen and (max-width:480px) {
  .recruitType__itemTag {
    font-size: 1.4rem;
    width: 100%;
    margin-right: 0;
    margin-bottom: 1rem;
  }
}

.recruitType__itemDescription {
  width: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.recruitType__itemTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width:768px) {
  .recruitType__itemTitle {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
}

.recruitType__itemText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.56;
}
@media only screen and (max-width:768px) {
  .recruitType__itemText {
    font-size: 1.4rem;
  }
}@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
/* Set core root defaults */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html {
  scroll-behavior: smooth;
}
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, img, i, dl, dt, dd, ol, ul, li, form, label, table, tbody, tfoot, thead, tr, th, td, article, aside, canvas, figure, footer, header, nav, section, audio, video {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border: 0;
  outline: 0;
}
body {
  line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, img {
  display: block;
}
img {
  max-width: 100%;
}
nav ul {
  list-style: none;
}
li {
  list-style: none;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}
a {
  padding: 0;
  margin: 0;
  color: #333333;
  font-size: 100%;
  text-decoration: none;
  vertical-align: baseline;
  background: transparent;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
input, select {
  vertical-align: middle;
}
html {
  margin: 0;
  overflow-x: hidden;
  font-size: 62.5%;
  margin-top: 0 !important;
}
body {
  margin: 0;
  overflow-x: hidden;
  color: #333333;
  font-family: "Noto Sans JP", "Noto Sans Japanese", YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 480px) {
  body {
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 768px) {
  .-pc-only {
    display: none !important;
  }
}
.-sp-only {
  display: none;
}
@media only screen and (max-width: 768px) {
  .-sp-only {
    display: inline-block;
  }
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.sub {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: bold;
}
.wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
}
.inner {
  width: 100%;
  max-width: 1080px;
  height: 100%;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1439px) {
  .inner {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .inner {
    max-width: 100%;
    padding-right: 4rem;
    padding-left: 4rem;
    margin: 0;
  }
}
@media only screen and (max-width: 480px) {
  .inner {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}
.inner1440 {
  width: 100%;
  max-width: 1024px;
  max-width: 1440px;
  padding-right: 4rem;
  padding-left: 4rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1439px) {
  .inner1440 {
    max-width: 1024px;
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .inner1440 {
    max-width: 100%;
    padding-right: 4rem;
    padding-left: 4rem;
    margin: 0;
  }
}
@media only screen and (max-width: 480px) {
  .inner1440 {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}
.inner942 {
  width: 100%;
  max-width: calc(942px + 4rem + 4rem);
  padding-right: 4rem;
  padding-left: 4rem;
  margin: 0 auto;
}
@media only screen and (max-width: 480px) {
  .inner942 {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}
.mv {
  margin-top: 16rem;
}
@media only screen and (max-width: 768px) {
  .mv {
    margin-top: 12rem;
  }
}
@media screen and (max-width: 600px) {
  .mv {
    margin-top: 6rem;
  }
}
.mv-title {
  margin-top: 2.4rem;
  margin-bottom: 11.5rem;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.08px;
}
@media screen and (max-width: 600px) {
  .mv-title {
    margin-top: 2rem;
    margin-bottom: 4rem;
    font-size: 2.8rem;
  }
}
.mv-text {
  color: #CB2A8D;
  font-size: 2rem;
  line-height: 2.8rem;
  letter-spacing: 0.04px;
}
@media screen and (max-width: 600px) {
  .mv-text {
    font-size: 1.6rem;
  }
}
.mv-concept {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.04px;
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}
@media screen and (max-width: 600px) {
  .mv-concept {
    font-size: 1.4rem;
  }
}
.green-label-title {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.075em;
  line-height: 1.75;
  padding-left: 2.53rem;
  margin-bottom: 4.4rem;
  position: relative;
}
@media screen and (max-width: 480px) {
  .green-label-title {
    font-size: 2.4rem;
    padding-left: 2.23rem;
  }
}
.green-label-title:before {
  content: "";
  position: absolute;
  width: 1.3rem;
  height: 3.7rem;
  background-color: #387c57;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 480px) {
  .green-label-title:before {
    width: 1rem;
    height: 3.4rem;
  }
}
@font-face {
  font-family: "GenJyuuGothic";
  src: url("/asset/font/GenJyuuGothic-P-Medium.ttf") format("truetype"), url("/asset/font/GenJyuuGothic-P-Bold.ttf") format("truetype");
}
.hover-type1 {
  transition: 0.3s;
}
.hover-type1:hover {
  box-shadow: 0 0 10px #999999 !important;
  transition: 0.3s;
}
.start {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9000;
  width: 100%;
  height: 100%;
  background: #ffffff;
}
.start p {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 9999;
  display: none;
  width: 280px;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 480px) {
  .start p {
    width: 180px;
  }
}
.under-line {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.under-line:hover::after {
  transform: scale(1, 1);
  transform-origin: left top;
}
.under-line:after {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #ffffff;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}
.under-line_primary {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.under-line_primary:hover::after {
  transform: scale(1, 1);
  transform-origin: left top;
}
.under-line_primary:after {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background: #AE0ED5;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}
.common-contact {
  width: 100%;
  padding: 8rem 0;
  font-size: 1.6rem;
  background-color: #f2f2f2;
  border-radius: 30px 30px 0 0;
}
@media only screen and (max-width: 768px) {
  .common-contact {
    padding: 4rem 0;
  }
}
@media only screen and (max-width: 480px) {
  .common-contact {
    margin-top: 4rem;
  }
}
.common-contact_title {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .common-contact_title {
    margin-bottom: 2rem;
  }
}
.common-contact_title .sub {
  font-family: "源柔ゴシック等幅 Bold", "M PLUS Rounded 1c", sans-serif;
  margin-bottom: 2.4rem;
  color: #CB2A8D;
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 480px) {
  .common-contact_title .sub {
    letter-spacing: 0;
  }
}
.common-contact_title .heading {
  margin-bottom: 3.8rem;
  font-size: 4rem;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .common-contact_title .heading {
    margin-bottom: 1.9rem;
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 480px) {
  .common-contact_title .heading {
    font-size: 2.8rem;
    letter-spacing: 0;
  }
}
.common-contact_title .text {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .common-contact_title .text {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .common-contact_title .text {
    font-size: 1.2rem;
    letter-spacing: 0;
  }
}
.common-contact_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .common-contact_wrap {
    flex-wrap: wrap;
  }
}
.common-contact_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  width: 49.5%;
  height: 120px;
  padding: 0 3.6rem;
  background-color: #ffffff;
}
@media screen and (max-width: 960px) {
  .common-contact_btn {
    width: 100%;
  }
  .common-contact_btn:first-of-type {
    margin-bottom: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .common-contact_btn {
    padding: 0 2.2rem;
  }
}
@media screen and (max-width: 600px) {
  .common-contact_btn {
    flex-wrap: wrap;
    width: 100%;
    height: 80px;
    padding: 1rem 1.6rem;
  }
}
.common-contact_btn:before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background: #333333;
}
.common-contact_btn:hover .arrow {
  bottom: calc(35% - 3px);
  width: 45px;
  height: 45px;
  background: #AE0ED5;
  transform: translateX(8px);
}
.common-contact_btn:hover .arrow img {
  top: 18px;
  left: 15px;
}
.common-contact_btn .btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  width: calc(100% - 30px);
}
@media screen and (max-width: 960px) {
  .common-contact_btn .btn-wrap {
    justify-content: flex-start;
    width: 100%;
  }
}
.common-contact_btn .btn-wrap_left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 960px) {
  .common-contact_btn .btn-wrap_left {
    margin-right: 2.4rem;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 768px) {
  .common-contact_btn .btn-wrap_left {
    align-items: start;
    flex-direction: column;
    flex-wrap: wrap;
    margin-right: 1.2rem;
  }
  .common-contact_btn .btn-wrap_left .sub_mail {
    padding-top: 0.8rem;
  }
}
@media screen and (max-width: 600px) {
  .common-contact_btn .btn-wrap_left {
    align-items: center;
    flex-direction: row;
  }
}
.common-contact_btn .title {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 600px) {
  .common-contact_btn .title {
    padding-right: 0.8rem;
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 480px) {
  .common-contact_btn .title {
    letter-spacing: 0;
  }
}
.common-contact_btn .time {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  padding-left: 1.8rem;
  color: #999999;
  font-size: 1rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
  .common-contact_btn .time {
    padding-top: 0.8rem;
    padding-left: 0;
  }
}
@media screen and (max-width: 600px) {
  .common-contact_btn .time {
    padding-top: 0;
    margin-top: 0.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .common-contact_btn .time {
    letter-spacing: 0;
  }
}
.common-contact_btn .suba {
  width: 100%;
  margin-top: 0.4rem;
  color: #CB2A8D;
  font-size: 2rem;
  line-height: 2.8rem;
  letter-spacing: 0.08em;
  text-align: center;
}
@media only screen and (max-width: 480px) {
  .common-contact_btn .suba {
    margin-top: 0.6rem;
    text-align: left;
  }
}
.common-contact_btn .suba .contact-tel {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 2.3rem;
  font-weight: 600;
}
@media only screen and (max-width: 480px) {
  .common-contact_btn .suba .contact-tel {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 320px) {
  .common-contact_btn .suba .contact-tel {
    font-size: 1.5rem;
  }
}
.common-contact_btn .suba .contact-tel:before {
  margin-right: 0.5rem;
  content: "";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.common-contact_btn .suba .contact-mail {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 600;
}
@media only screen and (max-width: 480px) {
  .common-contact_btn .suba .contact-mail {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 320px) {
  .common-contact_btn .suba .contact-mail {
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
  }
}
.common-contact_btn .suba .contact-mail:before {
  margin-right: 0.5rem;
  content: "";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.indent-1 {
  padding-left: 1em;
  text-indent: -1em;
}
@media only screen and (max-width: 768px) {
  .order-front {
    order: -1;
  }
}
.pc {
  display: inline-block;
}
@media screen and (max-width: 1000px) {
  .pc {
    display: none;
  }
}
@media screen and (min-width: 780px) {
  .tel-link .arrow {
    display: none;
  }
  .tel-link {
    pointer-events: none;
  }
}
.pc-show {
  display: inline-block;
}
@media only screen and (max-width: 768px) {
  .pc-show {
    display: none;
  }
}
.tab {
  display: none;
}
@media only screen and (max-width: 768px) {
  .tab {
    display: inline-block;
  }
}
.sp {
  display: none;
}
@media only screen and (max-width: 480px) {
  .sp {
    display: inline-block;
  }
}
.breadcrumb-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  top: 100%;
  align-items: center;
  flex-wrap: wrap;
  padding: 8px 4rem;
  background-color: #CB2A8D;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  .breadcrumb-area {
    padding: 8px 2.4rem;
  }
}
.breadcrumb-area span span {
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.5;
}
.breadcrumb-area span:last-child span {
  color: rgba(255, 255, 255, 0.5);
}
.breadcrumb-area img {
  display: inline-block;
  width: 1.8rem;
  margin: 0 8px;
}
.primary {
  color: #CB2A8D;
}
.link_green {
  color: #CB2A8D;
  text-decoration: underline;
}
.itemListElement__clickNone {
  pointer-events: none;
}
.link {
  padding: 7rem 0 8rem;
  background: #f2f2f2;
  border-radius: 35px 35px 0 0;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .link {
    padding: 7rem 0 4rem;
  }
}
.link__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .link__flex {
    flex-direction: column;
  }
}
.link__img {
  width: 47%;
  position: relative;
  transition: 0.3s;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .link__img {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.link__img:not(:nth-child(2n)) {
  margin-right: 6%;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .link__img:not(:nth-child(2n)) {
    margin-right: 0;
  }
}
.link__img:hover {
  cursor: pointer;
  opacity: 1;
  transition: 0.3s;
  box-shadow: 0 0 10px #999;
  border-radius: 15px;
}
.link__img:hover .occupation__decoration {
  color: #CB2A8D;
  background: #FFE050;
}
.link__imgChild {
  width: 100%;
}
.occupation__decoration {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  position: absolute;
  height: 6rem;
  width: 6rem;
  padding: 1rem 0;
  font-size: 1.4rem;
  text-align: center;
  border: solid #333333 3px;
  border-radius: 50%;
  color: #ffffff;
  background: #333333;
  right: -20px;
  top: -30px;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .occupation__decoration {
    right: -18px;
    top: -17px;
  }
}
.occupation__img {
  width: 100%;
  margin-bottom: 3rem;
}
.occupation__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.occupation__text {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  margin-bottom: 2rem;
}
.recruit__arrowText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: static;
  bottom: 15%;
  left: 7%;
  align-items: center;
  justify-content: center;
}
.arrow__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  transition-duration: 0.3s;
  width: 30px;
  height: 30px;
  background: #CB2A8D;
  border-radius: 50%;
}
.arrow__iconImg {
  transition-duration: 0.3s;
  position: relative;
  top: 40%;
  left: 26%;
  width: 14px;
  height: 8px;
}
.arrow__text {
  padding-left: 1.5rem;
  color: #CB2A8D;
  font-size: 1.4rem;
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}
.ask__title {
  font-size: 2.5rem;
  color: #ffffff;
  margin-bottom: 5rem;
}
.ask__box.-mb {
  margin-bottom: 9rem;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__box.-mb {
    margin-bottom: 4rem;
  }
}
.ask__text {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__text {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.9;
  }
}
.ask__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__flex {
    flex-wrap: wrap;
    margin-bottom: 0;
  }
}
.ask__wrap {
  width: 30%;
  border: solid #f2f2f2 2px;
  padding: 2.5rem;
  border-radius: 1.8rem;
  text-align: center;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__wrap {
    width: 100%;
    margin-bottom: 2.3rem;
  }
}
.ask__wrap:not(:last-child) {
  margin-right: 4.5%;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__wrap:not(:last-child) {
    margin-right: 0;
  }
}
.candidate-person {
  background-color: #ffffff;
  padding: 3rem 3rem 3rem 3rem;
  border-radius: 1.5rem;
  border: solid #f2f2f2 3px;
}
@media only screen and (max-width: 480px) {
  .candidate-person {
    padding-left: 2rem;
    padding-right: 2.1rem;
  }
}
.candidate-person .candidate-person-title {
  font-size: 2.2rem;
  letter-spacing: 0.075em;
  line-height: 1.18;
  font-weight: 900;
  padding-left: 7rem;
  position: relative;
}
@media only screen and (max-width: 480px) {
  .candidate-person .candidate-person-title {
    font-size: 2rem;
    line-height: 1.4;
    padding-left: 6rem;
  }
}
.candidate-person:not(:last-child) {
  margin-bottom: 3.95rem;
}
.candidate-person:nth-of-type(1) .candidate-person-title:before {
  content: "";
  position: absolute;
  background-image: url(../img/recruit/client-logo.svg);
  width: 5.8rem;
  height: 5.8rem;
  left: 0;
  top: 50%;
  transform: translate(-0.7rem, -50%);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (max-width: 480px) {
  .candidate-person:nth-of-type(1) .candidate-person-title:before {
    width: 4.8rem;
    height: 4.8rem;
  }
}
.candidate-person:nth-of-type(2) .candidate-person-title:before {
  content: "";
  position: absolute;
  background-image: url(../img/recruit/input-logo.svg);
  width: 5.8rem;
  height: 5.8rem;
  left: 0;
  top: 50%;
  transform: translate(-0.7rem, -50%);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (max-width: 480px) {
  .candidate-person:nth-of-type(2) .candidate-person-title:before {
    width: 4.8rem;
    height: 4.8rem;
  }
}
.candidate-person:nth-of-type(3) .candidate-person-title {
  padding-left: 6.1rem;
}
@media only screen and (max-width: 480px) {
  .candidate-person:nth-of-type(3) .candidate-person-title {
    padding-left: 6rem;
  }
}
.candidate-person:nth-of-type(3) .candidate-person-title:before {
  content: "";
  position: absolute;
  background-image: url(../img/recruit/why-logo.svg);
  width: 5.8rem;
  height: 5.8rem;
  left: 0;
  top: 50%;
  transform: translate(-0.7rem, -50%);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (max-width: 480px) {
  .candidate-person:nth-of-type(3) .candidate-person-title:before {
    width: 4.8rem;
    height: 4.8rem;
  }
}
.candidate-person:nth-of-type(4) .candidate-person-title {
  padding-left: 6.1rem;
}
@media only screen and (max-width: 480px) {
  .candidate-person:nth-of-type(4) .candidate-person-title {
    padding-left: 6rem;
  }
}
.candidate-person:nth-of-type(4) .candidate-person-title:before {
  content: "";
  position: absolute;
  background-image: url(../img/recruit/client-logo.svg);
  width: 5.8rem;
  height: 5.8rem;
  left: 0;
  top: 50%;
  transform: translate(-0.7rem, -50%);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (max-width: 480px) {
  .candidate-person:nth-of-type(4) .candidate-person-title:before {
    width: 4.8rem;
    height: 4.8rem;
  }
}
.candidate-person:nth-of-type(5) .candidate-person-title {
  padding-left: 6.1rem;
}
@media only screen and (max-width: 480px) {
  .candidate-person:nth-of-type(5) .candidate-person-title {
    padding-left: 6rem;
  }
}
.candidate-person:nth-of-type(5) .candidate-person-title:before {
  content: "";
  position: absolute;
  background-image: url(../img/recruit/input-logo.svg);
  width: 5.8rem;
  height: 5.8rem;
  left: 0;
  top: 50%;
  transform: translate(-0.7rem, -50%);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (max-width: 480px) {
  .candidate-person:nth-of-type(5) .candidate-person-title:before {
    width: 4.8rem;
    height: 4.8rem;
  }
}
.-primary {
  color: #CB2A8D;
}
.-under {
  position: relative;
}
.-under:before {
  position: absolute;
  bottom: -10px;
  left: 0;
  transform: translate();
  display: inline-block;
  content: "";
  background: linear-gradient(transparent 70%, #FFE050 70%);
  width: 105%;
  z-index: -1;
  height: 80px;
  border-radius: 5%;
  left: -4%;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .-under:before {
    left: -6%;
    width: 110%;
    height: 45px;
  }
}
.ask__text.-type2 {
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__text.-type2 {
    line-height: 1.7;
  }
}
.inner942.-re {
  padding: 9rem 4rem 10rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .inner942.-re {
    padding: 7rem 4rem 9rem;
  }
}
@media only screen and (max-width: 480px) {
  .inner942.-re {
    padding: 7rem 2.4rem 9rem;
  }
}
.ask__img {
  margin: auto;
  width: 30%;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__img {
    width: 22%;
    margin-bottom: 1.5rem;
  }
}
.ask__img.-left {
  position: absolute;
  width: 22%;
  left: -25px;
  bottom: 0px;
}
@media screen and (max-width: 1100px) {
  .ask__img.-left {
    left: 0;
  }
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__img.-left {
    bottom: 0;
    margin-bottom: 0;
    width: 32%;
    left: 17px;
  }
}
.ask__img.-right {
  position: absolute;
  width: 18%;
  right: -40px;
  bottom: -28px;
}
@media screen and (max-width: 1100px) {
  .ask__img.-right {
    right: 0;
  }
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__img.-right {
    bottom: -1.2%;
    margin-bottom: 0;
    width: 24%;
    right: 19px;
  }
}
@media screen and (max-width: 600px) {
  .ask__img.-right {
    bottom: -1%;
  }
}
@media screen and (max-width: 500px) {
  .ask__img.-right {
    bottom: -0.8%;
  }
}
@media screen and (max-width: 400px) {
  .ask__img.-right {
    bottom: -0.7%;
  }
}
.ask__imgChild {
  width: 100%;
}
.ask__bg {
  padding: 4.5rem;
  position: relative;
  z-index: 0;
  border-radius: 35px;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__bg {
    padding: 3rem 0;
  }
}
.ask__text.-type3 {
  text-align: center;
  margin-bottom: 4rem;
}
.ask__text.-type4 {
  font-size: 3.2rem;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__text.-type4 {
    font-size: 1.6rem;
  }
}
.ask__application {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: solid #CB2A8D 5px;
  padding: 5rem;
  width: 80%;
  margin: auto;
  border-radius: 15px;
  padding: 3rem 0;
  transition: 0.3s;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__application {
    width: 90%;
    padding: 4rem 0;
    max-width: 295px;
  }
}
.ask__application:hover {
  cursor: pointer;
  transition: 0.3s;
  background: #CB2A8D;
}
.ask__application:hover .application__text {
  color: #ffffff;
}
.ask__application:hover .application__img {
  background-image: url(../img/recruit/recruit_check_icon_2.svg);
}
.ask__application.-green {
  background: #CB2A8D;
  color: #ffffff;
  font-size: 3rem;
  transition: 0.3s;
}
.ask__application.-green:hover {
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .ask__application.-green {
    font-size: 2.4rem;
  }
}
.application__img {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../img/recruit/recruit_check_icon_1.svg);
  width: 6rem;
  height: 6rem;
  margin-right: 2rem;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .application__img {
    margin-top: 0rem;
    width: 6rem;
    height: 6rem;
  }
}
.application__text {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  width: 60%;
  color: #CB2A8D;
  font-size: 2.9rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .application__text {
    font-size: 1.8rem;
    line-height: 1.8;
  }
}
.detail-submit {
  text-align: center;
}
.detail-submit button, .detail-submit input[type="submit"] {
  transition-duration: 0.3s;
  width: 100%;
  max-width: 36rem;
  padding: 0;
  padding: 2.2rem;
  color: #ffffff;
  font-size: 2rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  background-color: #CB2A8D;
  border: none;
  border-radius: 0.8rem;
  outline: none;
}
.detail-submit button:hover, .detail-submit input[type="submit"]:hover {
  background-color: #AE0ED5;
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  .detail-submit button, .detail-submit input[type="submit"] {
    width: 100%;
  }
}
.mwform-radio-field-text {
  font-size: 1.4rem;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .mwform-radio-field-text {
    font-size: 1.2rem;
  }
}
.heading__text {
  color: #CB2A8D;
  font-size: 2rem;
}
@media only screen and (max-width: 480px) {
  .heading__text {
    font-size: 1.4rem;
  }
}
.heading__title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 1.5rem;
}
@media only screen and (max-width: 480px) {
  .heading__title {
    font-size: 2.2rem;
    margin-top: 1.2rem;
  }
}
.heading__desc {
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 3.7rem;
  line-height: 2;
}
@media only screen and (max-width: 480px) {
  .heading__desc {
    font-size: 1.2rem;
    margin-top: 1.5rem;
  }
}
.request {
  background: #f2f2f2;
  padding: 8rem 0 8rem;
}
@media only screen and (max-width: 480px) {
  .request {
    padding: 6rem 0 4rem;
  }
}
.request__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .request__box {
    flex-direction: column;
  }
}
.request__left {
  width: 50%;
}
@media only screen and (max-width: 768px) {
  .request__left {
    width: 100%;
  }
}
.request__leftImg {
  width: 357.5px;
  margin: 4rem auto;
}
@media only screen and (max-width: 768px) {
  .request__leftImg {
    width: 100%;
    margin: 2rem 0 3rem;
  }
}
.request__leftList {
  background: #ffffff;
  border-radius: 10px;
  padding: 2rem;
}
.request__leftListTitle {
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 480px) {
  .request__leftListTitle {
    font-size: 1.4rem;
  }
}
.request__leftListText {
  margin-top: 2rem;
}
.request__leftListTextItem {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: -1px;
}
@media only screen and (max-width: 480px) {
  .request__leftListTextItem {
    font-size: 1.2rem;
  }
}
.request__leftText2 {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 1.8rem;
  letter-spacing: -1px;
}
@media only screen and (max-width: 480px) {
  .request__leftText2 {
    font-size: 1.2rem;
  }
}
.request__right {
  width: 50%;
  margin-left: 4rem;
}
@media only screen and (max-width: 768px) {
  .request__right {
    width: 100%;
    margin-left: 0rem;
    margin-top: 4rem;
  }
}
.request__rightText {
  font-size: 1.6rem;
  line-height: 1.5;
}
@media only screen and (max-width: 480px) {
  .request__rightText {
    font-size: 1.2rem;
  }
}
.contactWrap {
  background: #f2f2f2;
  padding: 8rem 0 8rem;
  border-radius: 30px 30px 0 0;
}
.contactWrap__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .contactWrap__box {
    flex-direction: column;
    margin-top: 3rem;
  }
}
.contactWrap__left {
  background: #ffffff;
  width: 50%;
  display: block;
  text-align: center;
  border-bottom: 2px solid #333333;
  padding: 3rem 0;
}
@media only screen and (max-width: 768px) {
  .contactWrap__left {
    width: 100%;
    padding: 2rem 2rem;
    text-align: left;
  }
}
.contactWrap__leftTelText1 {
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (max-width: 480px) {
  .contactWrap__leftTelText1 {
    font-size: 1.2rem;
  }
}
.contactWrap__leftTelText1Sub {
  font-size: 1.2rem;
  color: #cccccc;
  margin-left: 2rem;
}
@media only screen and (max-width: 480px) {
  .contactWrap__leftTelText1Sub {
    font-size: 1rem;
  }
}
.contactWrap__leftTelText2 {
  font-size: 2.6rem;
  font-weight: bold;
  color: #CB2A8D;
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  .contactWrap__leftTelText2 {
    margin-top: 1rem;
  }
}
.contactWrap__right {
  background: #ffffff;
  width: 50%;
  margin-left: 1rem;
  display: block;
  text-align: center;
  border-bottom: 2px solid #333333;
  padding: 3rem 0;
}
@media only screen and (max-width: 768px) {
  .contactWrap__right {
    width: 100%;
    margin-left: 0rem;
    margin-top: 2rem;
    padding: 2rem 2rem;
    text-align: left;
  }
}
.contactWrap__rightMailText1 {
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (max-width: 480px) {
  .contactWrap__rightMailText1 {
    font-size: 1.2rem;
  }
}
.contactWrap__rightMailText2 {
  font-size: 2.2rem;
  font-weight: bold;
  color: #CB2A8D;
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  .contactWrap__rightMailText2 {
    margin-top: 1rem;
  }
}
.download__wrap {
  margin: 15rem 0;
}
.download__box {
  text-align: center;
}
.download__boxTitle {
  font-size: 1.6rem;
}
.download__boxLink {
  background: #F5BD41;
  display: inline-block;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  color: #ffffff;
  padding: 17px 0px;
  max-width: 400px;
  width: 100%;
  transition: 0.2s ease-in-out;
  margin: 5rem auto 0;
  border-radius: 5px;
  transition: 0.2s ease-in-out;
}
.download__boxLink:hover {
  opacity: 0.7;
}
.service-case {
  display: none;
}
.service-contact {
  display: none;
}
.service-flow {
  margin-top: 4rem;
}
.productionCase {
  padding: 8rem 0 8rem;
}
@media only screen and (max-width: 768px) {
  .productionCase {
    padding: 8rem 0 8rem;
  }
}
@media only screen and (max-width: 480px) {
  .productionCase {
    padding: 8rem 0 0rem;
  }
}
.event__pc {
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .event__pc {
    padding: 0rem 0 3rem;
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  .event__pc {
    margin-top: 0rem;
  }
}
.event__pc .event__titleSp {
  display: none;
  position: relative;
  z-index: 1;
  font-weight: bold;
  color: black;
  text-align: right;
  margin: 0;
  margin-left: auto;
  margin-bottom: 2rem;
  z-index: 5;
  padding-right: 2rem;
  font-size: 5.1rem;
  width: 350px;
}
@media only screen and (max-width: 768px) {
  .event__pc .event__titleSp {
    display: block;
  }
}
@media only screen and (max-width: 365px) {
  .event__pc .event__titleSp {
    margin-left: -5rem;
  }
}
.event__pc .event__titleSp::before {
  content: "";
  position: absolute;
  left: 33px;
  left: 68px;
  right: 0px;
  bottom: 15px;
  margin: 0 auto;
  display: inline-block;
  width: 139px;
  height: 6px;
  background-color: black;
  transform: translate(-50%);
}
.event__pc .event__titleSp .event__titleSubSp {
  font-size: 2.4rem;
  margin-right: 3rem;
}
@media only screen and (max-width: 768px) {
  .event__pc .event__titleSp .event__titleSubSp {
    font-size: 1.4rem;
    margin-right: 1rem;
  }
}
.event__pc .content__inner {
  max-width: none;
  min-height: 637px;
}
@media only screen and (max-width: 768px) {
  .event__pc .content__inner {
    margin: 0 auto;
    padding-left: 1.5rem;
    padding-right: 0rem;
    margin-right: 0rem;
  }
}
.event__pc .event__title {
  position: absolute;
  top: 110px;
  right: 2%;
  font-size: 9.6rem;
  font-weight: bold;
  margin: 0;
  z-index: 2;
  writing-mode: tb-rl;
  margin: 0;
  height: 540px;
}
@media only screen and (max-width: 1200px) {
  .event__pc .event__title {
    right: -4%;
  }
}
@media only screen and (max-width: 768px) {
  .event__pc .event__title {
    display: none;
  }
}
.event__pc .event__title::before {
  content: "";
  position: absolute;
  left: 0px;
  right: 115px;
  bottom: 210px;
  margin: 0 auto;
  display: inline-block;
  width: 259px;
  height: 6px;
  background-color: #1a1a1a;
  transform: translate(-50%);
  transform: rotate(90deg);
}
.event__pc .event__title .event__titleSub {
  font-size: 2.4rem;
  writing-mode: tb-rl;
  margin-top: 4rem;
  letter-spacing: 2px;
}
.event__pc .event__wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.event__pc .event__wrap .event__space {
  width: 15%;
}
@media only screen and (max-width: 1000px) {
  .event__pc .event__wrap .event__space {
    width: 22%;
  }
}
@media only screen and (max-width: 768px) {
  .event__pc .event__wrap .event__space {
    display: none;
  }
}
.article5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-flow: wrap;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .article5 {
    display: none;
    width: 100%;
    margin-top: 3rem;
  }
}
.article5 .article5__box {
  width: 32%;
  background: #F1F2F1;
}
@media only screen and (max-width: 768px) {
  .article5 .article5__box {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.article5 .article5__box:not(:nth-child(3n)) {
  margin-right: 2%;
}
@media only screen and (max-width: 768px) {
  .article5 .article5__box:not(:nth-child(3n)) {
    margin-right: 0%;
  }
}
.article5 .article5__box:nth-child(n + 4) {
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  .article5 .article5__box:nth-child(n + 4) {
    margin-top: 0rem;
  }
}
.article5 .article5__box .article5__image {
  width: 100%;
  padding-top: 60%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.article5 .article5__box .article5__text {
  padding: 1.5rem 1.5rem 2rem;
}
.article5 .article5__box .article5__text .article5__textItem {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-top: 0.5rem;
}
.article5 .article5__box .article5__text .article5__textItem .article5__price {
  background: grey;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
.article5 .article5__box .article5__text .article5__textItem .article5__price .article5__priceItem {
  margin: 0;
}
.even__sp {
  margin-top: 3rem;
}
.even__sp .slider3 {
  display: none;
  padding-right: 30%;
  overflow: hidden;
  padding-bottom: 50px;
  position: relative;
  z-index: 20;
}
@media only screen and (max-width: 768px) {
  .even__sp .slider3 {
    display: block;
    margin-left: 4rem;
  }
}
@media only screen and (max-width: 480px) {
  .even__sp .slider3 {
    margin-left: 2.5rem;
  }
}
.even__sp .slider3 .swiper-slide.-height {
  background: #F1F2F1;
  height: 230px;
}
.even__sp .slider3 .article5__textSp {
  background: #F1F2F1;
  padding-bottom: 1rem;
}
.even__sp .slider3 .article5__textSp .article5__image {
  width: 100%;
  padding-top: 60%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.even__sp .slider3 .article5__textSp .article5__textItemSp {
  font-size: 1.2rem;
  line-height: 1.6;
  padding: 0rem 1rem 0.5rem;
}
@media only screen and (max-width: 768px) {
  .even__sp .slider3 .article5__textSp .article5__textItemSp {
    padding: 1rem 1rem 0.5rem;
  }
}
.even__sp .slider3 .article5__boxBottomSp, .even__sp .slider3 .swiper-button-prev {
  top: 40%;
}
@media only screen and (max-width: 480px) {
  .even__sp .slider3 .article5__boxBottomSp, .even__sp .slider3 .swiper-button-prev {
    width: 27px;
    height: 26px;
  }
}
@media only screen and (max-width: 425px) {
  .even__sp .slider3 .article5__boxBottomSp, .even__sp .slider3 .swiper-button-prev {
    top: 36%;
  }
}
.even__sp .slider3 .swiper-pagination-bullet {
  background: white;
  border: 0.5px solid grey;
  opacity: 1;
  width: 13px;
  height: 13px;
}
.even__sp .slider3 .swiper-pagination-bullet-active {
  background: #CB2A8D;
  opacity: 1;
}
.even__sp .swiper-pagination-fraction, .even__sp .swiper-pagination-custom, .even__sp .swiper-container-horizontal > .swiper-pagination-bullets {
  left: -4%;
}
.even__sp .slider3 .swiper-button-prev {
  top: 44%;
}
.even__sp .swiper-button-next {
  top: 41%;
}
.contactWrapper {
  margin-top: -0.1rem;
  padding-top: 0.1rem;
}
.request__form {
  width: 100%;
  margin-top: 2rem;
  background: #ffffff;
  border-radius: 10px;
  padding: 2rem 3rem 4rem;
}
@media only screen and (max-width: 768px) {
  .request__form .contact__box {
    display: block;
  }
}
.request__form .contact__box .contact__text1 {
  width: 100%;
}
.request__form .contact__box .contact__text1 p {
  font-size: 1.4rem;
}
.request__form .contact__box .contact__label {
  font-size: 1.6rem;
  font-weight: 500;
  padding-top: 2rem;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .request__form .contact__box .contact__label {
    width: 100%;
  }
}
@media only screen and (max-width: 480px) {
  .request__form .contact__box .contact__label {
    font-size: 1.2rem;
  }
}
.request__form .contact__box .contact__label .must {
  margin-right: 1.5rem;
  color: white;
  font-size: 1.4rem;
  font-weight: bold;
  background: #CB2A8D;
  border-radius: 3px;
  width: 45px;
  height: 2.3rem;
  line-height: 2.3rem;
  text-align: center;
}
@media only screen and (max-width: 480px) {
  .request__form .contact__box .contact__label .must {
    font-size: 1rem;
    margin-right: 1rem;
  }
}
.request__form .contact__box .contact__item {
  width: 100%;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  .request__form .contact__box .contact__item {
    margin-top: 1rem;
  }
}
.recruiting__inner {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 10rem;
  padding: 0 1rem;
}
@media only screen and (max-width: 768px) {
  .recruiting__inner {
    padding: 0 0rem;
  }
}
.recruiting__course {
  border-bottom: 1px solid #006239;
}
.recruiting__courseTitle {
  display: flex;
  align-items: center;
  font-size: 2.4rem;
  font-weight: 500;
  color: #006239;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 768px) {
  .recruiting__courseTitle {
    font-size: 1.9rem;
  }
}
.recruiting__courseTitle:before, .recruiting__courseTitle:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #006239;
}
.recruiting__courseTitle:before {
  margin-right: 2.5rem;
}
.recruiting__courseTitle:after {
  margin-left: 2.5rem;
}
.recruiting__courseWrap {
  margin: 4rem 3rem 5rem;
}
@media only screen and (max-width: 767px) {
  .recruiting__courseWrap {
    margin: 4rem 1rem 5rem;
  }
}
.recruiting__courseBox {
  display: flex;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 767px) {
  .recruiting__courseBox {
    flex-direction: column;
  }
}
.recruiting__courseBox {
  display: flex;
  margin-bottom: 3rem;
}
.recruiting__courseBoxLeftTitle {
  color: #fff;
  background-color: #59997e;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  width: 160px;
  height: 30px;
  line-height: 30px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .recruiting__courseBoxLeftTitle {
    width: 100%;
  }
}
.recruiting__courseBoxRight {
  margin-left: 4rem;
}
@media only screen and (max-width: 767px) {
  .recruiting__courseBoxRight {
    margin-left: 0rem;
  }
}
.recruiting__courseBoxRightTitle {
  font-size: 1.6rem;
  font-weight: bold;
  color: #006239;
}
@media only screen and (max-width: 767px) {
  .recruiting__courseBoxRightTitle {
    text-align: center;
    margin-top: 1.5rem;
  }
}
.recruiting__courseBoxRightText {
  font-size: 1.4rem;
  color: #006239;
  line-height: 2;
  text-align: justify;
  margin-top: 0.5em;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .recruiting__courseBoxRightText {
    margin-top: 1rem;
  }
}
.progressbar {
  position: relative;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.progressbar li {
  position: relative;
  list-style-type: none;
  text-align: center;
  text-transform: uppercase;
  width: 33.333%;
  color: #fff;
  font-weight: bold;
  counter-increment: steps;
}
.progressbar li:before {
  display: block;
  width: 36px;
  height: 36px;
  line-height: 36px;
  margin: 7px auto 20px auto;
  content: "";
  font-size: 18px;
  text-align: center;
  border-radius: 50%;
  background-color: #cce0d7;
  content: counter(steps);
  position: relative;
  z-index: 20;
}
.progressbar li:after {
  position: absolute;
  z-index: -1;
  z-index: 10;
  top: 15px;
  left: -50%;
  width: 100%;
  height: 2px;
  content: "";
  background-color: #cce0d7;
  top: 25px;
}
.progressbar li:first-child:after {
  content: none;
}
.progressbar li.active, .progressbar li.complete {
  color: #006239;
}
.progressbar li.active:before, .progressbar li.complete:before {
  background-color: #006239;
  color: #fff;
}
.progressbar li.active:after, .progressbar li.complete:after {
  background-color: #006239;
  top: 25px;
}
.progressbar__text {
  margin-top: -1rem;
  font-size: 1.4rem;
}
.progressbar__text.-color {
  color: #cce0d7;
}
.custom-wpcf7c-confirmed .wpcf7-text {
  border: none !important;
}
.custom-wpcf7c-confirmed .wpcf7-textarea {
  border: none !important;
}
wpcf7-form-control wpcf7-text wpcf7-validates-as-required wpcf7c-conf {
  background: none;
}
.custom-wpcf7c-confirmed input[type="text"] {
  background-color: #fff;
}
.custom-wpcf7c-confirmed input[type="email"] {
  background-color: #fff;
}
.custom-wpcf7c-confirmed input[type="tel"] {
  background-color: #fff;
}
.custom-wpcf7c-confirmed textarea {
  background-color: #fff;
}
input.wpcf7-not-valid, textarea.wpcf7-not-valid, select.wpcf7-not-valid {
  background: #fdf7f8 !important;
}
.contact__textFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: left;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .contact__textFlex {
    display: block;
  }
}
.recruiting__text {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  color: #006239;
  margin-top: 8rem;
  margin-bottom: 7rem;
  line-height: 2.3;
}
@media only screen and (max-width: 768px) {
  .recruiting__text {
    font-size: 1.4rem;
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}
.recruiting__textBr {
  display: none;
}
@media only screen and (max-width: 768px) {
  .recruiting__textBr {
    display: block;
  }
}
.contact__mailCaution {
  font-size: 1.4rem;
  color: #cc4058;
  display: block;
  margin-top: 1rem;
  margin-left: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .contact__mailCaution {
    font-size: 1.2rem;
    margin-top: 1rem;
    margin-left: 0rem;
  }
}
.wpcf7-not-valid-tip {
  font-size: 1.2rem;
  color: #cc4058;
}
input[type="checkbox"] + span {
  font-size: 1.8rem;
  color: #006239;
}
@media only screen and (max-width: 768px) {
  input[type="checkbox"] + span {
    font-size: 1.4rem;
  }
}
.formBox2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .formBox2 {
    margin-top: 1rem;
  }
}
.formBox2__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
.formBox2__item.-positionError1 {
  position: relative;
}
.formBox2__item.-positionError1 .wpcf7-not-valid-tip {
  position: absolute;
  bottom: -40px;
  left: -51px;
  width: 200px;
}
.formBox2__item.-positionError2 .wpcf7-not-valid-tip {
  display: none;
}
.formBox2__item.-margin {
  margin-right: 1rem;
}
.formBox2__itemText {
  margin-right: 0rem;
  color: #006239;
  font-size: 1.6rem;
}
.formBox2__itemText.-width2 {
  min-width: 40px;
}
.formBox2__itemText.-margin1 {
  margin-right: 1rem;
}
@media only screen and (max-width: 768px) {
  .formBox2__itemText.-margin1 {
    margin-right: 0.5rem;
  }
}
.formBox2__itemText.-margin2 {
  margin-left: 1rem;
  margin-right: 2rem;
}
@media only screen and (max-width: 768px) {
  .formBox2__itemText.-margin2 {
    margin-left: 0.5rem;
    margin-right: 1rem;
  }
}
.formBox2__itemText.-margin3 {
  margin-left: 1rem;
}
@media only screen and (max-width: 768px) {
  .formBox2__itemText.-margin3 {
    margin-left: 0.5rem;
  }
}
.site-main-contact .wpcf7 .formBox2__item input[type="text"] {
  max-width: 120px;
  width: 100%;
}
.site-main-contact .wpcf7 .formBox2__item.-width input[type="text"] {
  max-width: 73px;
  width: 100%;
  padding-left: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .site-main-contact .wpcf7 .formBox2__item.-width input[type="text"] {
    padding-left: 1.8rem;
  }
}
.formBox2__width1 {
  max-width: 117px !important;
  width: 100%;
  display: block;
}
.formBox2__width2 {
  max-width: 75px !important;
  width: 100%;
  display: block;
}
.formBox2__width2 input[type="text"] {
  padding-left: 2.5rem;
}
@media only screen and (max-width: 480px) {
  .formBox2__width2 input[type="text"] {
    padding-left: 2rem;
  }
}
.confirmation__text {
  text-align: center;
  font-size: 2.2rem;
  color: #006239;
  margin-top: 6rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .confirmation__text {
    font-size: 1.8rem;
  }
}
.completion1 {
  padding-top: 8rem;
  padding-bottom: 15rem;
  background: #fff;
}
.completion1 .completion__box {
  text-align: center;
  margin-top: 5rem;
  margin-bottom: 5rem;
}
.completion1 .completion__box .completion__boxTitle {
  font-size: 2.2rem;
  font-weight: 500;
  color: #006239;
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  .completion1 .completion__box .completion__boxTitle {
    font-size: 1.8rem;
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .completion1 .completion__box .completion__boxTitle {
    font-size: 1.8rem;
  }
}
.completion1 .completion__box .completion__boxText {
  font-size: 1.4rem;
  color: #006239;
  line-height: 2.2;
  margin-top: 5rem;
}
@media only screen and (max-width: 768px) {
  .completion1 .completion__box .completion__boxText {
    font-size: 1.2rem;
    margin-top: 3rem;
  }
}
.completion1 .completion__button {
  text-align: center;
  margin-top: 10rem;
  width: 100%;
}
@media only screen and (max-width: 480px) {
  .completion1 .completion__button {
    margin-top: 3rem;
  }
}
.completion1 .completion__button .completion__buttonItem {
  font-size: 1.8rem;
  padding: 15px 0px;
  border: 1px solid #006239;
  color: #fff;
  background: #006239;
  width: 300px;
  display: block;
  text-align: center;
  margin: 0 auto;
  transition: 0.2s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .completion1 .completion__button .completion__buttonItem {
    width: 80%;
  }
}
.completion1 .completion__button .completion__buttonItem:hover {
  color: #006239;
  background: #fff;
  border: 1px solid #006239;
}
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.wiper-pagination {
  bottom: -16px;
  left: 16px;
}
.swiper-pagination {
  margin-top: 1.7rem;
  margin-left: 1.7rem;
}
.swiper-slide_image {
  width: 100%;
  max-height: 100%;
}
.swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  margin-right: 1.5rem;
}
.swiper-pagination-bullet-active {
  background: #AE0ED5;
}
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.header {
  width: 100%;
  height: 9rem;
  position: fixed;
  top: 0;
  background-color: transparent;
  z-index: 3000;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media only screen and (max-width:1023px) {
  .header {
    height: 6rem;
  }
}
@media only screen and (max-width:480px) {
  .header {
    height: 6rem;
  }
}
@media only screen and (max-width:768px) {
  .header.-spWhite {
    background-color: #ffffff;
  }
}
.header.-wh {
  background-color: #ffffff;
  -webkit-box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1);
}
.header.-shadow {
  background-color: #ffffff;
  -webkit-box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1);
}

.headerInner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  height: 100%;
}
@media only screen and (max-width:1023px) {
  .headerInner {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width:480px) {
  .headerInner {
    padding: 0;
  }
}

.headerFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-content: space-between;
  height: 100%;
}
@media only screen and (max-width:1023px) {
  .headerFlex {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 1.5rem;
  }
}

.headerLogo {
  width: 17.1rem;
  margin-right: auto;
  padding-top: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 1150px) {
  .headerLogo {
    margin-right: auto;
  }
}
@media only screen and (max-width:480px) {
  .headerLogo {
    width: 110px;
    margin-left: 0;
    padding-top: 0;
  }
}

header.active {
  background-color: #ffffff;
}

.gnav {
  margin-top: 0;
}
@media only screen and (max-width:1023px) {
  .gnav {
    display: none;
  }
}

.gnavMenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
  align-items: center;
}

.gnavItem {
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 1280px) {
  .gnavItem__child {
    padding-right: 2rem;
    padding-left: 2rem;
    font-size: 13px;
  }
}
@media screen and (max-width: 1100px) {
  .gnavItem__child {
    padding-right: 2rem;
    padding-left: 2rem;
    font-size: 12px;
  }
}

.gnavButton {
  padding-top: 0;
  display: flex;
  align-items: center;
}

.gnavItem.-wh {
  z-index: 10000;
}

.gnavItem__child {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  height: 100%;
  color: #ffffff;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.03em;
  padding-right: 2rem;
  padding-left: 2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
.gnavItem__child::after {
  position: absolute;
  content: "";
  width: calc(100% - 5rem);
  height: 2px;
  background: #ffffff;
  bottom: 0;
  left: 2.5rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}
.gnavItem__child:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
@media screen and (max-width: 1100px) {
  .gnavItem__child {
    padding-right: 1rem;
    padding-left: 1rem;
    font-size: 12px;
  }
  .gnavItem__child::after {
    width: calc(100% - 2rem);
    left: 1rem;
  }
}
.gnavItem__child.is-white {
  z-index: 10000;
}
.gnavItem__child.-bk {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.03em;
}
.gnavItem__child.-bk::after {
  background: #000000;
}
.gnavItem__child.-info {
  z-index: 12000;
  position: relative;
}
.gnavItem__child.-info:hover::after {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
.gnavItem__child.-info::after {
  position: absolute;
  display: block;
  content: "";
  width: 10px;
  height: 6px;
  border-top: 5px solid #ffffff;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  top: 41px;
  right: 0;
}
@media screen and (max-width: 1100px) {
  .gnavItem__child.-info::after {
    right: -2rem;
  }
}
.gnavItem__child.-service {
  z-index: 12000;
  position: relative;
}
.gnavItem__child.-service:hover::after {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
.gnavItem__child.-service::after {
  position: absolute;
  display: block;
  content: "";
  width: 10px;
  height: 6px;
  border-top: 5px solid #ffffff;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  top: 41px;
  right: 0;
}
@media screen and (max-width: 1100px) {
  .gnavItem__child.-service::after {
    right: -2rem;
  }
}
.gnavItem__child.-infoBk {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.03em;
  position: relative;
  cursor: pointer;
  z-index: 100000;
}
.gnavItem__child.-infoBk:hover::after {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
@media screen and (max-width: 1100px) {
  .gnavItem__child.-infoBk {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
.gnavItem__child.-infoBk::after {
  position: absolute;
  display: block;
  content: "";
  width: 10px;
  height: 6px;
  border-top: 5px solid #000000;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  top: 41px;
  right: 0;
}
@media screen and (max-width: 1100px) {
  .gnavItem__child.-infoBk::after {
    right: 0;
  }
}
.gnavItem__child.-infoBk.is-white {
  z-index: 10000;
}
.gnavItem__child.-serviceBk {
  position: relative;
}
.gnavItem__child.-serviceBk:hover::after {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
@media screen and (max-width: 1100px) {
  .gnavItem__child.-serviceBk {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
.gnavItem__child.-serviceBk::after {
  position: absolute;
  display: block;
  content: "";
  width: 10px;
  height: 6px;
  border-top: 5px solid #000000;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  top: 10px;
  right: 0;
}
@media screen and (max-width: 1100px) {
  .gnavItem__child.-serviceBk::after {
    right: 0;
  }
}

.gnavModal__layer {
  position: fixed;
  background: transparent;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s linear, visibility 0.3s linear, z-index 0.3s linear;
  transition: opacity 0.3s linear, visibility 0.3s linear, z-index 0.3s linear;
  pointer-events: none;
}
.gnavModal__layer.is-open {
  z-index: 5000;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.gnavModal__wrap {
  position: relative;
  margin: auto;
  margin-top: 0;
  padding-top: 1.5rem;
  max-width: 1060px;
  width: 98%;
  border-radius: 20px;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s linear, visibility 0.3s linear;
  transition: opacity 0.3s linear, visibility 0.3s linear;
  pointer-events: none;
}
.gnavModal__wrap.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.gnavModal__inner {
  position: relative;
  margin: auto;
  margin-bottom: 11rem;
  background-color: #ffffff;
  display: block;
  height: auto;
  border-radius: 20px;
}

.gnavModal__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 3rem 5rem 3rem 1rem;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .gnavModal__flex {
    padding: 3rem 1rem 3rem 1rem;
  }
}

.gnavModal__titleBox {
  width: 100%;
  max-width: 270px;
  padding: 4rem 4rem 4rem 4rem;
  border-right: 1px solid #333333;
}
@media screen and (max-width: 1200px) {
  .gnavModal__titleBox {
    max-width: 240px;
  }
}
@media screen and (max-width: 1100px) {
  .gnavModal__titleBox {
    max-width: 220px;
  }
}

.gnavModal__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #272727;
  display: block;
  text-align: center;
  font-size: 3rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  margin-bottom: 2.5rem;
  line-height: 1.1;
}

.gnavModal__Subtitle {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: #272727;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
}

.gnavModal__listBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.gnavModal__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 3rem;
}

.gnavModal__listItem {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  width: 100%;
  font-size: 1.4rem;
  font-weight: bold;
  margin-right: 5rem;
  display: block;
  text-align: left;
  margin-left: 7rem;
  margin-bottom: 2rem;
  position: relative;
}
.gnavModal__listItem a {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.gnavModal__listItem:hover a {
  opacity: 0.5;
}
.gnavModal__listItem.-service {
  margin-right: 4rem;
  margin-left: 6rem;
}
@media screen and (max-width: 1200px) {
  .gnavModal__listItem.-service {
    margin-right: 2rem;
    margin-left: 4rem;
  }
}
@media screen and (max-width: 1100px) {
  .gnavModal__listItem.-service {
    margin-right: 2rem;
    margin-left: 4rem;
  }
}
@media screen and (max-width: 1100px) {
  .gnavModal__listItem.-service {
    margin-right: 1rem;
    margin-left: 3rem;
  }
}
.gnavModal__listItem::before {
  display: none;
}

.gnavModal__listImg {
  display: block;
  width: 100%;
  max-width: 240px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-left: auto;
  border-radius: 20px;
}
.gnavModal__listImg.-service {
  max-width: 240px;
  -o-object-fit: contain;
     object-fit: contain;
}

.gnavButton__child {
  font-size: 16px;
  color: #ffffff;
  background-color: #000000;
  padding: 0.5rem 2rem;
  border: solid 2px #000000;
  border-radius: 30px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-left: 1.5rem;
}
.gnavButton__child:hover {
  color: #000000;
  background-color: #ffffff;
}

.hamburgerBtn {
  display: none;
}
@media only screen and (max-width:1023px) {
  .hamburgerBtn {
    position: relative;
    z-index: 1000;
    display: inline-block;
    width: 50px;
    height: 40px;
    background: transparent;
    border: none;
    cursor: pointer;
  }
}
@media only screen and (max-width:1023px) and (max-width:480px) {
  .hamburgerBtn {
    height: 20px;
  }
}

.hamburgerLine {
  position: absolute;
  top: -1.5rem;
  left: 0;
  right: 0;
  bottom: 0;
  width: 30px;
  height: 2px;
  margin: auto;
  background-color: #ffffff;
  -webkit-transition: inherit;
  transition: inherit;
}
.hamburgerLine::after {
  position: absolute;
  display: block;
  content: "";
  width: 21px;
  height: 100%;
  background-color: inherit;
  -webkit-transition: inherit;
  transition: inherit;
  top: 10px;
}
.hamburgerLine.active {
  top: -0.4rem;
}
@media only screen and (max-width:768px) {
  .hamburgerLine.-spBk {
    background-color: #000000;
  }
}
.hamburgerLine.-bk {
  background-color: #000000;
}

.hamburgerLineBk {
  position: absolute;
  top: -1.5rem;
  left: 0;
  right: 0;
  bottom: 0;
  width: 30px;
  height: 2px;
  margin: auto;
  background-color: #ffffff;
  -webkit-transition: inherit;
  transition: inherit;
  background-color: #000000;
}
.hamburgerLineBk::after {
  position: absolute;
  display: block;
  content: "";
  width: 21px;
  height: 100%;
  background-color: inherit;
  -webkit-transition: inherit;
  transition: inherit;
  top: 10px;
}

.hamburgerLineBk.active {
  top: -0.4rem;
}

.hamburgerGnav {
  display: none;
}
@media only screen and (max-width:1023px) {
  .hamburgerGnav {
    display: none;
    position: fixed;
    top: 9rem;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: -webkit-gradient(linear, left top, left bottom, from(#cc2a8d), to(#ae0cd9));
    background: linear-gradient(#cc2a8d, #ae0cd9);
  }
}
@media only screen and (max-width:480px) {
  .hamburgerGnav {
    top: 5rem;
  }
}

.hamburgerGnav__item {
  width: 100%;
  max-width: 201px;
  margin: auto;
  line-height: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
.hamburgerGnav__item.is-open {
  padding: 2rem 0 0 0;
  line-height: normal;
  height: auto;
  opacity: 1;
}
.hamburgerGnav__item:last-child {
  margin-bottom: 0;
}

.hamburgerGnav__itemChild {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: #ffffff;
  font-weight: 500;
  font-size: 1.3rem;
  letter-spacing: 0.03em;
  padding-bottom: 1.5rem;
  text-align: left;
  position: relative;
}
.hamburgerGnav__itemChild::after {
  position: absolute;
  display: block;
  content: "";
  width: 5px;
  height: 5px;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  right: 1px;
  top: 8px;
}
.hamburgerGnav__itemChild:hover {
  opacity: 0.7;
}
.hamburgerGnav__categoryLabel {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: rgba(255, 255, 255, 0.45);
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: left;
}
.hamburgerGnav__titleLink {
  color: inherit;
  text-decoration: none;
  display: block;
}
.hamburgerGnav__titleLink:hover {
  opacity: 0.7;
}

@media only screen and (max-width:1023px) {
  .hamburgerGnav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 10rem;
    padding-top: 0.5rem;
  }
}

@media only screen and (max-width:1023px) {
  .hamburgerGnav__title {
    font-family: "Jost", sans-serif;
    text-transform: uppercase;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    width: 88%;
    font-size: 2.2rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 2rem 0;
    text-align: left;
    border-bottom: 1px solid #ffffff;
    margin: auto;
    position: relative;
    cursor: pointer;
  }
}
.hamburgerGnav__title span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}
.hamburgerGnav__title span:first-child {
  margin-left: 1rem;
}

.hamburgerGnav__subTitle {
  margin-top: 0.5rem;
}

.hamburgerGnav__circle {
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid #ffffff;
  border-radius: 50%;
  position: relative;
  margin-left: auto;
  margin-right: 1rem;
}
.hamburgerGnav__circle::before {
  position: absolute;
  display: block;
  visibility: visible;
  content: "";
  width: 1.5rem;
  height: 1px;
  background-color: #ffffff;
  top: 50%;
  left: 22%;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.hamburgerGnav__circle::after {
  position: absolute;
  display: block;
  content: "";
  width: 1.5rem;
  height: 1px;
  background-color: #ffffff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.hamburgerGnav__circle.active {
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid #ffffff;
  border-radius: 50%;
  position: relative;
  margin-left: auto;
  margin-right: 1rem;
}
.hamburgerGnav__circle.active::before {
  position: absolute;
  visibility: hidden;
  content: "";
  width: 1.5rem;
  height: 1px;
  background-color: #ffffff;
  top: 50%;
  left: 22%;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.hamburgerGnav__circle.active::after {
  position: absolute;
  display: block;
  content: "";
  width: 1.5rem;
  height: 1px;
  background-color: #ffffff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.hamburgerBtn {
  margin-top: 1rem;
}
@media only screen and (max-width:480px) {
  .hamburgerBtn {
    margin-top: 0;
  }
}

.hamburgerBtn span {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.hamburgerGnav {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.hamburgerGnav.active {
  display: block;
}

.hamburgerBtn.active span:nth-child(1) {
  color: #333333;
  background-color: #333333;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.hamburgerBtn.active span::after {
  color: #333333;
  background-color: #333333;
  -webkit-transform: rotate(-85deg);
          transform: rotate(-85deg);
  width: 3rem;
  top: 0;
}

.imageOn {
  display: block;
}

.imageOn.active {
  display: none;
}

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

.imageOn.ham-active {
  display: none;
}

.imageOff {
  display: none;
}

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

.imageOff.active {
  display: block;
}

.imageOff.ham-active {
  display: block;
}

.contactHamburger__list {
  width: 88%;
  margin: auto;
}

.contactHamburger__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2rem 0;
  text-align: left;
  border-bottom: 1px solid #ffffff;
}
.contactHamburger__item:last-of-type {
  margin-bottom: 1.5rem;
}

.hamburgerDownload__btn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-left: 3.5rem;
  position: relative;
}
.hamburgerDownload__btn::before {
  position: absolute;
  display: block;
  content: url(/img/common/download.png);
  left: -5rem;
  top: -2rem;
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
}

.hamburgerDownload__btnText {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  font-size: 1rem;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-left: 1rem;
}

.contactHamburger__btn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-left: 3.5rem;
  position: relative;
}
.contactHamburger__btn::before {
  position: absolute;
  display: block;
  content: url(/img/common/contact.png);
  left: -5.5rem;
  top: -1.5rem;
  -webkit-transform: scale(0.3);
          transform: scale(0.3);
}

.contactHamburger__btnText {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  font-size: 1rem;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-left: 1rem;
}

.hamburgerAddress {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  font-style: normal;
  width: 100%;
  color: #ffffff;
  letter-spacing: 0;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}

.hamburgerMap__link {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-decoration: underline;
  text-align: right;
  margin-right: 3rem;
  text-align: left;
  position: relative;
}
.hamburgerMap__link::after {
  position: absolute;
  display: block;
  content: url(/img/common/google_map.png);
  left: 8rem;
  top: -1rem;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
}

/* --- New Hamburger Menu (hmbg) --- */
.hmbg__scroll {
  height: calc(100vh - 5rem);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 3rem 2.4rem 4rem;
}
@media only screen and (min-width: 481px) {
  .hmbg__scroll {
    height: calc(100vh - 9rem);
    padding: 3rem 3rem 4rem;
  }
}
@media only screen and (min-width: 769px) {
  .hmbg__scroll {
    padding: 4rem 5rem 4rem;
  }
}
.hmbg__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 3rem;
}
@media only screen and (max-width: 480px) {
  .hmbg__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.hmbg__group {
  margin-bottom: 2.8rem;
}
.hmbg__heading {
  font-family: "Jost", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 1.6rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
a.hmbg__heading.-link {
  display: block;
  text-decoration: none;
  color: #ffffff;
  transition: opacity 0.2s ease;
}
a.hmbg__heading.-link:hover {
  opacity: 0.6;
}
.hmbg__headingSub {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.5);
  margin-left: 1rem;
  text-transform: none;
  letter-spacing: 0;
}
.hmbg__heading.-hidden {
  visibility: hidden;
}
.hmbg__heading.-cont {
  display: none;
}
@media only screen and (min-width: 481px) {
  .hmbg__heading.-cont {
    display: block;
    opacity: 0.3;
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .hmbg__heading.-hidden { display: none; }
}
.hmbg__catBlock {
  margin-bottom: 2rem;
}
.hmbg__catLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 0.03em;
  margin-bottom: 0.6rem;
}
.hmbg__link {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: #ffffff;
  padding: 0.5rem 0;
  transition: opacity 0.2s ease;
}
.hmbg__link:hover {
  opacity: 0.6;
}
.hmbg__bottom {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.hmbg__ctaBtn {
  display: block;
  width: 100%;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 40px;
  padding: 1.4rem 0;
  transition: background 0.3s ease;
}
.hmbg__ctaBtn:hover {
  background: rgba(255, 255, 255, 0.25);
}
.hmbg__address {
  margin-top: 2rem;
  text-align: center;
}
.hmbg__address address {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.6;
}
.hmbg__mapLink {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.5);
  text-decoration: underline;
}
.hmbg__mapLink:hover {
  color: #ffffff;
}

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.footer {
  width: 100%;
  background-color: #000000;
  padding-top: 8.5rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .footer {
    padding-top: 15.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .footer {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.footer.-contact {
  width: 100%;
  background-color: #000000;
  padding-top: 2.1rem;
  padding-bottom: 4.1rem;
}
@media only screen and (max-width: 820px) {
  .footer.-contact {
    padding-top: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .footer.-contact {
    padding-bottom: 6.1rem;
  }
}
@media only screen and (max-width: 820px) {
  .footer.-contact.-pc__only {
    display: none;
  }
}
.footer.-contact.-sp__only {
  display: none;
}
@media only screen and (max-width: 820px) {
  .footer.-contact.-sp__only {
    display: block;
  }
}
.footerInner {
  max-width: 1100px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: auto;
}
@media only screen and (max-width: 820px) {
  .footerInner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .footerInner {
    padding-right: 2.3rem;
    padding-left: 2.4rem;
  }
}
.footerFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  margin-bottom: 2.5rem;
  align-items: center;
}
.footerFlex.-contact {
  margin-bottom: 0;
}
.footer__image {
  width: 34%;
  max-width: 150px;
}
.footerBox {
  max-width: 26.2rem;
}
@media only screen and (max-width: 768px) {
  .footerBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: unset;
    width: 100%;
  }
}
@media only screen and (max-width: 480px) {
  .footerLogo__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.footerLogo {
  display: block;
  width: 18rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 480px) {
  .footerLogo {
    width: 12rem;
  }
}
.footerAddress {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.03em;
  line-height: 1.84;
  margin-bottom: 1.5rem;
  text-align: right;
}
@media only screen and (max-width: 480px) {
  .footerAddress {
    font-size: 1.1rem;
  }
}
.footerAddress.-contact {
  margin-bottom: 0;
}
.footerMap__link {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-decoration: underline;
  text-align: right;
  margin-right: 3rem;
  position: relative;
  transition: opacity 0.3s ease;
}
.footerMap__link::after {
  position: absolute;
  display: block;
  content: url(/img/common/google_map.png);
  right: -4rem;
  top: -1rem;
  transform: scale(0.5);
}
.footerMap__link:hover {
  opacity: 0.6;
}
.footerNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .footerNav {
    display: none;
  }
}
.footerNav__item {
  max-width: 180px;
  margin-right: 5rem;
}
.footerNav__item {
  margin-right: 6rem;
}
@media only screen and (max-width: 1023px) {
  .footerNav__item {
    margin-right: 2rem;
  }
}
@media screen and (max-width: 880px) {
  .footerNav__item {
    margin-right: 1rem;
  }
}
.footerNav__item:last-child {
  margin-right: 0;
}
.footerNav__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 1023px) {
  .footerNav__title {
    font-size: 2.4rem;
  }
}
.footerNav__itemChild {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: #ffffff;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  font-weight: 500;
  margin-bottom: 1.5rem;
  transition: opacity 0.3s ease;
}
.footerNav__itemChild.-project {
  margin-bottom: 2.5rem;
}
.footerNav__itemChild__sp__only {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-weight: 500;
  letter-spacing: 0;
  display: none;
  text-decoration: underline;
  margin-left: 1.5rem;
}
@media only screen and (max-width: 480px) {
  .footerNav__itemChild__sp__only {
    display: inline-block;
  }
}
.footerNav__itemChild:hover {
  opacity: 0.6;
}
.footerNav__itemChild.-nohover:hover {
  opacity: 1;
}
.footeCopy {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: #ffffff;
  background-color: #000000;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  max-width: 1140px;
  text-align: left;
  margin: auto;
}
@media only screen and (max-width: 480px) {
  .footeCopy {
    display: inline-block;
    padding-top: 5.5rem;
    padding-bottom: 0;
  }
}
.footeCopy.-contact {
  padding-bottom: 0;
  margin: 0;
}
@media screen and (max-width: 820px) {
  .footeCopy.-contact {
    padding-top: 50px;
  }
}
.-under400Only {
  display: none;
}
@media screen and (max-width: 400px) {
  .-under400Only {
    display: block;
  }
}
.-under400None {
  display: block;
}
@media screen and (max-width: 400px) {
  .-under400None {
    display: none;
  }
}
@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.top-mv {
  position: relative;
  width: 100%;
  height: 740px;
  background: url(../img/frontpage/top-mv_bg.png) no-repeat;
  background-position: center;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  .top-mv {
    background: url(../img/frontpage/top-mv_bg_sp.png);
    background-position: center;
    background-size: cover;
  }
}
@media screen and (max-width: 600px) {
  .top-mv {
    height: 525px;
  }
}
.top-mv:after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 54%;
  height: 100%;
  content: "";
  background: url(../img/frontpage/top-mv_diagonal.png) no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  .top-mv:after {
    width: 49%;
    background-image: url("../img/frontpage/top-mv_diagonal_tab.png");
    background-size: cover;
  }
}
@media screen and (max-width: 560px) {
  .top-mv:after {
    width: 90%;
    background-image: url("../img/frontpage/top-mv_diagonal_sp.png");
  }
}
@media screen and (max-width: 375px) {
  .top-mv:after {
    width: 46%;
  }
}
.top-mv_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  max-width: 1440px;
  padding-right: 4rem;
  padding-left: 4rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1439px) {
  .top-mv_wrap {
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin: 0;
  }
}
@media only screen and (max-width: 768px) {
  .top-mv_wrap {
    flex-wrap: wrap;
  }
}
.top-mv_heading {
  width: 50%;
  margin-left: 6rem;
  color: #ffffff;
}
@media screen and (max-width: 960px) {
  .top-mv_heading {
    margin-left: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .top-mv_heading {
    width: 100%;
    padding-top: calc(4rem + (1vw - .32rem) * 13.3929);
  }
}
@media screen and (max-width: 600px) {
  .top-mv_heading {
    margin-left: 2.4rem;
  }
}
@media screen and (max-width: 375px) {
  .top-mv_heading {
    padding-top: 6rem;
    margin-left: 0.8rem;
  }
}
.top-mv_heading .title {
  margin-bottom: 6rem;
  font-size: calc(2.4rem + (1vw - .32rem) * 1.1009);
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .top-mv_heading .title {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 600px) {
  .top-mv_heading .title {
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 480px) {
  .top-mv_heading .title {
    letter-spacing: 0;
  }
}
.top-mv_heading .text {
  font-family: "Noto Sans Japanese", YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: calc(1.2rem + (1vw - .32rem) * .1835);
  line-height: 2;
}
@media screen and (max-width: 420px) {
  .top-mv_heading .text {
    font-size: 1.1rem;
    letter-spacing: 0;
  }
}
.top-mv_slide {
  width: 37%;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .top-mv_slide {
    width: 70%;
    height: 50%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 500px) {
  .top-mv_slide {
    width: 80%;
  }
}
@media screen and (max-width: 375px) {
  .top-mv_slide {
    width: 100%;
    margin-left: 0.8rem;
  }
}
.top-mv_slide .slide-position {
  position: relative;
  width: 100%;
  height: 100%;
}
.top-mv_slide .slide-position .mv-slide {
  position: absolute;
  right: -11%;
  bottom: 8%;
  z-index: 5;
  width: 150%;
  max-width: 1150px;
}
@media screen and (max-width: 1080px) {
  .top-mv_slide .slide-position .mv-slide {
    right: -20%;
    bottom: 10%;
  }
}
@media only screen and (max-width: 768px) {
  .top-mv_slide .slide-position .mv-slide {
    right: 0;
    bottom: 10%;
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .top-mv_slide .slide-position .mv-slide {
    bottom: 7%;
  }
}
@media screen and (max-width: 375px) {
  .top-mv_slide .slide-position .mv-slide {
    right: 4px;
    bottom: 5%;
  }
}
.top-mv_slide .slide-position .mv-slide img {
  width: 100%;
  height: 100%;
}
.top-mv_slide .slide-position .mv-mac_slide_g {
  transition-duration: 0.3s;
  position: absolute;
  right: 42.5%;
  bottom: 28%;
  z-index: 2;
  width: 55%;
  max-width: 632px;
}
.top-mv_slide .slide-position .mv-mac_slide_g img {
  width: 100%;
  height: 100%;
}
.top-mv_slide .slide-position .mv-mac_slide_h {
  transition-duration: 0.3s;
  position: absolute;
  right: 8%;
  bottom: -9.5%;
  z-index: 10;
  width: 55%;
  max-width: 768px;
}
.top-mv_slide .slide-position .mv-mac_slide_h img {
  width: 100%;
  height: 100%;
}
.top-mv-story {
  margin-top: 6rem;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .top-mv-story {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 480px) {
  .top-mv-story {
    margin-top: 2rem;
  }
}
.top-mv-story_banner {
  position: relative;
  width: 100%;
  padding-top: 27.114%;
  background: url(../img/frontpage/top-bnr_pc.png) no-repeat;
  background-position: center;
  background-size: cover;
  box-shadow: 0 0 8px #f2f2f2;
  border-radius: 8.86px;
}
@media only screen and (max-width: 768px) {
  .top-mv-story_banner {
    padding-top: 52.3135%;
    background: url(../img/frontpage/top-bnr_tab.png);
    background-size: cover;
  }
}
@media only screen and (max-width: 480px) {
  .top-mv-story_banner {
    padding-top: 140.3134%;
    background: url(../img/frontpage/top-bnr_sp.png);
    background-size: cover;
  }
}
.top-mv-story_banner_hover {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  bottom: 15%;
  left: 7%;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .top-mv-story_banner_hover {
    bottom: 13%;
    left: 6%;
  }
}
@media only screen and (max-width: 480px) {
  .top-mv-story_banner_hover {
    bottom: 56%;
  }
}
.top-mv-story_banner_hover .arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  transition-duration: 0.3s;
  width: 39px;
  height: 39px;
  background: #CB2A8D;
  border-radius: 50%;
}
.top-mv-story_banner_hover img {
  transition-duration: 0.3s;
  position: relative;
  top: 40%;
  left: 24%;
  width: 16px;
  height: 8px;
}
.top-mv-story_banner_hover .text {
  padding-left: 1.5rem;
  color: #333333;
  font-size: calc(1.6rem + (1vw - .32rem) * .3571);
}
.top-story {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
.top-story_banner {
  position: relative;
  width: 100%;
  padding-top: 27.114%;
  background: url(../img/frontpage/top-bnr_pc.png) no-repeat;
  background-position: center;
  background-size: cover;
  box-shadow: 0 0 8px #f2f2f2;
  border-radius: 8.86px;
}
@media only screen and (max-width: 768px) {
  .top-story_banner {
    padding-top: 52.3135%;
    background: url(../img/frontpage/top-bnr_tab.png);
    background-size: cover;
  }
}
@media only screen and (max-width: 480px) {
  .top-story_banner {
    padding-top: 140.3134%;
    background: url(../img/frontpage/top-bnr_sp.png);
    background-size: cover;
  }
}
@media only screen and (max-width: 768px) {
  .top-story_banner {
    padding-top: 52.3135%;
    background: url(../img/frontpage/top-bnr_tab.png);
    background-size: cover;
  }
}
@media only screen and (max-width: 480px) {
  .top-story_banner {
    padding-top: 140.3134%;
    background: url(../img/frontpage/top-bnr_sp.png);
    background-size: cover;
  }
}
.top-story_banner_hover {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  bottom: 15%;
  left: 7%;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .top-story_banner_hover {
    bottom: 13%;
    left: 6%;
  }
}
@media only screen and (max-width: 480px) {
  .top-story_banner_hover {
    bottom: 56%;
  }
}
.top-story_banner_hover .arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  transition-duration: 0.3s;
  width: 39px;
  height: 39px;
  background: #CB2A8D;
  border-radius: 50%;
}
.top-story_banner_hover img {
  transition-duration: 0.3s;
  position: relative;
  top: 40%;
  left: 32%;
  width: 16px;
  height: 8px;
}
.top-story_banner_hover .text {
  padding-left: 1.5rem;
  color: #333333;
  font-size: calc(1.6rem + (1vw - .32rem) * .3571);
}
.service-content {
  padding: 12rem 0;
}
@media only screen and (max-width: 768px) {
  .service-content {
    padding: 8rem 0;
  }
}
@media only screen and (max-width: 480px) {
  .service-content {
    padding: 4rem 0;
  }
}
.service-content_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .service-content_wrap {
    flex-wrap: wrap;
  }
}
.service-content_wrap .service-item {
  width: 31%;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .service-content_wrap .service-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
  }
  .service-content_wrap .service-item:not(:last-of-type) {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 600px) {
  .service-content_wrap .service-item {
    width: 100%;
  }
}
.service-content_wrap .service-item .img {
  width: 100%;
  border-radius: 8.86px;
}
.service-content_wrap .service-item .img img {
  min-width: 100%;
  box-shadow: 0 8px 16px -2px rgba(10, 10, 10, 0.1), 2px 2px 5px 2px rgba(187, 187, 187, 0.5);
  border-radius: 8.86px;
}
@media only screen and (max-width: 768px) {
  .service-content_wrap .service-item .img {
    width: 70%;
    margin: auto;
  }
}
@media only screen and (max-width: 480px) {
  .service-content_wrap .service-item .img {
    width: 70%;
    margin: auto;
  }
}
.service-content_wrap .service-item_text {
  margin-top: 6rem;
}
@media only screen and (max-width: 768px) {
  .service-content_wrap .service-item_text {
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width: 480px) {
  .service-content_wrap .service-item_text {
    width: 100%;
  }
}
.service-content_wrap .service-item_text .sub {
  position: relative;
  display: block;
  color: #CB2A8D;
  font-size: 1.2rem;
  line-height: 3;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .service-content_wrap .service-item_text .sub {
    margin-bottom: 1.6rem;
    line-height: 1;
  }
}
.service-content_wrap .service-item_text .sub img {
  position: absolute;
  top: -30px;
  right: 0;
  z-index: -1;
  height: 86px;
}
.service-content_wrap .service-item_text .title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .service-content_wrap .service-item_text .title {
    font-size: 2rem;
    line-height: 1.5;
  }
}
.service-content_wrap .service-item_text .text {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  padding-top: 0.8rem;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.08em;
}
.service-detail {
  padding: 12rem 0;
  background-color: #f2f2f2;
  border-radius: 30px;
}
@media only screen and (max-width: 768px) {
  .service-detail {
    padding: 8rem 0;
  }
}
@media only screen and (max-width: 480px) {
  .service-detail {
    padding: 4rem 0;
  }
}
.service-detail_heading {
  padding-bottom: 8rem;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .service-detail_heading {
    padding-bottom: 4rem;
  }
}
.service-detail_heading .sub {
  padding-bottom: 2rem;
  color: #CB2A8D;
  font-size: 2rem;
  font-weight: 500;
  line-height: 2.8rem;
  letter-spacing: 0.04em;
}
.service-detail_heading .title {
  font-size: 4rem;
  font-weight: bold;
  line-height: 7.6rem;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .service-detail_heading .title {
    font-size: 2.4rem;
    line-height: 2;
  }
}
@media only screen and (max-width: 480px) {
  .service-detail_heading .title {
    font-size: 2rem;
  }
}
.service-detail_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .service-detail_wrap {
    flex-wrap: wrap;
  }
}
.service-detail_wrap:not(:last-of-type) {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .service-detail_wrap:not(:last-of-type) {
    margin-bottom: 4rem;
  }
}
.service-detail_wrap .service-img {
  width: 50%;
}
@media only screen and (max-width: 768px) {
  .service-detail_wrap .service-img {
    width: 100%;
  }
}
.service-detail_wrap .service-img img {
  width: 100%;
  height: 100%;
}
.service-detail_wrap .service-text {
  width: 45%;
}
@media only screen and (max-width: 768px) {
  .service-detail_wrap .service-text {
    width: 100%;
  }
}
.service-detail_wrap .service-text .sub {
  display: block;
  padding-bottom: 1rem;
  color: #CB2A8D;
  font-size: 1.2rem;
  line-height: 3;
}
@media only screen and (max-width: 768px) {
  .service-detail_wrap .service-text .sub {
    padding-top: 1rem;
    padding-bottom: 0.5rem;
  }
}
.service-detail_wrap .service-text .title {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  .service-detail_wrap .service-text .title {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 374px) {
  .service-detail_wrap .service-text .title {
    font-size: 1.6rem;
  }
}
.service-detail_wrap .service-text .text {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
}
@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.clear {
  clear: both;
}
.sp {
  display: none;
}
@media only screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}
.company .slide-inner {
  display: block;
  width: 100%;
  padding-bottom: 4.8rem;
  padding-left: 2.4rem;
  margin-left: calc((100vw - 1024px) / 2);
}
@media screen and (min-width: 1440px) {
  .company .slide-inner {
    padding-left: 4rem;
  }
}
@media screen and (max-width: 1024px) {
  .company .slide-inner {
    margin-left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .company .slide-inner {
    padding-left: 4rem;
    max-width: 100%;
    margin: 0;
    padding-bottom: 2.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .company .slide-inner {
    padding-left: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
.company .slide-inner_image {
  border-radius: 24px 0 0 24px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  padding-bottom: 40% !important;
}
.company-inner {
  padding-bottom: 8rem;
}
@media screen and (max-width: 600px) {
  .company .frame-size {
    position: relative;
    height: 373px;
  }
}
.company .profile_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 1.6rem;
}
@media screen and (max-width: 320px) {
  .company .profile_flex {
    font-size: 1.4rem;
  }
}
.company .profile_flex .gmap {
  width: 100%;
  padding-bottom: 4rem;
}
.company .profile_flex .gmap iframe {
  width: 75%;
  height: 350px;
  margin-left: 25%;
}
@media only screen and (max-width: 480px) {
  .company .profile_flex .gmap iframe {
    width: 100%;
    height: 160px;
    margin-left: 0;
  }
}
.company .profile_flex .item, .company .profile_flex .contents {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  display: block;
  padding: 4rem 0;
  line-height: 1.8;
  letter-spacing: 0.04rem;
}
.company .profile_flex .address-cell {
  padding: 4rem 0 2rem;
}
.company .profile_flex .item {
  width: 20%;
  font-weight: 600;
  border-top: 1px solid #CB2A8D;
}
@media only screen and (max-width: 480px) {
  .company .profile_flex .item {
    width: 25%;
  }
}
.company .profile_flex .contents {
  width: 75%;
  text-align: left;
  border-top: 1px solid #cccccc;
}
@media only screen and (max-width: 480px) {
  .company .profile_flex .contents {
    width: 70%;
  }
}
.company .profile_flex .contents .map-link {
  margin-left: 2rem;
  color: #CB2A8D;
  font-size: 1.2rem;
  text-decoration: underline;
}
.company .profile_flex .contents .address-desc {
  color: #cccccc;
  font-size: 1.2rem;
  line-height: 1.8;
}
@media only screen and (max-width: 480px) {
  .company .profile_flex .contents table tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .company .profile_flex .contents table tr td:first-child {
    width: 10rem;
  }
}
.company .profile_flex .contents table tr .col2 {
  padding-left: 5rem;
}
@media only screen and (max-width: 480px) {
  .company .profile_flex .contents table tr .col2 {
    padding-left: 1rem;
  }
}
.company .profile_flex .bd-none {
  border-top: none;
}
.company .profile_flex .bd-p {
  border-bottom: 1px solid #CB2A8D;
}
.company .profile_flex .bd-g {
  border-bottom: 1px solid #cccccc;
}
@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.prapori {
  padding-bottom: 8rem;
}
.prapori_wrap {
  margin-bottom: 5rem;
}
.prapori_wrap h4 {
  margin-bottom: 1rem;
  font-size: 2rem;
  line-height: 1.5;
}
.prapori_wrap p {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.04rem;
}
.prapori_wrap ul {
  margin-top: 2rem;
}
.prapori_wrap ul li {
  color: 1.6rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
.prapori_wrap ul li:before {
  margin-right: 0.5rem;
  color: #CB2A8D;
  content: "●";
  font-size: 1rem;
}
.prapori .info {
  margin-top: 8rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
.indent-1 {
  padding-left: 1em;
  text-indent: -1em;
}
@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.contactform {
  padding-bottom: 8rem;
}
.contact-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .contact-content {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 600px) {
  .contact-content {
    margin-bottom: 4.8rem;
  }
}
.contact-heading {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  width: 56.933%;
  font-size: 1.4rem;
  line-height: 2;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .contact-heading {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.contact-btn {
  border-radius: 4px;
  transition-duration: 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 31.25%;
  min-width: 320px;
  padding: 1.4rem;
  border: 1px solid #CB2A8D;
}
@media only screen and (max-width: 768px) {
  .contact-btn {
    width: 100%;
    min-width: 0;
  }
}
.contact-btn:hover {
  color: #ffffff;
  background-color: #CB2A8D;
}
.contact-btn_text {
  font-size: 1.2rem;
  letter-spacing: 0.08px;
}
.contact-btn_num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.2rem;
  font-size: 2.8rem;
  letter-spacing: 0.08px;
}
@media screen and (max-width: 320px) {
  .contact-btn_num {
    font-size: 2.2rem;
  }
}
.contact-btn_num:before {
  margin-right: 1rem;
  content: "";
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
}
.form_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 4rem 0;
  letter-spacing: 0.04rem;
  border-bottom: solid 1px #cccccc;
}
.form_wrap:first-child {
  border-top: solid 1px #cccccc;
}
@media screen and (max-width: 600px) {
  .form_wrap {
    padding: 3rem 0;
  }
}
.form_wrap label {
  width: 25%;
  font-size: 1.6rem;
  font-weight: 600;
}
@media only screen and (max-width: 768px) {
  .form_wrap label {
    width: 30%;
  }
}
@media screen and (max-width: 600px) {
  .form_wrap label {
    width: 100%;
    margin-bottom: 3rem;
  }
}
.form_wrap label .any {
  padding: 0.2rem 0.3rem;
  margin-left: 1rem;
  color: #CB2A8D;
  font-size: 1rem;
  font-weight: 400;
  background-color: #ffffff;
  border: solid 1px #CB2A8D;
  border-radius: 3px;
}
.form_wrap label .required {
  padding: 0.2rem 0.3rem;
  margin-left: 1rem;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 400;
  background-color: #CB2A8D;
  border: solid 1px #CB2A8D;
  border-radius: 3px;
}
.form_wrap .input {
  width: 75%;
  padding-left: 5rem;
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .form_wrap .input {
    width: 70%;
    padding-left: 2rem;
  }
}
@media screen and (max-width: 600px) {
  .form_wrap .input {
    width: 100%;
    padding-left: 0rem;
  }
}
.form_wrap .input input, .form_wrap .input textarea {
  width: 100%;
  padding: 1rem;
  background-color: #eeeeee;
  border: 1px solid #eeeeee;
  border: none;
  border-radius: 0.5rem;
}
.form_wrap .input input:focus, .form_wrap .input textarea:focus {
  border: 1px solid #AE0ED5;
  outline: 0;
}
@media screen and (max-width: 600px) {
  .form_wrap .input input, .form_wrap .input textarea {
    margin-top: 1rem;
  }
}
.form_wrap .input input {
  height: 48px;
}
.form_wrap .input p {
  margin-top: 0.5rem;
  font-size: 1.2rem;
}
.form_wrap .input .error {
  margin-top: 1rem;
}
.form .submit-btn {
  display: block;
  margin: 4rem auto 0;
  text-align: center;
}
.form .submit-btn button, .form .submit-btn input[type="submit"] {
  transition-duration: 0.3s;
  width: 100%;
  max-width: 36rem;
  padding: 0;
  padding: 2.2rem;
  color: #ffffff;
  font-size: 2rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  background-color: #CB2A8D;
  border: none;
  border-radius: 0.8rem;
  outline: none;
}
.form .submit-btn button:hover, .form .submit-btn input[type="submit"]:hover {
  background-color: #AE0ED5;
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  .form .submit-btn button, .form .submit-btn input[type="submit"] {
    width: 100%;
  }
}
input[type=radio], input[type=checkbox] {
  /* display: none; */
}
.mwform-radio-field {
  display: block;
  margin-left: 0px !important;
}
.mwform-radio-field-text {
  box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  margin: 0 0px 15px 0;
  padding: 0px 0px 0px 30px;
  border-radius: 50%;
  vertical-align: middle;
  cursor: pointer;
  font-weight: normal;
}
.mwform-radio-field-text:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: -2px;
  display: block;
  margin-top: -9px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  content: "";
}
.mwform-radio-field-text:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 20px;
  display: block;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  content: "";
  opacity: 0;
}
input[type=radio]:checked + .mwform-radio-field-text:before {
  opacity: 1;
}
.mwform-radio-field-text:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 1px;
  z-index: 1;
  display: block;
  margin-top: -6px;
  width: 14px;
  height: 14px;
  content: "";
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
input[type=checkbox]:checked + .mwform-radio-field-text:before {
  opacity: 1;
}
.form_box {
  width: 75%;
  padding-left: 5rem;
}
@media only screen and (max-width: 768px) {
  .form_box {
    width: 70%;
    padding-left: 2rem;
  }
}
@media screen and (max-width: 600px) {
  .form_box {
    width: 100%;
    padding-left: 0rem;
  }
}
.form_wrap.-file {
  display: block;
  border-bottom: none;
  padding: 0 0 3rem 0;
  border-top: none !important;
}
.input.-file {
  width: 100% !important;
  padding-left: 0 !important;
  display: flex;
  align-items: center;
}
.label.-file {
  width: 100%;
  margin-bottom: 1.5rem;
  display: block;
  font-weight: normal !important;
}
.js-upload-filename-1, .js-upload-filename-2 {
  margin-left: 1rem;
  margin-top: 0 !important;
  font-size: 1.4rem !important;
}
@media screen and (max-width: 600px) {
  .file-update {
    width: 45% !important;
    margin-bottom: 0 !important;
  }
}
.submit-btn.-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex !important;
  justify-content: center;
}
.submit_confirm {
  width: 100%;
  max-width: 36rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
}
.submit_confirm:last-child {
  margin-left: 3rem;
}
@media screen and (max-width: 600px) {
  .submit_confirm:last-child {
    margin-left: 0;
  }
}
.submit_confirm.-gray .submit_confirm {
  background: #cccccc !important;
  margin-left: 0;
}
.thanks__btn {
  display: flex;
  justify-content: center;
  transition-duration: 0.3s;
  width: 100%;
  max-width: 36rem;
  padding: 0;
  padding: 2.2rem;
  color: #fff;
  font-size: 2rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  background-color: #387c57;
  border: none;
  border-radius: 0.8rem;
  outline: none;
  margin: auto;
}
.thanks__title {
  margin-top: 2.4rem;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.08px;
  text-align: center;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .thanks__title {
    font-size: 2.4rem;
  }
}
.thanks__heading {
  font-size: 1.4rem;
  line-height: 2;
  text-align: center;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .thanks__heading {
    text-align: left;
  }
}
@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.single-news {
  padding-bottom: 8rem;
}
.single-news-header {
  margin-bottom: 3.2rem;
}
.single-news-header-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-flow: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 2.8rem;
  -webkit-box-pack: justify;
}
@media only screen and (max-width: 768px) {
  .single-news-header-top {
    align-items: flex-start;
    margin-bottom: 1rem;
  }
}
.single-news-header-top * {
  font-weight: 500;
}
.single-news-header-top-time {
  color: #999;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
}
.single-news-cat {
  display: inline-block;
  padding: 6px 1.8rem;
  margin-right: 1.6rem;
  color: #fff;
  font-size: 1.8rem;
  border-radius: 10rem;
}
.single-news-title {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.33;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .single-news-title {
    font-size: 2rem;
  }
}
.single-news-wrap {
  width: 100%;
  max-width: 748px;
  padding-right: 2.4rem;
  padding-left: 2.4rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .single-news-wrap {
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin: 0;
  }
}
.single-news * {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "arial", sans-serif !important;
  letter-spacing: 0.07em;
}
.single-news p {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  margin-block-end: 1em;
  margin-block-start: 1em;
}
@media only screen and (max-width: 480px) {
  .single-news p {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
.single-news p a {
  color: skyblue;
  text-decoration: underline;
}
.single-news h2, .single-news h3, .single-news h4, .single-news h5, .single-news h6 {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  margin-top: 4rem;
  margin-bottom: 1rem;
  font-weight: 600;
  letter-spacing: 0;
}
.single-news h2 {
  padding: 13px 10px 12px 20px;
  margin: 62px 0 25px;
  font-size: 22px;
  line-height: 1.5;
  background-color: rgba(203, 42, 141, 0.1);
  border-left: 5px solid #CB2A8D;
}
@media only screen and (max-width: 480px) {
  .single-news h2 {
    font-size: 20px;
  }
}
.single-news h3 {
  padding-bottom: 8px;
  font-size: 22px;
  letter-spacing: 0;
  border-bottom: 1px solid #CB2A8D;
}
@media only screen and (max-width: 480px) {
  .single-news h3 {
    font-size: 20px;
  }
}
.single-news h4 {
  color: #CB2A8D;
  font-size: 20px;
}
@media only screen and (max-width: 480px) {
  .single-news h4 {
    font-size: 18px;
  }
}
.single-news h5 {
  color: #CB2A8D;
  font-size: 1.8rem;
}
@media only screen and (max-width: 480px) {
  .single-news h5 {
    font-size: 1.4rem;
  }
}
.single-news h6 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 480px) {
  .single-news h6 {
    font-size: 1.4rem;
  }
}
.single-news li, .single-news td {
  font-size: 1.6rem;
}
@media only screen and (max-width: 480px) {
  .single-news li, .single-news td {
    font-size: 1.4rem;
  }
}
.single-news ul {
  padding: 20px 15px;
  margin-top: 4rem;
  background-color: rgba(203, 42, 141, 0.1);
  border: dashed 1px #CB2A8D;
}
.single-news ul li {
  line-height: 2.4;
}
.single-news ul li:before {
  left: 0;
  display: inline-block;
  margin-right: 8px;
  color: #CB2A8D;
  content: "●";
}
.single-news table {
  margin-top: 4rem;
}
.single-news table td {
  padding: 2rem;
  border: 2px solid #CB2A8D;
}
@media only screen and (max-width: 480px) {
  .single-news table td {
    padding: 0.8rem;
  }
}
.single-news img {
  height: auto;
  max-width: 100%;
}
.news_page {
  padding-bottom: 8rem;
}
.news_page li + li {
  border-top: solid 1px #cccccc;
}
.news_page_box {
  width: 32%;
  background-color: #f2f2f2;
  border-radius: 7px;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .news_page_box {
    width: 48%;
  }
}
@media only screen and (max-width: 480px) {
  .news_page_box {
    width: 100%;
  }
}
.news_page_box_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.news_page_box_wrap2 {
  margin-top: auto;
  padding: 1.6rem;
}
.news_page_box_list {
  height: auto;
  display: block;
  transition: 0.3s;
}
.news_page_box_list:hover {
  background-color: #f2f2f2;
  transition: 0.3s;
  cursor: pointer;
  opacity: 0.7;
}
.news_page_box_list * {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  color: #333333;
}
.news_page_box_list time {
  margin-bottom: 0.8rem;
  color: #999;
  font-size: 1.4rem;
}
.news_page_box_list .news_title {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.625;
}
@media only screen and (max-width: 480px) {
  .news_page_box_list .news_title {
    font-size: 1.4rem;
  }
}
.news_page_box_thum {
  width: 100%;
  border-radius: 7px;
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
  background-size: cover;
  flex-grow: 1;
}
.news_page_box_thum img {
  border-radius: 7px;
  width: 100%;
  height: auto;
}
.news_page_box_cat {
  padding: 2px 16px;
  margin-bottom: 0.8rem;
  color: #ffffff;
  font-size: 1.2rem;
  border-radius: 10rem;
}
@media only screen and (max-width: 480px) {
  .news_page_box_cat {
    padding: 2px 8px;
    font-size: 1rem;
  }
}
.news_page_box_time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-flow: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-pack: justify;
}
.news_page_box_time * {
  font-family: YuGothic, sans-serif;
  font-weight: 500;
}
.news_page_box_time .blog-content-post-desc-time {
  margin-bottom: 0.8rem;
  color: #999999;
  font-size: 1.4rem;
}
@media only screen and (max-width: 480px) {
  .news_page_box_time .blog-content-post-desc-time {
    font-size: 1rem;
  }
}
.pagination {
  margin-top: 4rem;
  margin-bottom: 0;
}
.pagination .page-numbers {
  justify-content: center;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-right: 0;
  background-color: transparent;
  border: none;
}
.pagination .page-numbers a:hover {
  color: #ffffff;
  background-color: #CB2A8D;
  filter: opacity(0.8);
}
.pagination .page-numbers .page-numbers {
  display: block;
  width: 32px;
  height: 32px;
  margin-right: 0;
  color: #CB2A8D;
  line-height: 32px;
  text-align: center;
  background-color: #ffffff;
  border-right: solid 1px #ffffff;
  border-radius: 0;
}
.pagination .page-numbers .current {
  color: #ffffff;
  background-color: #CB2A8D;
}
.pagination .page-numbers .current:hover {
  color: #ffffff;
  background-color: #CB2A8D;
}
@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.blog-content-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: flex-end;
  flex-flow: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 2rem;
  -webkit-box-pack: justify;
}
.blog-content-title * {
  font-weight: 600;
}
.blog-content-title-text {
  font-size: 2.5rem;
  letter-spacing: 0;
}
@media only screen and (max-width: 768px) {
  .blog-content-title-text {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 480px) {
  .blog-content-title-text {
    font-size: 1.6rem;
  }
}
.blog-content-title-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  padding-right: 5px;
  font-size: 1.2rem;
}
.blog-content-title-link-arrow {
  position: relative;
  display: inline-block;
  max-width: 17px;
  max-height: 17px;
  min-width: 17px;
  min-height: 17px;
  margin-left: 1.2rem;
  color: #ffffff;
  background-color: #CB2A8D;
  border-radius: 50%;
}
.blog-content-title-link-arrow i {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #ffffff;
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  transform: translate(-50%, -50%);
}
.arrow-hover {
  position: relative;
  transition: 0.2s;
}
.arrow-hover:hover {
  padding-right: 0;
  padding-left: 5px;
  transition: 0.2s;
}
.blog-content-post-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-flow: wrap;
  border-radius: 7px;
}
.blog-content-post-wrapper * {
  border-radius: 7px;
}
.blog-content-post-wrapper .blog-content-post-thum {
  width: 100%;
  padding-bottom: 58%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.blog-content-post-wrapper .blog-content-post-desc {
  padding: 1.6rem;
}
@media only screen and (max-width: 480px) {
  .blog-content-post-wrapper .blog-content-post-desc {
    padding: 0.8rem;
  }
}
.blog-content-post-wrapper .blog-content-post-desc-cat_time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-flow: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-pack: justify;
}
.blog-content-post-wrapper .blog-content-post-desc-cat_time * {
  font-family: YuGothic, sans-serif;
  font-weight: 500;
}
.blog-content-post-wrapper .blog-content-post-desc-cat_time .blog-content-post-desc-cat {
  padding: 2px 16px;
  margin-bottom: 0.8rem;
  color: #ffffff;
  font-size: 1.2rem;
  border-radius: 10rem;
}
@media only screen and (max-width: 480px) {
  .blog-content-post-wrapper .blog-content-post-desc-cat_time .blog-content-post-desc-cat {
    padding: 2px 8px;
    font-size: 1rem;
  }
}
.blog-content-post-wrapper .blog-content-post-desc-cat_time .blog-content-post-desc-time {
  margin-bottom: 0.8rem;
  color: #999999;
  font-size: 1.4rem;
}
@media only screen and (max-width: 480px) {
  .blog-content-post-wrapper .blog-content-post-desc-cat_time .blog-content-post-desc-time {
    font-size: 1rem;
  }
}
.blog-content-post-wrapper .blog-content-post-desc-title {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.625;
}
@media only screen and (max-width: 480px) {
  .blog-content-post-wrapper .blog-content-post-desc-title {
    font-size: 1.2rem;
  }
}
.blog-content-pickup-categoryList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-flow: wrap;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 480px) {
  .blog-content-pickup-categoryList {
    margin-bottom: 2rem;
  }
}
.blog-content-pickup-categoryList-child {
  width: 49%;
  margin-bottom: 1.2rem;
  transition: 0.3s;
}
.blog-content-pickup-categoryList-child:hover {
  transition: 0.3s;
  opacity: 0.8;
}
.blog-content-pickup-categoryList-child:not(:nth-of-type(2n)) {
  margin-right: 2%;
}
@media only screen and (max-width: 768px) {
  .blog-content-pickup-categoryList-child:not(:nth-of-type(2n)) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 768px) {
  .blog-content-pickup-categoryList-child {
    width: 100%;
  }
}
.blog-content-pickup-categoryList-child img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.blog-content-pickup .blog-content-pickup-categoryList-notHome {
  margin-bottom: 0;
}
.blog-content-pickup-post-wrapper .blog-content-pickup-post {
  width: 49%;
  margin-bottom: 1.2rem;
}
.blog-content-pickup-post-wrapper .blog-content-pickup-post:not(:nth-child(2n)) {
  margin-right: 2%;
}
.blog-content-pickup-post-wrapper .blog-content-pickup-post .blog-content-post-thum {
  padding-bottom: 48%;
}
.blog-content-pickup-post-wrapper .blog-content-pickup-post .blog-content-post-desc {
  padding: 1.6rem 6px;
}
.blog-content-pickup .cat-arc-padding {
  padding-top: calc(8rem - 1.2rem);
}
@media only screen and (max-width: 480px) {
  .blog-content-pickup .cat-arc-padding {
    padding-top: calc(6rem - 1.2rem);
  }
}
.post-hover {
  transition: 0.3s;
}
.post-hover:hover {
  transition: 0.3s;
  opacity: 0.7;
}
.blog {
  padding-top: 16rem;
  padding-bottom: calc(8rem - 1.2rem);
}
@media only screen and (max-width: 480px) {
  .blog {
    padding-top: 8rem;
    padding-bottom: calc(4rem - 1.2rem);
  }
}
.blog .mv {
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 480px) {
  .blog .mv {
    margin-bottom: 4rem;
  }
}
.blog .mv-text {
  font-family: "源柔ゴシック等幅 Bold", "M PLUS Rounded 1c", sans-serif;
}
@media only screen and (max-width: 480px) {
  .blog .mv-text {
    font-size: 1.4rem;
  }
}
.blog .mv-title {
  margin-top: 0;
  margin-bottom: 1rem;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 480px) {
  .blog .mv-title {
    font-size: 2rem;
  }
}
.blog .mv-desc {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
}
@media only screen and (max-width: 480px) {
  .blog .mv-desc {
    font-size: 1.2rem;
  }
}
.blog .blog-inner {
  width: 100%;
  max-width: 1024px;
  padding-right: 4rem;
  padding-left: 4rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1439px) {
  .blog .blog-inner {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}
@media screen and (max-width: 1024px) {
  .blog .blog-inner {
    max-width: 768px;
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .blog .blog-inner {
    max-width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 480px) {
  .blog .blog-inner {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}
.blog .blog-content-post-pagination {
  width: 100%;
  text-align: center;
}
.blog .blog-content-post-pagination ul {
  padding: 2rem 0 1.8rem;
  margin: 0 auto;
  border: none;
}
.blog .blog-content-post-pagination ul li {
  display: inline-block;
  margin-right: 0.5rem;
  font-size: 1rem;
}
.blog .blog-content-post-pagination ul li:last-child {
  border: 0;
}
.blog .blog-content-post-pagination ul li span {
  border-radius: 0;
}
.blog .blog-content-post-pagination ul li a {
  color: #333333;
  text-decoration: none;
}
.blog .blog-content-post-pagination ul li a:hover {
  opacity: 0.4;
}
.blog .blog-content-post-pagination ul li .current {
  width: 3.5rem;
  height: 3.5rem;
  color: #ffffff;
  color: #ffffff;
  background-color: #CB2A8D;
  border-radius: 50%;
}
.blog .blog-content-post-pagination ul li a, .blog .blog-content-post-pagination ul li .current {
  display: block;
  padding: 0.5rem 0.8rem;
  font-size: 1.6rem;
  font-weight: 600;
}
.blog .blog-content-post-pagination ul li .prev, .blog .blog-content-post-pagination ul li .next {
  color: #333333;
  font-size: 1.4rem;
  font-weight: 600;
}
.blog .blog-content .blog-content-new {
  padding-bottom: calc(12rem - 2.2rem);
}
@media only screen and (max-width: 480px) {
  .blog .blog-content .blog-content-new {
    padding-bottom: calc(6rem - 2.2rem);
  }
}
.blog .blog-content .blog-content-new-post-wrapper .blog-content-new-post {
  width: 32%;
  margin-bottom: 2.2rem;
  background-color: #f2f2f2;
}
.blog .blog-content .blog-content-new-post-wrapper .blog-content-new-post:not(:nth-child(3n)) {
  margin-right: 2%;
}
@media screen and (max-width: 1024px) {
  .blog .blog-content .blog-content-new-post-wrapper .blog-content-new-post:not(:nth-child(3n)) {
    margin-right: 0;
  }
}
@media screen and (max-width: 1024px) {
  .blog .blog-content .blog-content-new-post-wrapper .blog-content-new-post {
    width: 49%;
  }
  .blog .blog-content .blog-content-new-post-wrapper .blog-content-new-post:not(:nth-child(2n)) {
    margin-right: 2%;
  }
}
.blog .blog-content .blog-content-new-second {
  padding-bottom: calc(8rem - 2.2rem);
}
@media only screen and (max-width: 480px) {
  .blog .blog-content .blog-content-new-second {
    padding-bottom: calc(6rem - 2.2rem);
  }
}
.blog .blog-content .blog-content-leading {
  margin-bottom: 8rem;
  overflow: hidden;
  background-color: #f2f2f2;
  border-radius: 7px;
}
@media only screen and (max-width: 480px) {
  .blog .blog-content .blog-content-leading {
    margin-bottom: 4rem;
  }
}
.blog .blog-content .blog-content-leading-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.blog .blog-content .blog-content-leading-flex-desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  z-index: 0;
  width: 60%;
  padding-top: 8.4rem;
  padding-bottom: 8.4rem;
  overflow: visible;
}
@media screen and (max-width: 1024px) {
  .blog .blog-content .blog-content-leading-flex-desc {
    width: 100%;
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
  }
}
.blog .blog-content .blog-content-leading-flex-desc:before {
  position: absolute;
  top: 50%;
  left: 6%;
  display: inline-block;
  width: 140%;
  padding-bottom: 140%;
  content: "";
  background-color: rgba(203, 42, 141, 0.1);
  border-radius: 50%;
  transform: translate(-40%, -50%);
}
.blog .blog-content .blog-content-leading-flex-desc p {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.78;
}
@media only screen and (max-width: 480px) {
  .blog .blog-content .blog-content-leading-flex-desc p {
    font-size: 1.4rem;
  }
}
.blog .blog-content .blog-content-leading-flex-desc p b {
  color: #CB2A8D;
  font-size: 133%;
}
.blog .blog-content .blog-content-leading-flex-img {
  position: relative;
  z-index: 0;
  width: 40%;
  padding-top: 4.8rem;
  padding-bottom: 4.8rem;
}
@media only screen and (max-width: 768px) {
  .blog .blog-content .blog-content-leading-flex-img {
    padding-top: 0;
    text-align: center;
  }
}
.blog .blog-content .blog-content-leading-flex-img:before {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  display: inline-block;
  width: 100%;
  height: 170%;
  content: "";
  background-image: url(../img/blog/blog-yellow_line.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transform: translate(40%, -50%) rotate(22deg);
}
@media only screen and (max-width: 768px) {
  .blog .blog-content .blog-content-leading-flex-img:before {
    transform: translate(22%, -50%) rotate(22deg);
  }
}
@media screen and (max-width: 1024px) {
  .blog .blog-content .blog-content-leading-flex-img {
    width: 100%;
  }
}
.blog .blog-content .blog-content-leading-flex-img img {
  position: relative;
  top: 50%;
  width: 130%;
  vertical-align: middle;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  .blog .blog-content .blog-content-leading-flex-img img {
    width: 110%;
  }
}
@media screen and (max-width: 1024px) {
  .blog .blog-content .blog-content-leading-flex-img img {
    width: auto;
  }
}
@media only screen and (max-width: 768px) {
  .blog .blog-content .blog-content-leading-flex-img img {
    position: static;
    transform: translateY(0%);
  }
}
.single-blog {
  padding-bottom: calc(8rem - 1.2rem);
}
@media only screen and (max-width: 480px) {
  .single-blog {
    padding-bottom: calc(4rem - 1.2rem);
  }
}
.single-blog .blog-content-title {
  margin-bottom: 2.4rem;
}
.single-blog .single-blog-inner988 {
  width: 100%;
  max-width: 988px;
  padding-right: 2.4rem;
  padding-left: 2.4rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-inner988 {
    max-width: 100%;
    margin: 0;
  }
}
@media screen and (max-width: 1024px) {
  .single-blog .single-blog-inner988 {
    max-width: 768px;
  }
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-inner988 {
    max-width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-inner988 {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}
.single-blog .single-blog-inner748 {
  width: 100%;
  max-width: 748px;
  padding-right: 2.4rem;
  padding-left: 2.4rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-inner748 {
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin: 0;
  }
}
.single-blog .single-blog-header {
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-header {
    margin-bottom: 1.6rem;
  }
}
.single-blog .single-blog-header-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-flow: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 2.8rem;
  -webkit-box-pack: justify;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-header-top {
    align-items: flex-start;
    margin-bottom: 1rem;
  }
}
.single-blog .single-blog-header-top * {
  font-weight: 500;
}
.single-blog .single-blog-header-top-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.single-blog .single-blog-header-top-flex-cat {
  display: inline-block;
  padding: 6px 1.8rem;
  margin-right: 1.6rem;
  color: #ffffff;
  font-size: 1.8rem;
  border-radius: 10rem;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-header-top-flex-cat {
    padding: 3px 1.8rem;
    margin-bottom: 8px;
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-header-top-flex-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-header-top-flex-tags {
    margin-bottom: 8px;
  }
}
.single-blog .single-blog-header-top-flex-tags-child {
  margin-right: 1.6rem;
}
.single-blog .single-blog-header-top-flex-tags-child a {
  color: #CB2A8D;
  font-size: 1.6rem;
  letter-spacing: 0;
  transition: 0.3s;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-header-top-flex-tags-child a {
    font-size: 1.2rem;
  }
}
.single-blog .single-blog-header-top-flex-tags-child a:hover {
  transition: 0.3s;
  opacity: 0.7;
}
.single-blog .single-blog-header-top-time {
  color: #999999;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-header-top-time {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-header-title {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.33;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-header-title {
    font-size: 2rem;
  }
}
.single-blog .single-blog-thum {
  margin-bottom: 5.8rem;
}
.single-blog .single-blog-thum img {
  width: 100%;
  vertical-align: middle;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents {
  padding-bottom: 8rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents * {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "arial", sans-serif !important;
  letter-spacing: 0.07em;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents p {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  margin-block-end: 1em;
  margin-block-start: 1em;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents p {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents p a {
  color: skyblue;
  text-decoration: underline;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h2, .single-blog .single-blog-contents-wrapper .single-blog-contents h3, .single-blog .single-blog-contents-wrapper .single-blog-contents h4, .single-blog .single-blog-contents-wrapper .single-blog-contents h5, .single-blog .single-blog-contents-wrapper .single-blog-contents h6 {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  margin-top: 4rem;
  margin-bottom: 1rem;
  font-weight: 600;
  letter-spacing: 0;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h2 {
  padding: 13px 10px 12px 20px;
  margin: 62px 0 25px;
  font-size: 22px;
  line-height: 1.5;
  background-color: rgba(203, 42, 141, 0.1);
  border-left: 5px solid #CB2A8D;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h2 {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h3 {
  padding-bottom: 8px;
  font-size: 22px;
  letter-spacing: 0;
  border-bottom: 1px solid #CB2A8D;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h3 {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h4 {
  font-size: 20px;
  padding: 0.25em 0.5em;
  background: transparent;
  border-left: solid 5px #CB2A8D;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h4 {
    font-size: 18px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h5 {
  color: #CB2A8D;
  font-size: 1.8rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h5 {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6 {
  font-size: 1.8rem;
  position: relative;
  padding-left: 1.5rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50px;
  background-color: #CB2A8D;
  align-self: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h6 {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li, .single-blog .single-blog-contents-wrapper .single-blog-contents td {
  font-size: 1.6rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents li, .single-blog .single-blog-contents-wrapper .single-blog-contents td {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul {
  padding: 20px 15px;
  margin-bottom: 2rem;
  background-color: rgba(203, 42, 141, 0.1);
  border: dashed 1px #CB2A8D;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul li {
  line-height: 2.4;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul li:before {
  left: 0;
  display: inline-block;
  margin-right: 8px;
  color: #CB2A8D;
  content: "●";
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ol {
  padding: 20px 15px;
  margin-top: 4rem;
  background-color: rgba(203, 42, 141, 0.1);
  border: dashed 1px #CB2A8D;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ol li {
  line-height: 2.4;
  list-style-type: none;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ol li:before {
  left: 0;
  display: inline-block;
  margin-right: 8px;
  color: #CB2A8D;
  content: "●";
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table {
  margin-top: 4rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table td {
  padding: 2rem;
  border: 2px solid #CB2A8D;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents table td {
    padding: 0.8rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents img {
  height: auto;
  max-width: 100%;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents .aligncenter {
  margin-left: auto;
  margin-right: auto;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h2.perple {
  padding: 13px 10px 12px 20px;
  margin: 62px 0 25px;
  font-size: 22px;
  line-height: 1.5;
  background-color: rgba(160, 119, 201, 0.1);
  border-left: 5px solid #A077C9;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h2.perple {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h3.perple {
  padding-bottom: 8px;
  font-size: 22px;
  letter-spacing: 0;
  border-bottom: 1px solid #A077C9;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h3.perple {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h4.perple {
  font-size: 20px;
  padding: 0.25em 0.5em;
  background: transparent;
  border-left: solid 5px #A077C9;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h4.perple {
    font-size: 18px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h5.perple {
  color: #A077C9;
  font-size: 1.8rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h5.perple {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6.perple {
  font-size: 1.8rem;
  position: relative;
  padding-left: 1.5rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6.perple::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50px;
  background-color: #A077C9;
  align-self: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h6.perple {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.perple, .single-blog .single-blog-contents-wrapper .single-blog-contents td.perple {
  font-size: 1.6rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents li.perple, .single-blog .single-blog-contents-wrapper .single-blog-contents td.perple {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul.perple {
  padding: 20px 15px;
  margin-bottom: 2rem;
  background-color: rgba(160, 119, 201, 0.1);
  border: dashed 1px #A077C9;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.perple {
  line-height: 2.4;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.perple:before {
  left: 0;
  display: inline-block;
  margin-right: 8px;
  color: #A077C9;
  content: "●";
  list-style-type: none;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ol.perple {
  padding: 20px 15px;
  margin-top: 4rem;
  background-color: rgba(160, 119, 201, 0.1);
  border: dashed 1px #A077C9;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.perple {
  line-height: 2.4;
  list-style-type: none;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table.perple {
  margin-top: 4rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table.perple td.perple {
  padding: 2rem;
  border: 2px solid #A077C9;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents table.perple td.perple {
    padding: 0.8rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h2.orange {
  padding: 13px 10px 12px 20px;
  margin: 62px 0 25px;
  font-size: 22px;
  line-height: 1.5;
  background-color: rgba(247, 170, 93, 0.1);
  border-left: 5px solid #F7AA5D;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h2.orange {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h3.orange {
  padding-bottom: 8px;
  font-size: 22px;
  letter-spacing: 0;
  border-bottom: 1px solid #F7AA5D;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h3.orange {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h4.orange {
  font-size: 20px;
  padding: 0.25em 0.5em;
  background: transparent;
  border-left: solid 5px #F7AA5D;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h4.orange {
    font-size: 18px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h5.orange {
  color: #F7AA5D;
  font-size: 1.8rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h5.orange {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6.orange {
  font-size: 1.8rem;
  position: relative;
  padding-left: 1.5rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6.orange::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50px;
  background-color: #F7AA5D;
  align-self: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h6.orange {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.orange, .single-blog .single-blog-contents-wrapper .single-blog-contents td.orange {
  font-size: 1.6rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents li.orange, .single-blog .single-blog-contents-wrapper .single-blog-contents td.orange {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul.orange {
  padding: 20px 15px;
  margin-bottom: 2rem;
  background-color: rgba(247, 170, 93, 0.1);
  border: dashed 1px #F7AA5D;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.orange {
  line-height: 2.4;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.orange:before {
  left: 0;
  display: inline-block;
  margin-right: 8px;
  color: #F7AA5D;
  content: "●";
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ol.orange {
  padding: 20px 15px;
  margin-top: 4rem;
  background-color: rgba(247, 170, 93, 0.1);
  border: dashed 1px #F7AA5D;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.orange {
  line-height: 2.4;
  list-style-type: none;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table.orange {
  margin-top: 4rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table.orange td.orange {
  padding: 2rem;
  border: 2px solid #F7AA5D;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents table.orange td.orange {
    padding: 0.8rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h2.blue {
  padding: 13px 10px 12px 20px;
  margin: 62px 0 25px;
  font-size: 22px;
  line-height: 1.5;
  background-color: rgba(93, 187, 247, 0.1);
  border-left: 5px solid #5dbbf7;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h2.blue {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h3.blue {
  padding-bottom: 8px;
  font-size: 22px;
  letter-spacing: 0;
  border-bottom: 1px solid #5dbbf7;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h3.blue {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h4.blue {
  font-size: 20px;
  padding: 0.25em 0.5em;
  background: transparent;
  border-left: solid 5px #5dbbf7;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h4.blue {
    font-size: 18px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h5.blue {
  color: #5dbbf7;
  font-size: 1.8rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h5.blue {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6.blue {
  font-size: 1.8rem;
  position: relative;
  padding-left: 1.5rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6.blue::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50px;
  background-color: #5dbbf7;
  align-self: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h6.blue {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.blue, .single-blog .single-blog-contents-wrapper .single-blog-contents td.blue {
  font-size: 1.6rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents li.blue, .single-blog .single-blog-contents-wrapper .single-blog-contents td.blue {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul.blue {
  padding: 20px 15px;
  margin-bottom: 2rem;
  background-color: rgba(93, 187, 247, 0.1);
  border: dashed 1px #5dbbf7;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.blue {
  line-height: 2.4;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.blue:before {
  left: 0;
  display: inline-block;
  margin-right: 8px;
  color: #5dbbf7;
  content: "●";
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ol.blue {
  padding: 20px 15px;
  margin-top: 4rem;
  background-color: rgba(93, 187, 247, 0.1);
  border: dashed 1px #5dbbf7;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.blue {
  line-height: 2.4;
  list-style-type: none;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table.blue {
  margin-top: 4rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table.blue td.blue {
  padding: 2rem;
  border: 2px solid #5dbbf7;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents table.blue td.blue {
    padding: 0.8rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h2.red {
  padding: 13px 10px 12px 20px;
  margin: 62px 0 25px;
  font-size: 22px;
  line-height: 1.5;
  background-color: rgba(247, 99, 93, 0.1);
  border-left: 5px solid #f7635d;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h2.red {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h3.red {
  padding-bottom: 8px;
  font-size: 22px;
  letter-spacing: 0;
  border-bottom: 1px solid #f7635d;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h3.red {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h4.red {
  font-size: 20px;
  padding: 0.25em 0.5em;
  background: transparent;
  border-left: solid 5px #f7635d;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h4.red {
    font-size: 18px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h5.red {
  color: #f7635d;
  font-size: 1.8rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h5.red {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6.red {
  font-size: 1.8rem;
  position: relative;
  padding-left: 1.5rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6.red::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50px;
  background-color: #f7635d;
  align-self: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h6.red {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.red, .single-blog .single-blog-contents-wrapper .single-blog-contents td.red {
  font-size: 1.6rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents li.red, .single-blog .single-blog-contents-wrapper .single-blog-contents td.red {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul.red {
  padding: 20px 15px;
  margin-bottom: 2rem;
  background-color: rgba(247, 99, 93, 0.1);
  border: dashed 1px #f7635d;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.red {
  line-height: 2.4;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.red:before {
  left: 0;
  display: inline-block;
  margin-right: 8px;
  color: #f7635d;
  content: "●";
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ol.red {
  padding: 20px 15px;
  margin-top: 4rem;
  background-color: rgba(247, 99, 93, 0.1);
  border: dashed 1px #f7635d;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.red {
  line-height: 2.4;
  list-style-type: none;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table.red {
  margin-top: 4rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table.red td.red {
  padding: 2rem;
  border: 2px solid #f7635d;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents table.red td.red {
    padding: 0.8rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h2.black {
  padding: 13px 10px 12px 20px;
  margin: 62px 0 25px;
  font-size: 22px;
  line-height: 1.5;
  background-color: rgba(98, 98, 98, 0.1);
  border-left: 5px solid #626262;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h2.black {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h3.black {
  padding-bottom: 8px;
  font-size: 22px;
  letter-spacing: 0;
  border-bottom: 1px solid #626262;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h3.black {
    font-size: 20px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h4.black {
  font-size: 20px;
  padding: 0.25em 0.5em;
  background: transparent;
  border-left: solid 5px #626262;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h4.black {
    font-size: 18px;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h5.black {
  color: #626262;
  font-size: 1.8rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h5.black {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6.black {
  font-size: 1.8rem;
  position: relative;
  padding-left: 1.5rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents h6.black::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50px;
  background-color: #626262;
  align-self: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents h6.black {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.black, .single-blog .single-blog-contents-wrapper .single-blog-contents td.black {
  font-size: 1.6rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents li.black, .single-blog .single-blog-contents-wrapper .single-blog-contents td.black {
    font-size: 1.4rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul.black {
  padding: 20px 15px;
  margin-bottom: 2rem;
  background-color: rgba(98, 98, 98, 0.1);
  border: dashed 1px #626262;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.black {
  line-height: 2.4;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.black:before {
  left: 0;
  display: inline-block;
  margin-right: 8px;
  color: #626262;
  content: "●";
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ol.black {
  padding: 20px 15px;
  margin-top: 4rem;
  background-color: rgba(98, 98, 98, 0.1);
  border: dashed 1px #626262;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents li.black {
  line-height: 2.4;
  list-style-type: none;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table.black {
  margin-top: 4rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents table.black td.black {
  padding: 2rem;
  border: 2px solid #626262;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contents table.black td.black {
    padding: 0.8rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-author {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 3.2rem;
  margin-bottom: 3.2rem;
  background-color: #eeeeee;
  border-radius: 7px;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-author {
    align-items: center;
    flex-direction: column;
  }
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-author {
    padding: 1.6rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-author-img {
  max-width: 13.5rem;
  max-height: 13.5rem;
  min-width: 13.5rem;
  min-height: 13.5rem;
  margin-right: 3.2rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-author-img {
    margin-right: 0;
    margin-bottom: 3.2rem;
  }
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-author-img {
    margin-bottom: 1.6rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-author-desc {
  width: 100%;
}
.single-blog .single-blog-contents-wrapper .single-blog-author-desc-title {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-author-desc-title {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-author-desc-title {
    margin-bottom: 1rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin-bottom: 4px;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex {
    align-items: stretch;
    margin-bottom: 1rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex-name {
  margin-right: 2.2rem;
  color: #CB2A8D;
  font-size: 2rem;
  line-height: 1.66;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex-name {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex-name {
    margin-right: 1.6rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex-sns {
    width: 100%;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex-sns-child {
  display: inline-block;
  margin-right: 1rem;
  font-size: 3rem;
  transition: 0.3s;
}
.single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex-sns-child:hover {
  transition: 0.3s;
  opacity: 0.7;
}
.single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex-sns-child .fa-facebook-square {
  color: #2e3192;
}
.single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex-sns-child .fa-instagram-square {
  color: #b65369;
}
.single-blog .single-blog-contents-wrapper .single-blog-author-desc-flex-sns-child .fa-twitter-square {
  color: #3fa9f5;
}
.single-blog .single-blog-contents-wrapper .single-blog-author-desc-text {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.66;
}
.single-blog .single-blog-contents-wrapper .single-blog-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 0 4.6rem;
  margin-bottom: 11rem;
  overflow: hidden;
  box-shadow: 0 0 8px #f2f2f2;
  border-radius: 7px;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact {
    padding: 0 2.4rem;
  }
}
@media screen and (max-width: 550px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact {
    padding: 0 1.6rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contact:after {
  position: absolute;
  top: 50%;
  right: 15%;
  z-index: -1;
  display: none;
  width: 50%;
  height: 150%;
  content: "";
  background-image: url(../img/blog/blog-yellow_line.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transform: translate(26%, -50%) rotate(18deg);
}
@media screen and (max-width: 550px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact:after {
    display: inline-block;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-desc {
  min-width: 26rem;
  padding: 2.5rem 0;
  margin-right: 2.8rem;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact-desc {
    min-width: 21rem;
    margin-right: 1.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact-desc {
    min-width: auto;
    padding: 1.6rem 0;
    margin-right: 0;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-desc-title {
  margin-bottom: 1.2rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-desc-title-eng {
  font-family: "源柔ゴシック等幅 Bold", "M PLUS Rounded 1c", sans-serif;
  display: inline-block;
  margin-bottom: 1rem;
  color: #CB2A8D;
  font-weight: 600;
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-desc-title-jap {
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact-desc-title-jap {
    font-size: 1.6rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-desc-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact-desc-bottom {
    align-items: stretch;
  }
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact-desc-bottom {
    align-items: center;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-desc-bottom-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 4rem;
  max-height: 4rem;
  min-width: 4rem;
  min-height: 4rem;
  margin-right: 1.6rem;
  color: #ffffff;
  background-color: #CB2A8D;
  border-radius: 50%;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact-desc-bottom-arrow {
    max-width: 3rem;
    max-height: 3rem;
    min-width: 3rem;
    min-height: 3rem;
    margin-right: 0.8rem;
    font-size: 2rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-desc-bottom-arrow i {
  font-size: 1.5rem;
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-desc-bottom-text {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-desc-bottom-text b {
  color: #CB2A8D;
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact-desc-bottom-text b {
    font-size: 1.2rem;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-img:before {
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 80%;
  padding-bottom: 80%;
  content: "";
  background-color: rgba(203, 42, 141, 0.1);
  border-radius: 50%;
  transform: translate(-20%, -50%);
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact-img:before {
    width: 100%;
    padding-bottom: 100%;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-img:after {
  position: absolute;
  top: 50%;
  right: -5%;
  z-index: -1;
  display: inline-block;
  width: 10rem;
  height: 170%;
  content: "";
  background-image: url(../img/blog/blog-yellow_line.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transform: translateY(-50%) rotate(18deg);
}
@media screen and (max-width: 550px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact-img:after {
    display: none;
  }
}
.single-blog .single-blog-contents-wrapper .single-blog-contact-img img {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 29rem;
  vertical-align: baseline;
}
@media screen and (max-width: 550px) {
  .single-blog .single-blog-contents-wrapper .single-blog-contact-img img {
    max-width: 100%;
  }
}
.single-blog .single-blog-relates-wrapper {
  margin-bottom: 7.2rem;
}
.single-blog .single-blog-relates-wrapper .single-blog-relates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.single-blog .single-blog-relates-wrapper .single-blog-relates * {
  font-family: YuGothic, sans-serif;
  border-radius: 7px;
}
.single-blog .single-blog-relates-wrapper .single-blog-relates-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 49%;
  background-color: #f2f2f2;
}
.single-blog .single-blog-relates-wrapper .single-blog-relates-post:not(:nth-child(2n)) {
  margin-right: 2%;
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-relates-wrapper .single-blog-relates-post:not(:nth-child(2n)) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 768px) {
  .single-blog .single-blog-relates-wrapper .single-blog-relates-post {
    width: 100%;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-relates-wrapper .single-blog-relates-post {
    flex-wrap: wrap;
  }
}
.single-blog .single-blog-relates-wrapper .single-blog-relates-post-thum {
  width: 38%;
  padding-bottom: 20%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.single-blog .single-blog-relates-wrapper .single-blog-relates-post-desc {
  width: 60%;
  padding: 1.6rem 2.4rem;
}
@media only screen and (max-width: 480px) {
  .single-blog .single-blog-relates-wrapper .single-blog-relates-post-desc {
    padding: 1.6rem;
  }
}
.single-blog .single-blog-relates-wrapper .single-blog-relates-post-desc * {
  font-size: 1.2rem;
}
.single-blog .single-blog-relates-wrapper .single-blog-relates-post-desc-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-flow: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-pack: justify;
}
.single-blog .single-blog-relates-wrapper .single-blog-relates-post-desc-flex-cat {
  padding: 2px 8px;
  margin-bottom: 0.8rem;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 600;
  border-radius: 1.6rem;
}
.single-blog .single-blog-relates-wrapper .single-blog-relates-post-desc-flex-time {
  margin-bottom: 0.8rem;
  color: #999999;
}
.single-blog .single-blog-relates-wrapper .single-blog-relates-post-desc-title {
  font-weight: 600;
  line-height: 1.5;
  text-align: justify;
  text-justify: inter-ideograph;
}
#ez-toc-container {
  border: none;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  #ez-toc-container {
    padding: 2rem 2rem 2rem 2rem !important;
  }
}
.ez-toc-heading-level-2 {
  margin-bottom: 3rem !important;
  padding-left: 3em !important;
  text-indent: -1em !important;
}
@media only screen and (max-width: 768px) {
  .ez-toc-heading-level-2 {
    padding-left: 2em !important;
  }
}
.ez-toc-heading-level-2 a {
  color: #333333 !important;
  font-size: 1.8rem;
  font-weight: bold;
  display: inline;
}
@media only screen and (max-width: 768px) {
  .ez-toc-heading-level-2 a {
    font-size: 1.5rem;
  }
}
.ez-toc-heading-level-2:before {
  margin-right: 0 !important;
  padding-right: 8px !important;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul .ez-toc-heading-level-2:before {
  left: 0;
  display: inline-block;
  margin-right: 8px;
  color: #387c57;
  content: "";
  font-size: 20px;
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  padding-right: 10px;
}
.ez-toc-heading-level-3 a {
  color: #333333 !important;
  font-size: 1.4rem;
  font-weight: bold;
  display: inline;
}
.ez-toc-list-level-3 {
  margin-top: 1rem !important;
  margin-left: -0.5rem !important;
}
.ez-toc-heading-level-3 {
  margin-left: 0.8rem !important;
  margin-bottom: 0.3rem !important;
  margin-top: 1rem !important;
  padding-left: 2em !important;
  text-indent: -2em !important;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul .ez-toc-heading-level-3:before {
  left: 0;
  display: inline-block;
  margin-right: 0.8rem !important;
  content: "";
  height: 2px;
  width: 10px;
  border-radius: 10px;
  background: #387c57;
  vertical-align: 4px;
}
.ez-toc-list-level-4 {
  margin-left: 3rem !important;
}
@media only screen and (max-width: 768px) {
  .ez-toc-list-level-4 {
    margin-left: 2rem !important;
  }
}
.ez-toc-heading-level-4 a {
  color: #808080 !important;
  font-size: 1.4rem;
}
@media only screen and (max-width: 768px) {
  .ez-toc-heading-level-4 a {
    font-size: 1.2rem;
  }
}
.ez-toc-list-level-4 {
  margin-top: 0.3rem !important;
}
.ez-toc-heading-level-4 {
  margin-bottom: 0.3rem !important;
  padding-left: 0em !important;
  text-indent: 0em !important;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul .ez-toc-heading-level-4:before {
  display: none;
}
.ez-toc-heading-level-2:before {
  left: 0;
  display: inline-block;
  margin-right: 8px;
  color: #387c57;
  content: "";
  font-size: 20px;
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  padding-right: 10px;
}
#ez-toc-container li, #ez-toc-container ul, #ez-toc-container ul li, div.ez-toc-widget-container, div.ez-toc-widget-container li {
  overflow: visible;
}
.ez-toc-pull-right {
  background-image: url(../img/blog/blog-table-open.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 131px;
  height: 35px;
}
.imgChange {
  background-image: url(../img/blog/blog-table-close.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 131px;
  height: 35px;
}
.isActive {
  background: linear-gradient(45deg, #bdb9ff, #67b8ff);
  color: #000;
}
.counter-hierarchy {
  width: 100%;
}
.single-blog .single-blog-contents-wrapper .single-blog-contents ul {
  border: none;
}
.ez-toc-btn-default:hover {
  background-position: center;
}
.ez-toc-icon-toggle:before {
  display: none;
}
.ez-toc-btn-default {
  border-color: none;
}
.ez-toc-btn-default:hover {
  background-color: #ffffff;
}
.ez-toc-btn-default {
  border: none;
}
.ez-toc-btn:active {
  background-image: url(../img/blog/blog-table-close.png);
}
div#ez-toc-container p.ez-toc-title {
  font-size: 2.4rem;
  color: #CB2A8D;
  font-weight: bold;
}
#ez-toc-container {
  padding: 2rem 3rem;
}
.ez-toc-list {
  border-top: 1px solid #ccd2d2 !important;
  margin-top: 2rem !important;
  padding-top: 2rem !important;
}
/* duplicate @charset, @import, .mainVisual__serviceTop, .serviceTop__inner removed — see earlier definitions */
/* duplicate .mainVisual__serviceTop__title removed — see line ~8124 */
@media only screen and (max-width: 1023px) {
  .mainVisual__serviceTop__title.-underlayer {
    font-size: 7rem;
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .mainVisual__serviceTop__title.-underlayer {
    font-size: 4.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .mainVisual__serviceTop__title.-underlayer {
    font-size: 3.2rem;
    margin-bottom: 1rem;
  }
}
.mainVisual__serviceTop__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 4.5rem;
  opacity: 0.4;
}
@media only screen and (max-width: 768px) {
  .mainVisual__serviceTop__subTitle {
    font-size: 1.6rem;
    margin-bottom: 5.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .mainVisual__serviceTop__subTitle {
    font-size: 1.2rem;
  }
}
.mainVisual__video {
  width: 100%;
  height: 81rem;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
@media only screen and (max-width: 480px) {
  .mainVisual__video {
    height: 60rem;
  }
}
.mainVisual__video.-serviceTop {
  height: 36.5rem;
}
@media only screen and (max-width: 768px) {
  .mainVisual__video.-serviceTop {
    height: 30.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .mainVisual__video.-serviceTop {
    height: 21.5rem;
  }
}
.mainVisual__video.-serviceTop::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisual__video.-serviceTop::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisual__video.-serviceTop::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.mainVisual__video.-underlayer {
  height: 37rem;
}
@media only screen and (max-width: 768px) {
  .mainVisual__video.-underlayer {
    height: 31rem;
  }
}
@media only screen and (max-width: 480px) {
  .mainVisual__video.-underlayer {
    height: 21rem;
  }
}
.mainVisual__video.-underlayer::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisual__video.-underlayer::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisual__video.-underlayer::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.serviceTop__description {
  padding: 7.5rem 1rem 7.5rem 1rem;
}
@media only screen and (max-width: 480px) {
  .serviceTop__description {
    padding: 4rem 2.5rem 6rem 2.5rem;
  }
}
.serviceTop__description.-underlayer {
  padding: 5rem 1rem 8rem 1rem;
}
@media only screen and (max-width: 1023px) {
  .serviceTop__description.-underlayer {
    padding: 10rem 1rem 8rem 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .serviceTop__description.-underlayer {
    padding: 5rem 1rem 8rem 1rem;
  }
}
@media only screen and (max-width: 480px) {
  .serviceTop__description.-underlayer {
    padding: 3.5rem 2.5rem 6rem 2.5rem;
  }
}
.serviceTop__descriptionText {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 5rem;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 1023px) {
  .serviceTop__descriptionText {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .serviceTop__descriptionText {
    font-size: 1.8rem;
    margin-bottom: 3rem;
  }
}
.serviceTop__descriptionBox {
  max-width: 807px;
  margin: auto;
}
.serviceTop__descriptionSubtext {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.87;
  overflow-wrap: break-word;
}
@media only screen and (max-width: 768px) {
  .serviceTop__descriptionSubtext {
    font-size: 1.4rem;
  }
}
.serviceTop__outcome {
  padding: 6rem 0 5rem;
  background-color: #f6f6f6;
}
.serviceTop__outcomeFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  max-width: 1040px;
  margin: auto;
}
@media only screen and (max-width: 768px) {
  .serviceTop__outcomeFlex {
    flex-direction: column;
  }
}
.serviceTop__outcomeBox {
  width: 100%;
  max-width: 500px;
  border: 1px solid #6e11cb;
  padding: 3.5rem 0 4rem 0;
  position: relative;
  margin-right: 4rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 768px) {
  .serviceTop__outcomeBox {
    max-width: unset;
    margin-bottom: 4rem;
    margin-right: 0;
  }
}
@media only screen and (max-width: 768px) {
  .serviceTop__outcomeBox {
    padding: 2.5rem 0 3.5rem 0;
  }
}
.serviceTop__outcomeBox:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .serviceTop__outcomeBox:last-child {
    max-width: unset;
    margin-bottom: 0;
  }
}
.serviceTop__outcomeBox::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: #6e11cb transparent transparent #6e11cb;
}
.serviceTop__outcomeBox::after {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  bottom: 0;
  right: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: transparent #6e11cb #6e11cb transparent;
}
.serviceTop__outcomeTag {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6e11cb;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 480px) {
  .serviceTop__outcomeTag {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}
.serviceTop__outcomeTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 480px) {
  .serviceTop__outcomeTitle {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
}
.serviceTop__outcomeText {
  font-family: "Noto Sans JP", sans-serif;
  color: #6e11cb;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.87;
  text-align: center;
}
@media only screen and (max-width: 480px) {
  .serviceTop__outcomeText {
    font-size: 1.3rem;
    padding: 0 3rem 0 3rem;
  }
}
.serviceTop__partnership {
  max-width: 1180px;
  padding-top: 7rem;
  margin: auto;
}
@media only screen and (max-width: 480px) {
  .serviceTop__partnership {
    padding-top: 6rem;
  }
}
.serviceTop__partnershipBox {
  width: 100%;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 480px) {
  .serviceTop__partnershipBox {
    padding-bottom: 4rem;
  }
}
.logoFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin-bottom: 5.5rem;
}
@media only screen and (max-width: 480px) {
  .logoFlex {
    margin-bottom: 4rem;
  }
}
.logoFlex.-partnership {
  margin-left: 5rem;
}
@media only screen and (max-width: 768px) {
  .logoFlex.-partnership {
    margin-left: 0;
  }
}
.logoFlex.-incubation {
  margin-left: 5rem;
}
@media only screen and (max-width: 768px) {
  .logoFlex.-incubation {
    margin-left: 0;
  }
}
@media only screen and (max-width: 480px) {
  .logoFlex:last-child {
    margin-bottom: 3rem;
  }
}
.logoFlex.-infoWhy {
  margin-left: 5rem;
  position: relative;
  z-index: 1000;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .logoFlex.-infoWhy {
    margin-left: 0;
    margin-bottom: 3rem;
  }
}
.serviceTop__tag {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  color: #6e11cb;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 480px) {
  .serviceTop__tag {
    font-size: 1.3rem;
  }
}
.serviceTop__logo {
  display: inline-block;
  width: 2.4rem;
  height: 3rem;
  margin-right: 1rem;
}
.serviceTop__partnershipTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-align: center;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .serviceTop__partnershipTitle {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .serviceTop__partnershipTitle {
    font-size: 1.8rem;
    margin-bottom: 3.5rem;
  }
}
.serviceTop__partnershipText {
  font-family: "Noto Sans JP", sans-serif;
  max-width: 825px;
  display: block;
  margin: auto;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.87;
  padding-right: 2rem;
  padding-left: 2rem;
  position: relative;
}
.serviceTop__partnershipText:first-child {
  display: block;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  .serviceTop__partnershipText {
    font-size: 1.4rem;
    margin-left: 1.5rem;
  }
}
.serviceTop__partnershipText::before {
  display: block;
  content: "";
  position: absolute;
  width: 1rem;
  height: 1rem;
  background-color: #000000;
  border-radius: 50%;
  top: 1rem;
  left: 0;
}
.serviceTop__partnershipImg {
  width: 100%;
  height: auto;
}
.serviceTop__incubation {
  padding-right: 1rem;
  padding-left: 1rem;
  padding-top: 9rem;
  margin: auto;
}
@media only screen and (max-width: 480px) {
  .serviceTop__incubation {
    padding-top: 10rem;
    padding-right: 0;
    padding-left: 0;
  }
}
.serviceTop__incubationTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-align: center;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .serviceTop__incubationTitle {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .serviceTop__incubationTitle {
    font-size: 1.8rem;
    margin-bottom: 3.5rem;
  }
}
.serviceTop__incubationText {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 400;
  max-width: 807px;
  width: 100%;
  margin: 0 auto;
  letter-spacing: 0;
  line-height: 1.87;
  overflow-wrap: break-word;
}
@media only screen and (max-width: 768px) {
  .serviceTop__incubationText {
    font-size: 1.4rem;
  }
}
.serviceTop__incubationImg {
  width: 100%;
  max-width: 964px;
  height: auto;
  margin: auto;
}
@media only screen and (max-width: 480px) {
  .serviceTop__incubationImg {
    margin-bottom: 9rem;
  }
}
.serviceFlow {
  width: 100%;
  background-color: #f6f6f6;
}
.serviceFlow__inner {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1120px;
  margin: auto;
  padding: 6rem 1rem 4rem 1rem;
  overflow-x: scroll;
  white-space: nowrap;
}
@media only screen and (max-width: 480px) {
  .serviceFlow__inner {
    padding: 4rem 2.5rem 2rem 2.5rem;
  }
}
.serviceFlow__container {
  width: 206px;
  margin-right: 2rem;
  white-space: nowrap;
  background-color: #f6f6f6;
}
@media only screen and (max-width: 480px) {
  .serviceFlow__container {
    width: 135px;
    margin-right: 1.5rem;
  }
}
.serviceFlow__container:last-child {
  width: 188px;
  margin-right: 0;
}
.serviceFlow__boxFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.serviceFlow__box {
  width: 208px;
  background: linear-gradient(#cc2a8d, #ae0cd9);
  padding: 0.5rem 1rem 2rem 1rem;
  margin-bottom: 1.5rem;
  position: relative;
}
@media only screen and (max-width: 480px) {
  .serviceFlow__box {
    width: 135px;
    padding: 0.5rem 2rem 2rem 1rem;
  }
}
.serviceFlow__box::before {
  content: "";
  position: absolute;
  transform: rotate(-35deg);
  width: 5rem;
  height: 9rem;
  background-color: #f6f6f6;
  top: -6rem;
  right: -2rem;
}
.serviceFlow__box::after {
  content: "";
  position: absolute;
  transform: rotate(-50deg);
  width: 8rem;
  height: 5rem;
  background-color: #f6f6f6;
  bottom: -1rem;
  right: -6rem;
}
.serviceFlow__box.-last {
  width: 188px;
}
.serviceFlow__box.-last::after {
  display: none;
}
.serviceFlow__box.-last::before {
  display: none;
}
.serviceFlow__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  font-size: 1.6rem;
  color: #ffffff;
  letter-spacing: 0.03em;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 480px) {
  .serviceFlow__number {
    font-size: 1.3rem;
  }
}
.serviceFlow__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 480px) {
  .serviceFlow__title {
    font-size: 1.3rem;
  }
}
.serviceFlow__tag {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  color: #6e11cb;
  text-align: center;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 480px) {
  .serviceFlow__tag {
    font-size: 1.2rem;
    margin-right: 2rem;
  }
}
.serviceUnder__contents.-system {
  padding-top: 10rem;
  padding-right: 1rem;
}
@media only screen and (max-width: 768px) {
  .serviceUnder__contents.-system {
    padding-right: 0;
  }
}
@media only screen and (max-width: 480px) {
  .serviceUnder__contents.-system {
    padding-top: 6rem;
  }
}
.serviceUnder__inner {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width: 480px) {
  .serviceUnder__inner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}
.serviceUnder__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  max-width: 1310px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-bottom: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  max-width: 100%;
  /* 画面幅の90%まで幅を制限 */
  padding-right: 1rem;
  padding-left: 1rem;
}
@media only screen and (max-width: 768px) {
  .serviceUnder__list {
    width: 100%;
    margin-left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .serviceUnder__list {
    margin-bottom: 6rem;
    padding-right: 0;
    padding-left: 0;
  }
}
.serviceUnder__listItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  transform: translateX(-5rem);
}
@media only screen and (max-width: 768px) {
  .serviceUnder__listItem {
    flex-direction: column;
    transform: translateX(0);
    margin: auto;
  }
}
.serviceUnder__listImg {
  display: block;
  width: 100%;
  max-width: 534px;
  height: auto;
  border-radius: 15px;
  aspect-ratio: 2.5308056872;
}
@media only screen and (max-width: 768px) {
  .serviceUnder__listImg {
    max-width: unset;
    margin: auto;
  }
}
.serviceUnder__listImg img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 15px;
  aspect-ratio: 2.5308056872;
}
.serviceUnder__box {
  width: 100%;
  max-width: 686px;
  margin-left: 8rem;
}
@media screen and (max-width: 1200px) {
  .serviceUnder__box {
    max-width: 500px;
  }
}
@media only screen and (max-width: 1023px) {
  .serviceUnder__box {
    max-width: 500px;
  }
}
@media only screen and (max-width: 768px) {
  .serviceUnder__box {
    margin-top: 3rem;
    margin-left: 0;
    max-width: unset;
  }
}
.serviceUnder__boxTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: left;
  padding-top: 0.5rem;
  padding-bottom: 2rem;
  letter-spacing: 0;
  border-bottom: 1px solid #d1d0d0;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .serviceUnder__boxTitle {
    transform: translateX(0);
    margin: auto;
  }
}
@media only screen and (max-width: 480px) {
  .serviceUnder__boxTitle {
    font-size: 1.8rem;
  }
}
.serviceUnder__boxTitle::before {
  content: "";
  position: absolute;
  border: 1px solid #6e11cb;
  width: 5rem;
  bottom: -0.15rem;
  left: 0;
}
.serviceUnder__boxText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 686px;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
  padding: 1rem 0 0.5rem 0;
  line-height: 1.87;
}
@media screen and (max-width: 1200px) {
  .serviceUnder__boxText {
    max-width: 500px;
  }
}
@media only screen and (max-width: 1023px) {
  .serviceUnder__boxText {
    max-width: 500px;
  }
}
@media only screen and (max-width: 768px) {
  .serviceUnder__boxText {
    max-width: unset;
    padding: 1.5rem 0 2rem 0;
  }
}
@media only screen and (max-width: 480px) {
  .serviceUnder__boxText {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.serviceUnder__boxFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
.serviceUnder__boxTerm {
  font-family: "Noto Sans JP", sans-serif;
  color: #6e11cb;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  border: 1px solid #6e11cb;
  padding: 0 4rem 0 0;
}
@media only screen and (max-width: 480px) {
  .serviceUnder__boxTerm {
    font-size: 1.4rem;
    padding: 0 2rem 0 0;
  }
}
.serviceUnder__boxTerm span {
  display: inline-block;
  color: #ffffff;
  background-color: #6e11cb;
  margin-right: 4rem;
  padding: 0.5rem 1.5rem 0.5rem 1rem;
}
@media only screen and (max-width: 480px) {
  .serviceUnder__boxTerm span {
    margin-right: 2rem;
  }
}
.serviceUnder__boxBtn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6e11cb;
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  margin-left: auto;
}
@media only screen and (max-width: 480px) {
  .serviceUnder__boxBtn {
    font-size: 1.5rem;
  }
}
.serviceUnder__boxBtn__circle {
  width: 5rem;
  height: 5rem;
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border-radius: 50%;
  position: relative;
  margin-left: 2rem;
}
@media only screen and (max-width: 768px) {
  .serviceUnder__boxBtn__circle {
    width: 4.5rem;
    height: 4.5rem;
  }
}
.serviceUnder__boxBtn__circle::before {
  content: "";
  position: absolute;
  background: #ffffff;
  width: 0.8rem;
  height: 0.2rem;
  top: 42%;
  right: 30%;
  transform: rotate(45deg);
}
.serviceUnder__boxBtn__circle::after {
  content: "";
  position: absolute;
  background: #ffffff;
  width: 2rem;
  height: 0.2rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.serviceUnder__solutionInner {
  width: 100%;
  max-width: 1177px;
  padding: 10rem 1rem 4rem 1rem;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .serviceUnder__solutionInner {
    padding: 7rem 2.5rem 3rem 2.5rem;
  }
  .serviceUnder__solutionInner::before {
    position: absolute;
    content: "";
    background-color: #6e11cb;
    width: 8rem;
    height: 1px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
.solutionText__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1092px;
  margin: 0 auto 7rem;
}
@media only screen and (max-width: 768px) {
  .solutionText__flex {
    flex-direction: column;
  }
}
@media only screen and (max-width: 480px) {
  .solutionText__flex {
    margin-bottom: 5rem;
  }
}
.serviceUnder__solutionTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: bold;
  color: #272727;
  letter-spacing: -0.01em;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 1023px) {
  .serviceUnder__solutionTitle {
    font-size: 2.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .serviceUnder__solutionTitle {
    text-align: center;
    margin-bottom: 2rem;
  }
}
.serviceUnder__solutionSubitle {
  font-size: 3.4rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  color: white;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
@media only screen and (max-width: 768px) {
  .serviceUnder__solutionSubitle {
    text-align: center;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 480px) {
  .serviceUnder__solutionSubitle {
    font-size: 3.2rem;
  }
}
.serviceUnder__solutionText {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  width: 100%;
  max-width: 620px;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.87;
  overflow-wrap: break-word;
}
@media only screen and (max-width: 1023px) {
  .serviceUnder__solutionText {
    max-width: 500px;
  }
}
@media screen and (max-width: 880px) {
  .serviceUnder__solutionText {
    max-width: 420px;
  }
}
@media only screen and (max-width: 768px) {
  .serviceUnder__solutionText {
    max-width: unset;
  }
}
@media only screen and (max-width: 480px) {
  .serviceUnder__solutionText {
    font-size: 1.4rem;
  }
}
.solutionList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .solutionList {
    flex-direction: column;
  }
}
.solutionList__item {
  width: calc((100% / 3) - 2.7rem);
  height: 24rem;
  margin-right: 4rem;
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border-radius: 0 60px 0 60px;
  position: relative;
}
@media only screen and (max-width: 1023px) {
  .solutionList__item:nth-child(2) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .solutionList__item {
    width: calc((100% / 2) - 4rem);
    margin-right: 4rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .solutionList__item {
    width: 100%;
    margin-right: 0;
  }
}
@media only screen and (max-width: 480px) {
  .solutionList__item {
    height: 21rem;
  }
}
.solutionList__item:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .solutionList__item:last-child {
    margin-bottom: 0;
  }
}
.solutionList__item.is-green {
  background: #0491a3;
}
.solutionList__itemInner {
  padding: 5rem 2rem 2rem 2rem;
  display: block;
  transition: all 0.5s;
}
.solutionList__itemInner.is-close {
  display: none;
}
.circlePosition {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
}
.solutionList__circle {
  display: block;
  width: 4.8rem;
  height: 4.8rem;
  border: 2px solid #ffffff;
  border-radius: 50%;
  position: relative;
  right: 0;
  margin-left: auto;
  margin-right: 0;
  transition: 0.2s, right 0.2s;
  /* transitionプロパティを更新し、rightプロパティをアニメートする */
  transform-origin: bottom right;
  /* スケール変更時の基準点を右下隅に変更 */
}
@media only screen and (max-width: 480px) {
  .solutionList__circle {
    width: 2.8rem;
    height: 2.8rem;
  }
}
.solutionList__circle.is-scaling {
  transform: scale(0.7);
}
.solutionList__circle::before {
  position: absolute;
  visibility: visible;
  content: "";
  width: 1.8rem;
  height: 2px;
  background-color: #ffffff;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
}
@media only screen and (max-width: 480px) {
  .solutionList__circle::before {
    top: 48%;
    width: 1.05rem;
  }
}
.solutionList__circle::after {
  position: absolute;
  display: block;
  content: "";
  width: 1.8rem;
  height: 2px;
  background-color: #ffffff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 480px) {
  .solutionList__circle::after {
    width: 1.05rem;
  }
}
.solutionList__circle.is-opacity::before {
  opacity: 0;
}
.solutionList__circle.is-moving::before {
  top: 5.5rem;
  left: 6.5rem;
  animation: Moving 0.3s forwards;
}
@keyframes Moving {
  from {
    opacity: 0;
    top: 5.5rem;
    left: 6.5rem;
  }
  to {
    opacity: 1;
    top: 50%;
    left: 50%;
  }
}
.solutionList__itemInnerHide {
  padding: 2rem 2.5rem 2rem 2.5rem;
  display: none;
  transition: all 0.5s;
}
.solutionList__itemInnerHide.is-open {
  display: block;
  animation-name: fadeUp;
  animation-duration: 0.2s;
  animation-fill-mode: forwards;
}
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.solutionList__tag {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  font-size: 1.4rem;
  color: #ffffff;
  font-weight: 900;
  letter-spacing: 0.014em;
  margin-bottom: 1.5rem;
}
.solutionList__tag.is-hover {
  display: block;
}
@media only screen and (max-width: 480px) {
  .solutionList__tag {
    font-size: 1.8rem;
  }
}
.solutionList__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  line-height: 1.5;
  padding-bottom: 5rem;
}
@media only screen and (max-width: 480px) {
  .solutionList__text {
    font-size: 1.8rem;
  }
}
.solutionList__tagHide {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: #ffffff;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  line-height: 1.5;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 480px) {
  .solutionList__tagHide {
    font-size: 1.8rem;
  }
}
.solutionList__textHide {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.8;
}
@media only screen and (max-width: 480px) {
  .solutionList__textHide {
    font-size: 1.4rem;
  }
}
.serviceUnder__caseStudy {
  padding-top: 10rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .serviceUnder__caseStudy {
    padding-top: 0;
  }
}
.serviceUnder__caseStudy .sliderDesc {
  transition: transform 0.3s ease;
}
.serviceUnder__caseStudy .sliderDesc .wp-post-image {
  transform: scale(1);
  transition: transform 0.3s ease;
}
.serviceUnder__caseStudy .sliderDesc:hover .wp-post-image {
  transform: scale(1.1);
}
.caseStudy__inner {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding-left: 1rem;
}
@media only screen and (max-width: 480px) {
  .caseStudy__inner {
    padding-left: 2.5rem;
  }
}
.caseStudy__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .caseStudy__flex {
    flex-direction: column;
  }
}
.caseStudy__description {
  max-width: 371px;
  margin-right: 6rem;
  margin-left: 13rem;
}
@media only screen and (max-width: 768px) {
  .caseStudy__description {
    width: 100%;
    margin: auto;
  }
}
@media screen and (min-width: 1500px) {
  .caseStudy__description {
    margin-left: 24rem;
  }
}
@media screen and (min-width: 1700px) {
  .caseStudy__description {
    margin-left: 28rem;
  }
}
@media screen and (min-width: 1800px) {
  .caseStudy__description {
    margin-left: 32rem;
  }
}
@media screen and (min-width: 1900px) {
  .caseStudy__description {
    margin-left: 36rem;
  }
}
.caseStudy__title {
  font-family: "Jost", sans-serif;
  color: #272727;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.03em;
  line-height: 1.16;
  margin-top: 6.5rem;
  margin-bottom: 5.5rem;
  text-align: center;
  text-transform: uppercase;
}
@media only screen and (max-width: 768px) {
  .caseStudy__title {
    font-size: 5rem;
    margin-top: 4rem;
    margin-bottom: 3.5rem;
  }
}
.caseStudy__text {
  color: #000000;
  font-size: 1.6rem;
  text-align: center;
  font-weight: 500;
  margin-bottom: 4rem;
  letter-spacing: 0;
}
@media only screen and (max-width: 768px) {
  .caseStudy__text {
    font-size: 1.4rem;
    margin-bottom: 4rem;
  }
}
.caseStudy__images {
  overflow: hidden;
  max-width: 912px;
}
.sliderDesc img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 0.8120300752;
  border-radius: 10px;
}
.viewMore__btnServie__SpOnly {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: none;
  margin: auto;
  width: 226px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  font-weight: 400;
  border-radius: 30px;
  color: #ffffff;
  background: linear-gradient(#cc2a8d, #ae0cd9);
  padding: 1rem 6rem 1.5rem 5.5rem;
  margin-bottom: 1rem;
  display: none;
}
@media only screen and (max-width: 768px) {
  .viewMore__btnServie__SpOnly {
    display: block;
    margin-top: 2rem;
    padding: 1rem 5rem 1.5rem 5.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .viewMore__btnServie__SpOnly {
    padding: 1rem 5rem 1.5rem 5.5rem;
    margin-top: 0;
  }
}
.serviceSingle__titleWrap {
  padding: 19rem 0 10rem;
  background: linear-gradient(#cc2a8d, #ae0cd9);
}
@media only screen and (max-width: 480px) {
  .serviceSingle__titleWrap {
    padding: 15rem 0 10rem;
  }
}
.serviceSingle__subTitle {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  font-size: 5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .serviceSingle__subTitle {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 480px) {
  .serviceSingle__subTitle {
    font-size: 3rem;
    margin-bottom: 3rem;
  }
}
.serviceSingle__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
}
.serviceSingle__inner {
  max-width: 808px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .serviceSingle__inner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}
.serviceSingle__catch {
  background-color: #f6f6f6;
  padding: 7rem 0 7.5rem;
}
@media only screen and (max-width: 480px) {
  .serviceSingle__catch {
    padding: 5rem 0 4.5rem;
  }
}
.serviceSingle__catchTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-bottom: 5rem;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .serviceSingle__catchTitle {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 480px) {
  .serviceSingle__catchTitle {
    margin-bottom: 3.5rem;
  }
}
.serviceSingle__catchText {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.87;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .serviceSingle__catchText {
    font-size: 1.4rem;
  }
}
.serviceSingle__contents {
  padding: 6rem 0 7rem;
}
@media only screen and (max-width: 480px) {
  .serviceSingle__contents {
    padding: 5.5rem 0 4rem;
  }
}
.serviceSingle__contents h2 {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  border-bottom: 1px solid #d1d0d0;
  padding-bottom: 1.5rem;
  margin-bottom: 2rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .serviceSingle__contents h2 {
    font-size: 1.8rem;
  }
}
.serviceSingle__contents h2::before {
  content: "";
  position: absolute;
  border: 1px solid #6e11cb;
  width: 5rem;
  bottom: -0.15rem;
  left: 0;
}
.serviceSingle__contents h3 {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .serviceSingle__contents h3 {
    font-size: 1.6rem;
  }
}
.serviceSingle__contents p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.75;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .serviceSingle__contents p {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .serviceSingle__contents p {
    margin-bottom: 4.5rem;
  }
}
.serviceSingle__contents img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 2.0309278351;
  margin-top: -2.5rem;
}
@media only screen and (max-width: 768px) {
  .serviceSingle__contents img {
    aspect-ratio: 2.0308641975;
  }
}
@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.service-mv {
  padding: 7rem 0 8rem;
  overflow: hidden;
  background-color: #f2f2f2;
}
@media only screen and (max-width: 480px) {
  .service-mv {
    padding: 3.5rem 0 4rem;
  }
}
.service-mv .inner {
  position: relative;
  z-index: 1;
  overflow: visible;
}
.service-mv-yellowLine {
  position: absolute;
  top: 95%;
  right: 0;
  z-index: -1;
  height: 60rem;
  transform: translate(50%, -40%) rotateY(180deg) rotateX(0deg) rotateZ(-65deg);
}
@media only screen and (max-width: 480px) {
  .service-mv-yellowLine {
    height: 35rem;
  }
}
.service-mv * {
  text-align: center;
}
.service-mv-text {
  font-family: "M PLUS Rounded 1c", sans-serif;
  margin-bottom: 2.4rem;
  color: #CB2A8D;
  font-size: 1.8rem;
  line-height: 1.75;
  letter-spacing: 0.005em;
}
@media screen and (max-width: 600px) {
  .service-mv-text {
    font-size: 1.4rem;
  }
}
.service-mv-title {
  font-size: 4.1rem;
  font-weight: bold;
  line-height: 1.75;
  letter-spacing: 0.005em;
}
@media screen and (max-width: 600px) {
  .service-mv-title {
    font-size: 2.4rem;
  }
}
.service {
  padding-top: 6rem;
}
@media only screen and (max-width: 480px) {
  .service {
    padding-top: 4rem;
  }
}
.service * {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  letter-spacing: 0.04em;
}
.service .yellow-highlight {
  background-color: rgba(255, 224, 107, 0.4);
}
.service .service-title {
  margin-bottom: 2.2rem;
}
.service .service-title-jap {
  font-size: 3.5rem;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0;
}
@media only screen and (max-width: 480px) {
  .service .service-title-jap {
    font-size: 2.2rem;
  }
}
.service .service-title-eng {
  font-family: "源柔ゴシック等幅 Bold", "M PLUS Rounded 1c", sans-serif;
  display: inline-block;
  margin-bottom: 0.4rem;
  color: #CB2A8D;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0;
}
@media only screen and (max-width: 480px) {
  .service .service-title-eng {
    font-size: 1.6rem;
  }
}
.service .service-desc {
  margin-bottom: 3.2rem;
  font-size: 1.4rem;
  line-height: 1.857;
}
@media only screen and (max-width: 768px) {
  .service .service-desc {
    margin-bottom: 4.5rem;
    font-size: 1.2rem;
  }
}
.service .service-top {
  margin-bottom: 5rem;
}
@media screen and (max-width: 960px) {
  .service .service-top {
    margin-bottom: calc(6rem - 2.4rem);
  }
}
.service .service-top * {
  text-align: center;
}
.service .service-top-title {
  margin-bottom: 2.5rem;
  color: #CB2A8D;
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 1.75;
}
@media only screen and (max-width: 480px) {
  .service .service-top-title {
    margin-bottom: 2rem;
    font-size: 1.5rem;
  }
}
.service .service-top-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 960px) {
  .service .service-top-list {
    justify-content: center;
  }
}
@media screen and (max-width: 660px) {
  .service .service-top-list {
    justify-content: space-between;
  }
}
.service .service-top-list-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  width: 13rem;
}
@media screen and (max-width: 960px) {
  .service .service-top-list-child {
    width: 25%;
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 660px) {
  .service .service-top-list-child {
    width: 33%;
  }
}
@media only screen and (max-width: 480px) {
  .service .service-top-list-child {
    width: 50%;
  }
}
.service .service-top-list-child-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13rem;
  height: 13rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.05em;
  background-color: rgba(203, 42, 141, 0.1);
  border-radius: 50%;
}
@media only screen and (max-width: 480px) {
  .service .service-top-list-child-inner {
    width: 12rem;
    height: 12rem;
    font-size: 1.2rem;
  }
}
.service .service-topBox {
  padding: 4.5rem 5rem 7rem;
  margin-bottom: 7rem;
  border: 3px solid #CB2A8D;
  border-radius: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .service .service-topBox {
    padding: 3rem 4%;
    margin-bottom: 5rem;
  }
}
.service .service-topBox-title {
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 2.4rem;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0;
  text-align: center;
}
@media only screen and (max-width: 480px) {
  .service .service-topBox-title {
    margin-bottom: 2.4rem;
    font-size: 2.4rem;
  }
}
.service .service-topBox-desc {
  margin-bottom: 4.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  text-align: center;
}
@media only screen and (max-width: 480px) {
  .service .service-topBox-desc {
    margin-bottom: 3.2rem;
    font-size: 1.4rem;
    text-align: left;
  }
}
.service .service-topBox-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .service .service-topBox-flex {
    flex-wrap: wrap;
  }
}
.service .service-topBox-flex-img {
  margin-right: 3.6rem;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .service .service-topBox-flex-img {
    width: 100%;
    min-width: 100%;
    margin-right: 0;
    margin-bottom: 2.4rem;
  }
}
.service .service-topBox-flex-img img {
  display: inline-block;
  width: 26.5rem;
  min-width: 26.5rem;
  margin: 0 auto;
  vertical-align: middle;
}
@media only screen and (max-width: 480px) {
  .service .service-topBox-flex-img img {
    width: 100%;
    min-width: 100%;
  }
}
.service .service-topBox-flex-desc {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
}
@media only screen and (max-width: 768px) {
  .service .service-topBox-flex-desc {
    width: 100%;
  }
}
@media only screen and (max-width: 480px) {
  .service .service-topBox-flex-desc {
    font-size: 1.4rem;
  }
}
.service .service-role {
  margin-bottom: 18rem;
}
@media only screen and (max-width: 480px) {
  .service .service-role {
    margin-bottom: 12rem;
  }
}
.service .service-role-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .service .service-role-flex {
    flex-wrap: wrap;
  }
}
.service .service-role-flex-desc {
  width: 50%;
  margin-right: 6rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.86;
}
@media only screen and (max-width: 768px) {
  .service .service-role-flex-desc {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .service .service-role-flex-desc {
    font-size: 1.2rem;
  }
}
.service .service-role-flex-img {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .service .service-role-flex-img {
    width: 100%;
  }
}
.service .service-role-flex-img img {
  width: 40rem;
  min-width: 40rem;
}
@media only screen and (max-width: 768px) {
  .service .service-role-flex-img img {
    width: 100%;
    max-width: 40rem;
    min-width: auto;
  }
}
.service .service-features {
  margin-bottom: 3rem;
}
.service .service-features-contents {
  padding-top: 3rem;
}
.service .service-features-contents-title {
  position: relative;
  padding-left: 9.5rem;
  margin-bottom: 0.8rem;
  color: #CB2A8D;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.075em;
}
@media only screen and (max-width: 480px) {
  .service .service-features-contents-title {
    padding-left: 7rem;
    margin-bottom: 0;
    font-size: 1.6rem;
  }
}
.service .service-features-contents-title:before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  left: -1rem;
  align-items: center;
  justify-content: center;
  width: 8.6rem;
  height: 8.6rem;
  color: #ffffff;
  content: attr(number);
  font-size: 3.3rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  background-color: #CB2A8D;
  border-radius: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 480px) {
  .service .service-features-contents-title:before {
    width: 6.4rem;
    height: 6.4rem;
    font-size: 2.4rem;
  }
}
.service .service-features-contents-gray {
  padding: 4.5rem 3rem 2.8rem;
  background-color: #f2f2f2;
  border-radius: 1.8rem;
}
@media only screen and (max-width: 480px) {
  .service .service-features-contents-gray {
    padding: 3rem 4%;
  }
}
.service .service-features-contents-gray-text {
  font-size: 1.4rem;
  line-height: 1.85;
}
@media only screen and (max-width: 480px) {
  .service .service-features-contents-gray-text {
    font-size: 1.2rem;
  }
}
.service .service-features-contents-gray-point {
  padding: 1.6rem 2.7rem 3.3rem;
  background-color: #ffffff;
  border-radius: 1.9rem;
}
@media only screen and (max-width: 480px) {
  .service .service-features-contents-gray-point {
    padding: 2.6rem 4%;
  }
}
.service .service-features-contents-gray-point-title {
  margin-bottom: 1rem;
  color: #CB2A8D;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 0.075em;
}
@media only screen and (max-width: 480px) {
  .service .service-features-contents-gray-point-title {
    margin-bottom: 1.4rem;
    font-size: 1.4rem;
  }
}
.service .service-features-contents-gray-point-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
}
.service .service-features-contents-gray-point-list-child {
  position: relative;
  width: 50%;
  padding-right: 1.8rem;
  padding-left: 1.6rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
.service .service-features-contents-gray-point-list-child:not(:nth-last-child(-n + 2)) {
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 768px) {
  .service .service-features-contents-gray-point-list-child {
    width: 100%;
    padding-right: 0;
    font-size: 1.2rem;
  }
  .service .service-features-contents-gray-point-list-child:nth-last-child(2) {
    margin-bottom: 0.8rem;
  }
}
.service .service-features-contents-gray-point-list-child:before {
  position: absolute;
  top: 1px;
  left: 0;
  display: inline-block;
  color: #CB2A8D;
  content: "●";
  font-weight: 900;
}
.service .service-features-contents-gray-point .mb24 {
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 480px) {
  .service .service-features-contents-gray-point .mb24 {
    margin-bottom: 1.8rem;
  }
}
.service .service-features-last {
  margin-bottom: 18rem;
}
@media only screen and (max-width: 480px) {
  .service .service-features-last {
    margin-bottom: 8rem;
  }
}
.service .service-contentslist {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 480px) {
  .service .service-contentslist {
    margin-bottom: 8rem;
  }
}
.service .service-contentslist-desc {
  font-size: 1.4rem;
  line-height: 1.85;
}
@media only screen and (max-width: 768px) {
  .service .service-contentslist-desc {
    font-size: 1.2rem;
  }
}
.service .service-contentslist-list {
  margin-bottom: 4rem;
}
.service .service-contentslist-list-title1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin-bottom: 1.4rem;
  font-size: 2rem;
  font-weight: 600;
}
.service .service-contentslist-list-title1:before {
  display: inline-block;
  width: 4rem;
  height: 4rem;
  margin-right: 0.8rem;
  content: "";
  background-image: url(../img/service/corporate-site/contentslist-1.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.service .service-contentslist-list-title1:nth-child(2):before {
  display: inline-block;
  width: 4rem;
  height: 4rem;
  margin-right: 0.8rem;
  content: "";
  background-image: url(../img/service/corporate-site/contentslist-2.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.service .service-contentslist-list-title2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin-bottom: 1.4rem;
  font-size: 2rem;
  font-weight: 600;
}
.service .service-contentslist-list-title2:before {
  display: inline-block;
  width: 4rem;
  height: 4rem;
  margin-right: 0.8rem;
  content: "";
  background-image: url(../img/service/corporate-site/contentslist-2.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.service .service-bg-gray {
  background-color: #f2f2f2;
  border-radius: 3.5rem;
}
.service .service-plan {
  padding-top: 10rem;
  padding-bottom: 9rem;
}
@media only screen and (max-width: 768px) {
  .service .service-plan {
    padding-top: 7rem;
    padding-bottom: 5.6rem;
  }
}
.service .service-plan .service-title {
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 768px) {
  .service .service-plan .service-title {
    margin-bottom: 3.2rem;
  }
}
.service .service-plan-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  margin-bottom: 7rem;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-flex {
    flex-wrap: wrap;
  }
}
.service .service-plan-flex-desc {
  width: 45%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.86;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-flex-desc {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .service .service-plan-flex-desc {
    font-size: 1.2rem;
  }
}
.service .service-plan-flex-desc .tab-reader {
  padding: 4%;
  margin: 2rem 0;
  font-size: 1.2rem;
  background-color: #ffffff;
  border-radius: 10px;
}
.service .service-plan-flex-desc .tab-reader_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  width: 100%;
}
.service .service-plan-flex-desc .tab-reader_flex:before {
  display: inline-block;
  margin-right: 0.3rem;
  color: #CB2A8D;
  content: "●";
  font-size: 1rem;
}
.service .service-plan-flex-desc .tab-reader_flex-box2 {
  flex: auto;
}
.service .service-plan-flex-desc .tab-reader_flex-box2 .tab-r-line {
  position: relative;
  top: calc(50% - 1px);
  margin: 0 10px;
  border: none;
  border-top: dotted 2px #CB2A8D;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .service .service-plan-flex-desc .tab-reader_flex-box3 {
    display: block;
    width: 100%;
    padding-bottom: 0.8rem;
    padding-left: 1.6em;
  }
}
.service .service-plan-flex-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  width: 52%;
  padding: 4% 2%;
  background-color: #ffffff;
  border-radius: 10px;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-flex-img {
    width: 100%;
  }
}
.service .service-plan .plan-list {
  margin-top: 2.5rem;
}
.service .service-plan .plan-list li {
  padding-left: 1em;
  margin-bottom: 0.5em;
  font-size: 1.4rem;
  line-height: 1.4;
  text-indent: -0.55em;
}
.service .service-plan .plan-list li:before {
  display: inline-block;
  margin-right: 0.5rem;
  color: #CB2A8D;
  content: "●";
  font-size: 1rem;
}
.service .service-plan .plan-list-col {
  margin-top: 2.5rem;
}
@media only screen and (min-width: 1440px) {
  .service .service-plan .plan-list-col {
    column-count: 2;
  }
}
.service .service-plan .plan-list-col li {
  padding-left: 1em;
  margin-bottom: 0.5em;
  font-size: 1.4rem;
  line-height: 1.4;
  text-indent: -0.55em;
}
@media only screen and (max-width: 1439px) {
  .service .service-plan .plan-list-col li {
    display: inline-block;
  }
}
.service .service-plan .plan-list-col li:before {
  display: inline-block;
  margin-right: 0.5rem;
  color: #CB2A8D;
  content: "●";
  font-size: 1rem;
}
.service .service-plan-contents {
  padding: 4.4rem 3.6rem;
  margin-bottom: 3rem;
  background-color: #ffffff;
  border-radius: 1.8rem;
}
.service .service-plan-contents:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents {
    padding: 2.4rem 4%;
  }
}
.service .service-plan-contents-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin-bottom: 2.6rem;
}
@media only screen and (max-width: 480px) {
  .service .service-plan-contents-title {
    margin-bottom: 1.8rem;
  }
}
.service .service-plan-contents-title-img {
  display: inline-block;
  width: 7rem;
  margin-right: 1.6rem;
}
@media only screen and (max-width: 480px) {
  .service .service-plan-contents-title-img {
    width: 4rem;
    margin-right: 1rem;
  }
}
.service .service-plan-contents-title-text-lg {
  color: #CB2A8D;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
}
@media only screen and (max-width: 480px) {
  .service .service-plan-contents-title-text-lg {
    font-size: 2rem;
  }
}
.service .service-plan-contents-title-text-sm {
  display: inline-block;
  margin-bottom: 0.8rem;
  color: #333333;
  font-size: 1.4rem;
  font-weight: 600;
}
@media only screen and (max-width: 480px) {
  .service .service-plan-contents-title-text-sm {
    font-size: 1.2rem;
  }
}
.service .service-plan-contents-desc {
  width: 100%;
  padding-left: 1rem;
  margin-bottom: 3.2rem;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.75;
}
@media only screen and (max-width: 480px) {
  .service .service-plan-contents-desc {
    padding-left: 0rem;
    margin-top: 1rem;
    margin-bottom: 2rem;
  }
}
.service .service-plan-contents-main {
  padding: 2.4rem;
  border: 2px solid #eeeeee;
  border-radius: 1.8rem;
}
@media only screen and (max-width: 480px) {
  .service .service-plan-contents-main {
    padding: 2.4rem 4%;
  }
}
.service .service-plan-contents-main .flexCol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.service .service-plan-contents-main .flexCol_box {
  width: 48%;
}
@media only screen and (min-width: 1440px), only screen and (max-width: 1439px) {
  .service .service-plan-contents-main .flexCol_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .service .service-plan-contents-main .flexCol_box:nth-child(n + 3) {
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents-main .flexCol_box {
    width: 100%;
  }
  .service .service-plan-contents-main .flexCol_box:nth-child(n + 2) {
    margin-top: 4rem;
  }
}
.service .service-plan-contents-main .flexCol_box .image {
  width: 48%;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents-main .flexCol_box .image {
    width: 100%;
  }
}
.service .service-plan-contents-main .flexCol_box .text {
  width: 48%;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents-main .flexCol_box .text {
    width: 100%;
  }
}
.service .service-plan-contents-main .flexCol_box .text h6 {
  margin-bottom: 1rem;
  color: #CB2A8D;
  font-size: 1.2rem;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents-main .flexCol_box .text h6 {
    margin-top: 1rem;
  }
}
.service .service-plan-contents-main .flexCol_box .text p {
  font-size: 1.1rem;
  line-height: 1.5;
}
.service .service-plan-contents-main .imageFlex_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  flex-wrap: wrap;
  justify-content: space-between;
}
.service .service-plan-contents-main .imageFlex_wrap:after {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: block;
  width: 4.5rem;
  height: 4.5rem;
  content: "";
  background-image: url(../img/service/campaign/cross.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translate(-50%, -50%);
}
.service .service-plan-contents-main .imageFlex_wrap_image {
  width: 48%;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents-main .imageFlex_wrap_image {
    width: 100%;
  }
  .service .service-plan-contents-main .imageFlex_wrap_image:nth-child(n + 2) {
    margin-top: 2rem;
  }
}
.service .service-plan-contents .pattern-imgLeft-textRight {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents .pattern-imgLeft-textRight {
    flex-wrap: wrap;
  }
}
.service .service-plan-contents .pattern-imgLeft-textRight-img {
  width: 22rem;
  margin-right: 4.6rem;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents .pattern-imgLeft-textRight-img {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents .pattern-imgLeft-textRight-img img {
    display: inline-block;
    max-width: 22rem;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents .pattern-imgLeft-textRight-list {
    width: 100%;
  }
}
.service .service-plan-contents .pattern-imgLeft-textRight-list-child {
  margin-bottom: 3rem;
}
.service .service-plan-contents .pattern-imgLeft-textRight-list-child:last-child {
  margin-bottom: 0;
}
.service .service-plan-contents .pattern-imgLeft-textRight-list-child-title {
  position: relative;
  display: inline-block;
  padding-left: 3rem;
  margin-bottom: 0.8rem;
  font-size: 1.6rem;
  font-weight: 600;
}
@media only screen and (max-width: 480px) {
  .service .service-plan-contents .pattern-imgLeft-textRight-list-child-title {
    font-size: 1.4rem;
  }
}
.service .service-plan-contents .pattern-imgLeft-textRight-list-child-title:before {
  position: absolute;
  top: -3px;
  left: 0;
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  color: #ffffff;
  content: attr(number);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.2rem;
  text-align: center;
  background-color: #CB2A8D;
  border: 1.5px solid #333333;
  border-radius: 50%;
}
.service .service-plan-contents .pattern-imgLeft-textRight-list-child-desc {
  padding-left: 3rem;
  font-size: 1.4rem;
  line-height: 1.7;
}
@media only screen and (max-width: 480px) {
  .service .service-plan-contents .pattern-imgLeft-textRight-list-child-desc {
    font-size: 1.2rem;
  }
}
.service .service-plan-contents .pattern-leftRight-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents .pattern-leftRight-flow {
    flex-wrap: wrap;
  }
}
.service .service-plan-contents .pattern-leftRight-flow-child {
  position: relative;
  width: 48%;
  padding: 2.4rem;
  border: 2px solid #eeeeee;
  border-radius: 1.8rem;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents .pattern-leftRight-flow-child {
    width: 100%;
    padding: 2.4rem 4%;
  }
}
.service .service-plan-contents .pattern-leftRight-flow-child:first-child {
  margin-right: 4rem;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents .pattern-leftRight-flow-child:first-child {
    margin-right: 0;
    margin-bottom: 3rem;
  }
}
.service .service-plan-contents .pattern-leftRight-flow-child-title {
  position: relative;
  display: inline-block;
  padding-left: 3.6rem;
  margin-bottom: 2rem;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0;
}
@media only screen and (max-width: 480px) {
  .service .service-plan-contents .pattern-leftRight-flow-child-title {
    font-size: 1.4rem;
  }
}
.service .service-plan-contents .pattern-leftRight-flow-child-title:before {
  position: absolute;
  top: -3px;
  left: 0;
  display: inline-block;
  width: 2.6rem;
  height: 2.6rem;
  color: #ffffff;
  color: #ffffff;
  content: attr(number);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.6rem;
  text-align: center;
  background-color: #333333;
  border-radius: 50%;
}
.service .service-plan-contents .pattern-leftRight-flow-child-desc {
  margin-bottom: 3.2rem;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0;
}
@media only screen and (max-width: 480px) {
  .service .service-plan-contents .pattern-leftRight-flow-child-desc {
    font-size: 1.2rem;
  }
}
.service .service-plan-contents .pattern-leftRight-flow-child-triangle1 {
  position: absolute;
  top: 50%;
  right: calc(100% - 1rem);
  display: inline-block;
  width: 4rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents .pattern-leftRight-flow-child-triangle1 {
    top: calc(0% - .5rem);
    left: 50%;
    width: 3rem;
    transform: translate(-50%, -50%) rotate(90deg);
  }
}
.service .service-plan-contents .pattern-leftRight-flow-child-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.service .service-plan-contents .pattern-leftRight-flow-child-flex-img {
  width: 48%;
}
.service .service-plan-contents .pattern-doubleImg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-around;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents .pattern-doubleImg {
    flex-wrap: wrap;
  }
}
.service .service-plan-contents .pattern-doubleImg-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}
.service .service-plan-contents .pattern-doubleImg-child:first-child {
  width: 41rem;
  max-width: 41rem;
  margin-right: 4.8rem;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents .pattern-doubleImg-child:first-child {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3.2rem;
  }
}
.service .service-plan-contents .pattern-doubleImg-child:nth-child(2) {
  width: 29rem;
  max-width: 29rem;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents .pattern-doubleImg-child:nth-child(2) {
    width: 100%;
    max-width: 41rem;
  }
}
.service .service-plan-contents .pattern-doubleImg-child img {
  display: block;
  margin-bottom: 1rem;
}
.service .service-plan-contents .pattern-doubleImg-child-caption {
  margin-top: auto;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}
.service .service-plan-contents-bottom {
  margin-top: 2.6rem;
}
.service .service-plan-contents-bottom-title {
  padding-left: 1rem;
  margin-bottom: 1.6rem;
  font-size: 2.1rem;
  font-weight: 600;
}
@media only screen and (max-width: 480px) {
  .service .service-plan-contents-bottom-title {
    font-size: 1.6rem;
  }
}
.service .service-plan-contents-bottom-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.service .service-plan-contents-bottom-list-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24%;
  padding: 1.4rem 0.8rem;
  margin-bottom: 1rem;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.56;
  text-align: center;
  background-color: #CB2A8D;
  border-radius: 0.7rem;
}
.service .service-plan-contents-bottom-list-child:not(:nth-child(4n)) {
  margin-right: 1.33%;
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents-bottom-list-child:not(:nth-child(4n)) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 768px) {
  .service .service-plan-contents-bottom-list-child {
    width: 49%;
    margin-bottom: 1rem;
  }
  .service .service-plan-contents-bottom-list-child:nth-last-child(-n + 4) {
    margin-bottom: 1rem;
  }
  .service .service-plan-contents-bottom-list-child:nth-last-child(-n + 2) {
    margin-bottom: 0;
  }
  .service .service-plan-contents-bottom-list-child:not(:nth-child(2n)) {
    margin-right: 2%;
  }
}
.service .service-plan-contents-bottom-desc {
  margin-top: 2rem;
  font-size: 1rem;
  line-height: 1.8;
}
.service .service-case {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .service .service-case {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.service .service-flow {
  padding-bottom: calc(8rem - 2.4rem);
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .service .service-flow {
    padding-bottom: calc(6rem - 2.4rem);
    margin-bottom: 0;
  }
}
.service .service-flow-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .service .service-flow-flex {
    flex-wrap: wrap;
  }
}
.service .service-flow-flex-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  width: 32%;
  padding: 3.6rem 2rem;
  margin-bottom: 2.4rem;
  background-color: #f2f2f2;
  border-radius: 1.2rem;
}
.service .service-flow-flex-child:not(:nth-child(3n)) {
  margin-right: 2%;
}
@media only screen and (max-width: 768px) {
  .service .service-flow-flex-child:not(:nth-child(3n)) {
    margin-right: auto;
  }
}
@media only screen and (max-width: 768px) {
  .service .service-flow-flex-child {
    width: 100%;
    max-width: 480px;
    margin-right: auto;
    margin-left: auto;
  }
}
.service .service-flow-flex-child-title {
  margin-bottom: 2.2rem;
}
.service .service-flow-flex-child-title * {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
}
@media only screen and (max-width: 480px) {
  .service .service-flow-flex-child-title * {
    font-size: 1.6rem;
  }
}
.service .service-flow-flex-child-title-sm {
  font-family: "Noto Sans JP", sans-serif;
  color: #CB2A8D;
  letter-spacing: 0.075em;
}
.service .service-flow-flex-child-title-lg {
  letter-spacing: 0;
}
@media screen and (max-width: 860px) {
  .service .service-flow-flex-child-title-lg {
    height: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .service .service-flow-flex-child-title-lg {
    height: auto;
  }
}
.service .service-flow-flex-child-img {
  width: 11rem;
  margin: 0 auto 2.4rem;
}
.service .service-flow-flex-child-desc {
  font-size: 1.4rem;
  line-height: 1.86;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 480px) {
  .service .service-flow-flex-child-desc {
    font-size: 1.2rem;
  }
}
.service .service-contact {
  padding: 8rem 0;
  background-color: #f2f2f2;
  border-radius: 3.5rem 3.5rem 0 0;
}
.service .service-contact-list {
  padding: 3.6rem;
  background-color: #ffffff;
  border-radius: 1.8rem;
}
@media only screen and (max-width: 768px) {
  .service .service-contact-list {
    padding: 2.4rem 4%;
  }
}
.service .service-contact-list-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin-bottom: 2.2rem;
}
.service .service-contact-list-child:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .service .service-contact-list-child {
    align-items: flex-start;
    flex-direction: column;
  }
}
.service .service-contact-list-child-title {
  min-width: 20rem;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .service .service-contact-list-child-title {
    margin-bottom: 1.2rem;
  }
}
@media only screen and (max-width: 480px) {
  .service .service-contact-list-child-title {
    font-size: 1.2rem;
  }
}
.service .service-contact-list-child .service-required {
  position: relative;
  padding-left: 6rem;
}
.service .service-contact-list-child .service-required:before {
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 4.6rem;
  height: 2.4rem;
  color: #ffffff;
  content: "必須";
  font-size: 1.4rem;
  line-height: 2.4rem;
  letter-spacing: 0;
  text-align: center;
  background-color: #CB2A8D;
  border-radius: 2.4px;
  transform: translateY(-50%);
}
@media only screen and (max-width: 480px) {
  .service .service-contact-list-child .service-required:before {
    font-size: 1.2rem;
  }
}
.service .service-contact-list-child-input {
  width: 100%;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .service .service-contact-list-child-input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
  }
}
.service .service-contact-list-child-input .error {
  padding-top: 0.4rem;
}
.service .service-contact-list-child-input input, .service .service-contact-list-child-input textarea {
  width: 100%;
  border: 2px solid #CB2A8D;
  border-radius: 0.5rem;
  padding: 0.4rem 1rem;
}
.service .service-contact-list-child-input input[type="file"] {
  border: none;
}
.service .service-contact-list-child-input input[type="radio"], .service .service-contact-list-child-input input[type="checkbox"] {
  width: auto;
  visibility: hidden;
}
.service .service-contact-list-child-input-detail {
  display: none;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .service .service-contact-list-child-input > .mwform-radio-field {
    margin-bottom: 0.8rem;
    margin-left: 0 !important;
  }
}
.service .service-contact-list-child-input > .mwform-radio-field label, .service .service-contact-list-child-input .mwform-checkbox-field label {
  position: relative;
}
.service .service-contact-list-child-input > .mwform-radio-field label:after, .service .service-contact-list-child-input .mwform-checkbox-field label:after {
  position: absolute;
  top: -4px;
  left: 2px;
  display: inline-block;
  width: 1.7rem;
  height: 1.7rem;
  color: #ffffff;
  content: "";
  font-family: "Font Awesome 5 pro";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  text-align: center;
  background-color: #ffffff;
  border: 2px solid #CB2A8D;
  border-radius: 50%;
}
.service .service-contact-list-child-input > .mwform-radio-field label .mwform-radio-field-text, .service .service-contact-list-child-input .mwform-checkbox-field label .mwform-radio-field-text {
  font-size: 1.4rem;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .service .service-contact-list-child-input > .mwform-radio-field label .mwform-radio-field-text, .service .service-contact-list-child-input .mwform-checkbox-field label .mwform-radio-field-text {
    font-size: 1.2rem;
  }
}
.service .service-contact-list-child-input .mwform-checkbox-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
.service .service-contact-list-child-input .mwform-checkbox-field label:after {
  border-radius: 3px;
}
.service .service-contact-list-child-input > .mwform-radio-field .label-active:after, .service .service-contact-list-child-input .mwform-checkbox-field .label-active:after {
  content: "";
  background-color: #CB2A8D;
}
.service .service-contact-list-child-input .mwform-file-delete {
  display: none;
}
.service .service-contact-list-child-input-detail .detail-common {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5.5rem;
}
@media screen and (max-width: 960px) {
  .service .service-contact-list-child-input-detail .detail-common {
    align-items: flex-start;
    flex-direction: column;
  }
}
.service .service-contact-list-child-input-detail .detail-common:last-child {
  align-items: stretch;
}
.service .service-contact-list-child-input-detail .detail-common:last-child .detail-common-title {
  padding-top: 3px;
}
.service .service-contact-list-child-input-detail .detail-common-title {
  min-width: 14rem;
  font-size: 1.4rem;
  font-weight: 600;
}
@media screen and (max-width: 960px) {
  .service .service-contact-list-child-input-detail .detail-common-title {
    margin-bottom: 0.8rem;
  }
}
.service .service-contact-list-child-input .wantTo-consult .detail-common-input-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.service .service-contact-list-child-input .wantTo-consult .detail-common-input-checkbox .mwform-checkbox-field label:after {
  top: 15px !important;
}
@media only screen and (max-width: 480px) {
  .service .service-contact-list-child-input .wantTo-consult .detail-common-input-checkbox {
    flex-direction: column;
  }
  .service .service-contact-list-child-input .wantTo-consult .detail-common-input-checkbox .mwform-checkbox-field {
    margin-bottom: 3.4rem;
    margin-left: 0;
  }
}
.service .service-contact-list-child-detail {
  align-items: stretch;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .service .service-contact-list-child-detail .service-contact-list-child-title {
    padding: 0;
    margin: 0;
  }
}
.service .service-contact-list-child-detail .detail-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 960px) {
  .service .service-contact-list-child-detail .detail-flex:last-of-type {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 960px) {
  .service .service-contact-list-child-detail .detail-flex {
    align-items: flex-start;
    flex-direction: column;
  }
}
.service .service-contact-list-child-detail .detail-flex-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  width: 40%;
}
@media screen and (max-width: 960px) {
  .service .service-contact-list-child-detail .detail-flex-child:last-of-type {
    margin-bottom: 0;
  }
}
.service .service-contact-list-child-detail .detail-flex-child:first-of-type {
  margin-right: 2.4rem;
}
@media screen and (max-width: 960px) {
  .service .service-contact-list-child-detail .detail-flex-child {
    flex-direction: row;
    width: 100%;
  }
}
.service .service-contact-list-child-detail .detail-flex-title {
  width: 100%;
  margin-bottom: 0.8rem;
  font-size: 1.4rem;
  font-weight: 600;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .service .service-contact-list-child-detail .detail-flex-title {
    font-size: 1.2rem;
  }
}
.service .service-contact-list-child-detail .detail-flex-text {
  display: inline-block;
  min-width: 4rem;
  font-size: 1.4rem;
}
@media only screen and (max-width: 768px), only screen and (max-width: 480px) {
  .service .service-contact-list-child-detail .detail-flex-text {
    font-size: 1.2rem;
  }
}
.service .service-contact-list-child-detail .detail-flex input {
  width: 100%;
  max-width: 20rem;
}
.service .service-contact-list .detail-submit {
  text-align: center;
}
.service .service-contact-list .detail-submit button, .service .service-contact-list .detail-submit input[type="submit"] {
  transition-duration: 0.3s;
  width: 100%;
  max-width: 36rem;
  padding: 0;
  padding: 2.2rem;
  color: #ffffff;
  font-size: 2rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  background-color: #CB2A8D;
  border: none;
  border-radius: 0.8rem;
  outline: none;
}
.service .service-contact-list .detail-submit button:hover, .service .service-contact-list .detail-submit input[type="submit"]:hover {
  background-color: #AE0ED5;
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  .service .service-contact-list .detail-submit button, .service .service-contact-list .detail-submit input[type="submit"] {
    width: 100%;
  }
}
.after-covid_desc {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1.625;
  margin-bottom: 4.6rem;
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}
.after-covid .service-topBox {
  padding-top: 6.4rem;
  padding-bottom: 5.4rem;
}
.after-covid .service-topBox-title {
  margin-bottom: 0;
}
.after-covid .service-topBox_afterCovid-list {
  width: 100%;
  max-width: 64rem;
  margin: 0 auto 4.7rem;
}
.after-covid .service-topBox_afterCovid-list li {
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 2rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-weight: bold;
  position: relative;
  padding-left: 5.8rem;
}
@media only screen and (max-width: 480px), only screen and (max-width: 768px) {
  .after-covid .service-topBox_afterCovid-list li {
    font-size: 1.8rem;
    padding-left: 4.5rem;
  }
}
.after-covid .service-topBox_afterCovid-list li:not(:last-child) {
  margin-bottom: 4.5rem;
}
@media only screen and (max-width: 480px), only screen and (max-width: 768px) {
  .after-covid .service-topBox_afterCovid-list li:not(:last-child) {
    margin-bottom: 3rem;
  }
}
.after-covid .service-topBox_afterCovid-list li:before {
  content: attr(number);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4.2rem;
  height: 4.2rem;
  border-radius: 50%;
  background-color: #CB2A8D;
  color: #ffffff;
  text-align: center;
  line-height: 41px;
}
@media only screen and (max-width: 480px), only screen and (max-width: 768px) {
  .after-covid .service-topBox_afterCovid-list li:before {
    width: 3.6rem;
    height: 3.6rem;
    line-height: 36px;
  }
}
.after-covid .service-topBox_afterCovid_img {
  max-width: 24.3rem;
  width: 100%;
  height: 14.6rem;
  margin: 0 auto 4.4rem;
}
.after-covid .service-bg-gray .service-plan {
  padding-top: 4.3rem;
  padding-bottom: 5rem;
}
.after-covid .service-bg-gray .service-plan .service-title {
  font-size: 3rem;
  letter-spacing: 0;
  line-height: 1.75;
  margin-bottom: 5.3rem;
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 480px), only screen and (max-width: 768px) {
  .after-covid .service-bg-gray .service-plan .service-title {
    font-size: 2.4rem;
    margin-bottom: 3rem;
  }
}
.after-covid .service-bg-gray .service-plan .service-title:before {
  content: attr(number);
  display: block;
  color: #ffffff;
  background-color: #CB2A8D;
  width: 65px;
  height: 65px;
  margin: 0 auto;
  border-radius: 50%;
  text-align: center;
  line-height: 65px;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
  margin-bottom: 2.1rem;
}
@media only screen and (max-width: 480px), only screen and (max-width: 768px) {
  .after-covid .service-bg-gray .service-plan .service-title:before {
    font-size: 2.1rem;
    width: 50px;
    height: 50px;
    line-height: 50px;
  }
}
.after-covid .service-bg-gray .service-plan .after-cv19-desc {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.04em;
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  margin-bottom: 6.2rem;
}
@media only screen and (max-width: 480px), only screen and (max-width: 768px) {
  .after-covid .service-bg-gray .service-plan .after-cv19-desc {
    margin-bottom: 5rem;
  }
}
.after-covid .service-bg-gray .service-plan .after-cv19-service-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 480px), only screen and (max-width: 768px) {
  .after-covid .service-bg-gray .service-plan .after-cv19-service-contents {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.after-covid .service-bg-gray .service-plan .after-cv19-service-contents_text {
  width: 45.64%;
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.04em;
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  text-align: justify;
  text-justify: inter-ideograph;
  padding-top: 3.9rem;
}
@media only screen and (max-width: 480px), only screen and (max-width: 768px) {
  .after-covid .service-bg-gray .service-plan .after-cv19-service-contents_text {
    width: 100%;
    padding-top: 0;
  }
}
.after-covid .service-bg-gray .service-plan .after-cv19-service-contents_img {
  width: 49.7%;
  border-radius: 1rem;
  vertical-align: top;
}
@media only screen and (max-width: 480px), only screen and (max-width: 768px) {
  .after-covid .service-bg-gray .service-plan .after-cv19-service-contents_img {
    width: 100%;
    margin-bottom: 2.4rem;
  }
}
.after-covid .service-bg-gray .service-plan .after-cv19-service-contents_img img {
  width: 100%;
  height: 100%;
}
.after-covid .service-bg-gray:nth-child(3) {
  background-color: #ffffff;
  border-radius: none;
}
.after-covid .service-bg-gray:nth-child(3) .service-plan {
  padding-bottom: 9.6rem;
}
.after-covid .service-bg-gray:nth-child(3) .service-plan .after-cv19-service-contents_text {
  padding-top: 0;
  word-break: break-all;
}
.after-covid .service-bg-gray:nth-child(3) .service-plan .after-cv19-service-contents_text .left {
  text-align: left;
}
.after-covid .service-bg-gray:nth-child(4) .service-plan {
  padding-bottom: 9.6rem;
}
.after-covid .service-bg-gray:nth-child(4) .service-plan .after-cv19-service-contents_text {
  padding-top: 0;
}
.service-story {
  margin-top: 6rem;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .service-story {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 480px) {
  .service-story {
    margin-top: 2rem;
  }
}
.service-story_banner {
  position: relative;
  width: 100%;
  padding-top: 27.114%;
  background: url(../img/service/after-covid19/service-bnr_pc.png) no-repeat;
  background-position: center;
  background-size: cover;
  box-shadow: 0 0 8px #f2f2f2;
  border-radius: 8.86px;
}
@media only screen and (max-width: 768px) {
  .service-story_banner {
    padding-top: 52.3135%;
    background: url(../img/service/after-covid19/service-bnr_tab.png);
    background-size: cover;
  }
}
@media only screen and (max-width: 480px) {
  .service-story_banner {
    padding-top: 140.3134%;
    background: url(../img/service/after-covid19/service-bnr_sp.png);
    background-size: cover;
  }
}
.service-story_banner_hover {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  bottom: 15%;
  left: 7%;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .service-story_banner_hover {
    bottom: 13%;
    left: 6%;
  }
}
@media only screen and (max-width: 480px) {
  .service-story_banner_hover {
    bottom: 56%;
  }
}
.service-story_banner_hover .arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  transition-duration: 0.3s;
  width: 39px;
  height: 39px;
  background: #CB2A8D;
  border-radius: 50%;
}
.service-story_banner_hover img {
  transition-duration: 0.3s;
  position: relative;
  top: 40%;
  left: 32%;
  width: 16px;
  height: 8px;
}
.service-story_banner_hover .text {
  padding-left: 1.5rem;
  color: #333333;
  font-size: calc(1.6rem + (1vw - .32rem) * .3571);
}
@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.infoInner {
  max-width: 1080px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin: auto;
}
@media screen and (max-width: 1200px) {
  .infoInner {
    max-width: 980px;
  }
}
@media only screen and (max-width: 480px) {
  .infoInner {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
.mainVisaul__video {
  width: 100%;
  height: 81rem;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
.mainVisaul__video ::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
@media only screen and (max-width: 480px) {
  .mainVisaul__video {
    height: 60rem;
  }
}
.mainVisaul__video.-info {
  height: 90rem;
}
@media only screen and (max-width: 480px) {
  .mainVisaul__video.-info {
    height: 79rem;
  }
}
.mainVisaul__video::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisaul__video::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisaul__video::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.mainVisual__info {
  height: 90rem;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 10;
  margin-top: -1rem;
}
@media only screen and (max-width: 768px) {
  .mainVisual__info {
    height: auto;
    padding-bottom: 14rem;
  }
}
@media only screen and (max-width: 480px) {
  .mainVisual__info {
    height: auto;
    padding-bottom: 14rem;
  }
}
.mainVisual__infoTitle {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #ffffff;
  font-size: 11.2rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-align: center;
  padding-top: 16rem;
  margin-bottom: 2.5rem;
  position: relative;
  opacity: 0.4;
}
@media only screen and (max-width: 1023px) {
  .mainVisual__infoTitle {
    font-size: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .mainVisual__infoTitle {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 480px) {
  .mainVisual__infoTitle {
    font-size: 3.2rem;
    padding-top: 11.5rem;
    margin-bottom: 1.5rem;
  }
}
.mainVisual__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 5.5rem;
  opacity: 0.4;
}
@media only screen and (max-width: 480px) {
  .mainVisual__subTitle {
    font-size: 1.2rem;
  }
}
.infoWrap {
  max-width: 1060px;
  width: 100%;
  height: auto;
  background-color: #ffffff;
  border-radius: 15px;
  padding: 4rem 0 3rem 0;
}
@media only screen and (max-width: 1023px) {
  .infoWrap {
    max-width: 780px;
    margin: auto;
  }
}
@media only screen and (max-width: 768px) {
  .infoWrap {
    padding: 2rem 3rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoWrap {
    padding: 0rem 2.5rem 5.5rem 2.5rem;
  }
}
.infoFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .infoFlex {
    flex-direction: column;
  }
}
.infoProfile {
  width: 100%;
  max-width: 400px;
  padding: 8.5rem 5rem 8.5rem 7rem;
  border-right: 1px solid #333333;
}
@media only screen and (max-width: 1023px) {
  .infoProfile {
    padding: 8.5rem 0 8.5rem 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .infoProfile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-right: none;
    max-width: 680px;
    border-bottom: 1px solid #333333;
    padding: 3rem 0 2rem 0;
    margin: auto;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoProfile {
    max-width: 470px;
    padding: 3.5rem 0rem 1.5rem 0;
  }
}
.infoProfile__title {
  color: #272727;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 5rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  margin-bottom: 2.5rem;
  line-height: 1.1;
}
@media only screen and (max-width: 768px) {
  .infoProfile__title {
    margin-bottom: 0;
    font-size: 3rem;
  }
}
.infoProfile__Subtitle {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  color: #6e11cb;
}
@media only screen and (max-width: 768px) {
  .infoProfile__Subtitle {
    margin-top: auto;
    font-size: 1.4rem;
  }
}
.infoProfile__logoFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .infoProfile__logoFlex {
    align-items: end;
  }
}
.infoProfile__logo {
  display: inline-block;
  width: 2.4rem;
  height: 3rem;
}
@media only screen and (max-width: 768px) {
  .infoProfile__logo {
    width: 3.7rem;
    height: 6.3rem;
  }
}
.infoTable {
  width: 100%;
  max-width: 670px;
  padding: 0.5rem 0 0.5rem 5rem;
}
@media only screen and (max-width: 1023px) {
  .infoTable {
    padding: 0.5rem 3rem 0.5rem 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .infoTable {
    padding: 0.5rem 0 0.5rem 0;
    margin: auto;
  }
}
@media only screen and (max-width: 480px) {
  .infoTable {
    padding: 0;
  }
}
.infoTable__dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: baseline;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .infoTable__dl {
    margin-bottom: 1rem;
  }
}
.infoTable__dl:last-child {
  margin-bottom: 0;
}
.infoTable__dt {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  width: 100%;
  max-width: 6rem;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.42;
  margin-right: 5rem;
}
@media only screen and (max-width: 1023px) {
  .infoTable__dt {
    margin-right: 2rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoTable__dt {
    font-size: 1.2rem;
    margin-right: 2rem;
  }
}
.infoTable__dd {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.62;
}
@media only screen and (max-width: 1023px) {
  .infoTable__dd {
    font-size: 1.3rem;
  }
}
.infoPurpose {
  padding-top: 10rem;
  padding-bottom: 8rem;
  background-color: #f6f6f6;
}
@media only screen and (max-width: 1023px) {
  .infoPurpose {
    padding-top: 6rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoPurpose {
    padding-top: 25.5rem;
    padding-bottom: 5rem;
  }
}
.infoPurpose__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 1023px) {
  .infoPurpose__flex {
    flex-direction: column;
  }
}
.infoPurpose__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  padding-right: 4rem;
  text-align: right;
}
@media only screen and (max-width: 1023px) {
  .infoPurpose__title {
    width: 100%;
    font-size: 8rem;
    padding-right: 0;
    writing-mode: unset;
    padding-top: 0;
    margin-bottom: 4rem;
    transform: unset;
    text-align: unset;
    padding-left: 2.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoPurpose__title {
    font-size: 4.4rem;
  }
}
.infoPurpose__box {
  margin-left: 13rem;
  margin-right: 4rem;
}
@media only screen and (max-width: 1023px) {
  .infoPurpose__box {
    margin-left: 0;
    margin-right: 0;
    padding: 0 21px 0 25px;
  }
}
.infoPurpose__outcomeBox {
  width: 100%;
  max-width: 964px;
  border: 1px solid #6e11cb;
  padding: 3.2rem 8.2rem 4.5rem 8.4rem;
  position: relative;
  background-color: #ffffff;
}
@media only screen and (max-width: 768px) {
  .infoPurpose__outcomeBox {
    max-width: unset;
    margin-bottom: 4rem;
    margin-right: 0;
  }
}
@media only screen and (max-width: 768px) {
  .infoPurpose__outcomeBox {
    padding: 2.5rem 0 3.5rem 0;
  }
}
.infoPurpose__outcomeBox:last-child {
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .infoPurpose__outcomeBox:last-child {
    max-width: unset;
    margin-bottom: 0;
  }
}
.infoPurpose__outcomeBox::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: #6e11cb transparent transparent #6e11cb;
}
.infoPurpose__outcomeBox::after {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  bottom: 0;
  right: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: transparent #6e11cb #6e11cb transparent;
}
.infoPurpose__outcomeTag {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6e11cb;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: left;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .infoPurpose__outcomeTag {
    margin-left: 2.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoPurpose__outcomeTag {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}
.infoPurpose__outcomeTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: left;
  margin-bottom: 5.5rem;
  margin-left: 4rem;
  position: relative;
}
.infoPurpose__outcomeTitle::after {
  content: "";
  position: absolute;
  left: -40px;
  bottom: 0px;
  top: 60px;
  width: 110%;
  height: 1px;
  background-color: #6e11cb;
}
@media only screen and (max-width: 768px) {
  .infoPurpose__outcomeTitle::after {
    width: 100%;
    left: 0;
  }
}
@media only screen and (max-width: 480px) {
  .infoPurpose__outcomeTitle::after {
    top: 34px;
  }
}
@media only screen and (max-width: 768px) {
  .infoPurpose__outcomeTitle {
    margin-left: 1.5rem;
    margin-right: 1.4rem;
    text-align: center;
  }
}
@media only screen and (max-width: 480px) {
  .infoPurpose__outcomeTitle {
    font-size: 1.6rem;
    margin-bottom: 3.4rem;
  }
}
.infoPurpose__outcomeText {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.87;
  text-align: left;
  margin-left: 4rem;
}
@media only screen and (max-width: 768px) {
  .infoPurpose__outcomeText {
    margin-left: 1.5rem;
    margin-right: 1.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoPurpose__outcomeText {
    font-size: 1.3rem;
  }
}
.infoHistory {
  padding-top: 9rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 1023px) {
  .infoHistory {
    padding-top: 6rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoHistory {
    padding-top: 25.5rem;
    padding-bottom: 5rem;
  }
}
.infoHistory__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 1023px) {
  .infoHistory__flex {
    flex-direction: column;
  }
}
.infoHistory__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  padding-right: 4rem;
  text-align: right;
}
@media only screen and (max-width: 1023px) {
  .infoHistory__title {
    width: 100%;
    font-size: 8rem;
    padding-right: 0;
    writing-mode: unset;
    padding-top: 0;
    margin-bottom: 4rem;
    transform: unset;
    text-align: unset;
    padding-left: 2.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoHistory__title {
    font-size: 4.4rem;
  }
}
.infoHistory__table {
  width: 100%;
  max-width: 1182px;
  margin-left: 20rem;
  padding-right: 4rem;
}
@media screen and (max-width: 1200px) {
  .infoHistory__table {
    margin-left: 14rem;
  }
}
@media only screen and (max-width: 1023px) {
  .infoHistory__table {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
    margin-left: 0;
  }
}
.infoHistory__dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 882px;
  border-bottom: 1px solid #d1d0d0;
  padding-bottom: 2rem;
  margin-bottom: 2.5rem;
  padding-right: 1.5rem;
}
.infoHistory__dl.-hidden {
  padding-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .infoHistory__dl.-hidden {
    padding-bottom: 1.5rem;
  }
}
.infoHistory__dl.-noBorber {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .infoHistory__dl {
    flex-direction: column;
  }
}
.dd__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.infoHistory__year {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 5rem;
  font-weight: bold;
  color: #272727;
  letter-spacing: 0.03em;
  margin-right: 8rem;
}
@media only screen and (max-width: 1023px) {
  .infoHistory__year {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .infoHistory__year {
    font-size: 3rem;
    margin-bottom: 2rem;
  }
}
.infoHistory__year.-hidden {
  visibility: hidden;
}
@media only screen and (max-width: 768px) {
  .infoHistory__year.-hidden {
    display: none;
  }
}
.infoHistory__month {
  font-family: "Noto Sans JP", sans-serif;
  width: 5rem;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  color: #333333;
  margin-top: 0.5rem;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .infoHistory__month {
    font-size: 1.3rem;
    margin-left: -1rem;
    text-align: left;
  }
}
.infoHistory__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.62;
  margin-left: 2rem;
}
@media only screen and (max-width: 480px) {
  .infoHistory__text {
    width: 100%;
    max-width: 281px;
    font-size: 1.3rem;
    margin-left: 1rem;
    letter-spacing: -0.03em;
  }
}
.infoAccess {
  padding-top: 12rem;
}
@media only screen and (max-width: 768px) {
  .infoAccess {
    padding-top: 4rem;
  }
}
.infoAccess__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-left: 13rem;
  margin-bottom: 3.5rem;
}
@media only screen and (max-width: 768px) {
  .infoAccess__title {
    font-size: 8rem;
    margin-left: 0;
    padding-left: 2.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoAccess__title {
    font-size: 4.4rem;
  }
}
.infoAccess__gmap {
  width: 100%;
  height: 496px;
  margin-bottom: 4.5rem;
}
@media only screen and (max-width: 480px) {
  .infoAccess__gmap {
    height: 280px;
    margin-bottom: 2.5rem;
  }
}
.infoAccess__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  margin-bottom: 9rem;
}
@media only screen and (max-width: 768px) {
  .infoAccess__wrap {
    flex-direction: column;
  }
}
.infoAccess__box {
  width: 100%;
  max-width: 512px;
  margin-left: -2rem;
}
@media only screen and (max-width: 1023px) {
  .infoAccess__box {
    max-width: 460px;
    margin-left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .infoAccess__box {
    margin: auto;
  }
}
.infoAccess__address {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  font-style: normal;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.87;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 1023px) {
  .infoAccess__address {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .infoAccess__address {
    text-align: center;
  }
}
@media only screen and (max-width: 480px) {
  .infoAccess__address {
    font-size: 1.4rem;
  }
}
.infoAccess__number {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  font-style: normal;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.87;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .infoAccess__number {
    text-align: center;
  }
}
@media only screen and (max-width: 480px) {
  .infoAccess__number {
    font-size: 1.3rem;
  }
}
.infoAccess__mapLink {
  display: block;
  text-align: center;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  background: linear-gradient(#cc2a8d, #ae0cd9);
  width: 34.1rem;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 0.5rem 0 1rem 0;
  border-radius: 3rem;
  position: relative;
}
.infoAccess__mapLink.-pcOnly__1024 {
  display: none;
}
@media only screen and (max-width: 768px) {
  .infoAccess__mapLink.-pcOnly__1024 {
    margin: auto;
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .infoAccess__mapLink {
    margin: auto;
    display: none;
  }
}
.infoAccess__mapLink::after {
  position: absolute;
  display: block;
  content: url(/img/renewal/google_map2.png);
  right: 1rem;
  top: 0rem;
  transform: scale(0.4);
}
@media only screen and (max-width: 768px) {
  .infoAccess__mapLink {
    width: 24.4rem;
  }
}
.infoAccess__mapLink::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background-color: rgba(0, 0, 0, 0);
  border-radius: 30px;
  width: 100%;
  height: 100%;
  transition: background-color 0.3s ease;
}
.infoAccess__mapLink:hover::before {
  background-color: rgba(0, 0, 0, 0.2);
}
.infoAccess__listItem {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  list-style: disc;
  font-size: 1.6em;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.87;
}
.infoAccess__listItem:last-child {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 1023px) {
  .infoAccess__listItem {
    font-size: 1.4rem;
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  .infoAccess__listItem {
    list-style: none;
  }
}
@media only screen and (max-width: 480px) {
  .infoAccess__listItem {
    font-size: 1.3rem;
    list-style: none;
  }
}
.mainVisual__video.-infoWhy::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.infoWhy__inner {
  max-width: 1086px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: auto;
}
@media only screen and (max-width: 480px) {
  .infoWhy__inner {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}
.infoWhy__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: block;
  color: #ffffff;
  font-size: 11.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
  padding-top: 16rem;
  margin-bottom: 2.5rem;
  position: relative;
  opacity: 0.4;
}
@media only screen and (max-width: 1023px) {
  .infoWhy__title {
    font-size: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .infoWhy__title {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoWhy__title {
    font-size: 3.2rem;
    padding-top: 10rem;
    margin-bottom: 1rem;
  }
}
.infoWhy__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 5rem;
  opacity: 0.4;
}
@media only screen and (max-width: 768px) {
  .infoWhy__subTitle {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoWhy__subTitle {
    font-size: 1.2rem;
  }
}
.mainVisual__video {
  width: 100%;
  height: 81rem;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
@media only screen and (max-width: 480px) {
  .mainVisual__video {
    height: 60rem;
  }
}
.mainVisual__video.-infoWhy {
  height: 37rem;
}
@media only screen and (max-width: 768px) {
  .mainVisual__video.-infoWhy {
    height: 30rem;
  }
}
@media only screen and (max-width: 480px) {
  .mainVisual__video.-infoWhy {
    height: 21rem;
  }
}
.mainVisual__video.-infoWhy::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.4;
  z-index: 1000;
}
.mainVisual__video.-infoWhy::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainVisual__video.-infoWhy::after video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.infoWhy__description {
  padding: 5rem 1rem 8rem 1rem;
}
@media only screen and (max-width: 1023px) {
  .infoWhy__description {
    padding-top: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .infoWhy__description {
    padding: 4rem 0 6rem 0;
  }
}
.infoWhy__descriptionText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 5rem;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 1023px) {
  .infoWhy__descriptionText {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .infoWhy__descriptionText {
    font-size: 1.8rem;
    margin-bottom: 2.5rem;
  }
}
.infoWhy__descriptionSubtext {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.87;
  overflow-wrap: break-word;
}
@media only screen and (max-width: 768px) {
  .infoWhy__descriptionSubtext {
    font-size: 1.4rem;
    letter-spacing: -0.03em;
  }
}
.infoWhy__logo {
  display: inline-block;
  width: 2.4rem;
  height: 3rem;
  margin-right: 1rem;
}
.infoWhy__tag {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  color: #6e11cb;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 480px) {
  .infoWhy__tag {
    font-size: 1.3rem;
  }
}
.whatTodo {
  background-color: #f6f6f6;
  padding: 5rem 0 12rem 0;
}
@media only screen and (max-width: 768px) {
  .whatTodo {
    padding: 3.5rem 0 6.5rem 0;
  }
}
.whatTodo__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  color: #000000;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 11rem;
  text-align: center;
}
@media only screen and (max-width: 1023px) {
  .whatTodo__title {
    font-size: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .whatTodo__title {
    font-size: 5rem;
    margin-bottom: 3.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .whatTodo__title {
    font-size: 4.4rem;
    letter-spacing: 0;
  }
}
.whatTodo__box {
  width: 100%;
  max-width: 964px;
  border: 1px solid #6e11cb;
  padding: 3rem 8rem 4.5rem 8rem;
  position: relative;
  background-color: #ffffff;
  margin: auto;
}
@media only screen and (max-width: 768px) {
  .whatTodo__box {
    padding: 3rem 5rem 4.5rem 5rem;
  }
}
@media only screen and (max-width: 480px) {
  .whatTodo__box {
    padding: 3rem 2rem 2.5rem 2rem;
  }
}
.whatTodo__box:first-child {
  margin-bottom: 4rem;
}
.whatTodo__box::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: #6e11cb transparent transparent #6e11cb;
}
@media only screen and (max-width: 768px) {
  .whatTodo__box::before {
    border-width: 14px 16.5px 14px 16.5px;
  }
}
.whatTodo__box::after {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  bottom: 0;
  right: 0;
  border-style: solid;
  border-width: 19px 25px 19px 25px;
  border-color: transparent #6e11cb #6e11cb transparent;
}
@media only screen and (max-width: 768px) {
  .whatTodo__box::after {
    border-width: 14px 16.5px 14px 16.5px;
  }
}
.whatTodo__box :last-child {
  margin-bottom: 0;
}
.whatTodo__boxTag {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6e11cb;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: left;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .whatTodo__boxTag {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 480px) {
  .whatTodo__boxTag {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
  }
}
.whatTodo__boxTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #3b4043;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-align: center;
  padding-bottom: 3rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid #6e11cb;
}
@media only screen and (max-width: 768px) {
  .whatTodo__boxTitle {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 480px) {
  .whatTodo__boxTitle {
    font-size: 1.6rem;
    padding-bottom: 2rem;
    margin-bottom: 1.5rem;
    letter-spacing: -0.03em;
    line-height: 1.5;
  }
}
.whatTodo__boxText {
  font-family: "Noto Sans JP", sans-serif;
  max-width: 746px;
  display: block;
  margin: auto;
  color: #333333;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.87;
  letter-spacing: 0;
  padding-right: 2rem;
  padding-left: 2rem;
  position: relative;
  margin-bottom: 0.5rem;
  margin-left: 5.5rem;
}
@media only screen and (max-width: 768px) {
  .whatTodo__boxText {
    font-size: 1.4rem;
    margin-left: 1.5rem;
    padding-right: 0;
    padding-left: 1rem;
  }
}
@media only screen and (max-width: 480px) {
  .whatTodo__boxText {
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: -0.03em;
  }
}
.whatTodo__boxText::before {
  display: block;
  content: "";
  position: absolute;
  width: 1rem;
  height: 1rem;
  background-color: #000000;
  border-radius: 50%;
  top: 1rem;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .whatTodo__boxText::before {
    left: -1rem;
  }
}
.infoWhy__culture {
  width: 100%;
  height: 90rem;
  background-image: url("/img/renewal/office_kari_01.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  padding-top: 7.5rem;
}
@media only screen and (max-width: 768px) {
  .infoWhy__culture {
    padding-top: 6rem;
    background-image: url("/img/renewal/office_kari_02.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
.infoWhy__culture::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #01052f;
  opacity: 0.55;
  z-index: 300;
}
.infoWhy__logo {
  display: inline-block;
  width: 2.4rem;
  height: 3rem;
  margin-right: 1rem;
}
.infoWhy__cultuereTag {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  color: #ffffff;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 480px) {
  .infoWhy__cultuereTag {
    font-size: 1.3rem;
  }
}
.infoWhy__cultureTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 3rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin-bottom: 6rem;
  text-align: center;
  position: relative;
  z-index: 1000;
}
@media only screen and (max-width: 768px) {
  .infoWhy__cultureTitle {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 600px) {
  .infoWhy__cultureTitle {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoWhy__cultureTitle {
    font-size: 1.8rem;
    margin-bottom: 3rem;
    letter-spacing: 0;
  }
}
.swiper-container {
  width: 100%;
}
.infoWhy__slide {
  position: relative;
  z-index: 1000;
}
.swiper-slide.-infoWhy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .swiper-slide.-infoWhy {
    padding: 0 1rem 0 1rem;
  }
}
@media only screen and (max-width: 480px) {
  .swiper-slide.-infoWhy {
    padding: 0;
  }
}
.infoWhy__slideFlex {
  width: 100%;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideFlex {
    flex-direction: column;
  }
}
.infoWhy__slideImg {
  width: 100%;
  max-width: 408px;
  height: auto;
  object-fit: cover;
  aspect-ratio: 0.8680851064;
  border-radius: 20px;
  margin-right: 11rem;
}
@media only screen and (max-width: 1023px) {
  .infoWhy__slideImg {
    max-width: 380px;
    aspect-ratio: 0.8085106383;
    margin-right: 3rem;
  }
}
@media screen and (max-width: 900px) {
  .infoWhy__slideImg {
    max-width: 350px;
    aspect-ratio: 0.95;
    margin-right: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideImg {
    margin-right: 0;
    margin: auto;
  }
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideImg {
    max-width: 408px;
    aspect-ratio: 1.6859504132;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoWhy__slideImg {
    max-width: 250px;
    aspect-ratio: 1.0330578512;
  }
}
.infoWhy__slideBox {
  width: 100%;
  max-width: 49.1rem;
}
@media only screen and (max-width: 1023px) {
  .infoWhy__slideBox {
    max-width: 45rem;
  }
}
@media screen and (max-width: 900px) {
  .infoWhy__slideBox {
    max-width: 38rem;
  }
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBox {
    max-width: 100%;
    height: 30rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoWhy__slideBox {
    max-width: 100%;
    height: 36rem;
  }
}
.infoWhy__slideBox__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBox__title {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBox__title {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
}
.infoWhy__slideBox__num {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-right: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBox__num {
    font-size: 4.8rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoWhy__slideBox__num {
    max-width: 100%;
    font-size: 3.2rem;
    margin-right: 1.5rem;
  }
}
.infoWhy__slideBox__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.6rem;
  letter-spacing: 0;
  font-weight: 400;
  line-height: 1.87;
  margin-bottom: 13.5rem;
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBox__text {
    font-size: 1.4rem;
    margin-bottom: 4rem;
  }
}
.swiper-wrapper {
  position: relative;
}
.infoWhy__slideBtn__wrap {
  width: 100%;
  max-width: 49rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width: 1023px) {
  .infoWhy__slideBtn__wrap {
    max-width: 45rem;
  }
}
@media screen and (max-width: 900px) {
  .infoWhy__slideBtn__wrap {
    max-width: 40rem;
  }
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBtn__wrap {
    max-width: 45rem;
    right: 20%;
  }
}
@media screen and (max-width: 600px) {
  .infoWhy__slideBtn__wrap {
    right: 10%;
  }
}
@media screen and (max-width: 500px) {
  .infoWhy__slideBtn__wrap {
    right: 3%;
  }
}
@media only screen and (max-width: 480px) {
  .infoWhy__slideBtn__wrap {
    max-width: 322px;
    right: 15%;
  }
}
@media screen and (max-width: 380px) {
  .infoWhy__slideBtn__wrap {
    right: 0;
  }
}
.infoWhy__slideBtn__prev {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: bold;
  background-color: transparent;
  width: 8rem;
  height: 8rem;
  padding-top: 1.3rem;
  letter-spacing: 0;
  line-height: 2.2;
  border: 2px solid #ffffff;
  border-radius: 50%;
  position: relative;
  z-index: 1000;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBtn__prev {
    font-size: 1.2rem;
    width: 5.6rem;
    height: 5.6rem;
    border: 1px solid #ffffff;
  }
}
.infoWhy__slideBtn__prev::before {
  content: "";
  position: absolute;
  width: 1rem;
  height: 2px;
  left: 1.2rem;
  top: 33%;
  left: 1.7rem;
  background: #ffffff;
  transform: rotate(135deg);
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBtn__prev::before {
    top: 33%;
    left: 1.5rem;
    height: 1px;
  }
}
.infoWhy__slideBtn__prev::after {
  content: "";
  position: absolute;
  background: #ffffff;
  width: 4rem;
  height: 2px;
  right: 50%;
  top: 2.8rem;
  background: #ffffff;
  transform: translate(50%, 50%);
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBtn__prev::after {
    width: 2.2rem;
    top: 2rem;
    height: 1px;
  }
}
.infoWhy__slideBtn__next {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  width: 8rem;
  height: 8rem;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 2.2;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background-color: transparent;
  padding-top: 1.3rem;
  position: relative;
  z-index: 1000;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBtn__next {
    font-size: 1.2rem;
    width: 5.6rem;
    height: 5.6rem;
    border: 1px solid #ffffff;
  }
}
.infoWhy__slideBtn__next::before {
  content: "";
  position: absolute;
  width: 1rem;
  height: 2px;
  right: 1.2rem;
  top: 33%;
  right: 1.7rem;
  background: #ffffff;
  transform: rotate(45deg);
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBtn__next::before {
    top: 33%;
    right: 1.4rem;
    height: 1px;
  }
}
.infoWhy__slideBtn__next::after {
  content: "";
  position: absolute;
  background: #ffffff;
  width: 4rem;
  height: 2px;
  right: 50%;
  top: 2.8rem;
  background: #ffffff;
  transform: translate(50%, 50%);
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBtn__next::after {
    width: 2.2rem;
    top: 2rem;
    height: 1px;
  }
}
.infoWhy__slideBtn__wrap .swiper-pagination {
  position: absolute;
  left: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 278px;
  height: 5rem;
  margin: auto;
  color: #ffffff;
  background-color: #000000;
  border-radius: 60px;
  transform: translateX(-50%);
}
@media only screen and (max-width: 1023px) {
  .infoWhy__slideBtn__wrap .swiper-pagination {
    max-width: 240px;
  }
}
@media screen and (max-width: 900px) {
  .infoWhy__slideBtn__wrap .swiper-pagination {
    max-width: 210px;
  }
}
@media only screen and (max-width: 768px) {
  .infoWhy__slideBtn__wrap .swiper-pagination {
    max-width: 240px;
  }
}
@media only screen and (max-width: 480px) {
  .infoWhy__slideBtn__wrap .swiper-pagination {
    max-width: 182px;
    height: 4rem;
  }
}
.infoWhy__slideBtn__wrap .swiper-pagination-clickable .swiper-pagination-bullet {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff !important;
  font-weight: bold;
  font-size: 2rem;
  width: 3.8rem;
  height: 3.8rem;
  opacity: 1;
  transition: transform 0.2s linear;
  border-radius: 50%;
  padding-top: 5px;
  margin: 0 5px;
  /* ページネーションの間隔 */
  cursor: pointer;
  letter-spacing: 0;
}
@media only screen and (max-width: 1023px) {
  .infoWhy__slideBtn__wrap .swiper-pagination-clickable .swiper-pagination-bullet {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 480px) {
  .infoWhy__slideBtn__wrap .swiper-pagination-clickable .swiper-pagination-bullet {
    font-size: 1.3rem;
    width: 3rem;
    height: 2.8rem;
  }
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: linear-gradient(#cc2a8d, #ae0cd9);
  color: #ffffff;
  border-radius: 50%;
}

/* ============================================
   Form pages - additional CSS
   ============================================ */

/* Label title inside form wrap */
.contactForm__labelTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  white-space: nowrap;
  min-width: 40%;
}
@media only screen and (max-width:768px) {
  .contactForm__labelTitle {
    font-size: 1.4rem;
    min-width: unset;
    margin-bottom: 0.8rem;
  }
}

/* Badge (required/optional) */
.contactForm__badge {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0;
  border-radius: 5px;
  padding: 0.2rem 0.8rem;
  margin-left: 1.5rem;
  display: inline-block;
  vertical-align: middle;
}
.contactForm__badge.-required {
  color: #ffffff;
  background-color: #6e11cb;
  border: solid 1px #6e11cb;
}
.contactForm__badge.-any {
  color: #6e11cb;
  background-color: transparent;
  border: solid 1px #6e11cb;
}

/* Submit button wrapper */
.contactForm__submitBtn {
  text-align: center;
  margin-top: 3rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width:480px) {
  .contactForm__submitBtn {
    padding-bottom: 5rem;
  }
}

/* Button as <a> or <button> */
.contactForm__btn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: inline-block;
  color: #ffffff;
  width: 100%;
  max-width: 226px;
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  padding: 1rem 3rem;
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border-radius: 30px;
  border: solid 2px transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
}
.contactForm__btn:hover {
  color: #bb19b7;
  background: #ffffff;
  border: solid 2px #bb19b7;
}
@media only screen and (max-width:480px) {
  .contactForm__btn {
    padding: 1.2rem 2rem;
    font-size: 1.6rem;
  }
}

/* Back button variant */
.contactForm__btn.-back {
  color: #bb19b7;
  background: #ffffff;
  border: solid 2px #bb19b7;
  margin-right: 2rem;
}
.contactForm__btn.-back:hover {
  color: #ffffff;
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border: solid 2px transparent;
}

/* Confirm table */
.contactForm__confirmTable {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 4rem;
}
.contactForm__confirmTable th,
.contactForm__confirmTable td {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  padding: 1.8rem 1rem;
  border-bottom: 1px solid #e0e0e0;
  text-align: left;
  vertical-align: top;
}
.contactForm__confirmTable th {
  color: #000000;
  width: 30%;
  white-space: nowrap;
}
.contactForm__confirmTable td {
  color: #272727;
}
@media only screen and (max-width:768px) {
  .contactForm__confirmTable th,
  .contactForm__confirmTable td {
    font-size: 1.4rem;
    padding: 1.4rem 0.5rem;
  }
  .contactForm__confirmTable th {
    width: 35%;
  }
}
@media only screen and (max-width:480px) {
  .contactForm__confirmTable th,
  .contactForm__confirmTable td {
    display: block;
    width: 100%;
    padding: 0.8rem 0;
  }
  .contactForm__confirmTable th {
    border-bottom: none;
    padding-bottom: 0;
    font-weight: bold;
  }
  .contactForm__confirmTable td {
    padding-top: 0.2rem;
  }
}

/* Confirm buttons area */
.contactForm__confirmBtnArea {
  text-align: center;
  margin-top: 4rem;
}
.contactForm__confirmBtnFlex {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 4rem;
}
@media only screen and (max-width:480px) {
  .contactForm__confirmBtnArea,
  .contactForm__confirmBtnFlex {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
  .contactForm__btn.-back {
    margin-right: 0;
  }
}

/* Confirm box (download confirm) */
.contactForm__confirmBox {
  margin-bottom: 2rem;
}
.contactForm__confirmBox .contactForm__confirmItem {
  display: flex;
  padding: 1.8rem 0;
  border-bottom: 1px solid #e0e0e0;
}
@media only screen and (max-width:480px) {
  .contactForm__confirmBox .contactForm__confirmItem {
    flex-direction: column;
    padding: 1.2rem 0;
  }
}
.contactForm__confirmLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  color: #000000;
  min-width: 30%;
}
.contactForm__confirmValue {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #272727;
  line-height: 1.8;
}
@media only screen and (max-width:768px) {
  .contactForm__confirmLabel {
    font-size: 1.4rem;
  }
  .contactForm__confirmValue {
    font-size: 1.3rem;
  }
}

/* Thanks page */
.thanks__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: bold;
  color: #272727;
  line-height: 1.8;
  margin-bottom: 3rem;
}
@media only screen and (max-width:768px) {
  .thanks__title {
    font-size: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .thanks__title {
    font-size: 1.8rem;
  }
}
.thanks__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #272727;
  line-height: 1.87;
  margin-bottom: 5rem;
}
@media only screen and (max-width:768px) {
  .thanks__heading {
    font-size: 1.4rem;
    margin-bottom: 4rem;
  }
}
.thanks__btn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  display: inline-block;
  color: #ffffff;
  width: 100%;
  max-width: 226px;
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  padding: 1rem 3rem;
  background: linear-gradient(#cc2a8d, #ae0cd9);
  border-radius: 30px;
  border: solid 2px transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
}
.thanks__btn:hover {
  color: #bb19b7;
  background: #ffffff;
  border: solid 2px #bb19b7;
}

/* Thanks area (consultation/download) */
.contactForm__thanksArea {
  text-align: center;
  padding: 6rem 2rem 8rem;
}
@media only screen and (max-width:480px) {
  .contactForm__thanksArea {
    padding: 4rem 1rem 6rem;
  }
}
.contactForm__thanksArea .contactForm__thanksText {
  margin-bottom: 3rem;
}
.contactForm__thanksArea .contactForm__thanksText:last-of-type {
  margin-bottom: 5rem;
}

/* Download page - description layout */
.contactForm.-download__confirm {
  padding: 7rem 0 9rem;
  background-color: #f6f6f6;
}
@media only screen and (max-width:768px) {
  .contactForm.-download__confirm {
    padding: 5rem 0 6rem;
  }
}
.contactForm__inner.-download__confirm {
  display: flex;
  max-width: 1020px;
  margin: 0 auto;
  padding: 0 2rem;
}
@media only screen and (max-width:768px) {
  .contactForm__inner.-download__confirm {
    flex-direction: column;
    padding: 0 2.5rem;
  }
}

.download__description {
  width: 100%;
  max-width: 480px;
  margin-right: 4rem;
  flex-shrink: 0;
}
@media only screen and (max-width:768px) {
  .download__description {
    max-width: unset;
    margin-right: 0;
    margin-bottom: 4rem;
  }
}
.download__description .download__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 4rem;
  font-weight: 600;
  color: #272727;
  letter-spacing: 0.03em;
  text-align: left;
  padding-top: 0;
  margin-bottom: 1rem;
  opacity: 1;
}
@media only screen and (max-width:768px) {
  .download__description .download__title {
    font-size: 3rem;
  }
}
.download__description .download__subTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #272727;
  text-align: left;
  margin-bottom: 2.5rem;
  opacity: 1;
}
.download__description .download__image {
  margin-bottom: 2.5rem;
}
.download__description .download__image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.download__description .download__list {
  display: block;
  margin-bottom: 2.5rem;
}
.download__description .download__listTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  color: #272727;
  margin-bottom: 1rem;
}
.download__description .download__listItems {
  list-style: disc;
  padding-left: 2rem;
}
.download__description .download__listItems li {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #272727;
  line-height: 2;
}
.download__description .download__text {
  font-size: 1.4rem;
  line-height: 1.87;
}

/* Main Visual inner fix for front page - vertical positioning */
.mainVisual__inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem 8rem;
}
@media only screen and (max-width:768px) {
  .mainVisual__inner {
    max-width: 100%;
    padding-top: 4rem;
    padding-bottom: 2rem;
  }
}
@media only screen and (max-width:480px) {
  .mainVisual__inner {
    padding-top: 7rem;
  }
}

/* ========== Global background fix ========== */
body {
  background-color: #ffffff;
}

/* ========== MV title weight fix ========== */
.mainVisual__serviceTop__title {
  font-weight: 500;
}

/* ========== Header above modal overlay ========== */
.header {
  z-index: 10000 !important;
}
.gnavModal__layer {
  top: 9rem;
}
.gnavModal__wrap {
  margin-top: 0;
}

/* ========== Service mega menu 4-column layout ========== */
#gnavService-modal .gnavModal__flex {
  flex-direction: column;
  padding: 0;
}
#gnavService-modal .gnavModal__titleBox {
  display: none;
}
#gnavService-modal .gnavModal__listImg {
  display: none;
}
#gnavService-modal .gnavModal__listBox {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 3rem 4rem;
  gap: 2rem;
}
#gnavService-modal .gnavModal__list {
  flex: 1;
  margin-top: 0;
}
#gnavService-modal .gnavModal__list.-serviceCategory {
  border-right: 1px solid #333333;
  /* padding-right: 2rem;
  margin-right: 2rem; */
}
#gnavService-modal .gnavModal__list.-serviceCategory:last-child {
  border-right: none;
  padding-right: 0;
  margin-right: 0;
}
#gnavService-modal .gnavModal__categoryTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.2rem;
  padding-bottom: 0.8rem;
  border-bottom: none;
  white-space: nowrap;
}
.gnavModal__categoryEn {
  display: block;
  font-family: "Jost", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.35);
  letter-spacing: 0.05em;
  margin-top: 0.3rem;
}
#gnavService-modal .gnavModal__listItem {
  margin-left: 0;
  margin-right: 0;
  font-size: 1.2rem;
  font-weight: 400;
  margin-bottom: 1.4rem;
  margin-bottom: 1.2rem;
  padding-left: 0;
  position: relative;
}
#gnavService-modal .gnavModal__listItem.no-link {
  color: #999;
  cursor: default;
}
#gnavService-modal .gnavModal__listItem.no-link::before {
  border-color: #ccc;
}

/* ==========================================================
   Footer: Categorized Service Area + simplified nav
   ========================================================== */

/* --- Service Area: 4-category columns above main footer row --- */
.footerServiceArea {
  margin-bottom: 4rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.footerServiceArea__head {
  display: flex;
  align-items: baseline;
  gap: 2rem;
  margin-bottom: 2.5rem;
}
.footerServiceArea__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.footerServiceArea__overview {
  font-family: "Noto Sans JP", sans-serif;
  color: rgba(255, 255, 255, 0.6);
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  transition: opacity 0.3s ease;
}
.footerServiceArea__overview:hover {
  opacity: 0.6;
  color: #ffffff;
}
.footerServiceArea__grid {
  display: flex;
  gap: 3rem;
}
.footerServiceArea__category {
  flex: 1;
}
.footerServiceArea__categoryName {
  font-family: "Noto Sans JP", sans-serif;
  color: rgba(255, 255, 255, 0.5);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 1.2rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.footerServiceArea__link {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-bottom: 1.2rem;
  transition: opacity 0.3s ease;
}
.footerServiceArea__link:hover {
  opacity: 0.6;
}

/* SP: hide categorized service area (hamburger menu covers this) */
@media only screen and (max-width: 768px) {
  .footerServiceArea {
    display: none;
  }
}
@media only screen and (max-width: 1023px) {
  .footerServiceArea__grid {
    flex-wrap: wrap;
    gap: 2.5rem 2rem;
  }
  .footerServiceArea__category {
    flex: 1 1 calc(50% - 1rem);
    min-width: 20rem;
  }
}

/* --- Footer: New layout (logo row + sitemap row) --- */
.footerLogoRow {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
  flex-shrink: 0;
}
.footerLogoRow .footerLogo {
  margin-bottom: 0;
}
.footerAddress {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.8;
  text-align: left;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .footerLogoRow {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
}
.footerTop {
  display: flex;
  gap: 6rem;
  align-items: flex-start;
  margin-bottom: 4rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.footerSitemap {
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 0 4rem;
  white-space: nowrap;
  flex: 1;
}
.footerSitemap__column.-wide {
  grid-column: span 2;
}
.footerSitemap__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
  display: block;
  transition: opacity 0.3s ease;
}
a.footerSitemap__title {
  color: #ffffff;
}
a.footerSitemap__title:hover {
  opacity: 1;
}
p.footerSitemap__title {
  color: #ffffff;
}
.footerSitemap__title.-solo {
  margin-bottom: 2.4rem;
}
.footerSitemap__link + .footerSitemap__title.-solo {
  margin-top: 2.4rem;
}
.footerSitemap__link {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: rgba(255, 255, 255, 0.85);
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-bottom: 1rem;
  transition: all 0.3s ease;
  padding-left: 1rem;
  position: relative;
}
.footerSitemap__link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 4px;
  height: 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  border-right: 1px solid rgba(255, 255, 255, 0.4);
  transform: rotate(45deg);
}
.footerSitemap__link:hover {
  color: rgba(255, 255, 255, 0.85);
}
.footerSitemap__categories {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem 2rem;
}
.footerSitemap__categoryTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: rgba(255, 255, 255, 0.5);
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-bottom: 0.8rem;
}
.footerSitemap__link.-nolink {
  opacity: 0.4;
  cursor: default;
}
.footerSitemap__link.-nolink:hover {
  opacity: 0.4;
}
@media only screen and (max-width: 768px) {
  .footerTop {
    flex-direction: column;
    gap: 3rem;
  }
  .footerSitemap {
    grid-template-columns: 1fr;
    gap: 2rem 0;
    white-space: normal;
  }
  .footerSitemap__column.-wide {
    grid-column: span 1;
  }
  .footerSitemap__categories {
    grid-template-columns: 1fr;
    gap: 2rem 0;
  }
  .footerLogoRow {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
}

/* ==================================================================
   AI-DRIVEN DEVELOPMENT CONSULTING PAGE STYLES (aidd prefix)
   Design Guideline Compliant
   ================================================================== */

/* --- Shared Section Base (aidd) --- */
.aiddSection {
  padding: 12.4rem 0;
  position: relative;
  overflow: hidden;
}
.aiddSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.aiddSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.03);
  position: absolute;
  top: 6rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  line-height: 1;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .aiddSection__deco {
    font-size: 6rem;
    top: 3rem;
  }
}
.aiddSection__label {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6E11CB;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.aiddSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .aiddSection__heading {
    font-size: 2.4rem;
  }
}
.aiddSection__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 4rem;
}

/* --- Intro Section --- */
.aiddIntro {
  padding: 8rem 0 4rem;
}
.aiddIntro__lead {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.03em;
  max-width: 900px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .aiddIntro__lead {
    font-size: 1.4rem;
    line-height: 2.2;
  }
}

/* --- Pain / Challenges Section --- */
.aiddPain {
  background-color: #F6F6F6;
}
.aiddPain__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .aiddPain__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.aiddPain__card {
  background-color: #ffffff;
  padding: 3.5rem 3rem;
  transition: opacity 0.3s ease;
}
.aiddPain__card:hover {
  opacity: 0.8;
}
.aiddPain__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  color: #ffffff;
  font-size: 2rem;
  margin-bottom: 2rem;
}
.aiddPain__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.2rem;
}
.aiddPain__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
.aiddPain__closing {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  text-align: center;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  .aiddPain__closing {
    font-size: 1.4rem;
    text-align: left;
  }
}

/* --- Concept Section --- */
.aiddConcept {
  background-color: #ffffff;
}
.aiddConcept__sub {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .aiddConcept__sub {
    font-size: 1.8rem;
  }
}
.aiddConcept__compare {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .aiddConcept__compare {
    flex-direction: column;
    gap: 0;
  }
}
.aiddConcept__compareItem {
  flex: 1;
  padding: 3.5rem 3rem;
  background-color: #F6F6F6;
  text-align: center;
}
.aiddConcept__compareItem.-after {
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
}
.aiddConcept__compareItem.-after .aiddConcept__compareLabel,
.aiddConcept__compareItem.-after .aiddConcept__compareTitle,
.aiddConcept__compareItem.-after .aiddConcept__compareText {
  color: #ffffff;
}
.aiddConcept__compareLabel {
  font-family: "Jost", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: #6E11CB;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.aiddConcept__compareTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
}
.aiddConcept__compareText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #3B4043;
}
.aiddConcept__compareArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2rem;
  font-size: 2.4rem;
  color: #272727;
}
@media only screen and (max-width: 768px) {
  .aiddConcept__compareArrow {
    padding: 1.5rem 0;
    transform: rotate(90deg);
  }
}
.aiddConcept__closing {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .aiddConcept__closing {
    text-align: left;
  }
}

/* --- Features Section --- */
.aiddFeatures {
  background-color: #F6F6F6;
}
.aiddFeatures__list {
  display: flex;
  flex-direction: column;
}
.aiddFeatures__item {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding: 4rem 0;
  border-bottom: 1px solid #e0e0e0;
}
.aiddFeatures__item:first-child {
  padding-top: 0;
}
@media only screen and (max-width: 768px) {
  .aiddFeatures__item {
    flex-direction: column;
    gap: 1.5rem;
    padding: 3rem 0;
  }
}
.aiddFeatures__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .aiddFeatures__number {
    font-size: 4rem;
  }
}
.aiddFeatures__body {
  flex: 1;
}
.aiddFeatures__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.aiddFeatures__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Use Cases Section --- */
.aiddCases {
  background-color: #ffffff;
}
.aiddCases__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .aiddCases__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.aiddCases__card {
  border: 1px solid #e0e0e0;
  padding: 3rem;
  transition: opacity 0.3s ease;
}
.aiddCases__card:hover {
  opacity: 0.85;
}
.aiddCases__cardPhase {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #ffffff;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 0.5rem 1.5rem;
  border-radius: 2rem;
  margin-bottom: 1.5rem;
}
.aiddCases__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 2rem;
  line-height: 1.5;
}
.aiddCases__cardRow {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}
.aiddCases__cardLabel {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: 600;
  color: #999;
  letter-spacing: 0.05em;
  flex-shrink: 0;
  min-width: 5rem;
  padding-top: 0.2rem;
}
.aiddCases__cardLabel.-after {
  color: #6E11CB;
}
.aiddCases__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #3B4043;
}
.aiddCases__cardDivider {
  height: 1px;
  background-color: #e0e0e0;
  margin: 1.5rem 0;
}

/* --- Flow Section --- */
.aiddFlow {
  background-color: #F6F6F6;
}
.aiddFlow__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
@media only screen and (max-width: 768px) {
  .aiddFlow__steps {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.aiddFlow__step {
  background-color: #ffffff;
  padding: 3rem 2rem;
  position: relative;
  border-top: 3px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
}
.aiddFlow__step::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.5rem;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 0.8rem solid transparent;
  border-bottom: 0.8rem solid transparent;
  border-left: 1rem solid #272727;
}
.aiddFlow__step:last-child::after {
  display: none;
}
@media only screen and (max-width: 768px) {
  .aiddFlow__step::after {
    top: auto;
    bottom: -1.5rem;
    right: 50%;
    transform: translateX(50%);
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-top: 1rem solid #272727;
    border-bottom: none;
  }
}
.aiddFlow__stepNum {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 3rem;
  font-weight: 700;
  color: #272727;
  display: block;
  margin-bottom: 1rem;
}
.aiddFlow__stepPeriod {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: #6E11CB;
  font-weight: 600;
  margin-bottom: 1rem;
}
.aiddFlow__stepTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.aiddFlow__stepText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #3B4043;
}

/* --- Plans Section --- */
.aiddPlans {
  background-color: #ffffff;
}
.aiddPlans__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .aiddPlans__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.aiddPlans__card {
  border: 1px solid #e0e0e0;
  overflow: hidden;
}
.aiddPlans__cardHeader {
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 2.5rem 2.5rem;
}
.aiddPlans__cardLabel {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}
.aiddPlans__cardName {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
}
.aiddPlans__cardBody {
  padding: 2.5rem;
}
.aiddPlans__cardDesc {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 2;
  color: #3B4043;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #e0e0e0;
}
.aiddPlans__cardPrice {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #e0e0e0;
}
.aiddPlans__cardPriceLabel {
  font-family: "Jost", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #6E11CB;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.8rem;
}
.aiddPlans__cardPriceValue {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
}
.aiddPlans__cardPriceNum {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 3.6rem;
  font-weight: 700;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.aiddPlans__cardContent {}
.aiddPlans__cardContentLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 0.8rem;
}
.aiddPlans__cardContentText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 2;
  color: #3B4043;
}

/* --- SP-only utility --- */
.page-service-aidd .-spOnly {
  display: none;
}
@media only screen and (max-width: 768px) {
  .page-service-aidd .-spOnly {
    display: inline;
  }
}

/* ==================================================================
   NEW BUSINESS DEVELOPMENT CONSULTING PAGE STYLES (nbd prefix)
   Design Guideline Compliant
   ================================================================== */

/* --- Shared Section Base (nbd) --- */
.nbdSection {
  padding: 12.4rem 0;
  position: relative;
  overflow: hidden;
}
.nbdSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.nbdSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.03);
  position: absolute;
  top: 6rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  line-height: 1;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .nbdSection__deco {
    font-size: 6rem;
    top: 3rem;
  }
}
.nbdSection__label {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6E11CB;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.nbdSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .nbdSection__heading {
    font-size: 2.4rem;
  }
}
.nbdSection__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 4rem;
}

/* --- Intro Section --- */
.nbdIntro {
  padding: 8rem 0 4rem;
}
.nbdIntro__lead {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.03em;
  max-width: 900px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .nbdIntro__lead {
    font-size: 1.4rem;
    line-height: 2.2;
  }
}

/* --- Pain / Challenges Section --- */
.nbdPain {
  background-color: #F6F6F6;
}
.nbdPain__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .nbdPain__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.nbdPain__card {
  background-color: #ffffff;
  padding: 3.5rem 3rem;
  transition: opacity 0.3s ease;
}
.nbdPain__card:hover {
  opacity: 0.8;
}
.nbdPain__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  color: #ffffff;
  font-size: 2rem;
  margin-bottom: 2rem;
}
.nbdPain__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.2rem;
}
.nbdPain__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
.nbdPain__closing {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  text-align: center;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  .nbdPain__closing {
    font-size: 1.4rem;
    text-align: left;
  }
}

/* --- Features Section --- */
.nbdFeatures {
  background-color: #ffffff;
}
.nbdFeatures__list {
  display: flex;
  flex-direction: column;
}
.nbdFeatures__item {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding: 4rem 0;
  border-bottom: 1px solid #e0e0e0;
}
.nbdFeatures__item:first-child {
  padding-top: 0;
}
@media only screen and (max-width: 768px) {
  .nbdFeatures__item {
    flex-direction: column;
    gap: 1.5rem;
    padding: 3rem 0;
  }
}
.nbdFeatures__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .nbdFeatures__number {
    font-size: 4rem;
  }
}
.nbdFeatures__body {
  flex: 1;
}
.nbdFeatures__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.nbdFeatures__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Process Section --- */
.nbdProcess {
  background-color: #F6F6F6;
}
.nbdProcess__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
@media only screen and (max-width: 768px) {
  .nbdProcess__steps {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.nbdProcess__step {
  background-color: #ffffff;
  padding: 3rem 2rem;
  position: relative;
  border-top: 3px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
}
.nbdProcess__step::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.5rem;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 0.8rem solid transparent;
  border-bottom: 0.8rem solid transparent;
  border-left: 1rem solid #272727;
}
.nbdProcess__step:last-child::after {
  display: none;
}
@media only screen and (max-width: 768px) {
  .nbdProcess__step::after {
    top: auto;
    bottom: -1.5rem;
    right: 50%;
    transform: translateX(50%);
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-top: 1rem solid #272727;
    border-bottom: none;
  }
}
.nbdProcess__stepNum {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 3rem;
  font-weight: 700;
  color: #272727;
  display: block;
  margin-bottom: 1rem;
}
.nbdProcess__stepPeriod {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: #6E11CB;
  font-weight: 600;
  margin-bottom: 1rem;
}
.nbdProcess__stepTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.nbdProcess__stepText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #3B4043;
}

/* --- Plans Section --- */
.nbdPlans {
  background-color: #ffffff;
}
.nbdPlans__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .nbdPlans__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.nbdPlans__card {
  border: 1px solid #e0e0e0;
  overflow: hidden;
}
.nbdPlans__cardHeader {
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 2.5rem 3rem;
}
.nbdPlans__cardLabel {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}
.nbdPlans__cardName {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #ffffff;
}
.nbdPlans__cardBody {
  padding: 3rem;
}
.nbdPlans__cardDesc {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #e0e0e0;
}
.nbdPlans__cardPrice {
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #e0e0e0;
}
.nbdPlans__cardPriceLabel {
  font-family: "Jost", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #6E11CB;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.8rem;
}
.nbdPlans__cardPriceValue {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
}
.nbdPlans__cardPriceNum {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 3.6rem;
  font-weight: 700;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.nbdPlans__cardPriceNote {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: #999;
  margin-top: 0.5rem;
}
.nbdPlans__cardRecommend {
  /* no border-bottom on last section */
}
.nbdPlans__cardRecommendLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 0.8rem;
}
.nbdPlans__cardRecommendText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Works Section --- */
.nbdWorks {
  background-color: #F6F6F6;
  text-align: center;
}
.nbdWorks__btn {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  color: #ffffff;
  background: linear-gradient(135deg, #0491A3, #01E089);
  padding: 1.8rem 4rem;
  border-radius: 47px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.nbdWorks__btn:hover {
  opacity: 0.8;
}
.nbdWorks__btnArrow {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
}
.nbdWorks__btn:hover .nbdWorks__btnArrow {
  transform: rotate(45deg) translateX(3px);
}

/* --- SP-only utility --- */
.page-service-newbiz .-spOnly {
  display: none;
}
@media only screen and (max-width: 768px) {
  .page-service-newbiz .-spOnly {
    display: inline;
  }
}

/* ==========================================================
   MVP・AGILE PAGE STYLES (sys prefix)
   ========================================================== */

/* --- Section Base --- */
.sysSection {
  padding: 12.4rem 0;
  position: relative;
  overflow: hidden;
}
.sysSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.sysSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.03);
  position: absolute;
  top: 6rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  line-height: 1;
  pointer-events: none;
  z-index: 0;
}
.sysSection__label {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6E11CB;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.sysSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 3rem;
}
.sysSection__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 4rem;
}

/* --- Intro Section --- */
.sysIntro {
  padding: 8rem 0 4rem;
}
.sysIntro__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
}
.sysIntro__lead {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.03em;
  max-width: 900px;
  margin: 0 auto;
}

/* --- Issues Section (Pain) --- */
.sysPain {
  background-color: #F6F6F6;
}
.sysPain__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-bottom: 5rem;
}
.sysPain__card {
  background-color: #ffffff;
  padding: 3.5rem 3rem;
  transition: opacity 0.3s ease;
}
.sysPain__card:hover {
  opacity: 0.8;
}
.sysPain__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  color: #ffffff;
  font-size: 2rem;
  margin-bottom: 2rem;
}
.sysPain__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.2rem;
}
.sysPain__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
.sysPain__closing {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  text-align: center;
  line-height: 2;
}

/* --- Concept Section --- */
.sysConcept {
  background-color: #ffffff;
}
.sysConcept__tableWrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: 2rem;
}
.sysConcept__table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px;
}
.sysConcept__table th,
.sysConcept__table td {
  padding: 2rem 2.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
  vertical-align: top;
}
.sysConcept__table thead th {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  padding: 2rem 2.5rem;
}
.sysConcept__table thead th.-item {
  background-color: #ffffff;
  color: #6E11CB;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  width: 15%;
}
.sysConcept__table thead th.-traditional {
  background-color: #F6F6F6;
  color: #272727;
  width: 42.5%;
}
.sysConcept__table thead th.-clane {
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  color: #ffffff;
  width: 42.5%;
}
.sysConcept__table tbody td {
  border-bottom: 1px solid #e0e0e0;
}
.sysConcept__table tbody td.-item {
  font-weight: 700;
  color: #272727;
  background-color: #ffffff;
}
.sysConcept__table tbody td.-traditional {
  color: #3B4043;
  background-color: #fafafa;
}
.sysConcept__table tbody td.-clane {
  color: #272727;
  font-weight: 500;
  background-color: #fdf5ff;
}
.sysConcept__table tbody tr:last-child td {
  border-bottom: none;
}

/* --- Features Section --- */
.sysFeatures {
  background-color: #F6F6F6;
}
.sysFeatures__list {
  display: flex;
  flex-direction: column;
}
.sysFeatures__item {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding: 4rem 0;
  border-bottom: 1px solid #e0e0e0;
}
.sysFeatures__item:first-child {
  padding-top: 0;
}
.sysFeatures__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  flex-shrink: 0;
}
.sysFeatures__body {
  flex: 1;
}
.sysFeatures__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.sysFeatures__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Process Section (3-Phase Vertical) --- */
.sysProcess {
  background-color: #ffffff;
}
.sysProcess__phases {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.sysProcess__phase {
  background-color: #F6F6F6;
  border-left: 4px solid;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  padding: 4rem;
}
.sysProcess__phaseHeader {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}
.sysProcess__phaseNum {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.sysProcess__phaseTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.4;
}
.sysProcess__phasePeriod {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #6E11CB;
  border: 1px solid #6E11CB;
  border-radius: 30px;
  padding: 0.5rem 1.5rem;
  white-space: nowrap;
}
.sysProcess__phaseItems {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}
.sysProcess__phaseItem {
  padding-left: 1.5rem;
  border-left: 2px solid #e0e0e0;
}
.sysProcess__phaseItemTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 0.8rem;
}
.sysProcess__phaseItemText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  color: #3B4043;
}

/* --- Plans Section --- */
.sysPlans {
  background-color: #F6F6F6;
}
.sysPlans__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
.sysPlans__card {
  border: 1px solid #e0e0e0;
  overflow: hidden;
  background-color: #ffffff;
}
.sysPlans__cardHeader {
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 2.5rem 3rem;
}
.sysPlans__cardLabel {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}
.sysPlans__cardName {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #ffffff;
}
.sysPlans__cardBody {
  padding: 3rem;
}
.sysPlans__cardItem {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #e0e0e0;
}
.sysPlans__cardItem:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.sysPlans__cardItemLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #6E11CB;
  margin-bottom: 0.8rem;
}
.sysPlans__cardItemText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
.sysPlans__cardPrice {
  margin-top: 2rem;
}
.sysPlans__cardPriceLabel {
  font-family: "Jost", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #6E11CB;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.8rem;
}
.sysPlans__cardPriceValue {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
}
.sysPlans__cardPriceNum {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 3.6rem;
  font-weight: 700;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.sysPlans__cardPriceNote {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: #999;
  margin-top: 0.5rem;
}

/* Subsidy Banner */
.sysPlans__banner {
  margin-top: 4rem;
  padding: 4rem;
  border-radius: 8px;
  background: linear-gradient(135deg, #0491A3, #01E089);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
}
.sysPlans__bannerBody {
  flex: 1;
}
.sysPlans__bannerTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
}
.sysPlans__bannerText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #ffffff;
}
.sysPlans__bannerLink {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 600;
  color: #ffffff;
  border: 2px solid #ffffff;
  border-radius: 47px;
  padding: 1.4rem 3rem;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.3s ease;
}
.sysPlans__bannerLink:hover {
  background-color: #ffffff;
  color: #0491A3;
}

/* --- Responsive --- */
@media only screen and (max-width: 768px) {
  .sysSection {
    padding: 8rem 0;
  }
  .sysSection__deco {
    font-size: 6rem;
  }
  .sysSection__heading {
    font-size: 2.4rem;
  }
  .sysIntro {
    padding: 6rem 0 3rem;
  }
  .sysIntro__lead {
    font-size: 1.4rem;
  }
  .sysPain__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .sysPain__closing {
    font-size: 1.4rem;
    text-align: left;
  }
  .sysConcept__table {
    min-width: 600px;
  }
  .sysFeatures__item {
    flex-direction: column;
    gap: 1.5rem;
    padding: 3rem 0;
  }
  .sysFeatures__number {
    font-size: 4rem;
  }
  .sysProcess__phase {
    padding: 3rem 2.5rem;
  }
  .sysProcess__phaseHeader {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .sysProcess__phaseItems {
    grid-template-columns: 1fr;
  }
  .sysPlans__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .sysPlans__banner {
    flex-direction: column;
    padding: 3rem 2.5rem;
    text-align: center;
  }
}

/* --- SP-only utility --- */
.page-service-system .-spOnly {
  display: none;
}
@media only screen and (max-width: 768px) {
  .page-service-system .-spOnly {
    display: inline;
  }
}

/* ==========================================================
   ERP PAGE STYLES (v2 – Design Guideline Compliant)
   ========================================================== */

/* --- ERP Header fix: always white bg --- */
/* .page-service-erp .header — removed: now uses default transparent→white scroll behavior */

/* --- Section Base --- */
.erpSection {
  padding: 12rem 0;
  position: relative;
  overflow: hidden;
}
.erpSection__inner {
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
/* Decorative large English text (Display XL) */
.erpSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.03;
  position: absolute;
  top: 4rem;
  right: -2rem;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .erpSection__deco {
    font-size: 6rem;
    top: 2rem;
  }
}
.erpSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #6e11cb;
  margin-bottom: 1.5rem;
}
.erpSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.5;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .erpSection__heading {
    font-size: 2.4rem;
    margin-bottom: 3rem;
  }
}
.erpSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2;
  color: #000000;
  margin-bottom: 5rem;
}

/* --- Page Header / Lead --- */
.erpHeader {
  padding: 6rem 0 4rem;
  background-color: #F6F6F6;
}
.erpHeader__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 2.2;
  color: #000000;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .erpHeader__lead {
    font-size: 1.4rem;
    text-align: left;
    line-height: 2;
  }
}

/* --- Concept Section --- */
.erpConcept {
  background-color: #ffffff;
}

/* Comparison Table */
.erpCompare {
  overflow-x: auto;
}
.erpCompare__table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
}
.erpCompare__table thead th {
  background-color: #000000;
  color: #ffffff;
  font-weight: 600;
  padding: 1.5rem 2rem;
  text-align: center;
  border: 1px solid #222;
}
.erpCompare__table thead th:first-child {
  background-color: transparent;
  border: none;
}
.erpCompare__table tbody td {
  padding: 1.8rem 2rem;
  text-align: center;
  border-bottom: 1px solid #e0e0e0;
  vertical-align: middle;
  color: #000000;
}
.erpCompare__rowLabel {
  font-weight: 700;
  text-align: left !important;
  min-width: 14rem;
  color: #272727;
}
.erpCompare__rowLabel small {
  font-weight: 400;
  color: #6e11cb;
  font-size: 1.2rem;
}
.erpCompare__highlight {
  background: linear-gradient(90deg, rgba(204, 42, 141, 0.06), rgba(174, 12, 217, 0.06));
}
.erpCompare__highlight td {
  border-bottom: 2px solid transparent;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
}
.erpCompare__badge {
  display: inline-block;
  padding: 0.3rem 1.2rem;
  border-radius: 2rem;
  font-size: 1.2rem;
  font-weight: 700;
}
.erpCompare__badge.-low {
  background-color: #e8f5e9;
  color: #2e7d32;
}
.erpCompare__badge.-high {
  background-color: #fce4ec;
  color: #c62828;
}
.erpCompare__mark {
  font-size: 2rem;
  font-weight: 700;
}
.erpCompare__mark.-circle {
  color: #272727;
}
.erpCompare__mark.-triangle {
  color: #999;
}

/* --- Features Section --- */
.erpFeatures {
  background-color: #F6F6F6;
}
.erpFeatures__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.erpFeatures__item {
  background-color: #ffffff;
  border-radius: 0;
  padding: 4rem;
  position: relative;
  border-bottom: 1px solid #e0e0e0;
}
@media only screen and (max-width: 768px) {
  .erpFeatures__item {
    padding: 3rem 2rem;
  }
}
.erpFeatures__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 8rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.04;
  position: absolute;
  top: 1rem;
  right: 3rem;
  line-height: 1;
}
.erpFeatures__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 2rem;
  padding-left: 1.5rem;
  border-left: 4px solid;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
}
.erpFeatures__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Functions Section --- */
.erpFunctions {
  background-color: #ffffff;
}
.erpFunctions__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .erpFunctions__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.erpFunctions__card {
  background-color: #F6F6F6;
  border-radius: 0;
  padding: 3rem 2.5rem;
  text-align: center;
  transition: opacity 0.3s ease;
}
.erpFunctions__card:hover {
  opacity: 0.8;
}
.erpFunctions__icon {
  font-size: 3rem;
  color: #272727;
  margin-bottom: 2rem;
}
.erpFunctions__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.2rem;
}
.erpFunctions__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #3B4043;
}

/* Integration */
.erpIntegration {
  background-color: #000000;
  border-radius: 0;
  padding: 5rem 4rem;
  color: #ffffff;
}
@media only screen and (max-width: 768px) {
  .erpIntegration {
    padding: 3rem 2rem;
  }
}
.erpIntegration__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.erpIntegration__lead {
  font-size: 1.4rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 3rem;
}
.erpIntegration__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .erpIntegration__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.erpIntegration__item {
  background-color: rgba(255, 255, 255, 0.06);
  border-radius: 0;
  padding: 2.5rem 2rem;
  border-top: 2px solid;
  border-image: linear-gradient(90deg, #0491A3, #01E089) 1;
}
.erpIntegration__itemTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #ffffff;
}
.erpIntegration__itemText {
  font-size: 1.3rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.7);
}

/* --- Flow Section --- */
.erpFlow {
  background-color: #F6F6F6;
}
.erpFlow__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .erpFlow__steps {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.erpFlow__step {
  background-color: #ffffff;
  border-radius: 0;
  padding: 3rem 2rem;
  text-align: center;
  position: relative;
}
.erpFlow__step::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.5rem;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 0.8rem solid transparent;
  border-bottom: 0.8rem solid transparent;
  border-left: 1rem solid #272727;
}
.erpFlow__step:last-child::after {
  display: none;
}
@media only screen and (max-width: 768px) {
  .erpFlow__step::after {
    top: auto;
    bottom: -1.5rem;
    right: 50%;
    transform: translateX(50%);
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-top: 1rem solid #272727;
    border-bottom: none;
  }
}
.erpFlow__stepNum {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 3rem;
  font-weight: 700;
  color: #272727;
  display: block;
  margin-bottom: 1rem;
}
.erpFlow__stepTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 0.5rem;
}
.erpFlow__stepPeriod {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: #6e11cb;
  font-weight: 600;
  margin-bottom: 1rem;
}
.erpFlow__stepText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #3B4043;
}

/* Price */
.erpPrice {
  background-color: #ffffff;
  border-radius: 0;
  padding: 5rem 4rem;
}
@media only screen and (max-width: 768px) {
  .erpPrice {
    padding: 3rem 2rem;
  }
}
.erpPrice__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1rem;
}
.erpPrice__note {
  font-size: 1.3rem;
  color: #3B4043;
  margin-bottom: 3rem;
}
.erpPrice__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .erpPrice__grid {
    grid-template-columns: 1fr;
  }
}
.erpPrice__card {
  background-color: #F6F6F6;
  border-radius: 0;
  padding: 3rem;
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
}
.erpPrice__cardLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #555;
  margin-bottom: 1.5rem;
}
.erpPrice__cardPrice {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.6rem;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 1.5rem;
}
.erpPrice__cardPrice span {
  font-size: 3rem;
  color: #272727;
}
.erpPrice__cardPrice small {
  font-size: 1.2rem;
  color: #777;
}
.erpPrice__cardDesc {
  font-size: 1.3rem;
  line-height: 1.8;
  color: #777;
}
.erpPrice__notes {
  list-style: none;
  padding: 0;
}
.erpPrice__notes li {
  font-size: 1.3rem;
  color: #777;
  margin-bottom: 0.5rem;
}

/* --- Case Study Section --- */
.erpCase {
  background-color: #ffffff;
}
.erpCase__card {
  background-color: #F6F6F6;
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 4rem;
}
.erpCase__cardHeader {
  background-color: #000000;
  color: #ffffff;
  padding: 3rem 4rem;
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media only screen and (max-width: 768px) {
  .erpCase__cardHeader {
    flex-direction: column;
    padding: 2rem;
    align-items: flex-start;
    gap: 0.5rem;
  }
}
.erpCase__cardClient {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
}
.erpCase__cardIndustry {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 0.3rem 1rem;
  border-radius: 2rem;
}
.erpCase__cardBody {
  padding: 4rem;
}
@media only screen and (max-width: 768px) {
  .erpCase__cardBody {
    padding: 2rem;
  }
}
.erpCase__dl {
  display: flex;
  margin-bottom: 2rem;
  gap: 2rem;
}
@media only screen and (max-width: 768px) {
  .erpCase__dl {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.erpCase__dl:last-child {
  margin-bottom: 0;
}
.erpCase__dl dt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #6e11cb;
  min-width: 6rem;
  flex-shrink: 0;
}
.erpCase__dl dd {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #333;
}
.erpCase__dl dd strong {
  color: #272727;
  font-weight: 700;
}
.erpCase__more {
  text-align: center;
}
.erpCase__more .viewMore__btn {
  display: inline-block;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #ffffff;
  background: linear-gradient(#CC2A8D, #AE0CD9);
  padding: 1.5rem 4rem;
  border-radius: 30px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.erpCase__more .viewMore__btn:hover {
  background: #ffffff;
  color: #BB19B7;
  outline: 1px solid #BB19B7;
}

/* ================================================================
   EDUCATION PLATFORM (Learnify) PAGE STYLES
   Design Guideline Compliant
   ================================================================ */

/* --- Page-specific header fix --- */
/* .page-service-education .header — removed: now uses default transparent→white scroll behavior */

/* --- Shared Section Base --- */
.eduSection {
  padding: 10rem 0;
  position: relative;
  overflow: hidden;
}
.eduSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.eduSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.03;
  position: absolute;
  top: 6rem;
  right: -2rem;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.eduSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.eduSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.5;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .eduSection__heading {
    font-size: 2.4rem;
  }
  .eduSection__deco {
    font-size: 6rem;
    top: 3rem;
  }
}
.eduSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  margin-bottom: 2rem;
}
.eduSection__text:last-child {
  margin-bottom: 0;
}

/* --- Service Logo Section --- */
.eduLogo {
  padding: 8rem 0 4rem;
  background-color: #ffffff;
  text-align: center;
}
.eduLogo__box {
  display: inline-block;
}
.eduLogo__brand {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}
@media only screen and (max-width: 768px) {
  .eduLogo__brand {
    font-size: 4rem;
  }
}
.eduLogo__brandSub {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #3B4043;
  letter-spacing: 0.3em;
  margin-top: 0.5rem;
}

/* --- Catch Copy Section --- */
.eduCatch {
  padding: 6rem 0 10rem;
  background-color: #ffffff;
  text-align: center;
}
.eduCatch__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.7;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .eduCatch__heading {
    font-size: 2.2rem;
  }
}
.eduCatch__sub {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  color: #3B4043;
  line-height: 1.8;
}

/* --- Description Section --- */
.eduDesc {
  background-color: #F6F6F6;
  padding: 12rem 0;
}

/* --- Features Section --- */
.eduFeatures {
  background-color: #ffffff;
  padding: 12rem 0;
}
.eduFeatures__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  .eduFeatures__list {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.eduFeatures__item {
  background-color: #F6F6F6;
  padding: 4rem 3rem;
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  position: relative;
  transition: all 0.3s ease;
}
.eduFeatures__item:hover {
  transform: translateY(-4px);
}
.eduFeatures__iconWrap {
  width: 6rem;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  margin-bottom: 2rem;
}
.eduFeatures__iconWrap i {
  font-size: 2.4rem;
  color: #ffffff;
}
.eduFeatures__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 8rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.05;
  position: absolute;
  top: 2rem;
  right: 2rem;
  line-height: 1;
}
.eduFeatures__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.eduFeatures__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- CTA Section (External Link) --- */
.eduCta {
  background-color: #000000;
  padding: 10rem 0;
  text-align: center;
}
.eduCta__box {
  max-width: 700px;
  margin: 0 auto;
}
.eduCta__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #ffffff;
  line-height: 2;
  margin-bottom: 4rem;
}
.eduCta__btn {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ffffff;
  background: linear-gradient(135deg, #0491A3, #01E089);
  padding: 1.8rem 4rem;
  border-radius: 47px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.eduCta__btn:hover {
  background: #ffffff;
  color: #0491A3;
}
.eduCta__btn:hover .eduCta__externalIcon {
  stroke: #0491A3;
}
.eduCta__btn.-blog {
  background: transparent;
  border: 2px solid #0491A3;
  color: #0491A3;
}
.eduCta__btn.-blog .eduCta__externalIcon {
  stroke: #0491A3;
}
.eduCta__btn.-blog:hover {
  background: #0491A3;
  color: #ffffff;
}
.eduCta__btn.-blog:hover .eduCta__externalIcon {
  stroke: #ffffff;
}
.eduCta__blogLead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  color: #3B4043;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}
.eduCta__externalIcon {
  width: 1.6rem;
  height: 1.6rem;
  stroke: #ffffff;
  transition: stroke 0.3s ease;
}

/* ================================================================
   TRAINING BUSINESS DEVELOPMENT PAGE STYLES
   (教育・研修の事業化支援)
   Design Guideline Compliant – v2 Rebuild
   Based on proven ERP / Education page patterns
   ================================================================ */

/* --- Page-specific header --- */
/* .page-service-training .header — removed: now uses default transparent→white scroll behavior */

/* --- Shared Section Base (trn) --- */
.trnSection {
  padding: 12.4rem 0;
  position: relative;
  overflow: hidden;
}
.trnSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.trnSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.03;
  position: absolute;
  top: 6rem;
  right: -2rem;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .trnSection__deco {
    font-size: 5rem;
    top: 3rem;
  }
}
.trnSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.trnSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .trnSection__heading {
    font-size: 2.4rem;
  }
}
.trnSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  margin-bottom: 2rem;
}
.trnSection__text:last-child {
  margin-bottom: 0;
}

/* --- Intro (Header Lead) --- */
.trnIntro {
  background-color: #ffffff;
  padding: 6rem 0;
}
.trnIntro__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4;
  color: #3B4043;
  text-align: center;
}

/* --- Section 1 : Concept --- */
.trnConcept {
  background-color: #ffffff;
}
.trnConcept__flex {
  display: flex;
  gap: 6rem;
  align-items: flex-start;
}
@media only screen and (max-width: 768px) {
  .trnConcept__flex {
    flex-direction: column;
    gap: 4rem;
  }
}
.trnConcept__textBox {
  flex: 1;
}
.trnConcept__diagram {
  flex: 0 0 34rem;
}
@media only screen and (max-width: 768px) {
  .trnConcept__diagram {
    flex: none;
    width: 100%;
  }
}
.trnConcept__diagramInner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.trnConcept__diagramCenter {
  width: 12rem;
  height: 12rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
}
.trnConcept__diagramItems {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.trnConcept__diagramItem {
  width: 14rem;
  text-align: center;
  padding: 2rem 1rem;
  background-color: #F6F6F6;
}
.trnConcept__diagramIcon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  color: #ffffff;
  font-size: 1.6rem;
}
.trnConcept__diagramLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 0.5rem;
}
.trnConcept__diagramDesc {
  font-size: 1.2rem;
  color: #3B4043;
  line-height: 1.6;
}

/* --- Section 2 : 4 Phases --- */
.trnPhases {
  background-color: #F6F6F6;
}
.trnPhases__lead {
  margin-bottom: 5rem;
}
.trnPhases__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
@media only screen and (max-width: 1024px) {
  .trnPhases__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .trnPhases__grid {
    grid-template-columns: 1fr;
  }
}
.trnPhases__card {
  background-color: #ffffff;
  padding: 0;
  display: flex;
  flex-direction: column;
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  transition: all 0.3s ease;
}
.trnPhases__card:hover {
  transform: translateY(-4px);
}
.trnPhases__cardHeader {
  padding: 2.5rem 2.5rem 0;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.trnPhases__num {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 4rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.1;
  line-height: 1;
}
.trnPhases__phaseLabel {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.1em;
}
.trnPhases__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  padding: 1.5rem 2.5rem 0;
}
.trnPhases__cardEn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: 500;
  color: #3B4043;
  opacity: 0.5;
  padding: 0.3rem 2.5rem 0;
  letter-spacing: 0.05em;
}
.trnPhases__cardList {
  list-style: none;
  padding: 2rem 2.5rem;
  margin: 0;
  flex: 1;
}
.trnPhases__cardList li {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: #3B4043;
  line-height: 1.8;
  padding-left: 1.5rem;
  position: relative;
  margin-bottom: 0.5rem;
}
.trnPhases__cardList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
}
.trnPhases__cardSupport {
  background-color: #F6F6F6;
  padding: 2rem 2.5rem;
}
.trnPhases__cardSupportTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #6e11cb;
  margin-bottom: 0.5rem;
}
.trnPhases__cardSupportText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: #3B4043;
  line-height: 1.8;
}

/* --- Section 3 : Platform (Learnify) --- */
.trnPlatform {
  background-color: #ffffff;
}
.trnPlatform__features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.5rem;
  margin: 5rem 0;
}
@media only screen and (max-width: 1024px) {
  .trnPlatform__features {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .trnPlatform__features {
    grid-template-columns: 1fr;
  }
}
.trnPlatform__featureItem {
  text-align: center;
  padding: 3rem 2rem;
  background-color: #F6F6F6;
  transition: all 0.3s ease;
}
.trnPlatform__featureItem:hover {
  transform: translateY(-4px);
}
.trnPlatform__featureIcon {
  width: 5rem;
  height: 5rem;
  margin: 0 auto 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #0491A3, #01E089);
  font-size: 2rem;
  color: #ffffff;
}
.trnPlatform__featureTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1rem;
}
.trnPlatform__featureText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #3B4043;
}
.trnPlatform__cta {
  text-align: center;
}
.trnPlatform__ctaBtn {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ffffff;
  background: linear-gradient(135deg, #0491A3, #01E089);
  padding: 1.6rem 4rem;
  border-radius: 47px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.trnPlatform__ctaBtn:hover {
  background: #ffffff;
  color: #0491A3;
  outline: 1px solid #0491A3;
}
.trnPlatform__ctaBtn svg {
  width: 1.5rem;
  height: 1.5rem;
}

/* --- Section 4 : Case Studies --- */
.trnCases {
  background-color: #F6F6F6;
}
.trnCases__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .trnCases__grid {
    grid-template-columns: 1fr;
  }
}
.trnCases__card {
  background-color: #ffffff;
  padding: 3.5rem;
  border-left: 4px solid;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  transition: all 0.3s ease;
}
.trnCases__card:hover {
  transform: translateY(-4px);
}
.trnCases__tags {
  display: flex;
  gap: 0.8rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}
.trnCases__tag {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: #3B4043;
  background-color: #F6F6F6;
  padding: 0.3rem 1rem;
  border-radius: 2rem;
}
.trnCases__tag.-primary {
  color: #ffffff;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
}
.trnCases__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
}
.trnCases__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.9;
  color: #3B4043;
}
.trnCases__note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: #777;
  text-align: center;
}

/* --- Section 5 : Pricing --- */
.trnPricing {
  background-color: #ffffff;
}
.trnPricing__lead {
  margin-bottom: 5rem;
}
.trnPricing__table {
  max-width: 700px;
  margin: 0 auto;
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  background-color: #F6F6F6;
}
.trnPricing__tableHeader {
  background-color: #000000;
  padding: 2.5rem 3rem;
}
.trnPricing__planName {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
}
.trnPricing__tableBody {
  padding: 3rem;
}
.trnPricing__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0;
  border-bottom: 1px solid #e0e0e0;
}
.trnPricing__row:last-child {
  border-bottom: none;
}
.trnPricing__rowLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #3B4043;
}
.trnPricing__rowValue {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  color: #272727;
}
.trnPricing__rowValue strong {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 2.8rem;
  font-weight: 700;
  color: #272727;
}
.trnPricing__rowValue small {
  font-size: 1.2rem;
  color: #777;
  margin-left: 0.5rem;
}
.trnPricing__includes {
  padding: 2.5rem 3rem 3rem;
  border-top: 1px solid #e0e0e0;
}
.trnPricing__includesTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
}
.trnPricing__includesList {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.trnPricing__includesList li {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: #3B4043;
  padding: 0.6rem 1.5rem;
  background-color: #ffffff;
  border-radius: 2rem;
  border: 1px solid #e0e0e0;
}

/* ================================================================
   DX CONSULTING PAGE STYLES
   (DXコンサルティング・伴走支援)
   Design Guideline Compliant
   ================================================================ */

/* ================================================================
   SERVICE PAGE: Corporate Training (企業向け研修)  –  prefix: ctr
   Design Guideline Compliant
   ================================================================ */

/* --- Shared Section Base (ctr) --- */
.ctrSection {
  padding: 12.4rem 0;
  position: relative;
}
.ctrSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.ctrSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.03);
  position: absolute;
  top: 6rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  line-height: 1;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .ctrSection__deco {
    font-size: 6rem;
    top: 3rem;
  }
}
.ctrSection__label {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6E11CB;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.ctrSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .ctrSection__heading {
    font-size: 2.4rem;
  }
}
.ctrSection__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 2rem;
}
.ctrSection__text:last-child {
  margin-bottom: 0;
}

/* --- Intro Section --- */
.ctrIntro {
  padding: 8rem 0 4rem;
}
.ctrIntro__lead {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.03em;
  max-width: 900px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .ctrIntro__lead {
    font-size: 1.4rem;
    line-height: 2.2;
  }
}

/* --- Concept Section --- */
.ctrConcept {
  background-color: #F6F6F6;
}
.ctrConcept__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .ctrConcept__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.ctrConcept__card {
  background-color: #ffffff;
  border-radius: 1.2rem;
  padding: 4rem 3rem;
  position: relative;
  transition: box-shadow 0.3s ease;
}
.ctrConcept__card:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}
.ctrConcept__num {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
  margin-bottom: 2rem;
}
.ctrConcept__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.ctrConcept__cardText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
}

/* --- Programs Section --- */
.ctrPrograms__lead {
  margin-bottom: 4rem;
}
.ctrPrograms__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.ctrPrograms__item {
  background-color: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 1.2rem;
  padding: 4.5rem 5rem;
  transition: box-shadow 0.3s ease;
}
.ctrPrograms__item:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
}
@media only screen and (max-width: 768px) {
  .ctrPrograms__item {
    padding: 3rem 2.5rem;
  }
}
.ctrPrograms__itemHeader {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .ctrPrograms__itemHeader {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.ctrPrograms__itemNum {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 7.2rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .ctrPrograms__itemNum {
    font-size: 5rem;
  }
}
.ctrPrograms__itemTitleBox {
  padding-top: 1rem;
}
.ctrPrograms__itemTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .ctrPrograms__itemTitle {
    font-size: 2rem;
  }
}
.ctrPrograms__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.ctrPrograms__tag {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  color: #6E11CB;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 0.4rem 1.2rem;
  border: 1px solid #6E11CB;
  border-radius: 3rem;
}
.ctrPrograms__itemText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
}
.ctrPrograms__itemLink {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  margin-top: 1.5rem;
  transition: opacity 0.3s ease;
}
.ctrPrograms__itemLink:hover {
  opacity: 0.6;
}

/* --- Link Area / CTA Section --- */
.ctrLinkArea {
  background-color: #F6F6F6;
  text-align: center;
}
.ctrLinkArea .ctrSection__heading {
  text-align: center;
}
.ctrLinkArea .ctrSection__text {}
.ctrLinkArea__cta {
  text-align: center;
}
.ctrLinkArea__ctaBtn {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  color: #ffffff;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 2rem 5rem;
  border-radius: 47px;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
}
.ctrLinkArea__ctaBtn:hover {
  background: #ffffff;
  color: #BB19B7;
  box-shadow: 0 4px 20px rgba(174, 12, 217, 0.2);
}
.ctrLinkArea__ctaBtn svg {
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .ctrLinkArea__ctaBtn {
    font-size: 1.4rem;
    padding: 1.6rem 3.5rem;
  }
}


/* ================================================================
   SERVICE PAGE: DX Consulting  –  prefix: dx
   Design Guideline Compliant
   ================================================================ */

/* --- Page-specific header --- */
/* .page-service-dx .header — removed: now uses default transparent→white scroll behavior */

/* --- Shared Section Base (dx) --- */
.dxSection {
  padding: 12.4rem 0;
  position: relative;
  overflow: hidden;
}
.dxSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.dxSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.03;
  position: absolute;
  top: 6rem;
  right: -2rem;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .dxSection__deco {
    font-size: 5rem;
    top: 3rem;
  }
}
.dxSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.dxSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .dxSection__heading {
    font-size: 2.4rem;
  }
}
.dxSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  margin-bottom: 2rem;
}
.dxSection__text:last-child {
  margin-bottom: 0;
}

/* --- Intro --- */
.dxIntro {
  background-color: #ffffff;
  text-align: center;
}
.dxIntro__catch {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.8;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .dxIntro__catch {
    font-size: 2.2rem;
  }
}
.dxIntro__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4;
  color: #3B4043;
  max-width: 880px;
  margin: 0 auto;
}

/* --- Section 1 : Pain Points --- */
.dxPain {
  background-color: #F6F6F6;
}
.dxPain__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .dxPain__grid {
    grid-template-columns: 1fr;
  }
}
.dxPain__card {
  background-color: #ffffff;
  padding: 3.5rem;
  border-left: 4px solid;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  transition: all 0.3s ease;
}
.dxPain__card:hover {
  transform: translateY(-4px);
}
.dxPain__iconWrap {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  color: #ffffff;
  font-size: 2rem;
  margin-bottom: 2rem;
}
.dxPain__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.dxPain__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.9;
  color: #3B4043;
}

/* --- Section 2 : Features --- */
.dxFeatures {
  background-color: #ffffff;
}
.dxFeatures__list {
  margin-top: 5rem;
}
.dxFeatures__item {
  padding: 4rem 0;
  border-bottom: 1px solid #e0e0e0;
  position: relative;
  padding-left: 10rem;
}
.dxFeatures__item:first-child {
  border-top: 1px solid #e0e0e0;
}
@media only screen and (max-width: 768px) {
  .dxFeatures__item {
    padding-left: 0;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.dxFeatures__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 6rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.07;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 4rem;
}
@media only screen and (max-width: 768px) {
  .dxFeatures__number {
    position: static;
    font-size: 4.5rem;
    display: block;
    margin-bottom: 1rem;
  }
}
.dxFeatures__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.dxFeatures__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
}

/* --- Section 3 : Process --- */
.dxProcess {
  background-color: #F6F6F6;
}
.dxProcess__lead {
  margin-bottom: 5rem;
}
.dxProcess__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
@media only screen and (max-width: 1024px) {
  .dxProcess__steps {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .dxProcess__steps {
    grid-template-columns: 1fr;
  }
}
.dxProcess__step {
  background-color: #ffffff;
  padding: 3rem 2.5rem;
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  transition: all 0.3s ease;
}
.dxProcess__step:hover {
  transform: translateY(-4px);
}
.dxProcess__stepNum {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 4rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.1;
  line-height: 1;
  display: block;
  margin-bottom: 1.5rem;
}
.dxProcess__stepTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
.dxProcess__stepText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.9;
  color: #3B4043;
}

/* --- Section 4 : Solutions --- */
.dxSolutions {
  background-color: #ffffff;
}
.dxSolutions__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .dxSolutions__grid {
    grid-template-columns: 1fr;
  }
}
.dxSolutions__card {
  background-color: #F6F6F6;
  padding: 3.5rem;
  transition: all 0.3s ease;
}
.dxSolutions__card:hover {
  transform: translateY(-4px);
}
.dxSolutions__icon {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #0491A3, #01E089);
  color: #ffffff;
  font-size: 2rem;
  margin-bottom: 2rem;
}
.dxSolutions__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.dxSolutions__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.9;
  color: #3B4043;
}

/* --- Section 5 : Case Studies --- */
.dxCases {
  background-color: #F6F6F6;
}
.dxCases__list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.dxCases__card {
  background-color: #ffffff;
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
}
.dxCases__cardHeader {
  padding: 2.5rem 3.5rem;
  background-color: #000000;
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}
.dxCases__cardClient {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #ffffff;
}
.dxCases__cardIndustry {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: #ffffff;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 0.3rem 1.2rem;
  border-radius: 2rem;
}
.dxCases__cardBody {
  padding: 3.5rem;
}
.dxCases__dl {
  display: flex;
  gap: 2rem;
  padding: 2rem 0;
  border-bottom: 1px solid #e0e0e0;
  margin: 0;
}
.dxCases__dl:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.dxCases__dl:first-child {
  padding-top: 0;
}
.dxCases__dl dt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #6e11cb;
  flex: 0 0 7rem;
  padding-top: 0.2rem;
}
.dxCases__dl dd {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.9;
  color: #3B4043;
  flex: 1;
  margin: 0;
}
.dxCases__dl dd strong {
  color: #272727;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .dxCases__dl {
    flex-direction: column;
    gap: 0.5rem;
  }
  .dxCases__dl dt {
    flex: none;
  }
  .dxCases__cardHeader {
    padding: 2rem 2.5rem;
  }
  .dxCases__cardBody {
    padding: 2.5rem;
  }
}

/* ================================================================
   SALESFORCE PAGE STYLES
   (Salesforce 導入・カスタマイズ開発)
   Design Guideline Compliant
   Based on proven Education page (Learnify) pattern
   ================================================================ */

/* --- Salesforce Header fix: always white bg --- */
/* .page-service-salesforce .header — removed: now uses default transparent→white scroll behavior */

/* --- Shared Section Base --- */
.sfSection {
  padding: 10rem 0;
  position: relative;
  overflow: hidden;
}
.sfSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.sfSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.03;
  position: absolute;
  top: 6rem;
  right: -2rem;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.sfSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.sfSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.5;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .sfSection__heading {
    font-size: 2.4rem;
  }
  .sfSection__deco {
    font-size: 6rem;
    top: 3rem;
  }
}
.sfSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  margin-bottom: 2rem;
}
.sfSection__text:last-child {
  margin-bottom: 0;
}

/* --- Service Logo Section --- */
.sfLogo {
  padding: 8rem 0 4rem;
  background-color: #ffffff;
  text-align: center;
}
.sfLogo__box {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.sfLogo__icon {
  width: 10rem;
  height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
}
.sfLogo__icon i {
  font-size: 5rem;
  color: #ffffff;
}
@media only screen and (max-width: 768px) {
  .sfLogo__icon {
    width: 8rem;
    height: 8rem;
  }
  .sfLogo__icon i {
    font-size: 4rem;
  }
}
.sfLogo__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  letter-spacing: 0.05em;
}

/* --- Catch Copy Section --- */
.sfCatch {
  padding: 6rem 0 10rem;
  background-color: #ffffff;
  text-align: center;
}
.sfCatch__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.7;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .sfCatch__heading {
    font-size: 2.2rem;
  }
}

/* --- Description Section --- */
.sfDesc {
  background-color: #F6F6F6;
  padding: 12rem 0;
}

/* --- Features Section --- */
.sfFeatures {
  background-color: #ffffff;
  padding: 12rem 0;
}
.sfFeatures__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  .sfFeatures__list {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.sfFeatures__item {
  background-color: #F6F6F6;
  padding: 4rem 3rem;
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  position: relative;
  transition: all 0.3s ease;
}
.sfFeatures__item:hover {
  transform: translateY(-4px);
}
.sfFeatures__iconWrap {
  width: 6rem;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  margin-bottom: 2rem;
}
.sfFeatures__iconWrap i {
  font-size: 2.4rem;
  color: #ffffff;
}
.sfFeatures__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 8rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.05;
  position: absolute;
  top: 2rem;
  right: 2rem;
  line-height: 1;
}
.sfFeatures__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.sfFeatures__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- CTA Section (Primary Gradient – Contact/Inquiry) --- */
.sfCta {
  background-color: #000000;
  padding: 10rem 0;
  text-align: center;
}
.sfCta__box {
  max-width: 700px;
  margin: 0 auto;
}
.sfCta__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #ffffff;
  line-height: 2;
  margin-bottom: 4rem;
}
.sfCta__btn {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ffffff;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 1.8rem 4rem;
  border-radius: 47px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.sfCta__btn:hover {
  background: #ffffff;
  color: #BB19B7;
}
.sfCta__btn svg {
  width: 1.8rem;
  height: 1.8rem;
  stroke: currentColor;
  transition: stroke 0.3s ease;
}

/* ================================================================
   LAB DEVELOPMENT / TECH PARTNER PAGE STYLES
   (プロフェッショナル向け技術支援)
   Design Guideline Compliant
   ================================================================ */

/* --- Lab Header fix: always white bg --- */
/* .page-service-lab .header — removed: now uses default transparent→white scroll behavior */

/* --- Shared Section Base --- */
.labSection {
  padding: 10rem 0;
  position: relative;
  overflow: hidden;
}
.labSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.labSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.03;
  position: absolute;
  top: 6rem;
  right: -2rem;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.labSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.labSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.5;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .labSection__heading {
    font-size: 2.4rem;
  }
  .labSection__deco {
    font-size: 6rem;
    top: 3rem;
  }
}
.labSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  margin-bottom: 2rem;
}
.labSection__text:last-child {
  margin-bottom: 0;
}

/* --- Service Logo Section --- */
.labLogo {
  padding: 8rem 0 4rem;
  background-color: #ffffff;
  text-align: center;
}
.labLogo__box {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.labLogo__icon {
  width: 10rem;
  height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
}
.labLogo__icon i {
  font-size: 4.5rem;
  color: #ffffff;
}
@media only screen and (max-width: 768px) {
  .labLogo__icon {
    width: 8rem;
    height: 8rem;
  }
  .labLogo__icon i {
    font-size: 3.5rem;
  }
}
.labLogo__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  letter-spacing: 0.05em;
}
.labLogo__titleEn {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 500;
  color: #3B4043;
  letter-spacing: 0.15em;
}

/* --- Catch Copy Section --- */
.labCatch {
  padding: 6rem 0 10rem;
  background-color: #ffffff;
  text-align: center;
}
.labCatch__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.7;
}
@media only screen and (max-width: 768px) {
  .labCatch__heading {
    font-size: 2.2rem;
  }
}

/* --- Description Section --- */
.labDesc {
  background-color: #F6F6F6;
  padding: 12rem 0;
}

/* --- Issues Section --- */
.labIssues {
  background-color: #ffffff;
  padding: 12rem 0;
}
.labIssues__list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.labIssues__card {
  background-color: #F6F6F6;
  padding: 4rem;
  border-left: 4px solid;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  position: relative;
  transition: all 0.3s ease;
}
.labIssues__card:hover {
  transform: translateX(6px);
}
.labIssues__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 8rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.05;
  position: absolute;
  top: 1.5rem;
  right: 2rem;
  line-height: 1;
}
.labIssues__target {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
}
.labIssues__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.labIssues__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
@media only screen and (max-width: 768px) {
  .labIssues__card {
    padding: 3rem 2.5rem;
  }
  .labIssues__number {
    font-size: 5rem;
  }
  .labIssues__cardTitle {
    font-size: 1.8rem;
  }
}

/* --- Features Section --- */
.labFeatures {
  background-color: #F6F6F6;
  padding: 12rem 0;
}
.labFeatures__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  .labFeatures__list {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.labFeatures__item {
  background-color: #ffffff;
  padding: 4rem 3rem;
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  position: relative;
  transition: all 0.3s ease;
}
.labFeatures__item:hover {
  transform: translateY(-4px);
}
.labFeatures__iconWrap {
  width: 6rem;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  margin-bottom: 2rem;
}
.labFeatures__iconWrap i {
  font-size: 2.4rem;
  color: #ffffff;
}
.labFeatures__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 8rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.05;
  position: absolute;
  top: 2rem;
  right: 2rem;
  line-height: 1;
}
.labFeatures__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.labFeatures__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Engagement Models Section --- */
.labModels {
  background-color: #ffffff;
  padding: 12rem 0;
}
.labModels__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  .labModels__list {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.labModels__card {
  background-color: #F6F6F6;
  padding: 4rem 3rem;
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #0491A3, #01E089) 1;
  transition: all 0.3s ease;
}
.labModels__card:hover {
  transform: translateY(-4px);
}
.labModels__iconWrap {
  width: 6rem;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0491A3, #01E089);
  border-radius: 50%;
  margin-bottom: 2rem;
}
.labModels__iconWrap i {
  font-size: 2.4rem;
  color: #ffffff;
}
.labModels__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.labModels__cardSub {
  display: block;
  font-size: 1.3rem;
  font-weight: 500;
  color: #3B4043;
  margin-top: 0.5rem;
}
.labModels__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Technical Stack Section --- */
.labTech {
  background-color: #000000;
  padding: 10rem 0;
}
.labTech .labSection__label {
  color: rgba(255, 255, 255, 0.5);
}
.labTech .labSection__heading {
  color: #ffffff;
}
.labTech .labSection__deco {
  color: #ffffff;
}
.labTech__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 1024px) {
  .labTech__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .labTech__list {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.labTech__item {
  text-align: center;
}
.labTech__iconWrap {
  width: 7rem;
  height: 7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  margin: 0 auto 2rem;
}
.labTech__iconWrap i {
  font-size: 2.8rem;
  color: #ffffff;
}
.labTech__category {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
}
.labTech__detail {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.7);
}

/* ================================================================
   RESERVATION SYSTEM PAGE STYLES
   (セミオーダー型 予約管理・マッチングシステム)
   Design Guideline Compliant
   ================================================================ */

/* --- Reservation Header fix: always white bg --- */
/* .page-service-reservation .header — removed: now uses default transparent→white scroll behavior */

/* --- Shared Section Base --- */
.rsvSection {
  padding: 10rem 0;
  position: relative;
  overflow: hidden;
}
.rsvSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.rsvSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.03;
  position: absolute;
  top: 6rem;
  right: -2rem;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.rsvSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.rsvSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.5;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .rsvSection__heading { font-size: 2.4rem; }
  .rsvSection__deco { font-size: 6rem; top: 3rem; }
}
.rsvSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  margin-bottom: 2rem;
}
.rsvSection__text:last-child { margin-bottom: 0; }

/* --- Service Logo --- */
.rsvLogo {
  padding: 8rem 0 4rem;
  background-color: #ffffff;
  text-align: center;
}
.rsvLogo__box {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.rsvLogo__icon {
  width: 10rem;
  height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
}
.rsvLogo__icon i { font-size: 4.5rem; color: #ffffff; }
@media only screen and (max-width: 768px) {
  .rsvLogo__icon { width: 8rem; height: 8rem; }
  .rsvLogo__icon i { font-size: 3.5rem; }
}
.rsvLogo__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  letter-spacing: 0.05em;
}

/* --- Catch Copy --- */
.rsvCatch {
  padding: 6rem 0 10rem;
  background-color: #ffffff;
  text-align: center;
}
.rsvCatch__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.7;
}
@media only screen and (max-width: 768px) {
  .rsvCatch__heading { font-size: 2.2rem; }
}
.rsvCatch__sub {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #3B4043;
  line-height: 2.2;
  max-width: 800px;
  margin: 3rem auto 0;
}

/* --- Concept --- */
.rsvConcept { background-color: #F6F6F6; padding: 12rem 0; }

/* --- Features (stacked cards) --- */
.rsvFeatures { background-color: #ffffff; padding: 12rem 0; }
.rsvFeatures__list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.rsvFeatures__card {
  background-color: #F6F6F6;
  padding: 4rem;
  border-left: 4px solid;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  position: relative;
  transition: all 0.3s ease;
}
.rsvFeatures__card:hover { transform: translateX(6px); }
.rsvFeatures__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 8rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.05;
  position: absolute;
  top: 1.5rem;
  right: 2rem;
  line-height: 1;
}
.rsvFeatures__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.rsvFeatures__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
@media only screen and (max-width: 768px) {
  .rsvFeatures__card { padding: 3rem 2.5rem; }
  .rsvFeatures__number { font-size: 5rem; }
  .rsvFeatures__cardTitle { font-size: 1.8rem; }
}

/* --- Functions --- */
.rsvFunctions { background-color: #F6F6F6; padding: 12rem 0; }
.rsvFunctions__subHeading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  padding-left: 1.5rem;
  border-left: 4px solid;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  margin-bottom: 3rem;
}
.rsvFunctions__subLead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
  margin-bottom: 3rem;
  margin-top: -1rem;
}
.rsvFunctions__sub { margin-top: 6rem; }
.rsvFunctions__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .rsvFunctions__grid { grid-template-columns: 1fr; gap: 2rem; }
}
.rsvFunctions__card {
  background-color: #ffffff;
  padding: 3rem 2.5rem;
  transition: all 0.3s ease;
}
.rsvFunctions__card:hover { transform: translateY(-4px); }
.rsvFunctions__cardIcon {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  margin-bottom: 2rem;
}
.rsvFunctions__cardIcon.-secondary {
  background: linear-gradient(135deg, #0491A3, #01E089);
}
.rsvFunctions__cardIcon i { font-size: 2rem; color: #ffffff; }
.rsvFunctions__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
}
.rsvFunctions__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Use Cases --- */
.rsvCases { background-color: #ffffff; padding: 12rem 0; }
.rsvCases__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  .rsvCases__list { grid-template-columns: 1fr; gap: 3rem; }
}
.rsvCases__card {
  background-color: #F6F6F6;
  padding: 4rem 3rem;
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  transition: all 0.3s ease;
}
.rsvCases__card:hover { transform: translateY(-4px); }
.rsvCases__icon {
  width: 6rem;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  margin-bottom: 2rem;
}
.rsvCases__icon i { font-size: 2.4rem; color: #ffffff; }
.rsvCases__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.rsvCases__cardTag {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
}
.rsvCases__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Flow --- */
.rsvFlow { background-color: #F6F6F6; padding: 12rem 0; }
.rsvFlow__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 1024px) {
  .rsvFlow__steps { grid-template-columns: repeat(2, 1fr); gap: 3rem; }
}
@media only screen and (max-width: 768px) {
  .rsvFlow__steps { grid-template-columns: 1fr; gap: 3rem; }
}
.rsvFlow__step {
  text-align: center;
  position: relative;
  padding: 0 1rem;
}
.rsvFlow__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 2.5rem;
  right: -1.5rem;
  width: 1.2rem;
  height: 1.2rem;
  border-top: 2px solid #CC2A8D;
  border-right: 2px solid #CC2A8D;
  transform: rotate(45deg);
}
@media only screen and (max-width: 1024px) {
  .rsvFlow__step:not(:last-child)::after { display: none; }
}
.rsvFlow__stepNum {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 auto 2rem;
}
.rsvFlow__stepTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1rem;
}
.rsvFlow__stepText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #3B4043;
  margin-bottom: 1rem;
}
.rsvFlow__stepDuration {
  display: inline-block;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: 600;
  color: #CC2A8D;
  letter-spacing: 0.05em;
  border: 1px solid #CC2A8D;
  border-radius: 30px;
  padding: 0.3rem 1.2rem;
}

/* --- Price --- */
.rsvPrice { background-color: #000000; padding: 10rem 0; }
.rsvPrice .rsvSection__label { color: rgba(255, 255, 255, 0.5); }
.rsvPrice .rsvSection__heading { color: #ffffff; }
.rsvPrice__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 2;
  margin-bottom: 4rem;
  margin-top: -2rem;
}
.rsvPrice__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .rsvPrice__grid { grid-template-columns: 1fr; }
}
.rsvPrice__card {
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 4rem 3rem;
  text-align: center;
}
.rsvPrice__cardLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 1.5rem;
}
.rsvPrice__cardValue {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 4.8rem;
  font-weight: 700;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}
.rsvPrice__cardUnit { font-size: 2rem; }
.rsvPrice__cardTax {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 0.5rem;
}
.rsvPrice__cardInclude {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.8;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.rsvPrice__note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 3rem;
  text-align: center;
}

/* =============================================
   Culture Page (Philosophy & Culture)
   ============================================= */

/* --- Base Section --- */
.cultureSection {
  padding: 12.4rem 0;
  position: relative;
  overflow: hidden;
}
.cultureSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.cultureSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.03);
  position: absolute;
  top: 6rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  line-height: 1;
  pointer-events: none;
  z-index: 0;
}
.cultureSection__label {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6E11CB;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.cultureSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 3rem;
}
.cultureSection__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 2.4rem;
}
.cultureSection__text:last-child {
  margin-bottom: 0;
}

/* --- Intro Section --- */
.cultureIntro {
  padding: 8rem 0 4rem;
}
.cultureIntro__lead {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.03em;
  max-width: 900px;
  margin: 0 auto;
}

/* --- Philosophy Section --- */
.culturePhilosophy {
  background-color: #F6F6F6;
}

/* --- Mission Section --- */
.cultureVision {
  padding: 10rem 0 8rem;
}
.cultureMission {
  background-color: #ffffff;
  padding: 8rem 0;
}

/* --- Values Section --- */
.cultureValues {
  background-color: #ffffff;
}
.cultureValues .cultureSection__text {
  margin-bottom: 4rem;
}
.cultureValues__list {
  display: flex;
  flex-direction: column;
}
.cultureValues__item {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding: 4rem 0;
  border-bottom: 1px solid #e0e0e0;
}
.cultureValues__item:first-child {
  padding-top: 0;
}
.cultureValues__item:last-child {
  border-bottom: none;
}
.cultureValues__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  flex-shrink: 0;
}
.cultureValues__body {
  flex: 1;
}
.cultureValues__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 0.8rem;
  line-height: 1.6;
}
.cultureValues__enTitle {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 500;
  color: #6E11CB;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
}
.cultureValues__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Message Section --- */
.cultureMessage {
  background-color: #F6F6F6;
  text-align: center;
}
.cultureMessage__heading {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 3rem;
}
.cultureMessage__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin: 0 auto;
}

/* --- Culture Responsive --- */
@media only screen and (max-width: 768px) {
  .cultureSection__deco {
    font-size: 6rem;
    top: 3rem;
  }
  .cultureSection__heading {
    font-size: 2.4rem;
  }
  .cultureIntro__lead {
    font-size: 1.4rem;
    line-height: 2.2;
  }
  .cultureValues__item {
    flex-direction: column;
    gap: 1.5rem;
    padding: 3rem 0;
  }
  .cultureValues__number {
    font-size: 4rem;
  }
  .cultureMessage__heading {
    font-size: 2.6rem;
  }
}

/* ==========================================================
   PRESALES SUPPORT PAGE STYLES (pss prefix)
   ========================================================== */

/* --- Section Base --- */
.pssSection {
  padding: 12.4rem 0;
  position: relative;
  overflow: hidden;
}
.pssSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.pssSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.03);
  position: absolute;
  top: 6rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  line-height: 1;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .pssSection__deco {
    font-size: 6rem;
    top: 3rem;
  }
}
.pssSection__label {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6E11CB;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.pssSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .pssSection__heading {
    font-size: 2.4rem;
  }
}
.pssSection__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 4rem;
}

/* --- Intro Section --- */
.pssIntro {
  padding: 8rem 0 4rem;
}
.pssIntro__lead {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.03em;
  max-width: 900px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .pssIntro__lead {
    font-size: 1.4rem;
    line-height: 2.2;
  }
}

/* --- Pain / Issues Section --- */
.pssPain {
  background-color: #F6F6F6;
}
.pssPain__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .pssPain__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.pssPain__card {
  background-color: #ffffff;
  padding: 3.5rem 3rem;
  transition: opacity 0.3s ease;
}
.pssPain__card:hover {
  opacity: 0.8;
}
.pssPain__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  color: #ffffff;
  font-size: 2rem;
  margin-bottom: 2rem;
}
.pssPain__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.2rem;
}
.pssPain__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Concept Section --- */
.pssConcept {
  background-color: #ffffff;
}
.pssConcept__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 2rem;
}
.pssConcept__text:last-child {
  margin-bottom: 0;
}
.pssConcept__text strong {
  color: #272727;
  font-weight: 700;
}

/* --- Services Section (Numbered List) --- */
.pssServices {
  background-color: #F6F6F6;
}
.pssServices__list {
  display: flex;
  flex-direction: column;
}
.pssServices__item {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding: 4rem 0;
  border-bottom: 1px solid #e0e0e0;
}
.pssServices__item:first-child {
  padding-top: 0;
}
.pssServices__item:last-child {
  border-bottom: none;
}
@media only screen and (max-width: 768px) {
  .pssServices__item {
    flex-direction: column;
    gap: 1.5rem;
    padding: 3rem 0;
  }
}
.pssServices__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .pssServices__number {
    font-size: 4rem;
  }
}
.pssServices__body {
  flex: 1;
}
.pssServices__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.pssServices__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Merit Section (Numbered List) --- */
.pssMerit {
  background-color: #ffffff;
}
.pssMerit__list {
  display: flex;
  flex-direction: column;
}
.pssMerit__item {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding: 4rem 0;
  border-bottom: 1px solid #e0e0e0;
}
.pssMerit__item:first-child {
  padding-top: 0;
}
.pssMerit__item:last-child {
  border-bottom: none;
}
@media only screen and (max-width: 768px) {
  .pssMerit__item {
    flex-direction: column;
    gap: 1.5rem;
    padding: 3rem 0;
  }
}
.pssMerit__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .pssMerit__number {
    font-size: 4rem;
  }
}
.pssMerit__body {
  flex: 1;
}
.pssMerit__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.pssMerit__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Plans Section --- */
.pssPlans {
  background-color: #F6F6F6;
}
.pssPlans__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .pssPlans__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.pssPlans__card {
  border: 1px solid #e0e0e0;
  overflow: hidden;
  background-color: #ffffff;
}
.pssPlans__cardHeader {
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 2.5rem 3rem;
}
.pssPlans__cardLabel {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}
.pssPlans__cardName {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #ffffff;
}
.pssPlans__cardBody {
  padding: 3rem;
}
.pssPlans__cardDesc {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #e0e0e0;
}
.pssPlans__cardPrice {
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #e0e0e0;
}
.pssPlans__cardPriceLabel {
  font-family: "Jost", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #6E11CB;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.8rem;
}
.pssPlans__cardPriceValue {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
}
.pssPlans__cardPriceNote {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: #999;
  margin-top: 0.5rem;
}
.pssPlans__cardRecommend {}
.pssPlans__cardRecommendLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 0.8rem;
}
.pssPlans__cardRecommendText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* --- CTA Text --- */
.pssCta {
  padding: 8rem 0 0;
}
.pssCta__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 4rem;
  text-align: center;
}
.pssCta__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 4rem;
}
.pssCtaBanner {
  background: #1a1a2e;
  padding: 8rem 0;
  text-align: center;
}
.pssCtaBanner__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 4rem;
}
.pssCtaBanner__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.5;
  margin-bottom: 2.4rem;
}
.pssCtaBanner__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  color: rgba(255, 255, 255, 0.75);
  line-height: 2.2;
  margin-bottom: 1.6rem;
}
.pssCtaBanner__note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 2;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .pssCtaBanner { padding: 6rem 0; }
  .pssCtaBanner__inner { padding: 0 2rem; }
  .pssCtaBanner__title { font-size: 2.2rem; }
}

/* --- SP-only utility --- */
.page-service-presales .-spOnly {
  display: none;
}
@media only screen and (max-width: 768px) {
  .page-service-presales .-spOnly {
    display: inline;
  }
}

/* ================================================
   HISTORY PAGE (standalone) — page-history
   ================================================ */
.page-history .infoHistory.historyPage {
  padding-top: 8rem;
  padding-bottom: 12rem;
}
.page-history .infoHistory__text span {
  display: block;
  margin-top: 2rem;
}
.page-history .infoHistory__text span img {
  border-radius: 8px;
  max-width: 100%;
}
.page-history .infoHistory__dl {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.page-history .infoHistory__dl.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.page-history .infoHistory.historyPage .infoHistory__table {
  margin-left: 0;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 4rem;
}
@media only screen and (max-width: 1023px) {
  .page-history .infoHistory.historyPage {
    padding-top: 6rem;
    padding-bottom: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-history .infoHistory.historyPage {
    padding-top: 4rem;
    padding-bottom: 6rem;
  }
  .page-history .infoHistory.historyPage .infoHistory__table {
    padding: 0 2.5rem;
  }
}

/* =============================================
   Subsidy Support (sbd) — 補助金・助成金活用支援
   ============================================= */

/* --- Base Section --- */
.sbdSection {
  padding: 12.4rem 0;
  position: relative;
  overflow: hidden;
}
.sbdSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.sbdSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.03);
  position: absolute;
  top: 6rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  line-height: 1;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .sbdSection__deco {
    font-size: 6rem;
    top: 3rem;
  }
}
.sbdSection__label {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6E11CB;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.sbdSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .sbdSection__heading {
    font-size: 2.4rem;
  }
}
.sbdSection__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 4rem;
}

/* --- Intro Section --- */
.sbdIntro {
  padding: 8rem 0 4rem;
}
.sbdIntro__lead {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.03em;
  max-width: 900px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .sbdIntro__lead {
    font-size: 1.4rem;
    line-height: 2.2;
  }
}

/* --- Pain / Issues Section --- */
.sbdPain {
  background-color: #F6F6F6;
}
.sbdPain__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .sbdPain__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.sbdPain__card {
  background-color: #ffffff;
  padding: 3.5rem 3rem;
  transition: opacity 0.3s ease;
}
.sbdPain__card:hover {
  opacity: 0.8;
}
.sbdPain__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  color: #ffffff;
  font-size: 2rem;
  margin-bottom: 2rem;
}
.sbdPain__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
}
.sbdPain__cardText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
}
.sbdPain__closing {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .sbdPain__closing {
    font-size: 1.5rem;
  }
}

/* --- Features Section --- */
.sbdFeatures__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.sbdFeatures__item {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  padding: 4rem;
  border-left: 4px solid transparent;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  background-color: #ffffff;
  transition: transform 0.3s ease;
}
.sbdFeatures__item:hover {
  transform: translateX(6px);
}
@media only screen and (max-width: 768px) {
  .sbdFeatures__item {
    flex-direction: column;
    gap: 1.5rem;
    padding: 3rem 2.5rem;
  }
}
.sbdFeatures__number {
  font-family: "Jost", sans-serif;
  font-size: 8rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.08);
  line-height: 1;
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .sbdFeatures__number {
    font-size: 5rem;
  }
}
.sbdFeatures__body {
  flex: 1;
}
.sbdFeatures__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.sbdFeatures__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
}

/* --- Target Subsidies Section --- */
.sbdTarget {
  background-color: #F6F6F6;
}
.sbdTarget__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .sbdTarget__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.sbdTarget__card {
  background-color: #ffffff;
  border-top: 4px solid transparent;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  transition: transform 0.3s ease;
}
.sbdTarget__card:hover {
  transform: translateY(-4px);
}
.sbdTarget__cardHeader {
  padding: 2.5rem 3rem 0;
}
.sbdTarget__cardName {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
.sbdTarget__cardBody {
  padding: 2rem 3rem 3rem;
}
.sbdTarget__cardLabel {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6E11CB;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
  margin-top: 1.5rem;
}
.sbdTarget__cardLabel:first-child {
  margin-top: 0;
}
.sbdTarget__cardText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.9;
}
.sbdTarget__note {
  font-family: "Noto Sans JP", sans-serif;
  color: #999999;
  font-size: 1.3rem;
  font-weight: 400;
  text-align: center;
}

/* --- Flow Section --- */
.sbdFlow__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .sbdFlow__steps {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.sbdFlow__step {
  background-color: #ffffff;
  padding: 3rem 2.5rem;
  border-top: 3px solid transparent;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  transition: transform 0.3s ease;
}
.sbdFlow__step:hover {
  transform: translateY(-4px);
}
.sbdFlow__stepNum {
  font-family: "Jost", sans-serif;
  font-size: 3.6rem;
  font-weight: 700;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
  margin-bottom: 1.5rem;
  line-height: 1;
}
.sbdFlow__stepTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.sbdFlow__stepText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 2;
}

/* --- Cases Section --- */
.sbdCases__card {
  max-width: 800px;
  border-left: 4px solid transparent;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  overflow: hidden;
}
.sbdCases__cardHeader {
  background-color: #000000;
  padding: 2.5rem 3rem;
}
.sbdCases__cardIndustry {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: #ffffff;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 0.3rem 1.2rem;
  border-radius: 2rem;
  margin-bottom: 1rem;
}
.sbdCases__cardClient {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
}
.sbdCases__cardBody {
  background-color: #ffffff;
  padding: 3rem;
}
.sbdCases__dl {
  margin-bottom: 2rem;
}
.sbdCases__dl:last-child {
  margin-bottom: 0;
}
.sbdCases__dt {
  font-family: "Noto Sans JP", sans-serif;
  color: #6E11CB;
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
}
.sbdCases__dd {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
}
.sbdCases__note {
  font-family: "Noto Sans JP", sans-serif;
  color: #999999;
  font-size: 1.3rem;
  font-weight: 400;
  margin-top: 3rem;
}

/* --- CTA Section --- */
.sbdCta {
  background-color: #F6F6F6;
  padding: 8rem 0;
}
.sbdCta__heading {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .sbdCta__heading {
    font-size: 2.2rem;
  }
}
.sbdCta__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .sbdCta__text {
    font-size: 1.4rem;
    text-align: left;
  }
}

/* =============================================
   IoT & Hardware Solution (iot)
   ============================================= */

/* --- Base Section --- */
.iotSection {
  padding: 12.4rem 0;
  position: relative;
  overflow: hidden;
}
.iotSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.iotSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.03);
  position: absolute;
  top: 6rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  line-height: 1;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .iotSection__deco {
    font-size: 6rem;
    top: 3rem;
  }
}
.iotSection__label {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6E11CB;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.iotSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .iotSection__heading {
    font-size: 2.4rem;
  }
}
.iotSection__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 4rem;
}

/* --- Intro Section --- */
.iotIntro {
  padding: 8rem 0 4rem;
}
.iotIntro__lead {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.03em;
  max-width: 900px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .iotIntro__lead {
    font-size: 1.4rem;
    line-height: 2.2;
  }
}

/* --- Pain / Issues Section --- */
.iotPain {
  background-color: #F6F6F6;
}
.iotPain__lead {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 4rem;
}
.iotPain__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .iotPain__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.iotPain__card {
  background-color: #ffffff;
  padding: 3.5rem 3rem;
  transition: opacity 0.3s ease;
}
.iotPain__card:hover {
  opacity: 0.8;
}
.iotPain__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  color: #ffffff;
  font-size: 2rem;
  margin-bottom: 2rem;
}
.iotPain__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
}
.iotPain__cardText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
}
.iotPain__closing {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .iotPain__closing {
    font-size: 1.5rem;
  }
}

/* --- Features Section --- */
.iotFeatures__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.iotFeatures__item {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  padding: 4rem;
  border-left: 4px solid transparent;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  background-color: #ffffff;
  transition: transform 0.3s ease;
}
.iotFeatures__item:hover {
  transform: translateX(6px);
}
@media only screen and (max-width: 768px) {
  .iotFeatures__item {
    flex-direction: column;
    gap: 1.5rem;
    padding: 3rem 2.5rem;
  }
}
.iotFeatures__number {
  font-family: "Jost", sans-serif;
  font-size: 8rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.08);
  line-height: 1;
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .iotFeatures__number {
    font-size: 5rem;
  }
}
.iotFeatures__body {
  flex: 1;
}
.iotFeatures__title {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.iotFeatures__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
}

/* --- Solutions Section --- */
.iotSolutions {
  background-color: #F6F6F6;
}
.iotSolutions__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .iotSolutions__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.iotSolutions__card {
  background-color: #ffffff;
  padding: 3.5rem 3rem;
  border-top: 4px solid transparent;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
}
.iotSolutions__card:hover {
  transform: translateY(-4px);
}
.iotSolutions__cardNum {
  font-family: "Jost", sans-serif;
  font-size: 3.6rem;
  font-weight: 700;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
  margin-bottom: 1.5rem;
  line-height: 1;
}
.iotSolutions__cardTitle {
  font-family: "Jost", sans-serif;
  color: #272727;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
  line-height: 1.4;
}
.iotSolutions__cardSub {
  font-family: "Noto Sans JP", sans-serif;
  color: #6E11CB;
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}
.iotSolutions__cardDesc {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  margin-bottom: 2rem;
}
.iotSolutions__cardDetail {
  margin-top: auto;
  padding-top: 2rem;
  border-top: 1px solid #eee;
}
.iotSolutions__cardDetailLabel {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  color: #6E11CB;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: 0.8rem;
  margin-top: 1.5rem;
}
.iotSolutions__cardDetailLabel:first-child {
  margin-top: 0;
}
.iotSolutions__cardDetailList {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem 0;
}
.iotSolutions__cardDetailList li {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.8;
  padding-left: 1.4rem;
  position: relative;
}
.iotSolutions__cardDetailList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
}
.iotSolutions__cardDetailText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.8;
}

/* --- Cases Section --- */
.iotCases {
  background-color: #F6F6F6;
}
.iotCases__card {
  max-width: 800px;
  border-left: 4px solid transparent;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  overflow: hidden;
  margin-bottom: 3rem;
}
.iotCases__cardHeader {
  background-color: #000000;
  padding: 2.5rem 3rem;
}
.iotCases__cardIndustry {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: #ffffff;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 0.3rem 1.2rem;
  border-radius: 2rem;
  margin-bottom: 1rem;
}
.iotCases__cardClient {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
}
.iotCases__cardBody {
  background-color: #ffffff;
  padding: 3rem;
}
.iotCases__dl {
  margin-bottom: 2rem;
}
.iotCases__dl:last-child {
  margin-bottom: 0;
}
.iotCases__dt {
  font-family: "Noto Sans JP", sans-serif;
  color: #6E11CB;
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
}
.iotCases__dd {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
}
.iotCases__moreLink {
  font-family: "Noto Sans JP", sans-serif;
  color: #6E11CB;
  font-size: 1.5rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.iotCases__moreLink:hover {
  opacity: 0.6;
}

/* --- Flow Section --- */
.iotFlow__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .iotFlow__steps {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.iotFlow__step {
  background-color: #ffffff;
  padding: 3rem 2.5rem;
  border-top: 3px solid transparent;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  transition: transform 0.3s ease;
}
.iotFlow__step:hover {
  transform: translateY(-4px);
}
.iotFlow__stepNum {
  font-family: "Jost", sans-serif;
  font-size: 3.6rem;
  font-weight: 700;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
  margin-bottom: 1.5rem;
  line-height: 1;
}
.iotFlow__stepTitle {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.iotFlow__stepText {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 2;
}

/* --- CTA Section --- */
.iotCta {
  background-color: #F6F6F6;
  padding: 8rem 0;
}
.iotCta__heading {
  font-family: "Noto Sans JP", sans-serif;
  color: #272727;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .iotCta__heading {
    font-size: 2.2rem;
  }
}
.iotCta__text {
  font-family: "Noto Sans JP", sans-serif;
  color: #3B4043;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .iotCta__text {
    font-size: 1.4rem;
    text-align: left;
  }
}

/* ========== LOGO SCROLL BAR ========== */
.logoScroll {
  padding: 6rem 0 0;
  overflow: hidden;
  background: #ffffff;
  position: relative;
  z-index: 11;
}
@media only screen and (max-width:768px) {
  .logoScroll {
    padding: 4rem 0 0;
  }
}

.logoScroll__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: logoScrollAnim 30s linear infinite;
          animation: logoScrollAnim 30s linear infinite;
}
.logoScroll__track:hover {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}

.logoScroll__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6rem;
  padding: 0 3rem;
}
@media only screen and (max-width:768px) {
  .logoScroll__list {
    gap: 4rem;
    padding: 0 2rem;
  }
}

.logoScroll__item {
  width: 160px;
  height: 64px;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 1;
}
@media only screen and (max-width:768px) {
  .logoScroll__item {
    width: 120px;
    height: 48px;
  }
}

@-webkit-keyframes logoScrollAnim {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@keyframes logoScrollAnim {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

/* =============================================
   TOP PAGE: New Section Styles (Renewal)
   ============================================= */

/* --- Main Visual: Top page overrides --- */
.page-top .mainVisaul__video::before {
  opacity: 0.55;
}
.page-top .mainVisual__title {
  font-size: 4.4rem;
  font-weight: 700;
}
.page-top .mainVisual__text {
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 2.2;
  color: rgba(255, 255, 255, 0.9);
  max-width: 700px;
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  .page-top .mainVisual__title {
    font-size: 2rem;
  }
  .page-top .mainVisual__text {
    font-size: 1.4rem;
    line-height: 2;
  }
}

/* --- Main Visual CTA buttons --- */
.mainVisual__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  position: relative;
  z-index: 5;
  margin-bottom: 2rem;
}
.mainVisual__cta {
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap;
  position: relative;
  z-index: 5;
  margin-top: 4rem;
}
.mainVisual__ctaBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  padding: 1.6rem 3.2rem;
  border-radius: 40px;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.mainVisual__ctaBtn.-outline {
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.5);
}
.mainVisual__ctaBtn.-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #ffffff;
}
.mainVisual__ctaBtn.-primary {
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  color: #ffffff;
  border: none;
}
.mainVisual__ctaBtn.-primary:hover {
  opacity: 0.85;
}
.mainVisual__ctaBtn.-secondary {
  background: linear-gradient(135deg, #0491A3, #01E089);
  color: #ffffff;
  border: none;
}
.mainVisual__ctaBtn.-secondary:hover {
  opacity: 0.85;
}
@media only screen and (max-width: 768px) {
  .mainVisual__cta { flex-direction: row; gap: 1.2rem; }
  .mainVisual__ctaBtn { font-size: 1.3rem; padding: 1.4rem 1.6rem; text-align: center; flex: 1; }
}
@media only screen and (max-width: 480px) {
  .mainVisual__cta { flex-direction: column; align-items: stretch; }
  .mainVisual__ctaBtn { font-size: 1.4rem; padding: 1.6rem 2rem; flex: none; }
}

/* --- Base Section --- */
.topSection {
  padding: 12rem 0;
  position: relative;
  overflow: hidden;
}
.topSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.topSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.03);
  position: absolute;
  top: 6rem;
  right: -2rem;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.topSection__deco.-white { color: rgba(255, 255, 255, 0.03); }
.topSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2.4rem;
}
.topSection__label.-white { color: rgba(255, 255, 255, 0.5); }
.topSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.7;
  margin-bottom: 2rem;
}
.topSection__heading.-white { color: #ffffff; }
.topSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
}
.topSection__text p + p { margin-top: 2.4rem; }
@media only screen and (max-width: 768px) {
  .topSection { padding: 8rem 0; }
  .topSection__inner { padding: 0 2rem; }
  .topSection__heading { font-size: 2.4rem; }
  .topSection__deco { font-size: 6rem; top: 3rem; }
}

/* --- Philosophy --- */
.topPhilosophy { background: #ffffff; padding: 8rem 0; }
.topPhilosophy .topSection__text { max-width: 100%; }
.sectionLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: #ffffff;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 1.6rem 3.2rem;
  border-radius: 40px;
  transition: all 0.3s ease;
  white-space: nowrap;
  margin-top: 3rem;
}
.sectionLink:hover { opacity: 0.85; }
.sectionLink.-outline {
  background: transparent;
  color: #272727;
  border: 1px solid #272727;
}
.sectionLink.-outline:hover { background: #272727; color: #ffffff; opacity: 1; }
.sectionLink__arrow { display: none;
  height: 10px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
  margin-left: -4px;
}
.topPhilosophy__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8rem;
  align-items: center;
}
.topPhilosophy__visual {
  border-radius: 12px;
  overflow: hidden;
}
.topPhilosophy__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}
@media only screen and (max-width: 768px) {
  .topPhilosophy__grid { grid-template-columns: 1fr; gap: 4rem; }
}

/* --- Value Proposition --- */
.topValue { background: #F6F6F6; }
.topValue__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  max-width: 680px;
  margin-bottom: 6rem;
}
.topValue__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem;
}
.topValue__card {
  background: #ffffff;
  border-radius: 12px;
  padding: 4.8rem 3.6rem;
  transition: transform 0.3s ease;
}
.topValue__card:hover { transform: translateY(-4px); }
.topValue__cardNum {
  font-family: "Jost", sans-serif;
  font-size: 7.2rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 2rem;
}
.topValue__cardLine {
  width: 40px;
  height: 3px;
  border-radius: 2px;
  margin-bottom: 2.4rem;
}
.topValue__cardLine.-pink { background: linear-gradient(135deg, #CC2A8D, #AE0CD9); }
.topValue__cardLine.-green { background: linear-gradient(135deg, #0491A3, #01E089); }
.topValue__cardTitleEn {
  font-family: "Jost", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 0.4rem;
}
.topValue__cardTitleJp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: #3B4043;
  margin-bottom: 2.4rem;
}
.topValue__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
@media only screen and (max-width: 768px) {
  .topValue__cards { grid-template-columns: 1fr; }
  .topValue__card { padding: 3.6rem 2.4rem; }
}

/* --- Services --- */
.topServices { background: #ffffff; }
.topServices__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  max-width: 680px;
  margin-bottom: 6rem;
}
.topServices__blocks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
}
.topServices__block {
  display: flex;
  flex-direction: column;
  padding: 3.6rem;
  background: #F6F6F6;
  border-radius: 16px;
}
.topServices__blockVisual { display: none; }
.topServices__blockNum {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 1.6rem;
}
.topServices__blockNum.-pink { color: #CC2A8D; }
.topServices__blockNum.-green { color: #0491A3; }
.topServices__blockTitle {
  font-family: "Jost", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 0.8rem;
}
.topServices__blockSub {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: #3B4043;
  margin-bottom: 2.4rem;
}
.topServices__blockText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
.topServices__blockVisual {
  aspect-ratio: 16/10;
  border-radius: 10px;
  overflow: hidden;
}
.topServices__blockVisualInner {
  width: 100%;
  height: 100%;
  border-radius: 10px;
}
.topServices__blockVisualInner.-sv1 { background: linear-gradient(135deg, #1a1a2e, #2d1b4e); }
.topServices__blockVisualInner.-sv2 { background: linear-gradient(135deg, #0a2e38, #1a3a4a); }
.topServices__blockVisualInner.-sv3 { background: linear-gradient(135deg, #1e1e3f, #2a1f5e); }
.topServices__blockVisualInner.-sv4 { background: linear-gradient(135deg, #0d2b3e, #1a4050); }
@media only screen and (max-width: 768px) {
  .topServices__blocks {
    grid-template-columns: 1fr;
  }
  .topServices__block {
    padding: 2.8rem 2.4rem;
  }
}

/* --- Approach --- */
.topApproach {
  background: #000000;
}
.topApproach__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: rgba(255, 255, 255, 0.65);
  max-width: 680px;
  margin-bottom: 4rem;
}
.topApproach__items {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.topApproach__item {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 3rem;
  align-items: start;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.topApproach__item:last-child { border-bottom: none; padding-bottom: 0; }
.topApproach__itemLabel {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.4);
  padding-top: 0.4rem;
}
.topApproach__itemTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1.6rem;
}
.topApproach__itemText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: rgba(255, 255, 255, 0.65);
}
@media only screen and (max-width: 768px) {
  .topApproach__item { grid-template-columns: 1fr; gap: 0.8rem; padding-bottom: 2.4rem; }
  .topApproach__items { gap: 2.4rem; }
  .topApproach__lead { margin-bottom: 3rem; }
}

/* --- Works --- */
.topWorks { background: #ffffff; }
.topWorks__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 6.4rem;
}
.topWorks__title {
  font-family: "Jost", sans-serif;
  font-size: clamp(4.8rem, 6vw, 7.2rem);
  font-weight: 700;
  line-height: 1;
  color: #272727;
  letter-spacing: -0.02em;
}
.topWorks__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2;
  color: #3B4043;
  max-width: 720px;
}
.topWorks__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
}
.topWorks__card {
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
  display: block;
  background: #ffffff;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
}
.topWorks__card:hover { box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12); }
.topWorks__cardImg {
  aspect-ratio: 16/9;
  position: relative;
  overflow: hidden;
}
.topWorks__cardImgInner {
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease;
  object-fit: cover;
  display: block;
}
.topWorks__card:hover .topWorks__cardImgInner { transform: none; }
.topWorks__cardImgInner.-wk1 { background: linear-gradient(135deg, #1a1a2e, #2d1b4e); }
.topWorks__cardImgInner.-wk2 { background: linear-gradient(135deg, #0d2b3e, #1a4050); }
.topWorks__cardImgInner.-wk3 { background: linear-gradient(135deg, #2a1f3e, #3d2b5e); }
.topWorks__cardImgInner.-wk4 { background: linear-gradient(135deg, #0a2e38, #1a3a4a); }
.topWorks__cardTag {
  display: inline-block;
  font-family: "Jost", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #6e11cb;
  margin-bottom: 1rem;
}
.topWorks__cardBody { padding: 2.4rem; }
.topWorks__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 0.8rem;
}
.topWorks__cardDesc {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: #3B4043;
  line-height: 1.6;
}
.topWorks__more {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 6.4rem;
}
.topWorks__moreLink {
  font-family: "Jost", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  color: #272727;
  display: flex;
  align-items: center;
  gap: 1.6rem;
  transition: gap 0.3s ease;
}
.topWorks__moreLink:hover { gap: 2.4rem; }
.topWorks__moreArrow {
  width: 4rem;
  height: 4rem;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.topWorks__moreArrow::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
  margin-left: -4px;
}
@media only screen and (max-width: 768px) {
  .topWorks__header { flex-direction: column; align-items: flex-start; gap: 1.6rem; }
  .topWorks__grid { grid-template-columns: 1fr; }
}

/* --- CTA --- */
.topCta {
  background: #1a1a2e;
  text-align: center;
}
.topCta__inner {
  margin: 0 auto;
}
.topCta__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.7;
  color: #ffffff;
  margin-bottom: 2.8rem;
}
.topCta__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 1.6rem;
}
.topCta__note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 4.8rem;
}
.topCta__buttons {
  display: flex;
  justify-content: center;
  gap: 1.6rem;
  flex-wrap: wrap;
}
.topCta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  padding: 1.6rem 3.2rem;
  border-radius: 40px;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.topCta__btn.-primary {
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  color: #ffffff;
}
.topCta__btn.-primary:hover { opacity: 0.85; }
.topCta__btn.-secondary {
  background: linear-gradient(135deg, #0491A3, #01E089);
  color: #ffffff;
}
.topCta__btn.-secondary:hover { opacity: 0.85; }
@media only screen and (max-width: 768px) {
  .topCta__title { font-size: 2.4rem; }
  .topCta__buttons { flex-direction: column; align-items: center; }
  .topCta__btn { width: 100%; }
}

/* ========== OUR SERVICE ========== */
.ourService {
  padding-top: 8rem;
  padding-bottom: 2rem;
}
@media only screen and (max-width:768px) {
  .ourService {
    padding-top: 5rem;
    padding-bottom: 1rem;
  }
}

.ourService__inner {
  width: 100%;
  max-width: 1150px;
  margin: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}

.ourService__title {
  font-family: "Jost", sans-serif;
  font-size: 7.2rem;
  text-align: center;
  font-weight: bold;
  color: #000000;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:768px) {
  .ourService__title {
    font-size: 5rem;
  }
}

/* =============================================
   Housing Management Service Page (社宅管理)
   ============================================= */

/* --- Base Section --- */
.shkSection {
  padding: 10rem 0;
  position: relative;
  overflow: hidden;
}
.shkSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.shkSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.03;
  position: absolute;
  top: 6rem;
  right: -2rem;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.shkSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.shkSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.5;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .shkSection__heading { font-size: 2.4rem; }
  .shkSection__deco { font-size: 6rem; top: 3rem; }
}
.shkSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  margin-bottom: 2rem;
}
.shkSection__text:last-child { margin-bottom: 0; }

/* --- Service Logo --- */
.shkLogo {
  padding: 8rem 0 4rem;
  background-color: #ffffff;
  text-align: center;
}
.shkLogo__box {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.shkLogo__icon {
  width: 10rem;
  height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
}
.shkLogo__icon i { font-size: 4.5rem; color: #ffffff; }
@media only screen and (max-width: 768px) {
  .shkLogo__icon { width: 8rem; height: 8rem; }
  .shkLogo__icon i { font-size: 3.5rem; }
}
.shkLogo__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  letter-spacing: 0.05em;
}

/* --- Catch Copy --- */
.shkCatch {
  padding: 6rem 0 10rem;
  background-color: #ffffff;
  text-align: center;
}
.shkCatch__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.7;
}
@media only screen and (max-width: 768px) {
  .shkCatch__heading { font-size: 2.2rem; }
}
.shkCatch__sub {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #3B4043;
  line-height: 2.2;
  max-width: 800px;
  margin: 3rem auto 0;
}
.shkCatch__imgWrap {
  max-width: 900px;
  margin: 5rem auto 0;
}
.shkCatch__imgWrap img {
  width: 100%;
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}
.shkCatch__imgPlaceholder {
  width: 100%;
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, #1a1a2e 0%, #2d1b4e 100%);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.shkCatch__imgPlaceholderText {
  font-family: "Jost", sans-serif;
  font-size: 2rem;
  color: rgba(255, 255, 255, 0.3);
  letter-spacing: 0.1em;
}

/* --- Issues --- */
.shkIssues { background-color: #F6F6F6; padding: 12rem 0; }

/* --- Concept --- */
.shkConcept { background-color: #ffffff; padding: 12rem 0; }

/* --- Features / Strengths (stacked cards) --- */
.shkStrengths { background-color: #F6F6F6; padding: 12rem 0; }
.shkFeatures__list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.shkFeatures__card {
  background-color: #F6F6F6;
  padding: 4rem;
  border-left: 4px solid;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  position: relative;
  transition: all 0.3s ease;
}
.shkIssues .shkFeatures__card { background-color: #ffffff; }
.shkStrengths .shkFeatures__card { background-color: #ffffff; }
.shkFeatures__card:hover { transform: translateX(6px); }
.shkFeatures__number {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 8rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.05;
  position: absolute;
  top: 1.5rem;
  right: 2rem;
  line-height: 1;
}
.shkFeatures__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.shkFeatures__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
@media only screen and (max-width: 768px) {
  .shkFeatures__card { padding: 3rem 2.5rem; }
  .shkFeatures__number { font-size: 5rem; }
  .shkFeatures__cardTitle { font-size: 1.8rem; }
}

/* --- Functions --- */
.shkFunctions { background-color: #ffffff; padding: 12rem 0; }
.shkFunctions__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .shkFunctions__grid { grid-template-columns: 1fr; gap: 2rem; }
}
.shkFunctions__card {
  background-color: #F6F6F6;
  padding: 3rem 2.5rem;
  transition: all 0.3s ease;
}
.shkFunctions__card:hover { transform: translateY(-4px); }
.shkFunctions__cardIcon {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  margin-bottom: 2rem;
}
.shkFunctions__cardIcon i { font-size: 2rem; color: #ffffff; }
.shkFunctions__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
}
.shkFunctions__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 2;
  color: #3B4043;
}

/* --- Flow --- */
.shkFlow { background-color: #F6F6F6; padding: 12rem 0; }
.shkFlow__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 1024px) {
  .shkFlow__steps { grid-template-columns: repeat(2, 1fr); gap: 3rem; }
}
@media only screen and (max-width: 768px) {
  .shkFlow__steps { grid-template-columns: 1fr; gap: 3rem; }
}
.shkFlow__step {
  text-align: center;
  position: relative;
  padding: 0 1rem;
}
.shkFlow__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 2.5rem;
  right: -1.5rem;
  width: 1.2rem;
  height: 1.2rem;
  border-top: 2px solid #CC2A8D;
  border-right: 2px solid #CC2A8D;
  transform: rotate(45deg);
}
@media only screen and (max-width: 1024px) {
  .shkFlow__step:not(:last-child)::after { display: none; }
}
.shkFlow__stepNum {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 auto 2rem;
}
.shkFlow__stepTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1rem;
}
.shkFlow__stepText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #3B4043;
  margin-bottom: 1rem;
}
.shkFlow__stepDuration {
  display: inline-block;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: 600;
  color: #CC2A8D;
  letter-spacing: 0.05em;
  border: 1px solid #CC2A8D;
  border-radius: 30px;
  padding: 0.3rem 1.2rem;
}

/* --- Price --- */
.shkPrice { background-color: #000000; padding: 10rem 0; }
.shkPrice .shkSection__label { color: rgba(255, 255, 255, 0.5); }
.shkPrice .shkSection__heading { color: #ffffff; }
.shkPrice__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 2;
  margin-bottom: 4rem;
  margin-top: -2rem;
}
.shkPrice__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .shkPrice__grid { grid-template-columns: 1fr; }
}
.shkPrice__card {
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 4rem 3rem;
  text-align: center;
}
.shkPrice__cardLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 1.5rem;
}
.shkPrice__cardValue {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 4.8rem;
  font-weight: 700;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}
.shkPrice__cardUnit { font-size: 2rem; }
.shkPrice__cardTax {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 0.5rem;
}
.shkPrice__cardInclude {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.8;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.shkPrice__note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 3rem;
  text-align: center;
}

/* --- CTA --- */
.shkCta {
  background-color: #F6F6F6;
  padding: 10rem 0;
  text-align: center;
}
.shkCta__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.7;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .shkCta__heading { font-size: 2.2rem; }
}
.shkCta__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  max-width: 800px;
  margin: 0 auto;
}

/* =============================================
   Responsive Overrides (Mobile/Tablet)
   ============================================= */

/* --- SERVICE Sitemap: 2-column grid on mobile --- */
@media only screen and (max-width: 768px) {
  .ourBusiness__sitemapInner {
    flex-wrap: wrap;
    overflow-x: visible;
    white-space: normal;
    padding: 2rem 2rem 3rem;
  }
  .ourBusiness__sitemapContainer {
    width: calc(50% - 1.5rem);
    margin-right: 0;
    padding-right: 0;
    border-right: none;
    margin-bottom: 2rem;
    white-space: normal;
  }
  .ourBusiness__sitemapTitle {
    font-size: 1.3rem;
    white-space: normal;
    line-height: 1.5;
  }
  .ourBusiness__sitemapItem {
    white-space: normal;
  }
  .ourBusiness__sitemapContainer:nth-child(odd) {
    margin-right: 1.5rem;
    padding-right: 1.5rem;
    border-right: 1px solid rgba(255, 255, 255, 0.3);
  }
  .ourBusiness__sitemapContainer:last-child {
    border-right: none;
    margin-bottom: 0;
  }
  .ourBusiness__sitemapContainer:nth-last-child(2):nth-child(odd) ~ .ourBusiness__sitemapContainer {
    margin-bottom: 0;
  }
}

/* =============================================
   Project Pages (事例一覧・詳細)
   ============================================= */

/* --- Base Section --- */
.prjSection {
  padding: 10rem 0;
  position: relative;
  overflow: hidden;
}
.prjSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.prjSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.03;
  position: absolute;
  top: 6rem;
  right: -2rem;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.prjSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.prjSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.5;
  margin-bottom: 4rem;
}
.prjSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  margin-bottom: 2rem;
}
.prjSection__text:last-child { margin-bottom: 0; }
@media only screen and (max-width: 768px) {
  .prjSection { padding: 8rem 0; }
  .prjSection__inner { padding: 0 2rem; }
  .prjSection__heading { font-size: 2.4rem; }
  .prjSection__deco { font-size: 6rem; top: 3rem; }
}

/* --- Project List Page --- */
.prjList { background: #ffffff; padding: 12rem 0; }
.prjList__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .prjList__grid { grid-template-columns: 1fr; }
}
.prjList__card {
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s ease;
}
.prjList__card:hover {
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}
.prjList__cardImg {
  aspect-ratio: 16/9;
  overflow: hidden;
}
.prjList__cardImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.prjList__cardImgInner {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.prjList__cardImgInner.-wk1 { background: linear-gradient(135deg, #1a1a2e, #2d1b4e); }
.prjList__cardImgInner.-wk2 { background: linear-gradient(135deg, #0a2e38, #1a3a4a); }
.prjList__cardImgInner.-wk3 { background: linear-gradient(135deg, #1e1e3f, #2a1f5e); }
.prjList__cardImgInner.-wk4 { background: linear-gradient(135deg, #0d2b3e, #1a4050); }
.prjList__cardBody {
  padding: 2.4rem;
}
.prjList__cardTag {
  display: inline-block;
  font-family: "Jost", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #6e11cb;
  margin-bottom: 1rem;
}
.prjList__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 0.8rem;
}
.prjList__cardDesc {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: #3B4043;
  line-height: 1.8;
}

/* --- Project Detail: Overview --- */
.prjOverview { background: #ffffff; padding: 8rem 0 10rem; }
.prjDetail__tag {
  display: inline-block;
  font-family: "Jost", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #ffffff;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 0.4rem 1.6rem;
  border-radius: 20px;
  margin-bottom: 2.4rem;
}
.prjDetail__meta {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 4rem;
  padding-top: 4rem;
  border-top: 1px solid #E8E8E8;
}
.prjDetail__metaLabel {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: rgba(59, 64, 67, 0.6);
  margin-bottom: 0.4rem;
}
.prjDetail__metaValue {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #272727;
}
@media only screen and (max-width: 768px) {
  .prjDetail__meta { grid-template-columns: 1fr; gap: 1.6rem; }
}

/* --- Project Detail: Challenge / Solution --- */
.prjChallenge { background: #F6F6F6; }
.prjSolution { background: #ffffff; }

/* --- Project Detail: Results --- */
.prjResults { background: #000000; }
.prjResults .prjSection__label { color: rgba(255, 255, 255, 0.5); }
.prjResults .prjSection__heading { color: #ffffff; }
.prjResults .prjSection__text { color: rgba(255, 255, 255, 0.7); }
.prjResults__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .prjResults__grid { grid-template-columns: 1fr; }
}
.prjResults__card {
  text-align: center;
  padding: 3rem 2rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
}
.prjResults__cardValue {
  font-family: "Jost", sans-serif;
  font-size: 3.6rem;
  font-weight: 700;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.3;
  margin-bottom: 0.8rem;
}
.prjResults__cardLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.6);
}

/* --- Project Detail: Back Link --- */
.prjBack { padding: 6rem 0; background: #F6F6F6; }
.prjBack__btn {
  display: inline-flex;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: #272727;
  padding: 1.4rem 4rem;
  border: 1px solid #272727;
  border-radius: 40px;
  transition: all 0.3s ease;
}
.prjBack__btn:hover {
  background: #272727;
  color: #ffffff;
}

/* --- Project Detail: Article Layout --- */
.prjArticle {
  background: #ffffff;
  padding: 0 0 8rem;
}
.prjArticle__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 4rem;
}
.prjArticle__hero {
  background: #F6F6F6;
  padding: 6rem 0;
  margin-bottom: 6rem;
}
.prjArticle__heroInner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 4rem;
}
.prjArticle__tag {
  display: inline-block;
  font-family: "Jost", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #ffffff;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 0.5rem 2rem;
  border-radius: 20px;
  margin-bottom: 2rem;
}
.prjArticle__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.prjArticle__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
}
@media only screen and (max-width: 768px) {
  .prjArticle__inner { padding: 0 2rem; }
  .prjArticle__heroInner { padding: 0 2rem; }
  .prjArticle__title { font-size: 2.4rem; }
  .prjArticle__hero { padding: 4rem 0; margin-bottom: 4rem; }
}

/* --- Article: Table of Contents --- */
.prjArticle__toc {
  background: #F6F6F6;
  border-radius: 12px;
  padding: 3rem;
  margin-bottom: 6rem;
}
.prjArticle__tocTitle {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #6e11cb;
  margin-bottom: 2rem;
}
.prjArticle__tocList {
  list-style: none;
  counter-reset: toc-counter;
}
.prjArticle__tocItem {
  counter-increment: toc-counter;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  color: #3B4043;
  line-height: 1.8;
  padding: 0.6rem 0;
  border-bottom: 1px solid #E8E8E8;
}
.prjArticle__tocItem:last-child { border-bottom: none; }
.prjArticle__tocItem::before {
  content: counter(toc-counter, decimal-leading-zero) ".";
  font-family: "Jost", sans-serif;
  font-weight: 600;
  color: #6e11cb;
  margin-right: 1rem;
}

/* --- Article: Section Headings --- */
.prjArticle__h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  padding-bottom: 1.6rem;
  border-bottom: 3px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
  margin-top: 6rem;
  margin-bottom: 3rem;
}
.prjArticle__h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  padding-left: 1.6rem;
  border-left: 4px solid;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  margin-top: 4rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .prjArticle__h2 { font-size: 2rem; }
  .prjArticle__h3 { font-size: 1.6rem; }
}

/* --- Article: Body Text --- */
.prjArticle__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  margin-bottom: 2rem;
}

/* --- Article: Highlight Box --- */
.prjArticle__highlight {
  background: #F6F6F6;
  border-radius: 12px;
  padding: 3rem;
  margin: 3rem 0;
}
.prjArticle__highlightTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
}

/* --- Article: Ordered/Unordered List --- */
.prjArticle__list {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  padding-left: 2rem;
  margin-bottom: 2rem;
}
.prjArticle__list li {
  margin-bottom: 0.8rem;
}

/* --- Article: Image --- */
.prjArticle__img {
  width: 100%;
  margin: 3rem 0;
  border-radius: 12px;
  overflow: hidden;
}
.prjArticle__img img {
  width: 100%;
  height: auto;
  display: block;
}
.prjArticle__imgCaption {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: rgba(59, 64, 67, 0.6);
  text-align: center;
  margin-top: 1rem;
}
.prjArticle__imgFull {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.prjArticle__imgFull img {
  width: 100%;
  height: auto;
  display: block;
}

/* --- Article: Metrics Grid --- */
.prjArticle__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin: 4rem 0;
}
@media only screen and (max-width: 768px) {
  .prjArticle__metrics { grid-template-columns: 1fr; }
}
.prjArticle__metric {
  text-align: center;
  padding: 3rem 2rem;
  background: #F6F6F6;
  border-radius: 12px;
}
.prjArticle__metricValue {
  font-family: "Jost", sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.3;
  margin-bottom: 0.6rem;
}
.prjArticle__metricLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: #3B4043;
}

/* --- Article: Related Links --- */
.prjArticle__links {
  margin-top: 6rem;
  padding: 3rem;
  background: #F6F6F6;
  border-radius: 12px;
}
.prjArticle__linksTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 2rem;
}
.prjArticle__linksList {
  list-style: none;
}
.prjArticle__linksItem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #6e11cb;
  padding: 1.2rem 0;
  border-bottom: 1px solid #E8E8E8;
  transition: opacity 0.3s ease;
}
.prjArticle__linksItem:hover { opacity: 0.7; }
.prjArticle__linksList li:last-child .prjArticle__linksItem { border-bottom: none; }
.prjArticle__linksArrow {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #6e11cb;
  border-right: 2px solid #6e11cb;
  transform: rotate(45deg);
  flex-shrink: 0;
  margin-left: 1rem;
}

/* --- Article: Meta Info --- */
.prjArticle__meta {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 3rem;
  background: #F6F6F6;
  border-radius: 12px;
  margin-bottom: 4rem;
}
.prjArticle__metaRow {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
}
.prjArticle__metaLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: rgba(59, 64, 67, 0.6);
  white-space: nowrap;
  min-width: 8rem;
  padding-top: 0.2rem;
}
.prjArticle__metaValue {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #272727;
}
.prjArticle__metaTags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.prjArticle__metaTagItem {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: #6e11cb;
  background: rgba(110, 17, 203, 0.08);
  padding: 0.4rem 1.2rem;
  border-radius: 20px;
  white-space: nowrap;
}

/* =============================================
   Service Top Page (サービス一覧)
   ============================================= */
.svcTop {
  padding: 10rem 0;
  position: relative;
}
.svcTop__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
}
.svcTop__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.svcTop__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 3rem;
}
.svcTop__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  max-width: 800px;
}
.svcTop__lead { background: #ffffff; padding: 12rem 0 8rem; }

.svcTop__category { background: #ffffff; padding: 8rem 0; }
.svcTop__category.-alt { background: #F6F6F6; padding: 8rem 0; }

.svcTop__catHeader {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  margin-bottom: 3rem;
}
.svcTop__catNum {
  font-family: "Jost", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  flex-shrink: 0;
}
.svcTop__catEn {
  font-family: "Jost", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: rgba(39, 39, 39, 0.4);
  letter-spacing: 0.1em;
  margin-bottom: 0.4rem;
}
.svcTop__catTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.4;
}
.svcTop__catDesc {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2;
  color: #3B4043;
  margin-bottom: 4rem;
  max-width: 800px;
}
.svcTop__catGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.svcTop__catCard {
  display: block;
  padding: 2.4rem;
  background: #ffffff;
  border: 1px solid #E8E8E8;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.svcTop__category.-alt .svcTop__catCard {
  background: #ffffff;
}
.svcTop__catCard:hover {
  border-color: #CC2A8D;
  box-shadow: 0 4px 16px rgba(204, 42, 141, 0.08);
}
.svcTop__catCardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1rem;
  line-height: 1.5;
}
.svcTop__catCardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #3B4043;
}
@media only screen and (max-width: 768px) {
  .svcTop { padding: 6rem 0; }
  .svcTop__inner { padding: 0 2rem; }
  .svcTop__heading { font-size: 2.4rem; }
  .svcTop__lead { padding: 8rem 0 6rem; }
  .svcTop__category { padding: 6rem 0; }
  .svcTop__category.-alt { padding: 6rem 0; }
  .svcTop__catNum { font-size: 3.6rem; }
  .svcTop__catTitle { font-size: 2rem; }
  .svcTop__catGrid { grid-template-columns: 1fr; }
  .svcTop__catHeader { gap: 1.6rem; }
}

.newsList {
  max-width: 900px;
  margin: 0 auto;
  padding: 8rem 4rem 12rem;
}
.newsList__item {
  display: flex;
  align-items: baseline;
  gap: 2.4rem;
  padding: 2.4rem 0;
  border-bottom: 1px solid #E8E8E8;
  transition: opacity 0.2s ease;
}
.newsList__item:first-child {
  border-top: 1px solid #E8E8E8;
}
.newsList__item:hover {
  opacity: 0.6;
}
.newsList__date {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #999;
  letter-spacing: 0.05em;
  flex-shrink: 0;
  white-space: nowrap;
}
.newsList__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: #272727;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .newsList { padding: 6rem 2rem 8rem; }
  .newsList__item {
    flex-direction: column;
    gap: 0.6rem;
  }
}

.newsDetail {
  max-width: 800px;
  margin: 0 auto;
  padding: 6rem 4rem 10rem;
}
.newsDetail__date {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #999;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.newsDetail__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 4rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid #E8E8E8;
}
.newsDetail__body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
}
.newsDetail__body p {
  margin-bottom: 2rem;
}
.newsDetail__back {
  display: inline-flex;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #272727;
  padding: 1.2rem 3rem;
  border: 1px solid #272727;
  border-radius: 40px;
  margin-top: 6rem;
  transition: all 0.3s ease;
}
.newsDetail__back:hover {
  background: #272727;
  color: #ffffff;
}
@media only screen and (max-width: 768px) {
  .newsDetail { padding: 4rem 2rem 8rem; }
  .newsDetail__title { font-size: 2.2rem; }
}

/* =============================================
   Knowledge Automation Page (ナレッジオートメーション)
   ============================================= */
.knaSection {
  padding: 10rem 0;
  position: relative;
  overflow: hidden;
}
.knaSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.knaSection__deco {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 12rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.03;
  position: absolute;
  top: 6rem;
  right: -2rem;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.knaSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.knaSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.5;
  margin-bottom: 4rem;
}
.knaSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
  margin-bottom: 2rem;
}
.knaSection__text:last-child { margin-bottom: 0; }
@media only screen and (max-width: 768px) {
  .knaSection { padding: 8rem 0; }
  .knaSection__inner { padding: 0 2rem; }
  .knaSection__heading { font-size: 2.4rem; }
  .knaSection__deco { font-size: 6rem; top: 3rem; }
}

.knaCatch { padding: 6rem 0 10rem; background: #ffffff; text-align: center; }
.knaCatch__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.7;
}
@media only screen and (max-width: 768px) { .knaCatch__heading { font-size: 2.2rem; } }
.knaCatch__sub {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #3B4043;
  line-height: 2.2;
  max-width: 800px;
  margin: 3rem auto 0;
}

.knaIssues { background: #F6F6F6; padding: 12rem 0; }
.knaFeatures__list { display: flex; flex-direction: column; gap: 3rem; }
.knaFeatures__card {
  background: #ffffff;
  padding: 4rem;
  border-left: 4px solid;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
  position: relative;
}
.knaFeatures__number {
  font-family: "Jost", sans-serif;
  font-size: 8rem;
  font-weight: 700;
  color: #000000;
  opacity: 0.05;
  position: absolute;
  top: 1.5rem;
  right: 2rem;
  line-height: 1;
}
.knaFeatures__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.knaFeatures__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
@media only screen and (max-width: 768px) {
  .knaFeatures__card { padding: 3rem 2.5rem; }
  .knaFeatures__number { font-size: 5rem; }
  .knaFeatures__cardTitle { font-size: 1.8rem; }
}

.knaPhilosophy { background: #ffffff; padding: 12rem 0; }
.knaPhilosophy__comparison {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 2rem;
  align-items: stretch;
  margin-top: 4rem;
}
.knaPhilosophy__item {
  padding: 3rem;
  border-radius: 12px;
}
.knaPhilosophy__item.-before {
  background: #F6F6F6;
  border: 1px solid #E8E8E8;
}
.knaPhilosophy__item.-after {
  background: linear-gradient(135deg, rgba(110, 17, 203, 0.08), rgba(204, 42, 141, 0.08));
  border: 1px solid rgba(110, 17, 203, 0.2);
}
.knaPhilosophy__itemLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #6e11cb;
  margin-bottom: 1.5rem;
}
.knaPhilosophy__itemText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
.knaPhilosophy__arrow {
  display: flex;
  align-items: center;
  font-family: "Jost", sans-serif;
  font-size: 2rem;
  color: #6e11cb;
}
.knaPhilosophy__bottom {
  margin-top: 3rem;
  padding: 2.5rem 3rem;
  background: #F6F6F6;
  border-radius: 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
.knaPhilosophy__bottom strong { color: #272727; }
@media only screen and (max-width: 768px) {
  .knaPhilosophy__comparison { grid-template-columns: 1fr; }
  .knaPhilosophy__arrow { justify-content: center; transform: rotate(90deg); }
}

.knaApproach { background: #F6F6F6; padding: 12rem 0; }
.knaApproach__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 768px) { .knaApproach__grid { grid-template-columns: 1fr; } }
.knaApproach__card {
  background: #ffffff;
  padding: 3rem 2.5rem;
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #CC2A8D, #AE0CD9) 1;
}
.knaApproach__cardNum {
  font-family: "Jost", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.1em;
  margin-bottom: 1.5rem;
}
.knaApproach__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1.5rem;
}
.knaApproach__cardText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 2;
  color: #3B4043;
  margin-bottom: 2rem;
}
.knaApproach__cardList {
  list-style: none;
  padding: 0;
}
.knaApproach__cardList li {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: #3B4043;
  padding: 0.5rem 0 0.5rem 1.6rem;
  position: relative;
  line-height: 1.6;
}
.knaApproach__cardList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.1rem;
  width: 6px;
  height: 6px;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
}

.knaReason { background: #ffffff; padding: 12rem 0; }
.knaReason__list { margin-top: 2rem; }
.knaReason__item {
  display: flex;
  gap: 3rem;
  padding: 3rem 0;
  border-bottom: 1px solid #E8E8E8;
}
.knaReason__item:first-child { border-top: 1px solid #E8E8E8; }
.knaReason__num {
  font-family: "Jost", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  flex-shrink: 0;
}
.knaReason__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1rem;
}
.knaReason__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}
@media only screen and (max-width: 768px) {
  .knaReason__item { flex-direction: column; gap: 1rem; }
  .knaReason__num { font-size: 3rem; }
}

.knaFlow { background: #F6F6F6; padding: 12rem 0; }
.knaFlow__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 1024px) { .knaFlow__steps { grid-template-columns: repeat(2, 1fr); gap: 3rem; } }
@media only screen and (max-width: 768px) { .knaFlow__steps { grid-template-columns: 1fr; gap: 3rem; } }
.knaFlow__step { text-align: center; position: relative; padding: 0 1rem; }
.knaFlow__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 2.5rem;
  right: -1.5rem;
  width: 1.2rem;
  height: 1.2rem;
  border-top: 2px solid #CC2A8D;
  border-right: 2px solid #CC2A8D;
  transform: rotate(45deg);
}
@media only screen and (max-width: 1024px) { .knaFlow__step:not(:last-child)::after { display: none; } }
.knaFlow__stepNum {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
  font-family: "Jost", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 auto 2rem;
}
.knaFlow__stepTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 1rem;
}
.knaFlow__stepText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #3B4043;
}

.knaFaq { background: #ffffff; padding: 12rem 0; }
.knaFaq__list { margin-top: 2rem; }
.knaFaq__item {
  border-bottom: 1px solid #E8E8E8;
}
.knaFaq__item:first-child { border-top: 1px solid #E8E8E8; }
.knaFaq__question {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: #272727;
  padding: 2rem 4rem 2rem 0;
  cursor: pointer;
  position: relative;
}
.knaFaq__question::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Jost", sans-serif;
  font-size: 2rem;
  color: #6e11cb;
  transition: transform 0.3s;
}
.knaFaq__item.is-open .knaFaq__question::after {
  content: "−";
}
.knaFaq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
}
.knaFaq__item.is-open .knaFaq__answer {
  max-height: 300px;
  padding-bottom: 2rem;
}
.knaFaq__answerText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
}

/* =============================================
   Recruit Pages (採用情報)
   ============================================= */
.recruitSection {
  padding: 10rem 0;
  position: relative;
  overflow: hidden;
}
.recruitSection__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}
.recruitSection__label {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #6e11cb;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.recruitSection__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  line-height: 1.5;
  margin-bottom: 4rem;
}
.recruitSection__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: #3B4043;
}
@media only screen and (max-width: 768px) {
  .recruitSection { padding: 8rem 0; }
  .recruitSection__inner { padding: 0 2rem; }
  .recruitSection__heading { font-size: 2.4rem; }
}

.recruitIntro { background: #ffffff; }
.recruitCulture {
  position: relative;
  padding: 10rem 0;
  text-align: center;
  overflow: hidden;
}
.recruitCulture__bg {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}
.recruitCulture__overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}
.recruitCulture__content {
  position: relative;
  z-index: 2;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4rem;
}
.recruitCulture__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1.5rem;
}
.recruitCulture__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 3rem;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 768px) {
  .recruitCulture { padding: 8rem 0; }
  .recruitCulture__content { padding: 0 2rem; }
  .recruitCulture__title { font-size: 2rem; }
}

.recruitJobs { background: #ffffff; }
.recruitJobs__list { display: flex; flex-direction: column; gap: 2rem; }
.recruitJobs__card {
  display: flex;
  align-items: center;
  background: #F6F6F6;
  border-radius: 12px;
  padding: 3rem;
  transition: all 0.3s ease;
  border: 1px solid transparent;
}
.recruitJobs__card:hover {
  border-color: #6e11cb;
  background: #ffffff;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}
.recruitJobs__cardBody { flex: 1; }
.recruitJobs__cardTag {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: #6e11cb;
  background: rgba(110, 17, 203, 0.08);
  padding: 0.3rem 1rem;
  border-radius: 20px;
  margin-bottom: 1rem;
}
.recruitJobs__cardTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 0.8rem;
}
.recruitJobs__cardMeta {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: #3B4043;
  margin-bottom: 1rem;
}
.recruitJobs__cardDesc {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #3B4043;
}
.recruitJobs__cardArrow {
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: 2rem;
}
.recruitJobs__cardArrow::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 2px solid #6e11cb;
  border-right: 2px solid #6e11cb;
  transform: rotate(45deg);
}
@media only screen and (max-width: 768px) {
  .recruitJobs__card { padding: 2.5rem 2rem; }
  .recruitJobs__cardTitle { font-size: 1.8rem; }
}

.recruitDetail {
  max-width: 800px;
  margin: 0 auto;
  padding: 6rem 4rem 10rem;
}
.recruitDetail__inner { }
.recruitDetail__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 2rem;
  margin-top: 1.5rem;
}
.recruitDetail__summary {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 2;
  color: #3B4043;
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid #E8E8E8;
}
.recruitDetail__section { margin-bottom: 4rem; }
.recruitDetail__sectionTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #272727;
  margin-bottom: 2rem;
  padding-left: 1.5rem;
  border-left: 4px solid;
  border-image: linear-gradient(180deg, #CC2A8D, #AE0CD9) 1;
}
.recruitDetail__list {
  list-style: none;
  padding: 0;
}
.recruitDetail__list li {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  color: #3B4043;
  padding: 0.5rem 0 0.5rem 1.8rem;
  position: relative;
}
.recruitDetail__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.2rem;
  width: 6px;
  height: 6px;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  border-radius: 50%;
}
.recruitDetail__table {
  width: 100%;
  border-collapse: collapse;
}
.recruitDetail__table th,
.recruitDetail__table td {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.8;
  padding: 1.5rem 0;
  border-bottom: 1px solid #E8E8E8;
  vertical-align: top;
  text-align: left;
}
.recruitDetail__table th {
  font-weight: 600;
  color: #272727;
  white-space: nowrap;
  padding-right: 3rem;
  width: 12rem;
}
.recruitDetail__table td { color: #3B4043; }
.recruitDetail__apply {
  margin-top: 6rem;
  padding-top: 4rem;
  border-top: 1px solid #E8E8E8;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.recruitDetail__applyBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  color: #ffffff;
  background: linear-gradient(135deg, #CC2A8D, #AE0CD9);
  padding: 1.8rem 5rem;
  border-radius: 40px;
  transition: opacity 0.3s ease;
  width: 100%;
  max-width: 400px;
}
.recruitDetail__applyBtn:hover { opacity: 0.85; }
.recruitDetail__backBtn {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  color: #3B4043;
  transition: color 0.3s ease;
}
.recruitDetail__backBtn:hover { color: #6e11cb; }
@media only screen and (max-width: 768px) {
  .recruitDetail { padding: 4rem 2rem 8rem; }
  .recruitDetail__title { font-size: 2.4rem; }
  .recruitDetail__table th { display: block; padding-bottom: 0; width: 100%; }
  .recruitDetail__table td { display: block; padding-top: 0.5rem; }
}

@media only screen and (max-width: 768px) {
  .aiddSection__inner,
  .nbdSection__inner,
  .sysSection__inner,
  .erpSection__inner,
  .eduSection__inner,
  .trnSection__inner,
  .ctrSection__inner,
  .dxSection__inner,
  .sfSection__inner,
  .labSection__inner,
  .rsvSection__inner,
  .cultureSection__inner,
  .pssSection__inner,
  .sbdSection__inner,
  .iotSection__inner,
  .shkSection__inner {
    padding: 0 2rem;
  }
  .footerInner {
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .mainVisual {
    height: auto;
    min-height: 0;
    padding-top: 10rem;
    padding-bottom: 3rem;
  }
  .mainVisual__inner {
    height: auto;
  }
  .mainVisaul__video {
    height: 100% !important;
  }
}
