@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 62.5%;
  overflow-x: clip;
}

body {
  font-size: 1.7rem;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 2em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.15em;
  color: #DAE8EE;
  background-color: #10425A;
  background-image: url(../img/common/bg-body.jpg);
  background-size: 100%;
  background-attachment: fixed;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  margin: 0;
  position: relative;
  overflow-x: clip;
}
@media screen and (max-width: 1024px) {
  body {
    font-size: 1.5rem;
    line-height: 1.8em;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
    line-height: 2em;
  }
}

a {
  color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a:hover {
  color: #fff;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

h1, h2, h3 {
  margin-bottom: 20px;
  margin-block: calc((1em - 1lh) / 2);
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-weight: 700;
}

h1 {
  font-size: 3rem;
  margin-bottom: 20px;
}

h2 {
  font-size: 2.5rem;
  margin-bottom: 15px;
}

h3 {
  font-size: 2rem;
  margin-bottom: 10px;
}

p {
  margin: 0 0 15px;
}
@media screen and (min-width: 1025px) {
  p {
    margin: 0 0 25px;
  }
}

b {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-weight: 700;
}

hr {
  border-top: 1px solid #d8d4d3;
}

ul {
  margin: 10px 0;
}
ul li {
  line-height: 1.3em;
  margin-bottom: 10px;
}
ul ul {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 1025px) {
  .pc {
    display: block !important;
  }
}

@media screen and (max-width: 767px) {
  .sp {
    display: block !important;
  }
}
@media screen and (min-width: 1025px) {
  .sp {
    display: none !important;
  }
}

.center {
  text-align: center;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px 3%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  max-width: 1000px;
}
.flex img {
  display: block;
  max-width: 100%;
}

.is-vertical {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.section {
  padding: 100px 0;
  position: relative;
  overflow: visible;
}

.container {
  width: 100%;
  max-width: 1500px;
  margin: 0;
  padding: 0 80px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container {
    padding: 0 20px;
  }
}

.mt0 {
  margin-top: 0 !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.main {
  background-image: url("../img/common/bg_common01.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .main {
    background-position: center 40vw;
  }
}

.global-nav {
  position: fixed;
  display: none;
  overflow: auto;
  background: #CD457F;
  ms-overflow-style: none;
  scrollbar-width: none;
  z-index: 11;
  bottom: 0;
  top: -16vw;
  right: -10vw;
  width: 80vw;
  height: 80vw;
  padding: 0 10vw;
  border-radius: 100%;
  -webkit-transform: scale(0.2);
      -ms-transform: scale(0.2);
          transform: scale(0.2);
  opacity: 0;
  -webkit-transition: opacity 0.4s ease 0.1s, -webkit-transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.4s ease 0.1s, -webkit-transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease 0.1s;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease 0.1s, -webkit-transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  display: none;
}
@media screen and (max-width: 1024px) {
  .global-nav {
    width: 150vw;
    height: 150vw;
  }
}
@media screen and (max-width: 767px) {
  .global-nav {
    width: 150vw;
    height: 150vw;
  }
}
.global-nav a {
  text-decoration: none;
  color: #F6F0EF;
}
.global-nav.is-open {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  top: -16vw;
  right: -10vw;
  display: flex;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}
@media screen and (max-width: 1024px) {
  .global-nav.is-open {
    top: -47vw;
    left: -25vw;
    right: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-bottom: 32vw;
  }
}
@media screen and (max-width: 767px) {
  .global-nav.is-open {
    top: -20vw;
    left: -25vw;
    right: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-bottom: 32vw;
  }
}
.global-nav__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 60%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.global-nav__title {
  color: #F6F0EF;
  text-align: left;
  width: 60%;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .global-nav__title {
    font-size: 1.4rem;
    width: 60%;
  }
}
.global-nav__lists {
  font-size: 3em;
}
@media screen and (max-width: 767px) {
  .global-nav__lists {
    font-size: 2rem;
  }
}
.global-nav__lists--s {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .global-nav__lists--s {
    font-size: 1.3rem;
  }
}

.global-nav::-webkit-scrollbar {
  display: none;
}

/* FOOTER */
.sub-footer {
  background: url("../img/common/bg_sub-footer.svg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
  position: relative;
}
.sub-footer__figure-01 {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 33vw;
}
@media screen and (max-width: 767px) {
  .sub-footer__figure-01 {
    width: 55vw;
    top: -15vw;
  }
}
.sub-footer__figure-01 img {
  width: 100%;
}
.sub-footer__figure-02 {
  position: absolute;
  right: -3vw;
  bottom: 36vw;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .sub-footer__figure-02 {
    width: 35vw;
    top: 45%;
  }
}
.sub-footer__figure-02 img {
  width: 100%;
}
.sub-footer .wave-box {
  position: relative;
}
.sub-footer .mask-box-top {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1512 180"><path d="M889.3,28.6C601.3,80.2,194.5,139.1,0,61.6v119h1512v-71.5C1469.7-9.4,1177.3-23.1,889.3,28.6Z" fill="white"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1512 180"><path d="M889.3,28.6C601.3,80.2,194.5,139.1,0,61.6v119h1512v-71.5C1469.7-9.4,1177.3-23.1,889.3,28.6Z" fill="white"/></svg>');
  -webkit-mask-position: bottom center;
          mask-position: bottom center;
  mask-size: 100% auto;
  /* マスクのサイズを調整 */
  -webkit-mask-size: 100% auto;
  /* Safari用 */
  height: 12vw;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.sub-footer .mask-box-bottom {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1512 180"><path d="M0,87.7c111.6,105.2,350.6,94.4,473,86.7,292.8-18.5,668.2-63.6,1039-156.8V-1H0v88.7Z" fill="white"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1512 180"><path d="M0,87.7c111.6,105.2,350.6,94.4,473,86.7,292.8-18.5,668.2-63.6,1039-156.8V-1H0v88.7Z" fill="white"/></svg>');
  -webkit-mask-position: top center;
          mask-position: top center;
  mask-size: 100% auto;
  /* マスクのサイズを調整 */
  -webkit-mask-size: 100% auto;
  /* Safari用 */
  height: 12vw;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.sub-footer .mask-box--tile {
  background: url("../img/common/bg_tile.svg");
}

.contact-us__inner {
  background: url("../img/common/bg_tile.svg");
  color: #10425A;
  padding: 5vw 0 1px 0;
}
@media screen and (max-width: 767px) {
  .contact-us__inner {
    padding-left: 10vw;
    padding-right: 10vw;
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
}
.contact-us__title {
  text-align: center;
  font-size: 4rem;
}
@media screen and (max-width: 767px) {
  .contact-us__title {
    font-size: 3rem;
  }
}
.contact-us__en-title {
  text-align: center;
  font-size: 1.7rem;
}
.contact-us__text {
  text-align: center;
}
.contact-us__kind {
  text-align: center;
}
.contact-us__list {
  display: inline-block;
  text-align: left;
}
.contact-us__list-child {
  margin-bottom: 3rem;
  font-size: 2.5rem;
}
@media screen and (max-width: 767px) {
  .contact-us__list-child {
    font-size: 2rem;
  }
}
.contact-us__list-child--underline {
  border-bottom: dashed 1px #10425A;
  margin-left: 10px;
}
.contact-us__list-child img {
  vertical-align: middle;
}

.three-services__inner {
  width: 85%;
  padding: 4vw 0 15vw 0;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .three-services__inner {
    padding-top: 10vw;
    padding-bottom: 5vw;
  }
}
.three-services__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .three-services__wrap {
    display: block;
  }
}
.three-services__wrap .three-services__panel {
  background: url("../img/common/arrow.svg");
  background-repeat: no-repeat;
  background-position: right 2rem center;
  width: 32%;
  border: 1px solid #102445;
  border-radius: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 5.5rem 0 5.5rem 3rem;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .three-services__wrap .three-services__panel {
    width: 100%;
    margin-top: 5vw;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.three-services__wrap .three-services__panel p {
  margin-bottom: 0;
}
.three-services__wrap .three-services__panel--cat {
  font-size: 1.5rem;
}
.three-services__wrap .three-services__panel--title {
  font-size: 2.8rem;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .three-services__wrap .three-services__panel--title {
    font-size: 2.5rem;
  }
}
.three-services__wrap .three-services__panel--design {
  background-color: #CD457F;
}
.three-services__wrap .three-services__panel--design:hover {
  background-color: rgba(205, 69, 127, 0.8);
}
.three-services__wrap .three-services__panel--tec {
  background-color: #0099CF;
}
.three-services__wrap .three-services__panel--tec:hover {
  background-color: rgba(0, 153, 207, 0.8);
}
.three-services__wrap .three-services__panel--consulting {
  background-color: #B4969A;
}
.three-services__wrap .three-services__panel--consulting:hover {
  background-color: rgba(180, 150, 154, 0.8);
}

.footer {
  background: url("../img/common/bg_tile.svg");
  background-repeat: repeat;
  background-position: center;
  color: #10425A;
  position: relative;
}
.footer::after {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: url('../img/common/footer-end.svg');
  height: 297px;
  width: 280px;
  top: auto;
  bottom: -57px;
  left: auto;
  right: 0;
  background-size: 100%;
  margin: auto;
}
.footer .box {
  width: 100%;
  height: 15vw;
  position: absolute;
  top: -15vw;
  background-image: url("../img/common/bg_tile.svg"); /* 背景画像 */
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1520 230"><path d="M0 27.3611V230H1520V0.780272C1306.18 67.6838 56.8026 440.157 0 27.3611Z" fill="white"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1520 230"><path d="M0 27.3611V230H1520V0.780272C1306.18 67.6838 56.8026 440.157 0 27.3611Z" fill="white"/></svg>');
  mask-size: cover; /* マスクのサイズを調整 */
  -webkit-mask-size: cover; /* Safari用 */
  background-repeat: repeat;
  background-position: center;
}
.footer .figure-ring {
  position: absolute;
  top: -200px;
  right: -200px;
  width: 700px;
  height: 246px;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .footer .figure-ring {
    top: -150px;
    right: -200px;
    width: 500px;
    height: 146px;
  }
}
@media screen and (max-width: 767px) {
  .footer .figure-ring {
    top: -88px;
    right: -50vw;
    width: 95vw;
    height: auto;
  }
}
.footer .figure-1 {
  position: absolute;
  width: 336px;
  height: 178px;
  top: -100px;
  left: -50px;
  z-index: 4;
}
@media screen and (max-width: 1024px) {
  .footer .figure-1 {
    width: 200px;
    height: 100px;
  }
}
@media screen and (max-width: 767px) {
  .footer .figure-1 {
    width: 134px;
    height: 71px;
    top: -50px;
    left: 10px;
  }
}
.footer .figure-2 {
  position: absolute;
  right: -470px;
  bottom: -70px;
  width: 1195px;
  height: 421px;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .footer .figure-2 {
    right: -45vw;
    bottom: -5vw;
    width: 120vw;
    height: 42vw;
  }
}
@media screen and (max-width: 767px) {
  .footer .figure-2 {
    right: -45vw;
    bottom: -5vw;
    width: 120vw;
    height: 42vw;
  }
}
.footer a {
  color: #10425A;
}
.footer .contact-section {
  text-align: center;
  color: #231F20;
}
.footer__title {
  display: inline-block;
  font-size: 10rem;
  color: #10425A;
  line-height: 1em;
  font-family: miller-banner, serif;
  font-weight: 800;
  font-style: normal;
  position: relative;
  padding-right: 75px;
}
@media screen and (max-width: 1024px) {
  .footer__title {
    font-size: 7rem;
  }
}
@media screen and (max-width: 767px) {
  .footer__title {
    font-size: 4.3rem;
    padding-right: 40px;
  }
}
.footer__title::after {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: url(..//assets/img/common/icon_set/arrow-m.svg);
  height: 60px;
  width: 60px;
  top: auto;
  bottom: 6px;
  left: auto;
  right: 0;
  background-size: 100%;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .footer__title::after {
    width: 35px;
    height: 35px;
    bottom: 1px;
    right: 2px;
  }
}
.footer__title a {
  display: block;
  line-height: 1em;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .footer__title a {
    padding-right: 5px;
  }
}
.footer__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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 screen and (max-width: 1024px) {
  .footer__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.footer__item {
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .footer__item {
    width: 100%;
  }
}
.footer__item__logo {
  display: block;
  line-height: 1em;
  text-decoration: none;
  width: 300px;
  margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  .footer__item__logo {
    width: 70%;
  }
}
@media screen and (max-width: 767px) {
  .footer__item__logo {
    width: 60%;
  }
}
.footer__item__logo img {
  display: block;
  width: 100%;
}
.footer__item__logo p {
  padding-top: 15px;
  font-weight: 700;
  font-size: 0.9em;
}
.footer__item__address {
  font-size: 1.4rem;
  line-height: 1.7em;
  margin-bottom: 30px;
}
.footer__item__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 25em;
  gap: 0 40px;
}
@media screen and (max-width: 1024px) {
  .footer__item__lists {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .footer__item__lists {
    height: 30em;
    gap: 0;
    margin-bottom: 80px;
  }
}
.footer__item__list {
  width: 180px;
}
@media screen and (max-width: 767px) {
  .footer__item__list {
    width: 50%;
  }
}
.footer__item__list__title {
  margin-bottom: 10px;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .footer__item__list__title {
    font-size: 1.8rem;
    margin-bottom: 5px;
  }
}
.footer__item__list li {
  margin-right: 20px;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .footer__item__list li {
    font-size: 1.2rem;
    margin-bottom: 7px;
  }
}
.footer__item__list li a {
  text-decoration: none;
}
.footer .footer-icon-link {
  width: 20px;
  height: 20px;
  margin-bottom: -2px;
}
@media screen and (max-width: 767px) {
  .footer .footer-icon-link {
    width: 18px;
    height: 18px;
    margin-bottom: -5px;
  }
}
.footer .copyright {
  font-size: 1rem;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
}
.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 15px 40px;
}
@media screen and (max-width: 1024px) {
  .header__inner {
    padding: 20px 20px;
  }
}
@media screen and (max-width: 767px) {
  .header__inner {
    padding: 20px 10px;
  }
}
.header__logo {
  display: block;
  max-width: 300px;
  z-index: 12;
  margin: 0;
  mix-blend-mode: color-dodge;
}
@media screen and (max-width: 767px) {
  .header__logo {
    max-width: 40%;
  }
}
.header__logo__link {
  display: block;
  width: 100%;
  padding: 13px 0 10px;
}
@media screen and (max-width: 1024px) {
  .header__logo__link {
    padding: 12px 0 10px;
  }
}
@media screen and (max-width: 767px) {
  .header__logo__link {
    padding: 5px 0 10px;
  }
}
.header__logo__link svg {
  display: block;
  width: 100%;
}
.header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.header__right .btn-list {
  z-index: 12;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .header__right .btn-list {
    gap: 7px;
  }
}
.header__right .btn-list .btn-lang {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: auto;
  height: 40px;
  border-radius: 40px;
  border: solid 1px #231F20;
  overflow: hidden;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .header__right .btn-list .btn-lang {
    height: 25px;
  }
}
.header__right .btn-list .btn-lang button {
  background: #fff;
  border: 0;
  height: 100%;
  text-align: center;
  cursor: pointer;
  padding: 0 15px;
}
@media screen and (max-width: 767px) {
  .header__right .btn-list .btn-lang button {
    padding: 0 8px;
    font-size: 0.8rem;
  }
}
.header__right .btn-list .btn-lang button:first-child {
  border-right: solid 1px #231F20;
}
.header__right .btn-list .btn-lang button.active {
  background: #BDA2A6;
}
.header__right .btn-list .btn-contact a {
  margin: 0;
  width: auto;
  height: 40px;
  padding: 0 40px 0 20px;
  position: relative;
  font-size: 0.9em;
}
@media screen and (max-width: 767px) {
  .header__right .btn-list .btn-contact a {
    height: 25px;
    padding: 0 25px 0 10px;
    font-size: 1rem;
    letter-spacing: 0.03em;
    max-width: 100%;
  }
}
.header__right .btn-list .btn-contact a::after {
  right: 13px;
  width: 25px;
  height: 25px;
}
@media screen and (max-width: 767px) {
  .header__right .btn-list .btn-contact a::after {
    right: 5px;
    width: 16px;
    height: 16px;
    top: 5px;
  }
}
.header__right .btn-list .btn-contact a::before {
  display: none;
}
.header .menu {
  margin-left: 20px;
  cursor: pointer;
  z-index: 12;
}
@media screen and (max-width: 767px) {
  .header .menu {
    margin-left: 7px;
  }
}
.header .menu__box {
  border-radius: 100%;
  background-color: #F6F0EF;
  border: solid 1px #231F20;
  width: 80px;
  height: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
@media screen and (max-width: 767px) {
  .header .menu__box {
    width: 45px;
    height: 45px;
  }
}
.header .menu__box .menu__border {
  display: block;
  width: 40px;
  height: 6px;
  border: solid 1px #231F20;
  background-color: #0099CF;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.header .menu__box .menu__border:nth-child(2) {
  background-color: #CD457F;
}
@media screen and (max-width: 767px) {
  .header .menu__box .menu__border {
    width: 25px;
    height: 4px;
  }
}
.header .menu__box.is-open {
  position: relative;
  display: block;
}
.header .menu__box.is-open .menu__border {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.header .menu__box.is-open .menu__border:nth-child(1) {
  top: 26px;
  bottom: auto;
  -webkit-transform: translateY(10px) rotate(45deg);
      -ms-transform: translateY(10px) rotate(45deg);
          transform: translateY(10px) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .header .menu__box.is-open .menu__border:nth-child(1) {
    top: 9px;
  }
}
.header .menu__box.is-open .menu__border:nth-child(2) {
  top: auto;
  bottom: 26px;
  -webkit-transform: translateY(-10px) rotate(-45deg);
      -ms-transform: translateY(-10px) rotate(-45deg);
          transform: translateY(-10px) rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .header .menu__box.is-open .menu__border:nth-child(2) {
    bottom: 9px;
  }
}

.page-top-section {
  padding-top: 12vw;
  height: 25vw;
  background: url("../img/common/bg_tile.svg");
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1512 380"><path d="M1361.1,276.4c50.7.4,101.3,2.3,151.9,6-1.6-94-.4-188.2-.4-282.2H-.4v347c17,17,118.5,31.5,220,31.5,269.8,0,537.7-43.8,804.1-80.4,111.8-15.3,224.6-22.6,337.4-21.9Z" fill="white"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1512 380"><path d="M1361.1,276.4c50.7.4,101.3,2.3,151.9,6-1.6-94-.4-188.2-.4-282.2H-.4v347c17,17,118.5,31.5,220,31.5,269.8,0,537.7-43.8,804.1-80.4,111.8-15.3,224.6-22.6,337.4-21.9Z" fill="white"/></svg>');
  -webkit-mask-position: bottom center;
          mask-position: bottom center;
  mask-size: cover; /* マスクのサイズを調整 */
  -webkit-mask-size: cover; /* Safari用 */
  background-repeat: repeat;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .page-top-section {
    height: 32vw;
  }
}
@media screen and (max-width: 767px) {
  .page-top-section {
    padding-top: 26vw;
    height: 45vw;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1512 959"><path d="M1361.1,855.7c50.7.4,101.3,2.3,151.9,6-1.6-94-.4-771.7-.4-865.7H-.4v930.5c17,17,118.5,31.5,220,31.5,269.8,0,537.7-43.8,804.1-80.4,111.8-15.3,224.6-22.6,337.4-21.9Z" fill="white"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1512 959"><path d="M1361.1,855.7c50.7.4,101.3,2.3,151.9,6-1.6-94-.4-771.7-.4-865.7H-.4v930.5c17,17,118.5,31.5,220,31.5,269.8,0,537.7-43.8,804.1-80.4,111.8-15.3,224.6-22.6,337.4-21.9Z" fill="white"/></svg>');
    mask-size: cover;
    /* マスクのサイズを調整 */
    -webkit-mask-size: cover;
    /* Safari用 */
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
  }
}
.page-top-section .container {
  max-width: 100%;
  padding: 0 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-top-section .container {
    padding: 0 20px;
  }
}
.page-top-section h1 {
  margin: 0;
  bottom: 3vw;
  font-family: miller-banner, serif;
  color: #231F20;
  text-transform: capitalize;
  letter-spacing: -0.02em;
  font-size: 12rem;
  font-weight: 800;
  line-height: 1em;
}
@media screen and (max-width: 1024px) {
  .page-top-section h1 {
    font-size: 9rem;
  }
}
@media screen and (max-width: 767px) {
  .page-top-section h1 {
    font-size: 5.3rem;
    top: 50%;
    left: 10px;
  }
}
.page-top-section h1 img {
  width: auto;
}

@media screen and (max-width: 1024px) {
  #information .page-top-section h1 {
    font-size: 8rem;
  }
}
@media screen and (max-width: 767px) {
  #information .page-top-section h1 {
    font-size: 4.5rem;
  }
}

.header-figure-01 {
  width: 16vw;
  position: absolute;
  top: 8vw;
  right: 25vw;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .header-figure-01 {
    display: none;
  }
}
.header-figure-01 img {
  width: 100%;
}

.header-figure-02 {
  width: 37vw;
  position: absolute;
  top: 10vw;
  right: 0;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .header-figure-02 {
    width: 50vw;
    top: 25vw;
    right: -11vw;
  }
}
.header-figure-02 img {
  width: 100%;
}

/* Head */
:is(h2, h3).title-p, dt.title-p {
  font-size: 4rem;
  line-height: 1.8em;
  color: #fff;
  letter-spacing: 0.2em;
  font-weight: 400;
  position: relative;
  z-index: 1;
  margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  :is(h2, h3).title-p, dt.title-p {
    font-size: 3.1rem;
  }
}
@media screen and (max-width: 767px) {
  :is(h2, h3).title-p, dt.title-p {
    font-size: 2.8rem;
  }
}
:is(h2, h3).title-p--circle::before, dt.title-p--circle::before {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: none;
  height: 40px;
  width: 40px;
  top: 0;
  bottom: auto;
  left: -20px;
  right: auto;
  background-size: 100%;
  margin: auto;
  background-color: #457B96;
  border-radius: 30px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  :is(h2, h3).title-p--circle::before, dt.title-p--circle::before {
    font-size: 3.2rem;
    width: 25px;
    height: 25px;
    left: -15px;
  }
}
:is(h2, h3).title-p .is-en, dt.title-p .is-en {
  display: block;
  font-size: 1.5rem;
  color: #56859D;
  line-height: 1.8em;
  letter-spacing: 0.35em;
}
@media screen and (max-width: 767px) {
  :is(h2, h3).title-p .is-en, dt.title-p .is-en {
    font-size: 1.2rem;
  }
}
:is(h2, h3).title-s, dt.title-s {
  font-size: 1.6rem;
  font-family: "roboto", "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin: 0 0 0 40px;
  padding: 0 0 0 20px;
  color: #fff;
  position: sticky;
  top: 100px;
}
@media screen and (max-width: 1024px) {
  :is(h2, h3).title-s, dt.title-s {
    position: relative;
    margin: 0 0 30px 20px;
    top: auto;
  }
}
@media screen and (max-width: 767px) {
  :is(h2, h3).title-s, dt.title-s {
    position: relative;
    margin: 0 0 30px 20px;
    top: auto;
  }
}
:is(h2, h3).title-s.is-scroll, dt.title-s.is-scroll {
  position: relative;
  top: 0;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  :is(h2, h3).title-s.is-scroll, dt.title-s.is-scroll {
    margin-bottom: 30px;
  }
}
:is(h2, h3).title-s::after, dt.title-s::after {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: none;
  height: 12px;
  width: 12px;
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  background-size: 100%;
  margin: auto;
  background-image: none;
  border-radius: 30px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  :is(h2, h3).title-s::after, dt.title-s::after {
    width: 8px;
    height: 8px;
  }
}

/* SNS SHARE */
.sns-area {
  text-align: center;
  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;
}

.sns-area__label {
  color: #fff;
  margin-right: 20px;
  font-family: "Libre Baskerville", serif;
  font-size: 0.8em;
}

.sns-area__icon-list ul {
  text-align: center;
  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;
  margin: 0;
}
.sns-area__icon-list li {
  margin: 0 7px;
}
.sns-area__icon-list li a {
  display: block;
}
.sns-area__icon-list li a img {
  width: 25px;
  height: 25px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 1025px) {
  .sns-area__icon-list li a img {
    width: 30px;
    height: 30px;
  }
}

/* SubNav */
a > img {
  display: block;
  width: 100%;
}
a > img:hover {
  opacity: 0.6;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

/* テキストボタン */
.btn-p {
  position: relative;
  padding-right: 40px;
  font-weight: 600;
  font-size: 0.9em;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .btn-p {
    padding-right: 30px;
  }
}
.btn-p::after {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: url(../img/common/icon_set/arrow-s-white.svg);
  height: 30px;
  width: 30px;
  top: 0;
  bottom: 0;
  left: auto;
  right: 0;
  background-size: 100%;
  margin: auto;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .btn-p::after {
    width: 20px;
    height: 20px;
  }
}
.btn-p.is-green {
  color: #10425A;
}
.btn-p.is-green::after {
  background-image: url(../img/common/icon_set/arrow-s.svg);
}
.btn-p.is-back {
  padding-right: 0;
  padding-left: 30px;
}
.btn-p.is-back::after {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: url(../img/common/icon_set/arrow-s-white.svg);
  height: 30px;
  width: 30px;
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  background-size: 100%;
  margin: auto;
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .btn-p.is-back::after {
    width: 20px;
    height: 20px;
  }
}
.btn-p:hover::after {
  right: -10px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

/* 外部リンクテキスト */
.ex-link {
  position: relative;
}
.ex-link::after {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: url(../img/common/icon_set/icon-link.svg);
  height: 18px;
  width: 18px;
  top: auto;
  bottom: -2px;
  left: auto;
  right: -18px;
  background-size: 100%;
  margin: auto;
  margin: 0;
}

/* 角丸ボタン */
.btn-box a {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  margin: 15px auto;
  border: solid 1px #231f20;
  border-radius: 50px;
  background-color: #22A09F;
  padding: 0 40px 0 20px;
  width: 70%;
  max-width: 350px;
  height: 80px;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
.btn-box a:hover {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  background-color: rgba(34, 160, 159, 0.3);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .btn-box a {
    padding: 0 30px 0 20px;
    width: 90%;
    max-width: 90%;
    height: 60px;
  }
}
.btn-box.is-contact a::after {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: url(../img/common/icon_set/icon-message.svg);
  height: 40px;
  width: 40px;
  top: 30%;
  bottom: auto;
  left: auto;
  right: 25px;
  background-size: 100%;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .btn-box.is-contact a::after {
    right: 34px;
    width: 30px;
    height: 30px;
  }
}
.btn-box.is-contact a::before {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: none;
  height: 35px;
  width: 35px;
  top: 0;
  bottom: 0;
  left: auto;
  right: 40px;
  background-size: 100%;
  margin: auto;
  border-radius: 50%;
  background-color: #5CBFBD;
}
@media screen and (max-width: 767px) {
  .btn-box.is-contact a::before {
    width: 30px;
    height: 30px;
  }
}

/* タグリスト */
.tag-btn-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  margin: 40px 0;
}
.tag-btn-list .tag-btn {
  cursor: pointer;
  border: solid 1px #fff;
  border-radius: 50px;
  padding: 10px 20px;
  font-size: 0.7em;
  line-height: 1em;
  text-decoration: none;
  color: #fff;
  background-color: transparent;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-family: inherit;
}
@media screen and (max-width: 767px) {
  .tag-btn-list .tag-btn {
    padding: 8px 10px;
  }
}
.tag-btn-list .tag-btn:hover {
  background-color: rgba(255, 255, 255, 0.2);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.tag-btn-list .tag-btn.active {
  background-color: #fff;
  color: #10425A;
  font-weight: 600;
}

/* CONTENT */
.content-inner {
  width: 100%;
  max-width: 1500px;
  margin: 0;
  padding: 0 80px;
  width: calc(100% - 3rem);
  padding: 30px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .content-inner {
    padding: 0 20px;
  }
}
@media screen and (max-width: 1024px) {
  .content-inner {
    width: calc(100% - 10rem);
    padding: 30px 0;
  }
}
@media screen and (min-width: 1025px) {
  .content-inner {
    width: calc(100% - 3rem);
    padding: 60px 0;
  }
}

.articles {
  margin-bottom: 200px;
  margin: 0 auto 100px;
}
@media screen and (max-width: 767px) {
  .articles {
    margin-bottom: 100px;
    width: 100%;
  }
}
.articles__list {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding: 40px 0;
}
@media screen and (max-width: 767px) {
  .articles__list {
    padding: 30px 0;
  }
}
.articles__list a {
  text-decoration: none;
  display: block;
}
.articles .head {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .articles .head {
    margin-bottom: 15px;
  }
}
.articles .head__date {
  font-size: 1.4rem;
  color: #DAE8EE;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .articles .head__date {
    font-size: 1.2rem;
  }
}
.articles .head__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .articles .head__tags {
    margin: 0 0;
  }
}
.articles .head__tag {
  border: solid 1px #DAE8EE;
  color: #DAE8EE;
  border-radius: 50px;
  line-height: 1em;
  padding: 5px 17px;
  font-size: 1rem;
  line-height: 1em;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .articles .head__tag {
    padding: 5px 15px;
    font-size: 0.9rem;
  }
}
.articles__text__title {
  font-size: 2.4rem;
  line-height: 1.7em;
  font-weight: 400;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .articles__text__title {
    font-size: 1.8rem;
    line-height: 1.7em;
  }
}
.articles__link {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.articles__link:hover {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0.5;
}

.pager ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 50px 0;
}
.pager ul li {
  padding: 0;
  margin: 0;
}
.pager ul li a {
  text-decoration: none;
  padding: 0;
  border-radius: 50px;
  color: #DAE8EE;
  font-size: 1.4rem;
  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;
  text-align: center;
  width: 40px;
  height: 40px;
  cursor: pointer;
}
.pager ul li a:hover {
  background-color: #457B96;
}
.pager ul li.is-current a {
  background-color: #CD457F;
  color: #fff;
  border: solid 1px #CD457F;
}
.pager ul .icon__arrow {
  border: none;
  background-image: url(../img/common/icon_set/arrow-m-white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-size: 100%;
  height: 40px;
  width: 40px;
  display: block;
  padding: 0;
}
.pager ul .icon__arrow--prev {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}

.detail-article {
  line-height: 2.2em;
  margin: 0 auto;
}
.detail-article .head {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .detail-article .head {
    margin-bottom: 15px;
  }
}
.detail-article .head__date {
  font-size: 1.4rem;
  color: #DAE8EE;
}
@media screen and (max-width: 767px) {
  .detail-article .head__date {
    font-size: 1.2rem;
  }
}
.detail-article .head__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 0;
}
@media screen and (max-width: 767px) {
  .detail-article .head__tags {
    margin: 15px 0 0;
  }
}
.detail-article .head__tag {
  border: solid 1px #DAE8EE;
  color: #DAE8EE;
  border-radius: 50px;
  line-height: 1em;
  padding: 5px 17px;
  font-size: 1rem;
  line-height: 1em;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .detail-article .head__tag {
    padding: 5px 15px;
    font-size: 0.9rem;
  }
}
.detail-article h1.article__title {
  font-weight: 400;
  line-height: 1.7em;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .detail-article h1.article__title {
    font-size: 2.3rem;
  }
}
.detail-article h2.h2-article {
  font-size: 2.7rem;
  line-height: 1.8em;
  color: #fff;
  letter-spacing: 0.2em;
  font-weight: 400;
  position: relative;
  z-index: 1;
  margin-bottom: 50px;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .detail-article h2.h2-article {
    font-size: 2.2rem;
    line-height: 1.6em;
    margin-bottom: 30px;
  }
}
.detail-article h2.h2-article::before {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: none;
  height: 40px;
  width: 40px;
  top: 0;
  bottom: auto;
  left: -20px;
  right: auto;
  background-size: 100%;
  margin: auto;
  background-color: #457B96;
  border-radius: 30px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .detail-article h2.h2-article::before {
    width: 20px;
    height: 20px;
    left: -10px;
  }
}
.detail-article h3.h3-article {
  font-size: 2rem;
  line-height: 1.8em;
  color: #fff;
  letter-spacing: 0.2em;
  font-weight: 400;
  position: relative;
  z-index: 1;
  margin-bottom: 30px;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .detail-article h3.h3-article {
    font-size: 1.8rem;
    line-height: 1.6em;
  }
}
.detail-article p + h3.h3-article,
.detail-article p + h2.h2-article {
  margin-top: 60px;
}
.detail-article__image_box img {
  max-width: 100%;
  width: auto;
  display: block;
  margin: 40px auto;
}
.detail-article .article-col-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 50px 4%;
  margin: 50px 0 100px;
}
.detail-article .col-2 {
  width: 46%;
}
.detail-article .col-1 {
  width: 100%;
  margin: 50px 0;
}

/* YOUTUBE */
.youtube {
  position: relative;
  width: 100%;
  padding-top: 52.25%;
  border: solid 6px #231F20;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 6px 10px 0px 0px #000000;
          box-shadow: 6px 10px 0px 0px #000000;
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .youtube {
    -webkit-box-shadow: 20px 20px 0px 0px #000000;
            box-shadow: 20px 20px 0px 0px #000000;
    outline-offset: -15px;
    padding: 30px 60px 60px;
    width: 700px;
    height: 400px;
  }
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* HEX-ICON */
.icon--hex {
  font-family: "Libre Baskerville", serif;
  font-size: 1.5rem;
  line-height: 30px;
  position: relative;
  display: block;
  max-width: 120px;
  height: 28px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background-color: #C90003;
  margin: 0 auto 10px;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.icon--hex:before,
.icon--hex:after {
  position: absolute;
  top: 0;
  width: 0;
  height: 0;
  content: "";
  border: 14px solid transparent;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
}

.icon--hex:before {
  right: 100%;
  border-right-color: #C90003;
}

.icon--hex:after {
  left: 100%;
  border-left-color: #C90003;
}

/* IMAGES */
.img-box img {
  width: auto;
  max-width: 100%;
  display: block;
  margin: 10px 0;
}
.img-box.center img {
  margin: 10px auto;
}

.font--red {
  color: #C90003;
}
.font--red_light {
  color: #E83131;
}
.font--xl {
  font-size: 4rem;
}
.font--l {
  font-size: 2rem;
}
.font--m {
  font-size: 1.4rem;
}
@media screen and (min-width: 1025px) {
  .font--m {
    font-size: 1.5rem;
  }
}
.font--s {
  font-size: 1rem;
  line-height: 1.4em;
}
@media screen and (min-width: 1025px) {
  .font--s {
    font-size: 1.2rem;
  }
}
.font--aqua {
  color: #0099CF;
}
.font--pink {
  color: #CD457F;
}

/* LIST */
.list {
  margin-bottom: 20px;
}
.list > li {
  margin-bottom: 10px;
  line-height: 1.7em;
  position: relative;
}
.list--circle > li {
  padding-left: 1em;
}
.list--circle > li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.list--order > li {
  padding-left: 1.4em;
  counter-increment: list;
}
.list--order > li::before {
  content: counter(list) ".";
  position: absolute;
  left: 0;
}

.list--notice {
  margin-bottom: 20px;
}
.list--notice > li {
  margin-bottom: 7px;
  line-height: 1.4em;
  padding-left: 1em;
  position: relative;
  font-size: 1.2rem;
  font-weight: normal;
}
.list--notice > li::before {
  content: "※";
  position: absolute;
  left: 0;
}

.table_list {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin-bottom: 20px;
  display: block;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .table_list {
    margin-bottom: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.table_list dt, .table_list dd {
  line-height: 1.4em;
  background-color: rgba(255, 255, 255, 0.08);
  padding: 20px 2rem 20px;
}
@media screen and (max-width: 1024px) {
  .table_list dt, .table_list dd {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    line-height: 1.5em;
    border-bottom: solid 1px #231F20;
  }
}
.table_list dt {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.1em;
  line-height: 1em;
  background-color: #6D1D1E;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px;
}
@media screen and (max-width: 1024px) {
  .table_list dt {
    padding: 20px 10px;
    width: 12em;
    text-align: center;
  }
}
.table_list dd {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 1024px) {
  .table_list dd {
    padding: 20px 30px 20px;
    width: calc(100% - 12em);
  }
}
.table_list .head--h2 + .table_list {
  border-top: none;
}

.our-works-example {
  margin-top: 6vw;
}
.our-works-example__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 3vw;
}
.our-works-example__list--between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.our-works-example__child {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  line-height: 1.3;
}
.our-works-example__child--border {
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 100px;
  text-align: center;
  width: calc((100% - 3rem) / 4);
  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;
  padding: 2rem 0;
}
@media screen and (max-width: 767px) {
  .our-works-example__child--border {
    width: calc((100% - 1rem) / 2);
    min-height: 6rem;
  }
}
.our-works-example__child--border span {
  font-size: 1.4rem;
}
.our-works-example__child--separate {
  margin-bottom: 2rem;
  line-height: 1;
  border-left: dashed 1px #fff;
  border-color: #fff;
  padding: 0 1.5rem;
  letter-spacing: normal;
}
.our-works-example__child--separate:last-child {
  border-right: dashed 1px #fff;
}

/*========= 頁遷移 ===============*/
body {
  opacity: 0;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
}

@-webkit-keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* 下から */
.fadeUp {
  opacity: 0;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
}

@-webkit-keyframes fadeUpAnime {
  from {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeUpAnime {
  from {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.fuContent {
  opacity: 0;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fuContentAnime;
          animation-name: fuContentAnime;
}

@-webkit-keyframes fuContentAnime {
  from {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fuContentAnime {
  from {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
/*========= 流れる文字 ===============*/
.loop_letter-wrap {
  position: relative;
  z-index: -1;
  width: 100%;
  height: 22rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .loop_letter-wrap {
    height: 18rem;
  }
}
@media screen and (max-width: 767px) {
  .loop_letter-wrap {
    height: 10rem;
  }
}

.loop_letter {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.2;
  -webkit-animation: loop-slide 20s linear infinite;
          animation: loop-slide 20s linear infinite;
  color: #457B96;
  font-style: italic;
  font-weight: 800;
  font-size: 20rem;
  line-height: 1.5em;
  font-family: miller-banner, serif;
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .loop_letter {
    font-size: 16rem;
  }
}
@media screen and (max-width: 767px) {
  .loop_letter {
    font-size: 8rem;
  }
}

@-webkit-keyframes loop-slide {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes loop-slide {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
/*========= スクロールアニメーション ===============*/
.js-scroll {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  will-change: opacity, transform;
}

.js-scroll.is-active {
  opacity: 1;
}

/* modaal */
.modaal-image .modaal-close {
  position: absolute;
  right: 0;
  top: -60px;
  margin: auto;
  width: 40px;
  height: 40px;
}
.modaal-image .modaal-close::after, .modaal-image .modaal-close::before {
  border-radius: 0;
  width: 2px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 30px;
}
@media screen and (min-width: 1025px) {
  .modaal-image .modaal-close::after, .modaal-image .modaal-close::before {
    height: 40px;
  }
}
.modaal-image .modaal-close:hover {
  background: transparent;
}
.modaal-image .modaal-close:focus:before, .modaal-image .modaal-close:focus:after, .modaal-image .modaal-close:hover:before, .modaal-image .modaal-close:hover:after {
  background: #C90003;
}

.wave-box {
  position: relative;
}

.wave-box__top {
  width: 100%;
  height: 33vw;
  top: -33vw;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1520 506"><path d="M381.399 230C157.32 223.5 67.6889 127 -0.00146484 0V506H1520C1489.5 420.5 1359 332 1198 294.5C984.338 244.734 605.478 236.5 381.399 230Z" fill="white"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1520 506"><path d="M381.399 230C157.32 223.5 67.6889 127 -0.00146484 0V506H1520C1489.5 420.5 1359 332 1198 294.5C984.338 244.734 605.478 236.5 381.399 230Z" fill="white"/></svg>');
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  background-repeat: repeat;
  background-position: center;
}

.wave-box__bottom {
  width: 100%;
  height: 14vw;
  bottom: -14vw;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1520 212"><path d="M910.5 166.001C1156.5 147.001 1325 131 1520 211.5L1520 0.000320435L0.00014056 0.000187552C30.5001 85.5002 160.549 169.346 324.5 190.501C495 212.501 686.992 183.264 910.5 166.001Z" fill="white"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1520 212"><path d="M910.5 166.001C1156.5 147.001 1325 131 1520 211.5L1520 0.000320435L0.00014056 0.000187552C30.5001 85.5002 160.549 169.346 324.5 190.501C495 212.501 686.992 183.264 910.5 166.001Z" fill="white"/></svg>');
  mask-size: cover;
  -webkit-mask-size: cover;
  background-repeat: repeat;
  background-position: center;
}

.right-block__inner {
  padding-left: 20vw;
  padding-bottom: 1px;
  margin-top: -3rem;
}
@media screen and (max-width: 767px) {
  .right-block__inner {
    padding-left: 0;
    margin-top: 5vw;
    margin-right: 0;
    margin-left: 0;
  }
}

.right-block-section-title {
  font-size: 3rem;
  letter-spacing: 0.5rem;
  line-height: 1.7;
  margin-bottom: 3vw;
}
@media screen and (max-width: 767px) {
  .right-block-section-title {
    font-size: 2.1rem;
  }
}

/* SLIDER */
.slide-container {
  padding: 0 100px 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .slide-container {
    padding: 0 20px 0;
  }
}

.gallery-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}
.gallery-slide .swiper-slide {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .gallery-slide .image-block {
    width: 100%;
  }
}
.gallery-slide .image-block img {
  display: block;
  width: 100%;
}
.gallery-slide .swiper-pagination {
  bottom: 0;
}
.gallery-slide .swiper-pagination-bullet {
  background-color: #BAB7B7;
  opacity: 1;
}
.gallery-slide .swiper-pagination-bullet-active {
  background-color: #CD457F;
}
.gallery-slide .swiper-button-next,
.gallery-slide .swiper-button-prev {
  width: 60px;
  height: 60px;
}
@media screen and (max-width: 767px) {
  .gallery-slide .swiper-button-next,
  .gallery-slide .swiper-button-prev {
    display: none;
  }
}
.gallery-slide .swiper-button-next:after,
.gallery-slide .swiper-button-prev:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("../img/common/icon_set/arrow-m-white.svg");
  background-repeat: no-repeat;
  background-size: 100%;
}
.gallery-slide .swiper-button-prev:after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
.gallery-slide .swiper-button-next {
  right: -70px;
}
.gallery-slide .swiper-button-prev {
  left: -70px;
}

.contact-section {
  position: relative;
}
@media screen and (max-width: 767px) {
  .contact-section {
    padding-bottom: 0;
  }
}
.contact-section .contact-box {
  background-color: #184A63;
  border: solid 1px #102445;
  border-radius: 15px;
  width: 100%;
  max-width: 1500px;
  margin: 0;
  padding: 0 80px;
  max-width: 1080px;
  margin: 0 auto;
  padding: 80px 30px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contact-section .contact-box {
    padding: 0 20px;
  }
}
@media screen and (max-width: 1024px) {
  .contact-section .contact-box {
    padding: 80px 30px 50px;
  }
}
@media screen and (max-width: 767px) {
  .contact-section .contact-box {
    padding: 80px 30px 50px;
  }
}
.contact-section .contact-box .figure-3,
.contact-section .contact-box .figure-4 {
  position: absolute;
}
.contact-section .contact-box .figure-3 {
  left: -120px;
  top: -50px;
}
@media screen and (max-width: 1024px) {
  .contact-section .contact-box .figure-3 {
    width: 184px;
    height: 161px;
    left: -50px;
    top: -50px;
  }
}
@media screen and (max-width: 767px) {
  .contact-section .contact-box .figure-3 {
    left: -40px;
    top: -50px;
    width: 184px;
    height: 161px;
  }
}
.contact-section .contact-box .figure-4 {
  right: -420px;
  bottom: -200px;
  width: 698px;
  height: 674px;
}
@media screen and (max-width: 1024px) {
  .contact-section .contact-box .figure-4 {
    right: -220px;
    bottom: -150px;
    width: 398px;
    height: 374px;
  }
}
@media screen and (max-width: 767px) {
  .contact-section .contact-box .figure-4 {
    right: -156px;
    bottom: -428px;
    width: 366px;
    height: 359px;
  }
}

/* LIST */
.table {
  width: 100%;
}
.table--th, .table--td {
  padding: 2rem 0;
  border-top: 1px solid #102445;
  border-bottom: 1px solid #102445;
}
.table--th {
  text-align: left;
  padding-right: 6rem;
}
.table--td {
  text-align: left;
}

.transition {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  visibility: hidden;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-property: visibility, -webkit-transform;
  transition-property: visibility, -webkit-transform;
  transition-property: transform, visibility;
  transition-property: transform, visibility, -webkit-transform;
  -webkit-transform: rotateY(90deg);
          transform: rotateY(90deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  pointer-events: none;
}

.transition--layer1 {
  z-index: 9950;
  -webkit-transition: -webkit-transform 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-property: visibility, -webkit-transform;
  transition-property: visibility, -webkit-transform;
  transition-property: transform, visibility;
  transition-property: transform, visibility, -webkit-transform;
  background-color: #0099CF !important;
}

.transition--layer1.is-active {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-property: visibility, -webkit-transform;
  transition-property: visibility, -webkit-transform;
  transition-property: transform, visibility;
  transition-property: transform, visibility, -webkit-transform;
}

.transition--layer2 {
  z-index: 9999;
  -webkit-transition: -webkit-transform 1s 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 1s 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1s 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-property: visibility, -webkit-transform;
  transition-property: visibility, -webkit-transform;
  transition-property: transform, visibility;
  transition-property: transform, visibility, -webkit-transform;
  background-color: #CD457F !important;
}

.transition--layer2.is-active {
  -webkit-transition: -webkit-transform 1s 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 1s 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1s 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-property: visibility, -webkit-transform;
  transition-property: visibility, -webkit-transform;
  transition-property: transform, visibility;
  transition-property: transform, visibility, -webkit-transform;
}

.transition--layer3 {
  z-index: 10000;
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-property: visibility, -webkit-transform;
  transition-property: visibility, -webkit-transform;
  transition-property: transform, visibility;
  transition-property: transform, visibility, -webkit-transform;
  background-color: #10425A !important;
}

.transition--layer3.is-active {
  -webkit-transition: -webkit-transform 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-property: visibility, -webkit-transform;
  transition-property: visibility, -webkit-transform;
  transition-property: transform, visibility;
  transition-property: transform, visibility, -webkit-transform;
}

.transition.is-active {
  visibility: visible;
  -webkit-transform: rotateY(0deg);
          transform: rotateY(0deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  pointer-events: auto;
}

body#top .main {
  background-image: url(../img/common/bg-main.svg);
  background-position: bottom -50vw center;
  background-size: 100%;
  background-repeat: no-repeat;
  padding-bottom: 400px;
}
@media screen and (max-width: 1024px) {
  body#top .main {
    padding-bottom: 200px;
  }
}
@media screen and (max-width: 767px) {
  body#top .main {
    padding-bottom: 200px;
  }
}
body#top .hero-section {
  position: relative;
  width: 100%;
  height: 200vh;
  height: 200dvh;
}
body#top .hero-section__bg {
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/common/bg_tile.svg");
  background-position: center;
  background-repeat: repeat;
  width: 100%;
  height: 100%;
}
body#top .hero {
  display: block;
  position: sticky;
  top: 0;
  z-index: 10;
  width: 100%;
  height: 100vh;
  height: 100dvh;
}
body#top .hero__wrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
body#top .hero__title {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  z-index: 1;
  width: 100%;
  max-width: 900px;
}
@media screen and (max-width: 767px) {
  body#top .hero__title {
    max-width: 100%;
  }
}
body#top .hero__title__img:nth-of-type(1) {
  padding: 0 0 0 -10rem;
  width: 80%;
}
body#top .hero__title__img:nth-of-type(2) {
  padding: 0 0 0 5vw;
  width: 100%;
}
body#top .hero__title__img:nth-of-type(3) {
  padding: 0 0 0 0rem;
  width: 90%;
}
body#top .hero__object-wrapper {
  position: absolute;
  width: 50%;
  height: 50%;
  pointer-events: none;
}
body#top .hero__object-wrapper.is-1 {
  top: -5%;
  left: -8%;
  width: 65%;
}
body#top .hero__object-wrapper.is-2 {
  top: 10%;
  left: 10%;
  width: 60%;
}
body#top .hero__object-wrapper.is-3 {
  top: 25%;
  left: 35%;
  width: 38%;
}
body#top .hero__object-wrapper.is-4 {
  top: 15%;
  left: 5%;
  width: 80%;
}
body#top .hero__object-wrapper.is-5 {
  top: 45%;
  left: 62%;
  width: 36%;
}
body#top .hero__object-wrapper.is-6 {
  top: 35%;
  left: 75%;
  width: 30%;
}
body#top .hero__object-wrapper.is-7 {
  top: 65%;
  left: 88%;
  width: 38%;
}
body#top .hero__object-wrapper.is-8 {
  top: 75%;
  left: 15%;
  width: 32%;
}
body#top .hero__object-wrapper.is-9 {
  top: 85%;
  left: 28%;
  width: 36%;
}
body#top .hero__object-wrapper.is-10 {
  top: 12%;
  left: 42%;
  width: 20%;
}
body#top .hero__object-wrapper.is-11 {
  top: 20%;
  left: 80%;
  width: 25%;
}
body#top .hero__object-wrapper.is-12 {
  top: 80%;
  left: 60%;
  width: 40%;
}
body#top .hero__object-wrapper.is-13 {
  top: 5%;
  left: 70%;
  width: 32%;
}
body#top .hero__object-wrapper.is-14 {
  top: 70%;
  left: 25%;
  width: 38%;
}
body#top .hero__object-wrapper.is-15 {
  top: 30%;
  left: 85%;
  width: 14%;
}
body#top .hero__object-wrapper.is-16 {
  top: 90%;
  left: 40%;
  width: 36%;
}
body#top .hero__object-wrapper.is-17 {
  top: 15%;
  left: 90%;
  width: 30%;
}
body#top .hero__object-wrapper.is-18 {
  top: 60%;
  left: 5%;
  width: 22%;
}
body#top .hero__object-wrapper.is-19 {
  top: 40%;
  left: 95%;
  width: 18%;
}
body#top .hero__object-wrapper.is-20 {
  top: 95%;
  left: 70%;
  width: 25%;
}
body#top .hero__object {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  opacity: 0;
  -webkit-animation: float 2s ease-out infinite;
          animation: float 2s ease-out infinite;
  will-change: transform;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
