@charset "UTF-8";
li {
  list-style: none;
}

a {
  text-decoration: none;
}

body {
  font-family: "Noto Sans JP", sans-serif;
}

main {
  overflow: hidden;
}

.mb_br {
  display: none;
}
@media (width < 431px) {
  .mb_br {
    display: block;
  }
}

@media (width < 431px) {
  .pc_br {
    display: none;
  }
}

/*----------フェード----------*/
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in.active {
  opacity: 1;
  transform: translateY(0);
}

/*----------テキストアニメーション----------*/
.text-animation span {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
  -webkit-animation: textIn 0.6s ease forwards;
          animation: textIn 0.6s ease forwards;
}

@-webkit-keyframes textIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes textIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*----------ホバーアニメーション----------*/
.opacity08 {
  transition: opacity 0.3s;
}

.opacity08:hover {
  opacity: 0.8;
}

/*----------ヘッダー----------*/
.slide_nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.pc_header {
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  margin: 30px 5%;
}
@media (width < 1281px) {
  .pc_header {
    margin: 30px 4%;
  }
}
@media (width < 1101px) {
  .pc_header {
    margin: 30px 2%;
  }
}
@media (width < 769px) {
  .pc_header {
    justify-content: left;
    width: auto;
    margin: 0;
  }
}

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
}

.header-top {
  background-color: #fff;
}
@media (width < 769px) {
  .header-top {
    background-color: transparent;
  }
}

.header-page {
  background-color: transparent;
}

.header-page .pc-nav a {
  color: #fff;
}
.header-page .pc-nav .header-page-g a{
	color: #0B8461;
}

@media (width < 769px) {
  .header_pc_logo {
    display: none;
  }
}
.header_pc_logo img {
  width: 280px;
  height: 37px;
}
@media (width < 1281px) {
  .header_pc_logo img {
    width: 230px;
    height: 30px;
  }
}
@media (width < 1101px) {
  .header_pc_logo img {
    width: 160px;
    height: 21px;
  }
}

.header_mb_logo {
  display: none;
  margin-left: 5%;
}
.header_mb_logo img {
  width: 130px;
  height: 96px;
}
@media (width < 769px) {
  .header_mb_logo img {
    width: 100px;
    height: 73px;
  }
}
@media (width < 431px) {
  .header_mb_logo img {
    width: 94px;
    height: 69px;
  }
}
@media (width < 769px) {
  .header_mb_logo {
    display: block;
  }
}

@media (width < 769px) {
  .pc-nav {
    display: none;
  }
}
.pc-nav ul {
  display: flex;
  align-items: center;
}
@media (width < 1101px) {
  .pc-nav ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px 20px;
  }
}
.pc-nav li + li {
  margin-left: 40px;
}
@media (width < 1281px) {
  .pc-nav li + li {
    margin-left: 30px;
  }
}
@media (width < 1101px) {
  .pc-nav li + li {
    margin-left: 0px;
  }
}
.pc-nav a {
  color: #007F5B;
  font-size: 14px;
}

.pc-nav li .page-pcnav {
  color: #fff;
}

.header__container {
  display: none;
}
@media (width < 769px) {
  .header__container {
    display: flex;
    align-items: center;
    justify-content: right;
    padding: 0 3%;
    gap: 50px;
  }
}
@media (width < 431px) {
  .header__container {
    gap: 30px;
  }
}

