@charset "UTF-8";
/*!
global > color
------------------------------
*/
/*!
global > font
------------------------------
*/
:root {
  --font-family-base: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --font-family-english: "Archivo Narrow", sans-serif;
}

/*!
foundation > base
------------------------------
*/
body {
  line-height: 1.6;
  font-size: 16px;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0em;
  background-color: #F9F9F9;
  color: #555555;
  font-family: var(--font-family-base);
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
}

a {
  color: #555555;
  text-decoration: none;
}

li {
  list-style: none;
}

img {
  width: 100%;
  vertical-align: bottom;
}

:after, :before {
  box-sizing: inherit;
}

.sp_br {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_br {
    display: block;
  }
}

/*!
foundation > reset
------------------------------
*/
/*!
layout > footer
------------------------------
*/
footer {
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  footer {
    width: max(375px, 100%);
  }
}
footer .container {
  padding-top: 77px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  footer .container {
    padding: 32px 15px 0;
    margin: 0;
  }
}
footer .inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 46px;
}
@media screen and (max-width: 970px) {
  footer .inner {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  footer .inner {
    display: block;
    margin-bottom: 0;
  }
}
footer .inner h1 img {
  width: 202px;
}
@media screen and (max-width: 800px) {
  footer .inner h1 img {
    width: 180px;
  }
}
@media screen and (max-width: 768px) {
  footer .inner h1 img {
    margin-bottom: 27px;
  }
}
footer .inner .pc_navi .footer-navi {
  display: flex;
  font-size: 16px;
  font-weight: bold;
  gap: 20px;
}
@media screen and (max-width: 970px) {
  footer .inner .pc_navi .footer-navi {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .pc_navi .footer-navi {
    display: none;
  }
}
footer .inner .pc_navi .footer-navi a {
  position: relative;
  text-decoration: none;
  color: inherit;
}
footer .inner .pc_navi .footer-navi a::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #3B4043;
  transition: width 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  footer .inner .pc_navi .footer-navi a:hover::after {
    width: 100%;
  }
}
footer .address {
  font-size: 16px;
  margin-bottom: 31px;
}
footer .contact_box {
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  footer .contact_box {
    margin-bottom: 38px;
    letter-spacing: 0rem;
  }
}
footer .contact_box address {
  font-size: 16px;
  line-height: 1.3;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  footer .contact_box address {
    margin-bottom: 30px;
  }
}
footer .contact_box .tel-block {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  footer .contact_box .tel-block {
    margin-top: 33px;
  }
}
@media (hover: hover) and (pointer: fine) {
  footer .contact_box .tel-block a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
footer .contact_box .no {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  footer .contact_box .no {
    margin-bottom: 31px;
  }
}
footer .contact_box .sp_navi {
  display: none;
}
@media screen and (max-width: 768px) {
  footer .contact_box .sp_navi {
    display: block;
    font-size: 16px;
    font-weight: bold;
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  footer .contact_box .sp_navi .footer-navi {
    line-height: 1.8;
  }
}
footer .contact_box .sp_navi .footer-navi a {
  position: relative;
  text-decoration: none;
  color: inherit;
}
footer .contact_box .sp_navi .footer-navi a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #3B4043;
  transition: width 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  footer .contact_box .sp_navi .footer-navi a:hover::after {
    width: 100%;
  }
}
footer .contact_box .sns {
  display: flex;
  gap: 18px;
  margin-bottom: 0;
}
footer .contact_box .sns .circle {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}
footer .contact_box .sns img {
  width: 25px;
}
@media screen and (max-width: 768px) {
  footer .contact_box {
    display: block;
  }
  footer .contact_box .sns {
    margin-top: 23px;
    justify-content: flex-end;
  }
}
footer .copy {
  font-size: 12px;
  text-align: center;
  padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
  footer .copy {
    padding-bottom: 25px;
  }
}

/*!
layout > header
------------------------------
*/
body:has(.hamburger.active) {
  overflow: clip;
}

#header {
  width: min(1366px, 94.4%);
  height: 90px;
  background-color: #fff;
  border-radius: 50px;
  position: fixed;
  right: 0;
  left: 0;
  margin: 20px auto 0;
  z-index: 20;
  display: flex;
  align-items: center;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (min-width: 1600px) {
  #header {
    width: min(1920px, 94.4%);
    height: 100px;
  }
}
@media screen and (max-width: 768px) {
  #header {
    width: 100%;
    height: 50px;
    border-radius: 0;
    margin-top: 0;
  }
}
#header .inner {
  width: min(1366px, 94.5%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}
@media screen and (min-width: 1600px) {
  #header .inner {
    width: min(1920px, 89%);
  }
}
#header h1 img {
  max-width: 169px;
  align-items: center;
}
@media screen and (min-width: 1600px) {
  #header h1 img {
    width: 150%;
  }
}
@media screen and (max-width: 970px) {
  #header h1 img {
    max-width: 140px;
  }
}
@media screen and (max-width: 768px) {
  #header h1 img {
    max-width: 116px;
  }
}
#header .navi {
  /*-------------------------------------------
  ハンバーガーメニュー大枠
  -------------------------------------------*/
  /* 解説
  アイコン線を格納するための大枠(親要素)です
  position: relative;で相対指定
  */
  /*-------------------------------------------
  ハンバーガーメニューのアイコン線
  -------------------------------------------*/
  /* クリック時に横アイコンが斜めになる */
}
#header .navi ul {
  display: flex;
  gap: 24px;
  align-items: center;
}
@media screen and (max-width: 970px) {
  #header .navi ul {
    gap: 0.5rem;
  }
}
#header .navi ul li a {
  color: #3B4043;
  font-weight: bold;
  letter-spacing: 0;
  font-size: 16px;
  position: relative;
  text-decoration: none;
}
@media screen and (min-width: 1600px) {
  #header .navi ul li a {
    font-size: 22px;
  }
}
@media screen and (max-width: 970px) {
  #header .navi ul li a {
    font-size: 13px;
    letter-spacing: -0.01rem;
  }
}
#header .navi ul li a::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #3B4043;
  transition: width 0.3s ease;
}
@media screen and (max-width: 768px) {
  #header .navi ul li a::after {
    display: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  #header .navi ul li a:hover::after {
    width: 100%;
  }
}
#header .navi ul .button {
  width: 148px;
  height: 48px;
  background-color: #F7B560;
  color: #FFF;
  border: 2px solid transparent;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