body#top .hero__object.is-1 {
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
body#top .hero__object.is-2 {
  -webkit-animation-duration: 10s;
          animation-duration: 10s;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
body#top .hero__object.is-3 {
  -webkit-animation-duration: 12s;
          animation-duration: 12s;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
body#top .hero__object.is-4 {
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
body#top .hero__object.is-5 {
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
body#top .hero__object.is-6 {
  -webkit-animation-duration: 10s;
          animation-duration: 10s;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
body#top .hero__object.is-7 {
  -webkit-animation-duration: 12s;
          animation-duration: 12s;
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}
body#top .hero__object.is-8 {
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
body#top .hero__object.is-9 {
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
body#top .hero__object.is-10 {
  -webkit-animation-duration: 10s;
          animation-duration: 10s;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
body#top .hero__object.is-11 {
  -webkit-animation-duration: 12s;
          animation-duration: 12s;
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}
body#top .hero__object.is-12 {
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}
body#top .hero__object.is-13 {
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-delay: 2.6s;
          animation-delay: 2.6s;
}
body#top .hero__object.is-14 {
  -webkit-animation-duration: 10s;
          animation-duration: 10s;
  -webkit-animation-delay: 2.8s;
          animation-delay: 2.8s;
}
body#top .hero__object.is-15 {
  -webkit-animation-duration: 12s;
          animation-duration: 12s;
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
body#top .hero__object.is-16 {
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-delay: 3.2s;
          animation-delay: 3.2s;
}
body#top .hero__object.is-17 {
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-delay: 3.4s;
          animation-delay: 3.4s;
}
body#top .hero__object.is-18 {
  -webkit-animation-duration: 10s;
          animation-duration: 10s;
  -webkit-animation-delay: 3.6s;
          animation-delay: 3.6s;
}
body#top .hero__object.is-19 {
  -webkit-animation-duration: 12s;
          animation-duration: 12s;
  -webkit-animation-delay: 3.8s;
          animation-delay: 3.8s;
}
body#top .hero__object.is-20 {
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}
@-webkit-keyframes float {
  0% {
    -webkit-transform: translateZ(0px) scale(1) translateX(0) translateY(0);
            transform: translateZ(0px) scale(1) translateX(0) translateY(0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  55% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.5) translateX(0) translateY(0);
            transform: scale(1.5) translateX(0) translateY(0);
    opacity: 0;
  }
}
@keyframes float {
  0% {
    -webkit-transform: translateZ(0px) scale(1) translateX(0) translateY(0);
            transform: translateZ(0px) scale(1) translateX(0) translateY(0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  55% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.5) translateX(0) translateY(0);
            transform: scale(1.5) translateX(0) translateY(0);
    opacity: 0;
  }
}
body#top :is(.service-section, .project-section) .btn-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  padding: 0 70px;
}
@media screen and (max-width: 767px) {
  body#top :is(.service-section, .project-section) .btn-group {
    padding: 0;
  }
}
body#top .intro-section {
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  body#top .intro-section {
    padding-bottom: 100px;
  }
}
body#top .intro__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  body#top .intro__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top .intro__item {
  width: 50%;
  color: #dae8ee;
}
body#top .intro__item--text {
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  body#top .intro__item--text {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  body#top .intro__item {
    margin-top: 0;
    width: 100%;
  }
}
body#top .intro__item__img {
  width: 130%;
}
@media screen and (max-width: 1024px) {
  body#top .intro__item__img.sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  body#top .intro__item__img.sp {
    display: block !important;
  }
}
@media screen and (max-width: 1024px) {
  body#top .intro__item__img.pc {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  body#top .intro__item__img.pc {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  body#top .intro__item__img {
    width: 186%;
  }
}
@media screen and (max-width: 767px) {
  body#top .intro__item__img {
    margin-top: -5%;
    margin-left: -7%;
    width: 115%;
  }
}
body#top .intro__item .title-p.is-en {
  padding-top: 10px;
}
body#top .intro__item__description {
  line-height: 2.3em;
}
body#top .loop_letter-intro {
  margin-top: -100px;
}
@media screen and (max-width: 767px) {
  body#top .loop_letter-intro {
    margin-top: -150px;
  }
}
body#top .service-section {
  position: relative;
  z-index: 1;
  padding-bottom: 400px;
}
body#top .service-section .background-fixed {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-image: url(../img/common/bg-main.svg);
  background-position: top 300px center;
  background-size: 100%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  body#top .service-section .background-fixed {
    background-size: 250%;
  }
}
body#top .service-section .container {
  position: relative;
  z-index: 1;
  padding-right: 0;
}
body#top .service__items {
  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-align: end;
      -ms-flex-align: end;
          align-items: end;
  padding-left: 0;
}
body#top .service__item {
  position: relative;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  margin-bottom: 120px;
  -webkit-box-shadow: 0 0 30px rgba(10, 47, 49, 0.65);
          box-shadow: 0 0 30px rgba(10, 47, 49, 0.65);
  border-radius: 30px 0 0 30px;
  background-image: url(../img/common/bg_tile.svg);
  background-position: center;
  background-repeat: repeat;
  width: 75%;
  min-width: 800px;
  line-height: 1.8em;
}
@media screen and (max-width: 1024px) {
  body#top .service__item {
    margin-bottom: 120px;
    margin-left: 20px;
    border-radius: 20px 0 0 20px;
    width: 100%;
    min-width: auto;
  }
}
@media screen and (max-width: 767px) {
  body#top .service__item {
    margin-bottom: 80px;
    margin-left: 20px;
  }
}
body#top .service__item::after {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: url(../img/common/icon_set/arrow-l.svg);
  height: 80px;
  width: 80px;
  top: 0;
  bottom: 0;
  left: auto;
  right: 40px;
  background-size: 100%;
  margin: auto;
}
@media screen and (max-width: 767px) {
  body#top .service__item::after {
    top: 60px;
    right: 20px;
    bottom: auto;
    background-image: url(../img/common/icon_set/arrow-m.svg);
    width: 40px;
    height: 40px;
  }
}
body#top .service__item:hover::after {
  right: 15px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