/*----------ヘッダーエントリーボタン----------*/
.header-entrybtn {
  background-color: #007F5B;
  border-radius: 25px;
}
.header-entrybtn a {
  color: #fff;
  letter-spacing: 0.1rem;
  font-size: 20px;
  width: 250px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (width < 769px) {
  .header-entrybtn a {
    width: 200px;
    height: 50px;
  }
}
@media (width < 431px) {
  .header-entrybtn a {
    width: 180px;
    height: 40px;
  }
}
.header-entrybtn img {
  width: 25px;
  height: 25px;
  margin-right: 5px;
}

/* ===============================================
ハンバーガーボタン
=============================================== */
.hamburger {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin: 0;
  cursor: pointer;
  position: relative;
  z-index: 550;
  transition: 0.5s all;
  background-color: #F3CA25;
  border: solid 1px #fff;
  border-radius: 50%;
}
@media (width < 431px) {
  .hamburger {
    width: 50px;
    height: 50px;
  }
}

/* =============================
三本線 共通
============================= */
.hamburger span,
.hamburger span::before,
.hamburger span::after {
  position: absolute;
  display: block;
  content: "";
  height: 2px;
  background-color: #ffffff;
  transition: all 0.5s;
  left: 50%;
  transform: translateX(-50%);
}

/* 上 */
.hamburger span::before {
  width: 35px;
  top: -10px;
}
@media (width < 431px) {
  .hamburger span::before {
    width: 25px;
  }
}

/* 真ん中 */
.hamburger span {
  width: 35px;
}
@media (width < 431px) {
  .hamburger span {
    width: 25px;
  }
}

/* 下 */
.hamburger span::after {
  width: 35px;
  bottom: -10px;
}
@media (width < 431px) {
  .hamburger span::after {
    width: 25px;
  }
}

/* =============================
open状態
============================= */
.hamburger.open span {
  background-color: transparent;
}

/* ×をきれいに見せるため width を統一 */
.hamburger.open span::before,
.hamburger.open span::after {
  width: 25px;
}

.hamburger.open span::before {
  top: 0;
  transform: rotate(45deg);
}

.hamburger.open span::after {
  bottom: 0;
  transform: rotate(-45deg);
}

/* ===============================================
メニューのスタイリング
=============================================== */
.hamburger_nav {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  right: -120%;
  background-color: #9c9c9c;
  transition: all 0.5s;
  z-index: 500;
}
@media (width < 769px) {
  .hamburger_nav {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (width < 431px) {
  .hamburger_nav {
    width: 100%;
    padding: 20% 0 15% 0;
  }
}
.hamburger_nav.open {
  right: 0;
}

/* ===============================================
共通
=============================================== */
.mb-img {
  display: none;
}
@media (width < 769px) {
  .mb-img {
    display: block;
  }
}

@media (width < 769px) {
  .pc-img {
    display: none;
  }
}

/*フォントの太さ*/
.fw-800 {
  font-weight: 800;
}

.fw-700 {
  font-weight: 700;
}

.fw-600 {
  font-weight: 600;
}

.fw-500 {
  font-weight: 500;
}

.fw-400 {
  font-weight: 400;
}

.fw-300 {
  font-weight: 300;
}

/*フォントのサイズ*/
.fs-h30 {
  font-size: 30px;
}
@media (width < 1281px) {
  .fs-h30 {
    font-size: 25px;
  }
}
@media (width < 1101px) {
  .fs-h30 {
    font-size: 20px;
  }
}

.fs-h25 {
  font-size: 25px;
}
@media (width < 1281px) {
  .fs-h25 {
    font-size: 20px;
  }
}
@media (width < 1101px) {
  .fs-h25 {
    font-size: 18px;
  }
}

.fs-h20 {
  font-size: 20px;
}
@media (width < 1281px) {
  .fs-h20 {
    font-size: 18px;
  }
}
@media (width < 1101px) {
  .fs-h20 {
    font-size: 16px;
  }
}

.fs-p18 {
  font-size: 18px;
}
@media (width < 1281px) {
  .fs-p18 {
    font-size: 16px;
  }
}
@media (width < 769px) {
  .fs-p18 {
    font-size: 14px;
  }
}

.fs-p16 {
  font-size: 16px;
}
@media (width < 1101px) {
  .fs-p16 {
    font-size: 14px;
  }
}

.fs-p14 {
  font-size: 14px;
}
@media (width < 1101px) {
  .fs-p14 {
    font-size: 12px;
  }
}

/*画面最大幅*/
.max-wh14 {
  max-width: 1440px;
  margin: 0 auto;
}

.max-wh12 {
  max-width: 1280px;
  margin: 0 auto;
}

.max-wh11 {
  max-width: 1100px;
  margin: 0 auto;
}

.more-btn {
  padding: 0 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 40px;
}
@media (width < 431px) {
  .more-btn {
    padding: 0 20px;
  }
}
.more-btn img {
  width: 30px;
  height: 30px;
}
@media (width < 431px) {
  .more-btn img {
    width: 20px;
    height: 20px;
  }
}

/* ===============================================
ファーストビュー
=============================================== */
.top-fv {
  padding: 7% 10% 0 10%;
  height: 100vh;
  width: 100%;
  position: relative;
}
@media (width < 1281px) {
  .top-fv {
    padding: 8% 8% 0 8%;
  }
}
@media (width < 1101px) {
  .top-fv {
    padding: 10% 8% 0 8%;
  }
}
@media (width < 769px) {
  .top-fv {
    padding: 0% 4% 0 4%;
    height: 120vh;
  }
}
@media (width < 431px) {
  .top-fv {
    height: 90vh;
  }
}

.fv-left-text {
  position: absolute;
  left: 0;
  top: 50%;
  transform: rotate(-90deg) translateY(-50%);
  font-weight: bold;
  color: #0B8461;
  font-size: 18px;
}
@media (width < 769px) {
  .fv-left-text {
    font-size: 16px;
  }
}
@media (width < 1281px) {
  .fv-left-text {
    left: -35px;
  }
}
@media (width < 1101px) {
  .fv-left-text {
    left: -40px;
  }
}
@media (width < 769px) {
  .fv-left-text {
    left: -60px;
  }
}
@media (width < 431px) {
  .fv-left-text {
    font-size: 12px;
    left: -50px;
  }
}

.fv-wrapper {
  background: url(img/top/fv-hero.webp) center/cover no-repeat;
  width: 100%;
  height: 90%;
  border-radius: 50px;
  position: relative;
}
@media (width < 769px) {
  .fv-wrapper {
    height: 100%;
    background: url(img/top/fv-hero-mb.webp) center/cover no-repeat;
    border-radius: 0 0 50px 50px;
  }
}

.fv-title {
  position: absolute;
  left: 5%;
  top: 60%;
  transform: translateY(-50%);
}
@media (width < 1281px) {
  .fv-title {
    top: 65%;
  }
}
@media (width < 431px) {
  .fv-title {
    top: 70%;
  }
}
.fv-title h1 {
  font-size: 70px;
  color: #fff;
}
@media (width < 1281px) {
  .fv-title h1 {
    font-size: 50px;
  }
}
@media (width < 431px) {
  .fv-title h1 {
    font-size: 35px;
  }
}
.fv-title p {
  color: #fff;
  font-size: 25px;
}
.fv-title .mg-10 {
  margin-left: -75px;
}

.fv-entry-btn {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #007F5B;
  border-radius: 25px 0 0 25px;
  z-index: 1000;
}
@media (width < 1281px) {
  .fv-entry-btn {
    padding: 60px 15px;
  }
}
@media (width < 769px) {
  .fv-entry-btn {
    display: none;
  }
}
.fv-entry-btn a {
  color: #fff;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 0.5rem;
  font-size: 20px;
  padding: 80px 20px;
  display: inline-block;
}
@media (width < 1281px) {
  .fv-entry-btn a {
    padding: 60px 15px;
    font-size: 18px;
  }
}
@media (width < 769px) {
  .fv-entry-btn a {
    display: none;
  }
}
.fv-entry-btn img {
  width: 25px;
  height: 25px;
  margin-bottom: 15px;
}

.fv-scroll {
  position: absolute;
  right: 50px;
  bottom: 2%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (width < 1281px) {
  .fv-scroll {
    right: 25px;
  }
}
@media (width < 1101px) {
  .fv-scroll {
    right: 15px;
  }
}
@media (width < 769px) {
  .fv-scroll {
    right: auto;
    left: 15%;
    bottom: -35%;
  }
}
@media (width < 431px) {
  .fv-scroll {
    left: 12%;
    bottom: -30%;
  }
}
.fv-scroll p {
  color: #007F5B;
  font-weight: bold;
  letter-spacing: 0.1rem;
  text-align: center;
  margin-bottom: 10px;
  font-size: 16px;
}
@media (width < 1281px) {
  .fv-scroll p {
    font-size: 14px;
  }
}
@media (width < 1101px) {
  .fv-scroll p {
    font-size: 12px;
  }
}
@media (width < 769px) {
  .fv-scroll p {
    font-size: 18px;
  }
}
.fv-scroll img {
  width: 73px;
  height: 90px;
}
@media (width < 1281px) {
  .fv-scroll img {
    width: 65px;
    height: 80px;
  }
}
@media (width < 1101px) {
  .fv-scroll img {
    width: 55px;
    height: 68px;
  }
}
@media (width < 769px) {
  .fv-scroll img {
    width: 150px;
    height: 185px;
  }
}
@media (width < 431px) {
  .fv-scroll img {
    width: 61px;
    height: 75px;
  }
}

/* ===============================================
アバウト
=============================================== */
.about {
  padding: 5% 0;
}

.about-wrapper {
  margin: 0 5%;
  display: flex;
  gap: 100px;
}
@media (width < 1281px) {
  .about-wrapper {
    gap: 70px;
  }
}
@media (width < 1101px) {
  .about-wrapper {
    gap: 40px;
  }
}
@media (width < 769px) {
  .about-wrapper {
    display: block;
  }
}

.about-img01 {
  width: 497px;
  height: 746px;
}
@media (width < 1281px) {
  .about-img01 {
    width: 410px;
    height: 615px;
  }
}
@media (width < 1101px) {
  .about-img01 {
    width: 350px;
    height: 526px;
  }
}
@media (width < 769px) {
  .about-img01 {
    width: 45%;
    height: 450px;
    margin-left: auto;
  }
}
@media (width < 431px) {
  .about-img01 {
    width: 55%;
    height: 300px;
  }
}
.about-img01 img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 40px;
}

.about-img02 {
  width: 480px;
  height: 328px;
  margin: 5% 0 0 5%;
}
@media (width < 769px) {
  .about-img02 {
    width: 70%;
  }
}
@media (width < 431px) {
  .about-img02 {
    height: 190px;
    margin: 10% 0 0 5%;
  }
}
.about-img02 img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 20px;
}

.about-text {
  margin-top: -50px;
}
.about-text h2 {
  color: #007F5B;
  font-size: 18px;
}
@media (width < 431px) {
  .about-text h2 {
    font-size: 14px;
  }
}
.about-text h3 {
  font-size: 40px;
  margin: 40px 0 60px 0;
  white-space: nowrap;
}
@media (width < 1281px) {
  .about-text h3 {
    font-size: 35px;
  }
}
@media (width < 1101px) {
  .about-text h3 {
    font-size: 30px;
    margin: 30px 0 40px 0;
  }
}
@media (width < 769px) {
  .about-text h3 {
    font-size: 25px;
    margin: 15px 0 30px 0;
  }
}
@media (width < 431px) {
  .about-text h3 {
    font-size: 20px;
  }
}
.about-text p {
  line-height: 2rem;
}

@media (width < 431px) {
  .about-text-list {
    margin: 5% 0;
  }
}
.about-text-list li {
  line-height: 2rem;
}
.about-text-list img {
  width: 22px;
  height: 22px;
}
@media (width < 431px) {
  .about-text-list img {
    width: 18px;
    height: 18px;
  }
}

/* ===============================================
ワーク
=============================================== */
.work {
  position: relative;
  background-image: url(img/bg/bg2.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 15% 0 15% 0;
}
@media (width < 1281px) {
  .work {
    margin-top: 7%;
  }
}
@media (width < 1101px) {
  .work {
    background-position: 35%;
    padding: 30% 0 15% 0;
  }
}
@media (width < 769px) {
  .work {
    background-position: 25%;
    padding: 25% 0 15% 0;
  }
}

.work-wrapper {
  margin: 0 5%;
}

.work-item + .work-item {
  margin-top: 10%;
}

.more-img {
  width: 654px;
  height: 442px;
  position: absolute;
  right: 7%;
  top: -10%;
}
@media (width < 1441px) {
  .more-img {
    width: 600px;
    height: 420px;
    right: 5%;
  }
}
@media (width < 1281px) {
  .more-img {
    width: 540px;
    height: 378px;
    top: -10%;
  }
}
@media (width < 1101px) {
  .more-img {
    width: 420px;
    height: 294px;
    top: -5%;
  }
}
.more-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 40px;
}

.title-number {
  display: block;
  font-size: 50px;
}
@media (width < 1281px) {
  .title-number {
    font-size: 40px;
  }
}
@media (width < 769px) {
  .title-number {
    font-size: 30px;
  }
}

.work-title-numebr {
  color: transparent; /* 中身透明 */
  -webkit-text-stroke: 1px #ffffff; /* 枠線 */
}

.contents-title {
  line-height: 5rem;
}
@media (width < 769px) {
  .contents-title {
    line-height: 3rem;
  }
}

.contents-subtitle {
  margin-top: 30px;
  color: #fff;
}
@media (width < 431px) {
  .contents-subtitle {
    font-size: 14px;
    line-height: 1.5rem;
  }
}

.work-title, .work-subtitle {
  color: #fff;
}

.work-title {
  font-size: 100px;
}
@media (width < 1281px) {
  .work-title {
    font-size: 90px;
  }
}
@media (width < 769px) {
  .work-title {
    font-size: 60px;
  }
}

.work-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 7%;
}
@media (width < 769px) {
  .work-inner {
    display: block;
  }
}

.work-img01 {
  width: 703px;
  height: 492px;
}
@media (width < 1441px) {
  .work-img01 {
    width: 600px;
    height: 420px;
  }
}
@media (width < 1281px) {
  .work-img01 {
    width: 560px;
    height: 392px;
  }
}
@media (width < 769px) {
  .work-img01 {
    width: 100%;
  }
}
.work-img01 img {
  border-radius: 40px;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.work-img01 {
  position: relative;
}

.work-img-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.work-img-link.active {
  opacity: 1;
  z-index: 1;
}

.work-more {
  width: 45%;
}
@media (width < 769px) {
  .work-more {
    width: 100%;
    margin-top: 10%;
  }
}
.work-more ul {
  width: 100%;
}
.work-more li {
  border-top: solid 1px #fff;
}
.work-more li:last-child {
  border-bottom: solid 1px #fff;
}
.work-more a {
  color: #fff;
  display: flex;
  align-items: center;
  margin: 30px 0;
}
.work-more .work-more-number {
  font-size: 14px;
  color: #fff;
  margin-right: 10px;
}
.work-more .work-more-btn {
  width: 30px;
  height: 30px;
  margin-left: auto;
  display: block;
}

.work-btn01 {
  margin-top: 3%;
  margin-left: auto;
  margin-right: 20%;
  width: 350px;
  height: 60px;
  color: #007F5B;
  background-color: #fff;
  transition: background-color 0.3s, color 0.3s;
}
@media (width < 1441px) {
  .work-btn01 {
    margin-right: 15%;
    margin-top: 5%;
  }
}
@media (width < 1281px) {
  .work-btn01 {
    margin-right: 10%;
  }
}
@media (width < 1101px) {
  .work-btn01 {
    margin-right: 5%;
  }
}
@media (width < 769px) {
  .work-btn01 {
    margin-right: 0%;
    margin-top: 10%;
    width: 300px;
    height: 60px;
  }
}

.work-btn01:hover {
  background-color: #0B8461;
  color: #fff;
}

.work-btn02 {
  margin: 0 auto;
  margin-top: 10%;
  width: 350px;
  height: 60px;
  color: #007F5B;
  background-color: #fff;
  transition: background-color 0.3s, color 0.3s;
}

.work-btn02:hover {
  background-color: #0B8461;
  color: #fff;
}

.work-parson-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 50px;
  margin-top: 5%;
  transition: transform 0.4s ease;
}
@media (width < 1281px) {
  .work-parson-inner {
    gap: 25px;
  }
}
@media (width < 1101px) {
  .work-parson-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
  }
}
@media (width < 769px) {
  .work-parson-inner {
    display: flex;
    width: 100%;
    gap: 0;
  }
}

