/*
Copyright (c) 2024 クロ by ハンバーガーメニュー別ver
Original Pen: https://codepen.io/aktjadpr-the-lessful/pen/vYPKPaV
Released under the MIT license
https://opensource.org/licenses/mit-license.php
*/

@charset "UTF-8";

html {
  font-size: 62.5%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

body {
  font-size: 1.6rem;
  font-family: "Zen Maru Gothic", "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic, "Meiryo UI", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  background-color: #fff;
  padding-top: 0;
  overflow-x: hidden;
}

a {
  color: #000;
  outline: 0;
  outline: none;
  text-decoration: none;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  -webkit-transition: 0.2s ease-in-out;
  -ms-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

a:hover {
  color: #ccc;
  outline: 0;
  outline: none;
  text-decoration: none;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  -webkit-transition: 0.2s ease-in-out;
  -ms-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

a[href^="tel:"] {
  cursor: default;
}

img {
  vertical-align: middle;
  border-style: none;
  max-width: 100%;
  height: auto;
}

img.img-fluid {
  vertical-align: middle;
  border-style: none;
  max-width: 100%;
  height: auto;
}

img.mg-auto {
  margin: 0 auto;
}

.container,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-fluid {
  max-width: 100%;
  padding-right: 0rem;
  padding-left: 0rem;
}

@media (min-width: 1200px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl {
    max-width: 100%;
    padding-right: 0rem;
    padding-left: 0rem;
  }
}

.container-100p {
  width: 100%;
  margin: 0 auto;
}

.row:before,
.row:after {
  width: 0;
}

.row.no-margin {
  margin-right: 0;
  margin-left: 0;
}

.row.flex {
  display: flex;
  flex-wrap: wrap;
}

.no-padding {
  padding-left: 0;
  padding-right: 0;
}

.flex-center {
  display: flex;
  align-items: center;
}

ul {
  display: block;
  list-style-type: none;
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  padding-inline-start: 0px;
}

h1 {
  margin: 0 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-transform: none;
}

.fixed-top {
  z-index: 1030;
}

dt {
  font-weight: 600;
}

#wrapper {
  display: block;
  width: 100%;
}

.wrapper {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
}

/* ------------------------------------------------------------------
[Loading]
------------------------------------------------------------------- */
.loading {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  z-index: 9999;
  background: linear-gradient(90deg, rgb(0, 191, 255), rgb(108, 190, 228));
  width: 100%;
  height: 100vh;
}

.loading .loading-text-wrap {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}

.loading .loading-text-wrap .top-copy-titles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto 8%;
  padding: 0;
}
.loading .loading-text-wrap .top-copy-titles .main-copy-onetext {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(8% - 10px);
  font-size: 2.4vw;
  font-weight: 900;
  line-height: 0.8;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  color: #000;
  margin: 5px;
  padding: 1% 0 1.5%;
  background-color: #80b472;
  border: solid 6px #000;
  border-radius: 14px;
}
.loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline {
  width: calc(10% - 10px);
  font-size: 3.3vw;
  color: #000;
  padding: 1% 0 1.5%;
  border: solid 8px #000;
  border-radius: 16px;
}
.loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline.text01 {
  background-color: #f9c270;
}
.loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline.text02 {
  background-color: #c1db81;
}
.loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline.text03 {
  background-color: #54c3f1;
}
.loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline.text04 {
  background-color: #ee87b4;
}
.loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline.text05 {
  background-color: #fff67f;
}
.loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline.text06 {
  background-color: #6c9bd2;
}

.loading .loading-text-wrap .top-copy-titles .main-copy-onetext.secondline {
  width: calc(16.6% - 10px);
  font-size: 6vw;
  color: #000;
  padding: 1.5% 0 2.5%;
  background-color: #ef845c;
  border: solid 10px #000;
  border-radius: 20px;
}

.loading .load-imgwrap-left01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 30%;
  margin: 0;
  padding: 0;
}
.loading .load-imgwrap-left02 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30%;
  margin: 0;
  padding: 0;
}
.loading .load-imgwrap-right01 {
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
  margin: 0;
  padding: 0;
}
.loading .load-imgwrap-right02 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 30%;
  margin: 0;
  padding: 0;
}

/* 初期状態：透明 & 左右オフセット位置 */
.load-imgwrap-left01 img,
.load-imgwrap-left02 img {
  opacity: 0;
  transform: translateX(-60px);
}

.load-imgwrap-right01 img,
.load-imgwrap-right02 img {
  opacity: 0;
  transform: translateX(60px);
}

/* 表示時のアニメーション */
.slide-in {
  opacity: 1 !important;
  transform: translateX(0) !important;
  transition: all 0.8s ease-out;
}

/* 初期状態（アニメーションなし） */
.loading .loading-text-wrap .top-copy-titles span {
  opacity: 0;
  display: inline-flex;
  transform: scale(0.3) translateY(20px);
}

