@charset "UTF-8";
@import url("../css/reset.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap");
/* フォント */
/*-------------------------------------------/
    ページ共通要素
/-------------------------------------------*/
/* 表示切替 ----------------------------- */
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .tab {
    display: none !important;
  }
  .pc_none {
    display: none !important;
  }
}
@media screen and (max-width: 1023px) {
  .pc_only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .tab {
    display: none !important;
  }
}
/*=====================================================
		メイン設定
======================================================*/
* {
  min-height: 0vw; /* Safari clamp関数対策 */
}

html {
  -webkit-overflow-scrolling: touch;
  font-size: min(0.78125vw, 10px);
}
@media screen and (max-width: 1023px) {
  html {
    font-size: min(1.1111111111vw, 10px);
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 10px;
  }
}
@media screen and (max-width: 414px) {
  html {
    font-size: 2.4154589372vw;
  }
}

:root {
  --white: #fff;
  --orange: #e34800;
  --yellow-green: #c2e300;
  --black: #111;
  --link: #0094e3;
  --border: #ddd;
  --bg-body: #f8f8f8;
  --bg-light-gray: #f4f4f4;
}

body {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-optical-sizing: auto;
  font-size: 1.6rem;
  line-height: 1.6;
  max-width: 100%;
  height: 100%;
  color: var(--black);
  background: var(--bg-body);
  animation: fade 1s ease forwards;
}

.wrapper {
  overflow-x: clip;
}

.color-yellow-green {
  color: var(--yellow-green);
}

/*=================================================

		共通設定

==================================================*/
img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: auto;
}

img,
object,
embed {
  max-width: 100%;
  height: auto;
  *width: inherit;
  vertical-align: middle;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
  cursor: pointer;
}

a:hover {
  color: inherit;
}

a img {
  transition: all 0.3s ease;
  display: block;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.btn:hover {
  opacity: 0.8;
}

/*=================================================

		tel リンク

==================================================*/
@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.nolink,
.nolink a {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

/*---------------------------------------
  ハンバーガー
---------------------------------------*/
.nav-toggle {
  position: fixed;
  width: 8rem;
  height: 5rem;
  top: 3.1rem;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.nav-toggle div {
  position: relative;
  width: 4rem;
  height: 4rem;
}
.nav-toggle div span {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--black);
  left: 0;
  transition: 0.3s ease all;
}
.nav-toggle div span:first-child {
  top: 0;
}
.nav-toggle div span:nth-child(2) {
  top: 1.3rem;
}
.nav-toggle div span:nth-child(3) {
  top: 2.6rem;
}
.nav-toggle::after {
  font-family: "Roboto", sans-serif;
  font-style: normal;
  content: "MENU";
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 500;
  color: var(--black);
}
@media screen and (max-width: 1023px) {
  .nav-toggle {
    width: 8rem;
    height: 8rem;
    top: 0;
    border-bottom: 1px solid var(--border);
    border-left: 1px solid var(--border);
    background: var(--bg-body);
  }
  .nav-toggle div {
    position: relative;
    width: 4rem;
    height: 3.7rem;
  }
  .nav-toggle div span {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background: var(--black);
    left: 0;
    transition: 0.3s ease all;
  }
  .nav-toggle div span:first-child {
    top: 0;
  }
  .nav-toggle div span:nth-child(2) {
    top: 1.3rem;
  }
  .nav-toggle div span:nth-child(3) {
    top: 2.6rem;
  }
}

.nav-toggle.active {
  position: fixed;
  width: 8rem;
  height: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.nav-toggle.active div {
  position: relative;
  width: 4rem;
  height: 4rem;
}
.nav-toggle.active div span {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--black);
}
.nav-toggle.active div span:first-child {
  width: 4rem;
  top: 2rem;
  transform: rotate(45deg);
}
.nav-toggle.active div span:nth-child(2) {
  display: none;
}
.nav-toggle.active div span:nth-child(3) {
  top: 2rem;
  transform: rotate(-45deg);
}
@media screen and (max-width: 1023px) {
  .nav-toggle.active {
    height: 8rem;
  }
  .nav-toggle.active div {
    height: 3.7rem;
  }
  .nav-toggle.active div span {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background: var(--black);
  }
  .nav-toggle.active div span:first-child {
    width: 4rem;
    top: 1.35rem;
    transform: rotate(45deg);
  }
  .nav-toggle.active div span:nth-child(2) {
    display: none;
  }
  .nav-toggle.active div span:nth-child(3) {
    top: 1.35rem;
    transform: rotate(-45deg);
  }
}

/*=================================================
		ヘッダー
==================================================*/
.header .header__navigation {
  position: relative;
  z-index: 9999;
}
@media screen and (min-width: 1024px) {
  .header .header__navigation .h-nav-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 8rem);
    height: 20rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .header .header__navigation .h-nav-wrap .logo {
    margin-top: 3rem;
    margin-left: 3rem;
    width: 13.1rem;
    background: var(--bg-body);
  }
  .header .header__navigation .h-nav-wrap .logo img {
    mix-blend-mode: multiply;
  }
  .header .header__navigation .h-nav-wrap .logo a:hover img {
    opacity: 0.8;
  }
  .header .header__navigation .h-nav-wrap .navigation {
    font-size: 1.6rem;
    line-height: 2;
    padding: 3rem 0;
  }
  .header .header__navigation .h-nav-wrap .navigation ul.main-menu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0 4rem;
  }
  .header .header__navigation .h-nav-wrap .navigation ul.main-menu .menu-item a {
    transition: 0.3s all;
    display: inline-block;
  }
  .header .header__navigation .h-nav-wrap .navigation ul.main-menu .menu-item a:hover {
    color: var(--orange);
  }
  .header .header__navigation .h-nav-wrap .navigation ul.main-menu .menu-item.contact a {
    color: var(--white);
    padding: 0.8rem 4rem 1rem;
    background: var(--orange);
    border-radius: 5rem 0 0 5rem;
  }
  .header .header__navigation .h-nav-wrap .navigation ul.main-menu .menu-item.contact a:hover {
    background: var(--yellow-green);
  }
  .header .header__navigation .gnav-side {
    position: fixed;
    top: 0;
    right: 0;
    width: 8rem;
    height: 100vh;
    background: var(--bg-body);
    border-left: 1px solid var(--border, #ddd);
    padding-top: 10rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 4.8rem;
  }
  .header .header__navigation .gnav-side .sns-menu {
    width: 3rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
  }
  .header .header__navigation .gnav-side .sns-menu li {
    width: 100%;
  }
  .header .header__navigation .gnav-side .sns-menu li img {
    width: 100%;
  }
  .header .header__navigation .gnav-open-content {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .header .header__navigation .h-nav-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 20rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .header .header__navigation .h-nav-wrap .logo {
    margin-top: 3rem;
    margin-left: 3rem;
    width: 13.1rem;
    background: var(--bg-body);
  }
  .header .header__navigation .h-nav-wrap .logo img {
    mix-blend-mode: multiply;
  }
  .header .header__navigation .h-nav-wrap .logo a:hover img {
    opacity: 0.8;
  }
  .header .header__navigation .h-nav-wrap .navigation {
    display: none;
  }
  .header .header__navigation .gnav-side {
    display: none;
  }
  .header .header__navigation .gnav-open-content {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header .header__navigation .h-nav-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 11.6rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .header .header__navigation .h-nav-wrap .logo {
    margin-top: 1.6rem;
    margin-left: 1.6rem;
    width: 7.7rem;
    background: var(--bg-body);
  }
  .header .header__navigation .h-nav-wrap .logo img {
    mix-blend-mode: multiply;
  }
  .header .header__navigation .h-nav-wrap .logo a:hover img {
    opacity: 0.8;
  }
  .header .header__navigation .h-nav-wrap .navigation {
    display: none;
  }
}

.header.open .header__navigation .gnav-open-content {
  position: fixed;
  top: 0;
  right: 7.9rem;
  width: 120.1rem;
  height: min(100vh, 85rem);
  padding-left: 60rem;
  background: var(--white);
  display: block;
  animation: fade 0.5s ease;
  overflow-y: auto;
  -ms-overflow-style: none; /* IE、Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
  background-image: url("../images/bg_menu-open.jpg");
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 50% auto;
}
.header.open .header__navigation .gnav-open-content::-webkit-scrollbar {
  display: none; /* chrome、Safari対応 */
}
.header.open .header__navigation .gnav-open-content .inner-box {
  width: 100%;
  min-height: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.header.open .header__navigation .gnav-open-content .gnav-menu-wrap {
  width: 100%;
  padding: 8rem 7.25rem 4rem;
  flex-grow: 1;
}
.header.open .header__navigation .gnav-open-content .gnav-menu {
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3.2rem;
}
.header.open .header__navigation .gnav-open-content .gnav-menu > li > a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.8rem;
}
.header.open .header__navigation .gnav-open-content .gnav-menu > li > a::before {
  content: "";
  width: 1.1111111111em;
  aspect-ratio: 20/17;
  background: url("../images/mark.svg") no-repeat;
  background-size: 100% 100%;
}
.header.open .header__navigation .gnav-open-content .gnav-menu > li > a:hover {
  color: var(--yellow-green);
}
.header.open .header__navigation .gnav-open-content .gnav-menu > li.has-child .child-menu {
  font-size: 1.6rem;
  margin-top: 1.6rem;
  margin-left: 3.4rem;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.8rem;
}
.header.open .header__navigation .gnav-open-content .gnav-menu > li.has-child .child-menu > li a {
  display: inline-block;
  padding: 0.8rem;
  border: 1px solid var(--black);
}
.header.open .header__navigation .gnav-open-content .gnav-menu > li.has-child .child-menu > li a:hover {
  background: var(--yellow-green);
}
.header.open .header__navigation .gnav-open-content .sns-menu {
  width: 100%;
  margin: 4rem auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
}
.header.open .header__navigation .gnav-open-content .sns-menu li {
  width: 3rem;
}
.header.open .header__navigation .gnav-open-content .sns-menu li img {
  width: 100%;
}
.header.open .header__navigation .gnav-open-content .contact-box {
  width: 100%;
  height: 14rem;
  color: var(--white);
  background: var(--black);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
}
.header.open .header__navigation .gnav-open-content .contact-box .contact-tel {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4.8rem;
  line-height: 1;
}
.header.open .header__navigation .gnav-open-content .contact-box .contact-web {
  font-size: 1.6rem;
  line-height: 2;
  padding: 0.8rem 4rem;
  color: var(--white);
  background: var(--orange);
  display: inline-block;
  border-radius: 5rem;
}
@media screen and (max-width: 1023px) {
  .header.open .header__navigation .gnav-open-content {
    width: 60.1rem;
    padding-left: 0;
    right: 0;
    background-image: none;
  }
}
@media screen and (max-width: 767px) {
  .header.open .header__navigation .gnav-open-content {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background: var(--white);
  }
  .header.open .header__navigation .gnav-open-content::before {
    display: none;
  }
  .header.open .header__navigation .gnav-open-content .gnav-menu-wrap {
    width: 100%;
    padding: 8rem 2.4rem 4rem;
    flex-grow: 1;
  }
  .header.open .header__navigation .gnav-open-content .gnav-menu {
    font-size: 1.6rem;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.6rem;
  }
  .header.open .header__navigation .gnav-open-content .gnav-menu > li > a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
  }
  .header.open .header__navigation .gnav-open-content .gnav-menu > li > a::before {
    content: "";
    width: 1.25em;
    aspect-ratio: 20/17;
    background: url("../images/mark.svg") no-repeat;
    background-size: 100% 100%;
  }
  .header.open .header__navigation .gnav-open-content .gnav-menu > li > a:hover {
    color: var(--yellow-green);
  }
  .header.open .header__navigation .gnav-open-content .gnav-menu > li.has-child .child-menu {
    font-size: 1.4rem;
    margin-top: 0.8rem;
    margin-left: 3.2rem;
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
  }
  .header.open .header__navigation .gnav-open-content .gnav-menu > li.has-child .child-menu > li a {
    width: 25rem;
    text-align: center;
    display: inline-block;
    padding: 0.8rem;
    border: 1px solid var(--black);
  }
  .header.open .header__navigation .gnav-open-content .gnav-menu > li.has-child .child-menu > li a:hover {
    background: var(--yellow-green);
  }
  .header.open .header__navigation .gnav-open-content .sns-menu {
    width: 100%;
    margin: 4rem auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4rem;
  }
  .header.open .header__navigation .gnav-open-content .sns-menu li {
    width: 3rem;
  }
  .header.open .header__navigation .gnav-open-content .sns-menu li img {
    width: 100%;
  }
  .header.open .header__navigation .gnav-open-content .contact-box {
    width: 100%;
    height: 16rem;
    color: var(--white);
    background: var(--black);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.8rem;
  }
  .header.open .header__navigation .gnav-open-content .contact-box .contact-tel {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 4.8rem;
  }
}

/*=================================================
		フッター
==================================================*/
.footer {
  width: calc(100% - 8rem);
  padding-top: 7rem;
  padding-bottom: 4rem;
  margin-right: auto;
  background: var(--black);
  color: var(--white);
}
.footer .f-content {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4rem 8rem;
}
.footer .f-content .logo {
  width: 46rem;
}
.footer .f-content .f-info {
  width: 55rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 1.8rem;
}
.footer .f-content .f-info p.address {
  font-weight: 700;
  line-height: 2;
}
.footer .f-content .f-info p.tel {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 5.6rem;
  line-height: 1;
}
.footer .f-content .f-info .btn-contact {
  font-weight: 700;
  line-height: 2;
  display: inline-flex;
  padding: 0.8rem 4rem;
  justify-content: center;
  align-items: center;
  border-radius: 5rem;
  background: var(--orange);
}
.footer .f-content .f-info .btn-contact:hover {
  background: var(--yellow-green);
}
.footer .copyright {
  margin-top: 7rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .footer {
    width: 100%;
  }
  .footer .f-content {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 4rem 8rem;
  }
  .footer .f-content .logo {
    width: 46rem;
  }
  .footer .f-content .f-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding-top: 4rem;
    padding-bottom: 2rem;
    background: var(--black);
  }
  .footer .f-content {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 4rem 8rem;
  }
  .footer .f-content .logo {
    width: 31.2rem;
  }
  .footer .f-content .f-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
  }
  .footer .copyright {
    margin-top: 3.4rem;
    text-align: center;
  }
}

/*-------------------------------------------------
  共通
-------------------------------------------------*/
.main-content {
  width: 100%;
  padding-right: 8rem;
}
@media screen and (max-width: 1023px) {
  .main-content {
    padding-right: 0;
  }
}

#content-link {
  padding-top: 15rem;
}
#content-link .box-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1px;
  background: #ddd;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
#content-link .box-wrap .link-item {
  position: relative;
  width: 33.3333333333%;
  aspect-ratio: 454/500;
  background: var(--white);
  transition: 0.3s all;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
#content-link .box-wrap .link-item .bg-box {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: 0.3s all;
}
#content-link .box-wrap .link-item .bg-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#content-link .box-wrap .link-item .bg-box::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(17, 17, 17, 0.4);
}
#content-link .box-wrap .link-item .deco-txt {
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(5.5555555556vw, 8rem);
  line-height: 0.85;
  color: rgba(255, 255, 255, 0.8);
  mix-blend-mode: overlay;
}
#content-link .box-wrap .link-item .ttl {
  position: relative;
  color: var(--black);
  font-size: min(1.9444444444vw, 2.8rem);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
#content-link .box-wrap .link-item .btn-link {
  position: absolute;
  z-index: 1;
  right: 1.6rem;
  bottom: 1.6rem;
  content: "";
  font-size: 1.6rem;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  border: 1px solid #111;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #111;
  transition: 0.3s all;
}
#content-link .box-wrap .link-item .btn-link::after {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
#content-link .box-wrap .link-item:hover .bg-box {
  opacity: 1;
  transition: 0.3s all;
}
#content-link .box-wrap .link-item:hover .ttl {
  position: relative;
  z-index: 1;
  color: var(--white);
}
#content-link .box-wrap .link-item:hover .btn-link {
  color: var(--white);
  background: var(--yellow-green);
  border: 1px solid var(--yellow-green);
}
@media screen and (max-width: 767px) {
  #content-link {
    padding-top: 8rem;
  }
  #content-link .box-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 2rem;
    background: transparent;
    border-top: none;
    border-bottom: none;
  }
  #content-link .box-wrap .link-item {
    position: relative;
    width: 100%;
    height: 43.3rem;
    aspect-ratio: unset;
    background: var(--white);
    transition: 0.3s all;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border: 1px solid #ddd;
  }
  #content-link .box-wrap .link-item .bg-box {
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: 0.3s all;
  }
  #content-link .box-wrap .link-item .bg-box img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #content-link .box-wrap .link-item .bg-box::after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(17, 17, 17, 0.4);
  }
  #content-link .box-wrap .link-item .deco-txt {
    position: absolute;
    left: 0;
    top: 0;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 8rem;
    line-height: 0.85;
    color: rgba(255, 255, 255, 0.8);
    mix-blend-mode: overlay;
  }
  #content-link .box-wrap .link-item .ttl {
    color: var(--white);
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
  }
  #content-link .box-wrap .link-item .btn-link {
    position: absolute;
    z-index: 1;
    right: 1.6rem;
    bottom: 1.6rem;
    content: "";
    font-size: 1.6rem;
    width: 4.3rem;
    height: 4.3rem;
    border-radius: 50%;
    border: 1px solid var(--yellow-green);
    background: var(--yellow-green);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    transition: 0.3s all;
  }
  #content-link .box-wrap .link-item .btn-link::after {
    content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
  }
  #content-link .box-wrap .link-item:hover .bg-box {
    opacity: 1;
    transition: 0.3s all;
  }
  #content-link .box-wrap .link-item:hover .ttl {
    position: relative;
    z-index: 1;
    color: var(--white);
  }
  #content-link .box-wrap .link-item:hover .btn-link {
    color: var(--white);
    background: var(--yellow-green);
    border: 1px solid var(--yellow-green);
  }
}