#header .navi ul .button::after {
  content: none;
}
#header .navi ul .button a {
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  #header .navi ul .button:hover {
    background-color: #FFF;
    color: #F7B560;
    border-color: #F7B560;
  }
  #header .navi ul .button:hover a {
    color: #F7B560;
  }
}
#header .navi ul .button:active, #header .navi ul .button:focus {
  opacity: 0.8;
}
@media screen and (min-width: 1600px) {
  #header .navi ul .button {
    width: 210px;
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  #header .navi .pc-navi {
    display: none;
  }
}
#header .navi .hamburger {
  position: fixed;
  display: none;
  position: relative;
  width: 25px;
  height: 25px;
  cursor: pointer;
  z-index: 30;
}
@media screen and (max-width: 768px) {
  #header .navi .hamburger {
    display: block;
  }
}
#header .navi .hamburger::after {
  display: block;
  content: "MENU";
  font-size: 10px;
  color: #93C572;
  margin-top: 24px;
  letter-spacing: 0;
  line-height: 1.8;
  transition: all 0.4s ease-in-out;
}
#header .navi .hamburger.active::after {
  content: "CLOSE";
}
#header .navi .hamburger span {
  position: absolute;
  background-color: #93C572;
  height: 2px;
  width: 90%;
  right: -3%;
  transition: all 0.4s ease-in-out;
  /*-------------------------------------------
  ハンバーガーメニューのアイコン線
  -------------------------------------------*/
  /* 平時の位置 */
}
#header .navi .hamburger span:nth-of-type(1) {
  top: -11px;
}
#header .navi .hamburger span:nth-of-type(2) {
  bottom: 26px;
}
#header .navi .hamburger.active span:nth-of-type(1) {
  transform: translateY(4px) rotate(-20deg);
}
#header .navi .hamburger.active span:nth-of-type(2) {
  transform: translateY(-4px) rotate(20deg);
}
#header .navi .sp-navi {
  display: none;
}
@media screen and (max-width: 768px) {
  #header .navi .sp-navi {
    display: block;
    position: fixed;
    top: 50px;
    right: -375px;
    width: 375px;
    height: 100vh;
    background-color: #FFF;
    color: #93C572;
    z-index: 20;
    transition: right 0.6s ease;
    /* メニューが開いているとき */
  }
  #header .navi .sp-navi.active {
    right: 0;
  }
  #header .navi .sp-navi .menu {
    display: block;
    margin: 0 14px 17px;
    width: 345px;
  }
  #header .navi .sp-navi .menu li {
    width: 100%;
    max-width: 345px;
    padding: 18px 0;
    border-bottom: 2px solid #93C572;
    align-items: center;
    display: flex;
    line-height: 1.2;
    letter-spacing: 0;
    position: relative;
    transition: background-color 0.3s ease;
  }
  #header .navi .sp-navi .menu li:hover {
    background-color: rgba(147, 197, 114, 0.1);
  }
  #header .navi .sp-navi .menu li::before {
    content: "";
    position: absolute;
    display: inline-block;
    width: 25px;
    height: 2px;
    margin-top: 10.5px;
    border-radius: 9999px;
    background-color: #93C572;
    right: 5%;
  }
  #header .navi .sp-navi .menu li::after {
    content: "";
    position: absolute;
    right: 4%;
    width: 12px;
    height: 2px;
    border-radius: 9999px;
    background-color: #93C572;
    transform: rotate(34deg);
    transform-origin: calc(100% - 10px) 50%;
  }
  #header .navi .sp-navi .menu li .ja {
    font-size: 16px;
    margin-right: 23px;
  }
  #header .navi .sp-navi .menu li .en {
    font-size: 12px;
    font-family: "Archivo Narrow";
    color: #F7B560;
    font-weight: 300;
    letter-spacing: 0;
  }
}
#header .navi .sp-navi .inquiry {
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
#header .navi .sp-navi .inquiry .text {
  font-size: 14px;
}
#header .navi .sp-navi .inquiry .phone {
  margin-bottom: 10px;
}
#header .navi .sp-navi .inquiry .phone a {
  font-size: 20px;
  color: #93C572;
}
@media (hover: hover) and (pointer: fine) {
  #header .navi .sp-navi .inquiry .phone a {
    pointer-events: none;
    text-decoration: none;
    cursor: default;
  }
}
#header .navi .sp-navi .button {
  margin: 23px auto 0;
  width: 300px;
  height: 48px;
  border-radius: 100px;
  background-color: #F7B560;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
#header .navi .sp-navi .button a {
  font-size: 16px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  transition: color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  #header .navi .sp-navi .button:hover {
    background-color: #fff;
    border: 2px solid #F7B560;
  }
  #header .navi .sp-navi .button:hover a {
    color: #F7B560;
  }
}
#header .navi .sp-navi .button:active, #header .navi .sp-navi .button:focus {
  opacity: 0.8;
}

/*!
component > button
------------------------------
*/
/*!
component > headline
------------------------------
*/
.heading h3 {
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 0.3rem;
  text-align: center;
  position: relative;
  z-index: 0;
}
.heading h3::after {
  content: url(../images/title-line.svg);
  width: 100%;
  display: inline-block;
  transform: scale(1.1);
  position: absolute;
  top: 15%;
  right: 0;
  margin: 0 auto;
  letter-spacing: 0em;
  z-index: -10;
}
@media screen and (max-width: 768px) {
  .heading h3 {
    font-size: 30px;
  }
  .heading h3::after {
    transform: scale(0.9);
    top: 23%;
  }
}

/*!
global > container
------------------------------
*/
.container {
  width: min(1000px, 96%);
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .container {
    width: max(375px, 100%);
    margin: 0 auto;
    padding: 0 15px;
  }
}

/*!
object > project > about
------------------------------
*/
#about .container {
  margin: 0 auto 53px;
  padding-top: 100px;
  margin-top: -100px;
}
#about .block {
  position: relative;
  width: 100%;
  height: 703px;
  margin-top: 45px;
}
#about .block .block_img01,
#about .block .block_img02,
#about .block .block_img03,
#about .block .block_img04 {
  opacity: 0;
}
#about .block .block_img01.animate {
  animation-name: fadeInLeft;
  animation-delay: 500ms;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}
#about .block .block_img02.animate {
  animation-name: fadeInRight;
  animation-delay: 1s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}
#about .block .block_img03.animate {
  animation-name: fadeInLeft;
  animation-delay: 1500ms;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}
#about .block .block_img04.animate {
  animation-name: fadeInRight;
  animation-delay: 2s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}
#about .block .block_img01 {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 20.8%;
}
#about .block .block_img02 {
  position: absolute;
  top: 45px;
  right: 0;
  max-width: 18.7%;
}
#about .block .block_img03 {
  position: absolute;
  bottom: 65px;
  left: 110px;
  max-width: 20.8%;
}
#about .block .block_img04 {
  position: absolute;
  bottom: 0;
  right: 30px;
  max-width: 24.5%;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
#about .block .message {
  position: absolute;
  width: 546px;
  top: 110px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}
#about .block .message img {
  max-width: 325px;
  margin-bottom: 57px;
}
#about .block .message .text {
  font-weight: bold;
  margin-bottom: 17px;
  line-height: 1.9;
  letter-spacing: -0.1em;
}
@media screen and (min-width: 1600px) {
  #about .block {
    height: 765px;
  }
  #about .block .block_img01 {
    max-width: 22.8%;
  }
  #about .block .block_img02 {
    max-width: 20.7%;
  }
  #about .block .block_img03 {
    max-width: 22.8%;
  }
  #about .block .block_img04 {
    max-width: 26.5%;
  }
  #about .block .message {
    width: 768px;
  }
  #about .block .message .text {
    line-height: 2;
    font-size: 18px;
  }
}
@media screen and (max-width: 970px) {
  #about .block {
    height: 670px;
  }
}
@media screen and (max-width: 768px) {
  #about .block {
    height: 770px;
    margin-top: 40px;
  }
  #about .block .block_img01 {
    max-width: 18.2%;
    top: -4px;
    left: 20px;
  }
  #about .block .block_img02 {
    max-width: 16.5%;
    top: 6px;
    right: 26px;
  }
  #about .block .block_img03 {
    max-width: 25%;
    bottom: 31px;
    left: 30px;
  }
  #about .block .block_img04 {
    max-width: 26.6%;
    bottom: 4px;
    right: 45px;
  }
  #about .block .message {
    width: 100%;
    top: 83px;
  }
  #about .block .message img {
    max-width: 232px;
    margin-bottom: 30px;
  }
  #about .block .message .text {
    line-height: 2;
    font-size: 16px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 420px) {
  #about .block {
    height: 661px;
  }
  #about .block .block_img03 {
    max-width: 25%;
    bottom: 31px;
    left: 30px;
  }
  #about .block .block_img04 {
    max-width: 26.6%;
  }
}

/*!
object > project > activity
------------------------------
*/
.activity {
  padding-top: 90px;
  margin-top: -90px;
}

#activity {
  /* タブのボタンラッパー */
}
#activity .wrapper {
  width: min(1366px, 85.1%);
  height: 730px;
  border-radius: 0 90px 90px 0;
  background-color: #fff;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 970px) {
  #activity .wrapper {
    width: 100%;
    height: 690px;
    border-radius: 0;
  }
}
@media screen and (max-width: 768px) {
  #activity .wrapper {
    width: max(375px, 100%);
    height: 665px;
  }
}
#activity .heading {
  margin: 0 0 26px 0;
  padding-top: 72px;
  padding-left: 17.4%;
}
@media screen and (max-width: 970px) {
  #activity .heading {
    padding-left: 4.1%;
    padding-top: 30px;
  }
}
#activity .heading h3 {
  text-align: start;
  line-height: 1.3;
}
#activity .heading h3::after {
  transform: scale(0.6);
  top: 23%;
  left: -40%;
}
@media screen and (max-width: 768px) {
  #activity .heading h3::after {
    transform: scale(0.46);
    top: 29%;
    left: -55%;
  }
}
#activity .tab {
  gap: 20px;
  margin: 0 0 47px;
  /* タブボタン */
  /* アクティブなタブ */
}
@media screen and (max-width: 970px) {
  #activity .tab {
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  #activity .tab {
    gap: 7.5px;
    margin: 0 auto 40px;
    padding-left: 0;
  }
}
#activity .tab .tab_button {
  display: flex;
  padding-left: 17.4%;
  gap: 19px;
  margin: 0 0 45px;
}
@media screen and (max-width: 970px) {
  #activity .tab .tab_button {
    padding-left: 4.1%;
  }
}
@media screen and (max-width: 768px) {
  #activity .tab .tab_button {
    gap: 8px;
    margin: 0 auto 40px;
  }
}
#activity .tab .tablist {
  font-weight: 600;
  width: 190px;
  height: 65px;
  box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.16);
  background-color: #fff;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #F7B560;
  border: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}