/* アニメーション付与用クラス */
.loading .loading-text-wrap .top-copy-titles span.is-bounce {
  animation: bounceIn 0.8s forwards;
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3) translateY(20px);
  }
  60% {
    opacity: 1;
    transform: scale(1.1) translateY(-6px);
  }
  80% {
    transform: scale(0.95) translateY(2px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@media (max-width: 1480px) {
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext {
    font-size: 2vw;
    padding: 0.5% 0 1%;
    border: solid 4px #000;
    border-radius: 10px;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline {
    font-size: 3vw;
    padding: 0.5% 0 1%;
    border: solid 6px #000;
    border-radius: 10px;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.secondline {
    font-size: 5.4vw;
    padding: 1% 0 2%;
  }
}
@media (max-width: 1200px) {
  .loading .load-imgwrap-left01 {
    width: 40%;
  }
  .loading .load-imgwrap-left02 {
    width: 40%;
  }
  .loading .load-imgwrap-right01 {
    width: 40%;
  }
  .loading .load-imgwrap-right02 {
    width: 40%;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext {
    width: calc(8% - 10px);
    font-size: 2vw;
    padding: 0.5% 0 1%;
    border: solid 4px #000;
    border-radius: 6px;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline {
    width: calc(10% - 10px);
    font-size: 3vw;
    padding: 0.5% 0 1%;
    border: solid 4px #000;
    border-radius: 8px;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.secondline {
    width: calc(16.6% - 10px);
    font-size: 5.4vw;
    padding: 1% 0 2%;
    border: solid 6px #000;
    border-radius: 14px;
  }
}
@media (max-width: 990px) {
  .loading .loading-text-wrap {
    width: 90%;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext {
    font-size: 4.8vw;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline {
    font-size: 6.6vw;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.secondline {
    font-size: 10.8vw;
  }
  .loading .load-imgwrap-left01 {
    width: 45%;
  }
  .loading .load-imgwrap-left02 {
    width: 45%;
  }
  .loading .load-imgwrap-right01 {
    width: 45%;
  }
  .loading .load-imgwrap-right02 {
    width: 45%;
  }
}
@media (orientation: landscape) and (max-width: 990px) {
  .loading .loading-text-wrap {
    width: 50%;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext {
    width: calc(8% - 4px);
    margin: 5px 2px 0;
    font-size: 3vw;
    border: solid 2px #000;
    border-radius: 4px;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline {
    width: calc(10% - 4px);
    font-size: 4vw;
    border: solid 2px #000;
    border-radius: 4px;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.secondline {
    width: calc(16.6% - 4px);
    font-size: 6.4vw;
    border: solid 4px #000;
    border-radius: 8px;
  }
  .loading .load-imgwrap-left01 {
    width: 28%;
  }
  .loading .load-imgwrap-left02 {
    width: 28%;
  }
  .loading .load-imgwrap-right01 {
    width: 28%;
  }
  .loading .load-imgwrap-right02 {
    width: 28%;
  }
}
@media (max-width: 749px) {
  .loading .loading-text-wrap {
    width: 70%;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext {
    width: calc(8% - 2px);
    margin: 5px 1px 0;
    font-size: 4.2vw;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline {
    width: calc(10% - 2px);
    font-size: 5.4vw;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.secondline {
    width: calc(16.6% - 2px);
    font-size: 8.4vw;
  }
}
@media (max-width: 499px) {
  .loading .load-imgwrap-left01 {
    width: 54%;
  }
  .loading .load-imgwrap-left02 {
    width: 49%;
  }
  .loading .load-imgwrap-right01 {
    width: 53%;
  }
  .loading .load-imgwrap-right02 {
    width: 50%;
  }
  .loading .loading-text-wrap {
    width: 90%;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext {
    font-size: 5.2vw;
    border: solid 2px #000;
    border-radius: 4px;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.bigline {
    font-size: 7.2vw;
    border: solid 2px #000;
    border-radius: 4px;
  }
  .loading .loading-text-wrap .top-copy-titles .main-copy-onetext.secondline {
    font-size: 11.4vw;
    border: solid 4px #000;
    border-radius: 6px;
  }
}

/* ------------------------------------------------------------------
PreLoader
------------------------------------------------------------------- */
#second-loading {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-image: url(../img/sky-bg.webp);
  z-index: 9999;
}
.spinner {
  width: 100px;
  height: 100px;
  margin: 0 auto;
  background-color: #fbe000;
  border-radius: 100%;
  animation: sk-scaleout 1s infinite ease-in-out;
}

/* Loading Animation */
@keyframes sk-scaleout {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

/* Hide Loading Block */
#second-loading.loaded {
  opacity: 0;
  visibility: hidden;
}

/* ------------------------------------------------------------------
Nav
------------------------------------------------------------------- */
.hamburger {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 80px;
  height: 80px;
  border: none;
  border-radius: 100vmax;
  background-color: #fbe000;
  cursor: pointer;
}

.hamburger::before,
.hamburger::after,
.hamburger .hamburgerLine {
  position: absolute;
  display: block;
  width: 50%;
  height: 4px;
  border-radius: 100vmax;
  background-color: #0f4275;
}

.hamburger::before,
.hamburger::after {
  content: "";
}

.hamburger::before {
  transform: translateY(-14px);
  transition: 0.2s ease-in-out;
}

.hamburger::after {
  transform: translateY(14px);
  transition: 0.2s ease-in-out;
}

.hamburger[aria-expanded="true"] .hamburgerLine {
  opacity: 0;
}

.hamburger[aria-expanded="true"]::before {
  transform: rotate(30deg);
}

.hamburger[aria-expanded="true"]::after {
  transform: rotate(-30deg);
}

.hamburger:hover::before {
  transform: translateY(-8px);
}

.hamburger:hover::after {
  transform: translateY(8px);
}
.hamburger[aria-expanded="true"]:hover::before {
  transform: rotate(30deg);
}

.hamburger[aria-expanded="true"]:hover::after {
  transform: rotate(-30deg);
}

@media (orientation: landscape) and (max-width: 990px) {
  .hamburger {
    width: 50px;
    height: 50px;
  }
  .hamburger::before {
    transform: translateY(-8px);
  }
  .hamburger::after {
    transform: translateY(8px);
  }
}
@media (max-width: 749px) {
  .hamburger {
    top: 15px;
    right: 15px;
    width: 50px;
    height: 50px;
  }
  .hamburger::before {
    transform: translateY(-8px);
  }
  .hamburger::after {
    transform: translateY(8px);
  }
}
@media (max-width: 499px) {
  .hamburger {
    top: 14px;
    right: 15px;
  }
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-image: url(../img/sky-bg.webp);
  background-size: cover;
}

.nav[aria-hidden="true"] {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.nav[aria-hidden="false"] {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.nav-wrap {
  width: 100%;
  height: 100%;
  margin-left: 0;
  margin-right: 0;
}

.nav-center-wrap {
  flex: 0 0 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
  margin: 0 auto;
}

.nav-left-wrap {
  width: 50%;
  height: 100%;
  padding-left: 0;
  padding-right: 0;
}
.nav-right-wrap {
  width: 50%;
  height: 100%;
  padding-left: 0;
  padding-right: 0;
}

.menu {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 5% 10%;
  color: #0f4275;
}

.nav-img-wrap-left01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 35%;
  margin: 0;
  padding: 0;
}
.nav-img-wrap-left02 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 35%;
  margin: 0;
  padding: 0;
}
.nav-img-wrap-right01 {
  position: absolute;
  top: 0;
  right: 0;
  width: 35%;
  margin: 0;
  padding: 0;
}
.nav-img-wrap-right02 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 35%;
  margin: 0;
  padding: 0;
}

.main {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: auto;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100vh;
  pointer-events: none;
}

.menu li {
  width: 60%;
  height: auto;
  list-style: none;
  text-align: center;
  margin: 0 auto;
}

.menu li.menu-btn {
  width: 100%;
}

.menu li a {
  display: inline-block;
  font-size: 1.6vw;
  font-weight: 900;
  font-family: "Montserrat", sans-serif;
  list-style: none;
  color: #0f4275;
  margin: 0 auto;
  padding: 1%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.menu li a span {
  display: block;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 0;
}

.menu li a:hover {
  color: #fbe000;
}

button:focus {
  outline: none;
  outline: none;
}

.menu li a.button-c {
  position: relative;
  display: block;
  width: 300px;
  font-size: 1.6vw;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0px;
  line-height: 1;
  outline: none;
  color: #0f4275;
  margin: 20px auto 30px;
  padding: 20px 0px;
  z-index: 2;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  overflow: hidden;
  background-color: #fbe000;
}
.menu li a.button-c span {
  display: block;
  font-size: 15px;
  font-weight: 600;
  padding: 6px 0 0;
}
.menu li a.button-c::before,
.menu li a.button-c::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
}
.menu li a.button-c,
.menu li a.button-c::before,
.menu li a.button-c::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.menu li a.button-c:hover {
  color: #fff;
  text-decoration: none;
}
.menu li a.button-c::after {
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
}
.menu li a.button-c:hover::after {
  left: 0;
  background-color: #0f4275;
}

.menu li.nav-company-wrap {
  display: block;
  width: 340px;
  text-align: center;
  margin: 0 auto;
}
.menu li.nav-company-wrap .nav-logo-wrap {
  display: block;
  margin: 0 auto;
  padding: 0;
}
.menu li.nav-company-wrap .nav-logo-wrap a {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  color: #000;
  margin: 0 auto;
  padding: 0;
}
.menu li.nav-company-wrap .nav-address-wrap {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  color: #000;
  margin: 0 0 10px;
  padding: 0;
}
.menu li.nav-company-wrap .nav-address-wrap a.address-gm {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  color: #000;
  margin: 0;
  padding: 5px 0 0;
}
.menu li.nav-company-wrap .nav-tel-wrap {
  display: block;
  margin: 0 0 10px;
  padding: 0;
}
.menu li.nav-company-wrap .nav-tel-wrap a.nav-contact-tel {
  display: block;
  font-size: 3rem;
  font-weight: 600;
  color: #000;
  margin: 0;
  padding: 0;
}
.menu li.nav-company-wrap .nav-tel-wrap .nav-contact-tel-uke {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  color: #000;
  margin: 0;
  padding: 0;
}

@media (max-width: 1480px) {
  .menu {
    padding: 2% 10%;
  }
}
@media (max-width: 1200px) {
  .nav-img-wrap-left02 {
    width: 33%;
  }
  .nav-img-wrap-right02 {
    width: 33%;
  }
}
@media (max-width: 990px) {
  .nav-img-wrap-left01 {
    width: 45%;
  }
  .nav-img-wrap-right01 {
    width: 45%;
  }
  .nav-img-wrap-left02 {
    width: 45%;
  }
  .nav-img-wrap-right02 {
    width: 45%;
  }
  .menu {
    padding: 25% 10% 30%;
  }
  .menu li a {
    font-size: 3vw;
  }
  .menu li a.button-c {
    font-size: 3vw;
  }
}
@media (orientation: landscape) and (max-width: 990px) {
  .nav {
    overflow: scroll;
  }
  .nav-center-wrap {
    display: block;
    width: 100%;
    height: auto;
  }
  .menu {
    display: block;
    padding: 25% 10% 30%;
    width: 100%;
    height: auto;
  }
  .menu li a {
    padding: 10px;
  }
}
@media (max-width: 499px) {
  .nav-img-wrap-left01 {
    width: 53%;
  }
  .nav-img-wrap-right01 {
    width: 53%;
  }
  .nav-img-wrap-left02 {
    width: 49%;
  }
  .nav-img-wrap-right02 {
    width: 49%;
  }
  .menu {
    padding: 30% 10% 35%;
  }
  .menu li a {
    font-size: 1.8rem;
  }
  .menu li a.button-c {
    font-size: 1.8rem;
    margin: 10px auto 20px;
  }
}
@media (max-width: 380px) {
  .menu {
    padding: 33% 0 35%;
  }
  .menu li a {
    font-size: 1.6rem;
    line-height: 1.1;
  }
  .menu li a span {
    font-size: 1.4rem;
  }
  .menu li a.button-c {
    font-size: 1.6rem;
    margin: 10px auto;
    padding: 10px 0px;
  }
}
@media (orientation: portrait) and (max-height: 700px) {
  .menu {
    padding: 28% 0 35%;
  }
  .menu li {
    z-index: 11;
  }
  .menu li a {
    font-size: 1.4rem;
  }
  .menu li a span {
    font-size: 1.2rem;
  }
  .menu li a.button-c {
    font-size: 1.5rem;
    margin: 5px auto;
    padding: 8px 0;
  }
  .menu li a.button-c span {
    font-size: 1.3rem;
    padding: 4px 0 0;
  }
  .menu li.nav-company-wrap .nav-logo-wrap a {
    font-size: 1.6rem;
  }
  .menu li.nav-company-wrap .nav-address-wrap {
    font-size: 1.4rem;
  }
  .menu li.nav-company-wrap .nav-address-wrap a.address-gm {
    display: none;
  }
  .menu li.nav-company-wrap .nav-tel-wrap a.nav-contact-tel {
    font-size: 2rem;
  }
}

/* ------------------------------------------------------------------
Hero
------------------------------------------------------------------- */
#hero-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background: #fff;
  background-image: url(../img/sky-bg.webp);
  background-size: cover;
}
.hero-copy-wrap {
  position: absolute;
  top: 5%;
  left: 0;
  display: block;
  width: 100%;
  font-size: 1.8vw;
  font-weight: 600;
  font-family: "Murecho", sans-serif;
  text-align: center;
  margin: 0 0 5%;
  padding: 0;
  color: #fff;
}

/* ------------------------------
   ③ 流れ星（軌跡つき）
------------------------------ */
.shooting-star {
  position: absolute;
  width: 6px;
  height: 6px;
  background: #fbe000;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;

  /* 光の尾 */
  box-shadow:
    0 0 10px 3px rgba(251, 224, 0, 1),
    -50px 0 15px rgba(251, 224, 0, 0.5),
    -100px 0 10px rgba(251, 224, 0, 0.2);
}

@keyframes shooting {
  0% {
    opacity: 0;
    transform: translate(0, 0) rotate(45deg);
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(600px, 300px) rotate(45deg);
  }
}

/* ------------------------------
   地球・リンクボタン
------------------------------ */
.hero-earth-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 44%;
  height: 100vh;
  margin: 0 auto;
  padding: 20px 0 0;
  z-index: 1;
}

.hero-earth-fukidashi-01,
.hero-earth-fukidashi-02,
.hero-earth-fukidashi-03,
.hero-earth-fukidashi-04 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 150px;
  height: 150px;
  background-color: #ef845c;
  opacity: 0; /* 最初は非表示 */
  transition: transform 0.3s;
  animation:
    bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards,
    floating20 3s ease-in-out infinite;
}

.hero-earth-fukidashi-01 {
  position: absolute;
  top: 5%;
  left: 7%;
  border-radius: 100% 100% 0 100%; /* 右下以外に角丸を指定 */
  animation-delay: 8.4s, 9.6s;
}

.hero-earth-fukidashi-02 {
  position: absolute;
  top: 30%;
  right: -2%;
  border-radius: 100% 100% 100% 0;
  animation-delay: 8.8s, 10s;
}

.hero-earth-fukidashi-03 {
  position: absolute;
  bottom: 12%;
  left: -8%;
  border-radius: 100% 0 100% 100%;
  animation-delay: 9.2s, 10.4s;
}

.hero-earth-fukidashi-04 {
  position: absolute;
  bottom: 10%;
  right: -6%;
  border-radius: 0 100% 100% 100%;
  animation-delay: 9.6s, 10.8s;
}

.hero-earth-fukidashi-01 a,
.hero-earth-fukidashi-02 a,
.hero-earth-fukidashi-03 a,
.hero-earth-fukidashi-04 a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 130px;
  height: 130px;
  font-size: 1vw;
  font-weight: 800;
  font-family: "Montserrat", sans-serif;
  line-height: 1.2;
  color: #0f4275;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.hero-earth-fukidashi-01 a span,
.hero-earth-fukidashi-02 a span,
.hero-earth-fukidashi-03 a span,
.hero-earth-fukidashi-04 a span {
  display: block;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 4px 0 0;
}

.hero-earth-fukidashi-01 a:hover,
.hero-earth-fukidashi-02 a:hover,
.hero-earth-fukidashi-03 a:hover,
.hero-earth-fukidashi-04 a:hover {
  color: #000;
  background-color: #fbe000;
  transform: scale(1.3);
}

@media (max-width: 1680px) {
  .hero-earth-fukidashi-01,
  .hero-earth-fukidashi-02,
  .hero-earth-fukidashi-03,
  .hero-earth-fukidashi-04 {
    width: 140px;
    height: 140px;
  }
  .hero-earth-fukidashi-01 a,
  .hero-earth-fukidashi-02 a,
  .hero-earth-fukidashi-03 a,
  .hero-earth-fukidashi-04 a {
    width: 110px;
    height: 110px;
  }
}
@media (max-width: 1480px) {
  .hero-earth-fukidashi-01,
  .hero-earth-fukidashi-02,
  .hero-earth-fukidashi-03,
  .hero-earth-fukidashi-04 {
    width: 120px;
    height: 120px;
  }
  .hero-earth-fukidashi-01 a,
  .hero-earth-fukidashi-02 a,
  .hero-earth-fukidashi-03 a,
  .hero-earth-fukidashi-04 a {
    width: 100px;
    height: 100px;
  }
}
@media (max-width: 1300px) {
  .hero-earth-fukidashi-01 {
    top: 6%;
    left: 8%;
  }
}
@media (max-width: 1200px) {
  .hero-earth-fukidashi-01 {
    top: 15%;
    left: 0%;
  }
  .hero-earth-fukidashi-03 {
    bottom: 18%;
    left: -12%;
  }
  .hero-earth-fukidashi-04 {
    bottom: 18%;
    right: -12%;
  }
  .hero-earth-fukidashi-01 a,
  .hero-earth-fukidashi-02 a,
  .hero-earth-fukidashi-03 a,
  .hero-earth-fukidashi-04 a {
    font-size: 1.3vw;
  }
  .hero-earth-fukidashi-01 a span,
  .hero-earth-fukidashi-02 a span,
  .hero-earth-fukidashi-03 a span,
  .hero-earth-fukidashi-04 a span {
    font-size: 1.1vw;
  }
}
@media (max-width: 990px) {
  .hero-earth-wrap {
    width: 80%;
  }
  .hero-earth-fukidashi-01 {
    top: 17%;
    left: 15%;
  }
  .hero-earth-fukidashi-02 {
    top: 38%;
    right: 5%;
  }
  .hero-earth-fukidashi-03 {
    bottom: 22%;
    left: 0%;
  }
  .hero-earth-fukidashi-04 {
    bottom: 18%;
    right: 0%;
  }
  .hero-earth-fukidashi-01 a,
  .hero-earth-fukidashi-02 a,
  .hero-earth-fukidashi-03 a,
  .hero-earth-fukidashi-04 a {
    font-size: 2vw;
  }
  .hero-earth-fukidashi-01 a span,
  .hero-earth-fukidashi-02 a span,
  .hero-earth-fukidashi-03 a span,
  .hero-earth-fukidashi-04 a span {
    font-size: 14px;
  }
}
@media (orientation: landscape) and (max-width: 990px) {
  .hero-earth-wrap {
    width: 40%;
    padding: 40px 0 0;
  }
  .hero-earth-fukidashi-01 {
    top: 32%;
    left: -15%;
  }
  .hero-earth-fukidashi-02 {
    top: 45%;
    right: -25%;
  }
  .hero-earth-fukidashi-03 {
    bottom: 5%;
    left: -18%;
  }
  .hero-earth-fukidashi-04 {
    bottom: 0%;
    right: -15%;
  }
  .hero-earth-fukidashi-01,
  .hero-earth-fukidashi-02,
  .hero-earth-fukidashi-03,
  .hero-earth-fukidashi-04 {
    width: 170px;
    height: 50px;
    border-radius: 25px;
  }
  .hero-earth-fukidashi-01 a,
  .hero-earth-fukidashi-02 a,
  .hero-earth-fukidashi-03 a,
  .hero-earth-fukidashi-04 a {
    width: 160px;
    height: 40px;
    font-size: 16px;
    border-radius: 20px;
  }
  .hero-earth-fukidashi-01 a span,
  .hero-earth-fukidashi-02 a span,
  .hero-earth-fukidashi-03 a span,
  .hero-earth-fukidashi-04 a span {
    font-size: 12px;
    padding: 0;
  }
  .hero-earth-fukidashi-01 a span br {
    display: none;
  }
}
@media (max-width: 749px) {
  .hero-earth-wrap {
    width: 50%;
    padding: 40px 0 0;
  }
  .hero-earth-fukidashi-01 {
    top: 32%;
    left: -15%;
  }
  .hero-earth-fukidashi-02 {
    top: 45%;
    right: -25%;
  }
  .hero-earth-fukidashi-03 {
    bottom: 5%;
    left: -18%;
  }
  .hero-earth-fukidashi-04 {
    bottom: 0%;
    right: -15%;
  }
  .hero-earth-fukidashi-01,
  .hero-earth-fukidashi-02,
  .hero-earth-fukidashi-03,
  .hero-earth-fukidashi-04 {
    width: 170px;
    height: 50px;
    border-radius: 25px;
  }
  .hero-earth-fukidashi-01 a,
  .hero-earth-fukidashi-02 a,
  .hero-earth-fukidashi-03 a,
  .hero-earth-fukidashi-04 a {
    width: 160px;
    height: 40px;
    font-size: 16px;
    border-radius: 20px;
  }
  .hero-earth-fukidashi-01 a span,
  .hero-earth-fukidashi-02 a span,
  .hero-earth-fukidashi-03 a span,
  .hero-earth-fukidashi-04 a span {
    font-size: 12px;
    padding: 0;
  }
  .hero-earth-fukidashi-01 a span br {
    display: none;
  }
}
@media (max-width: 499px) {
  .hero-earth-wrap {
    width: 90%;
    padding: 40px 0 0;
  }
  .hero-earth-fukidashi-01 {
    top: 30%;
    left: 0%;
  }
  .hero-earth-fukidashi-02 {
    top: 42%;
    right: -2%;
  }
  .hero-earth-fukidashi-03 {
    bottom: 29%;
    left: -3%;
  }
  .hero-earth-fukidashi-04 {
    bottom: 26%;
    right: -2%;
  }
}
@media (orientation: portrait) and (max-height: 700px) {
  .hero-earth-fukidashi-01 {
    top: 28%;
  }
  .hero-earth-fukidashi-02 {
    top: 40%;
  }
  .hero-earth-fukidashi-03 {
    bottom: 24%;
  }
  .hero-earth-fukidashi-04 {
    bottom: 21%;
  }
}

.hero-8-cloud {
  position: absolute;
  top: 14%;
  right: 26%;
  width: 6%;
}
.hero-6-cloud {
  position: absolute;
  top: 87%;
  left: 33%;
  width: 6.5%;
}
.hero-13-cloud {
  position: absolute;
  top: 52%;
  right: 24%;
  width: 4%;
}

.hero-1-constellation {
  position: absolute;
  top: 11%;
  left: 6%;
  width: 18%;
}
.hero-2-stars {
  position: absolute;
  top: 6%;
  left: 25%;
  width: 4%;
}
.hero-9-rocket {
  position: absolute;
  top: 8%;
  right: 17%;
  width: 8%;
}
.hero-10-star {
  position: absolute;
  top: 18%;
  right: 3%;
  width: 7%;
}

.hero-3-star {
  position: absolute;
  top: 37%;
  left: 20%;
  width: 6%;
}
.hero-11-stars {
  position: absolute;
  top: 32%;
  right: 10%;
  width: 7%;
}

.hero-4-astronaut {
  position: absolute;
  top: 45%;
  left: 4%;
  width: 11%;
}
.hero-12-ufo {
  position: absolute;
  top: 52%;
  right: 12%;
  width: 6%;
}

.hero-5-planet {
  position: absolute;
  top: 68%;
  left: 14%;
  width: 7%;
}
.hero-14-star {
  position: absolute;
  top: 66%;
  right: 3%;
  width: 9%;
}

.hero-7-stars {
  position: absolute;
  top: 85%;
  left: 4%;
  width: 8%;
}
.hero-15-shooting {
  position: absolute;
  top: 85%;
  right: 14%;
  width: 10%;
}

.header-logo-wrap {
  position: fixed;
  top: 10px;
  left: 10px;
  display: block;
  width: 300px;
  height: 80px;
  z-index: 9;
}
.header-logo-wrap a {
  display: block;
  width: 300px;
  height: 80px;
}

@media (max-width: 749px) {
  .header-logo-wrap {
    width: 220px;
    height: auto;
  }
  .header-logo-wrap a {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 499px) {
  .header-logo-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    padding: 4px 10px;
    background-color: rgba(255, 255, 255, 1);
  }
  .header-logo-wrap.toppage {
    background-color: rgba(255, 255, 255, 0);
  }
  .header-logo-wrap a {
    width: 260px;
    height: auto;
  }
}

/* ▼ bounce-in アニメーション */
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.5);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* ▼ bounceIn の後に自動で開始する “ふわふわ上下” アニメーション */
@keyframes floating {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-40px); /* 上にふわっと */
  }
  100% {
    transform: translateY(0);
  }
}

/* ▼ bounceIn の後に自動で開始する “ふわふわ上下” アニメーション2 */
@keyframes floating20 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px); /* 上にふわっと */
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes rotate-z {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes yurayura {
  0%,
  100% {
    transform: rotate(10deg);
  }
  50% {
    transform: rotate(-10deg);
  }
}

@keyframes jumpdance {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}

@keyframes sc3dk {
  from {
    transform: scale3d(1, 1, 1);
  }
  to {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}

@keyframes stepdance {
  0%,
  100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-10px);
  }
  75% {
    transform: translateX(10px);
  }
}

/* ▼ 星のキラキラ点滅アニメーション */
@keyframes starTwinkle {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.15);
  } /* 光って少し拡大 */
  100% {
    opacity: 0;
    transform: scale(1);
  }
}

/* ▼ 星画像すべてに適用 */
[class*="hero-"][class*="-star"] img {
  animation: starTwinkle 4s ease-in-out infinite;
}

/* ▼ 星画像すべてに適用 */
[class*="hero-"][class*="-stars"] img {
  animation: starTwinkle 9s ease-in-out infinite;
}

/* ▼ 地球画像に適用（最初に bounceIn → その後ずっと floating） */
.hero-earth-wrap {
  opacity: 0;
  animation:
    bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards,
    /* ② bounceIn終了後に開始（delay で開始時間を調整） */ floating 5s ease-in-out infinite;
  animation-delay:
    7.2s,
    /* bounceIn の遅延 */ 8.2s; /* floating の開始タイミング（bounceIn 1s + delay 0.2s の後） */
}

.hero-8-cloud img {
  opacity: 0; /* 最初は非表示 */
  animation:
    bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards,
    floating 5s ease-in-out infinite;
  animation-delay: 7.4s, 8.6s;
}
.hero-6-cloud img {
  opacity: 0; /* 最初は非表示 */
  animation:
    bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards,
    /* ② bounceIn終了後に開始（delay で開始時間を調整） */ floating 5s ease-in-out infinite;
  animation-delay: 7.4s, 8.6s;
}
.hero-13-cloud img {
  opacity: 0; /* 最初は非表示 */
  animation:
    bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards,
    /* ② bounceIn終了後に開始（delay で開始時間を調整） */ floating 5s ease-in-out infinite;
  animation-delay: 7.4s, 8.6s;
}

.hero-1-constellation img {
  opacity: 0; /* 最初は非表示 */
  animation:
    bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards,
    yurayura 3s ease-in-out infinite;
  animation-delay: 7.4s;
}
.hero-2-stars img {
  opacity: 0; /* 最初は非表示 */
  animation: bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
  animation-delay: 7.4s;
}
.hero-9-rocket img {
  opacity: 0; /* 最初は非表示 */
  animation:
    bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards,
    floating20 2s ease-in-out infinite;
  animation-delay: 7.4s, 8.6s;
}
.hero-10-star img {
  opacity: 0; /* 最初は非表示 */
  animation: bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
  animation-delay: 7.4s, 8.6s;
}

.hero-3-star img {
  opacity: 0; /* 最初は非表示 */
  animation: bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
  animation-delay: 7.4s, 8.6s;
}
.hero-11-stars img {
  opacity: 0; /* 最初は非表示 */
  animation: bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
  animation-delay: 7.4s, 8.6s;
}

.hero-4-astronaut img {
  opacity: 0; /* 最初は非表示 */
  animation:
    bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards,
    rotate-z 5s ease-in-out infinite;
  animation-delay: 7.4s, 8.6s;
}
.hero-12-ufo img {
  opacity: 0; /* 最初は非表示 */
  animation:
    bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards,
    yurayura 3s ease-in-out infinite;
  animation-delay: 7.4s, 8.6s;
}

.hero-5-planet img {
  opacity: 0; /* 最初は非表示 */
  animation:
    bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards,
    floating20 6s ease-in-out infinite;
  animation-delay: 7.4s, 8.6s;
}
.hero-14-star img {
  opacity: 0; /* 最初は非表示 */
  animation: bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
  animation-delay: 7.4s, 8.6s;
}

.hero-7-stars img {
  opacity: 0; /* 最初は非表示 */
  animation: bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
  animation-delay: 7.4s, 8.6s;
}
.hero-15-shooting img {
  opacity: 0; /* 最初は非表示 */
  animation:
    bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards,
    stepdance 5s ease-in-out infinite;
  animation-delay: 7.4s, 8.6s;
}

@media (max-width: 990px) {
  .hero-8-cloud {
    top: 20%;
    right: 18%;
    width: 10%;
  }
  .hero-6-cloud {
    top: 78%;
    left: 26%;
    width: 8%;
  }
  .hero-13-cloud {
    top: 55%;
    right: 4%;
    width: 6%;
  }
  .hero-1-constellation {
    top: 3%;
    left: 40%;
    width: 30%;
  }
  .hero-12-ufo {
    position: absolute;
    top: 87%;
    right: 73%;
    width: 12%;
  }
  .hero-4-astronaut {
    top: 22%;
    left: 2%;
    width: 15%;
  }
  .hero-5-planet {
    position: absolute;
    top: 88%;
    left: 45%;
    width: 18%;
  }
}
@media (orientation: landscape) and (max-width: 990px) {
  .hero-8-cloud {
    top: 14%;
    right: 26%;
    width: 6%;
  }
  .hero-6-cloud {
    top: 87%;
    left: 33%;
    width: 6.5%;
  }
  .hero-13-cloud {
    top: 60%;
    right: 26%;
    width: 4%;
  }
  .hero-1-constellation {
    top: 25%;
    left: 2%;
    width: 18%;
  }
  .hero-2-stars {
    top: 20%;
    left: 25%;
    width: 4%;
  }
  .hero-9-rocket {
    top: 8%;
    right: 17%;
    width: 8%;
  }
  .hero-10-star {
    top: 40%;
    right: 2%;
    width: 7%;
  }
  .hero-3-star {
    top: 50%;
    left: 20%;
    width: 6%;
  }
  .hero-11-stars {
    top: 32%;
    right: 10%;
    width: 7%;
  }
  .hero-4-astronaut {
    top: 55%;
    left: 4%;
    width: 11%;
  }
  .hero-12-ufo {
    top: 52%;
    right: 12%;
    width: 6%;
  }
  .hero-5-planet {
    top: 88%;
    left: 15%;
    width: 7%;
  }
  .hero-14-star {
    top: 66%;
    right: 3%;
    width: 9%;
  }
  .hero-7-stars {
    top: 85%;
    left: 4%;
    width: 8%;
  }
  .hero-15-shooting {
    top: 75%;
    right: 11%;
    width: 10%;
  }
}
@media (max-width: 499px) {
  .hero-8-cloud {
    top: 27%;
    right: 20%;
    width: 15%;
    transform: rotate(-18deg);
  }
  .hero-6-cloud {
    top: 72%;
    left: 33%;
    width: 15%;
    transform: rotate(-12deg);
  }
  .hero-13-cloud {
    top: 55%;
    right: 0;
    width: 8%;
  }
  .hero-1-constellation {
    top: 10%;
    left: 27%;
    width: 50%;
  }
  .hero-2-stars {
    top: 14%;
    left: 10%;
    width: 10%;
  }
  .hero-9-rocket {
    top: 12%;
    right: 4%;
    width: 18%;
  }
  .hero-10-star {
    top: 28%;
    right: 2%;
    width: 12%;
  }
  .hero-3-star {
    top: 19%;
    left: 12%;
    width: 10%;
  }
  .hero-11-stars {
    top: 34%;
    left: 0%;
    width: 13%;
  }
  .hero-4-astronaut {
    top: 75%;
    left: 5%;
    width: 25%;
  }
  .hero-12-ufo {
    top: 82%;
    right: 12%;
    width: 18%;
  }
  .hero-5-planet {
    top: 85%;
    left: 40%;
    width: 20%;
  }
  .hero-14-star {
    top: 74%;
    right: 10%;
    width: 14%;
  }
  .hero-7-stars {
    top: 90%;
    left: 10%;
    width: 18%;
  }
  .hero-15-shooting {
    top: 91%;
    right: 11%;
    width: 16%;
  }
}
@media (orientation: portrait) and (max-height: 700px) {
  .hero-8-cloud {
    top: 24%;
    right: 18%;
    width: 14%;
    transform: rotate(-18deg);
  }
  .hero-6-cloud {
    top: 77%;
    left: 33%;
    width: 14%;
    transform: rotate(-12deg);
  }
  .hero-1-constellation {
    top: 12%;
    left: 35%;
    width: 40%;
  }
  .hero-9-rocket {
    top: 13%;
    right: 5%;
    width: 16%;
  }
  .hero-10-star {
    top: 28%;
    right: 2%;
    width: 12%;
  }
  .hero-3-star {
    top: 19%;
    left: 12%;
    width: 10%;
  }
  .hero-11-stars {
    top: 34%;
    left: 0%;
    width: 13%;
  }
  .hero-4-astronaut {
    top: 75%;
    left: 5%;
    width: 25%;
  }
  .hero-12-ufo {
    top: 82%;
    right: 12%;
    width: 18%;
  }
  .hero-5-planet {
    top: 85%;
    left: 40%;
    width: 20%;
  }
  .hero-14-star {
    top: 74%;
    right: 10%;
    width: 14%;
  }
  .hero-7-stars {
    top: 90%;
    left: 10%;
    width: 18%;
  }
  .hero-15-shooting {
    top: 91%;
    right: 11%;
    width: 16%;
  }
}

/* ------------------------------------------------------------------
about.html
------------------------------------------------------------------- */
.about-hero {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  background-image: url(../img/sky-bg.webp);
  width: 100%;
  height: 100vh;
}

.main-about {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  z-index: 2;
}

.about-hero-imgwrap-left01 {
  position: fixed;
  top: 0;
  left: 0;
  width: 28%;
  margin: 0;
  padding: 0;
}
.about-hero-imgwrap-right01 {
  position: fixed;
  top: 0;
  right: 0;
  width: 28%;
  margin: 0;
  padding: 0;
}
.about-hero .about-hero-imgwrap-left02 {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 25%;
  margin: 0;
  padding: 0;
}
.about-hero .about-hero-imgwrap-right02 {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 25%;
  margin: 0;
  padding: 0;
}

@media (max-width: 990px) {
  .about-hero-imgwrap-left01 {
    width: 45%;
  }
  .about-hero-imgwrap-right01 {
    width: 45%;
  }
  .about-hero .about-hero-imgwrap-left02 {
    width: 45%;
  }
  .about-hero .about-hero-imgwrap-right02 {
    width: 45%;
  }
}
@media (orientation: landscape) and (max-width: 990px) {
  .about-hero-imgwrap-left01 {
    width: 30%;
  }
  .about-hero-imgwrap-right01 {
    width: 30%;
  }
  .about-hero .about-hero-imgwrap-left02 {
    width: 30%;
  }
  .about-hero .about-hero-imgwrap-right02 {
    width: 30%;
  }
}
@media (max-width: 749px) {
  .about-hero-imgwrap-left01 {
    width: 30%;
  }
  .about-hero-imgwrap-right01 {
    width: 30%;
  }
  .about-hero .about-hero-imgwrap-left02 {
    width: 30%;
  }
  .about-hero .about-hero-imgwrap-right02 {
    width: 30%;
  }
}
@media (max-width: 499px) {
  .about-hero-imgwrap-left01 {
    top: 67px;
    width: 50%;
  }
  .about-hero-imgwrap-right01 {
    top: 77px;
    width: 50%;
  }
  .about-hero .about-hero-imgwrap-left02 {
    width: 49%;
  }
  .about-hero .about-hero-imgwrap-right02 {
    width: 49%;
  }
}

/* -------------------------------
About Hero Title
---------------------------------- */
.about-hero-wrap {
  width: 100%;
  margin: 0 auto;
  padding: 15% 0 10%;
}

.hero-content-inner {
  display: block;
  width: 50%;
  margin: 0 auto;
  padding: 0;
}
.hero-content-inner .main-copy-titles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto 8%;
  padding: 0;
}
.hero-content-inner .main-copy-titles .main-copy-onetext {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(8% - 10px);
  font-size: 2.4vw;
  font-weight: 900;
  line-height: 0.8;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  color: #000;
  margin: 5px;
  padding: 1% 0 1.5%;
  background-color: #80b472;
  border: solid 6px #000;
  border-radius: 14px;
}
.hero-content-inner .main-copy-titles .main-copy-onetext.bigline {
  width: calc(10% - 10px);
  font-size: 3.3vw;
  color: #000;
  padding: 1% 0 1.5%;
  border: solid 8px #000;
  border-radius: 16px;
}
.hero-content-inner .main-copy-titles .main-copy-onetext.bigline.text01 {
  background-color: #f9c270;
}
.hero-content-inner .main-copy-titles .main-copy-onetext.bigline.text02 {
  background-color: #c1db81;
}
.hero-content-inner .main-copy-titles .main-copy-onetext.bigline.text03 {
  background-color: #54c3f1;
}
.hero-content-inner .main-copy-titles .main-copy-onetext.bigline.text04 {
  background-color: #ee87b4;
}
.hero-content-inner .main-copy-titles .main-copy-onetext.bigline.text05 {
  background-color: #fff67f;
}
.hero-content-inner .main-copy-titles .main-copy-onetext.bigline.text06 {
  background-color: #6c9bd2;
}

.hero-content-inner .main-copy-titles .main-copy-onetext.secondline {
  width: calc(16.6% - 10px);
  font-size: 6vw;
  color: #000;
  padding: 1.5% 0 2.5%;
  background-color: #ef845c;
  border: solid 10px #000;
  border-radius: 20px;
}

.hero-content-inner .main-copy-leads {
  display: block;
  width: 100%;
  font-size: 1.3vw;
  font-weight: 500;
  color: #000;
  line-height: 1.8;
  margin: 0 auto;
  padding: 0 0 0 5%;
}

@media (max-width: 1480px) {
  .hero-content-inner .main-copy-titles .main-copy-onetext {
    width: calc(8% - 8px);
    font-size: 2.4vw;
    margin: 4px;
    padding: 0.5% 0 1%;
    border: solid 4px #000;
    border-radius: 8px;
  }
  .hero-content-inner .main-copy-titles .main-copy-onetext.bigline {
    width: calc(10% - 8px);
    font-size: 3.3vw;
    margin: 4px;
    padding: 0.5% 0 1%;
    border: solid 6px #000;
    border-radius: 10px;
  }
  .hero-content-inner .main-copy-titles .main-copy-onetext.secondline {
    width: calc(16.6% - 8px);
    font-size: 5.4vw;
    margin: 4px;
    padding: 1% 0 2%;
    border-radius: 16px;
  }
}
@media (max-width: 1200px) {
  .hero-content-inner {
    width: 56%;
  }
  .hero-content-inner .main-copy-titles .main-copy-onetext {
    width: calc(8% - 6px);
    font-size: 3vw;
    margin: 3px;
    border: solid 3px #000;
    border-radius: 8px;
  }
  .hero-content-inner .main-copy-titles .main-copy-onetext.bigline {
    width: calc(10% - 6px);
    font-size: 4vw;
    margin: 3px;
    border: solid 4px #000;
    border-radius: 10px;
  }
  .hero-content-inner .main-copy-titles .main-copy-onetext.secondline {
    width: calc(16.6% - 6px);
    font-size: 7vw;
    margin: 3px;
    border: solid 8px #000;
    border-radius: 12px;
  }
  .about-hero-wrap {
    padding: 16% 0 8%;
  }
  .hero-content-inner .main-copy-leads {
    font-size: 1.7vw;
    letter-spacing: 0;
    padding: 0 0 0 1%;
  }
}
@media (max-width: 990px) {
  .about-hero-wrap {
    padding: 32% 0 6%;
  }
  .hero-content-inner {
    width: 70%;
  }
  .hero-content-inner .main-copy-titles .main-copy-onetext {
    width: calc(8% - 4px);
    font-size: 3.8vw;
    margin: 2px;
    border: solid 3px #000;
    border-radius: 8px;
  }
  .hero-content-inner .main-copy-titles .main-copy-onetext.bigline {
    width: calc(10% - 4px);
    font-size: 4.8vw;
    margin: 2px;
    border: solid 4px #000;
    border-radius: 8px;
  }
  .hero-content-inner .main-copy-titles .main-copy-onetext.secondline {
    width: calc(16.6% - 4px);
    font-size: 9vw;
    margin: 2px;
    border: solid 6px #000;
    border-radius: 10px;
  }
  .hero-content-inner .main-copy-leads {
    font-size: 2.1vw;
  }
}
@media (orientation: landscape) and (max-width: 990px) {
  .about-hero-wrap {
    padding: 15% 0 6%;
  }
  .hero-content-inner .main-copy-leads {
    font-size: 2vw;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 10px;
  }
}
@media (max-width: 749px) {
  .about-hero-wrap {
    padding: 18% 0 6%;
  }
  .hero-content-inner .main-copy-leads {
    font-size: 2.4vw;
    line-height: 1.5;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 10px;
  }
  .hero-content-inner .main-copy-leads br.br {
    display: none;
  }
}
@media (max-width: 499px) {
  .about-hero-wrap {
    padding: 220px 0 30px;
  }
  .hero-content-inner {
    width: 90%;
  }
  .hero-content-inner .main-copy-titles .main-copy-onetext {
    width: calc(8% - 2px);
    font-size: 5vw;
    margin: 1px;
    padding: 1% 0 1%;
    border: solid 2px #000;
    border-radius: 4px;
  }
  .hero-content-inner .main-copy-titles .main-copy-onetext.bigline {
    width: calc(10% - 2px);
    font-size: 6.4vw;
    margin: 1px;
    border: solid 3px #000;
    border-radius: 6px;
  }
  .hero-content-inner .main-copy-titles .main-copy-onetext.secondline {
    width: calc(16.6% - 2px);
    font-size: 12vw;
    margin: 1px;
    border: solid 4px #000;
    border-radius: 8px;
  }
  .hero-content-inner .main-copy-leads {
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 10px;
  }
}

/* -------------------------------
About Contents 01
---------------------------------- */
.about-service-wrap {
  display: block;
  width: 1100px;
  height: auto;
  margin: 0 auto 5%;
  padding: 0;
  border-radius: 10px;
}
.about-title-wrapper {
  margin-left: 0;
  margin-right: 0;
}
.about-title-wrap {
  position: relative;
  display: flex;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 40px;
  padding: 15px 20px;
  background-color: #ef845c;
  border-radius: 20px;
  border: solid 10px #111;
}
.about-title-en {
  display: block;
  width: 100%;
  font-size: 4rem;
  font-weight: 800;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  color: #000;
  line-height: 1;
  margin: 0;
  padding: 0;
}
.about-title-ja {
  width: 100%;
  font-size: 2rem;
  font-weight: 600;
  color: #000;
  line-height: 1;
  text-align: right;
  margin: 0;
  padding: 0;
}

.service-programs-item-wrapper {
  margin-left: 0;
  margin-right: 0;
}
.service-programs-wrapper {
  padding-left: 0;
  padding-right: 0;
}

.service-programs-contents-wrap {
  position: relative;
  width: 96%;
  margin: 0 auto 40px;
  padding: 50px 50px 30px;
  background-color: #fff;
  border: solid 10px #111;
  border-radius: 40px;
}
.programs__item {
  position: absolute;
  top: -40px;
  left: -40px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  margin: 0;
  padding: 0;
  text-align: center;
  background-color: #fff;
  border: solid 10px #111;
  border-radius: 50%;
}
.service-programs-features-number {
  display: block;
  font-size: 6rem;
  font-weight: 900;
  font-family: "Roboto", sans-serif;
  color: #000;
  line-height: 0.6;
  margin: 0 auto 4%;
  padding: 0;
}

.service-programs-subtitle-wrap {
  display: flex;
  align-items: center;
  padding-left: 0;
  padding-right: 0;
}
.service-programs-subtitle-inwrap {
  display: block;
  margin: 0;
}
.service-programs-subtitle-up {
  position: relative;
  display: block;
  font-size: 1vw;
  font-weight: 600;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  color: #fff;
  line-height: 1;
  text-align: left;
  margin: 0;
  padding: 6px 0 4px 3%;
  background-color: #ef845c;
  border-radius: 6px;
}
.service-programs-subtitle-up:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 5%;
  height: 100%;
  background-color: #000;
  border-radius: 0 6px 6px 0;
}
.service-programs-subtitle {
  display: block;
  font-size: 3.6rem;
  font-weight: 700;
  color: #000;
  line-height: 1;
  text-align: center;
  margin: 5px 0 20px;
  padding: 15px 0 20px;
  border-bottom: solid 1px #ccc;
}
.service-programs-subtitle span {
  font-size: 2rem;
}
.service-programs-subtexts-wrap {
  display: flex;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
}
.service-programs-subtexts {
  display: block;
  font-size: 1.8rem;
  color: #000;
  line-height: 1.8;
  text-align: left;
  margin: 0;
  padding: 0 0 0 8%;
}

@media (max-width: 1200px) {
  .about-service-wrap {
    width: 90%;
  }
  .service-programs-subtitle-up {
    font-size: 2.4vw;
  }
}
@media (max-width: 990px) {
  .service-programs-subtexts {
    margin: 0 0 20px;
  }
}
@media (max-width: 499px) {
  .about-title-wrap {
    margin-bottom: 30px;
    padding: 15px 20px;
    border-radius: 10px;
    border: solid 8px #111;
  }
  .about-title-en {
    font-size: 6vw;
  }
  .about-title-ja {
    font-size: 4vw;
  }
  .service-programs-contents-wrap {
    width: 100%;
    margin: 0 auto 40px;
    padding: 30px 20px 30px;
    border: solid 8px #111;
    border-radius: 20px;
  }
  .programs__item {
    top: -30px;
    left: -20px;
    width: 60px;
    height: 60px;
    border: solid 8px #111;
  }
  .service-programs-features-number {
    font-size: 9.6vw;
  }
  .service-programs-subtitle-up {
    font-size: 4.8vw;
  }
  .service-programs-subtitle {
    font-size: 6vw;
  }
  .service-programs-subtexts {
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 20px 5px 0;
  }
  .service-programs-subtitle span {
    display: block;
    font-size: 4.8vw;
    padding: 8px 0 0;
  }
}

/* -------------------------------
About Contents 02
---------------------------------- */
.features-programs-top-subtexts-wrap {
  display: flex;
  margin-left: -10px;
  margin-right: -10px;
}
.features-programs-top-subtexts-inwrap {
  padding-left: 10px;
  padding-right: 10px;
}
.features-programs-three-subtexts-inwrap {
  display: block;
  width: 100%;
  height: calc(100% - 40px);
  text-align: center;
  margin: 0 auto 40px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #fff89e;
  border-radius: 10px;
}
.features-programs-subtitle-wrap {
  display: flex;
  align-items: center;
  padding-left: 0;
  padding-right: 0;
}
.features-programs-subtitle {
  display: block;
  font-size: 3.6rem;
  font-weight: 700;
  color: #000;
  text-align: center;
  margin: 0 0 20px;
  padding: 10px 0 10px;
  border-bottom: solid 1px #ccc;
}
.features-programs-subtitle br {
  display: none;
}
.features-programs-img-wrap-f {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 0;
}
.features-programs-top-imgwrap {
  text-align: center;
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
}
.features-programs-top-imgwrap img {
  text-align: center;
  margin: 0 auto;
}

.feature-programs-subtitle-up {
  position: relative;
  display: block;
  font-size: 1vw;
  font-weight: 600;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  color: #fff;
  line-height: 1;
  text-align: left;
  margin: 0;
  padding: 6px 0 4px 3%;
  background-color: #69bd83;
  border-radius: 6px;
}
.feature-programs-subtitle-up:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 5%;
  height: 100%;
  background-color: #000;
  border-radius: 0 6px 6px 0;
}

.features-programs-subsubtitles-wrap-full {
  display: flex;
  align-items: stretch;
  margin-left: 0;
  margin-right: 0;
}
.features-programs-subsubtitles-wrap-left {
  padding-left: 0;
  padding-right: 3%;
}
.features-programs-subsubtitles-wrap-right {
  padding-left: 3%;
  padding-right: 0;
}
.features-programs-two-subtexts-inwrap {
  display: block;
  width: 100%;
  height: calc(100% - 20px);
  text-align: center;
  margin: 0 auto 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #fff89e;
  border-radius: 10px;
}

.features-programs-subsubtitles {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  color: #000;
  line-height: 1.2;
  text-align: center;
  margin: 0;
  padding: 18px 1% 20px;
}
.features-programs-subsubtitles-half {
  display: block;
  font-size: 2.4rem;
  font-weight: 600;
  color: #000;
  line-height: 1.3;
  text-align: center;
  margin: 0 0 20px;
  padding: 18px 0 0;
}
.features-programs-subsubtexts1 {
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  color: #000;
  line-height: 1.6;
  text-align: left;
  margin: 0;
  padding: 0 4% 10px;
}
.features-programs-subsubtexts {
  display: block;
  font-size: 1.8rem;
  color: #000;
  line-height: 1.6;
  text-align: left;
  margin: 0;
  padding: 0 4% 40px;
}

.features-programs-subtexts-wrap {
  display: flex;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
}
.features-programs-case-wrap {
  text-align: center;
  margin: 0 auto 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #fff89e;
  border-radius: 10px;
}

.features-case-title__item-wrap {
  display: flex;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 20px;
}
.features-programs-case__item-wrap {
  display: flex;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 20px;
}
.features-programs__item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  margin: 0;
  padding: 4% 0;
  text-align: center;
  background-color: #69bd83;
  border-radius: 8px;
}
.features-programs__item .features-number {
  display: block;
  font-size: 6rem;
  font-weight: 800;
  font-family: "Montserrat", sans-serif;
  color: #fff;
  line-height: 1;
  margin: 0 auto 4%;
  padding: 0;
}
.features-programs__item .features-number span.program {
  display: block;
  font-size: 2rem;
  padding: 5px 0 0;
}

.features-case-title {
  display: block;
  font-size: 2.2rem;
  font-weight: 600;
  color: #000;
  line-height: 1.3;
  text-align: left;
  margin: 0;
  padding: 0 0 0 20px;
}

.features-case__item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  height: 100%;
  margin: 0;
  padding: 20% 0;
  text-align: center;
  background-color: #ef845c;
  border-radius: 8px;
}
.features-case__item .case-number {
  display: block;
  font-size: 2.4rem;
  font-weight: 800;
  font-family: "Montserrat", sans-serif;
  color: #fff;
  line-height: 1;
  margin: 0 auto 4%;
  padding: 0;
}
.features-case__item .case-number span.program {
  display: block;
  font-size: 2rem;
  padding: 10px 0;
}

dl.item-case01 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: calc(100% - 20px);
  padding: 0;
  margin: 0 0 0 20px;
}
dl.item-case01 dt {
  width: 3%;
  height: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.3;
  padding: 4px 0;
  margin: 0;
}
dl.item-case01 dd {
  width: 97%;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  line-height: 1.3;
  padding: 4px 0;
  margin-bottom: 0;
}

@media (max-width: 1200px) {
  .features-programs-subtitle {
    font-size: 3rem;
  }
  .feature-programs-subtitle-up {
    font-size: 2vw;
  }
  .features-programs-subsubtitles {
    font-size: 2rem;
    padding: 18px 1% 20px;
  }
  .features-programs-subsubtitles br {
    display: none;
  }
  .features-programs-subsubtexts1 {
    font-size: 1.6rem;
    letter-spacing: 0;
    padding: 0 0 10px;
  }
  dl.item-case01 dt {
    width: 5%;
  }
  dl.item-case01 dd {
    width: 95%;
  }
  .features-case__item .case-number {
    font-size: 2rem;
  }
  .features-case__item .case-number span.program {
    font-size: 1.8rem;
  }
}
@media (max-width: 990px) {
  .features-programs-subsubtitles {
    font-size: 2.2rem;
  }
  dl.item-case01 dt {
    width: 6%;
    font-size: 1.6rem;
  }
  dl.item-case01 dd {
    width: 94%;
    font-size: 1.6rem;
  }
  .features-case__item .case-number {
    font-size: 1.6rem;
  }
  .features-case__item .case-number span.program {
    font-size: 1.6rem;
  }
}
@media (max-width: 749px) {
  .features-case__item .case-number {
    font-size: 1.4rem;
  }
  .features-case__item .case-number span.program {
    font-size: 1rem;
  }
}
@media (max-width: 499px) {
  .features-programs-three-subtexts-inwrap {
    height: auto;
    margin: 0 auto 30px;
  }
  .features-programs-subtitle {
    font-size: 5.4vw;
  }
  .feature-programs-subtitle-up {
    font-size: 4.8vw;
  }
  .features-programs-subsubtitles {
    font-size: 5.4vw;
    line-height: 1.4;
  }
  .features-programs-subsubtexts1 {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .features-programs__item {
    display: block;
    width: 100%;
    margin: 0 auto 20px;
    padding: 10px 0;
  }
  .features-programs__item .features-number {
    font-size: 12vw;
    margin: 0 auto;
  }
  .features-case-title {
    font-size: 5.4vw;
    margin: 0 0 20px;
    padding: 0 10px;
  }
  .features-case__item {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 10px;
    padding: 10px 0;
  }
  .features-programs__item .features-number span.program {
    font-size: 4.8vw;
  }
  .features-case__item .case-number {
    font-size: 4.8vw;
    margin: 0 auto;
  }
  .features-case__item .case-number span.program {
    font-size: 4.8vw;
    padding: 0 0 7px;
  }
  dl.item-case01 {
    width: 100%;
    margin: 0;
  }
  dl.item-case01 dt {
    width: 10%;
    padding: 8px 0;
  }
  dl.item-case01 dd {
    width: 90%;
    padding: 8px 0;
  }
  .features-programs-subtitle br {
    display: block;
  }
  .features-programs-subsubtexts {
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 0 0 30px;
  }
  .features-programs-subsubtexts br.brbr {
    display: none;
  }
}

/* -------------------------------
About Contents 03
---------------------------------- */
.prototype-programs-contents-wrap {
  position: relative;
  width: 96%;
  margin: 0 auto 40px;
  padding: 50px 50px 40px;
  background-color: #fff;
  border: solid 10px #111;
  border-radius: 40px;
}
.prototype-programs-subtexts-wrap {
  display: flex;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 40px;
}
.prototype-programs-subtexts-wrap1 {
  display: flex;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 40px;
}
.prototype-programs-subtexts-wrap2 {
  display: flex;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 10px;
}
.prototype-contents-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
}
.prototype-contents-wrap {
  display: block;
  width: 100%;
  margin: 0;
  padding: 20px;
  text-align: center;
  background-color: #ef845c;
  border-radius: 10px;
}
.prototype-contents-img-wrap {
  display: block;
  margin: 0 0 20px;
  padding: 0;
  text-align: center;
  background-color: #ef845c;
  border-radius: 10px;
}
.prototype-contents-text-wrap {
  display: block;
  font-size: 2.4rem;
  font-weight: 600;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ef845c;
  line-height: 1;
  text-align: center;
  margin: 0;
  padding: 10px;
  background-color: #fff;
  border-radius: 8px;
}
.prototype-contents-arrow-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 6rem;
  width: 100%;
  color: #69bd83;
  margin: 0 auto;
  padding: 20px 0;
}
.prototype-contents-arrow-wrap-reverse {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  font-size: 3vw;
  width: 100%;
  color: #ef845c;
  margin: 0 auto;
  padding: 0;
}

