@charset "UTF-8";
/* ------------------------------ */
/* 全体共通のスタイル */
/* ------------------------------ */
* {
  box-sizing: border-box;
}
html {
  background-color: #fff;
}
section {
}
body,
a {
  line-height: 1.4;
  font-weight: 700;
  font-size: 16px;
  color: #353535;
  font-family: "Zen Kaku Gothic New", "Inter", sans-serif;
}
img {
  width: 100%;
}
hr {
  margin: 0;
  background: #000;
}
span.ib {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 18px;
  }
}
.inter {
  font-family: "Inter";
}
.h2__top {
  max-width: 1500px;
  width: 95%;
  margin: 5% auto;
  z-index: 2;
}

h2 .en {
  position: relative;
  font-family: "Inter";
  font-size: clamp(50px, 6vw, 100px);
  font-weight: 600;
  line-height: 1;
  z-index: 1;
}
h2 .en:first-child span {
  line-height: normal;
}
h2 .jp {
  position: relative;
  font-size: clamp(18px, 3vw, 30px);
  font-weight: 500;
  z-index: 1;
}
@media screen and (min-width: 900px) {
  .h2__top {
    display: flex;
    gap: 2rem;
    align-items: center;
  }
}
.h2__page {
  position: relative;
  max-width: 1500px;
  width: fit-content;
  margin: 5% auto;
  text-align: center;
  font-size: clamp(24px, 5vw, 45px);
  z-index: 2;
}
.h2__page::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 00%;
  border-bottom: 3px solid #bc002d;
  transition: 0.5s ease-in-out;
}
.h2__page.show::before {
  width: 100%;
}
.color_red {
  color: #bc002d;
}
.color_red1 {
  color: #990000;
}
.color_red2 {
  color: #660000;
}
.color_white {
  color: #fff;
}
.color_lightgrey {
  color: #f3f3f3;
}
.color_darkgrey {
  color: #353535;
}
.color_black {
  color: #000;
}
.weight_regular {
  font-weight: 400;
}
.weight_medium {
  font-weight: 500;
}
.weight_semibold {
  font-weight: 600;
}
.weight_bold {
  font-weight: 700;
}
.weight_extrabold {
  font-weight: 800;
}
.weight_black {
  font-weight: 900;
}

.br-500 {
  display: block;
}

.br-700 {
  display: block;
}
@media screen and (min-width: 500px) {
  .br-500 {
    display: none;
  }
}
@media screen and (min-width: 700px) {
  .br-700 {
    display: none;
  }
}
/*＞の字ボタン*/
.arrow {
  position: absolute;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
  top: 50%;
  right: 0;
}
.arrow::before,
.arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1.5em;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 0.8em;
  height: 0.8em;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.btn {
  display: block;
  position: relative;
  max-width: 300px;
  width: fit-content;
  border-radius: 50px;
  background: #fff;
  border: #bc002d solid 2px;
  padding: 0.5rem 3rem 0.5rem 2rem;
  font-size: clamp(16px, 3vw, 20px);
  text-align: center;
  margin: 0 auto;
  height: fit-content;
  align-self: center;
  text-wrap: nowrap;
  line-height: 1.75;
}
.btn .arrow::before,
.btn .arrow::after {
  border-top: 2px solid #bc002d;
  border-right: 2px solid #bc002d;
}
.red-btn {
  margin: 0 auto;
  text-align: center;
  background: #bc002d;
  z-index: 3;
}
.red-btn .arrow::before,
.red-btn .arrow::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
@media screen and (min-width: 700px) {
  .btn__wrap:hover .white-btn {
    border: #fff solid 2px;
    background: #bc002d;
    color: #fff;
  }
  .btn__wrap:hover .red-btn {
    border: #bc002d solid 2px;
    background: #fff;
    color: #bc002d;
  }
  .btn__wrap:hover .arrow {
    right: -1rem;
    transition: ease-in-out 0.3s;
  }
  .btn__wrap:hover .white-btn .arrow::before,
  .btn__wrap:hover .white-btn .arrow::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  .btn__wrap:hover .red-btn .arrow::before,
  .btn__wrap:hover .red-btn .arrow::after {
    border-top: 2px solid #bc002d;
    border-right: 2px solid #bc002d;
  }
}

.btn2 {
  max-width: 480px;
  background: #bc002d;
  font-size: clamp(14px, 2vw, 34px);
}
.btn2 .arrow::before,
.btn2 .arrow::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

@media screen and (min-width: 700px) {
  .btn2:hover {
    opacity: 0.8;
  }
  .btn2 .arrow::before,
  .btn2 .arrow::after {
    right: 2rem;
    left: unset;
  }
  .btn2:hover .arrow::before,
  .btn2:hover .arrow::after {
    right: 1rem;
    transition: ease-in-out 0.3s;
  }
}
/*丸矢印*/
.btn3 {
  position: relative;
  display: block;
  border: #fff solid 2px;
  border-radius: 10px;
  width: fit-content;
  padding: 0.8rem 8rem 0.8rem 7rem;
  margin: 0 auto;
  font-size: 21px;
  z-index: 1;
  max-width: 450px;
  width: 90%;
}
.btn3::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0.3;
}
.arrow-right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.5em;
  margin-left: 0.8em;
  transform-origin: top;
}
.btn3:hover .arrow-right {
  scale: 1.1;
  transition: ease-in-out 0.3s;
}
@media screen and (min-width: 700px) {
  .btn3 {
    font-size: 29px;
  }
  .arrow-right {
    width: 1.3em;
  }
}
/*丸矢印*/
.btn4 {
  position: relative;
  display: block;
  border: #fff solid 3px;
  background: #bc002d;
  border-radius: 100px;
  width: fit-content;
  padding: 0.4em 3em 0.4em 1em;
  font-size: clamp(21px, 3vw, 45px);
  z-index: 1;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.25);
  margin: 10px auto;
}

.btn4:hover .arrow-right {
  scale: 1.1;
  transition: ease-in-out 0.3s;
}

@media screen and (min-width: 700px) {
}
.btn5 {
  background: #fff;
  border: #bc002d solid 3px;
}

/*下から上へ1文字ずつ表示*/
.anime-up {
  opacity: 0;
}
.anime-up.displayed {
  opacity: 1;
}
.anime-up.displayed span {
  animation: showText 1s backwards;
  display: inline-block;
}
.anime-up.displayed > span {
  overflow: hidden;
}
.anime-up.displayed > span > span {
  animation: showTextFromBottom 0.5s backwards;
  display: inline-block;
}
@keyframes showTextFromBottom {
  0% {
    transform: translateY(100%);
    opacity: 1;
  }
  100% {
    transform: translateY(0px);
  }
}
/*フェードイン*/
.anime-feedin {
  opacity: 0;
}
.displayed2 {
  animation: fadeIn 1s forwards;
  animation-delay: 0.5s;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*文字ループアニメ*/
.looptext__wrap {
  position: relative;
}
.looptext__wrapper {
  position: absolute;
  display: flex;
  overflow: hidden;
  left: 0%;
  width: 100%;
  line-height: 1;
  top: 30%;
}
.looptext__wrapper.color_red {
  opacity: 0.3;
}
.looptext {
  flex: 0 0 auto;
  font-size: clamp(65px, 10vw, 150px);
  opacity: 0.6;
  white-space: nowrap;
}

@keyframes looptext {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes looptext2 {
  0% {
    transform: translateX(-200%);
  }
  100% {
    transform: translateX(0);
  }
}
/*スライドインアニメ*/
.slidein {
  transition: 0.8s ease-in-out;
}

.slide_left {
  transform: translateX(200%);
}
.slide_right {
  transform: translateX(-200%);
}
.slidein.show {
  transform: translate(0, 0);
}
/*アイソメ*/
.anime-isometric img {
  transform: translateY(-50%);
  opacity: 0;
}
.anime-isometric.show img {
  transform: translate(0, 0);
  opacity: 1;
}
/*スケール0→1アニメ*/
.anime-scaleup {
  scale: 0;
  transition: ease-in-out 0.8s;
}
.anime-scaleup.show {
  scale: 1;
}
.worries__wrap .anime-scaleup {
  transform-origin: right bottom;
}
@media screen and (min-width: 900px) {
  .worries__right .anime-scaleup {
    transform-origin: left bottom;
  }
}
/* ------------------------------ */
/* header */
/* ------------------------------ */
header {
  position: fixed;
  position: -webkit-fixed;
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 2px 20px;
  width: 100%;
  background: #fff;
  z-index: 100;
}

/*ロゴ周辺*/
.header__logo {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: 70px;
  padding: 10px 10px 10px 20px;
  background: #fff;
  z-index: 100;
}
.header__deco {
  position: absolute;
  left: 113px;
  bottom: -36px;
  height: 100%;
  z-index: 1;
}
.header__deco img {
  height: 34px;
  width: auto;
}

@media screen and (min-width: 500px) {
  header {
    padding: 10px 20px;
  }
  .header__logo {
    height: 110px;
    padding: 20px 10px 20px 20px;
  }
  .header__deco {
    left: 146px;
    bottom: -52px;
    height: 100%;
    z-index: 1;
  }
  .header__deco img {
    height: 58px;
  }
}
@media screen and (min-width: 1000px) {
  .header__logo {
    height: 140px;
    padding: 30px 10px 30px 20px;
  }
  .header__deco {
    left: 163px;
    bottom: -78px;
    height: 100%;
    z-index: 1;
  }
  .header__deco img {
    height: 62px;
  }
}
@media screen and (min-width: 1200px) {
  header {
    padding: 0.5rem 2rem;
  }
  .header__logo {
    height: 186px;
    padding: 30px 10px 30px 30px;
  }
  .header__deco {
    left: 249px;
    bottom: -74px;
    height: 100%;
    z-index: 1;
  }
  .header__deco img {
    height: 112px;
  }
}
/*ナビゲーション*/
.header__list {
  display: flex;
  margin: 0;
  padding: 0;
}
.header__list__inner {
  display: flex;
}
.header__list-item {
  position: relative;
  align-content: center;
}
.dropdown__button {
  position: relative;
}
.header__list-link {
  display: block;
  padding: 10px 0.8em;

  font-size: 16px;
}

.header__list-link:hover {
  filter: opacity(0.8);
}

.header__list-link.service:hover {
  filter: unset;
}
@media screen and (min-width: 1000px) {
  .header__list-link {
    font-size: 13px;
  }
}
@media screen and (min-width: 1200px) {
  .header__list-link {
    font-size: 14px;
  }
}
/*サービス紹介　ドロップダウンメニュー*/
.dropdown__lists {
  display: none;
  width: fit-content;
  position: absolute;
  transform: translateX(-50%);
  top: 50px;
  left: 50%;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
  background-color: #fff;
  border-radius: 5px;
  text-wrap: nowrap;
}

.dropdown__list {
  transition: all 0.3s;
  position: relative;
}

.dropdown__list a {
  display: flex;
  align-items: center;
  color: #bc002d;
  text-decoration: none;
  position: relative;
  padding: 0;
  margin: 1em;
}
.dropdown__button-inner {
  display: flex;
  align-items: center;

  width: 100%;
  position: relative;
}
.dropdown__arrow {
  display: inline-block;
  width: 1em;
  height: 1em;
  position: relative;
}
.dropdown__arrow::after {
  position: absolute;
  content: "";
  top: 45%;
  right: 1em;
  width: 0.4em;
  height: 0.4em;
  transform: translateY(-50%);
  border-right: 1px solid #bc002d;
  border-bottom: 1px solid #bc002d;
  border-color: #bc002d;
  rotate: 45deg;
}
@media screen and (min-width: 1000px) {
  .header__list-item:hover .dropdown__lists {
    display: block;
  }

  .header__list-item:hover .dropdown__arrow::after {
    top: 50%;
    border-right: 0;
    border-bottom: 0;
    border-top: 1px solid #bc002d;
    border-left: 1px solid #bc002d;
  }
}
/*採用ボタン*/
.btn__naname {
  display: flex;
  align-items: center;
  border: 4px solid #bc002d;
  border-radius: 10px;
  padding: 0;
  font-size: 18px;
  height: 58px;
  margin-right: 0;
}
.btn__naname__text {
  background: #bc002d;
  align-content: center;
  height: 50px;
  padding: 0 0.5em;
}
.btn__naname__shikiri {
  top: 0;
  border-left: 1rem solid #bc002d;
  border-bottom: 50px solid transparent;
}
.btn__naname__sankaku {
  height: 50px;
  background: #fff;
  align-content: center;
  margin: 0 0.5rem 0 0;
}
@media screen and (min-width: 900px) {
  .btn__naname {
    font-size: 15px;
  }
}
@media screen and (min-width: 1200px) {
  .btn__naname {
    font-size: 18px;
  }
}
/*立体回転アニメ*/

.cube {
  width: 30px;
  height: 50px;
  position: relative;
  transform-style: preserve-3d;
  transform: translateZ(-25px);
  transition: transform 0.2s ease-out;
}

.btn__naname:hover .cube {
  transform: translateZ(-25px) rotateY(90deg);
}

.cube__face {
  position: absolute;
  width: 30px;
  top: 0;
  height: 50px;

  text-align: center;
}
.sankaku {
  display: inline-block;
  position: relative;
  height: 50px;
}
.sankaku::before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  left: -0.3em;
  border-left: 0.8em solid #bc002d;
  border-top: 0.6em solid transparent;
  border-bottom: 0.6em solid transparent;
}
.footer__btn .sankaku::before {
  border-left: 0.8em solid #fff;
}
.cube__face--front {
  transform: translateZ(25px);
}
.cube__face--top {
  transform: rotateY(-90deg) translateZ(25px);
}

@media screen and (min-width: 1200px) {
}
/*ハンバーガーメニューの内容*/

@media screen and (max-width: 999px) {
  .hamburger-menu__list {
    background-color: #fff;
    align-items: flex-start;
    display: flex;
    flex-direction: column;

    padding: 2rem;
    position: absolute;
    transform: translateX(-100%);
    transition: 0.3s;
    left: 0;
    top: 100%;
    width: 100%;
    z-index: 10;
    height: 100vh;
    gap: 5px;
  }

  .hamburger-menu__list .header__list-item:last-child {
    margin-top: 10px;
  }
  #hamburger:checked ~ .hamburger-menu__list {
    transform: translateY(0%);
    transition: 0.3s;
  }
  .header__list__inner {
    display: block;
    width: fit-content;
    margin: 0 auto;
  }
}
/*サービス紹介*/
@media screen and (max-width: 999px) {
  .dropdown__lists {
    position: relative;
    transform: unset;
    top: unset;
    left: unset;
    box-shadow: unset;
    width: unset;
  }
  .dropdown__lists a {
    padding: 0.3em 0;
    font-size: 14px;
    margin: 0 1em;
  }
  .header__list-link.service {
    padding-right: 1em;
  }

  #dropdown1:checked + label + .dropdown__lists,
  #dropdown2:checked + label + .dropdown__lists {
    display: block;
    margin: 0 auto;
  }

  #dropdown1:checked + label .dropdown__arrow::after,
  #dropdown2:checked + label .dropdown__arrow::after {
    top: 50%;
    border-right: 0;
    border-bottom: 0;
    border-top: 1px solid #bc002d;
    border-left: 1px solid #bc002d;
  }
}
/*ハンバーガーメニューのボタン*/
.hamburger-menu__input {
  display: none;
}
.hamburger-menu__button {
  display: none;
}

@media screen and (max-width: 999px) {
  .hamburger-menu__button {
    align-items: center;
    appearance: none;
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 5px;
    height: 32px;
    justify-content: center;
    width: 32px;
  }
}

.hamburger-menu__button-mark {
  background-color: #bc002d;
  display: block;
  height: 2px;
  transition: 0.3s;
  width: 23px;
}

@media screen and (max-width: 999px) {
  #hamburger:checked
    ~ .hamburger-menu__button
    .hamburger-menu__button-mark:nth-of-type(1) {
    transform: translate(2px, 1px) rotate(45deg);
    transform-origin: 0%;
  }
  #hamburger:checked
    ~ .hamburger-menu__button
    .hamburger-menu__button-mark:nth-of-type(2) {
    opacity: 0;
  }
  #hamburger:checked
    ~ .hamburger-menu__button
    .hamburger-menu__button-mark:nth-of-type(3) {
    transform: translate(2px, 3px) rotate(-45deg);
    transform-origin: 0%;
  }
}

/* ------------------------------ */
/* footer */
/* ------------------------------ */
footer {
  background: #bc002d;
  padding-block: 50px;
  overflow: hidden;
}

.footer__wrap {
  width: 90%;
  margin: 0 auto;
}
.footer__logo__wrap {
  text-align: center;
  max-width: 350px;
  margin: 0 auto;
}
.footer__logo {
  display: inline-block;
  margin-bottom: 50px;
  width: 60%;
  text-align: center;
}
.footer__navi {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  gap: 15%;
}
.footer__navi__left,
.footer__navi__right {
  width: fit-content;
}
.footer__navi__list {
  margin: 1rem 0;
  line-height: 1;
}

.footer__navi__listitem {
  font-size: clamp(14px, 2vw, 20px);
}
.footer__navi__service-item {
  margin: 0.5em 0;
}
.footer__navi__service-item a {
  font-size: clamp(12px, 1.8vw, 18px);
}
.footer__btn {
  display: block;
  width: fit-content;
  margin: 20px auto;
}
.footer__btn .btn__naname {
  border: 4px solid #fff;
  font-size: 18px;
}
.footer__btn .btn__naname__text {
  background: #fff;
}
.footer__btn .btn__naname__shikiri {
  border-left: 1rem solid #fff;
  border-bottom: 50px solid transparent;
}
.footer__btn .btn__naname__sankaku {
  background: #bc002d;
}
.footer__btn .btn {
  background: #fff;
  font-size: 16px;
  padding: 0.5rem 5rem 0.5rem 4rem;
}
.footer__btn.btn__wrap {
  margin-top: 20px;
}
.footer__navi__list a:hover {
  opacity: 0.8;
}
@media screen and (min-width: 800px) {
  .footer__wrap {
    display: flex;
    justify-content: space-between;
  }
  .footer__navi__wrap {
    display: flex;
    min-width: 50%;
  }
  .footer__logo__wrap {
    width: 25%;
    max-width: 280px;
    align-content: center;
    margin-left: 0;
  }
  .footer__logo {
    width: 100%;
  }
  .footer__navi {
    justify-content: space-around;
    gap: 5%;
    width: 100%;
    margin: unset;
  }
  .footer__navi__right,
  .footer__navi__left {
    width: unset;
  }
  .footer__navi__list {
    margin: 1.5rem 1rem;
    text-wrap: nowrap;
  }
  .footer__navi__listitem,
  .footer__navi__service-item a {
    font-weight: 500;
  }
  .footer__btn {
    margin-bottom: 40px;
  }
  .footer__btn .btn {
    font-size: 20px;
    padding: 0.5rem 3rem 0.5rem 2rem;
  }
}
/* ------------------------------ */
/* mainvisual */
/* ------------------------------ */
#mainvisual {
  position: relative;
  overflow-x: clip;
  height: 100vh;
  background: #bc002d;
  padding-top: 50px;
  padding-bottom: 150px;
  animation: top-opacity-anime ease-in-out 1s;
}
@keyframes top-opacity-anime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media screen and (min-width: 1000px) {
  #mainvisual {
    padding-bottom: 150px;
  }
}
/*メインテキスト*/
.mainvisual__text-wrap {
  position: absolute;
  bottom: 15%;
  left: 5%;
  z-index: 2;
}
.mainvisual__text1 {
  font-size: clamp(70px, 10vw, 168px);
  line-height: 1;
}
.mainvisual__text2 {
  font-size: clamp(22px, 3vw, 40px);
}
@media screen and (min-width: 1000px) {
  .mainvisual__text-wrap {
    bottom: 8%;
  }
}
@media screen and (min-width: 1000px) {
  .mainvisual__text-wrap {
    left: 10%;
  }
}
/**/