@media screen and (max-width: 767px) {
  body#top .service__item:hover::after {
    right: 0px;
  }
}
body#top .service__item__link {
  display: block;
  position: relative;
  padding: 100px 140px 60px 80px;
  color: #10425A;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  body#top .service__item__link {
    padding: 50px 30px 30px 40px;
  }
}
body#top .service__item__title {
  position: absolute;
  top: -0.7em;
  right: 1rem;
  color: #CD457F;
  font-style: italic;
  font-weight: 800;
  font-size: 14rem;
  line-height: 1em;
  font-family: miller-banner, serif;
  letter-spacing: -0.03em;
}
@media screen and (max-width: 1024px) {
  body#top .service__item__title {
    font-size: 12rem;
  }
}
@media screen and (max-width: 767px) {
  body#top .service__item__title {
    font-size: 6.5rem;
  }
}
body#top .service__item__item__title {
  margin-bottom: 20px;
  color: #10425A !important;
  font-weight: 400;
  font-size: 4rem;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 1024px) {
  body#top .service__item__item__title {
    margin-bottom: 15px;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  body#top .service__item__item__title {
    font-size: 2.8rem;
    line-height: 1.4em;
  }
}
body#top .service__item__item__title::before {
  background-color: #CD457F;
}
body#top .service__item__item__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.2rem 0;
  margin-bottom: 20px;
  margin-left: -10px;
}
@media screen and (max-width: 1024px) {
  body#top .service__item__item__lists {
    gap: 0.1rem 0;
    margin-bottom: 10px;
  }
}
body#top .service__item__item__list {
  background-image: repeating-linear-gradient(180deg, #CD457F, #CD457F 2px, transparent 2px, transparent 5px);
  background-position: right top;
  background-size: 2px 100%;
  background-repeat: repeat-y;
  padding: 0 10px;
  color: #CD457F;
  font-weight: 600;
  text-align: center;
}
body#top .service__item__item__list:last-child {
  background-image: none !important;
}
@media screen and (max-width: 767px) {
  body#top .service__item__item__list {
    margin-bottom: 7px;
    font-size: 1.3rem;
  }
}
body#top .service__item.is-tech .service__item__title {
  color: #0099CF;
}
body#top .service__item.is-tech .service__item__item__title::before {
  background-color: #0099CF;
}
body#top .service__item.is-tech .service__item__item__list {
  background-image: repeating-linear-gradient(180deg, #0099CF, #0099CF 2px, transparent 2px, transparent 5px);
  color: #0099CF;
}
body#top .service__item.is-consulting .service__item__title {
  color: #BDA2A6;
}
body#top .service__item.is-consulting .service__item__item__title::before {
  background-color: #BDA2A6;
}
body#top .service__item.is-consulting .service__item__item__list {
  background-image: repeating-linear-gradient(180deg, #BDA2A6, #BDA2A6 2px, transparent 2px, transparent 5px);
  color: #BDA2A6;
}
body#top .service .btn-all-services {
  margin-right: 20px;
}
body#top .project-section {
  position: relative;
  z-index: 2;
  margin-bottom: 20vw;
  background-image: url(../img/common/bg_tile.svg);
  background-position: center;
  background-repeat: repeat;
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  body#top .project-section {
    background-position: bottom center;
  }
}
body#top .project-section .box {
  position: absolute;
  top: -33vw;
  background-image: url("../img/common/bg_tile.svg");
  width: 100%;
  height: 33vw;
  /* 背景画像 */
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1520 506"><path d="M381.399 230C157.32 223.5 67.6889 127 -0.00146484 0V506H1520C1489.5 420.5 1359 332 1198 294.5C984.338 244.734 605.478 236.5 381.399 230Z" fill="white"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1520 506"><path d="M381.399 230C157.32 223.5 67.6889 127 -0.00146484 0V506H1520C1489.5 420.5 1359 332 1198 294.5C984.338 244.734 605.478 236.5 381.399 230Z" fill="white"/></svg>');
  mask-size: cover;
  /* マスクのサイズを調整 */
  -webkit-mask-size: cover;
  z-index: 0;
  background-position: center;
  /* Safari用 */
  background-repeat: repeat;
}
body#top .project-section .box2 {
  position: absolute;
  bottom: -14vw;
  background-image: url("../img/common/bg_tile.svg");
  width: 100%;
  height: 14vw;
  /* 背景画像 */
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1520 212"><path d="M910.5 166.001C1156.5 147.001 1325 131 1520 211.5L1520 0.000320435L0.00014056 0.000187552C30.5001 85.5002 160.549 169.346 324.5 190.501C495 212.501 686.992 183.264 910.5 166.001Z" fill="white"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1520 212"><path d="M910.5 166.001C1156.5 147.001 1325 131 1520 211.5L1520 0.000320435L0.00014056 0.000187552C30.5001 85.5002 160.549 169.346 324.5 190.501C495 212.501 686.992 183.264 910.5 166.001Z" fill="white"/></svg>');
  mask-size: cover;
  /* マスクのサイズを調整 */
  -webkit-mask-size: cover;
  background-position: center;
  /* Safari用 */
  background-repeat: repeat;
}
body#top .project-section .figure-3 {
  position: absolute;
  top: -15vw;
  right: -30px;
  width: 276px;
  height: 242px;
}
@media screen and (max-width: 1024px) {
  body#top .project-section .figure-3 {
    width: 176px;
    height: 142px;
  }
}
@media screen and (max-width: 767px) {
  body#top .project-section .figure-3 {
    display: none;
  }
}
body#top .project-section .figure-4 {
  position: absolute;
  top: -720px;
  left: -273px;
  rotate: 70deg;
  width: 698px;
  height: 674px;
}
@media screen and (max-width: 1024px) {
  body#top .project-section .figure-4 {
    top: -450px;
    left: -163px;
    width: 400px;
    height: 400px;
  }
}
@media screen and (max-width: 767px) {
  body#top .project-section .figure-4 {
    top: -350px;
    left: -163px;
    width: 349px;
    height: 339px;
  }
}
body#top .project-section .spacer {
  width: 1px;
  height: 1px;
}
body#top .project-section .container {
  margin-top: -100px;
  padding: 0;
  max-width: 100%;
  color: #10425A;
}
@media screen and (max-width: 767px) {
  body#top .project-section .container {
    width: 100%;
    max-width: 1500px;
    margin: 0;
    padding: 0 80px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  body#top .project-section .container {
    padding: 0 20px;
  }
}
body#top .project-section .title-s {
  position: sticky;
  top: 100px;
  color: #10425A;
}
@media screen and (max-width: 1024px) {
  body#top .project-section .title-s {
    position: relative;
    top: auto;
  }
}
@media screen and (max-width: 767px) {
  body#top .project-section .title-s {
    position: relative;
    top: auto;
  }
}
body#top .project-section .title-s::after {
  background-color: #10425A;
}
body#top .project-section .title-p:not(.is-en) {
  color: #10425A;
}
body#top .project-section .project {
  padding-left: 200px;
  width: 90%;
}
@media screen and (max-width: 1024px) {
  body#top .project-section .project {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  body#top .project-section .project {
    padding-top: 0;
    padding-left: 0;
    width: 100%;
  }
}
body#top .project-section .project .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}
body#top .project-section .project .tags .tag {
  border: solid 1px #10425A;
  border-radius: 50px;
  padding: 10px 20px;
  font-size: 0.7em;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  body#top .project-section .project .tags .tag {
    padding: 8px 10px;
  }
}
body#top .project-section .project__lists {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 1em minmax(0, 1fr) 1em minmax(0, 1fr);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1em;
}
body#top .project-section .project .right-block {
  margin: 0;
  padding-top: 5rem;
  width: 100%;
}
body#top .project-section .project .right-block__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0;
}
body#top .project-section .project .project-list {
  display: -ms-grid;
  display: grid;
  grid-column-gap: 20px;
  grid-row-gap: 10px;
  grid-auto-rows: auto;
  width: 49.5%;
}
body#top .project-section .project .project-item {
  position: relative;
}
body#top .project-section .project .project-item__img {
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  border-radius: 15px;
}
body#top .project-section .project .project-item:hover .project-item__img {
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
body#top .project-section .project .project-item:hover .text-area {
  opacity: 0.9;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