@media (max-width: 499px) {
  .prototype-programs-contents-wrap {
    width: 100%;
    margin: 0 auto 40px;
    padding: 30px 20px 30px;
    background-color: #fff;
    border: solid 8px #111;
    border-radius: 20px;
  }
  .prototype-contents-wrap {
    padding: 10px;
  }
  .prototype-contents-arrow-wrap {
    font-size: 9.6vw;
    padding: 10px 0;
  }
  .prototype-contents-text-wrap {
    font-size: 4.8vw;
  }
  .prototype-programs-subtexts-wrap {
    margin-bottom: 0px;
  }
  .prototype-programs-subtexts-wrap1 {
    margin-bottom: 40px;
  }
  .features-programs-subsubtitles-half {
    font-size: 5vw;
  }
  .features-programs-subsubtitles-wrap-left {
    padding-left: 0;
    padding-right: 0;
  }
  .features-programs-subsubtitles-wrap-right {
    padding-left: 0;
    padding-right: 0;
  }
  .features-programs-subsubtitles-wrap-full {
    display: block;
  }
  .features-programs-two-subtexts-inwrap {
    height: auto;
    margin: 0 auto 20px;
  }
}

/* -------------------------------
About Contents 04
---------------------------------- */
.achievement-programs-numeral-wrap {
  text-align: center;
  margin: 0 auto 0px;
  padding-top: 50px;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #ef845c;
  border-radius: 8px;
}
.achievement-programs-wrap {
  display: block;
  text-align: center;
  margin: 0;
  padding: 0;
}
.achievement-text-wrap {
  display: block;
  font-size: 12rem;
  font-weight: 900;
  font-family: "Roboto", sans-serif;
  color: #fff;
  line-height: 1;
  text-align: center;
  margin: 0;
  padding: 0;
}
.achievement-text-wrap span {
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  margin: 0;
  padding: 0;
}
.achievement-text-wrap span.achievement-title {
  display: block;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  margin: 0;
  padding: 0 30px 10px 0;
}