/*メイン画像アニメ*/
.loop__wrap {
  position: absolute;
  display: flex;
  overflow: hidden;
  transform: translateY(-50%);
  top: 50%;
}
.loop__wrap-img {
  display: flex;
  margin: 3% 0;
}
.loop__wrap img {
  width: auto;
  height: 40vh;
  margin: 30px 0;
  scale: 1.2;
}
@media screen and (min-width: 1000px) {
  .loop__wrap {
    position: relative;
  }
  .loop__wrap img {
    height: 50vh;
  }
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.loop__wrap .loop__wrap-img.img1 {
  animation: loop 40s -20s linear infinite;
}

.loop__wrap .loop__wrap-img.img2 {
  animation: loop2 40s linear infinite;
}
/*上下から三角をスライドイン*/
.mainvisual__sankaku-right {
  position: absolute;
  right: 0;
  top: 195%;
  height: 300vh;
  border-right: 90vh solid #bc002d;
  border-top: 300vh solid transparent;
  z-index: 0;
  transform: translate(0, 0);
  /*transform: translate(-100%, 100%);
  animation: slide-top 1s forwards;
  animation-delay: 1s;*/
}
.mainvisual__sankaku-left {
  position: absolute;
  left: 0;
  top: 0;
  border-left: 14vh solid #bc002d;
  border-bottom: 54vh solid transparent;
  z-index: 0;
  transform: translate(0, 0);
  /*transform: translate(100%, -100%);
  animation: slide-bottom 1s forwards;
  animation-delay: 1s;*/
}

@keyframes slide-top {
  0% {
    transform: translate(-100%, 100%);
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes slide-bottom {
  0% {
    transform: translate(100%, -100%);
  }
  to {
    transform: translate(0, 0);
  }
}
@media screen and (min-width: 1000px) {
  .mainvisual__sankaku-right {
    top: 50%;
  }
  .mainvisual__sankaku-left {
    border-left: 30vh solid #bc002d;
    border-bottom: 111vh solid transparent;
  }
}
/* ------------------------------ */
/* about us */
/* ------------------------------ */
#about {
  position: relative;
  padding-block: 50px;
  overflow: hidden;
}
@media screen and (min-width: 700px) {
  #about {
    padding-block: 100px;
  }
}
.about__wrap {
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
}
.about__title {
  position: relative;
  z-index: 2;
  font-size: clamp(48px, 10vw, 100px);
  line-height: 1;
  margin: 5% 0;
}
.about__text {
  position: relative;
  z-index: 2;
  font-size: clamp(16px, 2.5vw, 25px);
  margin: 20px auto;
  line-height: 188%;
}

.about__img {
  width: 100%;
  margin: -50px 0 0 5%;
  z-index: 1;
  position: relative;
}
@media screen and (min-width: 700px) {
  .about__img {
    width: 60%;
    max-width: 650px;
    position: absolute;
    right: 0;
    bottom: 5%;
  }
  .about__text {
    font-size: clamp(14px, 2vw, 25px);
  }
  .about__text br.sp {
    display: none;
  }
}
@media screen and (min-width: 1000px) {
}
/* ------------------------------ */
/* news */
/* ------------------------------ */
#news {
  position: relative;
  padding-block: 50px;
}
@media screen and (min-width: 700px) {
  #news {
    padding-block: 100px;
  }
}
.news__wrap {
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
}
.news__article__wrap {
  position: relative;
  display: flex;

  gap: 5%;
  padding: 1rem 3%;
}
.news__article__wrap:hover .news__article__date,
.news__article__wrap:hover .news__article__title {
  color: #484848;
}
.btn__wrap {
  margin-top: 30px;
}
@media screen and (min-width: 700px) {
  .news__article__wrap .arrow {
    right: 2rem;
  }
  .news__article__wrap:hover .arrow {
    right: 1rem;
    transition: ease-in-out 0.3s;
  }
}
/* ------------------------------ */
/* service */
/* ------------------------------ */
#service {
  position: relative;
  padding-block: 50px;
  background: #bc002d;
  overflow: visible;
}
#service .looptext {
  color: #f3f3f3;
  opacity: 0.4;
}
@media screen and (min-width: 700px) {
  #service {
    padding-block: 100px;
  }
}
.service__wrap {
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
}
.service__textbox1 {
  font-size: clamp(22px, 5vw, 45px);
}
.service__flexbox {
  margin: 20px auto;
}
.service__flexbox__left {
  font-size: clamp(38px, 5vw, 82px);
  text-align: center;
  margin: 10px auto;
  text-wrap: nowrap;
}
.service__flexbox__right {
  font-size: 18px;
  text-align: center;
  margin: 10px auto;
}
.service__flexbox__imgbox {
  position: relative;
  margin: 0 auto;
  width: 70%;
  height: fit-content;
}

.service__circle {
  width: 75%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #fff;
  margin: 0 auto;
}
.service__flexbox__imgbox img {
  position: absolute;
  max-width: 100%;
}

.service__anime__img {
  /*土台*/
  width: 90%;
  bottom: 5%;
  left: 5%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.service__anime__img1-2 {
  /*スマホ*/
  width: 50%;
  left: 28%;
  bottom: 20%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.service__anime__img1-3 {
  /*女性*/
  width: 10%;
  left: 39%;
  bottom: 35%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.service__anime__img1-4 {
  /*男性*/
  width: 22%;
  left: 53%;
  bottom: 42%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.service__anime__img2-2 {
  /*灯篭*/
  width: 8%;
  left: 5%;
  bottom: 42%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.service__anime__img2-3 {
  /*灯篭*/
  width: 8%;
  left: 46%;
  bottom: 12%;
  z-index: 1;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.service__anime__img2-4 {
  /*寺*/
  width: 57%;
  bottom: 31%;
  left: 32%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.service__anime__img2-5 {
  /*女性*/
  width: 12%;
  left: 28%;
  bottom: 25%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.4s;
}
.service__anime__img3-2 {
  /*PC*/
  width: 52%;
  bottom: 20%;
  left: 22%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.service__anime__img3-3 {
  /*女性*/
  width: 12%;
  bottom: 24%;
  left: 28%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.arrow-down {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 2px;
  height: 190px;
  border: dashed #fff 2px;
  margin: 0 auto;
  left: 50%;
}

/**/
.plane__wrap {
  position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 50vh;
  margin-left: -26px;
}

.plane__wrap img {
  width: 50px;
}
@media screen and (min-width: 700px) {
  .service__flexbox {
    display: flex;
    align-items: center;
  }
  .service__flexbox__wrap {
    margin: 50px auto;
  }
  .service__flexbox__imgbox {
    width: auto;
  }
  .service__flexbox:nth-child(4n + 1) .service__flexbox__imgbox {
    order: 1;
  }

  .service__flexbox:nth-child(4n + 1) .service__flexbox__left {
    order: 2;
  }

  .service__flexbox:nth-child(4n + 1) .service__flexbox__right {
    order: 3;
  }

  .service__flexbox:nth-child(3) .service__flexbox__imgbox {
    order: 3;
  }

  .service__flexbox:nth-child(3) .service__flexbox__left {
    order: 1;
  }

  .service__flexbox:nth-child(3) .service__flexbox__right {
    order: 2;
  }
  .service__flexbox__imgbox {
    width: 40%;
  }
  .service__circle {
    width: 75%;
  }
  .service__flexbox__left {
    margin-right: 0;
  }
  .service__flexbox__right {
    margin-left: 20px;
    text-align: left;
    width: 40%;
    font-size: clamp(15px, 2vw, 20px);
  }
  .arrow-down {
    height: 250px;
    margin: -80px auto;
  }
  .arrow-down:nth-child(2) {
    transform: rotate(-50deg);
  }
  .arrow-down:nth-child(4) {
    transform: rotate(50deg);
  }
  .plane__wrap {
    margin-left: -51px;
  }
  .plane__wrap img {
    width: 100px;
  }
}
/* ------------------------------ */
/* service2 */
/* ------------------------------ */
#service2 {
  position: relative;
  background: #fff;
  padding-block: 100px;
  z-index: 1;
  overflow: visible;
}
.service2__wrap {
  position: relative; /* 新しい親要素にstickyを動作させる */
  overflow: visible; /* sticky要素が親要素の制限を受けないように */
}
@media screen and (min-width: 700px) {
  #service2 {
    padding-block: 200px;
  }
}
.service2__list {
  position: sticky;
  position: -webkit-sticky; /* Safari */
  display: flex;
  top: 0;
  justify-content: center;
  font-size: clamp(18px, 3vw, 30px);
  margin-bottom: 50px;
  padding: 4em 0 1em;
  background: #fff;
  z-index: 3;
}

.service2__list-item {
  border-right: #bc002d 1px solid;
  padding: 0 1rem;
}
.service2__list-item.active {
  text-decoration: underline #bc002d;
  -webkit-text-decoration: underline #bc002d;
  text-underline-offset: 8px;
}
.service2__list-item span {
  display: none;
}
.service__circle.circle2 {
  border: #bc002d solid 2px;
}
.service2__list-item:nth-last-child(1) {
  border: none;
}

.service2__flexbox {
  display: flex;
  width: 95%;
  margin: 0 auto;
}

.service2__flexbox__imgbox {
  width: 35%;
}
.service2__flexbox__textbox {
  width: 65%;
  align-self: center;
  font-size: clamp(16px, 2vw, 30px);
}
.service2__flexbox__textbox br.pc {
  display: none;
}

.service2__step__wrap {
  display: flex;
  margin: 50px auto;
  position: relative;
  overflow-y: visible;
  overflow-x: clip;
}
.arrow-down2 {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  position: relative;
  width: 2px;

  border: dashed #bc002d 2px;
  margin: 0 auto;
  left: 10%;
}

.service2__step__right {
  margin: 0 2.5% 0 20%;
}
.service2__step {
  background: #bc002d;
  border-radius: 30px;

  padding: 0.5rem 1rem;
  font-size: 14px;
}
.service2__step__title {
  display: flex;
  font-size: clamp(32px, 3vw, 45px);
  margin: 10px 0 5px;
  align-items: center;
  font-weight: 600;
}
.service2__step__subtitle {
  font-size: clamp(12px, 1vw, 16px);
}
.service2__step__text {
  font-size: clamp(14px, 1.5vw, 20px);
  margin: 10px 0;
  max-width: 700px;
}
.service2__step__text .pc {
  display: none;
}
.service2__step__imgbox2 {
  margin-right: -3%;
}
.service2__step__imgbox2 .pc {
  display: none;
}
.service2__step__img {
  width: 100%;
  margin: 10px 0;
}

.service2__bk {
  position: absolute;
  right: 0;
  top: 55px;
  display: flex;
  z-index: -1;
}
.service2__bk-sankaku {
  border-bottom: 450px solid #eeeeee;
  border-left: 100px solid transparent;
}
.service2__bk-shikaku {
  width: 63vw;
  height: 450px;
  background: #eeeeee;
}
.comming_soon {
  background: #fff;
  border: #bc002d solid 1px;
  margin: 0 1rem;
  padding: 0.2rem 1rem;
}
.comming_soon.pc {
  display: none;
}
.comming_soon.sp {
  font-size: 10px;
  vertical-align: bottom;
}
@media screen and (min-width: 800px) {
  .service2__list {
    display: block;
    top: 200px;
    height: 0;
    margin-bottom: -100px;
    margin-left: 5%;
    background: none;
    padding: 0;
  }
  .service2__list-item.active {
    text-decoration: none;
  }
  .service2__list-item.active span {
    position: absolute;
    left: 0;
    display: inline;
  }
  .sticky-padding {
    padding: 0 0 600px; /* step4の上部に到達したときに固定 */
  }
  .service2__list-item {
    position: relative;
    border: none;
    margin-bottom: 1.5em;
  }
  .service2__step__right {
    margin: 0 1% 0 34%;
    width: 70%;
  }
  .service2__step__title {
    font-weight: 500;
  }
  .service2__flexbox {
    width: 70%;
  }
  .service2__flexbox__textbox {
    font-weight: 500;
  }
  .service2__flexbox__textbox br.pc {
    display: block;
  }
  .arrow-down2 {
    left: 27%;
  }
  .service2__step__imgbox1 {
    width: 60%;
  }
  .service2__bk {
    top: 70px;
  }
  .service2__bk-shikaku {
    width: 80vw;
  }

  .comming_soon.pc {
    display: block;

    font-size: clamp(20px, 1vw, 30px);
  }
  .comming_soon.sp {
    display: none;
  }
  .arrow-down2.sp {
    display: none;
  }
  .service2__step__imgbox2 {
    margin-right: -4%;
  }
  .service2__step__imgbox2 .pc {
    display: block;
  }
  .service2__step__imgbox2 .sp {
    display: none;
  }
  .service2__step__text .pc {
    display: block;
  }
}
/* ------------------------------ */
/* service3 */
/* ------------------------------ */
#service3 {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}
.service3__colorfilter-base {
  background: #353535;
}
.service3__colorfilter-image {
  display: block;
  opacity: 0.6;
  object-fit: cover;
  width: 130%;
  height: 215px;
}

.service3__bk__wrap {
  position: absolute;
  z-index: 1;
}
.service3__bk {
  position: relative;
  width: 100%;
}
.service3__bk__wrap::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  border-top: 60px solid #bc002d;
  border-left: 70vw solid #bc002d;
  border-right: 70vw solid transparent;
  border-bottom: 60px solid transparent;
}
.service3__flexbox {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 90%;
  text-align: center;
}
.service3__flexbox__text {
  font-size: clamp(18px, 3vw, 44px);
  margin: 10px auto;
}

.service3__br {
  display: none;
}
@media screen and (min-width: 700px) {
  .service3__colorfilter-image {
    width: 120%;
    height: 25vw;
    object-position: 10% 80%;
  }

  .service3__bk__wrap::after {
    border-top: 0px solid transparent;
    border-left: 55vw solid #bc002d;
    border-right: 0vw solid transparent;
    border-bottom: 220vw solid transparent;
  }
  .service3__colorfilter-base {
    width: 65%;
    margin: 0 0 0 auto;
  }
  .service3__flexbox {
    display: flex;
  }
  .service3__flexbox__text {
    width: 50%;
    margin: 0;
  }
  .service3__flexbox__btn {
    width: 50%;
    margin: 0 auto;
    align-content: center;
  }
  .service3__br {
    display: block;
  }
}
/* ------------------------------ */
/* 数字で見るインバウンドホールディングス */
/* ------------------------------ */
#inbound {
  padding-block: 50px;
}

.inbound__wrap {
  width: 95%;
  margin: 0 auto;
}

.inbound__imgbox {
  position: relative;
  width: 60%;
  height: auto;
  aspect-ratio: 1/1;
  margin: 0 auto;
}
.inbound__imgbox img {
  position: absolute;
}
.inbound__anime__img1 {
  width: 19%;
  bottom: 0%;
  left: 15%;
  z-index: 1;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.inbound__anime__img2 {
  width: 60%;
  top: 0;
  left: 40%;

  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.inbound__anime__img3 {
  width: 60%;
  top: 23%;
  left: 20%;

  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.inbound__textbox {
  position: relative;
  max-width: 380px;
  width: 80%;
  margin: 20px auto;
  align-content: center;
}
.inbound__textbox a {
  display: block;
  font-size: clamp(26px, 3vw, 60px);
}
.inbound__textbox .arrow::before,
.inbound__textbox .arrow::after {
  right: 1rem;
  left: unset;
  width: 1rem;
  height: 1rem;
  border-top: 3px solid #bc002d;
  border-right: 3px solid #bc002d;
}
.inbound__textbox .arrow-right {
  left: 80%;
}
.inbound__textbox:hover .arrow-right {
  scale: 1.1;
  transition: 0.3s ease-in-out;
}
.red_underline {
  position: relative;
}
.red_underline::after {
  position: absolute;
  content: "";
  width: 100%;
  left: 0;
  bottom: 0;
  border-bottom: #bc002d solid 3px;
}
@media screen and (min-width: 700px) {
  .inbound__wrap {
    display: flex;
    gap: 6%;
  }
  .inbound__imgbox {
    width: 47%;
    max-width: 480px;
  }
  .inbound__textbox {
    width: 47%;
    max-width: 600px;
  }
}
/* ------------------------------ */
/* 成長産業で遊ぶように働く */
/* ------------------------------ */
#saiyo {
  position: relative;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
  background: #f3f3f3;
  margin-top: -15px;
  z-index: 1;
}
.saiyo__colorfilter-base {
  background: #353535;
}
.saiyo__colorfilter-image {
  display: block;
  opacity: 0.6;
  object-fit: cover;
  width: 130%;
  margin-left: -15%;
  width: 140%;
  height: 60vw;
  object-position: 0 50%;
}
.saiyo__textbox {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}
.saiyo__text {
  font-size: clamp(31px, 6vw, 82px);
  margin-bottom: 0.2em;
}
.saiyo__spbtn__wrap {
  text-align: center;
}
.saiyo__spbtn {
  display: block;
  position: relative;
  font-size: 24px;
  padding: 1rem;
}
.saiyo__pcbtn {
  display: none;
}
.saiyo__spbtn .arrow::before,
.saiyo__spbtn .arrow::after {
  left: -3rem;
  width: 1rem;
  height: 1rem;
  border-top: 3px solid #bc002d;
  border-right: 3px solid #bc002d;
}
@media screen and (min-width: 700px) {
  #saiyo {
    border-radius: 20px 20px 0 0;
  }
  .saiyo__colorfilter-image {
    height: 30vw;
    object-position: 0 45%;
    width: 100%;
    margin: unset;
  }
  .saiyo__pcbtn {
    display: block;
  }
  .saiyo__spbtn {
    display: none;
  }
  .saiyo__spbtn__wrap {
    background: #fff;
  }

  .saiyo__textbox {
    top: 50%;
  }
}
/* ------------------------------ */
/* 下層ページ */
/* stop japan tv */
/* ------------------------------ */
#spot_japan_tv {
  background: #f3f3f3;
  padding: 100px 0 50px;
}
.spot_japan_tv__wrap {
  max-width: 1400px;
  width: 95%;
  margin: 0 auto;
}
.spot_japan_tv__jp {
  font-size: clamp(18px, 3vw, 30px);
  text-align: center;
}
.spot_japan_tv__en {
  font-size: clamp(40px, 5vw, 120px);
  text-wrap: nowrap;
  text-align: center;
  line-height: 1;
}
.spot_japan_tv__text1 {
  font-size: clamp(28px, 3vw, 48px);
  margin: 50px auto 20px;
}
.spot_japan_tv__text2 {
  font-size: clamp(20px, 3vw, 48px);
  margin: 20px auto 20px;
}
.spot_japan_tv__hr {
  width: 100%;
  border: 2px #bc002d solid;
}
.spot_japan_tv__sns:hover {
  opacity: 0.8;
}
.spot_japan_tv__snsimg {
  width: clamp(60px, 5vw, 120px);
}
@media screen and (min-width: 700px) {
  #spot_japan_tv {
    padding: 200px 0 150px;
  }
}
/*swiper*/
.swiper__sns {
  position: relative;
  max-width: 1500px;
  margin: 0 auto;
  width: 100%;
  height: fit-content;
  overflow: hidden;
  margin-bottom: 50px;
}
.swiper__sns .swiper-wrapper {
  width: 100%;
  height: fit-content;
  margin: 30px auto;
  transition-timing-function: linear;
}

.swiper__sns .swiper-slide {
  width: 100%;
  height: fit-content;
  text-align: center;
}
.swiper__sns video {
  width: 100%;
  border-radius: 10px;
}
.swiper-slide-item {
  width: 100%;
}
@media screen and (min-width: 700px) {
  .swiper__sns {
    margin-bottom: 100px;
  }
  .swiper__sns .swiper-wrapper {
    padding-bottom: 50px;
  }
}
/* ------------------------------ */
/* 下層ページ　サービス紹介*/
/* 民泊・ホテル 運営サポート トップ */
/* ------------------------------ */
#service__top {
  background: url(../img/service/service_main.webp);
  background-size: cover;
  background-position: center bottom;
  height: 100vh;
  animation: top-opacity-anime ease-in-out 1s;
}
.service__top__grad {
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 10.59%,
    rgba(0, 0, 0, 0.42) 33.76%,
    rgba(0, 0, 0, 0.6) 100%
  );
  height: 100%;
}
.service__top__wrap {
  position: relative;
  width: 90%;
  height: 100%;
  margin: auto;
  align-content: end;
  z-index: 1;
  padding-top: 50px;
}
.service__top__left {
  font-size: clamp(42px, 5vw, 70px);
  text-align: center;
  z-index: 1;
}
.service__top__right {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10%;
  margin: 10% auto;
}

.service__top__right-item {
  position: relative;
  width: 45%;
  height: fit-content;
  aspect-ratio: 1/1;
  background: #fff;
  border-radius: 50%;
  text-align: center;
  align-content: center;
  z-index: 1;
  margin-bottom: 10%;
}

.service__top__right-item::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 110%;
  height: auto;
  aspect-ratio: 1/1;
  background: #fff;
  opacity: 0.6;
  border-radius: 50%;
  z-index: -1;
}
.service__top__right-item {
  font-size: clamp(14px, 2.5vw, 27px);
  max-width: 180px;
  max-height: 180px;
}
.service__top__right-item .font-size1 {
  font-size: clamp(18px, 3vw, 27px);
}
.service__top__right-item .font-size2 {
  font-size: clamp(22px, 3vw, 36px);
}
.service__top__right-item .font-size3 {
  font-size: clamp(20px, 3vw, 45px);
}

@media screen and (min-width: 700px) {
  .service__top__wrap {
    display: flex;
    padding-top: 74px;
  }
  .service__top__left {
    width: 50%;
    align-content: center;
  }
  .service__top__right {
    width: 50%;
    height: fit-content;
    row-gap: 2rem;
    align-self: center;
  }
  .service__top__right-item {
    margin-bottom: 0;
    max-width: 230px;
    max-height: 230px;
  }
  .service__top__right-item::before {
    max-width: 253px;
  }
}
#service__top .mainvisual__sankaku-right {
  top: 120%;
  height: 100vh;
  border-right: 30vh solid #bc002d;
  border-top: 100vh solid transparent;
}
@media screen and (min-width: 700px) {
  #service__top .mainvisual__sankaku-right {
    top: 90%;
    height: 150vh;
    border-right: 45vh solid #bc002d;
    border-top: 150vh solid transparent;
  }
}