.work-img02 {
  width: 100%;
}
.work-img02 img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 40px;
}

.work-parson-cpntents {
  margin-top: 5%;
}

.work-person-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}
.work-person-label p {
  background-color: #fff;
  border-radius: 5px;
  color: #0B8461;
  padding: 5px 15px;
  font-weight: 500;
  font-size: 12px;
}

.work-parson-job,
.work-parson-name,
.work-parson-more {
  color: #fff;
}

.work-parson-name {
  margin: 5px 0;
  font-weight: bold;
}

/* スライダー設定 */
.work-slider-wrap {
  position: relative;
}

.work-slider {
  overflow: hidden;
}

.work-child {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
@media (width < 769px) {
  .work-child {
    opacity: 1;
    transform: none;
    flex: 0 0 100%;
  }
}

/* 表示状態 */
.work-child.is-show {
  opacity: 1;
  transform: translateY(0);
}

/* ボタン */
.work-btn {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  z-index: 10;
  background: #fff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  color: #0B8461;
  z-index: 10;
  display: none;
}
@media (width < 769px) {
  .work-btn {
    display: block;
  }
}

.work-btn.prev {
  left: 10px;
}

.work-btn.next {
  right: 10px;
}

/* ===============================================
imgブロック
=============================================== */
.pickup {
  width: 100%;
  height: 70vh;
}
@media (width < 431px) {
  .pickup {
    height: 50vh;
  }
}

.pickup-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  background-image: url(img/bg/secbg1.webp);
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}
.pickup-wrapper h2 {
  font-size: 50px;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  white-space: nowrap;
}
@media (width < 1281px) {
  .pickup-wrapper h2 {
    font-size: 40px;
  }
}
@media (width < 1101px) {
  .pickup-wrapper h2 {
    font-size: 35px;
  }
}
@media (width < 769px) {
  .pickup-wrapper h2 {
    font-size: 30px;
  }
}
@media (width < 431px) {
  .pickup-wrapper h2 {
    font-size: 25px;
  }
}

/* ===============================================
moreボタン
=============================================== */
.page-more-btn {
  padding: 5% 0;
}
@media (width < 769px) {
  .page-more-btn {
    padding: 10% 0;
  }
}
@media (width < 431px) {
  .page-more-btn {
    padding: 20% 0;
  }
}

.page-more-left {
  border-top: solid 1px #0B8461;
  border-right: solid 1px #0B8461;
  border-bottom: solid 1px #0B8461;
  position: relative;
  background-color: #FFFEFC;
  width: 60%;
  border-radius: 0 50px 50px 0;
  padding: 3% 0 3% 10%;
}
@media (width < 1281px) {
  .page-more-left {
    padding: 3% 0 0% 5%;
    width: 65%;
  }
}
@media (width < 769px) {
  .page-more-left {
    width: 85%;
  }
}

.page-more-left::after {
  content: "";
  position: absolute;
  left: -160px;
  bottom: -150px;
  background-image: url(img/bg/circle.webp);
  background-position: center;
  background-size: cover;
  width: 500px;
  height: 500px;
}

.page-more-right {
  border-top: solid 1px #0B8461;
  border-left: solid 1px #0B8461;
  border-bottom: solid 1px #0B8461;
  position: relative;
  background-color: #FFFEFC;
  width: 70%;
  margin-left: auto;
  border-radius: 50px 0 0 50px;
  margin-top: 5%;
  padding: 3% 0 3% 10%;
}
@media (width < 1281px) {
  .page-more-right {
    width: 75%;
    padding: 3% 0 0% 10%;
  }
}
@media (width < 769px) {
  .page-more-right {
    width: 95%;
  }
}

.page-more-right::after {
  content: "";
  position: absolute;
  right: 0px;
  top: -120px;
  background-image: url(img/bg/circle.webp);
  background-position: center;
  background-size: cover;
  width: 450px;
  height: 450px;
}

.page-more-arrow {
  width: 125px;
  height: 155px;
  transform: rotate(270deg);
  margin-left: auto;
  margin-right: 10%;
}
@media (width < 1281px) {
  .page-more-arrow {
    width: 100px;
    height: 123px;
  }
}
.page-more-arrow img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.page-more-title, .page-more-subtitle {
  color: #007F5B;
}

.page-more-title {
  font-size: 100px;
}
@media (width < 1281px) {
  .page-more-title {
    font-size: 80px;
  }
}
@media (width < 769px) {
  .page-more-title {
    font-size: 60px;
  }
}
@media (width < 769px) {
  .page-more-title {
    font-size: 40px;
  }
}

.page-more-titlenumber {
  color: transparent; /* 中身透明 */
  -webkit-text-stroke: 1px #007F5B; /* 枠線 */
}

/* ===============================================
お知らせ
=============================================== */
.info {
  padding: 5% 0;
  margin-right: 15%;
}
@media (width < 769px) {
  .info {
    margin-right: 5%;
  }
}

.info-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  padding: 5%;
}
@media (width < 769px) {
  .info-wrapper {
    display: block;
    padding: 5% 5% 10% 5%;
  }
}
@media (width < 431px) {
  .info-wrapper {
    padding: 15% 5% 15% 5%;
  }
}

.info-box {
  background-color: #F7F7F7;
  border-radius: 0 25px 25px 0;
  border-top: solid 1px #0B8461;
  border-right: solid 1px #0B8461;
  border-bottom: solid 1px #0B8461;
}