body#top .project-section .project .project-item .detail-link {
  display: block;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
body#top .project-section .project .project-item:nth-child(odd) .text-area {
  background-color: #CD457F;
}
body#top .project-section .project .project-item:nth-child(even) .text-area {
  background-color: #0099CF;
}
body#top .project-section .project .project-item .text-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  -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;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  border-radius: 16px;
  padding: 0 2rem;
  width: 100%;
  text-align: center;
  pointer-events: none;
}
body#top .project-section .project .project-item .text-area .project-title {
  margin: 0;
  color: #fff;
  line-height: 1;
}
body#top .project-section .project .project-item .text-area .project-link a {
  pointer-events: auto;
}
body#top .project-section .project .project-item .text-area .project-tag-list {
  margin: 0;
  padding: 0;
  width: 49%;
  list-style: none;
}
body#top .project-section .project .project-item .text-area .project-tag-list .project-tag-item {
  display: inline-block;
  margin: 0;
  font-size: 1rem;
  line-height: 1;
}
body#top .project-section .project .project-item .text-area .project-tag-list .project-tag-item a {
  color: #fff;
  text-decoration: none;
  pointer-events: auto;
}
body#top .project-section .project .project-item .text-area .btn-p {
  position: absolute;
  right: 2rem;
  bottom: 3rem;
}
body#top .project-section .project .project-item .text-area .btn-p::after {
  width: 3rem;
  height: 3rem;
}
body#top .project-section .project .project-list-type01 {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
body#top .project-section .project .project-list-type01 .project-item--1 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: 1/1/2/3;
}
body#top .project-section .project .project-list-type01 .project-item--2 {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-area: 2/1/3/2;
}
body#top .project-section .project .project-list-type01 .project-item--3 {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-area: 2/2/3/3;
}
body#top .project-section .project .project-list-type02 {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
body#top .project-section .project .project-list-type02 .project-item--1 {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: 2/1/3/3;
}
body#top .project-section .project .project-list-type02 .project-item--2 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-area: 1/1/2/2;
}
body#top .project-section .project .project-list-type02 .project-item--3 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-area: 1/2/2/3;
}
body#top .top-project-bg-bottom-inner {
  position: relative;
}
body#top .top-project-bg-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-image: url(../img/top/top-project-bg-bottom.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  width: 100%;
  height: 39vw;
  content: "";
}
@media screen and (max-width: 767px) {
  body#top .top-project-bg-bottom {
    bottom: -30px;
  }
}
body#top .contact-section {
  position: relative;
}
@media screen and (max-width: 767px) {
  body#top .contact-section {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  body#top .loop_letter-contact {
    margin-top: 70px;
  }
}
@media screen and (max-width: 767px) {
  body#top .about-section {
    padding-top: 0;
  }
}
body#top .about-section .container {
  padding: 0;
  max-width: 100%;
}
@media screen and (max-width: 1024px) {
  body#top .about-section .title-s {
    position: relative;
  }
}
body#top .about-section .about__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  margin-right: auto;
  margin-bottom: 150px;
  margin-left: auto;
  width: 90%;
}
@media screen and (max-width: 767px) {
  body#top .about-section .about__items {
    gap: 35px;
  }
}
@media screen and (max-width: 767px) {
  body#top .about-section .about__items {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    margin-top: 150px;
  }
}
body#top .about-section .about__items .title-p {
  margin-right: 120px;
  letter-spacing: 0.4em;
}
@media screen and (max-width: 767px) {
  body#top .about-section .about__items .title-p {
    margin-right: 0;
    padding-left: 20px;
  }
}
body#top .about-section .about__items .title-p::before {
  top: -10px;
  right: -10px;
  left: auto;
}
body#top .about-section .about__description {
  padding-bottom: 40px;
  line-height: 2.4em;
}
@media screen and (max-width: 767px) {
  body#top .about-section .about__description {
    padding-top: 60px;
    padding-bottom: 0;
    line-height: 2em;
  }
}
@media screen and (max-width: 1024px) {
  body#top .about-section .about__description br.pc {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  body#top .about-section .about .btn-group-about {
    margin-top: 40px;
    text-align: right;
  }
}
body#top .about-section .about__member__list {
  position: relative;
  margin-right: 0 !important;
  margin-left: 3%;
  width: 14.5% !important;
}
@media screen and (max-width: 1024px) {
  body#top .about-section .about__member__list {
    margin-right: 5% !important;
    margin-left: 0 !important;
    width: 20% !important;
  }
}
@media screen and (max-width: 767px) {
  body#top .about-section .about__member__list {
    margin-right: 9% !important;
    margin-left: 0 !important;
    width: 35% !important;
  }
}
body#top .about-section .about__member__list .member-thumb {
  display: block;
  border-radius: 50%;
  width: 100%;
}
body#top .about-section .about__member__list__text {
  position: absolute;
  top: auto;
  right: -6rem;
  bottom: -1rem;
  left: auto;
  width: 7em;
}
body#top .about-section .about__member__list__position {
  margin: 0 0 5px;
  color: #CD457F;
  font-size: 0.8em;
  line-height: 1.3em;
  letter-spacing: -0.02em;
}
body#top .about-section .about__member__list__name {
  margin: 0;
  font-weight: 700;
  font-size: 0.9em;
  line-height: 1.1em;
  text-shadow: #10425A 0 0 5px;
  white-space: pre-line;
}