#activity .tab .tablist:hover {
  background-color: #F7B560;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #activity .tab .tablist {
    width: 110px;
    height: 50px;
    font-size: 14px;
    border-radius: 10px;
  }
}
#activity .tab .tablist.active {
  background-color: #93C572;
  color: #fff;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  #activity .tab .tablist.active:hover {
    background-color: #fff;
    color: #93C572;
  }
}
#activity .tab .tabpanel {
  width: 100%;
  visibility: hidden;
  height: 0;
}
#activity .tab .tabpanel .activity_text {
  margin: 0 0 67px;
  letter-spacing: -0.13em;
  line-height: 1.5;
  padding-left: 17.4%;
}
@media screen and (max-width: 970px) {
  #activity .tab .tabpanel .activity_text {
    width: min(1000px, 92%);
    display: block;
    text-align: start;
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 30px clamp(14px, 5vw, 40px);
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  #activity .tab .tabpanel .activity_text {
    margin: 0 0 80px clamp(14px, 5vw, 40px);
  }
}
#activity .tab .tabpanel .slider {
  overflow: hidden;
}
#activity .tab .tabpanel .slider img {
  width: 100%;
  max-width: 300px;
  height: 250px;
}
@media screen and (max-width: 970px) {
  #activity .tab .tabpanel .slider img {
    width: 100%;
    height: auto;
  }
}
#activity .tab .tabpanel.active {
  visibility: visible;
}
#activity .tab .slick-slide {
  width: 300px !important;
  height: auto;
  margin: 0 10px;
}
@media screen and (max-width: 768px) {
  #activity .tab .slick-slide {
    width: 250px !important;
  }
}

/*!
object > project > main-view
------------------------------
*/
#main-view {
  /*=== 9-1-4 矢印が動いてスクロールを促す  ====*/
  /*スクロールダウン全体の場所*/
  /*下からの距離が変化して全体が下→上→下に動く*/
  /*Scrollテキストの描写*/
  /* 矢印の描写 */
}
#main-view .wrapper {
  width: 100%;
  height: 100vh;
  background-size: cover;
  background-position: center top;
  background-image: url(../images/FV_result.webp);
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
}
#main-view .box {
  width: auto;
  margin: 0 auto;
  text-align: center;
}
#main-view .box img {
  width: 203px;
}
#main-view .box h2 {
  font-size: 50px;
  font-weight: bold;
  letter-spacing: 0.15rem;
  color: #93C572;
  text-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);
}
#main-view .top-info {
  position: fixed;
  width: auto;
  background-color: #F7B560;
  border-radius: 20px;
  text-align: start;
  padding: 16px 78px 18px 15px;
  bottom: 0;
  right: 0;
  transform: translate(-14%, -45%);
  transition: opacity 0.6s ease-out, visibility 0.6s linear, transform 0.6s ease-out;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
#main-view .top-info.hidden {
  opacity: 0;
  transform: translate(100%, -30%); /* フェードアウト時もY方向の位置を維持 */
  visibility: hidden;
}
#main-view .news_title {
  font-family: "Archivo Narrow";
  font-weight: 200;
  font-size: 1.25rem;
  color: #FFF;
  line-height: 1.1;
  margin-bottom: 10px;
}
#main-view .day {
  font-family: "Archivo Narrow";
  font-size: 1.25rem;
  font-weight: 200;
  line-height: 1.1;
  color: #FFF;
  margin-bottom: 3px;
}
#main-view .title {
  font-size: 1rem;
  font-family: "游ゴシック";
  color: #FFF;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap; /* テキストを1行に制限 */
  overflow: hidden; /* はみ出した部分を隠す */
  text-overflow: ellipsis; /* 省略記号として「…」を表示 */
  width: 244px; /* テキストを表示する幅を設定 */
}
#main-view .scrolldown {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  bottom: 1%;
  right: 50%;
  /*矢印の動き1秒かけて永遠にループ*/
  animation: arrowmove 1s ease-in-out infinite;
}
@media screen and (max-width: 768px) {
  #main-view .scrolldown {
    display: none;
  }
}
@keyframes arrowmove {
  0% {
    bottom: 1%;
  }
  50% {
    bottom: 3%;
  }
  100% {
    bottom: 1%;
  }
}
#main-view .scrolldown span {
  /*描画位置*/
  position: absolute;
  left: -35px;
  bottom: 76px;
  /*テキストの形状*/
  color: #fff;
  font-size: 1rem;
  letter-spacing: 0.05em;
}
#main-view .scrolldown:before {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  right: -6px;
  /*矢印の形状*/
  width: 3.5px;
  height: 20px;
  background: #fff;
  transform: skewX(-31deg);
}
@media screen and (max-width: 768px) {
  #main-view .scrolldown:before {
    display: none;
  }
}
#main-view .scrolldown:after {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  right: 0;
  /*矢印の形状*/
  width: 3.5px;
  height: 70px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #main-view .scrolldown:after {
    display: none;
  }
}
@keyframes arrowmove {
  0% {
    bottom: 1%;
  }
  50% {
    bottom: 5%;
  }
  100% {
    bottom: 1%;
  }
}
@media screen and (min-width: 1600px) {
  #main-view .box h2 {
    font-size: 65px;
  }
  #main-view .top-info p {
    font-size: 1.5rem;
  }
  #main-view .top-info .title {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 970px) {
  #main-view .wrapper {
    width: min(1366px, 100%);
  }
  #main-view .box h2 {
    font-size: 45px;
  }
  #main-view .top-info {
    padding: 18px 20px 18px 15px;
  }
}
@media screen and (max-width: 768px) {
  #main-view .wrapper {
    width: max(375px, 100%);
  }
  #main-view .box {
    justify-content: center;
    display: flex;
    padding-top: 54px;
    align-items: center;
  }
  #main-view .box img {
    width: 73px;
    margin: 0 15px 0 15px;
  }
  #main-view .box h2 {
    font-size: 25px;
    text-shadow: none;
    line-height: 1.2;
    letter-spacing: 0.1rem;
  }
  #main-view .top-info {
    position: absolute;
    width: 170px;
    height: 91px;
    border-radius: 10px;
    text-align: start;
    padding: 12px 13px 9px 10px;
    left: 10%;
    bottom: 0;
    line-height: 1.2;
    transform: translate(-15%, -30%);
    transition: opacity 0.6s ease-out, visibility 0.6s linear, transform 0.6s ease-out;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
  #main-view .top-info.hidden {
    opacity: 0;
    transform: translate(-100%, -30%); /* 左方向に移動 */
    visibility: hidden;
  }
  #main-view .top-info .news_flex {
    display: flex;
    align-items: center;
  }
  #main-view .top-info p {
    font-size: 14px;
    margin-bottom: 0;
  }
  #main-view .top-info p br {
    display: none;
  }
  #main-view .top-info .day {
    font-size: 10px;
    margin: 0 0 0 6px;
  }
  #main-view .top-info .title {
    font-size: 12px;
    margin-top: 6px;
    width: 120px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* 2行まで表示 */
    overflow: hidden;
    font-weight: bold;
    white-space: normal;
  }
}
@media screen and (max-width: 420px) {
  #main-view .box img {
    width: 73px;
  }
  #main-view .box h2 {
    font-size: 25px;
    line-height: 1.5;
  }
  #main-view .top-info {
    width: 142px;
    height: auto;
    left: 11.5%;
    bottom: 1%;
    padding: 12px 15px 8px 8px;
    letter-spacing: 0em;
  }
}

/*!
object > project > news_details
------------------------------
*/
#news_detail {
  /* スマホ幅で画像の回り込み解除 */
}
#news_detail .news_detail_img {
  width: 100%;
  aspect-ratio: 600/390;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