.info-child {
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* 上にタイトル・下にボタン */
}
@media (width < 769px) {
  .info-child {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.info-child h2 {
  color: #007F5B;
  font-size: 40px;
}
@media (width < 431px) {
  .info-child h2 {
    font-size: 16px;
  }
}
.info-child p {
  color: #007F5B;
}

.info-list {
  width: 60%;
}
@media (width < 1281px) {
  .info-list {
    width: 65%;
  }
}
@media (width < 769px) {
  .info-list {
    width: 100%;
    margin-top: 7%;
  }
}
@media (width < 431px) {
  .info-list {
    margin-top: 15%;
  }
}
.info-list ul {
  width: 100%;
}
.info-list li {
  border-bottom: solid 1px #007F5B;
}
.info-list li + li {
  margin-top: 30px;
}
.info-list p {
  color: #007F5B;
  margin-bottom: 5px;
}

.info-btn {
  background-color: #0B8461;
  color: #fff;
  width: 340px;
  height: 70px;
  transition: opacity 0.3s;
}
@media (width < 1281px) {
  .info-btn {
    width: 250px;
    height: 60px;
  }
}
@media (width < 431px) {
  .info-btn {
    font-size: 14px;
    width: 200px;
    height: 40px;
  }
}

.info-btn:hover {
  opacity: 0.8;
}

/* ===============================================
応募要項
=============================================== */
.recruit {
  margin: 0 10%;
}
@media (width < 1281px) {
  .recruit {
    margin: 0 5%;
  }
}

.recruit-wrapper {
  padding: 5% 0;
}

.title-box {
  margin-bottom: 5%;
}
@media (width < 431px) {
  .title-box {
    margin-bottom: 10%;
  }
}

.recruit-title, .recruit-subtitle {
  color: #0B8461;
}

.recruit-title {
  font-size: 80px;
}
@media (width < 1281px) {
  .recruit-title {
    font-size: 70px;
  }
}
@media (width < 769px) {
  .recruit-title {
    font-size: 50px;
  }
}
@media (width < 431px) {
  .recruit-title {
    font-size: 40px;
    line-height: 2.7rem;
  }
}

.recruit-more-titlenumber {
  color: transparent; /* 中身透明 */
  -webkit-text-stroke: 1px #007F5B; /* 枠線 */
}

/* タブ */
.recruit-tabs {
  display: flex;
  gap: 10px;
}

.tab-btn {
  padding: 15px 40px;
  border: none;
  background: #ffffff;
  color: #0B8461;
  cursor: pointer;
  border-radius: 6px 6px 0 0;
  font-weight: 600;
  border-top: solid 2px #0B8461;
  border-left: solid 2px #0B8461;
  border-right: solid 2px #0B8461;
  transition: background-color 0.2s, color 0.2s;
}

.tab-btn:hover {
  background-color: #F3CA25;
  border: none;
  color: #000000;
  padding: 17px 42px 15px 42px;
}

.tab-btn.active {
  background: #1c8663;
  color: #fff;
}

/* タブコンテンツ */
.tab-content {
  display: none;
}

.tab-content.active {
  display: block;
}

/* アコーディオン */
.job-header {
  background: #1c8663;
  color: #fff;
  padding: 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  transition: opacity 0.3s;
}

.job-header:hover {
  opacity: 0.9;
}

.job-body {
  max-height: 0;
  overflow: hidden;
  background: #ffffff;
  padding: 0 40px;
  transition: max-height 0.5s ease, padding 0.3s ease;
  border: 1px solid #0B8461;
}

.job-body-inner {
  padding: 40px;
}
@media (width < 431px) {
  .job-body-inner {
    padding: 10% 10px;
  }
}

/* テーブル */
.job-table {
  width: 100%;
  border-collapse: collapse;
}

.job-table th {
  width: 200px;
  background: #84C1AF;
  padding: 20px;
  text-align: left;
  border: 1px solid #0B8461;
  font-weight: 400;
}
@media (width < 431px) {
  .job-table th {
    width: 100px;
    padding: 10px 5px;
    font-size: 14px;
  }
}

.job-table td {
  padding: 20px;
  border: 1px solid #0B8461;
}
@media (width < 431px) {
  .job-table td {
    font-size: 14px;
    padding: 10px 5px;
  }
}

/* ===============================================
エントリー
=============================================== */
.entry-box {
  padding: 5% 0 15% 0;
  position: relative;
  margin: 0 10%;
}
@media (width < 1281px) {
  .entry-box {
    padding: 10% 0 15% 0;
    margin: 0 5% 0% 5%;
  }
}
@media (width < 1101px) {
  .entry-box {
    padding: 10% 0 20% 0;
    margin: 0 5% 0% 5%;
  }
}
@media (width < 769px) {
  .entry-box {
    padding: 10% 0 30% 0;
    margin: 0 3% 0% 3%;
  }
}
@media (width < 431px) {
  .entry-box {
    padding: 10% 0 40% 0;
    margin: 0 3% 0% 3%;
  }
}

.entry-box-wrapper {
  background-image: url(img/top/recruit1.webp);
  background-position: left center;
  background-size: cover;
  height: 50vh;
  width: 100%;
  border-radius: 60px;
  position: relative;
  z-index: 0;
  /*アニメーション*/
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.entry-box-wrapper a {
  width: 100%;
  height: 100%;
}
@media (width < 431px) {
  .entry-box-wrapper {
    height: 120px;
    border-radius: 30px;
  }
}

/* 表示後 */
.entry-box-wrapper.is-show {
  opacity: 1;
  transform: scale(1);
}

.entry-box-wrapper.is-show:hover {
  opacity: 0.7;
}

.entry-box::after {
  content: "";
  background-image: url(img/bg/circle.webp);
  background-size: cover;
  width: 500px;
  height: 500px;
  position: absolute;
  left: -250px;
  bottom: -150px;
}
@media (width < 431px) {
  .entry-box::after {
    display: none;
  }
}

.entry-box-text {
  position: absolute;
  color: #fff;
  text-align: center;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (width < 431px) {
  .entry-box-text {
    text-align: left;
    left: 5%;
    transform: translate(0, -50%);
  }
}
.entry-box-text h2 {
  font-size: 130px;
}
@media (width < 1281px) {
  .entry-box-text h2 {
    font-size: 90px;
  }
}
@media (width < 769px) {
  .entry-box-text h2 {
    font-size: 60px;
  }
}
@media (width < 431px) {
  .entry-box-text h2 {
    font-size: 30px;
  }
}
.entry-box-text p {
  font-size: 25px;
}
@media (width < 1281px) {
  .entry-box-text p {
    font-size: 20px;
  }
}
@media (width < 431px) {
  .entry-box-text p {
    font-size: 12px;
  }
}

.entry-arrow {
  position: absolute;
  right: 5%;
  bottom: 5%;
}
@media (width < 431px) {
  .entry-arrow {
    bottom: auto;
    right: 2%;
    top: 50%;
    transform: translateY(-50%);
  }
}
.entry-arrow img {
  width: 125px;
  height: 100px;
}
@media (width < 431px) {
  .entry-arrow img {
    width: 50px;
    height: 30px;
  }
}

/* ===============================================
フッター
=============================================== */
footer {
  position: relative;
  z-index: 1;
}

.wrap {
  overflow: hidden;
  margin-top: -100px;
}

.content01 {
  background: #0B8461;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  height: 200px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
}

@media (width < 769px) {
  .content01 {
    height: 150px;
  }
}
@media (width < 431px) {
  .content01 {
    height: 120px;
  }
}
.footer-wrapper {
  background-color: #0B8461;
  margin-top: -100px;
}

.footer-logo {
  width: 261px;
  height: 192px;
  margin: 0 auto;
}
@media (width < 431px) {
  .footer-logo {
    width: 201px;
    height: 147px;
  }
}
.footer-logo img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.footer-info {
  text-align: center;
  color: #fff;
}
@media (width < 769px) {
  .footer-info {
    display: none;
  }
}

.footer-info-more {
  margin-top: 10px;
}

.footer-nav01 {
  max-width: 1100px;
  margin: 0 auto;
  padding: 5% 0;
}
@media (width < 1101px) {
  .footer-nav01 {
    padding: 5% 15px;
  }
}
@media (width < 431px) {
  .footer-nav01 {
    padding: 5% 0 10% 15%;
  }
}
.footer-nav01 ul {
  display: flex;
  justify-content: space-around;
}
@media (width < 769px) {
  .footer-nav01 ul {
    display: block;
    width: 250px;
    margin: 0 auto;
  }
}
@media (width < 431px) {
  .footer-nav01 ul {
    width: auto;
    margin: 0;
  }
}
.footer-nav01 ul + ul {
  margin-top: 5%;
}
@media (width < 769px) {
  .footer-nav01 ul + ul {
    margin-top: 30px;
  }
}
@media (width < 769px) {
  .footer-nav01 li + li {
    margin-top: 30px;
  }
}
.footer-nav01 a {
  color: #fff;
  display: flex;
  align-items: center;
}
@media (width < 431px) {
  .footer-nav01 a {
    font-size: 14px;
  }
}
.footer-nav01 img {
  width: 22px;
  height: 22px;
}

.footer-nav01-child {
  margin: 0 10%;
}
@media (width < 769px) {
  .footer-nav01-child {
    margin: 0;
  }
}

.footer-banner {
  text-align: center;
}
.footer-banner img {
  width: 274px;
  height: 72px;
}
@media (width < 1281px) {
  .footer-banner img {
    width: 220px;
    height: 58px;
  }
}
@media (width < 431px) {
  .footer-banner img {
    width: 181px;
    height: 47px;
  }
}

.footer-nav02 {
  margin: 5% 0 30px 0;
}
.footer-nav02 ul {
  display: flex;
  justify-content: center;
  gap: 20px;
}
@media (width < 431px) {
  .footer-nav02 ul {
    display: block;
  }
}
.footer-nav02 a {
  color: #fff;
  display: flex;
  align-items: center;
}
@media (width < 431px) {
  .footer-nav02 a {
    margin-top: 15px;
    justify-content: center;
  }
}
@media (width < 431px) {
  .footer-nav02 a {
    font-size: 14px;
  }
}
.footer-nav02 img {
  width: 15px;
  height: 15px;
  margin-left: 15px;
}

.copyright {
  color: #fff;
  text-align: center;
  padding-bottom: 15px;
}
@media (width < 431px) {
  .copyright {
    font-size: 12px;
  }
}

/* ===============================================
下層ページFV
=============================================== */
.page-fv {
  width: 100%;
  height: 100vh;
  position: relative;
}
@media (width < 769px) {
  .page-fv {
    height: 70vh;
  }
}
@media (width < 431px) {
  .page-fv {
    height: 50vh;
  }
}

.page-top-bg {
  position: absolute;
  left: 0;
  bottom: -20px;
}

.page-topbg-img {
  width: 100vw;
  height: auto;
}
.page-topbg-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.service, .person, .company-about {
  background-image: url(img/bg/c-bg2.webp);
  background-size: cover;
  background-position: center;
}

.page-company {
  background-image: url(img/company/company-fv.webp);
  background-size: cover;
}
@media (width < 431px) {
  .page-company {
    background-position: 50%;
    background-size: 250%;
  }
}

.page-person {
  background-image: url(img/person/person-fv.webp);
  background-size: cover;
}

.page-service {
  background-image: url(img/service/service-fv.webp);
  background-size: cover;
}

.page-fv-wrapper {
  margin: 0 0 0 5%;
  position: relative;
  width: 100%;
  height: 100%;
}

.page-fv-title {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
}
.page-fv-title h1 {
  font-size: 90px;
  letter-spacing: 0.5rem;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media (width < 1281px) {
  .page-fv-title h1 {
    font-size: 70px;
  }
}
@media (width < 769px) {
  .page-fv-title h1 {
    font-size: 50px;
  }
}
@media (width < 431px) {
  .page-fv-title h1 {
    font-size: 35px;
    letter-spacing: 0.2rem;
  }
}
.page-fv-title p {
  font-size: 20px;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media (width < 431px) {
  .page-fv-title p {
    font-size: 14px;
  }
}

/*下層ページタイトル*/
.page-title {
  font-size: 40px;
  letter-spacing: 0.2rem;
}

.page-subtitle {
  font-size: 16px;
}

.mission-title, .mission-subtitle,
.value-title, .value-subtitle {
  color: #fff;
  text-align: center;
}

.cr-title {
  color: #0B8461;
  margin: 5% 0 15px 0;
  font-size: 35px;
}
@media (width < 431px) {
  .cr-title {
    font-size: 20px;
    margin: 15% 0 5% 0;
  }
}

/*パンくずリスト*/
.breadcrumbs {
  position: absolute;
  right: 10%;
  top: 60%;
  transform: translateY(-50%);
  z-index: 10;
}
@media (width < 431px) {
  .breadcrumbs {
    right: 5%;
    top: 80%;
  }
}
.breadcrumbs a {
  color: #fff;
}
@media (width < 431px) {
  .breadcrumbs a {
    font-size: 12px;
  }
}
.breadcrumbs span {
  color: #fff;
}
.breadcrumbs span + span::before {
  content: " / ";
  margin: 0 5px;
}

.ps-breadcrumbs {
  position: absolute;
  right: 10%;
  top: 80%;
  transform: translateY(-50%);
  z-index: 10;
}
@media (width < 769px) {
  .ps-breadcrumbs {
    right: 5%;
  }
}
@media (width < 431px) {
  .ps-breadcrumbs {
    top: 85%;
  }
}
.ps-breadcrumbs a {
  color: #fff;
}
.ps-breadcrumbs span {
  color: #fff;
}
.ps-breadcrumbs span + span::before {
  content: " / ";
  margin: 0 5px;
}


/*機能ページ-下層*/
.page-second-fv {
  position: relative;
  height: 70vh;
  width: 100%;
}
@media (width < 431px) {
  .page-second-fv {
    height: 60vh;
  }
}

.page-second-wrapper {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}

.page-second-title {
  position: absolute;
  left: 5%;
  top: 35%;
  color: #0B8461;
}

.page-second-wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 400px;
  fill: #097150;
}
@media (width < 769px) {
  .page-second-wave {
    height: 300px;
  }
}
@media (width < 431px) {
  .page-second-wave {
    height: 200px;
  }
}

/*個別ページ-下層*/
.single-info-fv {
  position: relative;
  height: 70vh;
  width: 100%;
}
@media (width < 769px) {
  .single-info-fv {
    height: 55vh;
  }
}
@media (width < 431px) {
  .single-info-fv {
    height: 40vh;
  }
}

/* ===============================================
company
=============================================== */
.concept {
  margin: 0 5%;
}

.concept-wrapper {
  position: relative;
  height: 100vh;
}
@media (width < 431px) {
  .concept-wrapper {
    height: 110vh;
  }
}

.fade-in-bg::after {
  content: "";
  background-image: url(img/company/concept-left.webp);
  background-size: cover;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-50%, 0) scale(0.95);
  width: 422px;
  height: 726px;
}
@media (width < 1281px) {
  .fade-in-bg::after {
    width: 300px;
    height: 516px;
  }
}
@media (width < 1101px) {
  .fade-in-bg::after {
    width: 240px;
    height: 412px;
  }
}
@media (width < 769px) {
  .fade-in-bg::after {
    background-image: url(img/company/concept-top.webp);
    width: 412px;
    height: 179px;
    top: 5%;
    left: 50%;
    transform: translate(-50%, 0) scale(0.95);
  }
}

.fade-in-bg::before {
  content: "";
  background-image: url(img/company/concept-right.webp);
  background-size: cover;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) scale(0.95);
  width: 399px;
  height: 767px;
}
@media (width < 1281px) {
  .fade-in-bg::before {
    width: 300px;
    height: 576px;
  }
}
@media (width < 1101px) {
  .fade-in-bg::before {
    width: 240px;
    height: 461px;
  }
}
@media (width < 769px) {
  .fade-in-bg::before {
    background-image: url(img/company/concept-bottom.webp);
    width: 423px;
    height: 193px;
    right: auto;
    top: auto;
    left: 50%;
    bottom: 5%;
    transform: translateY(-50%) scale(0.95);
  }
}

.fade-in-bg::after,
.fade-in-bg::before {
  opacity: 0;
  transform: translateY(-50%) scale(0.95);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-in-bg.active::after,
.fade-in-bg.active::before {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.concept-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
}
@media (width < 431px) {
  .concept-inner {
    position: static;
    left: auto;
    top: auto;
    transform: translate(0, 0);
    margin: 0 3%;
    padding: 250px 0 0 0;
  }
}

.concept-title {
  text-align: center;
  color: #fff;
  font-size: 40px;
  line-height: 4rem;
}
@media (width < 1281px) {
  .concept-title {
    font-size: 35px;
  }
}
@media (width < 1101px) {
  .concept-title {
    font-size: 30px;
    line-height: 3.5rem;
  }
}
@media (width < 769px) {
  .concept-title {
    font-size: 25px;
    line-height: 3rem;
  }
}
@media (width < 431px) {
  .concept-title {
    font-size: 20px;
    line-height: 2.5rem;
  }
}

.concept-text {
  text-align: center;
  color: #fff;
  margin-top: 10%;
}
.concept-text p {
  line-height: 2.5rem;
  white-space: nowrap;
}
@media (width < 431px) {
  .concept-text p {
    white-space: normal;
    line-height: 1.7rem;
  }
}

/*ミッション*/
.mission {
  padding: 10% 0;
}
@media (width < 431px) {
  .mission {
    padding: 10% 0 20% 0;
  }
}

.mission-wrapper {
  max-width: 1100px;
  margin: 0 auto;
}
@media (width < 1101px) {
  .mission-wrapper {
    margin: 0 5%;
  }
}

.mission-img {
  width: 100%;
  height: 708px;
  margin: 5% 0;
}
@media (width < 769px) {
  .mission-img {
    height: 500px;
  }
}
@media (width < 431px) {
  .mission-img {
    height: 300px;
    margin: 10% 0;
  }
}
.mission-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 30px;
}

.mission-contents h3 {
  color: #fff;
  font-size: 30px;
  text-align: center;
}
@media (width < 769px) {
  .mission-contents h3 {
    font-size: 25px;
  }
}
@media (width < 431px) {
  .mission-contents h3 {
    font-size: 16px;
  }
}

.mission-text {
  margin-top: 7%;
}
@media (width < 1281px) {
  .mission-text {
    margin-top: 4%;
  }
}
@media (width < 431px) {
  .mission-text {
    margin-top: 10%;
  }
}
.mission-text p {
  color: #fff;
  line-height: 2.5rem;
  text-align: center;
}
@media (width < 431px) {
  .mission-text p {
    line-height: 2rem;
    text-align: left;
    line-height: 1.7rem;
  }
}

/*バリュー*/
.value {
  padding: 5% 0 30% 0;
  background-image: url(img/bg/group4.webp);
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  margin-top: -5px;
}
@media (width < 431px) {
  .value {
    background-position: 30%;
  }
}

.value-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  text-align: center;
}
.value-wrapper h3 {
  color: #fff;
  margin: 5% 0;
  line-height: 2.5rem;
}
@media (width < 431px) {
  .value-wrapper h3 {
    line-height: 2rem;
    margin: 0;
    padding: 10% 0;
  }
}

.value-inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (width < 1101px) {
  .value-inner {
    margin: 0 5%;
  }
}
@media (width < 769px) {
  .value-inner {
    display: block;
    margin-top: 15%;
  }
}

.value-box {
  width: 350px;
  height: 350px;
  border: solid 3px #fff;
  border-radius: 50%;
  margin-left: -50px;
  position: relative;
}
@media (width < 1101px) {
  .value-box {
    width: 300px;
    height: 300px;
  }
}
@media (width < 769px) {
  .value-box {
    margin-left: 0;
    margin-top: -50px;
    margin: -50px auto 0 auto;
  }
}
@media (width < 431px) {
  .value-box {
    margin-top: -25px;
  }
}

.value-box:first-child {
  margin-left: 0;
}
@media (width < 769px) {
  .value-box:first-child {
    margin: -50px auto 0 auto;
  }
}
@media (width < 431px) {
  .value-box:first-child {
    margin-top: -25px;
  }
}

.value-box-child {
  position: absolute;
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%);
  width: 100%;
  color: #fff;
}
.value-box-child h4 {
  margin-bottom: 5%;
}
@media (width < 431px) {
  .value-box-child h4 {
    font-size: 25px;
  }
}

/*求める人材*/
.company-recruit {
  background-color: #FCFFFD;
}

.cr-wrapper {
  margin: 0 10%;
}
@media (width < 1101px) {
  .cr-wrapper {
    margin: 0 7%;
  }
}
@media (width < 431px) {
  .cr-wrapper {
    margin: 0 3%;
  }
}

.cr-inner {
  text-align: center;
  margin-bottom: 3%;
}
@media (width < 431px) {
  .cr-inner {
    margin-bottom: 10%;
  }
}
.cr-inner p {
  line-height: 1.7rem;
}

.cr-contents {
  border: solid 2px #0B8461;
  border-radius: 60px;
  padding: 10% 7% 7% 7%;
  background-color: #fff;
}
@media (width < 769px) {
  .cr-contents {
    padding: 5% 3% 15% 3%;
  }
}
@media (width < 431px) {
  .cr-contents {
    border-radius: 20px;
    padding: 20% 3%;
  }
}
.cr-contents h3 {
  color: #0B8461;
  text-align: center;
  line-height: 3rem;
}
@media (width < 431px) {
  .cr-contents h3 {
    line-height: 2rem;
  }
}

.cr-child {
  margin-top: 10%;
  z-index: 0;
}
@media (width < 431px) {
  .cr-child {
    margin-top: 20%;
  }
}

.cr-child01, .cr-child02, .cr-child03 {
  position: relative;
}

.cr-rigth-child {
  width: 60%;
  margin-left: auto;
}
@media (width < 769px) {
  .cr-rigth-child {
    width: 100%;
  }
}

.cr-child-title {
  color: #0B8461;
}
.cr-child-title h4 {
  font-size: 30px;
  position: relative;
}

.cr-child01::after {
  content: "";
  background-image: url(img/bg/circle.webp);
  background-size: cover;
  position: absolute;
  left: -200px;
  bottom: -400px;
  width: 700px;
  height: 700px;
  z-index: -1;
}

.cr-child02::after {
  content: "";
  background-image: url(img/bg/circle.webp);
  background-size: cover;
  position: absolute;
  right: -300px;
  bottom: -300px;
  width: 900px;
  height: 900px;
  z-index: -1;
}

.cr-child03::after {
  content: "";
  background-image: url(img/bg/circle.webp);
  background-size: cover;
  position: absolute;
  left: 150px;
  bottom: -350px;
  width: 900px;
  height: 900px;
  z-index: -1;
}

.cr-child-text h5 {
  padding: 4% 0 20px 0;
}
@media (width < 431px) {
  .cr-child-text h5 {
    padding: 10% 0;
  }
}
.cr-child-text p {
  line-height: 1.7rem;
}

.cr-btn {
  width: 350px;
  height: 60px;
  background-color: #0B8461;
  color: #fff;
  margin: 15% auto 0 auto;
  padding-left: 5%;
  position: relative;
  z-index: 10;
}
@media (width < 431px) {
  .cr-btn {
    width: 300px;
    height: 50px;
  }
}

/*ロードマップ*/
.rordmap {
  padding: 5% 0;
  background-color: #FCFFFD;
}
@media (width < 769px) {
  .rordmap {
    padding: 10% 0;
  }
}

.rordmap-wrapper {
  margin: 0 7%;
}
@media (width < 1101px) {
  .rordmap-wrapper {
    margin: 0 5%;
  }
}

.rordmap-title {
  color: #0B8461;
  margin-bottom: 3%;
}
.rordmap-title h2 {
  font-size: 50px;
  letter-spacing: 0.2rem;
}
@media (width < 1101px) {
  .rordmap-title h2 {
    font-size: 40px;
  }
}

.rordmap-text h3 {
  margin-bottom: 2%;
}
@media (width < 431px) {
  .rordmap-text h3 {
    margin: 7% 0 5% 0;
  }
}
.rordmap-text p {
  line-height: 2rem;
}
@media (width < 431px) {
  .rordmap-text p {
    line-height: 1.7rem;
  }
}

.rordmap-contents {
  width: 90%;
  height: auto;
  margin: 5% auto 5% auto;
}
@media (width < 769px) {
  .rordmap-contents {
    width: 70%;
  }
}
@media (width < 431px) {
  .rordmap-contents {
    width: 90%;
    margin: 20% auto 20% auto;
  }
}
.rordmap-contents img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

@media (width < 769px) {
  .pc_rodmap_img {
    display: none;
  }
}

.mb_rodmap_img {
  display: none;
}
@media (width < 769px) {
  .mb_rodmap_img {
    display: block;
  }
}

/*サポート*/
.support {
  width: 100%;
  height: 70vh;
  position: relative;
  background-image: url(img/company/support.webp);
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}

.support-wrapper {
  margin: 0 5%;
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.support-contents {
  position: absolute;
  left: 5%;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  z-index: 1;
}
.support-contents h2 {
  font-size: 35px;
  margin-bottom: 3%;
}
.support-contents p {
  line-height: 2rem;
}

.support-wrapper::after {
  content: "SUPPORT";
  position: absolute;
  left: 0%;
  top: 20%;
  color: #fff;
  opacity: 0.4;
  font-size: 120px;
  font-weight: bold;
  z-index: -1;
}

/*メッセージ*/
.message {
  padding: 5% 0;
}
@media (width < 1281px) {
  .message {
    padding: 10% 0;
  }
}

.message-wrapper {
  margin: 0 7%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 50px;
}
@media (width < 1281px) {
  .message-wrapper {
    margin: 0 5%;
  }
}
@media (width < 769px) {
  .message-wrapper {
    display: block;
  }
}

.message-img {
  width: 50%;
}
@media (width < 769px) {
  .message-img {
    width: 80%;
    margin: 10% auto;
  }
}
@media (width < 431px) {
  .message-img {
    width: 100%;
  }
}

.message-contents {
  width: 50%;
}
@media (width < 769px) {
  .message-contents {
    width: 100%;
  }
}

.message-img {
  height: 900px;
}
@media (width < 769px) {
  .message-img {
    height: 700px;
  }
}
@media (width < 431px) {
  .message-img {
    height: 500px;
  }
}
.message-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 50px;
}

.message-contents {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (width < 769px) {
  .message-contents {
    width: 100%;
  }
}

.message-title {
  color: #0B8461;
}
.message-title h2 {
  font-size: 60px;
}
@media (width < 1101px) {
  .message-title h2 {
    font-size: 45px;
  }
}
@media (width < 769px) {
  .message-title h2 {
    font-size: 35px;
  }
}
@media (width < 431px) {
  .message-title h2 {
    font-size: 30px;
  }
}

@media (width < 769px) {
  .message-pc {
    display: none;
  }
}

.message-mb {
  display: none;
}
@media (width < 769px) {
  .message-mb {
    display: block;
  }
}

.message-text h3 {
  font-size: 30px;
  margin: 0 0 5% 0;
}
@media (width < 1101px) {
  .message-text h3 {
    font-size: 25px;
  }
}
@media (width < 769px) {
  .message-text h3 {
    font-size: 25px;
  }
}
@media (width < 431px) {
  .message-text h3 {
    font-size: 20px;
    margin: 0 0 10% 0;
  }
}
.message-text p {
  line-height: 2rem;
}
@media (width < 431px) {
  .message-text p {
    line-height: 1.7rem;
  }
}

.message-name {
  font-size: 25px;
}
@media (width < 769px) {
  .message-name {
    font-size: 20px;
  }
}
@media (width < 431px) {
  .message-name {
    font-size: 18px;
  }
}

.message-self {
  margin: 5% 0 0 0;
}
@media (width < 431px) {
  .message-self {
    margin-top: 10%;
  }
}

/*会社概要*/
.overview {
  padding: 5% 0;
  margin: 0 5%;
}
@media (width < 769px) {
  .overview {
    margin: 0 3%;
  }
}
@media (width < 431px) {
  .overview {
    padding: 10% 0 15% 0;
  }
}

.overview-title {
  color: #0B8461;
}
.overview-title h2 {
  font-size: 50px;
}
@media (width < 1101px) {
  .overview-title h2 {
    font-size: 40px;
  }
}
@media (width < 769px) {
  .overview-title h2 {
    font-size: 35px;
  }
}
@media (width < 431px) {
  .overview-title h2 {
    font-size: 30px;
  }
}

.overview-list {
  margin: 5% 3%;
}
@media (width < 769px) {
  .overview-list {
    margin: 5% 0;
  }
}

.overview-item {
  display: flex;
}

dt {
  width: 20%;
  border-bottom: solid 1px #0B8461;
  padding: 15px 0;
  display: flex;
  align-items: center;
}
@media (width < 431px) {
  dt {
    font-size: 14px;
    width: 25%;
  }
}

dd {
  width: 70%;
  border-bottom: solid 1px #D8D8D8;
  padding: 30px 0 30px 50px;
}
@media (width < 431px) {
  dd {
    font-size: 14px;
    width: 75%;
    padding: 30px 0 30px 20px;
  }
}

@media (width < 769px) {
  h3 {
    font-size: 16px;
  }
}
@media (width < 431px) {
  h3 {
    font-size: 14px;
  }
}

.mg-space01 {
  margin-left: 1rem;
}

.mg-space02 {
  margin-left: 2rem;
}

/*沿革*/
.history-wrapper {
  margin: 0 5%;
  padding: 3% 0 5% 0;
}
@media (width < 769px) {
  .history-wrapper {
    margin: 0 3%;
  }
}

.history-title {
  color: #0B8461;
}
.history-title h2 {
  font-size: 50px;
}
@media (width < 1101px) {
  .history-title h2 {
    font-size: 40px;
  }
}
@media (width < 769px) {
  .history-title h2 {
    font-size: 35px;
  }
}
@media (width < 431px) {
  .history-title h2 {
    font-size: 30px;
  }
}

.history-contents {
  position: relative;
  margin: 10% 0 0 5%;
}
@media (width < 769px) {
  .history-contents {
    margin: 10% 0 0 0;
  }
}
@media (width < 431px) {
  .history-contents {
    font-size: 12px;
  }
}
.history-contents li {
  display: flex;
}
.history-contents li + li {
  margin-top: 5%;
}

.time {
  width: 20%;
}

.history-about {
  width: 80%;
  position: relative;
  padding-left: 40px;
}
@media (width < 769px) {
  .history-about {
    padding-left: 20px;
  }
}
@media (width < 431px) {
  .history-about {
    padding-left: 30px;
  }
}

.history-about::after {
  content: "";
  width: 16px;
  height: 16px;
  background-color: #fff;
  border-radius: 50%;
  border: solid 1px #0B8461;
  position: absolute;
  left: -7%;
  top: 0;
  z-index: 2;
}
@media (width < 769px) {
  .history-about::after {
    left: -7.5%;
  }
}
@media (width < 431px) {
  .history-about::after {
    left: 0%;
  }
}

.history-contents::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  background: #0B8461;
  left: 15%;
  transform: translateX(-50%);
  top: 0;
  z-index: 1;
}
@media (width < 431px) {
  .history-contents::after {
    left: 22%;
  }
}

/* ===============================================
person
=============================================== */
.person-interview {
  margin: 0 5%;
}

/*インタビュー*/
.p-interview-wrapper {
  padding: 10% 0 15% 0;
}

.p-interview-title {
  color: #fff;
  margin-bottom: 5%;
}
.p-interview-title h2 {
  font-size: 50px;
}
@media (width < 769px) {
  .p-interview-title h2 {
    font-size: 35px;
  }
}
@media (width < 431px) {
  .p-interview-title h2 {
    font-size: 25px;
  }
}

.p-interview-contents {
  margin: 0 10%;
}
@media (width < 1441px) {
  .p-interview-contents {
    margin: 0 7%;
  }
}
@media (width < 1101px) {
  .p-interview-contents {
    margin: 0 5%;
  }
}
@media (width < 431px) {
  .p-interview-contents {
    margin: 0;
  }
}

.p-interview-child {
  display: flex;
  justify-content: space-between;
}
@media (width < 769px) {
  .p-interview-child {
    display: block;
  }
}

.p-interview-child + .p-interview-child {
  margin-top: 15%;
}

.p-interview-item {
  width: 45%;
}
@media (width < 769px) {
  .p-interview-item {
    width: 100%;
  }
}

.p-interview-inner {
  color: #fff;
  width: 50%;
}
@media (width < 769px) {
  .p-interview-inner {
    width: 100%;
  }
}

.p-interview-img {
  width: 100%;
  height: 719px;
}
@media (width < 1101px) {
  .p-interview-img {
    height: 500px;
  }
}
@media (width < 769px) {
  .p-interview-img {
    height: 700px;
  }
}
@media (width < 431px) {
  .p-interview-img {
    height: 500px;
  }
}
.p-interview-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 25px;
}