@media (max-width: 1200px) {
  .achievement-text-wrap {
    font-size: 9.6rem;
  }
  .achievement-text-wrap span {
    font-size: 1.8rem;
  }
  .achievement-text-wrap span.achievement-title {
    font-size: 2rem;
  }
}
@media (max-width: 990px) {
  .achievement-programs-numeral-wrap {
    padding-bottom: 0px;
  }
  .achievement-programs-wrap {
    margin: 0 0 30px;
    padding: 0;
  }
  .achievement-text-wrap {
    font-size: 15vw;
  }
  .achievement-text-wrap span {
    font-size: 3.6vw;
  }
  .achievement-text-wrap span.achievement-title {
    font-size: 4.2vw;
  }
}
@media (max-width: 499px) {
  .achievement-programs-numeral-wrap {
    padding-top: 20px;
    padding-bottom: 0;
    padding-left: 10px;
    padding-right: 10px;
  }
  .features-case-title__item-wrap {
    display: block;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
  }
  .achievement-programs-wrap {
    margin: 0 0 20px;
    padding: 0;
  }
  .achievement-text-wrap span.achievement-title {
    font-size: 5vw;
    padding: 0 0 10px 0;
  }
  .achievement-text-wrap span {
    font-size: 4.4vw;
    padding: 0 5px;
  }
}

/* -------------------------------
About FAQ
---------------------------------- */
.home-faq-section {
  position: relative;
  width: 100%;
  padding: 5% 5% 5%;
  background-color: #fff;
  overflow: hidden;
}
.home-faq-titles {
  display: block;
  font-size: 3.6vw;
  font-family: "DM Serif Display", serif;
  line-height: 1;
  text-align: center;
  color: #32634b;
  margin: 0 0 4%;
  padding: 0;
}
.home-faq-titles span {
  display: block;
  font-size: 1vw;
  font-family: "Noto Serif JP", serif;
  margin: 0;
  padding: 20px 0 0;
}
.home-faq-subtitles {
  display: block;
  font-size: 1.6vw;
  font-weight: 600;
  line-height: 1;
  color: #000;
  text-align: center;
  margin: 0 0 5%;
  padding: 0;
}
.faq-accordion-wrap-full {
  position: relative;
  width: 100%;
  text-align: left;
  margin: 0 auto;
  padding: 0 0 0;
}
.close {
  float: none;
  font-size: 1.5vw;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  text-shadow: 0 0 0 #fff;
  opacity: 1;
}
.close:not(:disabled):not(.disabled):hover,
.close:not(:disabled):not(.disabled):focus {
  opacity: 1;
}
/*アコーディオン全体*/
.accordion-area {
  list-style: none;
  width: 100%;
  margin: 0 auto;
}
.accordion-area li {
  margin: 10px 0;
}
.accordion-area section {
  border: 1px solid #f6f5f3;
  border-radius: 0px;
  background-color: #f6f5f3;
}
/*アコーディオンタイトル*/
.accordion-area section .title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 2rem;
  font-weight: 600;
  color: #000;
  margin: 0;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}