#service .page-top-section h1 {
  width: 29vw;
  height: auto;
}
@media screen and (max-width: 767px) {
  #service .page-top-section h1 {
    width: 39vw;
  }
}
#service .page-top-section h1 img {
  width: 100%;
}

.what-we-do-section .three-services__inner {
  width: 100%;
  padding-bottom: 0;
}

.approach-section {
  margin-top: -5vw;
}
.approach-section .wave-box__top,
.approach-section .wave-box__bottom,
.approach-section .wave-box__inner {
  background-color: #194A63;
}
.approach-section__art01 {
  position: absolute;
  bottom: -12vw;
  left: -20vw;
  -webkit-transform: rotate(55deg);
      -ms-transform: rotate(55deg);
          transform: rotate(55deg);
  width: 50vw;
}
@media screen and (max-width: 767px) {
  .approach-section__art01 {
    width: 80vw;
    bottom: -45vw;
    -webkit-transform: rotate(40deg);
        -ms-transform: rotate(40deg);
            transform: rotate(40deg);
  }
}
.approach-section__art01 img {
  width: 100%;
}
.approach-section__second-block {
  margin-top: 10vw;
  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;
}
@media screen and (max-width: 767px) {
  .approach-section__second-block {
    display: block;
  }
}
.approach-section__second-block__left {
  margin-right: 5vw;
}
@media screen and (max-width: 767px) {
  .approach-section__second-block__left {
    margin: auto auto 10vw auto;
    width: 90%;
  }
  .approach-section__second-block__left img {
    width: 100%;
  }
}
.approach-section__second-block__right__body {
  margin-top: 3vw;
}
@media screen and (max-width: 767px) {
  .approach-section__second-block__right__body {
    margin: 10vw auto auto auto;
    width: 90%;
  }
}
.approach-section__second-block__right__body:first-child {
  margin-top: 0;
}
.approach-section__second-block__right__body .title-p--circle {
  position: relative;
  font-size: 1.3em;
  margin-bottom: 1rem;
}
.approach-section__second-block__right__body .title-p--circle::before {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-image: none;
  height: 40px;
  width: 40px;
  top: -10px;
  bottom: auto;
  left: -20px;
  right: auto;
  background-size: 100%;
  margin: auto;
  background-color: #fff;
  border-radius: 30px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .approach-section__second-block__right__body .title-p--circle::before {
    font-size: 3.2rem;
    width: 25px;
    height: 25px;
    left: -15px;
  }
}
.approach-section__second-block__right__body:first-child .title-p--circle::before {
  background-color: #CD457F;
}
.approach-section__second-block__right__body:nth-child(2) .title-p--circle::before {
  background-color: #0099CF;
}
.approach-section__second-block__right__body:nth-child(3) .title-p--circle::before {
  background-color: #BDA2A6;
}