@media (width < 769px) {
  .p-interview-text {
    margin-top: 10%;
  }
}
.p-interview-text p {
  line-height: 2rem;
  margin-top: 3%;
}

.p-interview-text + .p-interview-text {
  margin-top: 8%;
}
@media (width < 769px) {
  .p-interview-text + .p-interview-text {
    margin-top: 10%;
  }
}

/*セクション区切り*/
.parson-bg {
  width: 100%;
  height: 70vh;
  background-image: url(img/person/person-bg.webp);
  background-size: cover;
  background-position: center;
  position: relative;
  background-attachment: fixed;
}
@media (width < 769px) {
  .parson-bg {
    height: 50vh;
  }
}

/*アバウト*/
.person-pickup {
  position: relative;
}

.parson-pickup-img {
  width: 100%;
  margin-left: -100px;
}
@media (width < 1281px) {
  .parson-pickup-img {
    margin-left: -50px;
  }
}
@media (width < 1101px) {
  .parson-pickup-img {
    margin-left: -70px;
  }
}
@media (width < 769px) {
  .parson-pickup-img {
    margin-left: -50px;
  }
}
@media (width < 431px) {
  .parson-pickup-img {
    margin-left: -30px;
  }
}
.parson-pickup-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.parson-pickup-text {
  text-align: center;
  margin-bottom: 5%;
}
@media (width < 1101px) {
  .parson-pickup-text {
    margin-bottom: 0;
  }
}
.parson-pickup-text p {
  font-weight: bold;
  font-size: 30px;
  line-height: 3.5rem;
}
@media (width < 769px) {
  .parson-pickup-text p {
    font-size: 20px;
    line-height: 2rem;
    white-space: nowrap;
  }
}