/* ------------------------------ */
/* 下層ページ サービス紹介*/
/* 民泊・ホテル 運営サポート トップの下*/
/* ------------------------------ */
#service__top2 {
  margin: 50px auto 50px;
}

.service__top2__img-sp {
  width: 100%;
}
.service__top2__img-pc {
  display: none;
}
.service__top2__textbox {
  margin: 50px auto;
  align-content: center;
}
.service__top2__text {
  position: relative;
  width: fit-content;
  font-size: clamp(24px, 3vw, 48px);
  margin: 0 auto;
}
.service__top2__text::before,
.service__top2__text::after {
  position: absolute;
  content: "";
  top: 0;
  width: clamp(1.8rem, 3vw, 4rem);
  height: clamp(1.8rem, 3vw, 4rem);
  border-bottom: #bc002d 2px solid;
}
.service__top2__text::before {
  left: -1rem;
  rotate: 60deg;
}

.service__top2__text::after {
  right: -1rem;
  rotate: -60deg;
}

@media screen and (min-width: 700px) {
  .service__top2__img-sp {
    display: none;
  }
  .service__top2__img-pc {
    display: block;
    width: 100%;
  }
  .service__top2__flexbox {
    display: flex;
  }
  .service__top2__imgbox {
    width: 50%;
  }
  .service__top2__textbox {
    width: 50%;
  }
  .service__top2__textbox__inner {
    width: fit-content;
  }
}
/* ------------------------------ */
/* 下層ページ サービス紹介*/
/* IHの運営代行*/
/* ------------------------------ */
#direction {
  position: relative;
  background: #f3f3f3;
  padding-top: 50px;
}
.direction__wrap {
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
}
#direction h2 {
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
}
#direction h2 p:first-child > span {
  vertical-align: middle;
}
#direction h2 .en {
  font-size: clamp(33px, 10vw, 100px);
}
@media screen and (min-width: 700px) {
  #direction h2 .en {
    font-size: clamp(33px, 6vw, 100px);
  }
}

#direction .looptext__wrapper {
  opacity: 0.3;
  top: 75%;
}
.direction__step {
  background: #bc002d;
  border-radius: 10px;
  font-size: clamp(22px, 3vw, 50px);
  text-align: center;
  padding: 5px;
  margin: 80px auto 20px;
}
.direction__step.step1 {
  background: #bc002d;
}
.direction__step.step2 {
  background: #990000;
}
.direction__step.step3 {
  background: #660000;
}

.direction__flexbox {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  row-gap: 15px;
}
.direction__step-content {
  width: 49%;
  background: #fff;
  border-radius: 20px;
  padding-block: 20px;
  overflow: hidden;
}
.direction__label {
  position: relative;
  padding: 0 2em;
  height: 1.5em;
  width: fit-content;
  font-size: clamp(14px, 3vw, 40px);
  align-content: center;
}
.direction__label::before {
  position: absolute;
  content: "";
  top: 5%;
  height: 100%;
  left: -5%;
  width: 100%;

  transform: skewX(-15deg);
  z-index: -1;
}

.direction__label.step1::before {
  background: #bc002d;
}
.direction__label.step2::before {
  background: #990000;
}
.direction__label.step3::before {
  background: #660000;
}

.direction__label-sankaku {
  position: absolute;
  height: 1.5em;
  right: calc(-0.5em + 1px);
  align-self: anchor-center;
}
.step1 .direction__label-sankaku {
  border-top: 1.5em solid #bc002d;
  border-right: 0.5em solid transparent;
}
.step2 .direction__label-sankaku {
  border-top: 1.5em solid #990000;
  border-right: 0.5em solid transparent;
}
.step3 .direction__label-sankaku {
  border-top: 1.5em solid #660000;
  border-right: 0.5em solid transparent;
}
.direction__title {
  text-align: center;
  font-size: clamp(16px, 3vw, 34px);
  padding: 5% 0;
  height: calc(1em * 1.8 * 2);
  align-content: center;
}
.direction__imgbox img {
  width: 100%;
  padding: 0 5%;
}
.direction__text {
  font-size: clamp(12px, 3vw, 22px);
  padding: 5% 5% 0 5%;
  text-align: center;
}
.direction__text-bottom {
  text-align: center;
  font-size: clamp(25px, 3vw, 42px);
  padding: 50px 0;
}
@media screen and (min-width: 500px) {
  .direction__title-br {
    display: none;
  }
}
@media screen and (min-width: 700px) {
  .direction__label {
    padding: 0 2em;
  }

  .direction__step {
    margin: 120px auto 40px;
  }
  .mt-100 {
    margin-top: 120px;
  }
  .direction__flexbox {
    row-gap: 25px;
  }
  .direction__step-content {
    padding-block: 50px;
  }

  .direction__text-bottom {
    padding: 80px 0;
  }
}
@media screen and (min-width: 800px) {
  .direction__text-bottom-br2 {
    display: none;
  }
}
/* ------------------------------ */
/* 下層ページ サービス紹介*/
/* その他にも様々なサービスで運営をサポート！*/
/* ------------------------------ */
#other-service {
  background: #bc002d;
  padding-block: 50px;
}
.other-service__label {
  position: relative;
  padding: 0 0.5em;
  width: fit-content;
  font-size: clamp(26px, 3vw, 55px);
  align-content: center;
  background: #fff;
  letter-spacing: -0.13em;
  overflow: hidden;
}
@media screen and (min-width: 400px) {
  .other-service__label {
    letter-spacing: normal;
  }
}
.other-service__flexbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2%;
  row-gap: 10px;
  max-width: 1500px;
  margin: 0 auto;
  padding: 5% 2% 10%;
}
.other-service__content {
  width: 49%;
  max-width: 300px;
  border: solid 2px #fff;
  border-radius: 10px;
}
.other-service__content-top {
  padding: 3% 3% 5% 3%;
}
.other-service__number {
  font-size: clamp(24px, 2vw, 32px);
}
.other-service__title {
  font-size: clamp(14px, 4vw, 24px);
  text-align: center;
  height: calc(1em * 1.45 * 3);
}

.other-service__content-bottom {
  background: #fff;
  padding: 3%;
  border-radius: 0 0 5px 5px;
}
.other-service__imgbox {
  position: relative;
  max-width: 300px;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  background: #fff;
  margin: 10% auto;
}
.other-service__imgbox img {
  position: absolute;
}
/*01*/
.other-service__img1-1 {
  /*木*/
  width: 65%;
  top: 30%;
  left: 21%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.other-service__img1-2 {
  /*建物*/
  width: 45%;
  top: 0%;
  left: 30%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}

.other-service__img1-3 {
  /*人*/
  width: 15%;
  top: 65%;
  left: 60%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.other-service__img1-4 {
  /*人*/
  width: 15%;
  top: 50%;
  left: 15%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
/*02*/
.other-service__img2-1 {
  /*グラフ*/
  width: 40%;
  top: 0%;
  left: 47%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.other-service__img2-2 {
  /*人*/
  width: 25%;
  top: 30%;
  left: 20%;
  z-index: 1;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.other-service__img2-3 {
  /*ペン*/
  width: 2%;
  top: 50%;
  left: 43%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.4s;
}
/*03*/
.other-service__img3-1 {
  /*ブロック*/
  width: 21%;
  top: 80%;
  left: 20%;
  z-index: 5;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.other-service__img3-2 {
  /*ブロック*/
  width: 21%;
  top: 63%;
  left: 33%;
  z-index: 4;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.other-service__img3-3 {
  /*ブロック*/
  width: 21%;
  top: 46%;
  left: 46%;
  z-index: 3;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.other-service__img3-4 {
  /*ブロック*/
  width: 21%;
  top: 29%;
  left: 59%;
  z-index: 1;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.other-service__img3-5 {
  /*コイン*/
  width: 20%;
  top: 45%;
  left: 15%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.4s;
}

.other-service__img3-6 {
  /*人*/
  width: 19%;
  top: 4%;
  left: 52%;
  z-index: 2;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.5s;
}
/*04*/
.other-service__img4-1 {
  /*ベッド*/
  width: 55%;
  top: 20%;
  left: 10%;
  z-index: 1;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.other-service__img4-2 {
  /*ソファ*/
  width: 42%;
  top: 0%;
  left: 32%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.other-service__img4-3 {
  /*机*/
  width: 22%;
  top: 33%;
  left: 55%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.4s;
}
.other-service__img4-4 {
  /*人*/
  width: 14%;
  top: 10%;
  left: 77%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.5s;
}
/*05*/
.other-service__img5-1 {
  /*スマホ*/
  width: 30%;
  top: 0%;
  left: 50%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.other-service__img5-2 {
  /*人*/
  width: 18%;
  top: 0%;
  left: 20%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
/*06*/
.other-service__img6-1 {
  /*書類*/
  width: 18%;
  top: 9%;
  left: 35%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.other-service__img6-2 {
  /*書類*/
  width: 18%;
  top: 9%;
  left: 53%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.other-service__img6-3 {
  /*書類*/
  width: 18%;
  top: 9%;
  left: 71%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.4s;
}
.other-service__img6-4 {
  /*人*/
  width: 20%;
  top: 0%;
  left: 15%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.5s;
}
/*07*/
.other-service__img7-1 {
  /*机*/
  width: 25%;
  top: 51%;
  left: 35%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  z-index: 1;
}
.other-service__img7-2 {
  /*吹き出し*/
  width: 38%;
  top: 0%;
  left: 15%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.other-service__img7-3 {
  /*人*/
  width: 35%;
  top: 29%;
  left: 35%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
/*08*/
.other-service__img8-1 {
  /*メガホン*/
  width: 65%;
  top: 13%;
  left: 15%;
  z-index: 1;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.other-service__img8-2 {
  /*人*/
  width: 16%;
  top: 0%;
  left: 23%;
  z-index: 1;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
@media screen and (min-width: 800px) {
  .other-service__img1-1 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: unset;
  }
  .other-service__img1-2 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.1s;
  }

  .other-service__img1-3 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.2s;
  }
  .other-service__img1-4 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.3s;
  }
  /*02*/
  .other-service__img2-1 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: unset;
  }
  .other-service__img2-2 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.1s;
  }
  .other-service__img2-3 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.2s;
  }
  /*03*/
  .other-service__img3-1 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: unset;
  }
  .other-service__img3-2 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.1s;
  }
  .other-service__img3-3 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.2s;
  }
  .other-service__img3-4 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.3s;
  }
  .other-service__img3-5 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.4s;
  }

  .other-service__img3-6 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.5s;
  }
  /*04*/
  .other-service__img4-1 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: unset;
  }
  .other-service__img4-2 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.1s;
  }
  .other-service__img4-3 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.2s;
  }
  .other-service__img4-4 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.3s;
  }
  /*05*/
  .other-service__img5-1 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: unset;
  }
  .other-service__img5-2 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.1s;
  }
  /*06*/
  .other-service__img6-1 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: unset;
  }
  .other-service__img6-2 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.1s;
  }
  .other-service__img6-3 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.2s;
  }
  .other-service__img6-4 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.3s;
  }
  /*07*/
  .other-service__img7-1 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: unset;
  }
  .other-service__img7-2 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.1s;
  }
  .other-service__img7-3 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.2s;
  }
  /*08*/
  .other-service__img8-1 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: unset;
  }
  .other-service__img8-2 {
    transition: transform 0.3s ease-in-out, opacity 0.1s;
    transition-delay: 0.1s;
  }
}
.other-service__hr {
  border-top: #bc002d 2px dashed;
  background: #fff;
  margin: 10px auto;
}
.other-service__text {
  font-size: clamp(12px, 3vw, 18px);
  height: calc(1em * 1.45 * 4);
  text-align: center;

  align-content: center;
  letter-spacing: -0.1em;
}

.other-service__text2 {
  position: relative;
  width: fit-content;
  font-size: clamp(24px, 2.5vw, 48px);
  margin: 0 auto;
}
.other-service__text2::before,
.other-service__text2::after {
  position: absolute;
  content: "";
  top: 0;
  width: clamp(1.8rem, 3vw, 4rem);
  height: clamp(1.8rem, 3vw, 4rem);
  border-bottom: #fff 2px solid;
}
.other-service__text2::before {
  left: -1rem;
  rotate: 60deg;
}

.other-service__text2::after {
  right: -1rem;
  rotate: -60deg;
}