#sns-area {
  padding-top: 16rem;
  padding-bottom: 16rem;
}
#sns-area .box-wrap {
  width: 100%;
  padding: 0 8rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4rem;
}
#sns-area .box-wrap .inbox {
  width: 34rem;
  min-height: 50rem;
  background: #fff;
}
#sns-area .box-wrap .inbox.inbox_x {
  background: url("../images/icon_x.svg") center center no-repeat, #fff;
  background-size: 3rem auto, auto;
}
#sns-area .box-wrap .inbox.inbox_instagram {
  background: url("../images/icon_instagram.svg") center center no-repeat, #fff;
  background-size: 3rem auto, auto;
}
#sns-area .box-wrap .inbox.inbox_facebook {
  background: url("../images/icon_facebook.svg") center center no-repeat, #fff;
  background-size: 3rem auto, auto;
}
@media screen and (max-width: 767px) {
  #sns-area {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
  #sns-area .box-wrap {
    width: 100%;
    padding: 0 4.8rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 2rem;
  }
  #sns-area .box-wrap .inbox {
    width: min(100%, 340px);
    min-height: 50rem;
    background: #fff;
  }
  #sns-area .box-wrap .inbox.inbox_x {
    background: url("../images/icon_x.svg") center center no-repeat, #fff;
    background-size: 3rem auto, auto;
  }
  #sns-area .box-wrap .inbox.inbox_instagram {
    background: url("../images/icon_instagram.svg") center center no-repeat, #fff;
    background-size: 3rem auto, auto;
  }
  #sns-area .box-wrap .inbox.inbox_facebook {
    background: url("../images/icon_facebook.svg") center center no-repeat, #fff;
    background-size: 3rem auto, auto;
  }
}

.lower {
  position: relative;
}
.lower .page-header {
  width: 100%;
  margin: 0 auto;
}
.lower .page-header .inner {
  position: relative;
  padding-top: 20rem;
}
.lower .page-header .txt-en {
  position: absolute;
  z-index: -1;
  top: 20rem;
  left: 0;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24rem;
  line-height: 1;
  color: rgba(255, 255, 255, 0.8);
}
.lower .page-header .page-title {
  font-size: 5.6rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .lower .page-header .inner {
    position: relative;
    padding-top: 11rem;
  }
  .lower .page-header .txt-en {
    position: absolute;
    z-index: -1;
    top: 11rem;
    left: 0;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 10rem;
    line-height: 1;
    color: rgba(255, 255, 255, 0.8);
  }
  .lower .page-header .page-title {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    padding-top: 2rem;
    margin-bottom: 2.9rem;
  }
}
.lower .table-box table {
  width: 100%;
}
.lower .table-box table tr th {
  width: 20rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
  text-align: left;
  padding: 1rem 1.6rem;
  border-bottom: 1px solid var(--border, #ddd);
}
.lower .table-box table tr td {
  width: calc(100% - 20rem);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid var(--border, #ddd);
}
.lower .table-box table tr td ol {
  padding-left: 1.5em;
}
.lower .table-box table tr td ul {
  padding-left: 1.5em;
}
.lower .table-box table tr td ul li {
  list-style: disc;
}
@media screen and (max-width: 767px) {
  .lower .table-box table {
    width: 100%;
  }
  .lower .table-box table tr {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .lower .table-box table tr th {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    text-align: left;
    padding: 1rem 1.6rem;
    border-bottom: 1px solid var(--border, #ddd);
    background: var(--bg-light-gray, #f4f4f4);
  }
  .lower .table-box table tr td {
    width: 100%;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 2;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid var(--border, #ddd);
  }
  .lower .table-box table tr td ol {
    padding-left: 1.5em;
  }
}
.lower h3.title-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 3.2rem;
}
.lower h3.title-center span {
  display: inline-block;
}
.lower h3.title-center span.txt-en {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.4rem;
  line-height: 1;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6rem;
}
.lower h3.title-center span.txt-en::before, .lower h3.title-center span.txt-en::after {
  content: "";
  width: 4rem;
  height: 1px;
  background: var(--black);
}
.lower h3.title-center span.txt-jp {
  font-size: 4.8rem;
  font-weight: 700;
  font-kerning: none;
  font-feature-settings: "liga" off;
}
@media screen and (max-width: 767px) {
  .lower h3.title-center span {
    display: inline-block;
  }
  .lower h3.title-center span.txt-en {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.6rem;
    line-height: 1;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
  }
  .lower h3.title-center span.txt-en::before, .lower h3.title-center span.txt-en::after {
    content: "";
    width: 2rem;
    height: 1px;
    background: var(--black);
  }
  .lower h3.title-center span.txt-jp {
    font-size: 2.8rem;
    font-weight: 700;
    font-kerning: none;
    font-feature-settings: "liga" off;
  }
}

.btn-nomal {
  font-size: 2rem;
  line-height: 2;
  position: relative;
  display: inline-flex;
  min-width: 32rem;
  padding: 0.8rem 5.6rem;
  justify-content: center;
  align-items: center;
  border-radius: 5rem;
  color: var(--white);
  background: var(--black);
}
.btn-nomal::after {
  font-family: "Font Awesome 6 Free";
  font-size: 1.2rem;
  font-weight: 900;
  content: "\f054";
  position: absolute;
  right: 1.8rem;
}
.btn-nomal:hover {
  color: var(--white);
  background: var(--yellow-green);
}
@media screen and (max-width: 767px) {
  .btn-nomal {
    font-size: 1.8rem;
    line-height: 2;
    position: relative;
    display: inline-flex;
    min-width: 32rem;
    min-height: 5.6rem;
    padding: 0.8rem 5.6rem;
    justify-content: center;
    align-items: center;
    border-radius: 5rem;
    color: var(--white);
    background: var(--black);
  }
  .btn-nomal::after {
    font-family: "Font Awesome 6 Free";
    font-size: 1.2rem;
    font-weight: 900;
    content: "\f054";
    position: absolute;
    right: 1.8rem;
  }
  .btn-nomal:hover {
    background: var(--yellow-green);
  }
}

/* パンくず */
.breadcrumb {
  padding: 2rem 8rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}
.breadcrumb ul {
  width: 100%;
  margin: 0 auto;
  color: var(--black);
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 1rem;
}
.breadcrumb ul li.current {
  color: inherit;
}
.breadcrumb ul li:not(:last-child) {
  content: "";
  display: inline-block;
}
.breadcrumb ul li:not(:last-child)::after {
  position: relative;
  display: inline-block;
  content: ">";
  margin-left: 0.5em;
}
.breadcrumb ul li a {
  transition: 0.3s all;
}
.breadcrumb ul li a:hover {
  border-bottom: 1px solid var(--black);
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    padding: 2rem;
  }
}

/*-------------------------------------------------
  トップページ
-------------------------------------------------*/
.home {
  position: relative;
}
.home::before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 8rem;
  content: "";
  width: calc(100% - 8rem);
  aspect-ratio: 964/994;
  background: url("../images/bg_map.png") right top no-repeat;
  background-size: min(100%, 96.5rem) auto;
}
@media screen and (max-width: 767px) {
  .home::before {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 2rem;
    content: "";
    width: calc(100% - 2rem);
    aspect-ratio: 964/994;
    background: url("../images/bg_map.png") right top no-repeat;
    background-size: min(100%, 96.5rem) auto;
  }
}
.home #kv {
  width: 100%;
  padding-top: 20rem;
}
.home #kv .kv-main h1 {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.6;
}
.home #kv .kv-main .kv-box {
  width: min(100%, 1360px);
  margin: 0.6rem auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  padding-left: 6.8rem;
  padding-right: 4rem;
}
.home #kv .kv-main .kv-box .text-box {
  width: 65rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.home #kv .kv-main .kv-box .text-box .inner {
  width: min(100%, 59rem);
}
.home #kv .kv-main .kv-box .text-box p {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  font-kerning: none;
}
.home #kv .kv-main .kv-box .img-box {
  flex-grow: 1;
}
.home #kv .scroll-txt {
  position: relative;
  z-index: -1;
  width: 100%;
}
.home #kv .scroll-txt .scroll-txt-list {
  position: relative;
  width: 100%;
  overflow: hidden;
  top: -3rem;
  bottom: 100%;
  margin-inline: auto;
  display: flex;
}
.home #kv .scroll-txt .scroll-txt-list .loop {
  padding-right: 15rem;
  animation: scroll-left 20s infinite linear 0.5s both;
}
.home #kv .scroll-txt p {
  width: 130vw;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--white);
  white-space: nowrap;
  font-size: 16.6666666667vw;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .home #kv .kv-main h1 {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.6;
  }
  .home #kv .kv-main .kv-box {
    width: 100%;
    margin: 0.6rem auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3.2rem;
    padding-left: 6.8rem;
  }
  .home #kv .kv-main .kv-box .text-box {
    width: min(50% - 1.6rem, 55rem);
    flex-shrink: 0;
  }
  .home #kv .kv-main .kv-box .text-box p {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    font-kerning: none;
  }
  .home #kv .kv-main .kv-box .img-box {
    flex-grow: 1;
  }
}
@media screen and (max-width: 767px) {
  .home #kv {
    padding-top: 14.5rem;
    padding-bottom: 3.4rem;
  }
  .home #kv .kv-main h1 {
    text-align: center;
  }
  .home #kv .kv-main .kv-box {
    width: min(100%, 767px);
    margin: 1rem auto 0;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .home #kv .kv-main .kv-box .text-box {
    position: relative;
    z-index: 0;
    width: 100%;
    padding: 0 2.4rem;
    flex-shrink: 0;
    margin-top: -3rem;
  }
  .home #kv .kv-main .kv-box .text-box .inner {
    width: 100%;
  }
  .home #kv .kv-main .kv-box .img-box {
    padding-left: 0.6rem;
    padding-right: 0.6rem;
    margin-top: 1rem;
    flex-grow: 1;
  }
  .home #kv .scroll-txt {
    position: relative;
    z-index: -1;
    width: 100%;
  }
  .home #kv .scroll-txt .scroll-txt-list {
    margin-top: -1rem;
    top: 0;
  }
  .home #kv .scroll-txt p {
    width: 150vw;
    font-size: 19.4174757282vw;
    line-height: 1;
    padding-right: 1em;
  }
}
.home #topics .box-wrap {
  display: flex;
  justify-content: flex-start;
}
.home #topics .box-wrap .title-box {
  width: 19rem;
  padding-left: 6rem;
  writing-mode: sideways-lr;
  text-align: right;
}
.home #topics .box-wrap .title-box .topics-ttl {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 8rem;
}
.home #topics .box-wrap .post-list-wrap {
  position: relative;
  width: calc(100% - 19rem);
  padding: 4rem 0 4rem 4rem;
  background: var(--white);
  overflow: hidden;
}
.home #topics .box-wrap .post-list-wrap .post-list {
  width: 100%;
  margin-bottom: 10rem;
}
.home #topics .box-wrap .post-list-wrap .post-list .slick-list {
  width: 100%;
  padding-right: 15rem;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item {
  position: relative;
  display: block;
  padding-right: 4rem;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item a.block-link {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item .img-box {
  width: 100%;
  aspect-ratio: 300/200;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item .text-box {
  width: 100%;
  padding-top: 1.6rem;
  line-height: 1.25;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item .text-box p.post-date {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.7rem;
  line-height: 1;
  margin-bottom: 0.4rem;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item .text-box p.post-ttl {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item:hover {
  border: none;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item:hover .text-box p.post-ttl {
  text-decoration: underline;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item ul.post-tag {
  position: relative;
  z-index: 1;
  font-size: 1.2rem;
  line-height: 1.6666666667;
  margin-top: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item ul.post-tag li {
  display: inline-block;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item ul.post-tag li > a {
  color: var(--white);
  padding: 0 1.6rem;
  background: var(--yellow-green);
  border-radius: 2rem;
  transition: 0.3s all;
  display: inline-block;
}
.home #topics .box-wrap .post-list-wrap .post-list .post-item ul.post-tag li > a:hover {
  background: var(--black);
}
.home #topics .box-wrap .post-list-wrap .btn-topics {
  position: absolute;
  right: 4rem;
  bottom: 4.5rem;
  font-size: 1.8rem;
  display: flex;
  height: 4rem;
  padding: 1rem 4rem;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #111;
  border-radius: 2rem;
  transition: 0.3s all;
}
.home #topics .box-wrap .post-list-wrap .btn-topics:hover {
  background: #e34800;
}
@media screen and (max-width: 1023px) {
  .home #topics .box-wrap .title-box {
    width: 10rem;
    padding-left: 3rem;
    writing-mode: sideways-lr;
    text-align: right;
  }
  .home #topics .box-wrap .title-box .topics-ttl {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 4rem;
  }
  .home #topics .box-wrap .post-list-wrap {
    width: calc(100% - 10rem);
  }
}
@media screen and (max-width: 767px) {
  .home #topics .box-wrap {
    display: flex;
    justify-content: flex-start;
  }
  .home #topics .box-wrap .title-box {
    width: 6rem;
    padding-left: 2.4rem;
    writing-mode: sideways-lr;
    text-align: right;
  }
  .home #topics .box-wrap .title-box .topics-ttl {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 4rem;
    line-height: 1;
  }
  .home #topics .box-wrap .post-list-wrap {
    position: relative;
    width: calc(100% - 6rem);
    padding: 4rem 0 4rem 1.5rem;
    background: var(--white);
    overflow: hidden;
  }
  .home #topics .box-wrap .post-list-wrap .post-list {
    width: 100%;
    margin-bottom: 10rem;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .slick-list {
    width: 100%;
    padding-right: 0;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .post-item {
    position: relative;
    display: block;
    padding-right: 2.2rem;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .post-item .img-box {
    width: 100%;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .post-item .img-box img {
    width: 100%;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .post-item .text-box {
    width: 100%;
    padding-top: 1.6rem;
    line-height: 1.25;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .post-item .text-box p.post-date {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.7rem;
    line-height: 1;
    margin-bottom: 0.4rem;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .post-item .text-box p.post-ttl {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 500;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .post-item:hover .text-box p.post-ttl {
    text-decoration: underline;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .post-item ul.post-tag {
    position: relative;
    z-index: 1;
    font-size: 1.2rem;
    line-height: 1.6666666667;
    margin-top: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .post-item ul.post-tag li {
    display: inline-block;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .post-item ul.post-tag li > a {
    color: var(--white);
    padding: 0 1.6rem;
    background: var(--yellow-green);
    border-radius: 2rem;
    transition: 0.3s all;
    display: inline-block;
  }
  .home #topics .box-wrap .post-list-wrap .post-list .post-item ul.post-tag li > a:hover {
    background: var(--black);
  }
  .home #topics .box-wrap .post-list-wrap .btn-topics {
    position: absolute;
    right: auto;
    left: 14rem;
    bottom: 4.5rem;
    font-size: 1.8rem;
    display: flex;
    height: 4rem;
    padding: 1.2rem 4rem;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #111;
    border-radius: 5rem;
    transition: 0.3s all;
  }
  .home #topics .box-wrap .post-list-wrap .btn-topics:hover {
    background: #e34800;
  }
}
.home #business {
  position: relative;
  padding-top: 16rem;
}
.home #business::before {
  position: absolute;
  z-index: -1;
  top: -10rem;
  left: 0;
  content: "";
  width: 100%;
  height: calc(100% + 10rem);
  background: var(--bg-light-gray);
}
.home #business .box-wrap {
  width: min(100%, 1380px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.home #business .box-wrap .business-top-ttl {
  font-size: 5.6rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.home #business .box-wrap .deco-txt {
  position: absolute;
  z-index: 1;
  right: 0;
  left: auto;
  top: 0;
  color: rgba(255, 255, 255, 0.5);
  text-align: right;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(13.8888888889vw, 20rem);
  line-height: 1;
}
.home #business .box-wrap .img-box {
  width: 70rem;
  aspect-ratio: 1/1;
  align-self: flex-start;
}
.home #business .box-wrap .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home #business .box-wrap .text-box {
  width: 66rem;
  padding: 8rem 7.9rem 0 8rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  flex-shrink: 0;
}
.home #business .box-wrap .text-box .inbox-ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
}
.home #business .box-wrap .text-box .inbox-ttl .copy {
  font-size: 2.4rem;
  font-weight: 700;
  display: inline-block;
  padding: 0.8rem 2.4rem;
  border: 1px solid var(--black);
}
.home #business .box-wrap .text-box .inbox-ttl .ttl {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
}
.home #business .box-wrap .text-box .inbox-txt {
  padding-left: 4rem;
  border-left: 1px solid var(--black);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  padding-bottom: 1.4rem;
}
.home #business .box-wrap .text-box .inbox-txt p {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  font-kerning: none;
}
.home #business .box-wrap .text-box .inbox-txt .btn-more {
  font-size: 2rem;
  line-height: 2;
  position: relative;
  display: inline-flex;
  min-width: 32rem;
  padding: 0.8rem 5.6rem;
  justify-content: center;
  align-items: center;
  border-radius: 5rem;
  color: var(--white);
  background: var(--black);
}
.home #business .box-wrap .text-box .inbox-txt .btn-more::after {
  font-family: "Font Awesome 6 Free";
  font-size: 1.2rem;
  font-weight: 900;
  content: "\f054";
  position: absolute;
  right: 1.8rem;
}
.home #business .box-wrap .text-box .inbox-txt .btn-more:hover {
  background: var(--yellow-green);
}
.home #business .box-wrap .box-01 {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.home #business .box-wrap .box-02 {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4rem;
  margin: 4rem auto 0;
}
.home #business .box-wrap .box-02 .inbox {
  width: 30rem;
  aspect-ratio: 300/250;
}
.home #business .box-wrap .box-02 .inbox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home #business .box-wrap .layout-box-01 {
  position: relative;
  width: 100%;
  padding-top: 10rem;
  margin-bottom: 16rem;
}
.home #business .box-wrap .layout-box-02 {
  position: relative;
  width: 100%;
  padding-top: 10rem;
  margin-bottom: 16rem;
}
.home #business .box-wrap .layout-box-02 .deco-txt {
  right: auto;
  left: 0;
}
.home #business .box-wrap .layout-box-02 .box-01 {
  flex-direction: row-reverse;
}
.home #business .box-wrap .layout-box-02 .box-02 {
  justify-content: flex-start;
}
@media screen and (max-width: 1023px) {
  .home #business .box-wrap {
    width: min(100%, 768px);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .home #business .box-wrap .business-top-ttl {
    font-size: 2.8rem;
    margin-bottom: 7rem;
  }
  .home #business .box-wrap .deco-txt {
    position: absolute;
    z-index: 1;
    right: 0;
    left: auto;
    top: 0;
    color: rgba(255, 255, 255, 0.5);
    text-align: right;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12rem;
    line-height: 1;
  }
  .home #business .box-wrap .img-box {
    width: 100%;
    aspect-ratio: 1/1;
    align-self: flex-start;
  }
  .home #business .box-wrap .img-box img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home #business .box-wrap .text-box {
    width: 100%;
    padding: 8rem 4rem 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4rem;
    flex-shrink: 0;
  }
  .home #business .box-wrap .text-box .inbox-ttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.4rem;
  }
  .home #business .box-wrap .text-box .inbox-ttl .copy {
    font-size: 1.8rem;
    font-weight: 700;
    display: inline-block;
    padding: 0.8rem 2.4rem;
    border: 1px solid var(--black);
  }
  .home #business .box-wrap .text-box .inbox-ttl .ttl {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1;
  }
  .home #business .box-wrap .text-box .inbox-txt {
    width: 100%;
    padding-left: 4rem;
    border-left: 1px solid var(--black);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4rem;
    padding-bottom: 1.4rem;
  }
  .home #business .box-wrap .text-box .inbox-txt p {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    font-kerning: none;
  }
  .home #business .box-wrap .box-01 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .home #business .box-wrap .box-02 {
    width: calc(100% - 8rem);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 4rem;
    margin: 4rem auto 0;
  }
  .home #business .box-wrap .box-02 .inbox {
    width: 30rem;
    aspect-ratio: 300/250;
  }
  .home #business .box-wrap .box-02 .inbox img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home #business .box-wrap .layout-box-01 {
    position: relative;
    width: 100%;
    padding-top: 6rem;
    margin-bottom: 8rem;
  }
  .home #business .box-wrap .layout-box-02 {
    position: relative;
    width: 100%;
    padding-top: 6rem;
    margin-bottom: 8rem;
  }
  .home #business .box-wrap .layout-box-02 .deco-txt {
    right: auto;
    left: 0;
  }
  .home #business .box-wrap .layout-box-02 .box-01 {
    flex-direction: column;
  }
  .home #business .box-wrap .layout-box-02 .box-02 {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .home #business {
    padding-top: 8rem;
  }
  .home #business .box-wrap .deco-txt {
    position: absolute;
    z-index: 1;
    right: 0;
    left: auto;
    top: 0;
    color: rgba(255, 255, 255, 0.5);
    text-align: right;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 6rem;
    line-height: 1;
  }
  .home #business .box-wrap .text-box {
    width: 100%;
    padding: 4rem 2.4rem 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4rem;
    flex-shrink: 0;
  }
  .home #business .box-wrap .text-box .inbox-ttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
  }
  .home #business .box-wrap .text-box .inbox-txt {
    width: 100%;
    padding-left: 2rem;
    border-left: 1px solid var(--black);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    padding-bottom: 2rem;
  }
  .home #business .box-wrap .box-02 {
    width: calc(100% - 4.8rem);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.4rem;
    margin: 2rem auto 0;
  }
  .home #business .box-wrap .box-02 .inbox {
    width: calc((100% - 0.8rem) / 3);
    aspect-ratio: 300/250;
  }
  .home #business .box-wrap .box-02 .inbox img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home #business .box-wrap .layout-box-01 {
    position: relative;
    width: 100%;
    padding-top: 3rem;
    margin-bottom: 8rem;
  }
  .home #business .box-wrap .layout-box-02 {
    position: relative;
    width: 100%;
    padding-top: 3rem;
    margin-bottom: 8rem;
  }
  .home #business .box-wrap .layout-box-02 .deco-txt {
    right: auto;
    left: 0;
  }
  .home #business .box-wrap .layout-box-02 .box-01 {
    flex-direction: column;
  }
  .home #business .box-wrap .layout-box-02 .box-02 {
    justify-content: flex-start;
  }
}
.home #member {
  position: relative;
  width: 100%;
  background: #000;
}
.home #member .box-wrap {
  width: 100%;
}
.home #member .layout-box-01 {
  width: 100%;
  position: relative;
  padding-top: 22rem;
  padding-bottom: 13rem;
}
.home #member .layout-box-01 .deco-txt {
  position: absolute;
  z-index: 1;
  right: auto;
  left: 0;
  top: 0;
  color: rgba(255, 255, 255, 0.3);
  text-align: right;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(13.8888888889vw, 20rem);
  line-height: 0.8;
}
.home #member .layout-box-01 .bg-box {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.home #member .layout-box-01 .bg-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home #member .layout-box-01 .box-01 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.home #member .layout-box-01 .box-01 .text-box {
  width: 48rem;
  padding: 3rem 5rem 3rem 6rem;
}
.home #member .layout-box-01 .box-01 .text-box p {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2;
  color: var(--white);
}
.home #member .layout-box-01 .box-01 .text-box ul.member-tag {
  position: relative;
  z-index: 1;
  font-size: 2rem;
  line-height: 2;
  margin-top: 2.8rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.6rem;
}
.home #member .layout-box-01 .box-01 .text-box ul.member-tag li {
  display: inline-block;
}
.home #member .layout-box-01 .box-01 .text-box ul.member-tag li > a {
  color: var(--white);
  padding: 0 2.4rem;
  min-width: 17rem;
  background: var(--yellow-green);
  border-radius: 5rem;
  transition: 0.3s all;
  display: inline-block;
  text-align: center;
}
.home #member .layout-box-01 .box-01 .text-box ul.member-tag li > a:hover {
  background: var(--orange);
}
.home #member .layout-box-01 .box-01 .member-list {
  width: calc(100% - 48rem);
}
.home #member .layout-box-01 .box-01 .member-list .slick-list {
  width: 100%;
  padding-right: 10.4166666667%;
}
.home #member .layout-box-01 .box-01 .member-list .member-item {
  padding-right: 4rem;
}
.home #member .layout-box-01 .box-01 .member-list .member-item .img-box {
  width: 100%;
  aspect-ratio: 350/450;
  overflow: hidden;
  border: 2px solid var(--yellow-green);
}
.home #member .layout-box-01 .box-01 .member-list .member-item .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home #member .layout-box-02 {
  width: 100%;
}
.home #member .layout-box-02 .btn-member {
  width: 100%;
  height: 10rem;
  font-size: 2.4rem;
  display: flex;
  padding: 0.8rem 6.4rem;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  flex-shrink: 0;
  color: var(--white);
}
.home #member .layout-box-02 .btn-member::after {
  font-family: "Font Awesome 6 Free";
  font-size: 1.2rem;
  font-weight: 900;
  content: "\f054";
}
.home #member .layout-box-02 .btn-member:hover {
  background: var(--yellow-green);
}
@media screen and (max-width: 1023px) {
  .home #member .layout-box-01 {
    width: 100%;
    position: relative;
    padding-top: 10rem;
    padding-bottom: 13rem;
  }
  .home #member .layout-box-01 .deco-txt {
    position: absolute;
    z-index: 1;
    right: auto;
    left: 0;
    top: 0;
    color: rgba(255, 255, 255, 0.3);
    text-align: right;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12rem;
    line-height: 0.8;
  }
  .home #member .layout-box-01 .bg-box {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .home #member .layout-box-01 .bg-box img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home #member .layout-box-01 .box-01 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }
  .home #member .layout-box-01 .box-01 .text-box {
    width: 48rem;
    padding: 3rem 5rem 3rem 6rem;
  }
  .home #member .layout-box-01 .box-01 .text-box p {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 2;
    color: var(--white);
  }
  .home #member .layout-box-01 .box-01 .text-box ul.member-tag {
    position: relative;
    z-index: 1;
    font-size: 2rem;
    line-height: 2;
    margin-top: 2.8rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.6rem;
  }
  .home #member .layout-box-01 .box-01 .text-box ul.member-tag li {
    display: inline-block;
  }
  .home #member .layout-box-01 .box-01 .text-box ul.member-tag li > a {
    color: var(--white);
    padding: 0 2.4rem;
    min-width: 17rem;
    background: var(--yellow-green);
    border-radius: 5rem;
    transition: 0.3s all;
    display: inline-block;
    text-align: center;
  }
  .home #member .layout-box-01 .box-01 .text-box ul.member-tag li > a:hover {
    background: var(--orange);
  }
  .home #member .layout-box-01 .box-01 .member-list {
    width: 100%;
    padding-left: 4rem;
  }
  .home #member .layout-box-01 .box-01 .member-list .slick-list {
    width: 100%;
    padding-right: 10.4166666667%;
  }
  .home #member .layout-box-01 .box-01 .member-list .member-item {
    padding-right: 4rem;
  }
  .home #member .layout-box-01 .box-01 .member-list .member-item .img-box {
    width: 100%;
    aspect-ratio: 350/450;
    border: 2px solid var(--yellow-green);
  }
  .home #member .layout-box-01 .box-01 .member-list .member-item .img-box img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (max-width: 767px) {
  .home #member .layout-box-01 {
    width: 100%;
    position: relative;
    padding-top: 8rem;
    padding-bottom: 12rem;
  }
  .home #member .layout-box-01 .deco-txt {
    position: absolute;
    z-index: 1;
    right: auto;
    left: 0;
    top: 0;
    color: rgba(255, 255, 255, 0.3);
    text-align: right;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 5.6rem;
    line-height: 0.8;
  }
  .home #member .layout-box-01 .box-01 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  .home #member .layout-box-01 .box-01 .text-box {
    width: 100%;
    padding: 0 2.4rem 3rem;
  }
  .home #member .layout-box-01 .box-01 .text-box p {
    font-size: 2rem;
    font-weight: 700;
    line-height: 2;
    color: var(--white);
  }
  .home #member .layout-box-01 .box-01 .text-box ul.member-tag {
    width: 33rem;
    position: relative;
    z-index: 1;
    font-size: 1.8rem;
    line-height: 2;
    margin: 1.5rem auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 0.8rem;
  }
  .home #member .layout-box-01 .box-01 .text-box ul.member-tag li {
    display: inline-block;
  }
  .home #member .layout-box-01 .box-01 .text-box ul.member-tag li > a {
    color: var(--white);
    padding: 0 0.8rem;
    min-width: 16rem;
    background: var(--yellow-green);
    border-radius: 5rem;
    transition: 0.3s all;
    display: inline-block;
    text-align: center;
  }
  .home #member .layout-box-01 .box-01 .text-box ul.member-tag li > a:hover {
    background: var(--orange);
  }
  .home #member .layout-box-01 .box-01 .member-list {
    width: 100%;
    padding-left: 4.5rem;
    padding-right: 4.5rem;
  }
  .home #member .layout-box-01 .box-01 .member-list .slick-list {
    width: min(100%, 300px);
    padding-right: 0;
    margin: 0 auto;
  }
  .home #member .layout-box-01 .box-01 .member-list .member-item {
    padding-right: 0;
  }
  .home #member .layout-box-01 .box-01 .member-list .member-item .img-box {
    width: 100%;
    aspect-ratio: 350/450;
    border: 2px solid var(--yellow-green);
  }
  .home #member .layout-box-01 .box-01 .member-list .member-item .img-box img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home #member .layout-box-02 {
    width: 100%;
  }
  .home #member .layout-box-02 .btn-member {
    width: 100%;
    height: 10rem;
    font-size: 2rem;
    display: flex;
    padding: 0.8rem;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
    flex-shrink: 0;
    color: var(--white);
  }
  .home #member .layout-box-02 .btn-member::after {
    font-family: "Font Awesome 6 Free";
    font-size: 1.2rem;
    font-weight: 900;
    content: "\f054";
  }
  .home #member .layout-box-02 .btn-member:hover {
    background: var(--yellow-green);
  }
}