#news_detail .news_detail_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#news_detail .news_detail_breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 140px 0 72px;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  #news_detail .news_detail_breadcrumb {
    padding: 67px 0 37px;
  }
}
#news_detail .news_detail_breadcrumb a {
  display: inline-block;
  position: relative;
  color: inherit;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  #news_detail .news_detail_breadcrumb a:hover::after {
    width: 100%;
  }
}
#news_detail .news_detail_breadcrumb .breadcrumb_icon {
  color: #93C572;
  padding: 0 10px 0 20px;
}
#news_detail .news_detail_text .ttl {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #news_detail .news_detail_text .ttl {
    font-size: 25px;
    margin-bottom: 9px;
  }
}
#news_detail .news_detail_text .announce {
  display: flex;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #news_detail .news_detail_text .announce {
    margin-bottom: 40px;
  }
}
#news_detail .news_detail_text .single__news--meta {
  display: flex;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #news_detail .news_detail_text .single__news--meta {
    margin-bottom: 40px;
  }
}
#news_detail .news_detail_text .single__news--meta time {
  letter-spacing: 0.8px;
  font-family: "Archivo Narrow";
}
#news_detail .news_detail_text .category {
  font-size: 14px;
  width: 96px;
  height: 26px;
  border-radius: 5px;
  background: #93C572;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 10px;
  padding-top: 1px;
}
@media screen and (max-width: 768px) {
  #news_detail .news_detail_text .category {
    margin-left: 6px;
  }
}
#news_detail .news_detail_box {
  width: 100%;
  height: auto;
  border-radius: 90px;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.16);
  background-color: #fff;
  padding: 50px 0 50px;
  margin: 0 auto 160px;
}
@media screen and (max-width: 768px) {
  #news_detail .news_detail_box {
    width: 100%;
    border-radius: 50px;
    padding: 30px 0;
    margin: 0 auto 75px;
  }
}
#news_detail .news_detail_box_inner {
  width: 62.5%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #news_detail .news_detail_box_inner {
    width: 88.4%;
  }
}
#news_detail .news_detail_img {
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #news_detail .news_detail_img {
    margin-bottom: 20px;
  }
}
#news_detail .no_bullets {
  width: 100%;
  height: auto;
  border: 2px solid #93C572;
  background-color: #fff;
  border-radius: 15px;
  padding: 25px 30px;
  margin-bottom: 75px;
}
@media screen and (max-width: 768px) {
  #news_detail .no_bullets {
    padding: 15px 15px 25px;
    margin-bottom: 40px;
  }
}
#news_detail .no_bullets::before {
  content: "目次";
  display: block;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 17px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #news_detail .no_bullets::before {
    font-size: 18px;
    margin-bottom: 15px;
  }
}
#news_detail ul li::before {
  display: none; /* リストの点を非表示にする */
}
#news_detail .toc_list {
  counter-reset: h2-num 0; /* カウンターの初期値を0に設定 */
  counter-reset: h3-num;
  margin-left: 20px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #news_detail .toc_list {
    margin: 0;
  }
}
#news_detail .toc_list > li {
  counter-increment: h2-num;
  margin-bottom: 15px;
}
#news_detail .toc_list > li:last-child {
  margin-bottom: 0; /* 最後のliのマージンを削除 */
}
#news_detail .toc_list > li > a::before {
  content: counter(h2-num) ". "; /* 表示形式を指定 */
  color: #F7B560;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #news_detail .toc_list > li > a::before {
    font-size: 14px;
    display: inline-block;
  }
}
#news_detail .toc_list ul a::before {
  content: "・"; /* h3の前にアイコンや記号を追加 */
  color: #93C572; /* テキストの色を指定 */
  font-size: 35px; /* ・を大きくする */
  position: absolute;
  left: -26px;
  top: -12px;
}
@media screen and (max-width: 768px) {
  #news_detail .toc_list ul a::before {
    position: absolute;
    left: -26px;
    top: -12px;
    width: 1em;
    text-align: left;
  }
}
#news_detail .toc_list ul {
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  #news_detail .toc_list ul {
    margin-left: 27px;
  }
}
#news_detail .toc_list ul a {
  display: block;
  position: relative;
}
#news_detail h2.wp-block-heading {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
  letter-spacing: -0.1em;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  #news_detail h2.wp-block-heading {
    font-size: 20px;
    margin-bottom: 18px;
  }
}
#news_detail h2.wp-block-heading::after {
  content: ""; /* 擬似要素の内容を空に設定 */
  display: block; /* 要素をブロックレベルにする */
  width: 100%; /* ← 親（h2）に合わせる*/
  height: 2px; /* 下線の太さ */
  background-color: #93C572; /* 下線の色 */
  margin-top: -6px; /* テキストと下線の間隔を調整 */
}
#news_detail p {
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 126px;
}
@media screen and (max-width: 768px) {
  #news_detail p {
    margin-bottom: 115px;
  }
}
#news_detail h3.wp-block-heading {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 15px;
  position: relative;
  padding-left: 20px;
}
@media screen and (max-width: 768px) {
  #news_detail h3.wp-block-heading {
    font-size: 18px;
    width: 290px;
    line-height: 1.4;
  }
}
#news_detail h3.wp-block-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 20px;
  background-color: #93C572;
}
@media screen and (max-width: 768px) {
  #news_detail h3.wp-block-heading::before {
    height: 43px;
  }
}
@media screen and (max-width: 768px) {
  #news_detail h3.wp-block-heading + p {
    margin-bottom: 40px;
  }
}
#news_detail figure {
  width: 52%;
  margin: 0;
  padding-left: 20px;
}
@media screen and (max-width: 420px) {
  #news_detail figure {
    width: 100%;
    padding: 0 0 20px 0;
  }
}
@media screen and (max-width: 420px) {
  #news_detail img.alignleft,
  #news_detail img.alignright {
    float: none;
    display: block;
    margin: 0 auto 1em;
  }
  #news_detail p {
    clear: both;
  }
}
#news_detail .news_detail_button {
  width: 300px;
  height: 70px;
  background-color: #fff;
  border: 2px solid #93C572;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  font-size: 20px;
  text-decoration: none; /* リンクの下線を消す */
  color: #93C572;
  font-weight: bold;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 768px) {
  #news_detail .news_detail_button {
    margin-top: 116px;
  }
}
@media screen and (max-width: 420px) {
  #news_detail .news_detail_button {
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  #news_detail .news_detail_button:hover {
    opacity: 0.8;
    background-color: #93C572;
    color: #fff;
  }
  #news_detail .news_detail_button:active, #news_detail .news_detail_button:focus {
    opacity: 0.8;
    background-color: #93C572;
    color: #fff;
  }
}

/*!
object > project > faq
------------------------------
*/
#faq {
  padding-top: 100px;
  margin-top: -100px;
}
@media screen and (max-width: 420px) {
  #faq .wrapper {
    width: max(375px, 100%);
  }
}
#faq .container {
  margin: 0 auto 120px;
}
@media screen and (max-width: 768px) {
  #faq .container {
    margin: 0 auto;
    padding: 0 15px;
    max-width: 1200px;
    width: 100%;
  }
}
#faq .heading {
  padding-top: 110px;
  margin: 0 0 35px;
}
@media screen and (max-width: 768px) {
  #faq .heading {
    padding-top: 0;
    margin: 75px 0 30px;
  }
}
#faq .heading h3 {
  letter-spacing: 0.01rem;
}
#faq .accordion-item {
  margin-bottom: 50px;
  border: 3px solid #93C572;
  border-radius: 60px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  #faq .accordion-item {
    border-radius: 30px;
    margin-bottom: 30px;
  }
}
#faq .summary {
  position: relative;
  display: flex;
  align-items: center;
  padding: 21px 50px 21px 40px;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
  list-style: none;
  line-height: 0.7;
  letter-spacing: -0.1rem;
  background: transparent;
  border: none;
  width: 100%;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #faq .summary {
    padding: 28px 45px 28px 20px;
    font-size: 16px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 420px) {
  #faq .summary {
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: -0.05em;
    max-width: 100%;
  }
}
#faq .summary.active {
  padding: 30px 40px 16px 40px;
  transition: padding 0.3s ease;
}
@media screen and (max-width: 768px) {
  #faq .summary.active {
    padding: 30px 45px 5px 20px;
  }
}
#faq .summary::before, #faq .summary::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 3px;
  height: 25px;
  right: 52px;
  background-color: #93C572;
}
@media screen and (max-width: 768px) {
  #faq .summary::before, #faq .summary::after {
    width: 2px;
    height: 15px;
    top: 39px;
    right: 20px;
  }
}
@media screen and (max-width: 420px) {
  #faq .summary::before, #faq .summary::after {
    top: 37px;
    right: 25px;
  }
}
#faq .summary::after {
  transform: rotate(90deg);
}
#faq .summary.active::before {
  opacity: 0;
}
@media screen and (max-width: 768px) {
  #faq .summary.active::before {
    top: 39px;
  }
}
@media screen and (max-width: 768px) {
  #faq .summary.active::after {
    top: 39px;
  }
}
#faq .faq-q {
  font-family: "Archivo Narrow";
  font-size: 35px;
  font-weight: 300;
  color: #93C572;
  margin-right: 19px;
}
@media screen and (max-width: 768px) {
  #faq .faq-q {
    font-size: 25px;
    margin-right: 10px;
  }
}
#faq .content {
  display: flex;
  align-items: flex-start;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.6s ease;
  padding: 0 50px 0 40px;
}
@media screen and (max-width: 768px) {
  #faq .content {
    padding: 0 10px 0 20px;
  }
}
#faq .content.open {
  max-height: 1000px;
  opacity: 1;
  padding: 16px 50px 30px 40px;
}
@media screen and (max-width: 768px) {
  #faq .content.open {
    padding: 5px 10px 30px 20px;
  }
}
@media screen and (max-width: 768px) {
  #faq .content {
    display: block;
  }
}
#faq .faq-a {
  font-family: "Archivo Narrow";
  font-size: 35px;
  color: #F7B560;
  margin-right: 19px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #faq .faq-a {
    font-size: 25px;
  }
}
#faq .faq-a-text {
  color: #555555;
  font-size: 20px;
  line-height: 1.3;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #faq .faq-a-text {
    font-size: 16px;
    padding-top: 12px;
    letter-spacing: -0.1rem;
  }
}