.work-flow-section__followup {
  margin-top: 5vw;
}

.workflow-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  margin: 0;
}
.workflow-list__child {
  text-align: center;
  width: 25%;
  font-size: 1.6rem;
  background-image: url("../img/service/arrow.svg");
  background-position: right 8px center;
  background-repeat: no-repeat;
  margin: 0 0 3rem 0;
}
@media screen and (max-width: 767px) {
  .workflow-list__child {
    width: 50%;
  }
}
.workflow-list__child:last-child {
  background-image: none;
}
.workflow-list__child--border {
  width: 85%;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  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;
  /* 垂直方向の中央揃え */
  text-align: center;
  min-height: 8rem;
}
@media screen and (max-width: 767px) {
  .workflow-list__child--border {
    min-height: 6rem;
    font-size: 1.4rem;
  }
}
.workflow-list__child--gnw {
  background-color: rgba(255, 255, 255, 0.14);
}

#design .page-top-section h1 {
  width: 29vw;
  height: auto;
}
@media screen and (max-width: 767px) {
  #design .page-top-section h1 {
    top: 45%;
    left: 10px;
    width: 36vw;
  }
}
#design .page-top-section h1 img {
  width: 100%;
}
#design .our-strength-section .wave-box__top,
#design .our-strength-section .wave-box__bottom,
#design .our-strength-section .wave-box__inner {
  background-color: #CD457F;
}