/*-------------------------------------------------
  私たちについて
-------------------------------------------------*/
.about p.txt {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  font-kerning: none;
}
@media screen and (max-width: 1023px) {
  .about p.txt {
    font-size: 1.6rem;
  }
}
.about #mission {
  padding-bottom: 12rem;
}
.about #mission .box-wrap {
  width: min(100%, 1360px);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.about #mission .box-wrap .img-box {
  width: min(51.4705882353%, 700px);
  position: relative;
  z-index: 0;
}
.about #mission .box-wrap .img-box::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  background: rgba(17, 17, 17, 0.4);
}
.about #mission .box-wrap .img-box .pic {
  position: relative;
  z-index: 0;
  width: 100%;
}
.about #mission .box-wrap .img-box p.ttl {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 400;
  font-size: 10rem;
  line-height: 1;
  text-align: center;
  color: var(--white);
}
.about #mission .box-wrap .text-box {
  width: min(48.5294117647%, 660px);
  padding-left: 8rem;
  padding-right: 6rem;
}
@media screen and (max-width: 1023px) {
  .about #mission {
    padding-bottom: 8rem;
  }
  .about #mission .box-wrap {
    width: min(100%, 700px);
    flex-direction: column;
    align-items: center;
  }
  .about #mission .box-wrap .img-box {
    width: 100%;
  }
  .about #mission .box-wrap .img-box p.ttl {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-weight: 400;
    font-size: 6rem;
    line-height: 1;
    text-align: center;
    color: var(--white);
  }
  .about #mission .box-wrap .text-box {
    width: 100%;
    padding: 4.8rem;
  }
}
@media screen and (max-width: 767px) {
  .about #mission .box-wrap {
    width: min(100%, 700px);
    flex-direction: column;
    align-items: center;
  }
  .about #mission .box-wrap .img-box {
    width: 100%;
  }
  .about #mission .box-wrap .text-box {
    width: 100%;
    padding: 2.4rem;
  }
}
.about #vision {
  padding-bottom: 6rem;
}
.about #vision .box-wrap {
  width: min(100%, 1360px);
  margin: 0 auto;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
}
.about #vision .box-wrap .img-box {
  width: min(51.4705882353%, 700px);
  position: relative;
  z-index: 0;
}
.about #vision .box-wrap .img-box::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  background: rgba(17, 17, 17, 0.4);
}
.about #vision .box-wrap .img-box .pic {
  position: relative;
  z-index: 0;
  width: 100%;
}
.about #vision .box-wrap .img-box p.ttl {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 400;
  font-size: 10rem;
  line-height: 1;
  text-align: center;
  color: var(--white);
}
.about #vision .box-wrap .text-box {
  width: min(48.5294117647%, 660px);
  padding-right: 8rem;
  padding-left: 6rem;
}
@media screen and (max-width: 1023px) {
  .about #vision .box-wrap {
    width: min(100%, 700px);
    flex-direction: column;
    align-items: center;
  }
  .about #vision .box-wrap .img-box {
    width: 100%;
  }
  .about #vision .box-wrap .img-box p.ttl {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-weight: 400;
    font-size: 6rem;
    line-height: 1;
    text-align: center;
    color: var(--white);
  }
  .about #vision .box-wrap .text-box {
    width: 100%;
    padding: 4.8rem;
  }
}
@media screen and (max-width: 767px) {
  .about #vision .box-wrap {
    width: min(100%, 700px);
    flex-direction: column;
    align-items: center;
  }
  .about #vision .box-wrap .img-box {
    width: 100%;
  }
  .about #vision .box-wrap .text-box {
    width: 100%;
    padding: 2.4rem;
  }
}
.about #message {
  padding-bottom: 15rem;
}
.about #message .box-wrap {
  position: relative;
  z-index: 0;
  width: min(100%, 1360px);
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8rem;
  padding-left: 6rem;
  padding-right: 7.5rem;
  padding-top: 10rem;
}
.about #message .box-wrap .deco-txt-en {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  color: rgba(255, 255, 255, 0.5);
  text-align: right;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20rem;
  font-style: normal;
  line-height: 1;
}
.about #message .box-wrap .img-box {
  width: min(40.8163265306%, 500px);
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  gap: 1.6rem;
}
.about #message .box-wrap .img-box .profile-txt {
  text-align: center;
}
.about #message .box-wrap .img-box .profile-txt p {
  font-size: 2rem;
  font-weight: 700;
}
.about #message .box-wrap .img-box .profile-txt p.name {
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.4;
}
.about #message .box-wrap .text-box {
  position: relative;
  z-index: 1;
  width: min(52.6530612245%, 645px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 4rem;
}
.about #message .box-wrap .text-box h3.title {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.about #message .box-wrap .text-box h3.title span {
  display: inline-block;
}
.about #message .box-wrap .text-box h3.title span.txt-en {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.4rem;
  line-height: 1;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6rem;
}
.about #message .box-wrap .text-box h3.title span.txt-en::before, .about #message .box-wrap .text-box h3.title span.txt-en::after {
  content: "";
  width: 4rem;
  height: 1px;
  background: var(--black);
}
.about #message .box-wrap .text-box h3.title span.txt-jp {
  font-size: 4.8rem;
  font-weight: 700;
  font-kerning: none;
  font-feature-settings: "liga" off;
}
@media screen and (max-width: 1023px) {
  .about #message {
    padding-bottom: 8rem;
  }
  .about #message .box-wrap {
    position: relative;
    z-index: 0;
    width: min(100%, 1360px);
    margin: 0 auto;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    align-items: center;
    gap: 1.8em;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
  }
  .about #message .box-wrap .deco-txt-en {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    color: rgba(255, 255, 255, 0.5);
    text-align: right;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 6rem;
    font-style: normal;
    line-height: 1;
  }
  .about #message .box-wrap .img-box {
    position: relative;
    width: min(100%, 59.3rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    gap: 1.6rem;
    padding: 2.2rem 4.65rem 0;
  }
  .about #message .box-wrap .img-box .profile-txt {
    text-align: center;
  }
  .about #message .box-wrap .img-box .profile-txt p {
    font-size: 1.4rem;
    font-weight: 700;
  }
  .about #message .box-wrap .img-box .profile-txt p.name {
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.4;
  }
  .about #message .box-wrap .text-box {
    position: relative;
    z-index: 1;
    width: min(100%, 700px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2.4rem;
    padding: 0 4.8rem;
  }
  .about #message .box-wrap .text-box h3.title {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
  }
  .about #message .box-wrap .text-box h3.title span {
    display: inline-block;
  }
  .about #message .box-wrap .text-box h3.title span.txt-en {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.6rem;
    line-height: 1;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
  }
  .about #message .box-wrap .text-box h3.title span.txt-en::before, .about #message .box-wrap .text-box h3.title span.txt-en::after {
    content: "";
    width: 2rem;
    height: 1px;
    background: var(--black);
  }
  .about #message .box-wrap .text-box h3.title span.txt-jp {
    font-size: 2.8rem;
    font-weight: 700;
    font-kerning: none;
    font-feature-settings: "liga" off;
  }
}
@media screen and (max-width: 767px) {
  .about #message .box-wrap .text-box {
    padding: 0 2.4rem;
  }
}