/*!
object > project > news
------------------------------
*/
#news .container {
  width: min(1366px, 85.1%);
  margin-right: 0;
  padding: 0;
}
#news .flex {
  width: 100%;
  display: flex;
}
#news .col01 {
  width: 42%;
}
#news .heading {
  margin: 80px 0 45px;
}
#news .heading h3 {
  text-align: start;
  line-height: 1;
}
#news .heading h3::after {
  transform: scale(0.7);
  top: 19%;
  left: -34%;
}
#news .news_text {
  margin-bottom: 42px;
  max-width: 400px;
  width: 100%;
  line-height: 1.4;
  letter-spacing: 0.01rem;
}
@media screen and (max-width: 420px) {
  #news .news_text {
    max-width: 100%;
  }
  #news .news_text br {
    display: none;
  }
}
#news .col02 {
  width: 60%;
  padding: 80px 0 80px 50px;
  border-radius: 90px 0 0 90px;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.16);
  background-color: #fff;
}
#news .announce {
  display: flex;
  margin-bottom: 16px;
}
#news .day {
  margin-right: 10px;
  letter-spacing: 0.15rem;
}
#news .category {
  width: 96px;
  height: 26px;
  background-color: #93C572;
  border-radius: 5px;
  color: #fff;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#news .ttl {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 37px;
  letter-spacing: -0.05em;
  display: -webkit-box;
  -webkit-line-clamp: 1; /* 最大行数 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word; /* 必要に応じて */
  max-width: 473px;
  transition: opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  #news .ttl:hover {
    opacity: 0.6;
  }
}
#news .news_new {
  width: 79.8%;
}
@media screen and (max-width: 768px) {
  #news .news_new {
    width: 100%;
  }
}
#news .news_new:nth-child(3) .ttl {
  margin-bottom: 0; /* 3番目の投稿タイトルのマージンを設定 */
}
#news .button02 {
  position: relative;
  top: -141px;
  left: 50px;
  box-sizing: border-box;
  width: 300px;
  height: 70px;
  border: 2px solid #93C572;
  border-radius: 50px;
  color: #93C572;
  background-color: #fff;
  font-family: "Archivo Narrow";
  font-size: 20px;
  letter-spacing: 0.15em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  #news .button02:hover {
    opacity: 0.8;
    background-color: #93C572;
    color: #fff;
  }
  #news .button02:active, #news .button02:focus {
    opacity: 0.8;
    background-color: #93C572;
    color: #fff;
  }
}
@media (hover: hover) and (pointer: fine) {
  #news .button02:hover {
    background: #93C572;
  }
  #news .button02:hover a {
    color: #fff;
    align-items: center;
  }
}
#news .button02:active, #news .button02:focus {
  opacity: 0.8;
  background: #93C572;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  #news .container {
    width: 94%;
  }
  #news .col01 {
    padding-right: 30px;
  }
}
@media screen and (max-width: 970px) {
  #news .container {
    width: min(1000px, 96%);
  }
  #news .button02 {
    left: 0;
  }
}
@media screen and (max-width: 768px) {
  #news .wrapper {
    margin-top: 81px;
    width: max(375px, 100%);
  }
  #news .container {
    width: min(767px, 96%);
  }
  #news .flex {
    display: block;
  }
  #news .col01 {
    width: 100%;
  }
  #news .heading {
    margin: 0 0 35px 0;
    letter-spacing: -0.01rem;
  }
  #news .heading h3::after {
    transform: scale(0.5);
    top: 42%;
    left: -51%;
  }
  #news .news_text {
    margin-bottom: 42px;
    letter-spacing: -0.15em;
    line-height: 1.4;
  }
  #news .news_text br {
    display: none;
  }
  #news .col02 {
    width: 100%;
    padding: 30px 20px;
    border-radius: 40px 0 0 40px;
    margin-bottom: 30px;
  }
  #news li {
    margin-bottom: 30px;
  }
  #news .announce {
    margin-bottom: 10px;
  }
  #news .day {
    font-size: 14px;
    margin-right: 15px;
  }
  #news .ttl {
    font-size: 16px;
    -webkit-line-clamp: 2; /* スマホでは2行まで表示 */
  }
  #news .button02 {
    position: relative;
    margin: 0 auto;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}

/*!
object > project > access
------------------------------
*/
#access {
  padding-top: 100px;
  margin-top: -100px;
  /* 375px以下の画面でのレイアウト調整 */
}
#access .container {
  margin-bottom: 160px;
}
#access .heading {
  padding-top: 33px;
  margin: 0 0 40px;
}
#access .heading h3 {
  letter-spacing: 0.01rem;
}
#access .heading h3::after {
  transform: scale(0.65);
}
#access .pc_information {
  display: grid;
  grid-template-columns: 26% 74%;
  grid-template-rows: repeat(3, 50px) 50px 320px;
  border-radius: 90px;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.16);
  background: linear-gradient(to right, #93C572 26%, #fff 26%);
  margin: 0 auto;
  padding-top: 73px;
}
#access .pc_information dt {
  width: 100%;
  font-size: 20px;
  font-weight: bold;
  padding: 0 20px 0 50px;
}
#access .pc_information dt:last-of-type {
  padding-top: 40px;
}
#access .pc_information dt:last-of-type .sub_text {
  display: block;
  margin-top: 20px;
  width: 100px;
}
#access .pc_information dt .sub_text {
  font-size: 14px;
  border-bottom: 1px solid #555555;
  transition: opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  #access .pc_information dt .sub_text:hover {
    opacity: 0.6;
  }
}
#access .pc_information dd {
  width: 100%;
  font-size: 16px;
  padding: 0 20px 0 50px;
}
#access .pc_information dd iframe {
  border-radius: 0 0 90px 0;
}
#access .pc_information dd:last-of-type {
  padding: 0;
}
#access .sp_information {
  display: none;
}
@media screen and (max-width: 970px) {
  #access .pc_information {
    display: none;
  }
  #access .sp_information {
    display: grid;
    grid-template-columns: 40% 60%;
    grid-template-rows: 50px 90px 50px 70px 75px 250px;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    border-radius: 40px;
    box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.16);
    background: linear-gradient(to right, #93C572 40%, #fff 40%);
    margin: 0 auto;
    padding-top: 30px;
  }
  #access .sp_information .map {
    grid-area: 6/1/7/3;
  }
  #access .sp_information .map iframe {
    border-radius: 0 0 40px 40px;
  }
  #access .sp_information dt {
    width: 100%;
    font-size: 16px;
    font-weight: bold;
    padding: 0 10px 0 20px;
  }
  #access .sp_information dt:last-child {
    padding-top: 66px;
  }
  #access .sp_information dt .sub_text {
    font-size: 14px;
    border-bottom: 1px solid #555555;
    transition: opacity 0.3s ease;
  }
}
@media screen and (max-width: 970px) and (hover: hover) and (pointer: fine) {
  #access .sp_information dt .sub_text:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 970px) {
  #access .sp_information dd {
    width: 100%;
    font-size: 14px;
    padding: 0 20px 0 20px;
  }
  #access .sp_information dt {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  #access {
    /* 最後のdd（画像の要素）を下に持ってくる */
    /* 画像サイズの調整 */
  }
  #access .container {
    margin-bottom: 80px;
  }
  #access .heading {
    padding-top: 0;
    margin: 75px 0 40px;
  }
  #access .heading h3 {
    line-height: 1.4;
  }
  #access .heading h3::after {
    transform: scale(0.5);
    top: 23%;
  }
  #access .sp_information {
    border-radius: 45px;
    padding: 30px 0 0;
    row-gap: 25px;
    background: linear-gradient(to right, #93C572 40%, #fff 40%);
  }
  #access .sp_information dt {
    width: 100%;
    font-size: 16px;
  }
  #access .sp_information dd {
    width: 100%;
    font-size: 14px;
    padding: 0 20px 0 20px;
  }
  #access .sp_information dd .sub_text {
    font-size: 12px;
  }
  #access .sp_information dt:last-of-type,
  #access .sp_information dd:last-of-type {
    padding-top: 22px;
  }
  #access .information dd:last-child {
    order: 1; /* 最後の要素を一番下に配置 */
  }
  #access .information dd img {
    width: 100%; /* 画像を画面幅に合わせる */
    height: auto; /* 高さを自動調整 */
  }
}
@media screen and (max-width: 420px) {
  #access .sp_information {
    grid-template-rows: 20px 62px 20px 42px 50px 250px;
  }
  #access .sp_information dt {
    font-size: 14px;
    width: 100%;
    padding-left: 20px;
  }
  #access .sp_information dd {
    width: 100%;
    padding-left: 20px;
    line-height: 1.5;
  }
  #access .sp_information dt:last-of-type,
  #access .sp_information dd:last-of-type {
    padding-top: 0;
  }
}