.accordion-area section .title:hover {
  color: #32634b;
}
.accordion-area section .title span {
  display: block;
  font-size: 1vw;
  font-family: "Inter", serif;
  font-weight: 700;
  padding: 0 0 10px;
}
/*アイコンの＋と×*/
.accordion-area section .title::before,
.accordion-area section .title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #000;
}
.accordion-area section .title::before {
  top: 48%;
  left: 15px;
  transform: rotate(0deg);
}
.accordion-area section .title::after {
  top: 48%;
  left: 15px;
  transform: rotate(90deg);
}
/*closeというクラスがついたら形状変化　*/
.accordion-area section .title.close::before {
  transform: rotate(45deg);
}
.accordion-area section .title.close::after {
  transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.accordion-area section .box {
  display: none; /*はじめは非表示*/
  background: #fff;
  margin: 0 3% 3% 3%;
  padding: 3%;
  border-radius: 0px;
}
.accordion-area section .box p {
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
.accordion-area section .box p span {
  display: block;
  font-size: 1.6rem;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  padding: 0 0 10px;
}

@media (max-width: 1200px) {
  .home-faq-titles {
    font-size: 4.4vw;
  }
  .home-faq-titles span {
    font-size: 1.3vw;
  }
}
@media (max-width: 990px) {
  .home-faq-section {
    padding: 7% 5% 7%;
  }
  .home-faq-titles {
    font-size: 6.6vw;
  }
  .home-faq-titles span {
    font-size: 2.4vw;
    margin: 0 0 7%;
  }
  .home-faq-subtitles {
    font-size: 2.4vw;
    margin: 0 0 5%;
  }
  .accordion-area section .title span {
    font-size: 15px;
  }
  .accordion-area section .box p span {
    font-size: 15px;
  }
}
@media (max-width: 499px) {
  .home-faq-section {
    padding: 10% 4% 10%;
  }
  .home-faq-titles {
    font-size: 12vw;
    margin: 0 0 7%;
  }
  .home-faq-titles span {
    font-size: 18px;
    margin: 0 0 7%;
    padding: 10px 0 0;
  }
  .home-faq-subtitles {
    font-size: 4.2vw;
    margin: 0 0 7%;
  }
  .accordion-area section .title {
    font-size: 16px;
  }
}

/* -------------------------------
 About Btn
---------------------------------- */
.linkbutton-center-about {
  display: block;
  position: relative;
  width: 92%;
  height: 60px;
  text-align: left;
  margin: 20px 0 20px 8%;
  padding: 0 30px;
  background: transparent;
  line-height: 53px;
  background-color: #fff;
  border: solid 4px #ef845c;
  border-radius: 30px;
  overflow: hidden;
}
.linkbutton-center-about::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-color: #ef845c;
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
}
.linkbutton-center-about:hover::before {
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}
.linkbutton-center-about .text {
  display: inline-block;
  position: relative;
  font-size: 18px;
  font-weight: 600;
  color: #ef845c;
  text-align: center;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  z-index: 2;
}
.linkbutton-center-about:hover .text {
  color: #fff;
}
.linkbutton-center-about .arrow {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 12px;
  border-color: transparent transparent transparent #ef845c;
  position: absolute;
  right: 10%;
  top: 45.5%;
  margin-top: -3px;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  z-index: 2;
}
.linkbutton-center-about:hover .arrow {
  border-color: transparent transparent transparent #fff;
  right: 5%;
}

@media (max-width: 1200px) {
  .linkbutton-center-about {
    width: 260px;
    height: 60px;
    line-height: 50px;
    border-radius: 30px;
  }
  .linkbutton-center-about .text {
    font-size: 1.6rem;
  }
}
@media (max-width: 990px) {
  .linkbutton-center-about {
    width: 100%;
    margin: 0 auto;
  }
}

/* -------------------------------
 About Contact
---------------------------------- */
.contact-wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.contact-lead {
  display: block;
  font-size: 3rem;
  font-weight: 700;
  color: #000;
  text-align: center;
  margin: 0 0 30px;
  padding: 10px 0 10px;
  border-bottom: solid 1px #ccc;
}
.contact-lead br {
  display: none;
}
.contact-lead-s {
  display: block;
  font-size: 2rem;
  line-height: 1.8;
  text-align: center;
  color: #000;
  margin: 0 0 30px;
  padding: 0;
}
.contact-tel-wrap {
  display: block;
  margin: 0 0 20px;
  padding: 0;
  text-align: center;
}
a.contact-tel {
  display: block;
  font-size: 4.8rem;
  font-weight: 900;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  color: #000;
  margin: 0;
  padding: 0;
}
.contact-tel-uke {
  display: block;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 1px;
  text-align: center;
  color: #000;
  margin: 0;
  padding: 5px 0 0 8%;
}
a.contact-tel2 {
  display: block;
  font-size: 10rem;
  font-weight: 900;
  line-height: 1;
  color: #000;
  margin: 0;
  padding: 0;
}

@media (max-width: 1480px) {
  .contact-lead br {
    display: block;
  }
}
@media (max-width: 1200px) {
  .contact-lead {
    font-size: 2.4vw;
  }
  .contact-lead br {
    display: block;
  }
  .contact-lead-s {
    font-size: 1.6rem;
  }
  a.contact-tel {
    font-size: 3.6vw;
  }
  a.contact-tel.servicetel {
    font-size: 4.4vw;
  }
  .contact-tel-uke {
    font-size: 1.6rem;
  }
}
@media (max-width: 990px) {
  section.contact-section {
    width: 100%;
    margin: 0;
    padding: 7% 0;
  }
  .contact-titles {
    font-size: 3.6rem;
    margin: 0 0 3%;
  }
  .contact-titles span {
    font-size: 1.5rem;
    padding: 10px 0 0 0;
  }
  .contact-lead {
    font-size: 3.6vw;
    text-align: center;
    margin: 0 0 5%;
  }
  .contact-lead br {
    display: block;
  }
  .contact-lead-s {
    margin: 0 0 5%;
  }
  .contact-section-content {
    padding: 0 6%;
    border-radius: 0;
  }
  .contact-tel-wrap {
    margin: 0 0 4%;
    text-align: center;
  }
  a.contact-tel2 {
    font-size: 6rem;
    text-align: center;
  }
  .contact-tel-uke {
    width: 100%;
    font-size: 1.6rem;
    text-align: center;
    padding: 5px 0 0;
  }
  a.contact-tel.servicetel {
    font-size: 7.2vw;
    text-align: center;
  }
}
@media (orientation: landscape) and (max-width: 990px) {
  .contact-lead {
    font-size: 3.6vw;
    text-align: center;
    margin: 0 0 5%;
  }
  .contact-lead br {
    display: block;
  }
}
@media (max-width: 749px) {
  .contact-lead-s {
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: left;
  }
  .contact-lead-s br {
    display: none;
  }
}
@media (max-width: 499px) {
  section.contact-section {
    padding: 40px 0;
  }
  .contact-section-content {
    padding: 0 10%;
  }
  .contact-titles {
    font-size: 3rem;
    margin: 0 0 30px;
  }
  .contact-lead {
    font-size: 4.8vw;
    text-align: center;
    margin: 20px 0 30px;
    padding: 0 0 20px;
  }
  .contact-lead-s {
    margin: 0 0 30px;
  }
  .contact-lead-s {
    font-size: 1.5rem;
    text-align: left;
  }
  .contact-lead-s br {
    display: none;
  }
  a.contact-tel {
    font-size: 9.6vw;
  }
  a.contact-tel2 {
    font-size: 9.6vw;
  }
  .contact-tel-uke {
    font-size: 1.2rem;
    padding: 10px 0 20px;
  }
  section.contact-footer-section {
    padding: 40px 0;
  }
}
@media (max-width: 360px) {
  .contact-tel-uke {
    font-size: 1rem;
  }
}

/* -------------------------------
 About Contact Btn
---------------------------------- */
.linkbutton-footer {
  display: block;
  position: relative;
  width: 100%;
  height: 60px;
  line-height: 58px;
  text-align: center;
  margin: 0 auto 30px;
  padding: 0 20px;
  background-color: #ef845c;
  border-radius: 10px;
  transition: all 0.4s ease-out;
  overflow: hidden;
}
.linkbutton-footer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-color: #023c82;
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
}
.linkbutton-footer:hover::before {
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}
.linkbutton-footer .text {
  display: inline-block;
  position: relative;
  font-size: 2.4rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  z-index: 2;
}
.linkbutton-footer:hover .text {
  color: #fff;
}
.linkbutton-footer .arrow {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 12px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  right: 20px;
  top: 45%;
  margin-top: -3px;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  z-index: 2;
}
.linkbutton-footer:hover .arrow {
  border-color: transparent transparent transparent #fff;
  right: 25px;
}

@media (max-width: 499px) {
  .linkbutton-footer .text {
    font-size: 4.4vw;
  }
  .linkbutton-footer {
    margin: 0 auto;
  }
}