/*-------------------------------------------------
  会社概要
-------------------------------------------------*/
.company table a,
.company .history-wrap a {
  color: var(--link);
}
.company table a:hover,
.company .history-wrap a:hover {
  opacity: 0.8;
}
.company #company-profile {
  padding-left: 8rem;
  padding-right: 8rem;
  padding-bottom: 22rem;
}
.company #company-profile .table-box {
  width: min(100%, 100rem);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .company #company-profile {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    padding-bottom: 8rem;
  }
}
.company #company-history {
  padding-left: 8rem;
  padding-right: 8rem;
  padding-bottom: 15rem;
}
.company #company-history .box-wrap {
  width: min(100%, 100rem);
  margin: 0 auto;
}
.company #company-history .history-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}
.company #company-history .history-wrap .item-box {
  position: relative;
  width: 100%;
  display: flex;
  gap: 4rem;
}
.company #company-history .history-wrap .item-box .inbox-year {
  position: relative;
  width: 12.1rem;
  padding-right: 2.4rem;
  display: flex;
  flex-shrink: 0;
}
.company #company-history .history-wrap .item-box .inbox-year::before {
  position: absolute;
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: var(--yellow-green);
  right: 0;
  top: 1.2rem;
}
.company #company-history .history-wrap .item-box .inbox-year p {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
}
.company #company-history .history-wrap .item-box .inbox-year p span {
  display: inline-block;
}
.company #company-history .history-wrap .item-box .inbox-year p span.txt-en {
  position: relative;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4rem;
  line-height: 1;
}
.company #company-history .history-wrap .item-box .inbox-year p span.txt-jp {
  font-size: 1.4rem;
  font-weight: 700;
}
.company #company-history .history-wrap .item-box .inbox-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
}
.company #company-history .history-wrap .item-box .inbox-content .inner {
  display: flex;
  justify-content: flex-start;
  align-items: first baseline;
  gap: 2.4rem;
  font-weight: 700;
}
.company #company-history .history-wrap .item-box .inbox-content .inner .txt-month {
  width: 4rem;
  text-align: right;
  flex-shrink: 0;
}
.company #company-history .history-wrap .item-box .inbox-content .inner .txt-detail {
  line-height: 2;
  flex-grow: 1;
}
.company #company-history .history-wrap .item-box:not(:last-child) .inbox-year::after {
  position: absolute;
  top: 1.8rem;
  right: 0.75rem;
  content: "";
  width: 1px;
  height: calc(100% + 6.4rem);
  background: var(--yellow-green);
}
@media screen and (max-width: 767px) {
  .company #company-history {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    padding-bottom: 8rem;
  }
  .company #company-history .history-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }
  .company #company-history .history-wrap .item-box {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2rem;
  }
  .company #company-history .history-wrap .item-box .inbox-year {
    position: relative;
    width: 100%;
    padding-right: 0;
    padding-left: 4rem;
    display: flex;
    flex-shrink: 0;
  }
  .company #company-history .history-wrap .item-box .inbox-year::before {
    position: absolute;
    content: "";
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: var(--yellow-green);
    right: auto;
    left: 0;
    top: 1rem;
  }
  .company #company-history .history-wrap .item-box .inbox-year p {
    display: inline-flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }
  .company #company-history .history-wrap .item-box .inbox-year p span {
    display: inline-block;
  }
  .company #company-history .history-wrap .item-box .inbox-year p span.txt-en {
    position: relative;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 4rem;
    line-height: 1;
  }
  .company #company-history .history-wrap .item-box .inbox-year p span.txt-jp {
    font-size: 1.4rem;
    font-weight: 700;
  }
  .company #company-history .history-wrap .item-box .inbox-content {
    width: 100%;
    flex-grow: unset;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
    padding-left: 4rem;
  }
  .company #company-history .history-wrap .item-box .inbox-content .inner {
    display: flex;
    justify-content: flex-start;
    align-items: first baseline;
    gap: 1.2rem;
  }
  .company #company-history .history-wrap .item-box .inbox-content .inner .txt-month {
    width: 4rem;
    text-align: right;
    flex-shrink: 0;
  }
  .company #company-history .history-wrap .item-box .inbox-content .inner .txt-detail {
    font-weight: 700;
    line-height: 2;
    flex-grow: 1;
  }
  .company #company-history .history-wrap .item-box:not(:last-child)::after {
    position: absolute;
    top: 1.8rem;
    right: auto;
    left: 0.7rem;
    content: "";
    width: 2px;
    height: calc(100% + 4rem);
    background: var(--yellow-green);
  }
  .company #company-history .history-wrap .item-box:not(:last-child) .inbox-year::after {
    display: none;
  }
}

/*-------------------------------------------------
  RMにできること
-------------------------------------------------*/
.service .box-wrap {
  width: min(100%, 1360px);
  margin: 0 auto;
}
.service p.txt {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  font-kerning: none;
}
@media screen and (max-width: 767px) {
  .service p.txt {
    font-size: 1.6rem;
  }
}
.service .lead-box {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.service .lead-box .img-box {
  width: min(100% - 66rem, 700px);
}
.service .lead-box .text-box {
  width: 66rem;
  flex-shrink: 0;
  padding-left: 8rem;
  padding-right: 6rem;
}
.service .lead-box .text-box .lead-ttl {
  font-size: 4rem;
  font-weight: 700;
  font-kerning: none;
  font-feature-settings: "liga" off;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .service .lead-box {
    width: min(100%, 700px);
    margin: 0 auto;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .service .lead-box .img-box {
    width: 100%;
  }
  .service .lead-box .text-box {
    width: 100%;
    padding: 0 2.4rem;
  }
  .service .lead-box .text-box .lead-ttl {
    font-size: 2.4rem;
    font-weight: 700;
    font-kerning: none;
    font-feature-settings: "liga" off;
    margin-bottom: 2rem;
  }
}
.service .service-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6.4rem;
  padding-left: 8rem;
  padding-right: 8rem;
}
.service .service-box .title-box {
  width: 33.6rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.service .service-box .title-box h3 {
  font-size: 4.8rem;
  font-weight: 700;
  font-kerning: none;
  font-feature-settings: "liga" off;
}
.service .service-box .title-box .copy {
  font-size: 2.4rem;
  font-weight: 700;
  font-kerning: none;
  display: flex;
  padding: 0.8rem 2.4rem;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border: 1px solid var(--black);
  text-align: center;
}
.service .service-box .text-box {
  flex-grow: 1;
  padding: 2rem 0 2rem 6.4rem;
  border-left: 1px solid var(--black);
}
@media screen and (max-width: 1023px) {
  .service .service-box {
    width: min(100%, 748px);
    margin: 0 auto;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
  .service .service-box .title-box {
    width: min(100%, 34.5rem);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .service .service-box .title-box h3 {
    font-size: 2.8rem;
    font-weight: 700;
    font-kerning: none;
    font-feature-settings: "liga" off;
  }
  .service .service-box .title-box .copy {
    font-size: 1.8rem;
    font-weight: 700;
    font-kerning: none;
    display: flex;
    padding: 0.8rem 2.4rem;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    border: 1px solid var(--black);
  }
  .service .service-box .text-box {
    width: 100%;
    flex-grow: unset;
    padding: 0 0 0 2rem;
    border-left: 1px solid var(--black);
  }
}
.service .layout-box-01 {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.service .layout-box-01 .btn-box {
  text-align: center;
}
.service .layout-box-01 .slider-box-right {
  width: min(79.4117647059%, 108rem);
  margin-left: auto;
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */
}
.service .layout-box-01 .slider-box-right .loop-slider-left {
  width: 135rem;
  animation: scroll-left 20s infinite linear 0.5s both;
  display: flex; /* スライド3枚を横並び */
  white-space: nowrap;
}
.service .layout-box-01 .slider-box-right .loop-slider-left .slide-item {
  width: 45rem;
}
.service .layout-box-01 .slider-box-right .loop-slider-left .slide-item img {
  width: 100%;
}
.service .layout-box-01 .slider-box-left {
  width: min(79.4117647059%, 108rem);
  margin-right: auto;
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */
}
.service .layout-box-01 .slider-box-left .loop-slider-right {
  width: 135rem;
  animation: scroll-right 20s infinite linear 0.5s both;
  display: flex; /* スライド3枚を横並び */
  white-space: nowrap;
}
.service .layout-box-01 .slider-box-left .loop-slider-right .slide-item {
  width: 45rem;
}
.service .layout-box-01 .slider-box-left .loop-slider-right .slide-item img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .service .layout-box-01 .slider-box-right {
    width: 100%;
    margin-left: auto;
    display: flex;
    overflow: hidden;
  }
  .service .layout-box-01 .slider-box-right .loop-slider-left {
    width: -moz-fit-content;
    width: fit-content;
    animation: scroll-left 20s infinite linear 0.5s both;
    display: flex;
    white-space: nowrap;
  }
  .service .layout-box-01 .slider-box-right .loop-slider-left .slide-item {
    width: 63.6132315522vw;
  }
  .service .layout-box-01 .slider-box-left {
    width: 100%;
    margin-left: auto;
    display: flex;
    overflow: hidden;
  }
  .service .layout-box-01 .slider-box-left .loop-slider-right {
    width: -moz-fit-content;
    width: fit-content;
    animation: scroll-right 20s infinite linear 0.5s both;
    display: flex;
    white-space: nowrap;
  }
  .service .layout-box-01 .slider-box-left .loop-slider-right .slide-item {
    width: 63.6132315522vw;
  }
}
.service #service-lead {
  padding-bottom: 12rem;
}
@media screen and (max-width: 1023px) {
  .service #service-lead {
    padding-bottom: 8rem;
  }
}
.service #service-people {
  padding-bottom: 16rem;
}
@media screen and (max-width: 1023px) {
  .service #service-people {
    padding-bottom: 8rem;
  }
}
.service #service-city {
  padding-bottom: 16rem;
}
@media screen and (max-width: 1023px) {
  .service #service-city {
    padding-bottom: 8rem;
  }
}
.service #service-event {
  padding-bottom: 20rem;
}
@media screen and (max-width: 1023px) {
  .service #service-event {
    padding-bottom: 10rem;
  }
}