/* ===============================================
SERVICE
=============================================== */
.service-wrapper {
  margin: 0 5%;
}

/*4つの事業*/
.service-title {
  color: #fff;
  text-align: center;
  font-size: 40px;
  letter-spacing: 0.2rem;
  margin-bottom: 3%;
}
@media (width < 769px) {
  .service-title {
    font-size: 30px;
  }
}

.service-title-number {
  font-size: 60px;
}
@media (width < 769px) {
  .service-title-number {
    font-size: 50px;
  }
}

.service-nav {
  background-color: #fff;
  border-radius: 30px;
  padding: 15px 5%;
}
.service-nav ul {
  display: flex;
  flex-wrap: wrap;
}
.service-nav a {
  text-align: center;
  color: #0B8461;
}
.service-nav img {
  width: 16px;
  height: 20px;
  display: block;
  margin: 0 auto;
}

.service-nav li {
  flex: 1;
  position: relative;
  text-align: center;
}
@media (width < 769px) {
  .service-nav li {
    flex: 0 0 50%;
  }
}

.service-nav li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 45px;
  background: #0B8461; /* 線の色 */
}
@media (width < 769px) {
  .service-nav li:not(:last-child)::after {
    display: none;
  }
}

/* 右の線（左列だけ） */
@media (width < 769px) {
  .service-nav li:nth-child(odd)::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 60%;
    background: #0B8461;
  }
}