/* ------------------------------------------------------------------
 Company.html
------------------------------------------------------------------- */
.company-hero-wrap {
  width: 100%;
  margin: 0 auto;
  padding: 10% 0 6%;
}
.company-hero-content-inner {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.company-hero-content-inner .main-top-titles {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
  padding: 0;
}
.company-hero-content-inner .main-top-titles .main-top-onetext {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(7% - 10px);
  font-size: 4vw;
  font-weight: 900;
  line-height: 0.8;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  color: #000;
  margin: 5px;
  padding: 1% 0 1.5%;
  background-color: #ef845c;
  border: solid 10px #000;
  border-radius: 20px;
}
.company-hero-content-inner .main-top-titles-en {
  display: block;
  font-size: 1.6vw;
  font-weight: 900;
  font-family: "Montserrat", sans-serif;
  text-align: center;
  margin: 0;
  padding: 10px 0 0;
}

@media (max-width: 1480px) {
  .company-hero-content-inner .main-top-titles .main-top-onetext {
    padding: 0.5% 0 1%;
    border: solid 8px #000;
    border-radius: 14px;
  }
}
@media (max-width: 1200px) {
  .company-hero-wrap {
    padding: 14% 0 6%;
  }
  .company-hero-content-inner .main-top-titles .main-top-onetext {
    width: calc(8% - 8px);
    font-size: 4.8vw;
    margin: 4px;
    padding: 1% 0 1.5%;
    border: solid 8px #000;
    border-radius: 12px;
  }
  .company-hero-content-inner .main-top-titles-en {
    font-size: 2.4vw;
  }
}
@media (max-width: 990px) {
  .company-hero-wrap {
    padding: 32% 0 6%;
  }
  .company-hero-content-inner .main-top-titles .main-top-onetext {
    width: calc(10% - 4px);
    font-size: 7vw;
    margin: 2px;
    padding: 1% 0 1.5%;
    border: solid 6px #000;
    border-radius: 10px;
  }
}
@media (orientation: landscape) and (max-width: 990px) {
  .company-hero-wrap {
    padding: 18% 0 6%;
  }
}
@media (max-width: 749px) {
  .company-hero-wrap {
    padding: 20% 0 6%;
  }
}
@media (max-width: 499px) {
  .company-hero-wrap {
    padding: 210px 0 30px;
  }
  .company-hero-content-inner .main-top-titles .main-top-onetext {
    width: calc(14% - 2px);
    font-size: 10.8vw;
    margin: 1px;
    padding: 1% 0 1.5%;
    border: solid 4px #000;
    border-radius: 8px;
  }
  .company-hero-content-inner .main-top-titles-en {
    font-size: 4.8vw;
  }
}

/* -------------------------------
 Company Overview
---------------------------------- */
table.overview {
  width: 100%;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0px 15px;
}
table.overview th,
table.overview td {
  padding: 20px;
}
table.overview th {
  position: relative;
  width: 25%;
  color: #000;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
  background-color: #ef845c;
  border-radius: 8px 0 0 8px;
  overflow: visible;
}
table.overview th:after {
  content: " ";
  position: absolute;
  left: 100%;
  top: 50%;
  height: 0;
  width: 0;
  pointer-events: none;
  border: solid transparent;
  border-color: rgba(136, 183, 213, 0);
  border-left-color: #ef845c;
  border-width: 10px;
  margin-top: -10px;
}
table.overview td {
  width: 75%;
  font-size: 1.8rem;
  text-align: left;
  color: #000;
  padding-left: 40px;
  background-color: #f0f0f0;
  border-radius: 0 8px 8px 0;
}
table.overview td br {
  display: none;
}
table.overview td span br {
  display: none;
}
table.overview td span.caution {
  font-size: 1.6rem;
}
table.overview td a {
  display: block;
  font-size: 1.8rem;
  color: #000;
  line-height: 1;
  padding: 5px 0 0;
}
table.overview td a:hover {
  color: #8ebf1f;
}
table.overview td a.tel {
  font-size: 1.8rem;
  color: #000;
  line-height: 1.6;
  padding: 0;
}
table.overview td a.address-gm {
  font-size: 1.4rem;
  color: #000;
  line-height: 1;
  padding: 10px 0 0;
}
table.overview td a.address-gm:hover {
  color: #8ebf1f;
}

dl.overview-content-wrap {
  width: 100%;
  padding: 0;
  margin: 0;
}
dl.overview-content-wrap dt {
  float: left;
  width: 25px;
  font-size: 1.8rem;
  color: #000;
  text-align: left;
  padding: 5px 0;
  margin: 0;
}
dl.overview-content-wrap dd {
  margin-left: 25px;
  font-size: 1.8rem;
  color: #000;
  text-align: left;
  padding: 5px 0;
}
dl.overview-content-wrap dd span {
  display: inline-block;
  font-size: 1.6rem;
  padding: 0 0 0 15px;
}

/* -------------------------------
 Company Base
---------------------------------- */
.company-base-contents-wrapper {
  display: flex;
  align-items: center;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  margin: 0 0 30px;
}
.company-base-contents-wrapper2 {
  display: flex;
  align-items: center;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  margin: 0 0 20px;
}
.company-base-contents-wrap {
  display: block;
  padding-left: 4%;
  padding-right: 0;
}

.company-base-name {
  display: block;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
  color: #000;
  margin: 0 0 30px;
  padding: 0;
}
.company-base-address {
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  color: #000;
  margin: 0 0 10px;
  padding: 0;
}
a.company-base-gmap {
  display: block;
  font-size: 1.4rem;
  color: #000;
  line-height: 1;
  margin: 0 0 20px;
  padding: 0;
}
a.company-base-gmap:hover {
  color: #8ebf1f;
}

.company-base-tel-wrap {
  display: block;
  margin: 0 0 10px;
  padding: 0;
}
.company-base-tel-wrap a {
  display: block;
  font-size: 2rem;
  font-weight: 500;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  color: #000;
  margin: 0;
  padding: 0;
}

.company-base-tel-wrap2 {
  display: block;
  margin: 0 0 10px;
  padding: 0;
}
.company-base-tel-wrap2 a {
  display: block;
  font-size: 2rem;
  font-weight: 500;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  color: #000;
  margin: 0;
  padding: 0;
}

.company-base-gmap-wrap {
  position: relative;
  width: 100%;
  height: 400px;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  border-radius: 10px;
  overflow: hidden;
}

/* -------------------------------
 Company Credo
---------------------------------- */
.company-credo-contents-wrap {
  position: relative;
  width: 96%;
  margin: 0 auto 40px;
  padding: 50px 50px 30px;
  background-color: #f0f0f0;
  border: solid 10px #111;
  border-radius: 40px;
}

.company-credo-contents-imgwrap {
  display: block;
  width: 300px;
  margin: 0 auto 60px;
  padding: 0;
}
.company-credo-top-copy {
  display: block;
  font-size: 2.2rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  color: #000;
  text-align: center;
  margin: 0 0 60px;
  padding: 0;
}
.company-credo-second-copy {
  display: block;
  font-size: 4.4rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  color: #000;
  text-align: center;
  margin: 0 0 60px;
  padding-bottom: 60px;
  border-bottom: solid 1px #ccc;
}
.company-credo-second-title {
  display: block;
  width: 300px;
  font-size: 4rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  color: #000;
  text-align: center;
  margin: 0 auto 30px;
  padding: 10px 0 14px;
  border-top: solid 2px #333;
  border-bottom: solid 2px #333;
}
.company-credo-second-title-text {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1.6;
  color: #000;
  text-align: center;
  margin: 0 0 60px;
  padding: 0;
}

.company-credo-goals-list-wrap {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 60px;
}
.company-credo-goals-list-wrap2 {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 60px;
  padding-bottom: 50px;
  border-bottom: solid 1px #ccc;
}

dl.company-credo-goals-list {
  width: 100%;
  padding: 0;
  margin: 0;
}
dl.company-credo-goals-list dt {
  float: left;
  width: 50px;
  font-size: 2rem;
  font-family: "Roboto", sans-serif;
  color: #000;
  text-align: center;
  padding: 5px 0;
  margin: 0;
}
dl.company-credo-goals-list dd {
  margin-left: 50px;
  font-size: 2rem;
  font-family: "Noto Serif JP", serif;
  text-align: left;
  padding: 5px 0;
}

.company-credo-thrad-title {
  display: block;
  width: 300px;
  font-size: 4rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  color: #f0f0f0;
  text-align: center;
  margin: 0 auto 30px;
  padding: 10px 0 14px;
  background-color: #333;
}

dl.company-credo-offebse-list {
  width: 100%;
  padding: 0;
  margin: 0;
}
dl.company-credo-offebse-list dt {
  float: left;
  width: 50px;
  font-size: 1.8rem;
  font-family: "Roboto", sans-serif;
  color: #000;
  text-align: center;
  padding: 5px 0;
  margin: 0;
}
dl.company-credo-offebse-list dd {
  margin-left: 50px;
  font-size: 1.7rem;
  font-family: "Noto Serif JP", serif;
  text-align: left;
  padding: 5px 0;
}

.company-credo-forth-copy {
  display: block;
  font-size: 3.4rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  color: #000;
  text-align: center;
  margin: 0 0 40px;
  padding: 60px 0 0;
  border-top: solid 1px #ccc;
}

.company-credo-fifth-copy1 {
  display: block;
  font-size: 3.2rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  color: #000;
  text-align: center;
  margin: 0 0 30px;
  padding: 0;
}
.company-credo-fifth-copy1 br {
  display: none;
}
.company-credo-fifth-copy2 {
  display: block;
  font-size: 3rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  color: #000;
  text-align: center;
  margin: 0 0 50px;
  padding: 0;
}
.company-credo-fifth-copy2 br {
  display: none;
}

dl.company-credo-hentai-list {
  width: 100%;
  padding: 0;
  margin: 0;
}
dl.company-credo-hentai-list dt {
  float: left;
  width: 50px;
  font-size: 1.8rem;
  font-family: "Roboto", sans-serif;
  color: #000;
  text-align: center;
  padding: 5px 0;
  margin: 0;
}
dl.company-credo-hentai-list dd {
  margin-left: 50px;
  font-size: 1.8rem;
  font-family: "Noto Serif JP", serif;
  text-align: left;
  padding: 5px 0;
}

@media (max-width: 1480px) {
  table.overview th {
    font-size: 1.6rem;
  }
  table.overview td {
    font-size: 1.6rem;
  }
  table.overview td a.tel {
    font-size: 1.6rem;
  }
  dl.overview-content-wrap dt {
    font-size: 1.6rem;
  }
  dl.overview-content-wrap dd {
    font-size: 1.6rem;
  }
  dl.overview-content-wrap dd span {
    font-size: 1.6rem;
  }
}
@media (max-width: 1200px) {
  .company-credo-forth-copy {
    font-size: 2.6vw;
  }
  dl.company-credo-goals-list dt {
    font-size: 1.8rem;
  }
  dl.company-credo-goals-list dd {
    font-size: 1.7rem;
  }
}
@media (max-width: 990px) {
  table.overview td span {
    display: block;
  }
  .company-base-tel-wrap2 {
    margin: 0 0 20px;
  }
  .company-credo-top-copy {
    font-size: 3.6vw;
    line-height: 1.4;
  }
  .company-credo-second-copy {
    font-size: 3.6vw;
    line-height: 1.4;
  }
}
@media (max-width: 749px) {
  table.overview td br {
    display: block;
  }
  .company-credo-second-title-text {
    font-size: 3vw;
    line-height: 1.5;
  }
  .company-credo-second-title-text br {
    display: none;
  }
  .company-credo-forth-copy {
    font-size: 3.6vw;
    line-height: 1.4;
  }
  .company-credo-fifth-copy1 {
    font-size: 3.6vw;
  }
  .company-credo-fifth-copy2 {
    font-size: 3.6vw;
  }
}
@media (max-width: 499px) {
  .service-contents02.overview {
    padding: 0 5% 100px;
  }
  table.overview th {
    position: relative;
    display: block;
    width: 100%;
    font-size: 1.6rem;
    text-align: center;
    padding: 15px 10px 15px 10px;
    border-radius: 8px 8px 0 0;
  }
  table.overview th:after {
    content: " ";
    position: absolute;
    left: 50%;
    top: 100%;
    margin-top: 0;
    margin-left: -10px;
    transform: rotate(90deg);
  }
  table.overview td {
    display: block;
    width: 100%;
    font-size: 1.5rem;
    text-align: center;
    padding: 20px 10px 20px 10px;
    border-radius: 0 0 8px 8px;
  }
  dl.overview-content-wrap {
    width: 40%;
    margin: 0 auto;
  }
  dl.overview-content-wrap dt {
    font-size: 1.5rem;
  }
  dl.overview-content-wrap dd {
    font-size: 1.5rem;
  }
  dl.overview-content-wrap dd span {
    font-size: 1.5rem;
  }
  .company-base-contents-wrap {
    padding-left: 0;
  }
  .company-base-name {
    font-size: 2.4rem;
    margin: 0 0 20px;
  }
  .company-base-address {
    font-size: 1.6rem;
  }
  .company-credo-contents-wrap {
    width: 100%;
    margin: 0 auto 40px;
    padding: 30px 20px 30px;
    border: solid 8px #111;
    border-radius: 20px;
  }
  .company-credo-contents-imgwrap {
    width: 100%;
    margin: 0 auto 30px;
  }
  .company-credo-top-copy {
    font-size: 4.4vw;
    margin: 0 0 30px;
  }
  .company-credo-second-copy {
    font-size: 4.4vw;
    margin: 0 0 30px;
    padding-bottom: 30px;
  }
  .company-credo-second-title {
    width: 100%;
    font-size: 8.4vw;
    margin: 0 auto 20px;
  }
  .company-credo-second-title-text {
    font-size: 4.4vw;
    text-align: left;
    margin: 0 0 30px;
  }
  dl.company-credo-goals-list dt {
    font-size: 1.6rem;
  }
  dl.company-credo-goals-list dd {
    font-size: 1.6rem;
  }
  .company-credo-goals-list-wrap2 {
    margin-bottom: 30px;
    padding-bottom: 30px;
  }
  .company-credo-thrad-title {
    width: 100%;
    font-size: 8.4vw;
    margin: 0 auto 20px;
  }
  dl.company-credo-offebse-list dt {
    font-size: 1.6rem;
  }
  dl.company-credo-offebse-list dd {
    font-size: 1.6rem;
  }
  .company-credo-goals-list-wrap {
    margin-bottom: 30px;
  }
  .company-credo-forth-copy {
    font-size: 5.2vw;
    margin: 0 0 20px;
    padding: 30px 0 0;
  }
  .company-credo-fifth-copy1 {
    font-size: 6vw;
    line-height: 1.4;
    margin: 0 0 20px;
  }
  .company-credo-fifth-copy2 {
    font-size: 6vw;
    line-height: 1.4;
    margin: 0 0 20px;
  }
  .company-credo-fifth-copy1 br {
    display: block;
  }
  .company-credo-fifth-copy2 br {
    display: block;
  }
  dl.company-credo-hentai-list dt {
    width: 40px;
    font-size: 1.6rem;
  }
  dl.company-credo-hentai-list dd {
    margin-left: 40px;
    font-size: 1.6rem;
  }
  .company-base-contents-wrapper {
    margin: 0;
  }
  .company-base-contents-wrapper.mapwrap {
    margin: 0 0 30px;
  }
}

/* ------------------------------------------------------------------
 Products.html
------------------------------------------------------------------- */
.products-contents {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0 5% 50px;
}

.classification__wrapper {
  width: 100%;
  margin: 0 0 40px;
}
.classification {
  position: relative;
  background-color: #fff;
  border: solid 4px #111;
  border-radius: 20px;
  padding-bottom: 2rem;
  padding-top: 2rem;
  margin-bottom: 2rem;
}
.classification-topics {
  position: relative;
  background-color: #fff;
  border: solid 2px #111;
  border-radius: 10px;
  padding-bottom: 2rem;
  padding-top: 2rem;
  margin-bottom: 5rem;
}
.classification__wrap {
  align-items: center;
  display: flex;
  justify-content: flex-start;
}
.classification__left {
  flex-shrink: 0;
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  text-align: center;
  color: #ef845c;
  width: 15%;
}
.classification__right {
  align-items: center;
  border-left: 2px solid #111;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: flex-start;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  row-gap: 0.75rem;
  width: 85%;
}
.classification__right li {
  display: block;
}
.classification__right li input[type="checkbox"],
.classification__right li input[type="radio"] {
  display: none;
}
.classification__right li input[type="submit"],
.classification__right li input[type="button"],
.classification__right li label,
button,
select {
  cursor: pointer;
}
.classification__right li :checked + label {
  background: #ef845c;
  color: #fff;
}
.classification__right li label {
  outline: none;
  background: #fff;
  border: 2px solid #ef845c;
  border-radius: 0.5rem;
  color: #ef845c;
  display: block;
  font-size: 1.8rem;
  line-height: 1;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-bottom: 0;
  text-align: center;
  transition:
    0.3s ease-out,
    color 0.3s ease-out;
}
.classification__right li label:hover {
  background: #ef845c;
  color: #fff;
}

.classification__right li a {
  outline: none;
  background: #fff;
  border: 2px solid #ef845c;
  border-radius: 0.5rem;
  color: #ef845c;
  display: block;
  font-size: 1.5rem;
  line-height: 1;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-bottom: 0;
  text-align: left;
  transition:
    0.2s ease-out,
    color 0.2s ease-out;
}
.classification__right li a:hover {
  background: #ef845c;
  color: #fff;
}
.classification__right li a.active {
  background: #ef845c;
  color: #fff;
}

.products-grid {
  display: flex;
  flex-wrap: wrap;
}
.pickup-grid {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  color: #8a5f2e;
  background-color: transparent;
  border-radius: 14px;
  -webkit-transition: 0.9s ease;
  transition: 0.9s ease;
}
.pickup-img-wrap {
  border-radius: 10px;
  overflow: hidden;
}
.pickup-grid .pickup-grid-txt-wrap {
  width: 100%;
  padding: 8% 5% 8%;
}

.products-item-contents-wrap {
  padding: 0 0 5%;
}
.products-item-contents-wraps {
  height: 100%;
  padding: 0;
}
.products-item-contents-btnwrap {
  display: block;
  height: calc(100% - 30px);
  padding: 0 10px 10px;
  transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.products-item-contents-inner {
  position: relative;
  height: 100%;
  margin: 0;
  padding: 5% 4%;
  background-color: #fff;
  border: solid 4px #111;
  border-radius: 20px;
}
.products-item-contents-inner img {
  border-radius: 10px;
  overflow: hidden;
}

.products-item-titlewrap {
  display: block;
  width: 100%;
  margin: 0;
  padding: 20px 5%;
}
.products-item-category {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  padding: 6px 10px;
  text-align: center;
  margin-bottom: 10px;
  background-color: #ef845c;
  border-radius: 6px;
}
.products-item-title {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;
  color: #000;
  text-align: left;
  margin: 0;
  padding: 15px 0;
}
.products-item-title span {
  display: block;
  font-size: 1.5rem;
  padding: 0 0 8px;
}
.products-item-text {
  display: block;
  font-size: 1.5rem;
  color: #000;
  text-align: left;
  margin: 0;
  padding: 0;
}
.products-item-tags2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin: 20px 0 0;
}
.products-item-tags2 li {
  background: #fff;
  border: 1px solid #ef845c;
  border-radius: 1.5rem;
  color: #fff;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 0.8;
  padding: 6px 10px;
  margin-right: 10px;
  margin-bottom: 8px;
  transition: all 0.2s ease-out;
  background: #ef845c;
}

.pagination {
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  list-style: none;
  padding: 40px 0 5%;
}
.page-item.active .page-link {
  font-family: "Roboto", sans-serif;
  color: white;
  background: #065fff;
  border-color: #065fff;
}
.page-link {
  position: relative;
  display: block;
  font-family: "Roboto", sans-serif;
  line-height: 1.25;
  color: #ef845c;
  margin: 4px;
  padding: 0.5rem 1rem;
  background-color: #fff;
  background-size: 100% 90%;
  border: 1px solid #ef845c;
  border-radius: 4px;
}
.page-link:hover {
  z-index: 2;
  color: #fff;
  text-decoration: none;
  background-color: #ef845c;
  border-color: #ef845c;
}
.page-item.active .page-link,
.page-item.active .page-link:focus,
.page-item.active .page-link:hover {
  background-color: #ef845c;
  border-color: #ef845c;
  color: #fff;
}

@media (max-width: 1200px) {
  .classification__left {
    font-size: 1.8rem;
    width: 20%;
  }
  .classification__right {
    width: 80%;
  }
  .products-item-title {
    font-size: 1.8rem;
  }
  .pagination {
    padding: 0 0 40px;
  }
}
@media (max-width: 990px) {
  .pagination {
    padding: 0;
  }
}
@media (max-width: 749px) {
  .classification__left {
    width: 30%;
  }
  .classification__right {
    width: 70%;
  }
}
@media (max-width: 499px) {
  .products-contents {
    padding: 0 5%;
  }
  .classification__left {
    font-size: 1.8rem;
    width: 40%;
  }
  .classification__right {
    width: 60%;
  }
  .products-item-contents-btnwrap {
    display: block;
    height: auto;
    padding: 0 0 20px;
  }
  .pagination {
    padding: 10px 0 40px;
  }
}

/* ------------------------------------------------------------------
 Topics.html
------------------------------------------------------------------- */
.topics-programs-contents-wrap {
  position: relative;
  width: 96%;
  margin: 0 auto 40px;
  padding: 50px 50px 50px;
  background-color: #fff;
  border: solid 10px #111;
  border-radius: 40px;
}
.home-news-wrapper {
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0;
  margin-left: 0;
}
.entry-wrapper {
  margin: 0 auto;
  border-top: 1px solid #ccc;
}
.entry-wrap {
  padding: 3% 0;
  border-bottom: 1px solid #ccc;
  margin: 0;
  transition: all 0.35s ease-in-out;
  -webkit-transition: all 0.35s ease-in-out;
}
.entry-wrap:hover {
  background-color: #ef845c;
  border-bottom-color: #ef845c;
  padding-left: 30px;
  padding-right: 30px;
}
.entry-wrap:hover dl.topics-features dt span,
.entry-wrap:hover dl.topics-features dt h4.home-topics-cate,
.entry-wrap:hover dl.topics-features dt h3.home-topics-title a,
.entry-wrap:hover dl.topics-features dd a {
  color: #fff;
}
.entry-wrap dl.topics-features {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
}
.entry-wrap dl.topics-features dt {
  display: block;
  width: 90%;
  text-align: left;
  padding: 0 0 0 15px;
  margin: 0;
}
.entry-wrap dl.topics-features dt span {
  position: relative;
  display: inline-block;
  width: auto;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1rem;
  color: #000;
  padding-right: 20px;
  padding-bottom: 10px;
}
.entry-wrap dl.topics-features dt span::after {
  content: "/";
  position: absolute;
  right: 0;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  color: #000;
}
.entry-wrap:hover dl.topics-features dt span::after {
  color: #fff;
}
.entry-wrap dl.topics-features dt h4.home-topics-cate {
  display: inline-block;
  width: auto;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1rem;
  color: #fff;
  padding: 3px 15px 5px 15px;
  text-align: center;
  margin: 10px 20px 10px 15px;
  background: #ef845c;
  border-radius: 4px;
}
.entry-wrap dl.topics-features dt h3.home-topics-title {
  display: inline-block;
  width: 100%;
  margin: 10px 0 10px;
}
.entry-wrap dl.topics-features dt h3.home-topics-title a {
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  color: #000;
}
.entry-wrap dl.topics-features dt h3.home-topics-title a:hover {
  color: #fff;
}
.entry-wrap dl.topics-features dd {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 10%;
  margin: 0;
  padding: 0;
}
.entry-wrap dl.topics-features dd a {
  font-size: 2rem;
  color: #000;
}
.entry-btn-wrap {
  padding: 40px 0 0;
  margin: 0;
}

@media (max-width: 1200px) {
  .entry-wrap dl.topics-features dt h3.home-topics-title {
    margin-top: 5px;
    margin-bottom: 5px;
  }
  .entry-wrap dl.topics-features dt h3.home-topics-title a {
    font-size: 1.5rem;
  }
}
@media (max-width: 990px) {
  #home-news-section {
    padding: 0 4% 5%;
  }
  .home-news-left-wrap {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .entry-wrap {
    padding: 3% 0;
  }
  .entry-wrap dl.topics-features dt span {
    font-size: 1.3rem;
  }
  .entry-wrap dl.topics-features dt h4.home-topics-cate {
    font-size: 1.4rem;
  }
  .entry-wrap dl.topics-features dt h3.home-topics-title a {
    font-size: 1.6rem;
  }
}
@media (max-width: 499px) {
  .topics-programs-contents-wrap {
    width: 100%;
    margin: 0 auto 40px;
    padding: 30px 20px 30px;
    background-color: #fff;
    border: solid 8px #111;
    border-radius: 20px;
  }
  .entry-wrap dl.topics-features dt span {
    padding-right: 10px;
  }
  .entry-wrap dl.topics-features dt h4.home-topics-cate {
    font-size: 1.4rem;
    margin: 10px 10px 10px 5px;
  }
}

/* --------------------------
[Second Topics Link Btn]
----------------------------- */
.second-topics-btn-left {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100% - 20px);
  margin: 0 10px 30px;
  padding: 0;
  background-color: #fff;
  border-radius: 6px;
  border: solid 2px #ef845c;
  transition: all 0.35s ease-in-out;
  -webkit-transition: all 0.35s ease-in-out;
}
.second-topics-btn-left .arrow {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 10px solid #ef845c;
  border-right: 0;
  position: absolute;
  right: 10%;
  top: 48%;
  margin-top: -3px;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  z-index: 2;
}
.second-topics-btn-left a.second-topics-btnitem {
  display: block;
  width: 100%;
  color: #ef845c;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1vw;
  text-align: center;
  margin: 0;
  padding: 5% 0;
  transition: all 0.35s ease-in-out;
  -webkit-transition: all 0.35s ease-in-out;
}
.second-topics-btn-left a.second-topics-btnitem .second-topics-btn-left-title {
  display: block;
  font-size: 1.6rem;
  margin: 0;
  padding: 0;
}
.second-topics-btn-left:hover {
  background-color: #ef845c;
}
.second-topics-btn-left:hover a.second-topics-btnitem {
  letter-spacing: 0.4vw;
  color: #fff;
}
.second-topics-btn-left:hover .arrow {
  right: 7%;
  border-left: 10px solid #fff;
}