/*-------------------------------------------------
  ひとづくり事業
  まちづくり事業
  ことづくり事業
-------------------------------------------------*/
.service-child .box-wrap {
  width: min(100%, 1360px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .service-child .box-wrap {
    gap: 2rem;
  }
}
.service-child p.txt {
  font-size: 2rem;
  font-weight: 700;
  font-kerning: none;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .service-child p.txt {
    font-size: 1.6rem;
  }
}
.service-child .layout-box-01 {
  display: flex;
  justify-content: center;
  align-items: center;
}
.service-child .layout-box-01 .img-box {
  width: min(100% - 66rem, 700px);
}
.service-child .layout-box-01 .text-box {
  width: 66rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  flex-shrink: 0;
  padding-left: 8rem;
  padding-right: 8rem;
}
.service-child .layout-box-01 .text-box .service-ttl {
  font-size: 3.2rem;
  font-weight: 700;
  font-kerning: none;
}
.service-child .layout-box-01 .text-box .inner {
  padding-left: 4rem;
  border-left: 1px solid var(--black);
}
.service-child .layout-box-01.rev {
  flex-direction: row-reverse;
}
@media screen and (max-width: 1023px) {
  .service-child .layout-box-01 {
    width: min(100%, 700px);
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .service-child .layout-box-01.rev {
    flex-direction: column;
  }
  .service-child .layout-box-01 .img-box {
    width: 100%;
  }
  .service-child .layout-box-01 .text-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    flex-shrink: 0;
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
  .service-child .layout-box-01 .text-box .service-ttl {
    font-size: 2.4rem;
    font-weight: 700;
    font-kerning: none;
  }
  .service-child .layout-box-01 .text-box .inner {
    padding-left: 2rem;
    border-left: 1px solid var(--black);
  }
}
.service-child .layout-box-02 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
  padding-left: 8rem;
  padding-right: 8rem;
}
.service-child .layout-box-02 .case-subttl {
  width: 100%;
  display: flex;
  padding: 0.8rem 2.4rem;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--white);
  background: var(--black);
}
.service-child .layout-box-02 .txt-list {
  width: 100%;
  display: flex;
  justify-content: center;
}
.service-child .layout-box-02 .txt-list .inbox {
  width: 50%;
}
.service-child .layout-box-02 .case-wrap {
  width: min(100%, 120rem);
  margin: 0 auto;
  display: flex;
  gap: 3rem;
}
.service-child .layout-box-02 .case-wrap .item-box {
  width: min((100% - 6rem) / 3, 38rem);
}
@media screen and (max-width: 1023px) {
  .service-child .layout-box-02 .txt-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  .service-child .layout-box-02 .txt-list .inbox {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .service-child .layout-box-02 {
    gap: 2.4rem;
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
  .service-child .layout-box-02 .case-subttl {
    width: 100%;
    display: flex;
    padding: 0.8rem 2.4rem;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    font-size: 2rem;
    font-weight: 700;
    color: var(--white);
    background: var(--black);
  }
  .service-child .layout-box-02 .case-wrap {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem;
  }
  .service-child .layout-box-02 .case-wrap .item-box {
    width: min(100%, 38rem);
  }
}
.service-child .layout-box-03 {
  width: 100%;
  padding-left: 8rem;
  padding-right: 8rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
.service-child .layout-box-03 .text-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.service-child .layout-box-03 .text-box .service-ttl {
  font-size: 3.2rem;
  font-weight: 700;
  font-kerning: none;
}
.service-child .layout-box-03 .text-box .inner {
  padding-left: 4rem;
  border-left: 1px solid var(--black);
}
.service-child .layout-box-03 .img-box {
  width: min(100% - 66rem, 700px);
}
.service-child .layout-box-03 .img-wrap {
  width: min(100%, 1157px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(2.5694444444vw, 3.7rem) min(3.1979256698%, 3.7rem);
}
.service-child .layout-box-03 .img-wrap .inbox01 {
  width: min(60.5012964564%, 700px);
}
.service-child .layout-box-03 .img-wrap .inbox02 {
  width: min(36.3007778738%, 420px);
  display: flex;
  flex-direction: column;
  gap: min(2.5694444444vw, 3.7rem);
}
.service-child .layout-box-03 .img-wrap .inbox02 .item-box {
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .service-child .layout-box-03 {
    width: min(100%, 700px);
    padding-left: 0;
    padding-right: 0;
  }
  .service-child .layout-box-03 .text-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
  .service-child .layout-box-03 .text-box .service-ttl {
    font-size: 2.4rem;
    font-weight: 700;
    font-kerning: none;
  }
  .service-child .layout-box-03 .text-box .inner {
    padding-left: 2rem;
    border-left: 1px solid var(--black);
  }
}
@media screen and (max-width: 767px) {
  .service-child .layout-box-03 {
    flex-direction: column-reverse;
  }
  .service-child .layout-box-03 .img-wrap {
    width: min(100%, 700px);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
  }
  .service-child .layout-box-03 .img-wrap .inbox01 {
    width: 100%;
  }
  .service-child .layout-box-03 .img-wrap .inbox02 {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 0;
  }
  .service-child .layout-box-03 .img-wrap .inbox02 .item-box {
    width: 50%;
  }
}
.service-child #lead {
  padding-left: 8rem;
  padding-right: 8rem;
  padding-bottom: 7.4rem;
}
.service-child #lead .lead-box {
  width: min(100%, 80rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
}
.service-child #lead .lead-box .lead-ttl {
  font-size: 4.8rem;
  font-weight: 700;
  text-align: center;
  font-kerning: none;
  font-feature-settings: "liga" off;
}
@media screen and (max-width: 1023px) {
  .service-child #lead {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .service-child #lead .lead-box .lead-ttl {
    font-size: 2.4rem;
  }
}
.service-child .service-content {
  padding-bottom: 16rem;
}
.service-child .service-content a {
  color: var(--link);
}
.service-child .service-content a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .service-child .service-content {
    padding-bottom: 8rem;
  }
}
.service-child #member-slide {
  padding-left: 2.4rem;
  padding-bottom: 21rem;
}
.service-child #member-slide .slick-list {
  width: 100%;
  padding-right: 12%;
  overflow: hidden;
}
.service-child #member-slide .slider-box {
  width: 100%;
}
.service-child #member-slide .post-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6rem 7.5rem;
  margin-left: auto;
  margin-right: auto;
}
.service-child #member-slide .post-list .post-item {
  position: relative;
  z-index: 0;
  width: 35rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--white);
  transition: 0.3s all;
  margin-right: 4rem;
}
.service-child #member-slide .post-list .post-item a.block-link {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.service-child #member-slide .post-list .post-item .img-box {
  position: relative;
  width: 100%;
  aspect-ratio: 350/450;
  overflow: hidden;
}
.service-child #member-slide .post-list .post-item .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-child #member-slide .post-list .post-item .img-box .name-en {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 8rem;
  line-height: 1;
  text-align: right;
  position: absolute;
  right: 0;
  bottom: -0.2em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.5);
  mix-blend-mode: overlay;
}
.service-child #member-slide .post-list .post-item .text-box {
  position: relative;
  width: 100%;
  padding-top: 1.6rem;
  line-height: 1.25;
  display: flex;
  padding: 2.4rem 1.6rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
  align-self: stretch;
}
.service-child #member-slide .post-list .post-item .text-box p.item-txt {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.service-child #member-slide .post-list .post-item .text-box p.item-name {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-right: 3rem;
}
.service-child #member-slide .post-list .post-item .text-box p.item-name span.txt-jp {
  font-size: 2.4rem;
}
.service-child #member-slide .post-list .post-item .text-box p.item-name span.txt-en {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  font-style: normal;
  font-size: 1.3rem;
  color: #999999;
}
.service-child #member-slide .post-list .post-item .text-box .btn-arrow {
  position: absolute;
  right: 1.8rem;
  bottom: 1.8rem;
  content: "";
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  color: var(--white);
  background: var(--black);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s all;
}
.service-child #member-slide .post-list .post-item .text-box .btn-arrow::after {
  font-family: "Font Awesome 6 Free";
  font-size: 1.2rem;
  font-weight: 900;
  content: "\f054";
}
.service-child #member-slide .post-list .post-item:hover .text-box .btn-arrow {
  color: var(--white);
  background: var(--yellow-green);
}
.service-child #member-slide .post-list .post-item:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid var(--yellow-green, #c2e300);
  pointer-events: none;
  animation: fade 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .service-child #member-slide .slick-list {
    width: 100%;
    padding-right: 0;
    overflow: hidden;
  }
  .service-child #member-slide .post-list .post-item {
    margin-right: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .service-child #member-slide {
    padding-right: 2.4rem;
    padding-bottom: 13rem;
  }
  .service-child #member-slide .post-list .post-item {
    margin-right: 0;
  }
}
.service-child #works-slide {
  padding-left: 2.4rem;
  padding-bottom: 21rem;
}
.service-child #works-slide .slick-list {
  width: 100%;
  padding-right: 12%;
  overflow: hidden;
}
.service-child #works-slide .slider-box {
  width: 100%;
}
.service-child #works-slide .post-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6rem 7.5rem;
  margin-left: auto;
  margin-right: auto;
}
.service-child #works-slide .post-list .post-item {
  position: relative;
  z-index: 0;
  width: 35rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--white);
  transition: 0.3s all;
  margin-right: 4rem;
}
.service-child #works-slide .post-list .post-item a.block-link {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.service-child #works-slide .post-list .post-item .img-box {
  width: 100%;
  aspect-ratio: 350/250;
}
.service-child #works-slide .post-list .post-item .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-child #works-slide .post-list .post-item .text-box {
  width: 100%;
  padding-top: 1.6rem;
  line-height: 1.25;
  display: flex;
  padding: 2.4rem 1.6rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
  align-self: stretch;
}
.service-child #works-slide .post-list .post-item .text-box p.post-date {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.7rem;
  line-height: 1;
  margin-bottom: 0.4rem;
}
.service-child #works-slide .post-list .post-item .text-box p.post-ttl {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.service-child #works-slide .post-list .post-item .text-box p.post-work-ttl {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.service-child #works-slide .post-list .post-item:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid var(--yellow-green, #c2e300);
  pointer-events: none;
  animation: fade 0.3s ease;
}
.service-child #works-slide .post-list .post-item ul.post-tag {
  position: relative;
  z-index: 1;
  font-size: 1.2rem;
  line-height: 1.6666666667;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.service-child #works-slide .post-list .post-item ul.post-tag li {
  display: inline-block;
}
.service-child #works-slide .post-list .post-item ul.post-tag li > a {
  color: var(--white);
  padding: 0 1.6rem;
  background: var(--yellow-green);
  border-radius: 2rem;
  transition: 0.3s all;
  display: inline-block;
}
.service-child #works-slide .post-list .post-item ul.post-tag li > a:hover {
  background: var(--black);
}
@media screen and (max-width: 1023px) {
  .service-child #works-slide .slick-list {
    width: 100%;
    padding-right: 0;
    overflow: hidden;
  }
  .service-child #works-slide .post-list .post-item {
    margin-right: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .service-child #works-slide {
    padding-right: 2.4rem;
    padding-bottom: 13rem;
  }
  .service-child #works-slide .post-list .post-item {
    margin-right: 0;
  }
}

/*-------------------------------------------------
  採用情報
-------------------------------------------------*/
.recruit p.txt {
  font-size: 2rem;
  font-weight: 700;
  font-kerning: none;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .recruit p.txt {
    font-size: 1.6rem;
  }
}
.recruit .recruit-content a {
  color: var(--link);
}
.recruit .recruit-content a:hover {
  opacity: 0.8;
}
.recruit #recruit-lead {
  padding-bottom: 12rem;
}
.recruit #recruit-lead .lead-box {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.recruit #recruit-lead .lead-box .img-box {
  width: min(100% - 66rem, 700px);
}
.recruit #recruit-lead .lead-box .text-box {
  width: 66rem;
  flex-shrink: 0;
  padding-left: 8rem;
  padding-right: 6rem;
}
.recruit #recruit-lead .lead-box .text-box p:not(:last-child) {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 1023px) {
  .recruit #recruit-lead .lead-box {
    width: min(100%, 700px);
    margin: 0 auto;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .recruit #recruit-lead .lead-box .img-box {
    width: 100%;
  }
  .recruit #recruit-lead .lead-box .text-box {
    width: 100%;
    padding: 0 2.4rem;
  }
  .recruit #recruit-lead .lead-box .text-box .lead-ttl {
    font-size: 2.4rem;
    font-weight: 700;
    font-kerning: none;
    font-feature-settings: "liga" off;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .recruit #recruit-lead {
    padding-bottom: 8rem;
  }
}
.recruit #job-description {
  padding-left: 8rem;
  padding-right: 8rem;
  padding-bottom: 15rem;
}
.recruit #job-description .box-wrap {
  width: min(100%, 100rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12rem;
}
.recruit #job-description .btn-box {
  margin: 8rem auto 0;
}
.recruit #job-description .btn-box .btn-entry {
  position: relative;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4rem;
  line-height: 1;
  text-align: center;
  display: flex;
  width: 48rem;
  height: 8rem;
  min-width: 32rem;
  padding: 1.6rem 2.4rem;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  color: var(--white);
  border-radius: 5rem;
  background: var(--orange, #e34800);
  margin: 0 auto;
  transition: 0.3s all;
}
.recruit #job-description .btn-box .btn-entry::after {
  font-family: "Font Awesome 6 Free";
  font-size: 1.2rem;
  font-weight: 900;
  content: "\f054";
  position: absolute;
  right: 2.4rem;
}
.recruit #job-description .btn-box .btn-entry:hover {
  background: var(--yellow-green);
}
.recruit #job-description .layout-box {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
}
.recruit #job-description .layout-box .sub-ttl {
  font-size: 2.4rem;
  font-weight: 700;
  display: inline-flex;
  min-width: 25rem;
  padding: 0.8rem 2.4rem;
  justify-content: center;
  align-items: center;
  color: var(--white);
  background: var(--black, #111);
}
.recruit #job-description .layout-box .table-box {
  width: 100%;
}
.recruit #job-description .layout-box .table-box .inbox:not(:last-child) {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .recruit #job-description {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    padding-bottom: 8rem;
  }
  .recruit #job-description .box-wrap {
    gap: 8rem;
  }
  .recruit #job-description .layout-box .sub-ttl {
    font-size: 2rem;
    font-weight: 700;
    display: inline-flex;
    width: 100%;
    min-width: unset;
    padding: 0.4rem 2.4rem;
    justify-content: center;
    align-items: center;
    color: var(--white);
    background: var(--black, #111);
  }
  .recruit #job-description .btn-box {
    margin: 8rem auto 0;
  }
  .recruit #job-description .btn-box .btn-entry {
    position: relative;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 3.2rem;
    line-height: 1;
    text-align: center;
    display: flex;
    width: 32rem;
    min-width: 32rem;
    height: 6rem;
    max-width: 100%;
    padding: 1rem 2.4rem 0.6rem;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    color: var(--white);
    border-radius: 5rem;
    background: var(--orange, #e34800);
    margin: 0 auto;
    transition: 0.3s all;
  }
  .recruit #job-description .btn-box .btn-entry::after {
    font-family: "Font Awesome 6 Free";
    font-size: 1.2rem;
    font-weight: 900;
    content: "\f054";
    position: absolute;
    right: 2.4rem;
  }
  .recruit #job-description .btn-box .btn-entry:hover {
    background: var(--yellow-green);
  }
}