@media (width < 769px) {
  .service-nav li:nth-child(n+3) {
    margin-top: 3%;
  }
}

.service-contents-wrapper {
  margin: 5% 0;
}

.service-contents {
  background-color: #fff;
  padding: 3% 10%;
  border-radius: 40px;
  margin-top: 5%;
}
@media (width < 769px) {
  .service-contents {
    padding: 7% 10%;
  }
}
@media (width < 431px) {
  .service-contents {
    padding: 7% 3%;
  }
}

.service-contents + .service-contents {
  margin-top: 5%;
}
@media (width < 431px) {
  .service-contents + .service-contents {
    margin-top: 15%;
  }
}

@media (width < 431px) {
  .s-contents-title {
    padding-left: 10%;
  }
}

.s-contents-maintitle {
  position: relative;
  font-size: 35px;
}
@media (width < 1281px) {
  .s-contents-maintitle {
    font-size: 30px;
  }
}
@media (width < 1101px) {
  .s-contents-maintitle {
    font-size: 25px;
  }
}
@media (width < 431px) {
  .s-contents-maintitle {
    font-size: 20px;
  }
}

.s-contents-maintitle::after {
  content: "";
  background-image: url(img/icon/service-icon.webp);
  background-size: cover;
  position: absolute;
  left: -50px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 43px;
}
@media (width < 1101px) {
  .s-contents-maintitle::after {
    width: 28px;
    height: 38px;
    left: -35px;
  }
}