@media (max-width: 990px) {
  .second-topics-btn-left {
    margin: 0 10px 20px;
  }
  .second-topics-btn-left a.second-topics-btnitem .second-topics-btn-left-title {
    font-size: 1.8rem;
  }
}
@media (max-width: 499px) {
  .second-topics-btn-left {
    padding: 8px 0;
    border-radius: 6px;
  }
  .second-topics-btn-left a.second-topics-btnitem .second-topics-btn-left-title {
    font-size: 1.6rem;
  }
  .second-topics-btn-left {
    width: calc(100% - 10px);
    margin: 0 5px 10px;
  }
}

.topics-item-wrap {
  padding: 0 0 20px;
}

.topics-item-imgwrap {
  width: 100%;
  padding: 0;
  margin: 0 0 30px;
  border-radius: 20px;
  overflow: hidden;
}

.topics-item-cate {
  margin: 0 0 30px;
}
.topics-item-date {
  position: relative;
  display: inline-block;
  font-size: 1.5rem;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  color: #000;
  margin: 0;
  padding: 0 20px;
}
.topics-item-date::after {
  content: "/";
  position: absolute;
  right: 0;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  color: #000;
}

.topics-item-cate ul {
  display: inline-block;
  margin: 0 0 0 20px;
  list-style: none;
}

.topics-item-cate ul li a {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  margin: 0;
  padding: 6px 15px;
  text-align: center;
  background-color: #ef845c;
  border-radius: 6px;
}

.topics-item-title {
  font-size: 2.4rem;
  font-weight: 600;
  color: #000;
  margin: 0 0 50px;
  padding: 0 0 40px 20px;
  border-bottom: solid 2px #ccc;
}

.topics-item-txt {
  font-size: 1.8rem;
  line-height: 2;
  color: #000;
  margin: 0;
  padding: 0 20px 60px;
}

.topics-item-txt img {
  width: auto;
  max-width: auto;
  height: auto;
}

.topics-banner-wrapper {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 4%;
}

.topics-post-top-title-h1 {
  display: block;
  font-size: 4rem;
  font-weight: 900;
  letter-spacing: -0.2vw;
  text-align: left;
  color: #000;
  margin: 5% 0;
  padding: 15px;
  border-top: solid 5px #ccc;
  border-bottom: solid 5px #ccc;
}
.topics-post-top-title-h2 {
  display: block;
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: -0.1vw;
  text-align: left;
  color: #000;
  margin: 5% 0;
  padding: 4px 20px;
  border-left: solid 15px #ccc;
  border-right: solid 2px #ccc;
  border-top: solid 2px #ccc;
  border-bottom: solid 2px #ccc;
}
.topics-post-top-title-h3 {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  text-align: left;
  color: #000;
  margin: 5% 0;
  padding: 10px 20px;
  background-color: #ccc;
}
.topics-post-top-title-h4 {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  text-align: left;
  color: #000;
  margin: 5% 0;
  padding: 10px 15px;
  border-bottom: solid 2px #ccc;
}
.topics-post-top-title-h5 {
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: left;
  color: #000;
  margin: 5% 0;
  padding: 10px 15px;
}

@media (max-width: 1480px) {
  .topics-post-top-title-h1 {
    letter-spacing: 0;
  }
  .topics-post-top-title-h2 {
    letter-spacing: 0;
  }
  .topics-item-title {
    margin: 0 0 40px;
    padding: 0 0 40px 20px;
  }
  .topics-item-txt {
    line-height: 1.8;
  }
}
@media (max-width: 1200px) {
  .topics-post-top-title-h4 {
    font-size: 1.6vw;
  }
  .topics-post-top-title-h5 {
    font-size: 1.6vw;
  }
}
@media (max-width: 990px) {
  .topics-post-top-title-h1 {
    font-size: 4vw;
  }
  .topics-post-top-title-h2 {
    font-size: 3vw;
  }
  .topics-post-top-title-h3 {
    font-size: 2.4vw;
  }
  .topics-post-top-title-h4 {
    font-size: 1.8rem;
  }
  .topics-post-top-title-h5 {
    font-size: 1.8rem;
  }
  .second-topics-btn-left a.second-topics-btnitem {
    font-size: 2rem;
  }
}
@media (max-width: 499px) {
  .topics-item-wrap {
    padding: 0 0 40px;
  }
  .topics-item-cate {
    margin: 0 0 20px;
  }
  .topics-item-date {
    letter-spacing: 0px;
    padding: 0 0 10px 0px;
  }
  .topics-item-cate ul {
    padding-left: 0px;
    margin-bottom: 10px;
  }
  .topics-item-title {
    font-size: 1.8rem;
    margin: 0 0 20px;
    padding: 0 0 20px 0px;
  }
  .topics-post-top-title-h1 {
    font-size: 1.8rem;
  }
  .topics-post-top-title-h2 {
    font-size: 1.8rem;
  }
  .topics-post-top-title-h3 {
    font-size: 1.6rem;
  }
  .topics-post-top-title-h4 {
    font-size: 1.6rem;
  }
  .topics-post-top-title-h5 {
    font-size: 1.6rem;
  }
  .topics-item-txt {
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 0;
  }
  .second-topicspost-headtext-wrap {
    margin: 0 15px 50px;
  }
  .second-topics-btn-left .arrow {
    top: 45%;
  }
  .second-topics-btn-left a.second-topics-btnitem {
    font-size: 1.8rem;
  }
  .availability-table-title {
    text-align: center;
  }
  .legend span {
    display: inline-block;
  }
}

/* ------------------------------------------------------------------
 Contact
------------------------------------------------------------------- */
.second-contact-subcontents-top-wrap {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 5% 5% 3%;
}

.second-contact-subcontents-wrap {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 5% 0;
}

.second-contact-subcontents-text {
  display: block;
  font-size: 2rem;
  line-height: 1.6;
  color: #000;
  text-align: center;
  margin: 0 0 5%;
  padding: 0;
}
.second-contact-subcontents-text br.br {
  display: none;
}
.second-contact-subcontents-text-footer {
  display: block;
  font-size: 2rem;
  color: #000;
  text-align: center;
  margin: 5% 0 0;
  padding: 0;
}
.second-contact-tel-wrap {
  display: block;
  margin: 0;
  padding: 0;
  text-align: center;
}
a.second-contact-tel {
  display: block;
  font-size: 6rem;
  font-weight: 600;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  letter-spacing: 1px;
  color: #000;
  margin: 0;
  padding: 0;
}
.second-contact-tel-uke {
  display: block;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 1px;
  color: #000;
  margin: 0;
  padding: 10px 0 0;
}
.second-contact-tel-uke br {
  display: none;
}

.contact-inner {
  width: 90%;
  font-size: 1.8rem;
  color: #000;
  line-height: 2;
  text-align: left;
  margin: 0 auto;
  padding: 0;
}
/* txt */
.tell {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: 50px;
}
.tell span.num {
  font-size: 4.8rem;
  font-weight: 600;
}
.tell span.time {
  font-size: 1.6rem;
}
.contact-txt001 {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 3%;
}
.contact-txt001 br {
  display: none;
}
.contact-txt01 {
  margin-bottom: 2em;
}
.contact-txt02 {
  font-size: 1.5rem;
  margin-bottom: 2em;
}
.contact-txt02 span {
  font-size: 1.8rem;
  display: block;
  margin-bottom: 1em;
}
.contact-txt03 {
  font-size: 1.6rem;
  margin-bottom: 1.5em;
}
em {
  color: #a40000;
  font-style: normal;
}

/* --------------------------------------
	itemBlock
----------------------------------------*/
.itemBlock {
  margin-bottom: 30px;
  line-height: 1;
  font-size: 1.6rem;
}
.itemBlock .title {
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: 600;
}
.itemBlock p {
  margin-bottom: 15px;
  font-size: 1.6rem;
  font-weight: 600;
}
.itemBlock label {
  cursor: pointer;
  display: block;
}
.itemBlock label:after {
  content: "";
  clear: both;
  display: block;
}
.itemBlock label input {
  float: left;
  font-size: 1.8rem;
}
.itemBlock label input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 0 0 0 0;
}
.itemBlock label p {
  float: left;
  padding: 0 0 0 4px;
  margin: 0;
  width: calc(100% - 24px);
  font-size: 1.8rem;
  line-height: 1.2;
}

/* --------------------------------------
	contentsBlock
----------------------------------------*/
.contentsBlock {
  line-height: 1.5;
  margin-bottom: 30px;
}
.contentsBlock .title {
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: 600;
}
.contentsBlock .title span {
  font-size: 1.8rem;
}

/* --------------------------------------
	addressBlock
----------------------------------------*/
.addressBlock {
  line-height: 1.5;
  font-size: 1.6rem;
}
.addressBlock .title {
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: 600;
}
.addressBlock p {
  margin-bottom: 15px;
  font-size: 1.8rem;
  font-weight: 600;
}
.addressBlock p span {
  font-size: 1.4rem;
}
.addressBlock input {
  margin-bottom: 30px;
}
.addressBlock select {
  font-size: 16px;
  font-weight: 600;
  padding: 8px 20px 10px 8px;
  margin: 0 0 30px;
  color: #000;
  display: inline-block;
  border-color: #ccc;
}
.addressBlock br {
  display: none;
}

/* --------------------------------------
	privacyBlock
----------------------------------------*/
.privacyBlock {
  line-height: 2;
  font-size: 1.6rem;
  margin-bottom: 60px;
}
.privacyBlock .title {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 15px;
}
.privacyBlock label {
  cursor: pointer;
  display: block;
}
.privacyBlock label:after {
  content: "";
  clear: both;
  display: block;
}
.privacyBlock label input {
  float: left;
  font-size: 1.6rem;
}
.privacyBlock label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0 0 0 0;
}
.privacyBlock p {
  font-size: 1.8rem;
  line-height: 1.6;
  margin-bottom: 20px;
}
.privacyBlock label p {
  float: left;
  padding: 0 0 0 4px;
  margin: 0;
  width: calc(100% - 24px);
  font-size: 1.8rem;
  line-height: 1.2;
}
.privacyBlock a {
  text-decoration: underline;
  font-size: 1.8rem;
  color: #000;
}
.privacyBlock a:hover {
  text-decoration: none;
}

/* --------------------------------------
	form
----------------------------------------*/
.form-control-w20p {
  display: inline-block;
  width: 10em;
  height: 34px;
  padding: 6px 12px;
  font-size: 1.4rem;
  line-height: 1.42857143;
  color: #8a5f2e;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition:
    border-color ease-in-out 0.15s,
    -webkit-box-shadow ease-in-out 0.15s;
  -o-transition:
    border-color ease-in-out 0.15s,
    box-shadow ease-in-out 0.15s;
  transition:
    border-color ease-in-out 0.15s,
    box-shadow ease-in-out 0.15s;
}
.form-control-w20p:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow:
    inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow:
    inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(102, 175, 233, 0.6);
}
.addressBlock input[type="text"] {
  font-size: 1.6rem;
  padding-right: 6px;
  padding-left: 6px;
  margin-right: 10px;
  color: #000;
  display: inline-block;
  border-color: #333;
  border-radius: 4px;
}
.contentsBlock textarea {
  font-size: 1.6rem;
  padding-right: 6px;
  padding-left: 6px;
  margin-right: 10px;
  margin-bottom: 20px;
  color: #000;
  display: inline-block;
  height: 8em;
  border-color: #333;
  border-radius: 8px;
}
.itemBlock select {
  height: 38px;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 6px 6px 10px 6px;
  margin-right: 10px;
  color: #8a5f2e;
  display: inline-block;
  border-color: #333;
}
.itemBlock label {
  font-weight: normal;
  color: #000;
  font-size: 1.5rem;
  margin: 0;
  padding: 0;
}
.itemBlock label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0 0 0 0;
}

/* --------------------------------------
	Left Side  dl.contact-use-w
----------------------------------------*/
dl.contact-use-w {
  width: 100%;
  padding: 0;
  margin: 0;
}
dl.contact-use-w dt {
  float: left;
  width: 20px;
  font-size: 1.8rem;
  color: #000;
  text-align: left;
  line-height: 1.2;
  padding: 0 0 10px 0;
  margin: 0;
}
dl.contact-use-w dd {
  margin-left: 24px;
  font-size: 1.8rem;
  font-weight: 600;
  color: #000;
  text-align: left;
  line-height: 1.2;
  padding: 0 0 10px 0;
}

/* --------------------------------------
	Left Side  tel
----------------------------------------*/
.tell p.num {
  font-size: 6rem;
  font-weight: 600;
  padding: 0;
  margin: 0;
}
.tell p.time {
  font-size: 1.6rem;
  padding: 0;
  margin: 0;
}
.tell p.tel-txt {
  font-size: 1.6rem;
  padding: 10px 0 20px 0;
  margin: 0;
}
a.telcall {
  display: none;
}