@media screen and (min-width: 700px) {
  #other-service {
    padding-block: 100px;
  }
  .other-service__label {
    width: 90%;
    padding: 0 0 0 5%;
  }
  .other-service__label__br {
    display: none;
  }
}
@media screen and (min-width: 800px) {
  #other-service {
    padding-block: 100px;
  }
  .other-service__label {
    width: 80%;
    padding: 0 0 0 5%;
  }

  .other-service__flexbox {
    justify-content: left;
    row-gap: 30px;
  }
  .other-service__content {
    width: 32%;
    max-width: unset;
  }
  .other-service__content-top {
    display: flex;
    gap: 4%;
    padding: 5%;
  }
  .other-service__number {
    align-content: center;
    width: 10%;
  }
  .other-service__title {
    align-content: center;
    width: 86%;
  }
  .other-service__content-bottom {
    padding: 5%;
  }
}
.other-service__text3 {
  position: relative;
  width: 95%;
  max-width: 1500px;
  margin: 0 auto;
  font-size: clamp(28px, 3vw, 40px);
  background: #bc002d;
  margin: 50px auto 20px;
}
.other-service__text3::after {
  position: absolute;
  content: "";
  width: calc(100% - 6.5em);
  top: 50%;
  left: 6.5em;
  border-top: #fff solid 2px;
}
.swiper__bukken {
  overflow: hidden;
}
.swiper__bukken .swiper-wrapper {
  transition-timing-function: linear;
}
/* ------------------------------ */
/* 下層ページ サービス紹介*/
/* 運営までの流れ*/
/* ------------------------------ */
#flow {
  padding-block: 100px;
  overflow: hidden;
}
.flow__wrap {
  max-width: 1500px;
  width: 90%;
  margin: 0 auto;
}
.flow__h2 {
  font-size: clamp(40px, 10vw, 45px);
  margin-bottom: 30px;
}
.flow__flexbox-pc {
  max-width: 500px;
  margin: 0 auto;
}
.flow__flexbox-sp {
  display: flex;
  justify-content: center;
  gap: 14%;
  margin: 5% 7% 5% 0;
}
.flow__box {
  font-size: clamp(10px, 2vw, 20px);
  width: 24%;
}
.flow__imgbox {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  background: #bc002d;
  border-radius: 50%;
}
.flow__imgbox::after {
  position: absolute;
  content: "";
  top: 50%;
  right: -2em;
  transform: translateY(-50%);
  border-left: 1em solid #bc002d;
  border-top: 0.6em solid transparent;
  border-bottom: 0.6em solid transparent;
}
.last.flow__imgbox::after {
  display: none;
}
.flow__imgbox img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 50%;
  max-height: 50%;
  object-fit: contain;
}
.flow__text {
  text-align: center;
  text-wrap: nowrap;
  margin-top: 10px;
  letter-spacing: -0.1em;
}
.flow__hr {
  border-top: #bc002d dashed 2px;
  background: #fff;
}
.flow__hr.last {
  width: 65%;
  margin: 0 auto;
}

@media screen and (min-width: 900px) {
  .flow__h2 {
    margin-bottom: 80px;
  }
  .flow__flexbox-sp {
    width: 46%;
    margin: 0;
    justify-content: left;
  }
  .flow__flexbox-pc {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7%;
    max-width: unset;
    margin: 20px auto;
  }
  .flow__flexbox-sp.last {
    width: 28%;
    justify-content: space-between;
  }
  .flow__flexbox-sp.last .flow__box {
    width: 39%;
  }
  .flow__hr {
    display: none;
  }
  .flow__br-900 {
    display: none;
  }
}
@media screen and (min-width: 1500px) {
  .flow__br {
    display: none;
  }
}
/* ------------------------------ */
/* 下層ページ サービス紹介*/
/* FAQ*/
/* ------------------------------ */
#faq {
  background: #bc002d;
  padding-block: 50px;
}
.faq__h2 {
  font-size: clamp(40px, 5vw, 60px);
  width: 95%;
  margin: 0 auto 20px;
}
.faq__wrap {
  position: relative;
  margin-bottom: 1em;
}
.toggle {
  display: none;
}

.question__wrap,
.anser__wrap {
  display: flex;
  font-size: clamp(20px, 3vw, 45px);
  transform: translateZ(0);
  transition: all 0.3s;
}

.question__wrap {
  padding: 0.5em 1.5em 0.5em 0;
}

.faq__label {
  position: relative;
  width: 20%;
  padding: 0 1em;
  margin-right: 1em;
  height: fit-content;
}
.faq__label::after {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  width: 120%;
  background: #fff;
  height: 103%;
  transform: matrix(1, 0, -0.26, 0.97, 0, 0);
  z-index: -1;
}
.question,
.anser {
  width: 80%;
}
.question__wrap:after,
.question__wrap:before {
  content: "";
  position: absolute;
  right: 1em;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 2px;
  height: 1em;
  background-color: #fff;
  transition: all 0.3s;
}

.question__wrap:after {
  transform: rotate(90deg);
}

.anser__wrap {
  padding: 0 1.5em 0 0;
  max-height: 0;
  overflow: hidden;
}

.toggle:checked + .question__wrap + .anser__wrap {
  max-height: 500px;
  transition: ease-in-out 1.5s;
}

.toggle:checked + .question__wrap:before {
  transform: rotate(90deg) !important;
}
@media screen and (min-width: 700px) {
  .faq__label {
    width: 10%;
  }
  .question,
  .anser {
    width: 90%;
  }

  .question__wrap:after,
  .question__wrap:before {
    right: 2em;

    width: 3px;
  }
}
/* ------------------------------ */
/* 下層ページ SPOT JAPAN*/
/* トップ*/
/* ------------------------------ */
#spot-japan__top {
  background: url(../img/spot_japn/spot-japan_top-sp.webp);
  background-size: cover;
  background-position-y: bottom;
  width: 100%;
  height: 100vh;
  animation: top-opacity-anime ease-in-out 1s;
}
.spot-japan__top__wrap {
  position: relative;
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
  height: 100vh;
  align-content: end;
  z-index: 1;
}
.spot-japan__top__text1 {
  font-size: clamp(22px, 5vw, 45px);
  margin-bottom: 0.5rem;
  letter-spacing: -0.1em;
}
.spot-japan__top__text2 {
  font-size: clamp(75px, 10vw, 127px);
  margin-bottom: 0.5rem;
  line-height: 1;
}
.spot-japan__top__text3 {
  font-size: clamp(22px, 5vw, 40px);
  margin-bottom: 5rem;
}
@media screen and (min-width: 500px) {
  #spot-japan__top {
    background: url(../img/spot_japn/spot-japan_top.webp);
    background-size: cover;
    background-position-y: bottom;
    background-position-x: 75%;
  }
}

@media screen and (min-width: 700px) {
  #spot-japan__top {
    background: url(../img/spot_japn/spot-japan_top.webp);
    background-size: cover;
    background-position-y: bottom;
    background-position-x: center;
  }
  .spot-japan__top__br {
    display: none;
  }

  .spot-japan__top__text1 {
    position: absolute;
    bottom: 45%;
  }
  .spot-japan__top__text2 {
    position: absolute;
    bottom: 8%;
  }
  .spot-japan__top__text3 {
    position: absolute;
    bottom: 5%;
    margin: 0;
  }
}
/* ------------------------------ */
/* 下層ページ SPOT JAPAN*/
/* トップ下*/
/* ------------------------------ */
#spot-japan__top-bottom {
  background: #bc002d;
  padding-block: 50px;
  overflow: hidden;
}
.spot-japan__top-bottom__wrap {
  position: relative;
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
}
.spot-japan__top-bottom__flexbox-sp {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5%;
}
.spot-japan__top-bottom__imgbox1 {
  width: 30%;
  max-width: 300px;
}
.spot-japan__top-bottom__imgbox2 {
  width: 65%;
  align-content: end;
}
.spot-japan__top-bottom__text {
  font-size: clamp(16px, 2.5vw, 25px);
  padding: 20px 0;
  width: 100%;
}
.spot-japan__top-bottom__text br.pc {
  display: none;
}
@media screen and (min-width: 700px) {
  #spot-japan__top-bottom {
    padding-block: 100px;
  }
  .spot-japan__top-bottom__text {
    position: absolute;
    top: 3%;
    left: 35%;
    width: 65%;
  }
  .spot-japan__top-bottom__imgbox2 {
    padding-bottom: 3%;
    width: 65%;
    max-width: 800px;
  }
  .spot-japan__top-bottom__imgbox2 img {
    width: 60%;
  }
}
@media screen and (min-width: 1200px) {
  .spot-japan__top-bottom__text br.pc {
    display: block;
  }
}
/* ------------------------------ */
/* 下層ページ SPOT JAPAN*/
/* 店舗の悩み、在日外国陣の悩み*/
/* ------------------------------ */
#worries {
  background: #f3f3f3;
  padding-block: 50px;
}
.worries__wrap {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}
.worries__title {
  font-size: clamp(32px, 3vw, 45px);
  text-align: center;
  margin-bottom: 20px;
}
.worries__flexbox {
  display: flex;
  max-width: 400px;
  margin: 0 auto;
}
.worries__comment {
  width: 65%;
}
.worries__imgbox {
  width: 30%;
  height: 30%;
  aspect-ratio: 1/1;
  align-self: center;
  background: #fff;
  border-radius: 50%;
  z-index: 2;
}
.worries__fukidashi {
  position: relative;
  background: #bc002d;
  width: fit-content;
  border-radius: 50px;
  padding: 1.5em;
  font-size: 12px;
  margin: 10px 0;
}
.worries__fukidashi::before,
.worries__fukidashi::after {
  position: absolute;
  content: "";
  border-radius: 50px;
  background: #bc002d;
}
.worries__fukidashi.fukidashi1::before {
  width: 1.5em;
  height: 1.5em;
  right: 1em;
  bottom: -0.8em;
}
.worries__fukidashi.fukidashi1::after {
  width: 1em;
  height: 1em;
  right: 0.5em;
  bottom: -1.1em;
}
.worries__fukidashi.fukidashi2::before {
  width: 1.5em;
  height: 1.5em;
  right: -0.5em;
  bottom: 0.5em;
}
.worries__fukidashi.fukidashi2::after {
  width: 1em;
  height: 1em;
  right: -1.2em;
  bottom: 0.3em;
}
.worries__fukidashi.fukidashi2-2::before {
  width: 1.5em;
  height: 1.5em;
  right: -0.8em;
  bottom: 0.3em;
}
.worries__fukidashi.fukidashi2-2::after {
  width: 1em;
  height: 1em;
  right: -1.5em;
  bottom: 1em;
}
.worries__fukidashi.fukidashi3::before {
  width: 1.5em;
  height: 1.5em;
  right: -0.8em;
  bottom: 1em;
}
.worries__fukidashi.fukidashi3::after {
  width: 1em;
  height: 1em;
  right: -1.5em;
  bottom: 1.8em;
}
.worries__img-mt {
  margin-top: -25%;
}
.worries__list {
  list-style: disc;
  padding-left: 10%;
  font-size: clamp(16px, 1vw, 20px);
  max-width: 500px;
  margin: 20px auto;
}

.worries__spot-japan {
  max-width: 200px;
  width: 30%;
  margin: 10% auto;
  padding: 5% 0;
  align-content: center;
}
.worries__spot-japan__imgbox {
  position: relative;
}
.worries__spot-japan__imgbox::before,
.worries__spot-japan__imgbox::after {
  position: absolute;
  content: "";
  width: 4px;
  height: 100%;
  background-image: linear-gradient(to bottom, #bc002d 10px, transparent 5px);
  background-size: 4px 15px; /* グラデーションの幅・高さを指定 */
  background-repeat: repeat-y; /* 横向きにのみ繰り返す */
}
.worries__spot-japan__imgbox::before {
  bottom: 0%;
  left: -1em;
}
.worries__spot-japan__imgbox::after {
  top: 0;
  right: -1em;
}
.triangle1 {
  position: absolute;
  top: -0.5em;
  left: -1.7em;
  height: 100%;
  border-left: 0.8em #f3f3f3 solid;
  border-right: 0.8em #f3f3f3 solid;
  border-bottom: 1em #bc002d solid;
}

.triangle2 {
  position: absolute;
  bottom: -0.5em;
  right: -1.7em;
  border-left: 0.8em #f3f3f3 solid;
  border-right: 0.8em #f3f3f3 solid;
  border-top: 1em #bc002d solid;
}
.anime-triangle1.show {
  animation: anime-spot-japan1-triangle 1s ease-in-out forwards;
}
.anime-triangle2.show {
  animation: anime-spot-japan2-triangle 1s ease-in-out forwards;
}
@keyframes anime-spot-japan1-triangle {
  0% {
    top: 0;
  }
  100% {
    top: calc(-95%);
  }
}
@keyframes anime-spot-japan2-triangle {
  0% {
    bottom: 100%;
  }
  100% {
    bottom: -1em;
  }
}
@media screen and (min-width: 500px) {
  .worries__br {
    display: none;
  }
}
@media screen and (min-width: 900px) {
  #worries {
    padding: 50px 0 200px;
  }
  .worries__wrap {
    display: flex;
    gap: 5%;
  }

  .worries__left {
    width: 40%;
  }
  .worries__right {
    width: 40%;
  }
  .order.worries__flexbox {
    gap: 15%;
  }
  .order .worries__comment {
    order: 2;
    width: 55%;
  }
  .order .worries__imgbox {
    order: 1;
  }
  /*左吹き出し　1番小さい丸*/
  .fukidashi-pc {
    position: absolute;
    background: #bc002d;
    border-radius: 50%;
    width: 0.7em;
    height: 0.7em;
  }
  .fukidashi-pc1 {
    right: -0.5em;
    bottom: -1em;
  }
  .fukidashi-pc2 {
    right: -2em;
    bottom: 0.3em;
  }
  .fukidashi-pc3 {
    right: -2.3em;
    bottom: 2.2em;
  }
  /*右吹き出し　1番小さい丸*/
  .fukidashi-pc1-2 {
    left: -1.8em;
    bottom: 0.3em;
  }
  .fukidashi-pc2-2 {
    left: -2.4em;
    bottom: 1.3em;
  }
  .fukidashi-pc3-2 {
    left: -2.3em;
    bottom: 2.6em;
  }
  /*右吹き出し　*/
  .order .worries__fukidashi {
    margin: 20px auto;
  }
  .order .fukidashi1::before {
    right: unset;
    left: -0.5em;
    bottom: 0.5em;
  }
  .order .fukidashi1::after {
    right: unset;
    left: -1em;
    bottom: 0.3em;
  }
  .order .fukidashi2-2::before {
    right: unset;
    left: -0.8em;
    bottom: 0.8em;
  }
  .order .fukidashi2-2::after {
    right: unset;
    left: -1.5em;
    bottom: 1em;
  }
  .order .fukidashi3::before {
    right: unset;
    left: -0.8em;
    bottom: 1.3em;
  }
  .order .fukidashi3::after {
    right: unset;
    left: -1.5em;
    bottom: 1.8em;
  }

  .worries__list.right-item {
    max-width: 550px;
    padding-left: 0;
  }

  .worries__spot-japan {
    width: 10%;
    padding: 0;
    margin: 0;
  }
  .worries__spot-japan__imgbox {
    position: relative;
    top: 12%;
    padding: 1em 0;
  }
  .worries__spot-japan__imgbox::before,
  .worries__spot-japan__imgbox::after {
    width: 150%;
    left: 50%;
    height: 5px;
    transform: translateX(-50%);
    background-image: linear-gradient(to right, #bc002d 10px, transparent 2px);
    background-size: 15px 5px; /* グラデーションの幅・高さを指定 */
    background-repeat: repeat-x; /* 横向きにのみ繰り返す */
  }
  .worries__spot-japan__imgbox::before {
    top: 0;
    left: 50%;
  }
  .worries__spot-japan__imgbox::after {
    top: unset;
    bottom: 0;
    left: 50%;
  }

  .triangle1 {
    position: absolute;
    top: -0.7em;
    left: -30%;
    height: unset;
    width: 160%;
    border-top: 0.8em #f3f3f3 solid;
    border-left: 1em #bc002d solid;
    border-right: unset;
    border-bottom: 0.8em #f3f3f3 solid;
  }
  .triangle2 {
    position: absolute;
    bottom: -0.7em;
    left: -25%;
    height: unset;
    width: 160%;
    border-left: unset;
    border-right: 1em #bc002d solid;
    border-top: 0.8em #f3f3f3 solid;
    border-bottom: 0.8em #f3f3f3 solid;
    z-index: 1;
  }

  @keyframes anime-spot-japan1-triangle {
    0% {
      left: -30%;
    }
    100% {
      left: 110%;
    }
  }

  @keyframes anime-spot-japan2-triangle {
    0% {
      left: -25%;
    }
    100% {
      left: -180%;
    }
  }

  .worries__right,
  .worries__left {
    position: relative;
  }
  .worries__list {
    position: absolute;
  }
}
/* ------------------------------ */
/* 下層ページ SPOT JAPAN*/
/* このようなお悩みを解決*/
/* ------------------------------ */
#solution {
  background: #bc002d;
  padding-block: 50px;
}
.solution__wrap {
  width: 95%;
  max-width: 1400px;
  margin: 0 auto;
}
.solution__h2 {
  font-size: clamp(32px, 3vw, 45px);
  text-align: center;
}
.solution__box {
  background: #fff;
  border: #fff solid 4px;
  border-radius: 20px;
  margin: 20px auto;
}
.solution__text1 {
  background: #bc002d;
  font-size: clamp(24px, 3vw, 30px);
  text-align: center;
  padding-block: 10px;
  border-radius: 20px 20px 0 0;
}
.solution__imgbox {
  width: 100%;
  background: #fff;
  text-align: center;
  align-content: center;
}
.solution__imgbox img {
  width: 50%;
  max-width: 150px;
  padding: 20px;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.solution__list {
  list-style: disc;

  font-size: clamp(18px, 2vw, 30px);
  padding: 1em 1em 1em 2em;
}
@media screen and (min-width: 500px) {
  .solution__br {
    display: none;
  }
}
@media screen and (min-width: 700px) {
  .solution__br {
    display: none;
  }
  .solution__flexbox {
    display: flex;
    gap: 2%;
  }
  .solution__box {
    width: 48%;
  }
  .solution__text1 {
    width: 100%;
  }
  .solution__imgbox {
    width: 100%;
    height: 20vw;
  }
  .solution__imgbox img {
    padding: 20px 0;
  }
  .solution__imgbox .img1 {
    width: 40%;
    max-width: 200px;
  }
  .solution__imgbox .img2 {
    width: 25%;
    max-width: 200px;
  }
  .solution__list {
    width: 100%;
    margin: 0;
  }
}
/* ------------------------------ */
/* 下層ページ SPOT JAPAN*/
/* 色々な体験をアシスト*/
/* ------------------------------ */
#experience {
  background: #f3f3f3;
  padding-block: 50px;
}
.experience__wrap {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}
.experience__h2 {
  font-size: clamp(32px, 5vw, 45px);
  margin-bottom: 20px;
}
.experience__wrap2 {
  position: relative;
  padding: 10% 0;
  font-size: 14px;
}
.experience__imgbox {
  position: relative;
  width: 40%;
  z-index: 1;
}