/*-------------------------------------------------
  ニュース＆トピックス　/　実績紹介
-------------------------------------------------*/
.news .post-list-wrap,
.works .post-list-wrap {
  padding-left: 8rem;
  padding-right: 8rem;
  padding-bottom: 16rem;
}
.news .post-list-wrap .inner,
.works .post-list-wrap .inner {
  position: relative;
  width: min(100%, 120rem);
  margin: 0 auto;
}
.news .post-list-wrap .anchor-nav,
.works .post-list-wrap .anchor-nav {
  width: min(100%, 1200px);
  margin: 0 auto 8rem;
}
.news .post-list-wrap .anchor-nav ul.category-list,
.works .post-list-wrap .anchor-nav ul.category-list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2.4rem;
  font-size: 2rem;
}
.news .post-list-wrap .anchor-nav ul.category-list li.list-item,
.works .post-list-wrap .anchor-nav ul.category-list li.list-item {
  position: relative;
  display: flex;
  min-width: 27rem;
  min-height: 4rem;
  padding: 0.8rem 5.6rem;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  border-radius: 5rem;
  border: 1px solid var(--black, #111);
  background: var(--white, #fff);
  transition: 0.3s all;
  cursor: pointer;
}
.news .post-list-wrap .anchor-nav ul.category-list li.list-item::after,
.works .post-list-wrap .anchor-nav ul.category-list li.list-item::after {
  position: absolute;
  right: 2.4rem;
  font: var(--fa-font-solid);
  font-size: 0.8em;
  content: "\f078";
}
.news .post-list-wrap .anchor-nav ul.category-list li.list-item:hover,
.works .post-list-wrap .anchor-nav ul.category-list li.list-item:hover {
  color: var(--white);
  background: var(--black);
}
.news .post-list-wrap .search-filter,
.works .post-list-wrap .search-filter {
  position: relative;
  z-index: 1;
  width: 20rem;
  margin-bottom: 4rem;
  margin-left: auto;
}
.news .post-list-wrap .search-filter .btn-filter,
.works .post-list-wrap .search-filter .btn-filter {
  font-size: 1.6rem;
  line-height: 2;
  display: flex;
  width: 20rem;
  padding: 0.4rem 3.2rem;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  border: 1px solid var(--border, #ddd);
  background: var(--white, #fff);
  margin-left: auto;
  cursor: pointer;
}
.news .post-list-wrap .search-filter .btn-filter span,
.works .post-list-wrap .search-filter .btn-filter span {
  display: inline-block;
}
.news .post-list-wrap .search-filter .btn-filter span.icon,
.works .post-list-wrap .search-filter .btn-filter span.icon {
  width: 2rem;
  height: 2rem;
  background: url("../images/icon_filter_list.svg");
  background-size: cover;
}
.news .post-list-wrap .search-filter .btn-filter .arrow,
.works .post-list-wrap .search-filter .btn-filter .arrow {
  font-size: 1.2rem;
}
.news .post-list-wrap .search-filter .btn-filter .arrow::after,
.works .post-list-wrap .search-filter .btn-filter .arrow::after {
  font: var(--fa-font-solid);
  content: "\f078";
}
.news .post-list-wrap .search-filter .btn-filter.active .arrow::after,
.works .post-list-wrap .search-filter .btn-filter.active .arrow::after {
  content: "\f077";
}
.news .post-list-wrap .search-filter .filter-list,
.works .post-list-wrap .search-filter .filter-list {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  display: none;
}
.news .post-list-wrap .search-filter .filter-list ul,
.works .post-list-wrap .search-filter .filter-list ul {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid var(--border, #ddd);
}
.news .post-list-wrap .search-filter .filter-list ul li,
.works .post-list-wrap .search-filter .filter-list ul li {
  width: 100%;
  height: 4rem;
  padding: 0 1.6rem;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--border, #ddd);
  background: var(--bg-white, #fff);
  cursor: pointer;
}
.news .post-list-wrap .search-filter .filter-list ul li:hover,
.works .post-list-wrap .search-filter .filter-list ul li:hover {
  background: var(--bg-light-gray, #f4f4f4);
}
.news .post-list-wrap .post-list,
.works .post-list-wrap .post-list {
  width: min(100%, 1200px);
  display: flex;
  flex-wrap: wrap;
  gap: 6rem 7.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 8rem;
}
.news .post-list-wrap .post-list .post-item,
.works .post-list-wrap .post-list .post-item {
  position: relative;
  z-index: 0;
  width: min((100% - 15rem) / 3, 350px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--white);
  transition: 0.3s all;
}
.news .post-list-wrap .post-list .post-item a.block-link,
.works .post-list-wrap .post-list .post-item a.block-link {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.news .post-list-wrap .post-list .post-item .img-box,
.works .post-list-wrap .post-list .post-item .img-box {
  width: 100%;
  aspect-ratio: 350/250;
}
.news .post-list-wrap .post-list .post-item .img-box img,
.works .post-list-wrap .post-list .post-item .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.news .post-list-wrap .post-list .post-item .text-box,
.works .post-list-wrap .post-list .post-item .text-box {
  width: 100%;
  padding-top: 1.6rem;
  line-height: 1.25;
  display: flex;
  padding: 2.4rem 1.6rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
  align-self: stretch;
}
.news .post-list-wrap .post-list .post-item .text-box p.post-date,
.works .post-list-wrap .post-list .post-item .text-box p.post-date {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.7rem;
  line-height: 1;
  margin-bottom: 0.4rem;
}
.news .post-list-wrap .post-list .post-item .text-box p.post-ttl,
.works .post-list-wrap .post-list .post-item .text-box p.post-ttl {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.news .post-list-wrap .post-list .post-item .text-box p.post-work-ttl,
.works .post-list-wrap .post-list .post-item .text-box p.post-work-ttl {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.news .post-list-wrap .post-list .post-item:hover::after,
.works .post-list-wrap .post-list .post-item:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid var(--yellow-green, #c2e300);
  pointer-events: none;
  animation: fade 0.3s ease;
}
.news .post-list-wrap .post-list .post-item ul.post-tag,
.works .post-list-wrap .post-list .post-item ul.post-tag {
  position: relative;
  z-index: 1;
  font-size: 1.2rem;
  line-height: 1.6666666667;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.news .post-list-wrap .post-list .post-item ul.post-tag li,
.works .post-list-wrap .post-list .post-item ul.post-tag li {
  display: inline-block;
}
.news .post-list-wrap .post-list .post-item ul.post-tag li > a,
.works .post-list-wrap .post-list .post-item ul.post-tag li > a {
  color: var(--white);
  padding: 0 1.6rem;
  background: var(--yellow-green);
  border-radius: 2rem;
  transition: 0.3s all;
  display: inline-block;
}
.news .post-list-wrap .post-list .post-item ul.post-tag li > a:hover,
.works .post-list-wrap .post-list .post-item ul.post-tag li > a:hover {
  background: var(--black);
}
@media screen and (max-width: 1023px) {
  .news .post-list-wrap .post-list,
  .works .post-list-wrap .post-list {
    width: min(100%, 760px);
    display: flex;
    flex-wrap: wrap;
    gap: 6rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 8rem;
  }
  .news .post-list-wrap .post-list .post-item,
  .works .post-list-wrap .post-list .post-item {
    position: relative;
    z-index: 0;
    width: min((100% - 6rem) / 2, 350px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: var(--white);
    transition: 0.3s all;
  }
  .news .post-list-wrap .post-list .post-item a.block-link,
  .works .post-list-wrap .post-list .post-item a.block-link {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .news .post-list-wrap .post-list .post-item .img-box,
  .works .post-list-wrap .post-list .post-item .img-box {
    width: 100%;
    aspect-ratio: 350/250;
  }
  .news .post-list-wrap .post-list .post-item .img-box img,
  .works .post-list-wrap .post-list .post-item .img-box img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .news .post-list-wrap .post-list .post-item .text-box,
  .works .post-list-wrap .post-list .post-item .text-box {
    width: 100%;
    padding-top: 1.6rem;
    line-height: 1.25;
    display: flex;
    padding: 2.4rem 1.6rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    align-self: stretch;
  }
  .news .post-list-wrap .post-list .post-item .text-box p.post-date,
  .works .post-list-wrap .post-list .post-item .text-box p.post-date {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.7rem;
    line-height: 1;
    margin-bottom: 0.4rem;
  }
  .news .post-list-wrap .post-list .post-item .text-box p.post-ttl,
  .works .post-list-wrap .post-list .post-item .text-box p.post-ttl {
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 500;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .news .post-list-wrap .post-list .post-item .text-box p.post-work-ttl,
  .works .post-list-wrap .post-list .post-item .text-box p.post-work-ttl {
    font-size: 1.8rem;
    line-height: 2;
    font-weight: 500;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .news .post-list-wrap .post-list .post-item:hover::after,
  .works .post-list-wrap .post-list .post-item:hover::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid var(--yellow-green, #c2e300);
    pointer-events: none;
    animation: fade 0.3s ease;
  }
  .news .post-list-wrap .post-list .post-item ul.post-tag,
  .works .post-list-wrap .post-list .post-item ul.post-tag {
    position: relative;
    z-index: 1;
    font-size: 1.2rem;
    line-height: 1.6666666667;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .news .post-list-wrap .post-list .post-item ul.post-tag li,
  .works .post-list-wrap .post-list .post-item ul.post-tag li {
    display: inline-block;
  }
  .news .post-list-wrap .post-list .post-item ul.post-tag li > a,
  .works .post-list-wrap .post-list .post-item ul.post-tag li > a {
    color: var(--white);
    padding: 0 1.6rem;
    background: var(--yellow-green);
    border-radius: 2rem;
    transition: 0.3s all;
    display: inline-block;
  }
  .news .post-list-wrap .post-list .post-item ul.post-tag li > a:hover,
  .works .post-list-wrap .post-list .post-item ul.post-tag li > a:hover {
    background: var(--black);
  }
}
@media screen and (max-width: 767px) {
  .news .post-list-wrap,
  .works .post-list-wrap {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
  .news .post-list-wrap .anchor-nav,
  .works .post-list-wrap .anchor-nav {
    width: 100%;
    margin: 0 auto 4rem;
  }
  .news .post-list-wrap .anchor-nav ul.category-list,
  .works .post-list-wrap .anchor-nav ul.category-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.8rem 1.6rem;
    font-size: 1.8rem;
  }
  .news .post-list-wrap .anchor-nav ul.category-list li.list-item,
  .works .post-list-wrap .anchor-nav ul.category-list li.list-item {
    position: relative;
    display: flex;
    min-width: 27rem;
    min-height: 5.6rem;
    padding: 0.8rem 5.6rem;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
    border-radius: 5rem;
    border: 1px solid var(--black, #111);
    background: var(--white, #fff);
    transition: 0.3s all;
    cursor: pointer;
  }
  .news .post-list-wrap .anchor-nav ul.category-list li.list-item::after,
  .works .post-list-wrap .anchor-nav ul.category-list li.list-item::after {
    position: absolute;
    right: 2.4rem;
    font: var(--fa-font-solid);
    font-size: 0.8em;
    content: "\f078";
  }
  .news .post-list-wrap .anchor-nav ul.category-list li.list-item:hover,
  .works .post-list-wrap .anchor-nav ul.category-list li.list-item:hover {
    color: var(--white);
    background: var(--black);
  }
  .news .post-list-wrap .post-list,
  .works .post-list-wrap .post-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 8rem;
  }
  .news .post-list-wrap .post-list .post-item,
  .works .post-list-wrap .post-list .post-item {
    position: relative;
    z-index: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: var(--white);
    transition: 0.3s all;
  }
  .news .post-list-wrap .post-list .post-item a.block-link,
  .works .post-list-wrap .post-list .post-item a.block-link {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .news .post-list-wrap .post-list .post-item .img-box,
  .works .post-list-wrap .post-list .post-item .img-box {
    width: 100%;
    aspect-ratio: 350/250;
  }
  .news .post-list-wrap .post-list .post-item .img-box img,
  .works .post-list-wrap .post-list .post-item .img-box img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .news .post-list-wrap .post-list .post-item .text-box,
  .works .post-list-wrap .post-list .post-item .text-box {
    width: 100%;
    padding-top: 1.6rem;
    line-height: 1.25;
    display: flex;
    padding: 2.4rem 1.6rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    align-self: stretch;
  }
  .news .post-list-wrap .post-list .post-item .text-box p.post-date,
  .works .post-list-wrap .post-list .post-item .text-box p.post-date {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.7rem;
    line-height: 1;
    margin-bottom: 0.4rem;
  }
  .news .post-list-wrap .post-list .post-item .text-box p.post-ttl,
  .works .post-list-wrap .post-list .post-item .text-box p.post-ttl {
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 500;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .news .post-list-wrap .post-list .post-item .text-box p.post-work-ttl,
  .works .post-list-wrap .post-list .post-item .text-box p.post-work-ttl {
    font-size: 1.8rem;
    line-height: 2;
    font-weight: 500;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .news .post-list-wrap .post-list .post-item:hover::after,
  .works .post-list-wrap .post-list .post-item:hover::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid var(--yellow-green, #c2e300);
    pointer-events: none;
    animation: fade 0.3s ease;
  }
  .news .post-list-wrap .post-list .post-item ul.post-tag,
  .works .post-list-wrap .post-list .post-item ul.post-tag {
    position: relative;
    z-index: 1;
    font-size: 1.2rem;
    line-height: 1.6666666667;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .news .post-list-wrap .post-list .post-item ul.post-tag li,
  .works .post-list-wrap .post-list .post-item ul.post-tag li {
    display: inline-block;
  }
  .news .post-list-wrap .post-list .post-item ul.post-tag li > a,
  .works .post-list-wrap .post-list .post-item ul.post-tag li > a {
    color: var(--white);
    padding: 0 1.6rem;
    background: var(--yellow-green);
    border-radius: 2rem;
    transition: 0.3s all;
    display: inline-block;
  }
  .news .post-list-wrap .post-list .post-item ul.post-tag li > a:hover,
  .works .post-list-wrap .post-list .post-item ul.post-tag li > a:hover {
    background: var(--black);
  }
}

.single-content {
  width: 100%;
  padding-left: 8rem;
  padding-right: 8rem;
  padding-bottom: 12rem;
}
.single-content .inner {
  width: min(100%, 100rem);
  margin: 0 auto;
}
.single-content .post-main-box {
  width: 100%;
}
.single-content .post-main-box .post-meta {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
  margin-bottom: 2.9rem;
}
.single-content .post-main-box .post-meta .post-date {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6rem;
}
.single-content .post-main-box .post-meta .post-date::before, .single-content .post-main-box .post-meta .post-date::after {
  content: "";
  width: 4rem;
  height: 1px;
  background: var(--black);
}
.single-content .post-main-box .post-meta .post-cat {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: normal;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6rem;
}
.single-content .post-main-box .post-meta .post-cat::before, .single-content .post-main-box .post-meta .post-cat::after {
  content: "";
  width: 4rem;
  height: 1px;
  background: var(--black);
}
.single-content .post-main-box .post-meta .post-title {
  font-size: 4rem;
  font-weight: 700;
  font-kerning: none;
}
.single-content .post-main-box .post-detail {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.2rem;
  margin-bottom: 4rem;
}
.single-content .post-main-box .post-detail .post-thumbnail {
  width: 100%;
  text-align: center;
}
.single-content .post-main-box .post-detail .post-content p:not(:last-child) {
  margin-bottom: 1.5em;
}
.single-content .post-main-box .post-tag-box {
  display: inline-flex;
  align-items: first baseline;
  gap: 1.6rem;
}
.single-content .post-main-box .post-tag-box p.ttl {
  font-size: 2rem;
  line-height: 2;
  font-weight: 700;
  flex-shrink: 0;
}
.single-content .post-main-box .post-tag-box .tag-list {
  display: inline-flex;
  align-items: flex-start;
  align-content: flex-start;
  gap: 1.6rem;
  flex-wrap: wrap;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  font-kerning: none;
}
.single-content .post-main-box .post-tag-box .tag-list li {
  display: flex;
  min-width: 17rem;
  max-width: 100%;
  min-height: 4rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
  color: var(--white);
  background: var(--yellow-green);
  border-radius: 5rem;
  transition: 0.3s all;
  text-align: center;
}
.single-content .post-main-box .post-tag-box .tag-list li:hover {
  background: var(--orange);
}
.single-content .post-main-box .post-tag-box .tag-list li a {
  width: 100%;
  display: block;
  padding: 0px 2.4rem;
}
.single-content .btn-box {
  margin: 8rem auto 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .single-content {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    padding-bottom: 8rem;
  }
  .single-content .post-main-box {
    width: 100%;
  }
  .single-content .post-main-box .post-meta {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
    margin-bottom: 2.9rem;
  }
  .single-content .post-main-box .post-meta .post-date {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
  }
  .single-content .post-main-box .post-meta .post-date::before, .single-content .post-main-box .post-meta .post-date::after {
    content: "";
    width: 4rem;
    height: 1px;
    background: var(--black);
  }
  .single-content .post-main-box .post-meta .post-cat {
    font-size: 1.6rem;
    font-weight: 700;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
  }
  .single-content .post-main-box .post-meta .post-cat::before, .single-content .post-main-box .post-meta .post-cat::after {
    content: "";
    width: 4rem;
    height: 1px;
    background: var(--black);
  }
  .single-content .post-main-box .post-meta .post-title {
    font-size: 2.4rem;
    font-weight: 700;
    font-kerning: none;
  }
  .single-content .post-main-box .post-detail {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    margin-bottom: 4rem;
  }
  .single-content .post-main-box .post-detail .post-thumbnail {
    width: 100%;
    text-align: center;
  }
  .single-content .post-main-box .post-detail .post-content p:not(:last-child) {
    margin-bottom: 1.5em;
  }
  .single-content .post-main-box .post-tag-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
  .single-content .post-main-box .post-tag-box p.ttl {
    font-size: 1.4rem;
    line-height: 2;
    font-weight: 700;
    flex-shrink: 0;
  }
  .single-content .post-main-box .post-tag-box .tag-list {
    display: flex;
    align-items: center;
    align-content: flex-start;
    gap: 1.6rem;
    flex-wrap: wrap;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    font-kerning: none;
  }
  .single-content .post-main-box .post-tag-box .tag-list li {
    display: flex;
    min-width: unset;
    max-width: 100%;
    min-height: 4rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
    color: var(--white);
    background: var(--yellow-green);
    border-radius: 5rem;
    transition: 0.3s all;
    text-align: center;
  }
  .single-content .post-main-box .post-tag-box .tag-list li:hover {
    background: var(--orange);
  }
  .single-content .post-main-box .post-tag-box .tag-list li a {
    width: 100%;
    display: block;
    padding: 0px 2.4rem;
  }
  .single-content .btn-box {
    margin: 4rem auto 0;
    text-align: center;
  }
}

.other-works {
  padding-left: 8rem;
  padding-right: 8rem;
}
.other-works .inner {
  width: min(100%, 1200px);
  margin: 0 auto;
}
.other-works .other-works-ttl {
  font-size: 2.4rem;
  font-weight: 700;
  display: inline-flex;
  padding: 0.8rem 2.4rem;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--black, #111);
  margin-bottom: 2rem;
}
.other-works .post-list {
  width: min(100%, 1200px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 8rem;
}
.other-works .post-list .slick-list {
  margin-right: -7.5rem;
  overflow: hidden;
}
.other-works .post-list .slick-track {
  width: calc(100% + 7.5rem);
  display: flex;
}
.other-works .post-list .post-item {
  position: relative;
  z-index: 0;
  width: min(100%, 350px);
  margin-right: 7.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--white);
  transition: 0.3s all;
}
.other-works .post-list .post-item a.block-link {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.other-works .post-list .post-item .img-box {
  width: 100%;
  aspect-ratio: 350/250;
}
.other-works .post-list .post-item .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.other-works .post-list .post-item .text-box {
  width: 100%;
  padding-top: 1.6rem;
  line-height: 1.25;
  display: flex;
  padding: 2.4rem 1.6rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
  align-self: stretch;
}
.other-works .post-list .post-item .text-box p.post-date {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.7rem;
  line-height: 1;
  margin-bottom: 0.4rem;
}
.other-works .post-list .post-item .text-box p.post-ttl {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.other-works .post-list .post-item .text-box p.post-work-ttl {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.other-works .post-list .post-item:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid var(--yellow-green, #c2e300);
  pointer-events: none;
  animation: fade 0.3s ease;
}
.other-works .post-list .post-item ul.post-tag {
  position: relative;
  z-index: 1;
  font-size: 1.2rem;
  line-height: 1.6666666667;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.other-works .post-list .post-item ul.post-tag li {
  display: inline-block;
}
.other-works .post-list .post-item ul.post-tag li > a {
  color: var(--white);
  padding: 0 1.6rem;
  background: var(--yellow-green);
  border-radius: 2rem;
  transition: 0.3s all;
  display: inline-block;
}
.other-works .post-list .post-item ul.post-tag li > a:hover {
  background: var(--black);
}
@media screen and (max-width: 767px) {
  .other-works {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
  .other-works .other-works-ttl {
    width: min(100%, 345px);
    font-size: 2rem;
    font-weight: 700;
    display: flex;
    padding: 0.8rem 2.4rem;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--black, #111);
    margin: 0 auto 10rem;
  }
  .other-works .post-list {
    width: min(100%, 350px);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 8rem;
  }
  .other-works .post-list .slick-list {
    margin-right: -2.5rem;
    overflow: hidden;
  }
  .other-works .post-list .slick-track {
    width: calc(100% + 2.4rem);
    display: flex;
  }
  .other-works .post-list .post-item {
    position: relative;
    z-index: 0;
    width: 100%;
    margin-right: 2.4rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: var(--white);
    transition: 0.3s all;
  }
  .other-works .post-list .post-item a.block-link {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .other-works .post-list .post-item .img-box {
    width: 100%;
    aspect-ratio: 350/250;
  }
  .other-works .post-list .post-item .img-box img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .other-works .post-list .post-item .text-box {
    width: 100%;
    padding-top: 1.6rem;
    line-height: 1.25;
    display: flex;
    padding: 2.4rem 1.6rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    align-self: stretch;
  }
  .other-works .post-list .post-item .text-box p.post-work-ttl {
    font-size: 1.8rem;
    line-height: 2;
    font-weight: 500;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .other-works .post-list .post-item:hover::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid var(--yellow-green, #c2e300);
    pointer-events: none;
    animation: fade 0.3s ease;
  }
  .other-works .post-list .post-item ul.post-tag {
    position: relative;
    z-index: 1;
    font-size: 1.2rem;
    line-height: 1.6666666667;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .other-works .post-list .post-item ul.post-tag li {
    display: inline-block;
  }
  .other-works .post-list .post-item ul.post-tag li > a {
    color: var(--white);
    padding: 0 1.6rem;
    background: var(--yellow-green);
    border-radius: 2rem;
    transition: 0.3s all;
    display: inline-block;
  }
  .other-works .post-list .post-item ul.post-tag li > a:hover {
    background: var(--black);
  }
}

/* ページネーション */
.pagenation ul {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 8rem auto 0;
  list-style: none;
}
.pagenation ul li a {
  font-size: 2rem;
  font-weight: normal;
  color: var(--black);
  background: var(--white);
  min-width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  letter-spacing: normal;
  line-height: 1;
  padding: 0.2rem;
  margin: 0 0.4rem;
  border-radius: 50%;
  border: 1px solid var(--black);
}
.pagenation ul li a.active {
  color: var(--white);
  background: var(--black);
}
.pagenation ul li a:hover {
  color: var(--white);
  background: var(--orange);
  border: 1px solid var(--orange);
}

/*-------------------------------------------------
  メンバー
-------------------------------------------------*/
.member .post-list-wrap {
  padding-left: 8rem;
  padding-right: 8rem;
  padding-bottom: 16rem;
}
.member .post-list-wrap .inner {
  position: relative;
  width: min(100%, 120rem);
  margin: 0 auto;
}
.member .post-list-wrap .post-list {
  width: min(100%, 1200px);
  display: flex;
  flex-wrap: wrap;
  gap: 6rem 7.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 8rem;
}
.member .post-list-wrap .post-list .post-item {
  position: relative;
  z-index: 0;
  width: min((100% - 15rem) / 3, 350px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--white);
  transition: 0.3s all;
}
.member .post-list-wrap .post-list .post-item:nth-child(n+10) {
  display: none;
}
.member .post-list-wrap .post-list .post-item a.block-link {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.member .post-list-wrap .post-list .post-item .img-box {
  position: relative;
  width: 100%;
  aspect-ratio: 350/450;
  overflow: hidden;
}
.member .post-list-wrap .post-list .post-item .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.member .post-list-wrap .post-list .post-item .img-box .name-en {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 8rem;
  line-height: 1;
  text-align: right;
  position: absolute;
  right: 0;
  bottom: -0.2em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.5);
  mix-blend-mode: overlay;
}
.member .post-list-wrap .post-list .post-item .text-box {
  position: relative;
  width: 100%;
  padding-top: 1.6rem;
  line-height: 1.25;
  display: flex;
  padding: 2.4rem 1.6rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
  align-self: stretch;
}
.member .post-list-wrap .post-list .post-item .text-box p.item-txt {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.member .post-list-wrap .post-list .post-item .text-box p.item-name {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-right: 3rem;
  line-height: 1.6;
}
.member .post-list-wrap .post-list .post-item .text-box p.item-name span {
  display: inline-block;
}
.member .post-list-wrap .post-list .post-item .text-box p.item-name span.txt-jp {
  font-size: 2.4rem;
}
.member .post-list-wrap .post-list .post-item .text-box p.item-name span.txt-en {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  font-style: normal;
  font-size: 1.3rem;
  color: #999999;
}
.member .post-list-wrap .post-list .post-item .text-box .btn-arrow {
  position: absolute;
  right: 1.8rem;
  bottom: 1.8rem;
  content: "";
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  color: var(--white);
  background: var(--black);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s all;
}
.member .post-list-wrap .post-list .post-item .text-box .btn-arrow::after {
  font-family: "Font Awesome 6 Free";
  font-size: 1.2rem;
  font-weight: 900;
  content: "\f054";
}
.member .post-list-wrap .post-list .post-item:hover .text-box .btn-arrow {
  color: var(--white);
  background: var(--yellow-green);
}
.member .post-list-wrap .post-list .post-item:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid var(--yellow-green, #c2e300);
  pointer-events: none;
  animation: fade 0.3s ease;
}
.member .post-list-wrap .post-list.more .post-item:nth-child(n+10) {
  display: flex;
}
.member .post-list-wrap .btn-box {
  text-align: center;
  margin: 8rem auto 0;
}
@media screen and (max-width: 1023px) {
  .member .post-list-wrap .post-list {
    width: min(100%, 760px);
    display: flex;
    flex-wrap: wrap;
    gap: 6rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 8rem;
  }
  .member .post-list-wrap .post-list .post-item {
    position: relative;
    z-index: 0;
    width: min((100% - 6rem) / 2, 350px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: var(--white);
    transition: 0.3s all;
  }
  .member .post-list-wrap .post-list .post-item .text-box {
    width: 100%;
    padding-top: 1.6rem;
    line-height: 1.25;
    display: flex;
    padding: 2.4rem 1.6rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    align-self: stretch;
  }
}
@media screen and (max-width: 767px) {
  .member .post-list-wrap {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
  .member .post-list-wrap .post-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 8rem;
  }
  .member .post-list-wrap .post-list .post-item {
    position: relative;
    z-index: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: var(--white);
    transition: 0.3s all;
  }
  .member .post-list-wrap .post-list .post-item .text-box {
    width: 100%;
    padding-top: 1.6rem;
    line-height: 1.25;
    display: flex;
    padding: 2.4rem 1.6rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    align-self: stretch;
  }
  .member .post-list-wrap .post-list .post-item:hover::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid var(--yellow-green, #c2e300);
    pointer-events: none;
    animation: fade 0.3s ease;
  }
}

.member-detail-content {
  width: 100%;
  padding-left: 8rem;
  padding-right: 8rem;
  padding-bottom: 12rem;
}
.member-detail-content .post-main-box {
  width: min(100%, 1360px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 11rem;
}
.member-detail-content .post-main-box .member-profile {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7.5rem;
}
.member-detail-content .post-main-box .member-profile::before {
  content: "";
  width: calc(100% + 16rem);
  height: calc(100% - 14rem);
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: var(--white);
}
.member-detail-content .post-main-box .member-profile .profile-img {
  width: min(41.6666666667%, 500px);
  aspect-ratio: 500/700;
  flex-shrink: 0;
}
.member-detail-content .post-main-box .member-profile .profile-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.member-detail-content .post-main-box .member-profile .profile-txt {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.member-detail-content .post-main-box .member-profile .profile-txt .member-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.member-detail-content .post-main-box .member-profile .profile-txt .member-title span.txt-jp {
  font-size: 4.8rem;
  font-weight: 700;
}
.member-detail-content .post-main-box .member-profile .profile-txt .member-title span.txt-en {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  font-style: normal;
  font-size: 2rem;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6rem;
}
.member-detail-content .post-main-box .member-profile .profile-txt .member-title span.txt-en::before {
  content: "";
  width: 4rem;
  height: 1px;
  background: var(--black);
}
.member-detail-content .post-main-box .member-profile .profile-txt .inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
  align-self: stretch;
}
.member-detail-content .post-main-box .member-profile .profile-txt .inner .item-txt {
  font-size: 1.8rem;
}
.member-detail-content .post-main-box .member-profile .profile-txt .inner .inbox {
  display: flex;
  align-items: first baseline;
  gap: 1.6rem;
  font-weight: 700;
}
.member-detail-content .post-main-box .member-profile .profile-txt .sns-link {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}
.member-detail-content .post-main-box .member-profile .profile-txt .sns-link .link-item {
  display: flex;
  min-width: 10rem;
  padding: 0 2.4rem;
  justify-content: center;
  align-items: center;
  gap: 20px;
  color: var(--white);
  background: var(--black);
  text-align: center;
  border-radius: 5rem;
}
.member-detail-content .post-main-box .member-profile .profile-txt .sns-link .link-item:hover {
  background: var(--yellow-green);
}
.member-detail-content .post-main-box .member-profile .deco-txt-en {
  position: absolute;
  right: -8rem;
  bottom: -10rem;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20rem;
  line-height: 1;
  color: var(--white);
  mix-blend-mode: overlay;
  text-align: right;
}
.member-detail-content .post-main-box .inner-box {
  width: min(100%, 100rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
}
.member-detail-content .post-main-box .inner-box .sub-title {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 3rem;
  display: flex;
  height: 5.4rem;
  min-width: 25rem;
  padding: 0.8rem 2.4rem;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--black, #111);
}
.member-detail-content .post-main-box .inner-box p.txt {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
}
.member-detail-content .post-main-box .post-list {
  width: min(100%, 1200px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 8rem;
}
.member-detail-content .post-main-box .post-list .slick-list {
  margin-right: -7.5rem;
  overflow: hidden;
}
.member-detail-content .post-main-box .post-list .slick-track {
  width: calc(100% + 7.5rem);
  display: flex;
}
.member-detail-content .post-main-box .post-list .post-item {
  position: relative;
  z-index: 0;
  width: min(100%, 350px);
  margin-right: 7.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--white);
  transition: 0.3s all;
}
.member-detail-content .post-main-box .post-list .post-item a.block-link {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.member-detail-content .post-main-box .post-list .post-item .img-box {
  width: 100%;
  aspect-ratio: 350/250;
}
.member-detail-content .post-main-box .post-list .post-item .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.member-detail-content .post-main-box .post-list .post-item .text-box {
  width: 100%;
  padding-top: 1.6rem;
  line-height: 1.25;
  display: flex;
  padding: 2.4rem 1.6rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
  align-self: stretch;
}
.member-detail-content .post-main-box .post-list .post-item .text-box p.post-date {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.7rem;
  line-height: 1;
  margin-bottom: 0.4rem;
}
.member-detail-content .post-main-box .post-list .post-item .text-box p.post-ttl {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.member-detail-content .post-main-box .post-list .post-item .text-box p.post-work-ttl {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.member-detail-content .post-main-box .post-list .post-item:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid var(--yellow-green, #c2e300);
  pointer-events: none;
  animation: fade 0.3s ease;
}
.member-detail-content .post-main-box .post-list .post-item ul.post-tag {
  position: relative;
  z-index: 1;
  font-size: 1.2rem;
  line-height: 1.6666666667;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.member-detail-content .post-main-box .post-list .post-item ul.post-tag li {
  display: inline-block;
}
.member-detail-content .post-main-box .post-list .post-item ul.post-tag li > a {
  color: var(--white);
  padding: 0 1.6rem;
  background: var(--yellow-green);
  border-radius: 2rem;
  transition: 0.3s all;
  display: inline-block;
}
.member-detail-content .post-main-box .post-list .post-item ul.post-tag li > a:hover {
  background: var(--black);
}
.member-detail-content .btn-box {
  margin: 8rem auto 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
}
.member-detail-content .btn-box .btn-back,
.member-detail-content .btn-box .btn-next {
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--black);
  border: 1px solid var(--black);
  background: var(--white);
  font-family: "Font Awesome 6 Free";
  font-size: 1.6rem;
  font-weight: 900;
}
.member-detail-content .btn-box .btn-back:hover,
.member-detail-content .btn-box .btn-next:hover {
  color: var(--white);
  background: var(--black);
}
.member-detail-content .btn-box .btn-back::after {
  content: "\f053";
}
.member-detail-content .btn-box .btn-next::after {
  content: "\f054";
}
@media screen and (max-width: 767px) {
  .member-detail-content {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    padding-bottom: 8rem;
  }
  .member-detail-content .post-main-box {
    width: 100%;
    gap: 8rem;
  }
  .member-detail-content .post-main-box .member-profile {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 2rem;
  }
  .member-detail-content .post-main-box .member-profile::before {
    display: none;
  }
  .member-detail-content .post-main-box .member-profile .profile-img {
    width: min(63.6132315522%, 500px);
    aspect-ratio: 500/700;
    flex-shrink: 0;
  }
  .member-detail-content .post-main-box .member-profile .profile-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .member-detail-content .post-main-box .member-profile .profile-txt {
    position: relative;
    flex-grow: unset;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4rem;
    padding-bottom: 8rem;
  }
  .member-detail-content .post-main-box .member-profile .profile-txt::before {
    content: "";
    width: calc(100% + 4.8rem);
    height: calc(100% + 65.2173913043vw);
    position: absolute;
    z-index: -1;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background: var(--white);
  }
  .member-detail-content .post-main-box .member-profile .profile-txt .member-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .member-detail-content .post-main-box .member-profile .profile-txt .member-title span.txt-jp {
    font-size: 2.4rem;
    font-weight: 700;
  }
  .member-detail-content .post-main-box .member-profile .profile-txt .member-title span.txt-en {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    font-style: normal;
    font-size: 1.6rem;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
  }
  .member-detail-content .post-main-box .member-profile .profile-txt .member-title span.txt-en::before {
    content: "";
    width: 2rem;
    height: 1px;
    background: var(--black);
  }
  .member-detail-content .post-main-box .member-profile .profile-txt .inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
    align-self: stretch;
  }
  .member-detail-content .post-main-box .member-profile .profile-txt .inner .inbox {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    font-weight: 700;
  }
  .member-detail-content .post-main-box .member-profile .profile-txt .inner .inbox .item-ttl {
    font-size: 1.4rem;
    line-height: 2;
    display: flex;
    min-width: 15rem;
    padding: 0px 1.6rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    border: 1px solid var(--black, #111);
  }
  .member-detail-content .post-main-box .member-profile .profile-txt .inner .inbox .item-txt {
    font-size: 1.6rem;
    line-height: 2;
  }
  .member-detail-content .post-main-box .member-profile .deco-txt-en {
    width: 100%;
    position: relative;
    right: 0;
    bottom: 0;
    margin-top: -2rem;
    margin-right: -2.4rem;
    margin-bottom: -4rem;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 6rem;
    line-height: 1;
    color: var(--white);
    mix-blend-mode: overlay;
  }
  .member-detail-content .post-main-box .member-profile .deco-txt-en::before {
    content: "";
    width: 100vw;
    height: 100%;
    background: var(--bg-body);
    transform: translateX(-50%);
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
  }
  .member-detail-content .post-main-box .inner-box {
    width: min(100%, 100rem);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
  .member-detail-content .post-main-box .inner-box .sub-title {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 3rem;
    display: flex;
    height: 5.4rem;
    min-width: unset;
    width: min(100%, 354px);
    padding: 0.8rem 2.4rem;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--black, #111);
    margin: 0 auto;
  }
  .member-detail-content .post-main-box .inner-box p.txt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
  }
  .member-detail-content .post-main-box .post-list {
    width: min(100%, 350px);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 8rem;
  }
  .member-detail-content .post-main-box .post-list .slick-list {
    margin-right: -2.5rem;
    overflow: hidden;
  }
  .member-detail-content .post-main-box .post-list .slick-track {
    width: calc(100% + 2.4rem);
    display: flex;
  }
  .member-detail-content .post-main-box .post-list .post-item {
    position: relative;
    z-index: 0;
    width: 100%;
    margin-right: 2.4rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: var(--white);
    transition: 0.3s all;
  }
  .member-detail-content .post-main-box .post-list .post-item a.block-link {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .member-detail-content .post-main-box .post-list .post-item .img-box {
    width: 100%;
    aspect-ratio: 350/250;
  }
  .member-detail-content .post-main-box .post-list .post-item .img-box img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .member-detail-content .post-main-box .post-list .post-item .text-box {
    width: 100%;
    padding-top: 1.6rem;
    line-height: 1.25;
    display: flex;
    padding: 2.4rem 1.6rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    align-self: stretch;
  }
  .member-detail-content .post-main-box .post-list .post-item .text-box p.post-work-ttl {
    font-size: 1.8rem;
    line-height: 2;
    font-weight: 500;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .member-detail-content .post-main-box .post-list .post-item:hover::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid var(--yellow-green, #c2e300);
    pointer-events: none;
    animation: fade 0.3s ease;
  }
  .member-detail-content .post-main-box .post-list .post-item ul.post-tag {
    position: relative;
    z-index: 1;
    font-size: 1.2rem;
    line-height: 1.6666666667;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .member-detail-content .post-main-box .post-list .post-item ul.post-tag li {
    display: inline-block;
  }
  .member-detail-content .post-main-box .post-list .post-item ul.post-tag li > a {
    color: var(--white);
    padding: 0 1.6rem;
    background: var(--yellow-green);
    border-radius: 2rem;
    transition: 0.3s all;
    display: inline-block;
  }
  .member-detail-content .post-main-box .post-list .post-item ul.post-tag li > a:hover {
    background: var(--black);
  }
  .member-detail-content .btn-box {
    margin: 4rem auto 0;
    text-align: center;
    gap: 0.8rem;
  }
  .member-detail-content .btn-box .btn-nomal {
    min-width: 20rem;
    padding: 0.8rem 1.6rem;
  }
}

/*-------------------------------------------------
  ギャラリー
-------------------------------------------------*/
.gallery .gallery-content {
  padding-left: 8rem;
  padding-right: 8rem;
  padding-bottom: 15rem;
}
.gallery .gallery-content .gallery-inner {
  position: relative;
  width: min(100%, 120rem);
  min-height: 30rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .gallery .gallery-content {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    padding-bottom: 8rem;
  }
}

/*-------------------------------------------/
    フォーム共通
/-------------------------------------------*/
/* ステップ */
.progressbar {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.progressbar ul {
  position: relative;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 12rem;
}
.progressbar ul li {
  position: relative;
  list-style-type: none;
  text-align: center;
  width: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.progressbar ul li span {
  display: inline-block;
}
.progressbar ul li span.step {
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 400;
  width: 5rem;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--white);
  background: var(--black);
  border-radius: 50%;
}
.progressbar ul li span.txt {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2;
}
.progressbar ul li:not(:last-child)::after {
  position: absolute;
  z-index: -1;
  top: 2.4rem;
  left: 100%;
  content: "";
  width: 12rem;
  height: 0.2rem;
  background: var(--yellow-green);
}
.progressbar ul li.active span.step {
  background: var(--yellow-green);
}
@media screen and (max-width: 767px) {
  .progressbar ul {
    gap: 8rem;
  }
}

.form_box {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  /* レイアウト　デザイン */
  /* Wordpress組み込み後の対応 */
  /* フォームパーツ */
  /* Checkbox */
}
.form_box .form_box_in {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 4rem;
}
.form_box .form_box_in .form-parts {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.form_box .form_box_in .form-parts.w170 {
  width: 17rem;
}
.form_box .form_box_in .form-parts.w480 {
  width: min(50% - 2rem, 48rem);
}
.form_box .form_box_in .form-parts.w780 {
  width: min(100% - 21rem, 78rem);
}
.form_box .form_box_in .form-parts .fieldTitle {
  width: 100%;
  font-size: 2rem;
  line-height: 2;
  font-weight: 700;
  display: inline-flex;
  justify-content: flex-start;
  gap: 0.8rem;
}
.form_box .form_box_in .form-parts .fieldTitle::before {
  content: "●";
  color: var(--yellow-green);
}
.form_box .form_box_in .form-parts .fieldSubTitle {
  width: 12rem;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
}
.form_box .form_box_in .form-parts .input-field {
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.6;
}
.form_box .form_box_in .form-parts .input-field-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.form_box .form_box_in .form-parts .input-field-wrap .inbox {
  display: flex;
  justify-content: flex-start;
  gap: 0.7rem;
}
.form_box .form_box_in .form-parts .input-field-wrap .inbox .fieldSubTitle {
  flex-shrink: 0;
}
.form_box .form_box_in .form-parts .input-field-wrap .inbox .input-field {
  width: calc(100% - 12rem);
}
.form_box .privacy-wrap {
  width: 100%;
  border: 1px solid var(--border);
  padding: 0;
  overflow: clip;
}
.form_box .privacy-wrap .scroll-box {
  height: 25rem;
  overflow-y: scroll;
  background: #fff;
}
.form_box .privacy-wrap .privacy-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding: 5rem 4.5rem;
}
.form_box .privacy-wrap .privacy-box .title-center span.txt-en {
  font-size: 2.4rem;
}
.form_box .privacy-wrap .privacy-box .title-center span.txt-jp {
  font-size: 2.8rem;
}
.form_box .privacy-wrap .privacy-box h4 {
  font-size: 2.4rem;
  font-weight: 700;
}
.form_box .privacy-wrap .privacy-box .inbox h4 {
  color: var(--yellow-green);
}
.form_box .privacy-wrap .privacy-box .inbox .info {
  text-align: right;
}
.form_box .form_box_bottom .agree_check {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
  margin: 1rem auto 0;
}
.form_box .form_box_bottom .agree_check label {
  display: flex;
  justify-content: flex-starts;
  align-items: center;
  cursor: pointer;
}
.form_box .form_box_bottom .agree_check label span {
  display: inline-block;
  margin-left: 0.5em;
}
.form_box .btn-area {
  display: flex;
  margin: 8rem auto 0;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 2.4rem;
}
.form_box .btn-area .btn-back {
  position: absolute;
  font-size: 2.4rem;
  right: 110%;
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  text-align: center;
  gap: 0.5em;
  background: transparent;
  border: none;
  cursor: pointer;
}
.form_box .btn-area .btn-back > span {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  gap: 0.5em;
}
.form_box .btn-area .btn-back > span::before {
  font-family: "Font Awesome 6 Free";
  font-size: 1.6rem;
  font-weight: 900;
  content: "\f053";
  width: 5rem;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--black);
  background: var(--white);
  border-radius: 50%;
  border: 1px solid var(--black);
  transition: 0.3s all;
}
.form_box .btn-area .btn-back:hover > span::before {
  color: var(--white);
  background: var(--orange);
  border: 1px solid var(--orange);
}
.form_box .btn-area .btn-submit,
.form_box .btn-area .btn-toppage {
  position: relative;
  font-size: 2.4rem;
  line-height: 1;
  text-align: center;
  display: flex;
  width: 48rem;
  height: 8rem;
  min-width: 32rem;
  padding: 1.6rem 2.4rem;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  color: var(--white);
  border-radius: 5rem;
  background: var(--orange, #e34800);
  margin: 0 auto;
  transition: 0.3s all;
  border: 1px solid var(--orange);
}
.form_box .btn-area .btn-submit::after,
.form_box .btn-area .btn-toppage::after {
  font-family: "Font Awesome 6 Free";
  font-size: 1.2rem;
  font-weight: 900;
  content: "\f054";
  position: absolute;
  right: 2.4rem;
}
.form_box .btn-area .btn-submit:hover,
.form_box .btn-area .btn-toppage:hover {
  background: var(--yellow-green);
}
.form_box form {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.form_box input,
.form_box select,
.form_box textarea {
  font-family: var(--font-noto);
  background-color: #fff;
  border: 1px solid var(--border);
  padding: 0.8rem 1.6rem;
}
.form_box input[type=text] {
  width: 100%;
}
.form_box input[type=text]#job-other {
  width: 19rem;
}
.form_box input[type=text]#job-change {
  width: 7rem;
}
.form_box input[type=text].sns-field {
  width: 25rem;
}
.form_box input#job-change {
  width: 7rem;
}
.form_box input[type=email] {
  width: 100%;
}
.form_box input[type=text]:focus,
.form_box input[type=email]:focus {
  outline: solid 1px var(--yellow-green);
}
.form_box input[type=hidden] {
  display: none;
}
.form_box textarea {
  line-height: 1.6;
  width: 100%;
  height: 20rem;
}
.form_box textarea:focus {
  outline: solid 1px var(--yellow-green);
}
.form_box span.mandatory {
  color: var(--orange);
}
.form_box .check_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 3.5rem;
}
.form_box .check_group span.mwform-checkbox-field.horizontal-item,
.form_box .check_group .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.form_box .check_group label {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0.5em 0;
}
.form_box .check_group label input[type=checkbox] {
  flex-shrink: 0;
}
.form_box .form-parts .sns_group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 5rem;
}
.form_box .form-parts .sns_group .input-field {
  width: 30rem;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
}
.form_box .form-parts .sns_group .input-field span {
  display: inline-block;
}
.form_box .form-parts .sns_group .input-field span.icon {
  width: 3rem;
}
.form_box input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance: none;
  position: relative;
  right: 0;
  bottom: 0.15em;
  left: 0;
  height: 1.5em;
  width: 1.5em;
  transition: all 0.15s ease-out 0s;
  color: #fff;
  background: #fff;
  cursor: pointer;
  display: inline-block;
  border: 1px solid var(--border);
  border-radius: 10%;
  padding: 0;
}
.form_box input[type=checkbox]:before,
.form_box input[type=checkbox]:after {
  position: absolute;
  content: "";
  transition: all 0.2s ease-in-out;
}
.form_box input[type=checkbox]:before {
  left: 0.375em;
  top: -0.25em;
  width: 0;
  height: 0.125em;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
.form_box input[type=checkbox] {
  height: 1.5em;
  width: 1.5em;
  background: #fff;
  margin-right: 0.5em;
  bottom: 0;
}
.form_box input[type=checkbox].agree {
  bottom: 0;
  border: 1px solid var(--border);
}
.form_box input[type=checkbox].agree:checked:before {
  left: 0.375em;
  width: 0.75em;
  height: 1.25em;
}
.form_box input[type=checkbox]:hover {
  background: #fff;
  border: 1px solid var(--border);
}
.form_box input[type=checkbox]:checked {
  background: #fff;
  border: 1px solid var(--border);
}
.form_box input[type=checkbox]:checked:before {
  left: 0.375em;
  top: -0.25em;
  width: 0.75em;
  height: 1.25em;
  border: 0.1875em solid var(--black);
  border-width: 0 0.1875em 0.1875em 0;
  transform: rotate(45deg);
  background: transparent;
}
@media screen and (max-width: 767px) {
  .form_box {
    /* フォームパーツ */
  }
  .form_box .form_box_in {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 2.4rem;
  }
  .form_box .form_box_in .form-parts {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .form_box .form_box_in .form-parts.w170 {
    width: 100%;
  }
  .form_box .form_box_in .form-parts.w480 {
    width: 100%;
  }
  .form_box .form_box_in .form-parts.w780 {
    width: 100%;
  }
  .form_box .form_box_in .form-parts .fieldTitle {
    width: 100%;
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 700;
    display: inline-flex;
    justify-content: flex-start;
    gap: 0.4rem;
  }
  .form_box .form_box_in .form-parts .fieldTitle::before {
    content: "●";
    color: var(--yellow-green);
  }
  .form_box .form_box_in .form-parts .fieldSubTitle {
    width: 100%;
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 700;
  }
  .form_box .form_box_in .form-parts .input-field-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  .form_box .form_box_in .form-parts .input-field-wrap .inbox {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.4rem;
  }
  .form_box .form_box_in .form-parts .input-field-wrap .inbox .fieldSubTitle {
    flex-shrink: 0;
  }
  .form_box .form_box_in .form-parts .input-field-wrap .inbox .input-field {
    width: 100%;
  }
  .form_box .privacy-wrap {
    width: 100%;
    border: 1px solid var(--border);
    padding: 0;
    overflow: clip;
  }
  .form_box .privacy-wrap .scroll-box {
    height: 25rem;
    overflow-y: scroll;
    background: #fff;
  }
  .form_box .privacy-wrap .privacy-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding: 2rem;
  }
  .form_box .privacy-wrap .privacy-box .title-center {
    margin-bottom: 0.8rem;
  }
  .form_box .privacy-wrap .privacy-box .title-center span.txt-en {
    font-size: 1.6rem;
  }
  .form_box .privacy-wrap .privacy-box .title-center span.txt-jp {
    font-size: 2rem;
  }
  .form_box .privacy-wrap .privacy-box h4 {
    font-size: 1.8rem;
    font-weight: 700;
  }
  .form_box .privacy-wrap .privacy-box p {
    font-size: 1.4rem;
    text-align: justify;
  }
  .form_box .privacy-wrap .privacy-box .inbox h4 {
    color: var(--yellow-green);
  }
  .form_box .privacy-wrap .privacy-box .inbox .info {
    text-align: right;
  }
  .form_box .form_box_bottom .agree_check {
    font-size: 1.6rem;
  }
  .form_box .btn-area {
    font-size: 1.8rem;
    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: space-around;
    position: relative;
  }
  .form_box .btn-area .btn-back {
    right: 105%;
    font-size: 1.6rem;
  }
  .form_box .btn-area .btn-submit {
    position: relative;
    font-size: 1.6rem;
    line-height: 1;
    text-align: center;
    display: flex;
    width: 16rem;
    height: 6rem;
    min-width: 16rem;
    padding: 0.8rem 1.6rem;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    color: var(--white);
    border-radius: 5rem;
    background: var(--orange, #e34800);
    margin: 0 auto;
    transition: 0.3s all;
  }
  .form_box .btn-area .btn-submit::after {
    font-family: "Font Awesome 6 Free";
    font-size: 1.2rem;
    font-weight: 900;
    content: "\f054";
    position: absolute;
    right: 2.4rem;
  }
  .form_box .btn-area .btn-submit:hover {
    background: var(--yellow-green);
  }
  .form_box input,
  .form_box select,
  .form_box textarea {
    font-family: var(--font-noto);
    background-color: #fff;
    border: 1px solid var(--border);
    padding: 0.8rem 1.6rem;
  }
  .form_box input[type=text] {
    width: 100%;
  }
  .form_box input[type=text]#job-other {
    width: 19rem;
  }
  .form_box input[type=text]#job-change {
    width: 7rem;
  }
  .form_box input[type=text].sns-field {
    width: 25rem;
    flex-grow: 1;
  }
  .form_box input[type=email] {
    width: 100%;
  }
  .form_box textarea {
    line-height: 1.6;
    width: 100%;
    height: 20rem;
  }
  .form_box .check_group {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0 4rem;
  }
  .form_box .check_group label {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0.5em 0;
  }
  .form_box .check_group label input[type=checkbox] {
    flex-shrink: 0;
  }
  .form_box .form-parts .sns_group {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1.6rem;
  }
  .form_box .form-parts .sns_group .input-field {
    width: 100%;
    flex-grow: 1;
    display: inline-flex;
    align-items: center;
    gap: 1rem;
  }
  .form_box .form-parts .sns_group .input-field span {
    display: inline-block;
  }
  .form_box .form-parts .sns_group .input-field span.icon {
    width: 3rem;
    flex-shrink: 0;
  }
}

/*-------------------------------------------------
  エントリー
-------------------------------------------------*/
.entry p.leadTxt,
.entry-confirm p.leadTxt,
.entry-complete p.leadTxt {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
  text-align: center;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 767px) {
  .entry p.leadTxt,
  .entry-confirm p.leadTxt,
  .entry-complete p.leadTxt {
    font-size: 1.6rem;
    text-align: left;
    margin-bottom: 1.6rem;
  }
}

#entry-form {
  padding-left: 8rem;
  padding-right: 8rem;
  padding-bottom: 16rem;
}
#entry-form .box-wrap {
  position: relative;
  width: min(100%, 100rem);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #entry-form {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    padding-bottom: 8rem;
  }
}

/* 確認画面 */
.entry-confirm .form_box .form-parts {
  width: 100%;
  margin: 0;
}
.entry-confirm .form_box .form-parts .input-field {
  padding: 0.8rem 2.4rem;
}
.entry-confirm .form_box .form_box_bottom {
  width: 100%;
  margin: 4rem auto 0;
}
@media screen and (max-width: 767px) {
  .entry-confirm .form_box .btn-area {
    justify-content: space-around;
    margin: 8rem auto 0;
  }
  .entry-confirm .form_box .btn-area .btn-back {
    margin: 0;
  }
  .entry-confirm .form_box .btn-area .btn-submit {
    margin: 0;
  }
}

/* 完了メッセージ */
.entry-complete .thanks-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
.entry-complete .thanks-message h3 {
  font-size: 3rem;
  font-weight: 700;
}
.entry-complete .thanks-message p {
  font-size: 1.8rem;
  text-align: center;
  line-height: 1.7;
}
.entry-complete .thanks-message a.txt-link {
  display: inline;
  text-decoration: underline;
}
.entry-complete .btn-area {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .entry-complete .thanks-message h3 {
    font-size: 2rem;
  }
  .entry-complete .thanks-message p {
    font-size: 1.4rem;
    line-height: 2;
  }
  .entry-complete .btn-area {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0 auto;
  }
}

.btn-black {
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  background: #000;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 3.5em;
  padding-right: 2em;
  border-radius: 2em;
  transition: 0.3s all;
  border: 1px solid #000;
}
.btn-black span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 1.5em;
}
.btn-black span::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg);
}
.btn-black:hover {
  color: #000;
  background: #fff;
  transition: 0.3s all;
}
.btn-black:hover span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 1.5em;
}
.btn-black:hover span::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .btn-black {
    font-size: 3rem;
  }
}

/*-------------------------------------------------
  アニメーション
-------------------------------------------------*/
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
.textAnime,
.textAnime-toRight {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  filter: blur(0);
}/*# sourceMappingURL=style.css.map */