/* --------------------------------------
	confirmBlock
----------------------------------------*/
.confirmBlock {
  text-align: center;
  line-height: 1;
}
.confirmBlock ul.submit {
  width: 100%;
  font-size: 0;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  -webkit-padding-start: 0px;
}
.confirmBlock ul.submit li {
  width: 100%;
  font-size: 1.8rem;
  display: inline-block;
}
.confirmBlock ul.submit li button.reset {
  background-color: #c9c9c9;
  color: #434343;
  border: none;
  text-decoration: none;
  padding: 15px 40px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.confirmBlock ul.submit li button.reset:hover {
  background-color: #000;
  color: #fff;
  cursor: pointer;
}
.confirmBlock ul.submit li button.confirm {
  display: inline-block;
  position: relative;
  border-radius: 2px;
  border: none;
  color: #f1f1f1;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 4px;
  margin: 0 auto;
  padding: 30px 80px;
  background: #8ebf1f;
  border-radius: 8px;
  text-transform: uppercase;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.confirmBlock ul.submit li button.confirm:hover {
  background-color: #678917;
  color: #fff;
  border: none;
  cursor: pointer;
}
input[type="file"] {
  display: block;
}
@media (max-width: 1480px) {
  .itemBlock .title {
    font-size: 2rem;
  }
  .contentsBlock .title {
    font-size: 2rem;
  }
  .addressBlock .title {
    font-size: 2rem;
  }
}
@media (max-width: 1380px) {
  .headline-inline .headline-contact01 {
    font-size: 1.6rem;
  }
  .headline-inline .headline-contact02 {
    font-size: 1.6rem;
  }
  .itemBlock .title {
    font-size: 1.6rem;
  }
  .contentsBlock .title {
    font-size: 1.6rem;
  }
  .contentsBlock .title span {
    font-size: 1.6rem;
  }
  .addressBlock .title {
    font-size: 1.6rem;
  }
  .privacyBlock .title {
    font-size: 1.6rem;
  }
}
@media (max-width: 1200px) {
  .contact-inner {
    width: 100%;
    padding: 5% 0 0;
  }
  .tell p.num {
    font-size: 4.9rem;
  }
  .tell p.time {
    font-size: 1.4rem;
  }
  .tell p.tel-txt {
    font-size: 1.4rem;
  }
  .contact-txt02 {
    font-size: 1.4rem;
  }
}
@media (max-width: 990px) {
  .contact-inner {
    font-size: 1.4rem;
    padding: 10px 0 0;
  }
  .contact-txt001 {
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .contact-txt03 {
    font-size: 1.4rem;
  }
  .second-contact-subcontents-text {
    font-size: 2.4vw;
    line-height: 1.4;
  }
  .second-contact-subcontents-text br.br {
    display: block;
  }
  a.second-contact-tel {
    font-size: 6vw;
  }
  .headline-inline .headline-contact01 {
    font-size: 2rem;
    text-align: center;
  }
  .headline-inline .headline-contact02 {
    font-size: 2rem;
    text-align: center;
  }
  .tell {
    margin-bottom: 2em;
  }
  .tell span.num {
    font-size: 3.2rem;
  }
  .tell span.time {
    font-size: 1.4rem;
  }
  .contact-txt01 {
    margin-bottom: 1em;
  }
  .contact-txt02 {
    font-size: 1.4rem;
  }
  .contact-txt02 span {
    font-size: 1.6rem;
    margin-bottom: 0.5em;
  }
  .itemBlock .title {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
  .contentsBlock {
    font-size: 1.6rem;
  }
  .contentsBlock .title span {
    font-size: 1.3rem;
  }
  .privacyBlock {
    margin-bottom: 20px;
  }
  .addressBlock .title {
    font-size: 1.6rem;
  }
  .privacyBlock .title {
    font-size: 1.8rem;
  }
  .privacyBlock {
    line-height: 1.2;
    font-size: 1.4rem;
  }
  .privacyBlock label {
    font-size: 1.6rem;
    margin-top: 10px;
  }
  .contact-inner .tell p.num {
    font-size: 3.6rem;
  }
  .confirmBlock ul.submit {
    margin-top: 50px;
    padding-bottom: 2%;
  }
}
@media (max-width: 749px) {
  .headline-inline .headline-contact01 {
    font-size: 1.7rem;
    text-align: left;
  }
  .headline-inline .headline-contact02 {
    font-size: 1.7rem;
    text-align: left;
  }
  .addressBlock {
    margin-bottom: 15px;
  }
  .addressBlock p {
    margin-bottom: 5px;
  }
  .addressBlock input {
    margin-bottom: 20px;
  }
  .addressBlock .title {
    margin-bottom: 20px;
  }
  .addressBlock span {
    font-size: 1.2rem;
  }
  .contentsBlock .title {
    font-size: 1.6rem;
  }
  .privacyBlock .title {
    margin-bottom: 15px;
  }
}
@media (max-width: 680px) {
  /* SP */
  a.telcall {
    display: block;
  }
}
@media (max-width: 499px) {
  .service-contents02.contact {
    padding: 0 5% 120px;
  }
  /* SP */
  .contact-inner {
    padding: 5% 0 0;
  }
  .contact-txt001 {
    font-size: 1.4rem;
    margin-top: 0;
    margin-bottom: 20px;
    text-align: left;
  }
  .contact-txt001 br {
    display: block;
  }
  .second-contact-subcontents-top-wrap {
    padding: 5% 0 3%;
  }
  .second-contact-subcontents-text {
    font-size: 3.6vw;
  }
  a.second-contact-tel {
    font-size: 7.2vw;
  }
  .second-contact-tel-uke {
    font-size: 1.1rem;
    letter-spacing: 0;
  }
  .headline-inline .headline-contact01 {
    font-size: 1.5rem;
    padding: 10px 50px 10px 0;
  }
  .headline-inline .headline-contact02 {
    font-size: 1.5rem;
  }
  .itemBlock {
    font-size: 1.4rem;
  }

  .itemBlock p {
    font-size: 1.6rem;
  }
  .itemBlock .title {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
  .itemBlock select {
    font-size: 1.3rem !important;
  }
  .contentsBlock {
    font-size: 1.6rem;
  }
  .contentsBlock .title {
    font-size: 1.6rem;
  }
  .contentsBlock .title span {
    font-size: 1.5rem;
  }
  .addressBlock .title {
    font-size: 1.6rem;
  }
  .addressBlock span.age {
    display: block;
    font-size: 1.2rem;
  }
  .privacyBlock {
    margin-bottom: 50px;
  }
  .privacyBlock .title {
    font-size: 1.6rem;
  }
  .addressBlock p {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
  .addressBlock label {
    line-height: 1;
    font-size: 1.6rem;
    margin-bottom: 0;
  }
  .addressBlock input[type="radio"] {
    margin-bottom: 10px;
  }
  .itemBlock label p {
    font-size: 1.5rem;
  }
  .privacyBlock p {
    font-size: 1.5rem;
    margin-bottom: 15px;
  }
  .privacyBlock label p {
    font-size: 1.6rem;
  }
  .tell p.time {
    font-size: 1.2rem;
  }
  .tell p.tel-txt {
    font-size: 1.2rem;
  }
  .contact-txt02 {
    font-size: 1.2rem;
  }
  .form-control-w20p {
    width: 6em;
    margin-right: 0px !important;
  }
  .confirmBlock ul.submit li button.confirm {
    padding: 30px 40px;
  }
}
@media (max-width: 360px) {
  .headline-inline .headline-contact01 {
    font-size: 1.5rem;
    padding: 10px 60px 10px 0;
  }
  .contact-inner .tell p.num {
    font-size: 3rem;
  }
  .tell p.time {
    font-size: 1.2rem;
  }
  .tell p.tel-txt {
    font-size: 1.2rem;
  }
  .contact-txt02 {
    font-size: 1.2rem;
  }
  .contents01 .titleBlock p.read {
    font-size: 1.6rem;
  }
  .business-service-2x h5 {
    margin: 0 0 10px;
  }
  .business-service-2x p {
    font-size: 1rem;
  }
  .contents02 .titleBlock02 p.read {
    font-size: 1.6rem;
  }
  .about-company-left h2.about-copy {
    font-size: 1.6rem;
  }
  .about-company-left h2.recruit-copy {
    font-size: 1.8rem;
  }
}

/* ------------------------------------------------------------------
Second Contact 確認画面
------------------------------------------------------------------- */
.contact-inner .conbox-head {
  width: 100%;
  margin: 20px auto 80px;
  text-align: center;
}
.contact-inner .conbox-head p {
  font-size: 1.5rem;
  line-height: 1.8;
  color: #000;
  text-align: center;
  margin: 0;
}
@media (max-width: 1200px) {
  .contact-inner .conbox-head {
    width: 100%;
  }
  .contact-inner .conbox-head p {
    font-size: 1.4rem;
  }
}
@media (max-width: 499px) {
  .contact-inner .conbox-head p {
    font-size: 1.5rem;
    text-align: left;
  }
  .contact-inner .conbox-head p br {
    display: none;
  }
}

.contact-inner .conbox01 {
  width: 100%;
  margin: 0 auto;
  font-size: 1.8rem;
}

/* ------------------------------------------------------------------
Second Contact エラー・確認画面
------------------------------------------------------------------- */
.formWrap {
  width: 100%;
  margin: 0 auto 8%;
  color: #000;
  font-size: 1.6rem;
}
.formWrap h4 {
  width: 100%;
  margin: 10% auto;
  color: #000;
  font-size: 1.6rem;
}
.form-inWrap {
  text-align: center;
}
@media (max-width: 499px) {
  .formWrap h4 {
    margin: 20% auto;
    font-size: 1.6rem;
    text-align: left;
  }
}

p.error_messe {
  margin: 15px 0;
  color: red;
}
@media (max-width: 499px) {
  p.error_messe {
    text-align: left;
    line-height: 1.4;
  }
}

.formWrap input.backto {
  display: block;
  width: 300px;
  text-decoration: none;
  margin: 0 auto;
  padding: 20px;
  font-size: 1.6rem;
  text-align: center;
  background-color: #ccc;
  color: #000;
  border: 0px outset buttonface;
  border-radius: 8px;
  transition: all 0.3s ease;
}
@media (max-width: 499px) {
  .formWrap input.backto {
    width: 200px;
  }
}

.formWrap input.backto:hover {
  background-color: #666;
  color: #fff;
  cursor: pointer;
}

.formWrap h3 {
  width: 100%;
  margin: 0 auto 8%;
  color: #000;
  font-size: 2.4rem;
  text-align: center;
}
.formWrap .textcenter {
  margin: 0 auto 5%;
  line-height: 1.5;
  text-align: center;
}

table.formTable {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
}

table.formTable td,
table.formTable th {
  border-bottom: 1px solid #ccc;
  padding: 20px;
}

table.formTable th {
  width: 30%;
  font-weight: bold;
  text-align: left;
}

.formWrap .textcenter .submitmail {
  display: inline-block;
  width: 300px;
  margin: 30px auto;
  padding: 20px;
  border-radius: 8px;
  border: none;
  background: #8ebf1f;
  color: #fff;
  text-align: center;
  font-weight: bold;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  transition: 0.3s ease-in-out;
}
.formWrap .textcenter .submitmail:hover {
  background: #678917;
}
@media (max-width: 499px) {
  .formWrap .textcenter .submitmail {
    width: 200px;
  }
}

/*簡易版レスポンシブ用CS*/
@media screen and (max-width: 990px) {
  .formWrap {
    width: 95%;
    margin: 0 auto;
  }
  table.formTable th,
  table.formTable td {
    width: auto;
    display: block;
  }
  table.formTable th {
    margin-top: 5px;
    border-bottom: 0;
    padding: 20px 20px 0 20px;
  }
  form input[type="submit"],
  form input[type="reset"],
  form input[type="button"] {
    display: block;
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 990px) and (max-width: 499px) {
  .formWrap {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }
  form input[type="submit"],
  form input[type="reset"],
  form input[type="button"] {
    height: auto;
  }
  table.formTable td {
    width: auto;
    display: block;
    padding: 10px 20px 20px 20px;
  }
}

/* ------------------------------------------------------------------
Second Contact 完了画面
------------------------------------------------------------------- */
.contactfin-title-box {
  padding: 0;
  text-align: center;
}
.contactfin-img-box {
  width: 240px;
  margin: 0 auto 60px;
  padding: 0;
  text-align: center;
}
.contacts-txt-complete {
  padding: 0 0 50px;
  font-size: 1.8rem;
}
@media (max-width: 990px) {
  .contacts-txt-complete {
    font-size: 1.6rem;
  }
}
@media (max-width: 749px) {
  .contacts-txt-complete br.br {
    display: none;
  }
}
@media (max-width: 499px) {
  .contacts-txt-complete {
    text-align: left;
  }
}
.backtotop {
  width: 240px;
  margin: 0 auto;
  padding: 20px;
  text-align: center;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  border: none;
  border-radius: 8px;
  background: #8ebf1f;
  transition: all 0.3s ease;
}
.backtotop a {
  color: #fff;
}
.backtotop:hover {
  background-color: #8a5f2e;
  cursor: pointer;
}
.backtotop:hover a {
  color: #fff;
}

/* ------------------------------------------------------------------
privacy.html
------------------------------------------------------------------- */
.second-header-contents-title-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50vh;
  margin: 0;
  padding: 5% 0 5%;
}
.privacyBlock iframe {
  width: 100%;
  height: 250px;
  margin: 0 0 10px;
  border-width: 0px;
  border-radius: 0.25rem;
  overflow: hidden;
}

.privacy-title-section {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 50px 0;
  background-color: #f5f5f5;
}
.privacy-inner-title {
  display: block;
  font-size: 3rem;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  line-height: 1;
  color: #000;
  text-align: center;
  margin: 0;
  padding: 0;
}
.privacy-inner-title span {
  display: block;
  font-size: 1.8rem;
  padding: 10px 0 0;
}
.privacy-inner-section {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 40px 0 50px;
  margin: 0;
  background-color: #f5f5f5;
}
.privacy-inner {
  margin: 0;
  padding: 0;
  text-align: left;
}
.privacy-title-text {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #000;
  padding: 0 0 30px;
}
.privacy-subtitle {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  color: #000;
  margin: 0;
  padding: 0 0 15px;
}
.privacy-title-right {
  font-size: 1.5rem;
  color: #000;
  text-align: right;
  margin: 0;
  padding: 0;
}
.privacy-txt {
  font-size: 1.6rem;
  color: #000;
  margin: 0;
  padding: 0 0 40px;
}
.privacy-txt02 {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #000;
  margin: 0;
  padding: 0 0 20px;
}
.privacy-txt-last {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #000;
  margin: 0;
  padding: 0 0 50px;
}
.privacy-txt-last a {
  color: #000;
}
dl.item-privacy-lines {
  width: 100%;
  padding: 0 0 0 20px;
  margin: 0 0 50px;
}
dl.item-privacy-lines dt {
  float: left;
  width: 30px;
  font-size: 1.6rem;
  color: #000;
  text-align: left;
  padding: 4px 0;
  margin: 0;
}
dl.item-privacy-lines dd {
  margin-left: 30px;
  font-size: 1.6rem;
  color: #000;
  text-align: left;
  padding: 4px 0;
}

/* ------------------------------------------------------------------
Footer
------------------------------------------------------------------- */
footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 3vh;
  margin: 0;
  padding: 0;
  text-align: center;
}
footer p {
  font-size: 10px;
  font-weight: 600;
  text-align: right;
  color: #111;
  padding: 0 30px 0 0;
}

.footer-container {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}
.footer-left-menu-wrap {
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  border-right: solid 1px #ccc;
}
.footer-left-menu {
  width: 100%;
  margin: 0;
  padding: 0;
}
.footer-left-menu li {
  display: flex;
  align-items: center;
  width: 100%;
  height: 16.666%;
  margin: 0;
  padding: 0 10%;
  border-bottom: solid 1px #ccc;
}
.footer-left-menu li.last {
  border-bottom: none;
}
.footer-left-menu li a {
  font-size: 2vw;
  font-family: Arial, Helvetica, sans-serif;
  font-style: italic;
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.1vw;
  color: #111;
}
.footer-left-menu li a:hover {
  color: #ccc;
  text-decoration: none;
}

.footer-right-address-wrap {
  display: flex;
  align-items: center;
  padding-left: 8%;
  padding-right: 0%;
  background-color: #fff;
}
.footer-address-wrapper {
  display: block;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}
.footer-company-name01 {
  display: block;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 2px;
  color: #111;
  margin: 0 0 15px;
  padding: 0;
}
.footer-address {
  display: block;
  font-size: 16px;
  color: #111;
  margin: 0 0 10px;
  padding: 0;
}
a.footer-gmap {
  display: block;
  font-size: 12px;
  line-height: 1;
  color: #111;
  margin: 0 0 15px;
  padding: 0;
}
a.footer-gmap:hover {
  color: #666;
}
.footer-tel-wrap {
  display: block;
  font-size: 16px;
  margin: 0;
  padding: 0;
}
.footer-tel-wrap a {
  font-size: 18px;
  font-weight: 500;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1;
  letter-spacing: 1px;
  color: #111;
  margin: 0;
  padding: 0 0 8px;
}
.footer-tel-wrap a span {
  display: inline-block;
  font-size: 14px;
  margin: 0;
  padding: 0 10px 0 0;
}

.footer-menu-wrap {
  display: flex;
  flex-direction: column;
  margin: 8% 0;
  padding: 0;
}
.footer-menu-wrap a {
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  color: #111;
  margin: 0 0 3%;
  padding: 0;
}
.footer-menu-wrap a:hover {
  letter-spacing: 1px;
  color: #666;
}

.footer-name {
  width: 75%;
  margin: 0 0 5%;
  padding: 0;
}
.footer-name span {
  display: block;
  font-size: 1.3vw;
  font-weight: 600;
  font-style: italic;
  color: #111;
  line-height: 1;
  letter-spacing: 0.2vw;
  padding: 20px 0 0;
}
.footer-copyright {
  display: block;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: #111;
  text-align: left;
  margin: 4% 0 0;
  padding: 0;
}

@media (max-width: 1480px) {
  .footer-company-name01 {
    font-size: 16px;
    letter-spacing: 1px;
  }
  .footer-address {
    font-size: 14px;
  }
}
@media (max-width: 1380px) {
  .footer-right-address-wrap {
    padding-left: 5%;
  }
}
@media (max-width: 1200px) {
  .footer-right-address-wrap {
    padding-left: 3%;
  }
}
@media (max-width: 990px) {
  footer {
    height: auto;
  }
  .footer-container {
    height: auto;
  }
  .footer-left-menu-wrap {
    height: auto;
    border-right: none;
  }
  .footer-left-menu {
    height: auto;
  }
  .footer-left-menu li {
    height: 100px;
  }
  .footer-left-menu li a {
    font-size: 3.6vw;
  }
  .footer-left-menu li.last {
    border-bottom: solid 1px #ccc;
  }
  .footer-right-address-wrap {
    padding-top: 10%;
    padding-bottom: 8%;
    padding-left: 10%;
    padding-right: 10%;
  }
  .footer-company-name01 {
    font-size: 18px;
  }
  .footer-address {
    font-size: 16px;
  }
  .footer-name {
    width: 80%;
    margin: 4% auto 0;
  }
  .footer-tel-wrap a {
    font-size: 20px;
    padding: 0 0 10px;
  }
  .footer-menu-wrap a {
    font-size: 18px;
    margin: 0 0 4%;
  }
  .footer-copyright {
    text-align: center;
    margin: 8% 0 0;
  }
}
@media (max-width: 499px) {
  .footer-left-menu li {
    justify-content: center;
    height: 60px;
  }
  .footer-left-menu li a {
    font-size: 4.8vw;
  }
  .footer-address-wrapper {
    text-align: center;
    padding-bottom: 8%;
  }
  .footer-company-name01 {
    font-size: 16px;
    margin: 0 0 10px;
  }
  .footer-address {
    font-size: 15px;
  }
  .footer-menu-wrap {
    display: block;
    margin: 8% 0 10%;
  }
  .footer-menu-wrap a {
    font-size: 16px;
    margin: 0 0 5%;
  }
  .footer-name {
    width: 90%;
    margin: 0 auto;
  }
  .footer-copyright {
    font-size: 11px;
    text-align: center;
    margin: 0 0 8%;
  }
}

/* ------------------------------------------------------------------
Scroll UP
------------------------------------------------------------------- */
.scroll-up {
  position: fixed;
  display: none;
  bottom: 40px;
  right: 30px;
  z-index: 9;
}
.scroll-up a {
  display: block;
  height: 50px;
  width: 50px;
  text-align: center;
  line-height: 50px;
  font-size: 1.8rem;
  color: #000;
  opacity: 1;
  background-color: #fbe000;
  border-radius: 50%;
}
.scroll-up a:hover,
.scroll-up a:active {
  opacity: 1;
  color: #fff;
  background-color: #ef845c;
}

@media (max-width: 990px) {
  .scroll-up {
    right: 15px;
  }
  .scroll-up a {
    height: 40px;
    width: 42px;
    line-height: 40px;
  }
}
@media (max-width: 749px) {
  .scroll-up {
    bottom: 10px;
    right: 10px;
  }
}
@media (max-width: 499px) {
  .privacy-inner-section {
    padding: 0 20px;
  }
  .privacy-inner-title {
    font-size: 2rem;
  }
  .privacy-inner-title span {
    font-size: 1.5rem;
  }
  .privacy-subtitle {
    font-size: 1.6rem;
    line-height: 1.3;
  }
  .privacy-title-text {
    font-size: 1.5rem;
    line-height: 1.5;
  }
  .privacy-txt-last {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