.ex-fukidashi1 {
  position: absolute;
  width: 50vw;
  height: 20vw;
  right: 0%;
  top: 10%;
  background: #353535;
  border: 4px solid #f3f3f3;
  border-radius: 340px;
  z-index: 1;
  transform-origin: left bottom;
}
.ex-fukidashi2 {
  position: absolute;
  top: 0;
  left: 28%;
  z-index: 2;
  transition-delay: 0.1s;
  transform-origin: left bottom;
}
.ex-fukidashi3 {
  position: absolute;
  top: 17%;
  left: 43%;

  width: 45%;
  z-index: 3;
  transition-delay: 0.2s;
  transform-origin: left bottom;
}
.ex-fukidashi4 {
  position: absolute;
  width: 50vw;
  height: 13vw;
  right: 0%;
  top: 55%;
  background: #fff;
  border: 4px solid #bc002d;
  border-radius: 340px;
  z-index: 4;
  transition-delay: 0.3s;
  transform-origin: left bottom;
}
.ex-fukidashi5 {
  position: absolute;
  width: 55%;
  top: 60%;
  left: 40%;
  z-index: 5;
  transition-delay: 0.4s;
  transform-origin: left bottom;
}
.ex-fukidashi6 {
  position: absolute;
  top: 42%;
  left: 39%;
  width: 59%;
  z-index: 6;
  transition-delay: 0.5s;
  transform-origin: left bottom;
}
.ex-fukidashi-pc {
  display: none;
}
@media screen and (min-width: 400px) {
  .experience__br {
    display: none;
  }
}
@media screen and (min-width: 700px) {
  .experience__imgbox {
    width: 15%;
    margin: 0 auto;
    z-index: 7;
  }
  .ex-fukidashi-sp {
    display: none;
  }
  .ex-fukidashi-pc {
    display: block;
  }
  .ex-fukidashi1 {
    position: absolute;
    width: 25vw;
    height: 15vw;
    left: 0%;
    top: 20%;
    background: #353535;
    border: 4px solid #f3f3f3;
    border-radius: 340px;
    z-index: 1;
    transform-origin: right bottom;
  }
  .ex-fukidashi2 {
    position: absolute;
    top: 5%;
    left: 2%;
    z-index: 2;
    width: 43%;
    transform-origin: right bottom;
  }
  .ex-fukidashi3 {
    position: absolute;
    top: 40%;
    left: 7%;
    width: 35%;
    z-index: 3;
    transform-origin: right bottom;
  }
  .ex-fukidashi4 {
    position: absolute;
    width: 25vw;
    height: 15vw;
    right: 0%;
    top: 25%;
    background: #fff;
    border: 4px solid #bc002d;
    border-radius: 340px;
    z-index: 4;
  }
  .ex-fukidashi5 {
    position: absolute;
    width: 40%;
    top: 40%;
    left: 58%;
    z-index: 6;
  }
  .ex-fukidashi6 {
    position: absolute;
    top: 5%;
    left: 54%;
    width: 40%;
    z-index: 5;
  }
}
/* ------------------------------ */
/* 下層ページ SPOT JAPAN*/
/* SPOT JAPANの強み*/
/* ------------------------------ */
#strength {
  background: #f3f3f3;
  padding-block: 50px;
}
.strength__wrap {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}
.strength__h2 {
  font-size: clamp(32px, 5vw, 45px);
  text-align: center;
}
.strength__flexbox {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
.strength__box {
  position: relative;
  width: 49%;
  margin: 1% auto;
  background: #fff;
  border: 2px solid #bc002d;
  border-radius: 20px 20px;
}
.strength__imgbox {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
}
.strength__imgbox img {
  position: absolute;
}
.strength__no {
  position: absolute;
  font-size: clamp(20px, 4vw, 53px);
  top: 0.5em;
  left: 0.5em;
}
.strength__1-1 {
  /*ベッド*/
  width: 45%;
  top: 45%;
  left: 25%;
  z-index: 2;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.strength__1-2 {
  /*植物*/
  width: 8%;
  top: 70%;
  left: 64%;
  z-index: 3;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.strength__1-3 {
  /*棚*/
  width: 16%;
  top: 50%;
  left: 34%;
  z-index: 1;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.strength__1-4 {
  /*QR*/
  width: 40%;
  top: 6%;
  left: 31%;
  z-index: 4;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.strength__2-1 {
  /*スマホ*/
  width: 30%;
  top: 15%;
  left: 40%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.strength__2-2 {
  /*急須*/
  width: 25%;
  top: 51%;
  left: 54%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.strength__2-3 {
  /*寿司*/
  width: 30%;
  top: 37%;
  left: 20%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.4s;
}
.strength__3-1 {
  /*スマホ*/
  width: 55%;
  top: 55%;
  left: 20%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.strength__3-2 {
  /*コイン*/
  width: 10%;
  top: 34%;
  left: 45%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.strength__3-3 {
  /*人*/
  width: 12%;
  top: 14%;
  left: 28%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}

.strength__4-1 {
  /*袋*/
  width: 45%;
  top: 20%;
  left: 20%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.strength__4-2 {
  /*札束*/
  width: 30%;
  top: 70%;
  left: 50%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.strength__textbox {
  background: #bc002d;
  border: 2px solid #bc002d;
  border-radius: 0 0 15px 15px;
  padding: 1%;
  font-size: clamp(14px, 2vw, 25px);
  height: calc(1em * 1.45 * 6);
  text-align: center;
  align-content: center;
  letter-spacing: -0.1em;
}
.strength__br2 {
  display: none;
}
@media screen and (min-width: 500px) {
  .strength__br500 {
    display: none;
  }
}
@media screen and (min-width: 700px) {
  .strength__imgbox {
    width: 60%;
    aspect-ratio: 1/1;
    margin: 0 auto;
  }
}
@media screen and (min-width: 700px) {
  .strength__br700 {
    display: none;
  }
  .strength__br2 {
    display: block;
  }
  .strength__h2 {
    text-align: left;
    margin-bottom: 20px;
  }
  .strength__box {
    border-radius: 10px 10px;
  }
  .strength__textbox {
    height: calc(1em * 1.45 * 4);
    border-radius: 0 0 8px 8px;
  }
}
/* ------------------------------ */
/* 下層ページ SPOT JAPAN*/
/* SPOT JAPANの強み*/
/* ------------------------------ */
#spot-japn-banner {
  position: relative;
  background: url(../img/spot_japn/spot-japan_top.webp);
  background-size: 130vw;
  background-position-x: 50%;
  background-position-y: 30%;
  height: 50vw;
}
#spot-japn-banner::after {
  position: absolute;
  content: "";
  top: 0;
  left: 55%;
  border-left: 8vw solid #efefef;
  border-bottom: 50vw solid transparent;
}
.spot-japn-banner__bk {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 55%;
  background: #efefef;
}
.spot-japn-banner__wrap {
  max-width: 1500px;
  width: 60%;
  margin-left: 0;
  position: relative;
  left: 5%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.spot-japn-banner__text1 {
  font-size: clamp(16px, 3vw, 45px);
  letter-spacing: -0.1em;
}
.spot-japn-banner__text2 {
  font-size: clamp(40px, 7vw, 90px);
  line-height: 1;
}
@media screen and (min-width: 500px) {
  .spot-japn-banner__text2 br {
    display: none;
  }
}
@media screen and (min-width: 700px) {
  .spot-japn-banner__bk {
    width: 50%;
  }
  #spot-japn-banner {
    background-size: cover;
    height: 30vw;
  }
  #spot-japn-banner::after {
    position: absolute;
    content: "";
    top: 0;
    left: 50%;
    border-left: 5vw solid #efefef;
    border-bottom: 30vw solid transparent;
  }
  .spot-japn-banner__text1 {
    letter-spacing: unset;
    margin-bottom: 20px;
  }
}
.spot-japn-banner__bottom {
  width: 100%;
  background: #f3f3f3;
  height: 50px;
}
@media screen and (min-width: 700px) {
  .spot-japn-banner__bottom {
    display: none;
  }
}
/* ------------------------------ */
/* 下層ページ 会社概要*/
/* トップ*/
/* ------------------------------ */
#company__top {
  background: url(../img/company/company_top-sp.webp);
  background-size: cover;
  aspect-ratio: 75/88;
  animation: top-opacity-anime ease-in-out 1s;
}
#company__top .mainvisual__sankaku-left,
#company__top .mainvisual__sankaku-right {
  display: none;
}
.company__top__wrap {
  position: relative;
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
  aspect-ratio: 75/88;
}
.company__top__h2 {
  position: absolute;
  bottom: 10%;
  left: 0%;
}
.company__top__h2 .en {
  font-size: clamp(65px, 18vw, 168px);
  line-height: normal;
  margin-bottom: -0.2em;
}

.company__top__h2 .jp {
  font-size: clamp(22px, 5vw, 40px);
}
@media screen and (min-width: 800px) {
  #company__top {
    background: url(../img/company/company_top.webp);
    background-size: cover;
    background-position: center center;
    aspect-ratio: 2732/1500;
    max-height: 100vh;
    width: 100%;
  }
  .company__top__wrap {
    aspect-ratio: 2500 / 1407;
  }
  .company__top__h2 {
    bottom: 5%;
    left: 0%;
  }
}
@media screen and (min-width: 1350px) {
  #company__top .mainvisual__sankaku-left,
  #company__top .mainvisual__sankaku-right {
    display: block;
  }
}
/* ------------------------------ */
/* 下層ページ 会社概要*/
/* mission*/
/* ------------------------------ */
#mission {
  position: relative;
  padding: 50px 0 100px;
  overflow: hidden;
}
.mission__wrap {
  width: 95%;
  max-width: 1500px;
  margin: 0 auto;
}
.mission__text1 {
  font-size: clamp(28px, 5vw, 82px);
  margin-bottom: 20px;
}
.mission__text2 {
  position: relative;
  font-size: clamp(16px, 2.5vw, 20px);
  z-index: 1;
}
.mission__text2 br.pc {
  display: none;
}
.mission__br-pc {
  display: none;
}
.company__bkimg {
  position: absolute;
  right: 0;
  bottom: 10%;
  width: 30%;
}
.company__bkimg.pc {
  display: none;
}
@media screen and (min-width: 700px) {
  #mission {
    background: #f3f3f3;
    padding: 50px 0 150px;
  }
  .mission__br-sp {
    display: none;
  }
  .mission__br-pc {
    display: block;
  }

  .company__bkimg {
    width: 50%;
    max-width: 600px;
  }
  .mission__text2 {
    font-weight: 500;
  }
  .mission__text2 br.sp {
    display: none;
  }
  .mission__text2 br.pc {
    display: block;
  }
}
@media screen and (min-width: 1300px) {
  .company__bkimg.sp {
    display: none;
  }
  .company__bkimg.pc {
    display: block;
  }
}
/* ------------------------------ */
/* 下層ページ 会社概要*/
/* 代表者挨拶*/
/* ------------------------------ */
#greetings {
  background: #fff;
  position: relative;
  overflow: hidden;
}
.greetings__textbox {
  background: #bc002d;
  align-content: center;
  padding: 8% 2.5%;
}
.greetings__imgbox {
  line-height: 0;
}
.greetings__text1 {
  font-size: clamp(14px, 1.5vw, 20px);

  max-width: 600px;
  margin: 0 auto;
}
.greetings__text2 {
  display: flex;
  justify-content: right;
  font-size: clamp(28px, 3vw, 50px);
  text-align: right;
  max-width: 600px;
  margin: 10px auto;
}
.greetings__text2 span {
  font-size: clamp(14px, 1.5vw, 16px);
  margin-right: 1em;
  align-content: center;
}
.greetings__br-pc {
  display: none;
}
@media screen and (min-width: 500px) {
  .greetings__text1 {
    letter-spacing: normal;
  }
  .greetings__br-sp {
    display: none;
  }
  .greetings__br-pc {
    display: block;
  }
}
@media screen and (min-width: 900px) {
  .greetings__flexbox {
    display: flex;
  }
  .greetings__imgbox {
    width: 45%;
    order: 2;
  }
  .greetings__imgbox img {
    object-fit: cover;
    height: 100%;
  }
  .greetings__textbox {
    position: relative;
    width: 55%;
    order: 1;
    padding: 2.5%;
    line-height: 200%;
  }
  .greetings__textbox::after {
    position: absolute;
    content: "";
    right: -15%;
    top: 0;
    width: 0%;
    border-left: 9vw #bc002d solid;
    border-bottom: 54vw transparent solid;
  }
  .greetings__text1 {
    max-width: 700px;
  }
  .greetings__text2 {
    max-width: 700px;
  }
}
/* ------------------------------ */
/* 下層ページ 会社概要*/
/* 役員事業責任者*/
/* ------------------------------ */
#member {
  background: #fff;
  padding-block: 50px;
  position: relative;
}
.member__wrap {
  position: relative;
  margin: 50px 0;
  overflow: hidden;
  padding-bottom: 20px;
}
.member__imgbox {
  position: relative;
  width: 95%;
  margin: -10px auto 0;
  z-index: 1;
}
.member__imgbox .pc {
  display: none;
}
.member__textbox {
  position: relative;
  width: 75%;
  margin: 0 0 0 auto;
  padding: 2.5%;
  z-index: 1;
}
.member__name {
  display: flex;
  max-width: 1000px;
  font-size: 32px;
  border-bottom: 2px #fff solid;
  margin-bottom: 20px;
}
.member__name span {
  font-size: 12px;
  align-content: center;
  margin-left: 1em;
}
.member__introduction {
  max-width: 1000px;
  font-size: clamp(14px, 1.5vw, 20px);
  line-height: 1.2;
}
.member__bk {
  position: relative;
  height: 100%;
}
.member__wrap::before {
  position: absolute;
  content: "";
  top: 5%;
  left: 29vw;
  width: 80%;
  height: 100%;
  background: #bc002d;
  z-index: 0;
}
.member__wrap::after {
  position: absolute;
  content: "";
  bottom: -5%;
  left: 0;
  border-right: 30vw solid #bc002d;
  border-top: 120vw solid transparent;
  z-index: 0;
}
@media screen and (min-width: 800px) {
  .member__wrap {
    display: flex;
    padding: 0;
    margin-left: 5%;
  }
  .member__wrap::before {
    top: 0;
    left: 200px;
    width: 90%;
  }
  .member__wrap::after {
    display: none;
  }
  .member__imgbox {
    width: 444px;
  }
  .member__imgbox .pc {
    display: block;
    max-height: 350px;
    width: auto;
  }
  .member__imgbox .sp {
    display: none;
  }
  .member__textbox {
    margin: auto;
  }
}
/* ------------------------------ */
/* 下層ページ 会社概要*/
/* 会社情報*/
/* ------------------------------ */
#company {
  position: relative;
  background: #f3f3f3;
  padding-block: 50px;
}
.company__wrap {
  width: 95%;
  margin: 0 auto;
}
.company__table {
  width: 100%;
}
.company__table tr {
  display: grid;
  text-align: left;
  margin: 1.5em;
  padding-left: 1em;
}
.company__table th {
  position: relative;
  font-size: clamp(18px, 2.5vw, 26px);
  align-content: center;
}
.company__table th::before {
  position: absolute;
  content: "";
  left: -0.5em;
  top: 0;
  height: 100%;
  border-left: 2px solid #bc002d;
}
.company__table td {
  font-size: clamp(14px, 2.5vw, 20px);
}
.company__table .small {
  font-size: clamp(12px, 2.5vw, 20px);
}
@media screen and (min-width: 700px) {
  #company {
    background: #f3f3f3;
    padding-bottom: 100px;
  }
  .company__wrap {
    max-width: 900px;
    width: 90%;
    margin: 0 auto;
  }
  .company__table tr {
    display: table;
    width: 100%;
  }
  .company__table th {
    width: 30%;
    font-weight: 500;
  }
  .company__table td {
    width: 70%;
  }
  .company__table th::before {
    left: -1em;
    border-left: 4px solid #bc002d;
  }
}
/* ------------------------------ */
/* 下層ページ 数字で見るインバウンドホールディングス*/
/* トップ*/
/* ------------------------------ */
#suzidemiru__top {
  padding: 150px 0 50px;
  background: #bc002d;
  border-radius: 0 0 20px 20px;
}
.suzidemiru__top__h2 {
  text-align: center;
  font-size: clamp(30px, 5vw, 82px);
  margin-bottom: 40px;
}

.white_underline {
  position: relative;
}
.white_underline::before {
  position: absolute;
  content: "";
  bottom: 15%;
  width: 00%;
  border-bottom: 3px solid #fff;
  transition: 0.5s ease-in-out;
}
.white_underline.show::before {
  width: 100%;
}
@media screen and (min-width: 700px) {
  #suzidemiru__top {
    padding: 200px 0 100px;
    order: 1;
    width: 100%;
  }
  .suzidemiru__top__h2 {
    margin-bottom: 80px;
  }
}
.suzidemiru__top__wrap {
  max-width: 500px;
  width: 95%;
  margin: 0 auto;
}
.suzidemiru__top__box {
  background: #fff;
  border-radius: 10px;
  text-align: center;
  padding: 5% 2%;
  margin: 10px auto;
}
.suzidemiru__top__flexbox {
  display: flex;
  gap: 2%;
}
.suzidemiru__top__flexbox .suzidemiru__top__box {
  width: 49%;
  margin: 0;
}
.suzidemiru__top__text1 {
  font-size: clamp(16px, 3vw, 40px);
}
.suzidemiru__top__text2 {
  font-size: 32px;
}
.suzidemiru__top__text2 span {
  font-size: 60px;
}
.suzidemiru__top__img1 {
  width: 40%;
}
.suzidemiru__top__img2 {
  width: 60%;
}
.suzidemiru__top__img3 {
  width: 25%;
}