.s-contents-subtitle {
  color: #0B8461;
}

.s-contents-inner {
  display: flex;
  justify-content: space-between;
  margin-top: 5%;
}
@media (width < 769px) {
  .s-contents-inner {
    display: block;
  }
}

.s-contents-item {
  width: 50%;
}
@media (width < 769px) {
  .s-contents-item {
    width: 100%;
  }
}

.s-contents-img {
  width: 40%;
  height: 400px;
}
@media (width < 769px) {
  .s-contents-img {
    width: 100%;
    margin-top: 5%;
  }
}
.s-contents-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 40px;
}

.s-contents-child + .s-contents-child {
  margin-top: 5%;
}

.s-contents-child p {
  margin-left: 10px;
  line-height: 2rem;
}
.s-contents-child h5 {
  margin-left: 10px;
  padding: 15px 0;
}

.s-contents-label {
  border: solid 1px #0B8461;
  color: #0B8461;
  padding: 5px 10px;
  display: inline-block;
  margin-bottom: 15px;
}

.service-btn {
  margin: 0 auto;
  margin-top: 10%;
  width: 350px;
  height: 60px;
  color: #0B8461;
  background-color: #ffffff;
  border: solid 1px #0B8461;
}
@media (width < 431px) {
  .service-btn {
    width: 100%;
  }
}

/* ===============================================
information
=============================================== */
.information {
  background-color: #097150;
  padding-bottom: 15%;
}

.information-wrapper {
  max-width: 1100px;
  margin: 0 auto;
}
@media (width < 1101px) {
  .information-wrapper {
    margin: 0 5%;
    padding: 0 0 10% 0;
  }
}
@media (width < 431px) {
  .information-wrapper {
    padding: 0 0 20% 0;
  }
}

.information-card {
  background-color: #fff;
  border-radius: 20px;
  padding: 5%;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.information-img {
  width: 30%;
  height: 200px;
}
@media (width < 769px) {
  .information-img {
    display: none;
  }
}
.information-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.information-item {
  width: 65%;
}
@media (width < 769px) {
  .information-item {
    width: 100%;
  }
}

.information-card + .information-card {
  margin-top: 5%;
}

.information-date {
  color: #F3CA25;
}

.information-title {
  color: #0B8461;
  margin: 3% 0 5% 0;
}
@media (width < 769px) {
  .information-title {
    margin: 3% 0;
  }
}

.information-text {
  line-height: 2rem;
  color: #000000;
}

.information-btn {
  max-width: 430px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 5% 0;
}
@media (width < 431px) {
  .information-btn {
    padding: 10% 0;
  }
}
.information-btn img {
  width: 45px;
  height: 45px;
}

.information-number {
  background-color: #fff;
  border-radius: 50%;
  color: #0B8461;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  transition: 0.3s;
}
.information-number.current {
  background: #F3CA25;
  color: #0B8461;
 pointer-events: none;
}
.prev.disabled,
.next.disabled {
  opacity: 0.3;
  pointer-events: none;
}
.information-number:hover {
  opacity: 0.7;
}
.prev, .next{
  transition: 0.3s;
}
.prev:hover {
  opacity: 0.7;
}
.next:hover {
  opacity: 0.7;
}
.information-number:not(.current):hover {
  opacity: 0.7;
}

/* ===============================================
information-個別ページ
=============================================== */
.single-info {
  background-color: #097150;
  padding-bottom: 15%;
}

.s-info-wrapper {
  max-width: 1100px;
  margin: 0 auto;
}
@media (width < 1101px) {
  .s-info-wrapper {
    margin: 0 5%;
  }
}

.s-information-date, .s-information-title {
  color: #fff;
}

.s-info-contents {
  color: #fff;
  padding-bottom: 15%;
  border-bottom: solid 1px #fff;
}

.information-contents + .information-contents {
  margin-top: 5%;
}

.s-information-img {
  width: 100%;
  margin: 3% 0 5% 0;
}
@media (width < 769px) {
  .s-information-img {
    margin: 7% 0 8% 0;
  }
}
.s-information-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.single-infobtn-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 5% 0 5% 0;
}
.single-infobtn-inner .single-info-arrow {
  width: 45px;
  height: 45px;
}
@media (width < 769px) {
  .single-infobtn-inner {
    margin: 10% 0 15% 0;
  }
}
@media (width < 431px) {
  .single-infobtn-inner {
    margin: 15% 0 30% 0;
  }
}

.single-info-btn {
  width: 300px;
  height: 60px;
  color: #0B8461;
  background-color: #ffffff;
  border: solid 1px #0B8461;
  transition: 0.3s;
}

.single-info-btn:hover{
	opacity: 0.7;
}
@media (width < 431px) {
  .single-info-btn {
    width: 220px;
    height: 50px;
  }
}
.single-info-arrow {
  transition: 0.3s;
}

.single-infobtn-inner a:hover .single-info-arrow {
  opacity: 0.7;
}

/* ===============================================
プライバシーポリシー
=============================================== */
.privacy {
  background-color: #097150;
}

.privacy-wrapper {
  max-width: 1100px;
  margin: 0 auto;
  color: #fff;
  padding: 3% 3% 250px 3%;
}
@media (width < 431px) {
  .privacy-wrapper {
    padding: 3% 3% 200px 3%;
  }
}

/* ===============================================
エントリーフォーム
=============================================== */
.entryform__box {
  padding: 5% 0;
}

.entryform__title {
  text-align: center;
}

.entryform__box__wrapper {
  max-width: 1100px;
  margin: 0 auto;
  padding: 5% 0 0 0;
}
@media (width < 1101px) {
  .entryform__box__wrapper {
    padding: 5% 5% 0 5%;
  }
}
@media (width < 769px) {
  .entryform__box__wrapper {
    padding: 7% 5% 0 5%;
  }
}
@media (width < 769px) {
  .entryform__box__wrapper {
    padding: 10% 5% 0 5%;
  }
}

.recruit-form {
  margin: 0 auto;
  padding: 3% 10%;
  background-color: #097150;
}
@media (width < 769px) {
  .recruit-form {
    padding: 3% 5%;
  }
}
.recruit-form p{
	color: #fff;
	font-size: 16px;
}
.form-row {
  display: flex;
  align-items: center;
  padding: 3% 0;
  border-bottom: 1px solid #dbe5dd;
}
@media (width < 769px) {
  .form-row {
    display: block;
  }
}

.form-row.textarea {
  align-items: flex-start;
}

.form-label {
  position: relative;
  width: 200px;
  padding-right: 40px; /* 必須分の余白 */
  font-size: 20px;
}
@media (width < 1101px) {
  .form-label {
    font-size: 18px;
  }
}
@media (width < 769px) {
  .form-label {
    font-size: 16px;
    width: 170px;
  }
}

.required {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  padding: 2px 6px;
}
@media (width < 769px) {
  .required {
    font-size: 14px;
  }
}

.form-input {
  flex: 1;
  font-size: 18px;
  margin-left: 5%;
}
@media (width < 769px) {
  .form-input {
    font-size: 16px;
    margin: 15px 0 15px 0;
  }
}

.form-input label {
  margin-right: 20px;
}

.form-input input[type=text],
.form-input input[type=email],
.form-input input[type=tel] {
  width: 300px;
  padding: 6px 8px;
  border: 1px solid #cfd8cf;
  background: #fff;
  border-radius: 20px;
}

.form-input textarea {
  border-radius: 20px;
  width: 100%;
  height: 120px;
  padding: 8px;
  border: 1px solid #cfd8cf;
  background: #fff;
}

.form-check {
  text-align: center;
  margin: 30px 0;
  font-size: 20px;
}
@media (width < 1101px) {
  .form-check {
    font-size: 18px;
  }
}
@media (width < 431px) {
  .form-check {
    font-size: 14px;
  }
}

.form-submit {
  text-align: center;
}

.wpcf7-submit {
  background: #CBCBCB;
  color: #0B8461;
  border: none;
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  width: 250px;
  height: 60px;
  margin: 0 auto 5% auto;
  border-radius: 40px;
  position: relative;
}
@media (width < 1101px) {
  .form-submit .button {
    font-size: 20px;
  }
}
@media (width < 431px) {
  .form-submit .button {
    font-size: 18px;
  }
}
.screen-reader-response, .wpcf7-response-output{
	text-align: center;
	margin-top: 3%;
}
.wpcf7 fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
.entry-ocolor{
	color: #FF8E1D;
}
.entry-arrow{
	width: 30px;
	height: 30px;
	color: #fff;
	background-color: #0B8461;
}
.input-100 input[type=text], .input-100 input[type=email], .input-100 input[type=tel]{
	width: 100%;
	padding: 10px 8px;
}

/*# sourceMappingURL=style.css.map */