/*!
object > project > contact
------------------------------
*/
#contact .container {
  margin-bottom: 113px;
}
#contact .outer {
  width: 100%;
  height: auto;
  background-color: #F7B560;
  border-radius: 50px;
  text-align: center;
  color: #fff;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.16);
}
#contact .heading {
  margin: 0;
  padding: 45px 0 35px;
}
#contact .heading h3 {
  line-height: 1.4;
  letter-spacing: -0.1rem;
}
#contact .heading h3::after {
  display: none;
}
#contact .message {
  font-size: 18px;
  color: #fff;
  margin-bottom: 36px;
  line-height: 1.4;
}
#contact .message .btn03 {
  width: 300px;
  height: 70px;
  background-color: #fff;
  border: 2px solid #93C572;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  border-radius: 100px;
  margin: 36px auto;
  font-size: 20px;
  color: #93C572;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  #contact .message .btn03 {
    margin: 15px auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  #contact .message .btn03:hover {
    opacity: 0.8;
    background-color: #93C572;
    color: #fff;
  }
  #contact .message .btn03:active, #contact .message .btn03:focus {
    opacity: 0.8;
    background-color: #93C572;
    color: #fff;
  }
}
#contact .message .contact {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
#contact .message .contact .text {
  margin: 0;
  font-size: 20px;
  font-weight: bold;
}
#contact .message .contact .phone {
  margin: 0 0 0 8px;
}
#contact .message .contact .phone a {
  color: #fff;
  font-size: 30px;
  font-weight: bold;
}
@media (hover: hover) and (pointer: fine) {
  #contact .message .contact .phone a {
    pointer-events: none;
    text-decoration: none;
    cursor: default;
  }
}
#contact .message .contact .sp_br {
  display: none;
}
@media (max-width: 767px) {
  #contact .message .contact {
    flex-direction: column;
  }
  #contact .message .contact .phone {
    margin: 4px 0 0;
  }
  #contact .message .contact .sp_br {
    display: inline;
  }
}
#contact .reception_time {
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #contact .container {
    margin-bottom: 60px;
  }
  #contact .heading {
    padding: 44px 16px 15px;
  }
  #contact .message {
    width: 86%;
    margin: 0 auto 15px;
  }
  #contact .btn03 {
    margin-bottom: 16px;
  }
  #contact .phone {
    margin-bottom: 5px;
    line-height: 1.5;
  }
  #contact .reception_time {
    padding-bottom: 38px;
    line-height: 1.4;
  }
}
@media screen and (max-width: 420px) {
  #contact .btn03 {
    width: 87%;
  }
  #contact .time {
    font-size: 18px;
  }
}

/*!
object > project > news_list
------------------------------
*/
#news_list .news_list_top {
  padding-top: 140px;
}
@media screen and (max-width: 768px) {
  #news_list .news_list_top {
    padding-top: 52px;
  }
}
#news_list .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
@media screen and (max-width: 768px) {
  #news_list .breadcrumb {
    font-size: 14px;
    margin-top: 17px;
    padding: 0 15px;
  }
}
#news_list .breadcrumb a {
  color: inherit;
  text-decoration: none;
  display: inline-block;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  #news_list .breadcrumb a:hover::after {
    width: 100%;
  }
}
#news_list .breadcrumb .breadcrumb_icon {
  color: #93C572;
  padding: 0 10px 0 20px;
}
#news_list .heading {
  margin: 65px 0 40px;
}
@media screen and (max-width: 768px) {
  #news_list .heading {
    margin: 30px 0 0;
  }
}
#news_list .heading h3 {
  text-align: start;
}
@media screen and (max-width: 768px) {
  #news_list .heading h3 {
    font-size: 30px;
    padding-left: 15px;
    letter-spacing: 0rem;
  }
}
#news_list .heading h3::after {
  transform: scale(1);
  top: 21%;
}
@media screen and (max-width: 768px) {
  #news_list .heading h3::after {
    transform: scale(0.8);
    top: 23%;
    right: 6%;
  }
}
#news_list .news-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0 0 50px;
}
@media screen and (max-width: 768px) {
  #news_list .news-tab {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 20px 0 20px 20px;
    margin: 0;
    width: 100%;
    white-space: nowrap;
    gap: 10px;
  }
  #news_list .news-tab::-webkit-scrollbar {
    display: none;
  }
  #news_list .news-tab li {
    flex-shrink: 0;
    white-space: nowrap;
  }
  #news_list .news-tab li:first-child {
    margin-left: 0;
  }
}
#news_list .news-tab li {
  width: 126px;
  height: 44px;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.16);
  background-color: #fff;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease, color 0.3s ease;
}
#news_list .news-tab li a {
  display: flex;
  font-size: 16px;
  font-weight: bold;
  color: #F7B560;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  text-decoration: none;
  transition: color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  #news_list .news-tab li:hover {
    background: #93C572;
  }
  #news_list .news-tab li:hover a {
    color: #fff;
  }
}
#news_list .news-tab li a.active {
  background: #93C572;
  color: #fff;
  border-radius: 20px;
  border: 2px solid #93C572;
  transition: background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  #news_list .news-tab li a.active:hover {
    background: #93C572;
    color: #fff;
  }
}
#news_list .news-tab li a.active:active, #news_list .news-tab li a.active:focus {
  opacity: 0.8;
}
#news_list .news_box {
  width: 100%;
  height: auto;
  border-radius: 90px;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.16);
  background-color: #fff;
  padding: 80px 0;
  margin-bottom: 160px;
}
@media screen and (max-width: 768px) {
  #news_list .news_box {
    border-radius: 50px;
    padding: 42px 0 35px;
    width: 92%;
    margin: 0 auto 75px;
  }
}
#news_list .news_link {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}
#news_list .news_pc_column {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #news_list .news_pc_column {
    display: none;
  }
}
#news_list .news_pc_column img {
  width: 24.3%;
  height: 150px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
  transition: opacity 0.3s ease;
}
#news_list .news_pc_column_text {
  width: 61.7%;
  margin-left: 37px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  line-height: 1.6; /* 調整可能 */
  word-break: break-word; /* 長い単語の折り返し */
}
#news_list .news_pc_column .announce {
  display: flex;
  font-size: 14px;
  margin-bottom: 6px;
}
#news_list .news_pc_column .announce .day {
  font-family: "Archivo Narrow";
  transition: color 0.3s ease;
}
#news_list .news_pc_column .announce .category {
  width: 96px;
  height: 26px;
  border-radius: 5px;
  background: #93C572;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 19px;
  transition: background 0.3s ease, color 0.3s ease;
}
#news_list .news_pc_column .ttl {
  font-size: 20px;
  margin-bottom: 16px;
  font-weight: bold;
  letter-spacing: -0.1em;
  transition: color 0.3s ease;
}
#news_list .news_pc_column .detail {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4; /* ← 表示する最大行数に調整 */
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2; /* ← 行高を適宜調整 */
  max-height: 4.8em; /* 安定表示のため行数×line-height */
  transition: color 0.3s ease;
}
#news_list .news_pc_column:hover img {
  opacity: 0.8;
  transition: opacity 0.3s ease;
}
#news_list .news_pc_column:hover .ttl,
#news_list .news_pc_column:hover .detail,
#news_list .news_pc_column:hover .wp-block-heading,
#news_list .news_pc_column:hover .announce .day,
#news_list .news_pc_column:hover p {
  color: #ccc;
  transition: color 0.3s ease;
}
#news_list .news_pc_column:hover .announce .category {
  background: #b8d9a0;
}
#news_list .news_pc_column p {
  transition: color 0.3s ease;
}
#news_list .news_sp_column {
  display: none;
}
@media screen and (max-width: 768px) {
  #news_list .news_sp_column {
    position: relative;
    display: block;
    width: 91%;
    aspect-ratio: 600/390;
    border-radius: 20px;
    background-position: center;
    background-size: cover;
    overflow: hidden;
    margin: 0 auto 25px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
}
#news_list .news_sp_column img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  #news_list .container {
    padding: 0;
  }
  #news_list .news_sp_column_text {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 70px;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 0 10px;
  }
  #news_list .news_sp_column_text .day {
    font-size: 12px;
    margin-bottom: 5px;
    font-family: "Archivo Narrow";
  }
  #news_list .news_sp_column_text .ttl {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.3;
  }
}
#news_list .pagination {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
}
#news_list .pagination li {
  margin: 0 6px;
}
#news_list .pagination li:last-child {
  margin-bottom: 0;
}
#news_list .pagination .page-numbers {
  display: inline-block;
  text-align: center;
  line-height: 50px;
  width: 50px;
  height: 50px;
  text-decoration: none;
  border: 2px solid #F0F3F5;
  border-radius: 10px;
  background-color: #FAFAFA;
  font-size: 14px;
  color: #93C572;
  font-family: "Archivo Narrow";
  transition: all 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  #news_list .pagination .page-numbers:hover {
    background-color: #93C572;
    color: #fff;
    border-color: #93C572;
  }
}
#news_list .pagination .page-numbers:active, #news_list .pagination .page-numbers:focus {
  background-color: #93C572;
  color: #fff;
  border-color: #93C572;
}
#news_list .pagination .page-numbers.current {
  background-color: #93C572;
  color: #fff;
  border-color: #93C572;
}
#news_list .pagination .page-numbers .arrow {
  font-family: "Font Awesome 6 Free", sans-serif;
  font-weight: 900;
}
#news_list .pagination .pagination .next i {
  font-size: 10px;
}
@media screen and (max-width: 768px) {
  #news_list .pagination {
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #news_list .category {
    position: absolute;
    top: 11px;
    right: 20px;
    width: 96px;
    height: 26px;
    border-radius: 5px;
    background: #93C572;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
  }
}