@media screen and (min-width: 700px) {
  .suzidemiru__top__br {
    display: none;
  }
  .suzidemiru__top__wrap {
    max-width: 1000px;
  }
  .suzidemiru__top__box {
    border-radius: 10px;
    text-align: left;
    padding: 2%;
    margin: 20px auto;
  }
  .suzidemiru__top__box.flexbox-pc {
    display: flex;
  }
  .suzidemiru__top__textbox {
    width: 70%;
  }
  .suzidemiru__top__imgbox {
    width: 30%;
  }
  .suzidemiru__top__imgbox img {
    width: 100%;
  }
  .suzidemiru__top__flexbox-pc {
    display: flex;
    gap: 2%;
  }
  .suzidemiru__top__flexbox-pc .suzidemiru__top__box {
    width: 49%;
    margin: 0;
  }
  .suzidemiru__top__flexbox-pc .suzidemiru__top__textbox {
    width: 100%;
  }
  .suzidemiru__top__flexbox-pc .suzidemiru__top__imgbox {
    margin: 0 auto;
  }
  .suzidemiru__top__box .font-size1 {
    font-size: clamp(32px, 5vw, 81px);
  }
  .suzidemiru__top__box .font-size1 span {
    font-size: clamp(60px, 10vw, 136px);
  }
  .suzidemiru__top__box .font-size2 {
    font-size: clamp(32px, 5vw, 54px);
  }
  .suzidemiru__top__box .font-size2 span {
    font-size: clamp(60px, 8vw, 90px);
  }
  .suzidemiru__top__box .font-size3 {
    font-size: clamp(32px, 8vw, 96px);
  }
  .suzidemiru__top__box .font-size3 span {
    font-size: clamp(60px, 10vw, 160px);
  }
}
/* ------------------------------ */
/* 下層ページ 数字で見るインバウンドホールディングス*/
/* 推定市場規模*/
/* ------------------------------ */
#market {
  padding-block: 50px;
}
.market__wrap {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}
.market__box {
  position: relative;
  max-width: 350px;
  width: 75%;
  margin: 0 auto -3% auto;
  text-wrap: nowrap;
  filter: drop-shadow(10px 10px 15px rgba(11, 11, 11, 0.25));
}
.market__box::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: #bc002d;
  transform: skewX(-15deg);
  z-index: -1;
}
.market__box::after {
  right: 0;
}
.market__text1 {
  text-align: center;
  font-size: clamp(32px, 5vw, 60px);
  padding: 30px 0 5px;
}
.market__text2 {
  text-align: center;
  font-size: clamp(16px, 2vw, 20px);
  background: #fff;
  border-radius: 50px;
  width: fit-content;
  padding: 0.5em;
  margin: 0 auto;
}
.market__text3 {
  text-align: center;
  font-size: clamp(24px, 3vw, 40px);
  padding-bottom: 20px;
}
.market__text3 .number {
  font-size: clamp(55px, 5vw, 75px);
}
.market__wrap .market__box:nth-child(1) {
  z-index: 3;
}
.market__wrap .market__box:nth-child(2) {
  z-index: 2;
}
.market__wrap .market__box:nth-child(3) {
  z-index: 1;
}
.market__text4 {
  text-align: center;
  font-size: clamp(28px, 5vw, 45px);
  margin: 50px auto;
  letter-spacing: -0.1em;
}
@media screen and (min-width: 800px) {
  .market__wrap {
    display: flex;
    justify-content: center;
  }
  .market__box {
    width: 32%;
    max-width: unset;
    height: fit-content;
  }
  .market__wrap .market__box:nth-child(1) {
    margin: 0 -3% 0 0;
  }
  .market__wrap .market__box:nth-child(2) {
    margin: 3% 0 0 0;
  }
  .market__wrap .market__box:nth-child(3) {
    margin: 6% 0 0 -3%;
  }
  .market__text4 br {
    display: none;
  }
}
/* ------------------------------ */
/* 下層ページ 数字で見るインバウンドホールディングス*/
/* 訪日外国人観光客、過去最高を更新へ */
/* ------------------------------ */
.h2__left__underline {
  position: relative;
  font-size: clamp(24px, 5vw, 45px);
  margin-bottom: 30px;
}
.h2__left__underline::after {
  position: absolute;
  content: "";
  bottom: -0.3em;
  left: 0;
  width: 0em;
  height: 0.1em;
  background: #bc002d;
  transition: 0.5s ease-in-out;
}
.h2__left__underline.show::after {
  width: 3.3em;
}
.tourists__wrap {
  width: 95%;
  max-width: 1500px;
  margin: 0 auto;
}
.tourists__text {
  font-size: clamp(14px, 2.5vw, 20px);
  margin-bottom: 30px;
  letter-spacing: -0.1em;
}
.tourists__text .pc {
  display: none;
}
@media screen and (min-width: 700px) {
  .tourists__text .sp {
    display: none;
  }
  .tourists__text .pc {
    display: block;
  }
}
.tourists__box {
  position: relative;
  border: #bc002d 2px solid;
}
.tourists__box-title {
  font-size: clamp(19px, 3vw, 30px);
  background: #bc002d;
  padding: 0.3em 0.5em;
}
/*グラフ*/
.bar-graph-wrap {
  position: relative;
  overflow-y: hidden;
  width: 90%;
  height: 150px;
  margin: 0 auto;
}

@media screen and (min-width: 700px) {
  .bar-graph-wrap {
    height: 400px;
  }
}
.graph {
  position: absolute;
  width: 3%;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background: #bc002d;
  flex-direction: column-reverse;
  transform: translateY(100%);
}
.anime-bar-graph.show .graph {
  -webkit-animation: graphAnim 1s forwards;
  animation: graphAnim 1s forwards;
}
.graph:nth-child(1) {
  height: 18%;
  left: 15%;
}
.graph:nth-child(2) {
  height: 21%;
  left: 21%;
}
.graph:nth-child(3) {
  height: 28%;
  left: 27%;
}
.graph:nth-child(4) {
  height: 39%;
  left: 33%;
}
.graph:nth-child(5) {
  height: 45%;
  left: 39%;
}
.graph:nth-child(6) {
  height: 55%;
  left: 45%;
}
.graph:nth-child(7) {
  height: 62%;
  left: 51%;
}
.graph:nth-child(8) {
  height: 65%;
  left: 57%;
}
.graph:nth-child(9) {
  height: 9%;
  left: 63%;
}
.graph:nth-child(10) {
  height: 3%;
  left: 69%;
}
.graph:nth-child(11) {
  height: 10%;
  left: 75%;
}
.graph:nth-child(12) {
  height: 45%;
  left: 81%;
}
.graph:nth-child(13) {
  height: 87%;
  left: 87%;
  width: 4%;
  opacity: 0.6;
}
.graph:nth-child(14) {
  height: 0%;
  left: 93%;
}
.graph .year {
  position: absolute;
  left: 15%;
}
.horizon {
  position: absolute;
  width: 100%;
  height: 2px;
  background: #f3f3f3;
  z-index: -1;
}
.horizon:nth-child(15) {
  bottom: 0;
  background: #bc002d;
}
.horizon:nth-child(16) {
  bottom: 20%;
}
.horizon:nth-child(17) {
  bottom: 40%;
}
.horizon:nth-child(18) {
  bottom: 60%;
}
.horizon:nth-child(19) {
  bottom: 80%;
}
.horizon:nth-child(20) {
  bottom: 90%;
  background: unset;
}
.people {
  position: absolute;
  bottom: 0;
  font-size: clamp(15px, 2vw, 30px);
}
.year-wrap {
  position: relative;
  width: 90%;
  margin: 5px auto 50px;
}
@media screen and (min-width: 700px) {
  .year-wrap {
    position: relative;
    width: 90%;
    margin: 10px auto 100px;
  }
}
.year {
  position: absolute;
  font-size: clamp(13px, 2vw, 30px);
  text-align: center;
  line-height: 1;
  margin-left: -0.3em;
}
@media screen and (min-width: 700px) {
  .year {
    margin-left: unset;
  }
}
.graph-small-font {
  font-size: clamp(10px, 2vw, 24px);
}
.year:nth-child(1) {
  left: 14%;
}
.year:nth-child(2) {
  left: 27%;
}
.year:nth-child(3) {
  left: 39%;
}
.year:nth-child(4) {
  left: 51%;
}
.year:nth-child(5) {
  left: 63%;
}
.year:nth-child(6) {
  left: 75%;
}
.year:nth-child(7) {
  left: 86%;
}
.year:nth-child(8) {
  left: 93%;
}
.graph-comments {
  width: 90%;
  margin: 0 auto 20px;
  font-size: clamp(12px, 2vw, 18px);
}
.graph-hukidashi__wrap {
  position: relative;
  width: 90%;
  margin: 0 auto;
}

.graph-hukidashi {
  position: relative;
  width: fit-content;
  background: #bc002d;
  border-radius: 20px;
  font-size: clamp(15px, 2.5vw, 30px);
  padding: 0.5em;
  margin: 10px 0 10px auto;
  transform-origin: 80% bottom;
  transition-delay: 0.8s;
}
@media screen and (min-width: 500px) {
  .graph-hukidashi__wrap2 {
    right: 5%;
  }
}
@media screen and (min-width: 700px) {
  .graph-hukidashi {
    margin: 40px 0 0 auto;
  }
}
.graph-hukidashi::before {
  position: absolute;
  content: "";
  bottom: -0.8em;
  right: 7vw;
  display: block;
  border-style: solid;
  border-color: transparent #bc002d #bc002d transparent;
  border-width: 1em;
  border-radius: 0 0 0.5em 0;
  transform: scaleX(0.3) rotate(45deg);
}

@-webkit-keyframes graphAnim {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes graphAnim {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
/* ------------------------------ */
/* 下層ページ 数字で見るインバウンドホールディングス*/
/* 日本で使われるお金が過去10年で6倍に */
/* ------------------------------ */
#consumption {
  padding-block: 50px;
  overflow: hidden;
}

#consumption .graph:nth-child(1) {
  height: 10%;
}
#consumption .graph:nth-child(2) {
  height: 12.5%;
}
#consumption .graph:nth-child(3) {
  height: 22%;
}
#consumption .graph:nth-child(4) {
  height: 23%;
}
#consumption .graph:nth-child(5) {
  height: 27%;
}
#consumption .graph:nth-child(6) {
  height: 28%;
}
#consumption .graph:nth-child(7) {
  height: 32%;
}
#consumption .graph:nth-child(8) {
  height: 6%;
}
#consumption .graph:nth-child(9) {
  height: 2%;
}
#consumption .graph:nth-child(10) {
  height: 7%;
}
#consumption .graph:nth-child(11) {
  height: 40%;
}
#consumption .graph:nth-child(12) {
  height: 51%;
}
#consumption .graph:nth-child(13) {
  height: 90%;
  opacity: unset;
}

#consumption .horizon:nth-child(16) {
  bottom: 12.5%;
}
#consumption .horizon:nth-child(17) {
  bottom: 25%;
}
#consumption .horizon:nth-child(18) {
  bottom: 37.5%;
}
#consumption .horizon:nth-child(19) {
  bottom: 50%;
}
#consumption .horizon:nth-child(20) {
  bottom: 62.5%;
  background: unset;
}
#consumption .year:nth-child(7) {
  left: 87%;
}
.consumption__wrap {
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
}
#consumption .bar-graph-wrap {
  margin: 20vw auto 0;
}

@media screen and (min-width: 700px) {
  #consumption .bar-graph-wrap {
    margin: 100px auto 0;
  }
}
.consumption-graph__amount1 {
  display: none;
}

.consumption-graph__amount2 {
  position: absolute;
  left: 78%;
  bottom: 75%;
  font-size: clamp(20px, 3vw, 45px);
}
.consumption-graph__amount3 {
  position: absolute;
  left: 20%;
  bottom: 55%;
  width: 30%;
  text-align: center;
  font-size: clamp(25px, 5vw, 66px);
  z-index: 3;
}
.consumption-graph__amount3__wrap {
  background: url(../img/suzidemiru/graph_bk.webp);
  background-size: cover;
  aspect-ratio: 1/1;
  width: 70%;
  min-width: 100px;
  max-width: 250px;
  align-content: center;
}
.consumption-graph__amount3 span {
  font-size: clamp(50px, 5vw, 126px);
}

.consumption-graph__yazirusi__wrap {
  position: absolute;
  bottom: 40%;
  left: 20%;
  width: 100%;
  opacity: 0.6;
  transition: ease-in-out 1s;
  z-index: 2;
  will-change: transform; /* ちらつき軽減 */
  transform-origin: left bottom; /* 支点を左下に */
  transform: scale(0); /* 最初は非表示 */
}
.consumption-graph__yazirusi__wrap.show {
  transform: scale(1);
}
.consumption-graph__yazirusi {
  position: relative;
  width: 45%;
  height: 0.5em;
  margin-right: 30px;
  color: #bc002d;
  background: currentColor;
  rotate: -20deg;
  overflow: visible; /* 追加 */
  transform: translateZ(0); /* GPUレイヤー化でちらつき防止 */
  transform-origin: left bottom; /* 支点を左下に */
}
.consumption-graph__yazirusi::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 100%;
  width: 0;
  height: 0;
  border-top: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 30px solid #bc002d;
}
@media screen and (min-width: 500px) {
  .consumption-graph__amount2 {
    bottom: 65%;
  }

  .consumption-graph__yazirusi {
    rotate: -20deg;
  }
}

@media screen and (min-width: 700px) {
  .consumption-graph__amount1 {
    display: block;
    position: absolute;
    left: 70%;
    bottom: 55%;
    font-size: clamp(20px, 3vw, 45px);
  }

  .consumption-graph__amount2 {
    left: 80%;
    bottom: 75%;
  }

  .consumption-graph__yazirusi__wrap {
    bottom: 40%;
    left: 20%;
  }
}
@media screen and (min-width: 1000px) {
  .consumption-graph__yazirusi__wrap {
    bottom: 35%;
  }
  .consumption-graph__yazirusi {
    rotate: -15deg;
  }
}
/* ------------------------------ */
/* 下層ページ 数字で見るインバウンドホールディングス*/
/* 日本で使われるお金が過去10年で6倍に */
/* ------------------------------ */
#strengths {
  padding-block: 50px;
  overflow: hidden;
}

.strengths___flexbox {
  position: relative;
  display: flex;
  margin: 20px auto;
  width: 95%;
  height: calc(1.75 * 5em);
  padding-left: 10%;
  align-items: center;
  gap: 5%;
}
.strengths___flexbox::before {
  position: absolute;
  content: "";
  top: 0;
  left: 5%;
  width: 150%;
  height: 100%;
  background: #bc002d;
  transform: skewX(-15deg);
  z-index: -1;
}
.strengths___number {
  font-size: clamp(30px, 3vw, 50px);
}
.strengths___text {
  line-height: 128%;
  font-size: clamp(18px, 2.5vw, 25px);
}
.strengths___text span.small {
  font-size: clamp(12px, 2vw, 25px);
  line-height: 1.5;
}

@media screen and (min-width: 700px) {
  #strengths {
    padding: 50px 0 100px;
  }

  .strengths___flexbox {
    height: calc(1.75 * 3em);
  }
  #strengths br {
    display: none;
  }
}

/* ------------------------------ */
/* 下層ページ 社員インタビュー*/
/* interview */
/* ------------------------------ */
#interview__top {
  animation: top-opacity-anime ease-in-out 1s;
  height: 100vh;
}
.interview__top {
  background: url(../img/interview/interview__top-sp.webp);
  background-size: cover;
  background-position-x: center;
}
.interview__top .mainvisual__sankaku-right,
.interview__top .mainvisual__sankaku-left {
  display: none;
}
.interview__top__wrap {
  position: relative;
  max-width: 1500px;
  width: 95%;
  height: 100vh;
  margin: 0 auto;
}
.interview__top__h2 {
  position: absolute;
  bottom: 15%;
  left: 0%;
}
.interview__top__h2 .en {
  font-size: clamp(68px, 10vw, 168px);
  line-height: normal;
  margin-bottom: -0.2em;
}

.interview__top__h2 .jp {
  font-size: clamp(22px, 5vw, 40px);
}
@media screen and (min-width: 700px) {
  .interview__top {
    aspect-ratio: 2732/1500;
    height: 100vh;
    width: 100%;
    background: url(../img/interview/interview__top.webp);
    background-size: cover;
    background-position-x: 80%;
  }
  .interview__top .mainvisual__sankaku-left {
    display: block;
  }

  .interview__top__wrap {
    aspect-ratio: 2732/1500;
  }
  .interview__top__h2 {
    bottom: 5%;
    left: 0%;
  }
}
#interview__bottom {
  position: relative;
  padding-block: 80px;
  overflow: hidden;
}
.interview__bottom__bk {
  position: absolute;
  width: 170%;
  bottom: -40%;
  left: -10%;
  z-index: -2;
}
.interview__bottom__bk-sp {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.6;
  border-left: 7vw solid #bc002d;
  border-bottom: 25vw solid transparent;
}

@media screen and (min-width: 700px) {
  .interview__bottom__bk {
    width: 50%;
    top: 0;
    bottom: unset;
    left: unset;
    right: 0;
  }
  .interview__bottom__bk-sp {
    display: none;
  }
}
.interview__bottom__wrap {
  width: 95%;
  max-width: 1500px;
  margin: 0 auto;
}
.interview__bottom__wrap2 {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
}
.interview__bottom__text {
  font-size: clamp(16px, 2.5vw, 32px);
  margin-bottom: 50px;
  padding: 0 3%;
}
.interview__bottom__flexbox {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
.interview__bottom__imgbox {
  position: relative;
  width: 49%;
  height: auto;
  aspect-ratio: 5/7;
  border-radius: 20px;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  margin-bottom: 4%;
  align-content: baseline;
}

.interview__bottom__imgbox::after {
  position: absolute;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35.14%, #000000 100%);
}
.interview__bottom__imgbox.img1 {
  background: url(../img/interview/ineterview1.webp);
  background-position-x: 80%;
  background-position-y: 60%;
  background-size: 320%;
}
.interview__bottom__imgbox.img2 {
  background: url(../img/interview/ineterview2.webp);
  background-position-x: 5%;
  background-position-y: 30%;
  background-size: 280%;
}
.interview__bottom__imgbox.img3 {
  background: url(../img/interview/ineterview3.webp);
  background-position-x: 18%;
  background-position-y: 100%;
  background-size: 260%;
}
.interview__bottom__imgbox.img4 {
  background: url(../img/interview/ineterview4.webp);
  background-position-x: 75%;
  background-position-y: 50%;
  background-size: 320%;
}
.interview__bottom__imgbox.img5 {
  background: url(../img/interview/ineterview5.webp);
  background-position-x: 85%;
  background-position-y: 30%;
  background-size: 280%;
}
.interview__bottom__imgbox.img6 {
  background: url(../img/interview/ineterview6.webp);
  background-position-x: 45%;
  background-position-y: 40%;
  background-size: 380%;
}
.interview__bottom__imgbox__text {
  width: 100%;
  height: 73%;
  align-content: end;
  z-index: 3;
  margin: 0 3%;
  font-size: clamp(12px, 2.5vw, 18px);
  letter-spacing: -0.1em;
  line-height: 1.2;
  padding-bottom: 1em;
}
.interview__bottom__imgbox__name {
  position: relative;
  width: 100%;
  height: 20%;
  align-content: center;
  z-index: 3;
  margin: 0 5%;
  font-size: clamp(14px, 2.5vw, 18px);
}
.interview__bottom__imgbox__name::after {
  position: absolute;
  content: "";
  left: -15%;
  top: 0;
  width: 100%;
  height: 100%;
  background: #bc002d;
  transform: skewX(-15deg);
  z-index: -1;
}
@media screen and (min-width: 700px) {
  .interview__bottom__flexbox {
    gap: 5%;
  }
  .interview__bottom__imgbox {
    width: 30%;
  }

  .interview__bottom__imgbox__text br.sp {
    display: none;
  }
  .interview__bottom__text {
    padding: 0;
  }
  .interview__bottom__text br.sp {
    display: none;
  }
  .interview__bottom__imgbox__text {
    font-size: clamp(12px, 1.5vw, 18px);
    margin: 0 5%;
  }
  .interview__bottom__imgbox__name {
    font-size: clamp(14px, 2vw, 18px);
  }
}
@media screen and (min-width: 1200px) {
  .interview__bottom__imgbox::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 52.14%, #000000 100%);
  }
}
/* ------------------------------ */
/* 下層ページ 社員インタビュー　個別ページ*/