#consulting .our-strength-section .wave-box__top,
#consulting .our-strength-section .wave-box__bottom,
#consulting .our-strength-section .wave-box__inner {
  background-color: #BDA2A6;
}

#technology .page-top-section h1 {
  width: 40vw;
  height: auto;
}
@media screen and (max-width: 767px) {
  #technology .page-top-section h1 {
    top: 45%;
    left: 10px;
    width: 50vw;
  }
}
#technology .page-top-section h1 img {
  width: 100%;
}
#technology .our-strength-section .wave-box__top,
#technology .our-strength-section .wave-box__bottom,
#technology .our-strength-section .wave-box__inner {
  background-color: #0099CF;
}

.our-strength-section {
  position: relative;
  color: #fff;
}
.our-strength-section .wave-box__inner {
  position: relative;
}
.our-strength-section .wave-box__inner .loop_letter-wrap {
  position: sticky;
  top: 25vw;
  z-index: 1;
}
.our-strength-section .wave-box__inner .loop_letter-wrap .loop_letter {
  color: #fff;
}
.our-strength-section .right-block__inner {
  position: relative;
  z-index: 2;
  margin-left: 20vw;
  padding-left: 3.5vw;
  height: 70vh;
}
.our-strength-section .right-block__inner .horizontal-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .our-strength-section .right-block__inner .horizontal-inner {
    display: block;
  }
}
.our-strength-section .right-block__inner .horizontal-inner .panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 80vw;
          flex: 0 0 80vw;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: transparent;
}
.our-strength-section .right-block__inner .horizontal-inner .panel__inner {
  position: relative;
  width: 100%;
}
.our-strength-section .right-block__inner .horizontal-inner .panel__inner__number {
  position: absolute;
  top: -2vw;
  left: 0;
  width: 10%;
}
.our-strength-section .right-block__inner .horizontal-inner .panel__inner__number .circle-number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 120px;
  height: 120px;
}
.our-strength-section .right-block__inner .horizontal-inner .panel__inner__number .circle-bg {
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  width: 100%;
  height: 100%;
}
.our-strength-section .right-block__inner .horizontal-inner .panel__inner__number .number {
  position: relative;
  color: white;
  font-weight: bold;
  font-size: 4rem;
  font-family: "Georgia", serif;
}
.our-strength-section .right-block__inner .horizontal-inner .panel__inner__contents {
  padding-left: 140px;
  width: 85%;
}
.our-strength-section .right-block__inner .horizontal-inner .panel__inner__contents dt {
  margin-bottom: 1vw;
  font-size: 4.7rem;
  line-height: 1.4;
}
.our-strength-section .right-block__inner .horizontal-inner .panel__inner__contents dd {
  line-height: 1.5;
}
.our-strength-section .right-block__inner .horizontal-inner .panel__inner__contents img {
  max-width: 600px;
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
.our-strength-section__art01 {
  position: absolute;
  top: 5vw;
  right: 0;
  z-index: 1;
  width: 25vw;
}
.our-strength-section__art01 img {
  width: 100%;
}

.projects-section {
  text-align: left;
}
.projects-section .right-block__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
}
.projects-section .project-list {
  display: -ms-grid;
  display: grid;
  grid-column-gap: 20px;
  grid-row-gap: 10px;
  grid-auto-rows: auto;
  width: 49.5%;
}
.projects-section .project-item {
  position: relative;
}
.projects-section .project-item__img {
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  border-radius: 15px;
}
.projects-section .project-item:hover .project-item__img {
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.projects-section .project-item:hover .text-area {
  opacity: 0.9;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.projects-section .project-item .detail-link {
  display: block;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.projects-section .project-item:nth-child(odd) .text-area {
  background-color: #CD457F;
}
.projects-section .project-item:nth-child(even) .text-area {
  background-color: #0099CF;
}
.projects-section .project-item .text-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  -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;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  border-radius: 16px;
  background-color: #CD457F;
  padding: 0 2rem;
  width: 100%;
  text-align: center;
  pointer-events: none;
}
.projects-section .project-item .text-area .project-title {
  margin: 0;
  color: #fff;
  line-height: 1;
}
.projects-section .project-item .text-area .project-link a {
  pointer-events: auto;
}
.projects-section .project-item .text-area .project-tag-list {
  margin: 0;
  padding: 0;
  width: 49%;
  list-style: none;
}
.projects-section .project-item .text-area .project-tag-list .project-tag-item {
  display: inline-block;
  margin: 0;
  font-size: 1rem;
  line-height: 1;
}
.projects-section .project-item .text-area .project-tag-list .project-tag-item a {
  color: #fff;
  text-decoration: none;
  pointer-events: auto;
}
.projects-section .project-item .text-area .btn-p {
  position: absolute;
  right: 2rem;
  bottom: 3rem;
}
.projects-section .project-item .text-area .btn-p::after {
  width: 3rem;
  height: 3rem;
}
.projects-section .project-list-type01 {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
.projects-section .project-list-type01 .project-item--1 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: 1/1/2/3;
}
.projects-section .project-list-type01 .project-item--2 {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-area: 2/1/3/2;
}
.projects-section .project-list-type01 .project-item--3 {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-area: 2/2/3/3;
}
.projects-section .project-list-type02 {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
.projects-section .project-list-type02 .project-item--1 {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: 2/1/3/3;
}
.projects-section .project-list-type02 .project-item--2 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-area: 1/1/2/2;
}
.projects-section .project-list-type02 .project-item--3 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-area: 1/2/2/3;
}

.about-top-section {
  padding-top: 13vw;
  position: relative;
  background: url("../img/common/bg_tile.svg");
  z-index: 1;
}
.about-top-section__art01 {
  position: absolute;
  left: 0;
  bottom: -9vw;
  z-index: 1;
  width: 35vw;
}
.about-top-section__art01 img {
  width: 100%;
}
.about-top-section__inner {
  color: #10425A;
  padding-bottom: 10vw;
}
.about-top-section__inner__parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .about-top-section__inner__parent {
    display: block;
  }
}
.about-top-section__inner__right {
  width: 54%;
}
@media screen and (max-width: 767px) {
  .about-top-section__inner__right {
    width: 100%;
  }
}
.about-top-section__inner__left {
  width: 34%;
}

.three-panel-section {
  position: relative;
}
.three-panel-section .wave-box__bottom {
  width: 100%;
  background: url("../img/common/bg_tile.svg");
  mask-image: url('data:image/svg+xml;utf8,<svg width="1520" height="212" viewBox="0 0 1520 212" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M910.5 166.001C1156.5 147.001 1325 131 1520 211.5L1520 7.62939e-05L0.00111712 -5.65887e-05C30.5011 85.4999 160.55 169.346 324.5 190.501C495 212.501 686.993 183.263 910.5 166.001Z" fill="white"/></svg>');
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg width="1520" height="212" viewBox="0 0 1520 212" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M910.5 166.001C1156.5 147.001 1325 131 1520 211.5L1520 7.62939e-05L0.00111712 -5.65887e-05C30.5011 85.4999 160.55 169.346 324.5 190.501C495 212.501 686.993 183.263 910.5 166.001Z" fill="white"/></svg>');
  mask-repeat: no-repeat;
  mask-size: cover;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: cover;
}
.three-panel-section .wave-box__bottom__inner {
  padding: 0;
}
.three-panel-section .three-services {
  margin-top: -10vw;
  z-index: 1;
  position: relative;
}
.three-panel-section .three-services__inner {
  padding: 0;
}

.overview-section .overview-table--th, .overview-section .overview-table--td {
  padding: 2rem 0;
  border-top: 1px solid #102445;
  border-bottom: 1px solid #102445;
}
.overview-section .overview-table--th {
  text-align: left;
  padding-right: 6rem;
}
.overview-section .overview-table--td {
  text-align: left;
}