/*!
object > project > contact_form
------------------------------
*/
#contact_page {
  /* .form-item-first の中に .wpcf7-not-valid がある場合にだけ、::beforeを赤く */
  /* エラーがあるときだけ margin を小さくする */
  /* select要素がフォーカスされたときのスタイル */
  /* エラー時のスタイル */
}
#contact_page .container {
  margin: 0 auto 160px;
}
@media screen and (max-width: 768px) {
  #contact_page .container {
    margin: 0 auto 60px;
  }
}
#contact_page .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding-top: 140px;
}
@media screen and (max-width: 768px) {
  #contact_page .breadcrumb {
    font-size: 14px;
    padding-top: 67px;
  }
}
#contact_page .breadcrumb .breadcrumb_icon {
  color: #93C572;
  padding: 0 10px 0 20px;
}
#contact_page .heading {
  margin: 62px 0 20px;
}
@media screen and (max-width: 768px) {
  #contact_page .heading {
    margin: 30px 0 20px;
  }
}
#contact_page .heading h3 {
  text-align: start;
  letter-spacing: -0.1rem;
}
@media screen and (max-width: 768px) {
  #contact_page .heading h3 {
    font-size: 30px;
    letter-spacing: 0rem;
  }
}
#contact_page .heading h3::after {
  transform: scale(1);
}
@media screen and (max-width: 768px) {
  #contact_page .heading h3::after {
    transform: scale(0.73);
    top: 27%;
    right: 15%;
  }
}
#contact_page .contact_text {
  margin-bottom: 48px;
  letter-spacing: -0.1rem;
}
@media screen and (max-width: 768px) {
  #contact_page .contact_text {
    margin-bottom: 68px;
    line-height: 1.2;
  }
}
#contact_page .contact_box {
  width: 100%;
  height: auto;
  border-radius: 90px;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.16);
  background-color: #fff;
  padding: 80px 0;
}
@media screen and (max-width: 768px) {
  #contact_page .contact_box {
    padding: 30px 0;
    border-radius: 50px;
  }
}
#contact_page .wpcf7-form {
  width: 62.5%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #contact_page .wpcf7-form {
    width: 88.4%;
  }
}
#contact_page .form-item {
  width: 100%;
  align-items: center;
}
#contact_page .form-item-first {
  width: 100%;
  align-items: center;
  position: relative;
}
#contact_page .form-item-first::before {
  content: "";
  display: block;
  position: absolute;
  top: 66px;
  left: 23.2em;
  width: 0.8em;
  height: 0.8em;
  border-bottom: 2px solid #93C572;
  border-left: 2px solid #93C572;
  transform: translateY(-50%) rotate(-45deg);
  transform-origin: center center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 10;
}
@media screen and (max-width: 768px) {
  #contact_page .form-item-first::before {
    top: 55px;
  }
}
@media screen and (max-width: 500px) {
  #contact_page .form-item-first::before {
    left: 89%;
  }
}
#contact_page .form-item-first .wpcf7-not-valid-tip {
  display: none;
}
#contact_page .form-item-first.clicked::before {
  transform: translateY(0%) rotate(135deg);
}
#contact_page .form-item-first:has(select.wpcf7-not-valid)::before {
  border-bottom: 2px solid red;
  border-left: 2px solid red;
}
#contact_page .form-item-input {
  border: 1px solid #93C572;
  border-radius: 6px;
  padding: 0 1em;
  height: 50px;
  flex: 1;
  width: 100%;
  max-width: 500px;
  background: #fff;
  font-size: 16px;
  position: relative;
  cursor: pointer;
}
#contact_page .form-item-input.wpcf7-select {
  max-width: 400px;
}
#contact_page .form-item-input[type=submit] {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  #contact_page .form-item-input[type=submit] {
    margin-bottom: 0;
  }
}
#contact_page .wpcf7-form-control-wrap {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #contact_page .wpcf7-form-control-wrap {
    margin-bottom: 27px;
  }
}
#contact_page .form-item-label {
  width: 100%;
  max-width: 248px;
  letter-spacing: 0;
  font-size: 20px;
  font-weight: bold;
  display: inline-block;
  vertical-align: middle; /* 中央揃え */
  margin-bottom: 13px;
  letter-spacing: -0.1rem;
}
@media screen and (max-width: 768px) {
  #contact_page .form-item-label {
    margin-bottom: 7px;
    line-height: 1.3;
  }
}
#contact_page .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) {
  margin-bottom: 10px; /* またはお好みの値 */
}
#contact_page .wpcf7-select:focus {
  color: #93C572; /* テキスト色を緑に */
  border: 2px solid #93C572; /* 枠線を緑に */
  outline: none; /* デフォルトの青いアウトラインを消す */
}
@media screen and (max-width: 768px) {
  #contact_page .wpcf7-select:focus {
    font-size: 16px;
  }
}
#contact_page .form-item-label.ismsg {
  margin-bottom: 4px;
}
#contact_page .form-item-label-required {
  border-radius: 5px;
  width: 34px;
  height: 24px;
  display: inline-block;
  text-align: center;
  line-height: 24px;
  background: #93C572;
  color: #fff;
  font-size: 12px;
  margin-left: 22px;
}
#contact_page .form-item-textarea {
  border: 1px solid #93C572;
  border-radius: 6px;
  padding-left: 1em;
  padding-right: 1em;
  height: 150px;
  flex: 1;
  width: 100%;
  max-width: 600px;
  background: #fff;
  font-size: 18px;
  white-space: pre-wrap; /* 改行も折り返しも両方サポート */
  word-break: break-word; /* 長い単語も折り返し */
  resize: vertical; /* ユーザーが縦にサイズ変更できる */
}
#contact_page .wpcf7-not-valid {
  border: 2px solid red; /* 枠を赤に */
  background-color: #fff;
}
#contact_page .wpcf7-form-control-wrap {
  position: relative;
  display: block;
}
#contact_page .wpcf7-not-valid-tip {
  display: block;
  min-height: 1em; /* 高さを固定 */
  font-size: 0.9em;
  color: red;
  margin-top: 4px; /* 必要に応じて調整 */
}
#contact_page .form_item_button {
  width: 200px;
  height: 50px;
  background-color: #fff;
  border: 2px solid #93C572;
  margin: 50px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  font-size: 16px;
  color: #93C572;
  font-weight: bold;
  cursor: pointer;
  /* Contact Form 7 の <input type="submit"> に必要なもの */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-align: center;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  #contact_page .form_item_button {
    margin: 0 auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  #contact_page .form_item_button:hover {
    background-color: #93C572;
    color: #fff;
    border-color: #93C572;
  }
}
#contact_page .form_item_button:active, #contact_page .form_item_button:focus {
  background-color: #93C572;
  color: #fff;
  border-color: #93C572;
}
#contact_page .wpcf7-spinner {
  display: none;
}
#contact_page .form-item_button br {
  display: none;
}