/* ------------------------------ */
.interview__top.img2 {
  background: url(../img/interview/iv_member2-1-sp.webp);
  background-size: cover;
  background-position-x: center;
}
.interview__top.img3 {
  background: url(../img/interview/iv_member3-1-sp.webp);
  background-size: cover;
  background-position-x: center;
}
.interview__top.img4 {
  background: url(../img/interview/iv_member4-1-sp.webp);
  background-size: cover;
  background-position-x: center;
}
.interview__top.img5 {
  background: url(../img/interview/iv_member5-1-sp.webp);
  background-size: cover;
  background-position-x: center;
}
.interview__top.img6 {
  background: url(../img/interview/iv_member6-1-sp.webp);
  background-size: cover;
  background-position-x: center;
}

@media screen and (min-width: 700px) {
  .interview__top.img2 {
    background: url(../img/interview/iv_member2-1.webp);
    background-size: cover;
    background-position-x: 80%;
  }
  .interview__top.img3 {
    background: url(../img/interview/iv_member3-1.webp);
    background-size: cover;
    background-position-x: 70%;
  }
  .interview__top.img4 {
    background: url(../img/interview/iv_member4-1.webp);
    background-size: cover;
    background-position-x: right;
  }
  .interview__top.img5 {
    background: url(../img/interview/iv_member5-1.webp);
    background-size: cover;
    background-position-x: 80%;
  }
  .interview__top.img6 {
    background: url(../img/interview/iv_member6-1.webp);
    background-size: cover;
    background-position-x: right;
  }
}
#interview__content {
  position: relative;
  padding-block: 50px;
  overflow: hidden;
  animation: top-opacity-anime ease-in-out 1s;
}
#interview__content .interview__bottom__bk {
  left: 0;
  bottom: 5%;
}
.interview__content__text1 {
  width: 90%;
  margin: 0 auto;
  font-size: clamp(16px, 3vw, 40px);
}
.interview__content__imgbox {
  position: relative;
  margin: -5% 0;
  z-index: -1;
}
.interview__content__imgbox img.pc {
  display: none;
}
.interview__content__name {
  position: relative;
  width: 95%;
  margin: 0 auto;
  font-size: clamp(18px, 3vw, 35px);
  padding: 0.5em;
  align-content: center;
}
.interview__content__name::before {
  position: absolute;
  content: "";
  background: #bc002d;
  width: 60%;
  height: 100%;
  top: 0;
  left: -10%;
  transform: skewX(-15deg);
  z-index: -1;
}
#interview__content .looptext__wrapper {
  top: unset;
  bottom: -2.3em;
  z-index: -1;
  opacity: 0.3;
}
.interview__content__wrap {
  width: 95%;
  max-width: 1500px;
  margin: 0 auto;
}
.interview__content__text2 {
  font-size: clamp(14px, 1.5vw, 20px);
  margin: 50px auto;
  letter-spacing: -0.1em;
}
.interview__content__text2 br.pc {
  display: none;
}
@media screen and (min-width: 700px) {
  #interview__content {
    padding-block: 80px;
  }
  #interview__content .interview__bottom__bk {
    width: 50%;
    left: unset;
    bottom: unset;
    right: 0;
    top: 0;
  }
  .interview__content__imgbox img.sp {
    display: none;
  }
  .interview__content__imgbox img.pc {
    display: block;
  }
  .interview__content__top {
    height: 300px;
  }
  .interview__content__text1 {
    width: 90%;
  }
  .interview__content__name {
    width: 90%;
    margin-top: 20px;
  }
  .interview__content__name::before {
    width: 50%;
  }
  .interview__content__imgbox {
    position: absolute;
    top: 5vw;
    right: 0;
    width: 45vh;
  }
  #interview__content .looptext__wrapper {
    bottom: -2%;
  }
  .interview__content__text2 {
    margin: 100px auto;
  }
}
@media screen and (min-width: 900px) {
  .interview__content__top {
    height: 600px;
  }
  .interview__content__name {
    margin-top: 40px;
  }
  .interview__content__imgbox {
    top: 5vw;
    width: 91vh;
  }
  .interview__content__name::before {
    width: 40%;
  }
  .interview__content__text2 br.sp {
    display: none;
  }
  .interview__content__text2 br.pc {
    display: block;
  }
}

/* ------------------------------ */
/* 下層ページ 社員インタビュー　個別ページ*/
/* 社員紹介swiper*/
/* ------------------------------ */
.swiper__member {
  position: relative;
  margin: 50px auto;
  overflow: hidden;
}
.swiper__member__h2 {
  position: relative;
  width: fit-content;
  margin: 0 auto;
  font-size: clamp(24px, 3vw, 40px);
  margin: 30px 0 30px 2.5%;
  padding-right: 2em;
}
.swiper__member__h2 a {
  font-size: clamp(24px, 3vw, 40px);
}
.swiper__member__h2 .arrow {
  right: 0;
  bottom: -0.1em;
  transition: 0.5s ease-in-out;
}
.swiper__member__h2:hover .arrow {
  right: -1em;
}
.swiper__member__h2 .arrow::after {
  border-top: 3px solid #bc002d;
  border-right: 3px solid #bc002d;
}
.swiper__member__h2 span {
  font-size: clamp(14px, 3vw, 30px);
}
.swiper__member .swiper-wrapper {
  margin-bottom: 50px;
  transition-timing-function: linear;
}
.swiper__member .interview__bottom__imgbox {
  width: 100%;
}
@media screen and (min-width: 900px) {
  .swiper__member__h2 {
    margin: 30px 0 30px 5%;
  }
}
/*
.swiper__member .swiper-button-next,
.swiper__member .swiper-button-prev {
  color: #fff;
  background: #353535;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  width: 2.5em;
  height: 2.5em;
  top: unset;
  bottom: 0;
}
.swiper__member .swiper-button-prev {
  left: 65%;
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
  opacity: 0.6;
}
.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: unset;
}
  */
/* ------------------------------ */
/* 下層ページ*/
/* 成長産業で遊ぶように働く */
/* ------------------------------ */
#recruitment2__top {
  height: 100vh;
  background: url(../img/recruitment2/recruitment2__top-sp.webp);
  background-size: cover;
  background-position-x: right;
  animation: top-opacity-anime ease-in-out 1s;
}
#recruitment2__top .mainvisual__sankaku-right {
  display: none;
}
.recruitment2__top__wrap {
  position: relative;
  height: 100vh;
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
}
.recruitment2__top__h2 {
  position: absolute;
  bottom: 15%;
  left: 0%;
  font-size: 94px;
  line-height: 1;
  z-index: 3;
}
.recruitment2__top__h2 .pc {
  display: none;
}
.recruitment2__top__h2 .text1 {
  font-size: clamp(32px, 7vw, 90px);
}
.recruitment2__top__h2 .text2 {
  font-size: clamp(58px, 11vw, 160px);
}
@media screen and (min-width: 700px) {
  #recruitment2__top {
    background: url(../img/recruitment2/recruitment2__top.webp);
    background-size: cover;
    background-position-x: 33%;

    width: 100%;
  }
  #recruitment2__top .mainvisual__sankaku-right {
    display: none;
  }
  .recruitment2__top__h2 {
    position: absolute;
    bottom: 5%;
  }
  .recruitment2__top__h2 .pc {
    display: block;
  }
  .recruitment2__top__h2 .sp {
    display: none;
  }
}
@media screen and (min-width: 1100px) {
  #recruitment2__top .mainvisual__sankaku-right {
    display: block;
  }
}
/*トップ下*/
#recruitment2__bottom {
  position: relative;
  overflow: hidden;
  padding: 50% 0 80%;
}
.recruitment2__bottom__wrap {
  position: relative;
  max-width: 1500px;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
}
.recruitment2__text1 {
  position: relative;
  font-size: clamp(16px, 3vw, 23px);
  width: fit-content;
  margin-bottom: 3em;
  letter-spacing: -0.07em;
  line-height: 162%;
  margin: 20px auto;
  z-index: 1;
}

.recruitment2__text1 br.pc {
  display: none;
}
.recruitment2__text2 {
  font-size: clamp(24px, 3vw, 52px);
  width: fit-content;
  margin: 0 auto;
}
.recruitment2__text2 span {
  font-size: clamp(34px, 3vw, 52px);
}
@media screen and (min-width: 900px) {
  #recruitment2__bottom {
    padding-block: 100px;
  }
  .recruitment2__text1 {
    letter-spacing: normal;
    line-height: 200%;
    margin-bottom: 50px;
  }
  .recruitment2__text2 {
    margin-left: 0;
  }
  .recruitment2__bottom__wrap {
    text-align: left;
  }
  .recruitment2__text1 br.pc {
    display: block;
  }
  .recruitment2__text1 br.sp {
    display: none;
  }
}
#recruitment2__bottom img {
  position: absolute;
}
.recruitment2__img1 {
  width: 50%;
  top: 3%;
  left: 0;
}
.recruitment2__img1.pc {
  display: none;
}
.recruitment2__img2 {
  width: 31%;
  top: 5%;
  right: 0;
}
.recruitment2__img3 {
  width: 33%;
  bottom: 8%;
  left: -1%;
}
.recruitment2__img4 {
  width: 43%;
  bottom: 15%;
  right: 0;
}
@media screen and (min-width: 900px) {
  .recruitment2__img1 {
    width: 19%;
    top: 5%;
    bottom: unset;
    max-width: 300px;
  }
  .recruitment2__img1.sp {
    display: none;
  }
  .recruitment2__img1.pc {
    display: block;
  }
  .recruitment2__img2 {
    width: 20%;
    top: 10%;
    right: 13%;
    max-width: 240px;
  }
  .recruitment2__img3 {
    width: 15%;
    top: 40%;
    left: 4%;
    max-width: 260px;
  }
  .recruitment2__img4 {
    width: 28%;
    bottom: 10%;
    right: 0;
    max-width: 380px;
  }
}
/*背景がボタンと被らないように*/
.swiper__recruitment .btn__wrap {
  position: relative;
  background: #fff;
}
/*インバウンドホールディングスの仕事*/
#work {
  position: relative;
  padding-block: 50px;

  background: #fff;
}

@media screen and (min-width: 700px) {
  #work {
    padding-block: 100px;
  }
}
.work__flexbox {
  width: 95%;
  margin: 0 auto;
}
.work__imgbox {
  margin-bottom: 10px;
}
.work__imgbox img {
  border-radius: 20px;
  object-fit: cover;
  aspect-ratio: 67 / 38;
}
.work_textbox-text1 {
  font-size: clamp(28px, 3vw, 45px);
  margin-bottom: 10px;
}
.work_textbox-text2 {
  font-size: clamp(14px, 1.5vw, 20px);
  margin-bottom: 10px;
}
.work_textbox-text2 .pc {
  display: none;
}
#work .red-btn {
  margin-right: 0;
}
@media screen and (min-width: 900px) {
  .work_textbox-text2 .pc {
    display: block;
  }
  .work__flexbox {
    display: flex;
    gap: 4%;
    width: 100%;
  }
  .work__imgbox {
    width: 48%;
  }
  .work__imgbox img {
    border-radius: unset;
    object-fit: cover;
    aspect-ratio: unset;
  }
  .work_textbox {
    width: 48%;
    align-content: center;
  }
  .work_textbox-text1 {
    margin-bottom: 20px;
  }
  .work_textbox-text2 {
    margin-bottom: 20px;
    width: fit-content;
  }
}
/*swiper*/
.swiper__recruitment {
  overflow: hidden;
}
.swiper__recruitment .swiper-wrapper {
  transition-timing-function: linear;
}
/*募集職種*/
#recruitment2__position {
  padding-bottom: 50px;
}
#recruitment2__position #position {
  position: relative;
  background: #fff;
}
#recruitment2__position h2,
#recruitment2__position .position__text1 {
  color: #bc002d;
}
#recruitment2__position .position__flex-item {
  border: 2px solid #bc002d;
}
#recruitment2__position .position__textbox {
  background: #bc002d;
  color: #fff;
}
@media screen and (min-width: 700px) {
  #recruitment2__position {
    padding-bottom: 100px;
  }
}
/*インタビュー*/
#interview {
  position: relative;
  background: #f3f3f3;
  padding-block: 50px;
  overflow: hidden;
}
#interview .looptext__wrapper {
  top: 75%;
  z-index: 1;
}
.interview__bk {
  position: absolute;
  width: 120%;
  bottom: -1%;
  left: 40%;
  z-index: -0;
}
@media screen and (min-width: 700px) {
  .interview__bk {
    width: 55%;
    left: 60%;
  }
}
@media screen and (min-width: 700px) {
  #interview {
    padding-block: 100px;
  }
}
/*社内情報*/
#info {
  background: #bc002d;
  padding-block: 50px;
}

#info h2 .pc {
  display: none;
}

#info h2 .en {
  font-size: clamp(50px, 5vw, 70px);
}
@media screen and (min-width: 800px) {
  #info {
    padding: 50px 0 100px;
  }
  #info h2 .sp {
    display: none;
  }
  #info h2 .pc {
    display: block;
  }
}
.info__wrap {
  max-width: 1300px;
  width: 95%;
  margin: 0 auto;
}
.info__box {
  background: #fff;
  border-radius: 20px;
  margin-bottom: 20px;
  text-align: center;
  padding: 1em;
}
.info__box-title {
  font-size: clamp(22px, 3vw, 40px);
  margin-bottom: 1em;
}
.info__gender {
  display: flex;
}
.info__gender-item {
  width: 35%;
  text-align: center;
  align-content: center;
}
.info__gender-item p:nth-child(1) {
  font-size: clamp(18px, 2.5vw, 40px);
}
.info__gender-item .counter {
  font-size: clamp(24px, 2.5vw, 50px);
}
.info__gender-item .number {
  font-size: clamp(50px, 5vw, 100px);
}
.info__img {
  width: 30%;
}

.info__business {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1em;
  font-size: clamp(15px, 2.5vw, 30px);
}
.info__impression {
  display: flex;
  text-align: left;
  font-size: clamp(16px, 2.5vw, 30px);
  margin-bottom: 0.5em;
}
.info__impression p:first-child {
  font-size: clamp(22px, 2.5vw, 50px);
  margin-right: 0.5em;
  opacity: 0.6;
}
.info__impression p:nth-child(2) {
  align-content: center;
}
.info_logo {
  width: 100%;
  aspect-ratio: 3/2;
  text-align: center;
  align-content: center;
}
.info_logo img {
  width: 60%;
}
@media screen and (min-width: 700px) {
  .info__flexbox {
    display: flex;
    flex-wrap: wrap;
    gap: 4%;
  }
  .info__flexbox .info__box {
    width: 48%;
  }
  .info__box {
    margin-bottom: 4%;
    padding: 2em;
  }
  .info__box-title br.sp {
    display: none;
  }
  .info_logo {
    width: 48%;
  }
}
/*円グラフ*/
.info__graph {
  position: relative;
  width: 60%;
  margin: 0 auto;
}
.info_graph-text {
  position: absolute;
  transform: translate(-50%, -50%);
  font-size: 20px;
}
.info_graph-text.age20 {
  top: 60%;
  left: 65%;
}
.info_graph-text.age30 {
  top: 40%;
  left: 25%;
}
.info__age {
  font-size: 30px;
}
@media screen and (min-width: 700px) {
  .info__graph__flexbox {
    display: flex;
  }
  .info__graph {
    width: 50%;
    order: 2;
  }
  .info__age {
    width: 50%;
    order: 1;
    align-content: center;
    font-size: clamp(20px, 2.5vw, 45px);
  }
}
.circle circle {
  fill: none;
  stroke-width: 32px;
}
.circle circle:nth-child(1) {
  stroke: #bc002d;
  stroke-dasharray: 0, 100;
  stroke-dashoffset: 0;
}

.circle circle:nth-child(2) {
  stroke: #e291a5;
  stroke-dasharray: 0, 100;
  stroke-dashoffset: 34;
}
.circle circle:nth-child(3) {
  stroke: #dd7d94;
  stroke-dasharray: 0, 100;
  stroke-dashoffset: 6;
}
.circle circle:nth-child(4) {
  stroke: #ebb3c0;
  stroke-dasharray: 0, 100;
  stroke-dashoffset: 2;
}
.circle {
  transform: rotate(-90deg);
}
@keyframes anime01 {
  0% {
    stroke-dasharray: 0, 100;
  }
  50%,
  100% {
    stroke-dasharray: 66, 100;
  }
}
@keyframes anime02 {
  0% {
    stroke-dasharray: 0, 100;
  }
  50%,
  100% {
    stroke-dasharray: 28, 72;
  }
}
@keyframes anime03 {
  0% {
    stroke-dasharray: 0, 100;
  }
  50%,
  100% {
    stroke-dasharray: 4, 96;
  }
}
@keyframes anime04 {
  0% {
    stroke-dasharray: 0, 100;
  }
  50%,
  100% {
    stroke-dasharray: 2, 98;
  }
}
.anime-circle.show .circle circle:nth-child(1) {
  animation: anime01 1.32s 0s forwards linear;
}
.anime-circle.show .circle circle:nth-child(2) {
  animation: anime02 0.56s 0.66s forwards linear;
}
.anime-circle.show .circle circle:nth-child(3) {
  animation: anime03 0.08s 0.98s forwards linear;
}
.anime-circle.show .circle circle:nth-child(4) {
  animation: anime04 0.04s 1s forwards linear;
}
/* ------------------------------ */
/* 下層ページ 募集要項*/
/* recruitment トップ */
/* ------------------------------ */
#recruitment__top {
  height: 100vh;
  background: url(../img/recruitment/recruitment_top-sp.webp);
  background-size: cover;
  background-position-x: right;
  animation: top-opacity-anime ease-in-out 1s;
}

.recruitment__top__wrap {
  position: relative;
  height: 100vh;
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
}
.recruitment__top__h2 {
  position: absolute;
  bottom: 10%;
  left: 0%;
}
.recruitment__top__h2 .en {
  font-size: clamp(54px, 10vw, 168px);
  line-height: normal;
  margin-bottom: -0.2em;
}