.member-section {
  margin-top: -5vw;
}
.member-section .wave-box__top,
.member-section .wave-box__bottom,
.member-section .wave-box__inner {
  background-color: #194A63;
}
.member-section .member-section-list__parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .member-section .member-section-list__parent {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.member-section .member-section-list__child {
  width: 33%;
  margin-bottom: 6vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .member-section .member-section-list__child {
    width: 50%;
  }
}
.member-section .member-section-list__child .member-thumb {
  width: 70%;
  border-radius: 100%;
}
.member-section .member-section-list__child__text {
  position: absolute;
  bottom: 0;
  left: 55%;
}
.member-section .member-section-list__child__text__position {
  color: #CD457F;
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 0;
  letter-spacing: normal;
}
.member-section .member-section-list__child__text__name {
  font-weight: bold;
  letter-spacing: normal;
}

.history-section .history-table .history-table__year,
.history-section .history-table .history-table__detail {
  border-top: 1px solid #102445;
  border-bottom: 1px solid #102445;
}
.history-section .history-table .history-table__year {
  letter-spacing: normal;
  font-weight: bold;
  vertical-align: middle;
}
.history-section .history-table .history-table__year--dot {
  width: 10rem;
  display: inline-block;
  text-align: left;
  position: relative;
}
.history-section .history-table .history-table__year--dot::after {
  content: "";
  position: absolute;
  /* 丸アイコンの位置調整 */
  display: inline-block;
  top: 40%;
  right: 0;
  width: 10px;
  height: 10px;
  background-color: #346D88;
  border: 2px solid #102445;
  border-radius: 50%;
  /* 外側のリング */
}
.history-section .history-table .history-table__detail--line {
  border-left: 1px dashed #4E7D93;
  padding: 3rem 0;
  display: inline-block;
  margin-left: -8px;
  padding-left: 4rem;
}

.two-panel-section {
  padding: 0 0 30rem 0;
}
@media screen and (max-width: 767px) {
  .two-panel-section {
    padding: 5rem 0 20rem 0;
  }
}
.two-panel-section__inner .two-panel__wrap {
  margin: auto;
  width: 68vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .two-panel-section__inner .two-panel__wrap {
    display: block;
    width: 85%;
  }
}
.two-panel-section__inner .two-panel__child {
  width: 48%;
  border-radius: 15px;
  background-color: #55859D;
  padding: 5.5rem 0 5.5rem 3rem;
  background-image: url(../img/common/arrow.svg);
  background-repeat: no-repeat;
  background-position: right 2rem center;
  text-decoration: none;
  display: block;
}
@media screen and (max-width: 767px) {
  .two-panel-section__inner .two-panel__child {
    width: 100%;
    margin-top: 5vw;
  }
}
.two-panel-section__inner .two-panel__child:hover {
  opacity: 0.8;
}
.two-panel-section__inner .two-panel__child p {
  margin: 0;
}
.two-panel-section__inner .two-panel__child--cat {
  font-size: 1.5rem;
}
.two-panel-section__inner .two-panel__child--title {
  font-size: 2.8rem;
  line-height: 1.3;
}

/*#project {
	.page-top-section {}
}*/
.project-tag-item {
  color: #56859D;
  font-size: 1rem;
  letter-spacing: 0.1em;
}
.project-tag-item a {
  color: #56859D;
  text-decoration: none;
}

.section-pickup {
  padding-top: 0;
}
.section-pickup .container {
  padding-top: 40px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .section-pickup .container {
    padding-top: 0;
  }
}
.section-pickup .pickup-list .pickup-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2%;
}
@media screen and (max-width: 1024px) {
  .section-pickup .pickup-list .pickup-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
}
.section-pickup .pickup-list .pickup-item .image-block {
  width: 60%;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .section-pickup .pickup-list .pickup-item .image-block {
    width: 100%;
  }
}
.section-pickup .pickup-list .pickup-item .image-block img {
  display: block;
  aspect-ratio: 173/154;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.section-pickup .pickup-list .pickup-item .text-block {
  padding: 10px 0;
  width: 38%;
}
@media screen and (max-width: 1024px) {
  .section-pickup .pickup-list .pickup-item .text-block {
    width: 100%;
  }
}
.section-pickup .pickup-list .pickup-item .pickup-title {
  margin-bottom: 5px;
  color: #fff;
  font-weight: 300;
  font-size: 4rem;
  line-height: 1.3em;
}
@media screen and (max-width: 1024px) {
  .section-pickup .pickup-list .pickup-item .pickup-title {
    font-size: 3rem;
  }
}
.section-pickup .pickup-list .pickup-item .pickup-link {
  margin-bottom: 40px;
  font-size: 1.2rem;
  line-height: 1.4em;
}
@media screen and (max-width: 1024px) {
  .section-pickup .pickup-list .pickup-item .pickup-link {
    margin-bottom: 25px;
    font-size: 1rem;
  }
}
.section-pickup .pickup-list .pickup-item .pickup-tag-list {
  margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .section-pickup .pickup-list .pickup-item .pickup-tag-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
  }
}
.section-pickup .pickup-list .pickup-item .pickup-tag-list .project-tag-item {
  font-size: 1.3rem;
}
@media screen and (max-width: 1024px) {
  .section-pickup .pickup-list .pickup-item .pickup-tag-list .project-tag-item {
    margin-bottom: 0;
    font-size: 1.1rem;
  }
}
.section-pickup .pickup-list .pickup-item .project-discription {
  margin-bottom: 40px;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .section-pickup .pickup-list .pickup-item .project-discription {
    display: -webkit-box;
    margin-bottom: 10px;
    -webkit-line-clamp: 4;
    font-size: 1.4rem;
    line-height: 1.6em;
    /* 表示する最大行数 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media screen and (max-width: 1024px) {
  .section-pickup .pickup-list .pickup-item .link-detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
}

.section-other-project .project-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 50px 2%;
}
@media screen and (max-width: 767px) {
  .section-other-project .project-list {
    gap: 80px 2%;
  }
}
.section-other-project .project-list .project-item {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease;
  margin: 0;
  width: 32%;
}
@media screen and (max-width: 767px) {
  .section-other-project .project-list .project-item {
    width: 100%;
  }
}
.section-other-project .project-list .project-item .detail-link {
  display: block;
  position: relative;
  border-radius: 10px;
  background-color: #CD457F;
  overflow: hidden;
}
.section-other-project .project-list .project-item .detail-link .btn-p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  opacity: 0;
  z-index: 2;
  margin: auto;
  width: 5.5em;
  height: 1em;
}
.section-other-project .project-list .project-item .detail-link:hover .btn-p {
  opacity: 1;
}
.section-other-project .project-list .project-item .detail-link:hover a img {
  opacity: 0.2;
}
.section-other-project .project-list .project-item__img {
  display: block;
  border-radius: 10px;
  aspect-ratio: 10/6;
  width: 100%;
  height: auto;
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
}
.section-other-project .project-list .project-item__left {
  width: 70%;
}
.section-other-project .project-list .project-item__right {
  width: 25%;
}
.section-other-project .project-list .project-item .text-area.flex {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 15px 5px 0;
}
.section-other-project .project-list .project-item .project-title {
  margin-bottom: 7px;
  font-size: 1.6rem;
}
@media screen and (max-width: 1024px) {
  .section-other-project .project-list .project-item .project-title {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .section-other-project .project-list .project-item .project-title {
    font-size: 1.4rem;
  }
}
.section-other-project .project-list .project-item .project-link {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.4em;
  letter-spacing: 0.1em;
  word-break: break-all;
}
@media screen and (max-width: 1024px) {
  .section-other-project .project-list .project-item .project-link {
    font-size: 0.8rem;
  }
}
.section-other-project .project-list .project-item .project-tag-list {
  margin-top: 0;
  margin-bottom: 0;
}
.section-other-project .project-list .project-item .project-tag-item {
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .section-other-project .project-list .project-item .project-tag-item {
    margin-bottom: 7px;
  }
}

.project-detail .project-data {
  margin-top: 80px;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .project-detail .project-data {
    margin-top: 40px;
  }
}
.project-detail .project-name {
  margin-bottom: 0;
  color: #fff;
  font-weight: 300;
  font-size: 5rem;
  line-height: 1.4em;
}
@media screen and (max-width: 767px) {
  .project-detail .project-name {
    font-size: 3.4rem;
  }
}
.project-detail .project-link {
  margin-bottom: 40px;
  font-size: 1.2rem;
  line-height: 1.5em;
}
@media screen and (max-width: 767px) {
  .project-detail .project-link {
    margin-bottom: 30px;
    font-size: 1rem;
  }
}
.project-detail .project-datail-tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .project-detail .project-datail-tag-list {
    margin-bottom: 20px;
  }
}
.project-detail .project-datail-tag-list .project-tag-item {
  margin-bottom: 0;
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  .project-detail .project-datail-tag-list .project-tag-item {
    font-size: 1.1rem;
  }
}
.project-detail .project-team {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .project-detail .project-team {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    margin-bottom: 70px;
  }
}
.project-detail .project-team-list {
  font-size: 1.5rem;
  line-height: 1.6em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .project-detail .project-team-list {
    font-size: 1.4rem;
  }
}
.project-detail .project-team-list dl dd {
  font-weight: 300;
}
.project-detail .project-team-list dl dt {
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .project-detail-a {
    padding-top: 0;
  }
}
.project-detail-a .container-main-image {
  margin-right: 0;
  padding-right: 0;
  max-width: 1420px;
}
@media screen and (max-width: 767px) {
  .project-detail-a .container-main-image {
    padding-left: 0;
  }
}
.project-detail-a .main-image-box {
  border-radius: 10px 0 0 10px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .project-detail-a .main-image-box {
    border-radius: 0;
  }
}
.project-detail-a .main-image-box img {
  display: block;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .project-detail-b {
    padding-top: 50px;
  }
}
.project-detail-b .slide-container {
  margin-left: -100px;
  width: calc(100% + 160px);
}
.project-detail-b .gallery-slide-box {
  position: relative;
  overflow: hidden;
}
.project-detail-b .gallery-slide .image-block {
  border-radius: 10px;
  width: 100%;
  overflow: hidden;
}
.project-detail-b .gallery-slide .image-block img {
  display: block;
  aspect-ratio: 10/6;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.project-detail-b .project-data {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .project-detail-b .project-data {
    margin-top: 0;
  }
}

.blogs {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .blogs {
    margin-top: 0;
  }
}
.blogs__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 50px 2%;
}
@media screen and (max-width: 767px) {
  .blogs__lists {
    gap: 80px 2%;
  }
}
.blogs__list {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease;
  margin: 0;
  width: 32%;
  padding: 0;
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .blogs__list {
    width: 100%;
  }
}
.blogs__thumb {
  display: block;
  position: relative;
  border-radius: 10px;
  background-color: #CD457F;
  overflow: hidden;
}
.blogs__thumb img {
  display: block;
  border-radius: 10px;
  aspect-ratio: 10/6;
  width: 100%;
  height: auto;
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
}
.blogs__text .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 15px 5px 0;
}
.blogs__text .head__date {
  line-height: 1em;
}
.blogs__text .head__tags {
  margin: 0;
}
.blogs__text__title {
  margin-bottom: 7px;
  font-size: 1.6rem;
}
@media screen and (max-width: 1024px) {
  .blogs__text__title {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .blogs__text__title {
    font-size: 1.4rem;
  }
}

.articles__foot {
  padding-left: 5px;
  padding-right: 5px;
}

#contact .page-top-section h1 {
  width: 29vw;
  height: auto;
}
@media screen and (max-width: 767px) {
  #contact .page-top-section h1 {
    width: 39vw;
  }
}
#contact .page-top-section h1 img {
  width: 100%;
}

.contact-us-section__wrap {
  border-top: 1px solid rgba(255, 255, 255, 0.17);
  padding-top: 3rem;
  padding-bottom: 15vw;
}
.contact-us-section__wrap .form .need {
  color: #CD457F;
  font-size: 0.8em;
}
.contact-us-section__wrap .form .error-message {
  background-color: #ff4444;
  border: 2px solid #cc0000;
  border-radius: 8px;
  color: #fff;
  padding: 1.5rem 2rem;
  margin-bottom: 2rem;
  font-size: 1.6rem;
  font-weight: bold;
  -webkit-box-shadow: 0 2px 8px rgba(255, 68, 68, 0.3);
          box-shadow: 0 2px 8px rgba(255, 68, 68, 0.3);
  -webkit-animation: shake 0.5s;
          animation: shake 0.5s;
}
@media screen and (max-width: 767px) {
  .contact-us-section__wrap .form .error-message {
    font-size: 1.4rem;
    padding: 1.2rem 1.5rem;
  }
}
.contact-us-section__wrap .form .error-message b {
  display: block;
  font-size: 1.1em;
}
@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}
@keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}
.contact-us-section__wrap .form__item {
  padding-bottom: 3rem;
}
.contact-us-section__wrap .form__item--name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.contact-us-section__wrap .form__item--type {
  margin-bottom: 40px;
}
.contact-us-section__wrap .form__item--type .type-list {
  padding-top: 20px;
}
.contact-us-section__wrap .form__item--type .type-list label {
  margin-bottom: 10px;
  display: block;
  cursor: pointer;
}
.contact-us-section__wrap .form__item--type .type-list label input[type=radio] {
  margin-right: 10px;
}
.contact-us-section__wrap .form__item--family-name, .contact-us-section__wrap .form__item--first-name {
  width: 49%;
}
.contact-us-section__wrap .form__item--privacy_policy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contact-us-section__wrap .form__item__submit {
  text-align: right;
  border-top: 1px solid rgba(255, 255, 255, 0.17);
  padding-top: 3rem;
}
@media screen and (max-width: 767px) {
  .contact-us-section__wrap .form__item__submit {
    text-align: center;
  }
}
.contact-us-section__wrap .form__item__submit--button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #22A09F;
  border: none;
  width: 70%;
  max-width: 350px;
  height: 80px;
  border-radius: 50px;
  padding: 2rem 4rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  cursor: pointer;
}
.contact-us-section__wrap .form input[type=text],
.contact-us-section__wrap .form textarea {
  border: none;
  width: 100%;
  border-radius: 5px;
  background-color: rgba(217, 217, 217, 0.1);
  color: #fff;
  margin-top: 1rem;
}
.contact-us-section__wrap .form input[type=text] {
  height: 5rem;
  padding: 0 1rem;
}
.contact-us-section__wrap .form textarea {
  padding: 2rem;
}
.contact-us-section__wrap .form input[type=text].error,
.contact-us-section__wrap .form textarea.error {
  background-color: rgba(248, 187, 187, 0.42) !important;
}
.contact-us-section__wrap .form input[type=checkbox] {
  border-radius: 3px;
  background-color: rgba(217, 217, 217, 0);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #9DBECE;
  margin-right: 10px;
  width: 1.8rem;
  height: 1.8rem;
  line-height: 1;
  cursor: pointer;
  display: inline-block;
}
.contact-us-section__wrap .form input[type=checkbox]:checked {
  position: relative;
}
.contact-us-section__wrap .form input[type=checkbox]:checked::after {
  content: "✓";
  color: #fff;
  font-size: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.contact-us-section__wrap .form__confirm .form__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .contact-us-section__wrap .form__confirm .form__item {
    display: block;
  }
}
.contact-us-section__wrap .form__confirm .form__item .form__item__child:first-child {
  min-width: 9em;
  padding-right: 2rem;
}
@media screen and (max-width: 767px) {
  .contact-us-section__wrap .form__confirm .form__item .form__item__child:first-child {
    margin-bottom: 1rem;
    font-weight: bold;
  }
}

.contact-icon {
  display: block;
  margin: 0 auto;
  width: 83px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .contact-icon {
    font-size: 5rem;
    width: 70px;
  }
}

.thanks_message {
  text-align: center;
  line-height: 1em;
  font-size: 10rem;
  color: #fff;
  font-family: miller-banner, serif;
  font-weight: 800;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .thanks_message {
    font-size: 5rem;
  }
}

.lead_thanks {
  font-size: 2rem;
  margin-bottom: 30px;
}

.btn_back_to_top {
  text-align: center;
}
.btn_back_to_top a {
  margin: 0 auto;
}