/*!
object > project > confirm
------------------------------
*/
#confirm {
  /* Contact Form 7の送信ボタンスタイル */
}
#confirm .container {
  margin-bottom: 160px;
}
@media screen and (max-width: 768px) {
  #confirm .container {
    margin-bottom: 60px;
  }
}
#confirm .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding-top: 140px;
}
@media screen and (max-width: 768px) {
  #confirm .breadcrumb {
    font-size: 14px;
    padding-top: 67px;
  }
}
#confirm .breadcrumb li:not(:last-of-type)::after {
  content: ">";
  color: #93C572;
  margin: 0 0.6em; /* 記号の左右の余白 */
}
@media screen and (max-width: 768px) {
  #confirm .breadcrumb li:not(:last-of-type)::after {
    font-size: 14px;
  }
}
#confirm .breadcrumb a {
  color: inherit;
  text-decoration: none;
}
#confirm .heading {
  margin: 72px 0 32px;
}
@media screen and (max-width: 768px) {
  #confirm .heading {
    margin: 35px 0 20px;
  }
}
#confirm .heading h3 {
  text-align: start;
}
@media screen and (max-width: 768px) {
  #confirm .heading h3 {
    font-size: 30px;
  }
}
#confirm .heading h3::after {
  transform: scale(1);
}
@media screen and (max-width: 768px) {
  #confirm .heading h3::after {
    transform: scale(0.8);
    top: 22%;
    right: 10%;
  }
}
#confirm .contact_text {
  margin-bottom: 48px;
}
@media screen and (max-width: 768px) {
  #confirm .contact_text {
    margin-bottom: 68px;
  }
}
#confirm .contact_box {
  width: 100%;
  height: auto;
  border-radius: 90px;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.16);
  background-color: #fff;
  padding: 80px 0;
}
@media screen and (max-width: 768px) {
  #confirm .contact_box {
    width: 100%;
    padding: 30px 0;
    border-radius: 50px;
  }
}
#confirm .form {
  width: 62.5%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #confirm .form {
    width: 88.4%;
  }
}
#confirm .form-item {
  width: 100%;
  align-items: center;
  margin-bottom: 25px;
}
#confirm .form-item-label {
  width: 100%;
  letter-spacing: 0.05em;
  font-size: 20px;
  font-weight: bold;
  display: inline-block;
  vertical-align: middle; /* 中央揃え */
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  #confirm .form-item-label {
    margin-bottom: 9px;
  }
}
#confirm .form-item-label-required {
  border-radius: 5px;
  width: 34px;
  height: 24px;
  display: inline-block;
  text-align: center;
  background: #93C572;
  color: #fff;
  font-size: 12px;
  vertical-align: middle; /* 中央揃え */
  margin-left: 22px;
}
#confirm .form-item-textarea {
  white-space: pre-wrap; /* 改行も折り返しも両方サポート */
  word-break: break-word; /* 長い単語も折り返し */
  resize: vertical; /* ユーザーが縦にサイズ変更できる */
  white-space: normal;
}
#confirm .wpcf7-submit {
  width: 200px;
  height: 50px;
  background-color: #fff;
  border: 2px solid #93C572;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  font-size: 16px;
  color: #93C572;
  font-weight: bold;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-align: center;
  margin-top: 50px;
}
#confirm .wpcf7-form {
  width: 62.5%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #confirm .wpcf7-form {
    width: 88.4%;
  }
}
#confirm .wpcf7-spinner {
  display: none;
}
#confirm .form_item_button br {
  display: none;
}

/*!
object > project > thanks
------------------------------
*/
#thanks .container {
  margin-bottom: 156px;
}
@media screen and (max-width: 768px) {
  #thanks .container {
    width: 100%;
  }
}
#thanks .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding-top: 140px;
}
@media screen and (max-width: 768px) {
  #thanks .breadcrumb {
    font-size: 14px;
    padding-top: 67px;
  }
}
#thanks .breadcrumb .breadcrumb_icon {
  color: #93C572;
  padding: 0 10px 0 20px;
}
#thanks .heading {
  margin: 72px 0 32px;
}
@media screen and (max-width: 768px) {
  #thanks .heading {
    margin: 35px 0 20px;
  }
}
#thanks .heading h3 {
  text-align: start;
}
@media screen and (max-width: 768px) {
  #thanks .heading h3 {
    font-size: 30px;
  }
}
#thanks .heading h3::after {
  transform: scale(1);
}
@media screen and (max-width: 768px) {
  #thanks .heading h3::after {
    transform: scale(0.8);
    top: 22%;
    right: 13%;
  }
}
#thanks .contact_thanks_box {
  width: 100%;
  height: auto;
  border-radius: 90px;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.16);
  background-color: #fff;
  padding: 76px 0 82px;
}
@media screen and (max-width: 768px) {
  #thanks .contact_thanks_box {
    width: 100%;
    padding: 30px 0;
    border-radius: 50px;
  }
}
#thanks .contact_thanks_box_inner {
  width: 376px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #thanks .contact_thanks_box_inner {
    width: 63.3%;
  }
}
@media screen and (max-width: 370px) {
  #thanks .contact_thanks_box_inner {
    width: 75%;
  }
}
#thanks .contact_thanks_thanks {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 23px;
  text-align: center;
  letter-spacing: -0.14rem;
}
@media screen and (max-width: 768px) {
  #thanks .contact_thanks_thanks {
    margin-bottom: 21px;
  }
}
#thanks .contact_thanks_text {
  margin-bottom: 29px;
  letter-spacing: -0.1rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #thanks .contact_thanks_text {
    letter-spacing: -0.18rem;
    margin-bottom: 25px;
  }
}
#thanks .pc_phone {
  font-size: 20px;
  color: #93C572;
  font-weight: bold;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  #thanks .pc_phone {
    display: none;
  }
}
#thanks .sp_phone {
  display: none;
}
@media screen and (max-width: 768px) {
  #thanks .sp_phone {
    display: block;
    font-size: 14px;
    color: #93C572;
    font-weight: bold;
    margin-bottom: 8px;
    text-align: center;
    line-height: 1.4;
  }
}
#thanks .contact_thanks_guidance {
  text-align: start;
}
#thanks .contact_thanks_guidance .phone_number {
  font-size: 30px;
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  #thanks .contact_thanks_guidance .phone_number {
    font-size: 20px;
    text-align: center;
    letter-spacing: 0rem;
  }
}
#thanks .contact_thanks_guidance .reception {
  font-size: 20px;
  color: #93C572;
  font-weight: bold;
  letter-spacing: -0.1rem;
  margin-bottom: 47px;
  margin-left: -10px;
}
@media screen and (max-width: 768px) {
  #thanks .contact_thanks_guidance .reception {
    font-size: 14px;
    text-align: center;
    margin-bottom: 28px;
    line-height: 1.5;
    letter-spacing: 0rem;
  }
}
#thanks .thanks_button {
  width: 200px;
  height: 50px;
  background-color: #fff;
  border: 2px solid #93C572;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
}
#thanks .thanks_button a {
  font-size: 16px;
  color: #93C572;
  font-weight: bold;
}/*# sourceMappingURL=style.css.map */