.recruitment__top__h2 .jp {
  font-size: clamp(22px, 5vw, 40px);
}
@media screen and (min-width: 700px) {
  #recruitment__top {
    background: url(../img/recruitment/recruitment_top.webp);
    background-size: cover;
    background-position: center center;

    width: 100%;
  }

  .recruitment__top__h2 {
    bottom: 5%;
    left: 0%;
  }
}
#position {
  padding-block: 50px;
  background: #bc002d;
}
#position h2 .pc {
  display: none;
}
.position__wrap {
  width: 95%;
  max-width: 1500px;
  margin: 0 auto;
}
.position__text1 {
  font-size: clamp(24px, 2vw, 32px);
  margin-bottom: 20px;
}
.position__flex-item {
  background: #fff;
  border-radius: 20px;
  margin: 1em auto;
  max-width: 500px;
  padding-bottom: 1.5em;
}
.position__textbox {
  display: flex;
  padding: 1em;
  flex-wrap: wrap;
  justify-content: right;
  row-gap: 1em;
  border-radius: 15px 15px 0 0;
}
.position__no {
  align-content: center;
  font-size: clamp(20px, 3vw, 40px);
  width: 10%;
}
.position__occupation {
  position: relative;
  font-size: clamp(20px, 3vw, 30px);
  width: 90%;
  line-height: 1;
  align-content: center;
  padding-left: 1em;
}
.position__occupation::before {
  position: absolute;
  content: "";
  left: 0.5em;
  top: 0;
  width: 3px;
  height: 100%;
  background: #bc002d;
}
.position__occupation span {
  font-size: clamp(12px, 2vw, 20px);
}
.position__content {
  width: 85%;
  font-size: clamp(12px, 2vw, 20px);
}
.position__imgbox {
  position: relative;
  width: 100%;
  height: auto;
  margin: 5% 0;
  aspect-ratio: 5/3;
}
.position__imgbox img {
  position: absolute;
}
.position__img1-1 {
  /*道*/
  width: 60%;
  top: 15%;
  left: 20%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.position__img1-2 {
  /*看板*/
  width: 50%;
  top: 5%;
  left: 30%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.position__img1-3 {
  /*人*/
  width: 18%;
  top: 50%;
  left: 18%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.position__img2-1 {
  /*書類*/
  width: 40%;
  top: 60%;
  left: 28%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.position__img2-2 {
  /*ペン*/
  width: 43%;
  top: 78%;
  left: 25%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.position__img2-3 {
  /*人*/
  width: 23%;
  top: 0;
  left: 35%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.position__img3-1 {
  /*電卓*/
  width: 55%;
  top: 40%;
  left: 20%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.position__img3-2 {
  /*コイン*/
  width: 18%;
  top: 55%;
  left: 43%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.position__img3-3 {
  /*人*/
  width: 11%;
  top: 5%;
  left: 30%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.position__img4-1 {
  /*建物*/
  width: 38%;
  top: 00%;
  left: 30%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.position__img4-2 {
  /*木*/
  width: 55%;
  top: 36%;
  left: 22%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.position__img4-3 {
  /*人*/
  width: 14%;
  top: 51%;
  left: 17%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.position__img4-4 {
  /*人*/
  width: 10%;
  top: 51%;
  left: 63%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.position__img5-1 {
  /*PC*/
  width: 25%;
  top: 20%;
  left: 20%;
  z-index: 1;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.position__img5-2 {
  /*PC*/
  width: 13%;
  top: 29%;
  left: 52%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.position__img5-3 {
  /*PC*/
  width: 25%;
  top: 51%;
  left: 55%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.position__img5-4 {
  /*人*/
  width: 15%;
  top: 5%;
  left: 16%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.position__img5-5 {
  /*人*/
  width: 12%;
  top: 0;
  left: 60%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.4s;
}
.position__img5-6 {
  /*人*/
  width: 25%;
  top: 52%;
  left: 42%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.5s;
}
.position__img6-1 {
  /*ボード*/
  width: 35%;
  top: 0;
  left: 40%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.position__img6-2 {
  /*人*/
  width: 17%;
  top: 22%;
  left: 54%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.position__img6-3 {
  /*椅子と人*/
  width: 26%;
  top: 48%;
  left: 28%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.position__img7-1 {
  /*モニター*/
  width: 40%;
  top: 0;
  left: 35%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.position__img7-2 {
  /*部品*/
  width: 18%;
  top: 67%;
  left: 38%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.position__img7-3 {
  /*人*/
  width: 9%;
  top: 18%;
  left: 36%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
.position__img7-4 {
  /*人*/
  width: 9%;
  top: 53%;
  left: 58%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.3s;
}
.position__img8-1 {
  /*机*/
  width: 30%;
  top: 14%;
  left: 32%;
  z-index: 1;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
}
.position__img8-2 {
  /*モニター*/
  width: 20%;
  top: 0;
  left: 50%;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.1s;
}
.position__img8-3 {
  /*人*/
  width: 26%;
  top: 32%;
  left: 26%;
  z-index: 2;
  transition: transform 0.3s ease-in-out, opacity 0.1s;
  transition-delay: 0.2s;
}
@media screen and (min-width: 700px) {
  #position h2 .sp {
    display: none;
  }
  #position h2 .pc {
    display: block;
  }
  .position__text1 {
    margin-bottom: 50px;
  }
  .position__text1 br.sp {
    display: none;
  }
  .position__flexbox {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2%;
  }
  .position__flex-item {
    width: 48%;
    margin: 2% 0;
    border-radius: 10px;
    max-width: 600px;
  }
  .position__textbox {
    border-radius: 5px 5px 0 0;
    height: calc(1.75 * 6em);
  }
  .position__occupation::before {
    width: 5px;
  }
}
#guidelines {
  padding-block: 50px;
}
#guidelines h2 .pc {
  display: none;
}
.guidelines__wrap {
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
}
@media screen and (min-width: 700px) {
  #guidelines {
    padding-block: 100px;
  }
  #guidelines h2 .sp {
    display: none;
  }
  #guidelines h2 .pc {
    display: block;
  }
}
.guidelines__table {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.guidelines__table tr {
  border-bottom: 2px solid #bc002d;
}
.guidelines__table th,
.guidelines__table td {
  padding: 2em 0;
  align-content: center;
}
.guidelines__table th {
  font-size: clamp(16px, 3vw, 28px);
  width: 30%;
}
.guidelines__table td {
  padding-left: 1em;
}
.guidelines__table td {
  font-size: clamp(14px, 3vw, 20px);
  width: 70%;
}
.guidelines__table td .small {
  font-size: clamp(12px, 2vw, 16px);
}
@media screen and (min-width: 700px) {
  .guidelines__table th {
    font-weight: 500;
  }
  .guidelines__table br.sp {
    display: none;
  }
}
#selection {
  background: #bc002d;
  padding-block: 50px;
}
#selection h2 .sp {
  font-size: clamp(46px, 8vw, 100px);
}
#selection h2 .pc {
  display: none;
}
.selection__wrap {
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
}
@media screen and (min-width: 400px) {
  #selection {
    padding-block: 100px;
  }
  #selection h2 .sp {
    display: none;
  }
  #selection h2 .pc {
    display: block;
  }
}
@media screen and (min-width: 700px) {
  #selection {
    padding-block: 100px;
  }
}
.selection__textbox {
  position: relative;
  background: #fff;
  text-align: center;
  padding: 0.5em;
  border-radius: 10px;
  margin-bottom: 2.5em;
  font-size: clamp(27px, 3vw, 40px);
  max-width: 800px;
  margin: 2em auto;
}
.selection__textbox::after {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  bottom: -1.5em;
  border-top: 0.8em #fff solid;
  border-right: 0.6em transparent solid;
  border-left: 0.6em transparent solid;
}
.selection__textbox:last-of-type::after {
  display: none;
}
.selection__text {
  font-size: clamp(12px, 3vw, 18px);
  max-width: 800px;
  margin: 0 auto;
}
#entry {
  padding-block: 50px;
}
.entry__wrap {
  overflow: hidden;
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
  background: #bc002d;
  border-radius: 10px;
  padding: 2em 1em;
}
@media screen and (min-width: 700px) {
  #entry {
    padding-block: 100px;
  }
  .entry__wrap {
    border-radius: 10px;
    padding: 4em 2em;
  }
}
.entry__wrap > div {
  margin-bottom: 2em;
}

.entry__flexbox p {
  margin: 0;
}
#entry .wpcf7-not-valid-tip {
  color: #fff;
}
form .entry__submit {
  text-align: center;
  margin: 50px auto;
}
.entry__adress__flexbox {
  display: flex;
  gap: 1em;
  text-wrap: nowrap;
}

.entry__adress__flexbox span {
  width: 100%;
}
.entry__birth__flexbox div {
  margin-bottom: 1em;
}

.entry__flexbox input,
.entry__flexbox textarea,
.entry__flexbox select {
  border: none;
}
#entry .small a,
#entry .small,
#entry .wpcf7-not-valid-tip {
  font-size: 14px;
}
.job {
  max-width: 500px;
}
@media screen and (min-width: 700px) {
  .entry__flexbox {
    display: flex;
    gap: 1%;
  }
  .entry__flexitem-left {
    width: 20%;
  }
  .entry__flexitem-right {
    width: 79%;
  }
  .entry__name__flexbox__wrap > p {
    display: flex;
    gap: 1em;
  }
  .entry__name__flexbox {
    display: flex;
    justify-content: space-between;
    gap: 1em;
    text-wrap: nowrap;
    width: 50%;
  }
  .entry__adress__flexbox {
    max-width: 500px;
  }
  .entry__birth__flexbox {
    display: flex;
  }

  .entry__birth__flexbox div {
    margin-right: 1em;
  }
}
/* ------------------------------ */
/* 下層ページ */
/* お問い合わせ */
/* ------------------------------ */
#contact {
  padding: 150px 0 100px;
  background: #f3f3f3;
  overflow: hidden;
}

.contact__wrap {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
}
.contact__h2 {
  font-size: clamp(30px, 5vw, 48px);
  margin-bottom: 20px;
  letter-spacing: -0.1em;
}
.contact__text {
  font-size: clamp(14px, 2.5vw, 18px);
  margin-bottom: 20px;
}
.contact__form-wrap {
  background: #fff;
  border-radius: 10px;
  padding: 2.5%;
  margin: 0 auto;
}
@media screen and (min-width: 700px) {
  #contact {
    padding: 250px 0 150px;
  }
  .contact__h2 {
    margin-bottom: 50px;
    letter-spacing: normal;
  }
  .contact__text {
    margin-bottom: 50px;
  }
  .contact__text .sp {
    display: none;
  }
}
.form__flexbox {
  margin: 10px auto;
}
form {
  margin: 0 auto;
  font-size: clamp(14px, 2vw, 18px);
}
form input,
form textarea,
form select {
  padding: 0.8em;
  border: 1px solid #353535;
  border-radius: 5px;
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
}
.select-item__wrap1 {
  min-width: 160px;
}
.select-item__wrap2 {
  min-width: 120px;
}
.select-item {
  position: relative;
}
.select-item::after {
  content: "";
  position: absolute;
  top: 0.3em;
  right: 16px;
  width: 12px;
  height: 12px;
  border-right: 2px solid #353535;
  border-bottom: 2px solid #353535;
  transform: rotate(45deg);
}

form .wpcf7-list-item label {
  display: flex;
  text-wrap: nowrap;
  align-items: center;
}
form .wpcf7-submit {
  border: none;
  background: #bc002d;
  border: 2px solid #bc002d;
  color: #fff;
  width: 200px;
  text-align: center;
  font-size: 16px;
  cursor: pointer;
}
form .wpcf7-submit:hover {
  background: #fff;
  color: #bc002d;
}
.wpcf7-list-item {
  margin: 0 1em 0 0 !important;
}
#contact span.wpcf7-list-item-label {
  font-weight: 400;
  align-content: center;
}
#contact .form__text {
  font-weight: 400;
}
#contact .form__text a {
  font-size: clamp(14px, 2vw, 18px);
  text-decoration: underline;
  -webkit-text-decoration: underline;
}
form .wpcf7-spinner {
  position: absolute;
}
form .submit {
  text-align: center;
  margin: 50px auto;
}
@media screen and (min-width: 700px) {
  #contact form {
    font-weight: 400;
  }
  .contact__form-wrap {
    padding: 5%;
  }
  .form__flexbox {
    display: flex;
    flex-wrap: nowrap;
    gap: 5%;
    max-width: 1000px;
  }
  .form__left-item {
    width: 30%;
  }
  .form__right-item {
    width: 65%;
  }
}
input[type="radio"] {
  position: relative;
  width: 1.2em;
  height: 1.2em;
  border-radius: 10px;
  vertical-align: top;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0.5em;
}
input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.9em;
  height: 0.9em;
  transform: translate(-50%, -50%);
  background: #353535;
  border-radius: 50px;
  content: "";
}
input[type="checkbox"] {
  position: relative;
  width: 16px;
  height: 16px;

  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0.5em;
  border-radius: unset;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 1px;
  left: 4px;
  transform: rotate(50deg);
  width: 4px;
  height: 8px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: "";
}
/* ------------------------------ */
/*  プライバシーポリシー */
/*   */
/* ------------------------------ */
#privacy {
  padding: 130px 0 80px;
  background: #f3f3f3;
}
.privacy__wrap {
  width: 95%;
  max-width: 1500px;
  margin: 0 auto;
}
@media screen and (min-width: 700px) {
  #privacy {
    padding: 200px 0 150px;
  }
}
.privacy__h1 {
  position: relative;
  font-size: clamp(30px, 6vw, 62px);
}
.privacy__h1::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 0%;
  height: 5px;
  background: #bc002d;
  transition: 0.5s ease-in-out;
}
.privacy__h1.show::after {
  width: 100%;
}
.privacy__text {
  margin: 1em 0 4em;
  font-size: clamp(14px, 3vw, 16px);
}
.privacy__list {
  list-style: decimal;
  margin-bottom: 2em;
  margin-left: 1em;
  font-size: clamp(18px, 3vw, 22px);
}
.privacy__list2 {
  list-style: none;
  margin-left: 1em;
}
.privacy__list2 li {
  position: relative;
}
.privacy__list2 li::before {
  position: absolute;
  content: "・";
  left: -1em;
}
.privacy__list-item2 {
  font-size: clamp(14px, 3vw, 16px);
}
.privacy__bottom {
  margin-top: 4em;
  font-size: 14px;
}
.privacy__bottom__flexbox {
  display: flex;
}
.privacy__bottom__flexbox p:nth-child(1) {
  text-wrap: nowrap;
}

/* ------------------------------ */
/*  blog */
/*  一覧ページ */
/* ------------------------------ */
#blog-list {
  padding: 130px 0 80px;
  background: #f3f3f3;
}
.blog-list__wrap {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
.blog-list__wrap h1 {
  text-align: center;
  font-size: clamp(50px, 10vw, 100px);
}
.blog-list__text1 {
  text-align: center;
  font-size: clamp(16px, 3vw, 30px);
}

@media screen and (min-width: 700px) {
  #blog-list {
    padding: 200px 0 150px;
  }
}
.blog-card-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  margin: 50px auto;
}
.blog-card {
  width: 49%;
  background: #fff;
  padding: 2%;
  border-radius: 10px;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
.blog-card__flexbox {
  display: flex;
  justify-content: space-between;
  margin-top: 5%;
  align-items: center;
}
.blog-card__arrow {
  width: 13%;
}
.blog-card__title {
  font-size: clamp(14px, 3vw, 20px);
  padding: 2%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}
.blog-card__date {
  font-size: clamp(14px, 3vw, 16px);
}
.blog-card:hover {
  opacity: 0.8;
}
@media screen and (min-width: 1000px) {
  .blog-card {
    width: 32%;
  }
}
/* ------------------------------ */
/*  blog */
/*  投稿ページ */
/* ------------------------------ */
#blog {
  padding: 130px 0 80px;
  background: #f3f3f3;
}
.blog__wrap {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  color: #bc002d;
}
.blog__wrap h1 {
  font-size: clamp(30px, 4vw, 62px);
  border-bottom: 3px solid #bc002d;
  margin-bottom: 5%;
}
.blog__thumbnail {
  width: 100%;
  height: auto;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin: 0 auto;
  margin-bottom: 5%;
  text-align: center;
}
.blog__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.blog__thumbnail img.logo {
  width: 80%;
  object-fit: contain;
}
@media screen and (min-width: 700px) {
  #blog {
    padding: 200px 0 150px;
    background: #f3f3f3;
  }
}
/* ------------------------------ */
/*  news */
/*  一覧ページ */
/* ------------------------------ */
#news {
  padding: 130px 0 80px;
  background: #f3f3f3;
}
.news-list__wrap {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
.news-list__wrap h1 {
  text-align: center;
  font-size: clamp(50px, 10vw, 100px);
}
.news-list__text1 {
  text-align: center;
  font-size: clamp(16px, 3vw, 30px);
  margin-bottom: 10%;
}
@media screen and (min-width: 900px) {
  #news {
    padding: 200px 0 150px;
    background: #f3f3f3;
  }
  .news-list-flexbox-pc {
    display: flex;
  }
  .news-card-list {
    margin: 0;
  }
}
.news-category-filter {
  text-align: center;
}
.news-category-filter a {
  margin: 1em;
}
.news-category-filter .active {
  color: #bc002d;
  border-bottom: 2px solid #bc002d;
}
.category-dash {
  display: none;
}
@media screen and (min-width: 900px) {
  .category-dash {
    display: inline;
  }
  .news-category-filter .active {
    border-bottom: none;
  }
  .news-category-filter a {
    display: block;
    text-align: left;
  }
}
.news-card-list {
  margin: 10% auto;
}
.news-card {
  display: block;
  width: 100%;
  background: #fff;
  padding: 2%;
  border-radius: 10px;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  margin: 5% auto;
}
.news-card-box {
  background: #d9d9d9;
  border-radius: 10px;
  padding: 5%;
  margin-top: 5%;
}
.news-card__title {
  font-size: clamp(18px, 3vw, 20px);
  padding: 2%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}
.news-card__category {
  font-size: 18px;
}
.news-card__date {
  font-size: clamp(16px, 3vw, 16px);
}
.news-card:hover {
  opacity: 0.8;
}
@media screen and (min-width: 900px) {
  .news-card-list {
    display: flex;
    width: 80%;
    flex-wrap: wrap;
    gap: 2%;
    margin: 0 auto;
  }
  .news-card__flexbox {
    display: flex;
    justify-content: space-between;
    margin-top: 5%;
    align-items: center;
  }
  .news-card {
    display: flex;
    flex-wrap: wrap;
    width: 32%;
    margin: 0;
  }
  .news-card__title {
    width: 100%;
  }
  .news-card-box {
    width: 100%;
  }
}
/* ページネーションの汎用スタイル */
.nav-links ul {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.nav-links li > * {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  height: 45px;
}
.nav-links li > *:not(.dots) {
  width: 45px;
  border-radius: 50%;
  color: #bc002d;
  background: #fff;
  transition: color 0.3s ease, background 0.3s ease;
}
.nav-links li > .current,
.nav-links li > a:hover {
  color: #fff;
  background: #bc002d;
}
