@charset "UTF-8";
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

img, picture {
  max-width: 100%;
  display: block;
}

input, button, textarea, select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*----------------------------------------------------------*/
/*----------------------------------------------------------*/
html {
  scroll-behavior: smooth;
}

body {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.5;
  color: #333333;
  word-break: auto-phrase;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
}

h1, h2, h3, h4 {
  font-weight: 800;
}

.container {
  width: 80%;
  margin: 0 auto;
  max-width: 1120px;
}
@media screen and (max-width: 1024px) {
  .container {
    width: 85%;
  }
}
@media screen and (max-width: 767px) {
  .container {
    width: 90%;
  }
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover {
  opacity: 0.7;
}

ul, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.lower-fv {
  position: relative;
  z-index: 0;
  overflow: hidden;
  aspect-ratio: 1440/350;
  background: url(./images/lower-fv.png) no-repeat center/cover;
  text-align: center;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .lower-fv {
    aspect-ratio: 3/1;
  }
}
@media screen and (max-width: 767px) {
  .lower-fv {
    aspect-ratio: 5/3;
  }
}
.lower-fv-text {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  max-width: 90%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.lower-fv h1 {
  font-size: clamp(1.25rem, 0.795rem + 1.52vw, 2.5rem);
  color: #fff;
  padding: 8px 1rem;
  border: 1px solid #FFFFFF;
}

.orange-bg {
  background: #FBF4E9;
}

.lower-title {
  text-align: center;
  color: #1F4140;
  font-size: clamp(1.25rem, 1.068rem + 0.61vw, 1.75rem);
  margin-bottom: 8px;
}

.lower-h3 {
  text-align: center;
  color: #1F4140;
  font-size: clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  padding-bottom: 8px;
  border-bottom: 1px solid #555555;
}

.center {
  text-align: center;
  font-size: 14px;
  line-height: 2;
  font-weight: 900;
}

#breadcrumbs {
  padding: 1rem 10%;
  font-size: 14px;
  position:relative;
  color:#555555;
}
#breadcrumbs::before{
	content:"";
	position:absolute;
	width:9.5%;
	height:1px;
	background:#092C2B;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  #breadcrumbs {
    padding: 1rem 5%;
  }
	#breadcrumbs::before{
		width:4.5%;
	}
}

@media screen and (max-width: 767px) {
  #breadcrumbs {
    padding: 1rem 7.5%;
  }
	#breadcrumbs::before{
		width:7%;
	}
}

.wp-pagenavi {
  width: 100%;
  margin: 5rem auto;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    margin-top: 2.5rem;
  }
}
.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi span,
.wp-pagenavi a {
  aspect-ratio: 1/1;
  border-radius: 999vh;
  display: inline-block;
  color: #515151;
  padding: 0 !important;
  width: 50px;
  height: 50px;
  border: none !important;
  font-weight: bold;
  margin: 10px 15px !important;
  font-size: 20px !important;
  line-height: 50px;
}
.wp-pagenavi span.current {
  background: #093735;
  color: #fff;
}

.cta-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.cta-btn a {
  background: #9B7A10;
  color: #fff;
  padding: 1rem 0.5rem;
  width: 50%;
  text-align: center;
}

.cta-btn a:last-child {
  background: #06C755;
  color: #fff;
}

.content {
  width: 70%;
  margin: 5rem auto;
  max-width: 1000px;
}
@media screen and (max-width: 1024px) {
  .content {
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .content {
    width: 90%;
    margin: 2.5rem auto;
  }
  .content .wp-block-spacer {
    height: 3rem !important;
  }
}

.wp-block-table th {
  word-break: auto-phrase !important;
}

.simple-sitemap-wrap a {
  color: #0000ee;
  text-decoration: underline;
}
.simple-sitemap-wrap ul, .simple-sitemap-wrap li {
  list-style: inside;
}

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

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.swiper {
  margin-top: 5rem;
}
.swiper .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

#ez-toc-container {
  margin: 2rem 0;
}

.top-title {
  text-align: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .top-title {
    margin-bottom: 2rem;
  }
}
.top-title img {
  width: 50px;
  margin: 0 auto 0.5rem;
}
.top-title h2 {
  font-size: clamp(1.25rem, 1.068rem + 0.61vw, 1.75rem);
}
.top-title h2 + p {
  margin-top: 1rem;
}

.grecaptcha-badge {
  display: none;
}

.simple-sitemap-wrap a {
  color: #4fae4f;
}

.fixed-button-area {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

@media screen and (max-width: 767px) {
  .fixed-button-area.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
header {
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#070402), color-stop(66%, rgba(7, 4, 2, 0.5019607843)), to(transparent));
  background-image: linear-gradient(#070402, rgba(7, 4, 2, 0.5019607843) 66%, transparent);
}

.header-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin: 0 auto;
  padding: 20px 5%;
}
@media screen and (max-width: 767px) {
  .header-contents {
    padding: 12px 5%;
  }
}
.header-contents a {
  color: #fff;
}

.header-left {
  position: relative;
  z-index: 999;
}
.header-left a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1rem, 0.818rem + 0.61vw, 1.5rem);
  color: #fff;
  font-weight: bold;
  text-align: center;
  width:250px;
}
@media screen and (max-width: 1279px) {
	.header-left a {
		width:200px;
	}
}
.header-left a p:last-child {
  font-size: clamp(0.75rem, 0.614rem + 0.45vw, 1.125rem);
}

.header-right > .hamburger-nav > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 1400px) {
  .header-right > .hamburger-nav > ul {
    gap: 2rem;
  }
}
@media screen and (max-width: 1024px) {
  .header-right > .hamburger-nav > ul {
    display: none;
  }
	.header-left a{
		width:200px;
	}
}
@media screen and (max-width: 767px) {
	.header-left a{
		width:150px;
	}
}
.header-right > .hamburger-nav > ul > li > a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 14px;
  font-weight: bold;
}

.hamburger-menu {
  display: none;
}
@media screen and (max-width: 1024px) {
  .hamburger-menu {
    display: block;
  }
}
.hamburger-menu input {
  display: none;
}
.hamburger-menu .menu-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 30;
  position: relative;
  height: 25px;
  width: 40px;
}
.hamburger-menu .menu-btn span,
.hamburger-menu .menu-btn span:before,
.hamburger-menu .menu-btn span:after {
  content: "";
  display: block;
  height: 2px;
  width: 30px;
  background-color: #fff;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .hamburger-menu .menu-btn span,
  .hamburger-menu .menu-btn span:before,
  .hamburger-menu .menu-btn span:after {
    width: 26px;
    height: 1.25px;
  }
}
.hamburger-menu .menu-btn span:before {
  bottom: 8px;
}
.hamburger-menu .menu-btn span:after {
  top: 8px;
  width: 25px;
}
@media screen and (max-width: 767px) {
  .hamburger-menu .menu-btn span:after {
    width: 21px;
  }
}
.hamburger-menu #menu-btn-check:checked ~ .menu-btn span {
  background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
}
.hamburger-menu #menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.hamburger-menu #menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  width: 30px;
}
@media screen and (max-width: 767px) {
  .hamburger-menu #menu-btn-check:checked ~ .menu-btn span::after {
    width: 26px;
  }
}
.hamburger-menu .menu-content .logo {
  width: 250px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .hamburger-menu .menu-content .logo {
    width: 180px;
  }
}
.hamburger-menu .menu-content .hamburger-wrap {
  width: 80%;
  margin: 0 auto;
}
.hamburger-menu .menu-content .hamburger-wrap + a {
  width: 250px;
  margin-top: 2.5rem;
}
.hamburger-menu .menu-content ul li a {
  font-weight: bold;
  font-size: 20px;
  display: block;
  color: #fff;
  text-align: center;
  padding-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .hamburger-menu .menu-content ul li a {
    padding-bottom: 0.5rem;
    font-size: 1rem;
  }
}
.hamburger-menu .gnavi__sp-style {
  position: fixed;
  z-index: -2;
  top: 0px;
  background: #070402;
  color: #fff;
  width: 100%;
  height: 100vh;
  left: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  opacity: 0;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
  overflow: hidden;
}

.hamburger-menu .gnavi__sp-style.active {
  opacity: 1;
  z-index: 20;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.hamburger-menu .copyright {
  position: absolute;
  bottom: 2.5%;
  left: 5%;
  background: #1C803F;
  width: 90%;
  text-align: center;
  color: #fff;
  padding: 20px 0;
  font-size: clamp(0.625rem, 0.489rem + 0.45vw, 1rem);
}
.hamburger-menu .copyright::before {
  content: "";
  position: absolute;
  height: 250%;
  aspect-ratio: 57/101;
  background: url(./images/ham-left.png) no-repeat center/contain;
  left: 5%;
  top: -250%;
}
@media screen and (max-width: 767px) {
  .hamburger-menu .copyright::before {
    height: 150%;
    top: -150%;
  }
}
.hamburger-menu .copyright::after {
  content: "";
  position: absolute;
  height: 250%;
  aspect-ratio: 163/98;
  background: url(./images/ham-right.png) no-repeat center/contain;
  right: 5%;
  top: -250%;
}
@media screen and (max-width: 767px) {
  .hamburger-menu .copyright::after {
    height: 150%;
    top: -150%;
  }
}

.footer {
  padding: 3rem 0 2rem;
  position: relative;
  z-index: 0;
  color: #fff;
  overflow: hidden;
  z-index: 15;
  background: #022220;
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 3.5rem 0 3rem;
  }
}
.footer a {
  color: #fff;
}
.footer-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1080px;
  margin: 0 auto;
  width: 80%;
}
@media screen and (max-width: 767px) {
  .footer-wrap {
    width: 90%;
  }
}
.footer-left {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .footer-left {
    margin-bottom: 1.5rem;
  }
}
.footer-left a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1rem, 0.818rem + 0.61vw, 1.5rem);
  color: #fff;
  font-weight: bold;
  text-align: center;
	width:250px;
}
.footer-left a p:last-child {
  font-size: clamp(0.75rem, 0.614rem + 0.45vw, 1.125rem);
}
.footer-right {
  width: 100%;
}
.footer-right ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.5rem 4rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1024px) {
	.footer-left a {
		width:200px;
	}
}
@media screen and (max-width: 767px) {
  .footer-right ul {
    gap: 1rem 2rem;
  }
}
.footer-right ul li {
  font-weight: 600;
  display: inline-block;
  font-size: 14px;
}
.footer-right ul li:last-child a::before {
  display: none;
}
.footer-right ul li a {
  color: #fff;
  position: relative;
}
.footer-right ul li a::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  right: -2rem;
  top: 0;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .footer-right ul li a::before {
    right: -1rem;
  }
}
.footer p.copyright {
  font-size: 14px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .footer p.copyright {
    font-size: 12px;
  }
}

@media screen and (max-width: 767px) {
  h2, h3, h4, h5 {
    line-height: 1.5;
  }
}

a {
  text-decoration: none;
  color: #000;
  line-height: 1.5;
}

.btn {
  background: #9B7A10;
  color: #fff;
  text-align: center;
  padding: 20px 2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1rem, 0.875rem + 0.42vw, 1.25rem);
  display: block;
  font-weight: bold;
  position: relative;
  margin: 4rem auto 0;
  min-width: 400px;
}
@media screen and (max-width: 767px) {
  .btn {
    min-width: 300px;
    padding: 1rem 20px;
    margin: 2rem auto 0;
  }
}
.btn::before {
  content: "";
  position: absolute;
  right: -1.5rem;
  width: 1.5rem;
  background: #9B7A10;
  height: 1px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn::before {
    width: 20px;
    right: -20px;
  }
}
.btn::after {
  content: "";
  position: absolute;
  right: 0;
  width: 1.5rem;
  background: #fff;
  height: 1px;
  top: 50%;
  z-index: 10;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn::after {
    width: 20px;
  }
}

/*お知らせ一覧ページ*/
.time-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #515151;
}
.time-wrap img {
  width: 14px;
}

.news {
  padding: 5rem 0;
	background:#FFF8EE;
}
@media screen and (max-width: 767px) {
  .news {
    padding: 2.5rem 0 5rem;
  }
}
.news .container {
  max-width: 1180px;
}
.news .post-list .item {
  margin-bottom: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.5rem;
  background-color: #fff;
  box-shadow: 0 4px 4px 0px rgba(0,0,0,0.25);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .news .post-list .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.news .post-list .news-img {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .news .post-list .news-img {
    width: 100%;
  }
}
.news .post-list .news-img img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 340/250;
}
.news .post-list object {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .news .post-list object {
    width: 100%;
  }
}
.news-text {
  margin-top: 1rem;
}
.news-text .category {
  font-size: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.news-text .post-title {
  color: #093735;
  font-size: clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  margin: 8px 0;
}
.news-text .post-excerpt {
  font-size: 14px;
  line-height: 1.8;
}
.news-text .btn {
    min-width: auto;
    margin: 1rem 0 0;
    width: 185px;
    padding: 6px;
    font-size: 15px;
}
@media screen and (max-width: 767px) {
  .news-text .orange-btn {
    margin: 1rem auto 0;
  }
}
.news-text .orange-btn::before {
  transform: translateY(-50%) rotate(90deg);
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
}
.news-label {
  color: #093735;
  padding: 4px 20px;
  border-radius: 30px;
  border: 2px solid #093735;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 15px;
  line-height:1;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .news-label {
    font-size: 12px;
  }
}
.news-label span {
  line-height: 1;
}
.news-img img {
  aspect-ratio: 312/206;
  -o-object-fit: cover;
     object-fit: cover;
}

/*詳細ページ*/
.single .news-img {
  margin-bottom: 2rem;
}

.news-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 1280px) {
  .news-contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .news-contents {
    gap: 3rem;
  }
}
.news-contents .news-right {
  width: 300px;
}
.news-contents .news-left {
  width: calc(100% - 360px);
}
@media screen and (max-width: 1280px) {
  .news-contents .news-left {
    width: 100%;
  }
}
.news-contents .news-left .content {
  width: 100%;
  margin: 0;
  font-weight: 400;
}
.news-contents .news-left .content > h2 {
  font-size: clamp(1.25rem, 1.159rem + 0.3vw, 1.5rem);
  padding: 1rem 0;
  border-bottom: 1px solid #DBDBDB;
  margin: 4rem 0 2rem;
  color: #093735;
}
@media screen and (max-width: 767px) {
  .news-contents .news-left .content > h2 {
    margin: 2rem 0 1rem;
    padding: 0.5rem 0;
  }
}
.news-contents .news-left .content > h3 {
  font-size: clamp(1.125rem, 1.034rem + 0.3vw, 1.375rem);
  margin: 2rem 0 1.5rem;
  padding: 2px 1rem;
  border-left: 4px solid #093735;
}
.news-contents .news-left .content > h4 {
  margin: 2rem 0 1.5rem;
  font-size: clamp(1rem, 0.955rem + 0.15vw, 1.125rem);
}
.news-contents .news-left .content table {
  width: 100%;
  border-collapse: collapse;
}
.news-contents .news-left .content table td {
  padding: 1.5rem;
}
@media screen and (max-width: 767px) {
  .news-contents .news-left .content table td {
    padding: 0.5rem;
  }
}
.news-contents .news-left .content table td:first-child {
  font-weight: bold;
  min-width: 100px;
}
.news-contents .news-left .content table tr {
  border-top: 1px solid #4fae4f;
}
.news-contents .news-left .content table tr:last-child {
  border-bottom: 1px solid #4fae4f;
}
.news-contents .news-left .content ul {
  margin: 2rem 0;
}
.news-contents .news-left .content ul li {
  list-style: inside;
  margin: 1rem 0;
}
.news-contents .news-left .content p {
  line-height: 2;
  margin-bottom: 1rem;
}
.news-contents .post-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 2rem;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .news-contents .post-navigation {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}
.news-contents .post-navigation > div {
  width: calc((100% - 1.5rem) / 2);
}
@media screen and (max-width: 767px) {
  .news-contents .post-navigation > div {
    width: 100%;
  }
}
.news-contents .post-navigation > div a {
  background-color: #fff;
  padding: 20px;
  display: block;
  font-size: 14px;
  color: #666666;
}
.news-contents .post-navigation > div a span {
  color: #333;
  font-size: 1rem;
}
.news-contents .post-navigation a {
  text-decoration: none;
  font-weight: bold;
}
.news-contents .post-navigation span {
  display: block;
  margin-top: 5px;
}

.news-right-box {
  padding: 2rem 1.5rem;
  background-color: #fff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
  margin-bottom: 1.5rem;
}
.news-right-box h2 {
  color: #093735;
  font-size: 18px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 2px solid #DBDBDB;
}
.news-right .category-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #DBDBDB;
  font-size: 14px;
}
.news-right .category-list li span {
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 12px;
  background-color: #F4FFF4;
  color: #999999;
  font-weight: bold;
}

.related-posts {
  margin: 5rem 0 0;
}
@media screen and (max-width: 767px) {
  .related-posts {
    margin: 2.5rem 0 0;
  }
}
.related-posts h2 {
  font-size: clamp(1.25rem, 1.159rem + 0.3vw, 1.5rem);
  padding: 1rem 0;
  border-bottom: 1px solid #DBDBDB;
  margin: 0 0 2rem;
  color: #093735;
}
.related-posts ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .related-posts ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}
.related-posts ul li {
  width: calc((100% - 40px) / 3);
}
@media screen and (max-width: 767px) {
  .related-posts ul li {
    width: 100%;
  }
}
.related-posts ul li a {
  padding: 1.5rem 1rem;
  background-color: #fff;
  display: block;
}
.related-posts ul li a .news-img {
  margin-bottom: 1rem;
}
.related-posts ul li a span {
  color: #fff;
  background-color: #093735;
  padding: 5px 1rem;
  font-size: 12px;
}
.related-posts ul li a h3 {
  font-size: 14px;
  margin-top: 10px;
}

.author {
  padding: 2rem 0;
  border-top: 1px solid #DBDBDB;
  border-bottom: 1px solid #DBDBDB;
  margin: 4rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .author {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    margin: 2.5rem 0;
  }
}
.author h2 {
  font-size: 18px;
  width: 130px;
}
.author-txt {
  width: calc(100% - 170px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .author-txt {
    width: 100%;
  }
}
.author-txt > img {
  width: 5rem;
}
.author-txt > div {
  width: calc(100% - 6.5rem);
}
.author-txt > div h3 {
  font-size: 1rem;
  margin-bottom: 1rem;
}
.author-txt > div > p {
  line-height: 2;
}
.author-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-top: 1.5rem;
}
.author-sns a {
  width: 2rem;
  display: block;
}

.popular-posts a {
  display: block;
  border-bottom: 1px solid #F0F0F0;
  padding: 20px 0 1.5rem;
}
.popular-posts a .post-title {
  display: block;
  margin-top: 8px;
  font-size: 14px;
}

.entry-box {
  padding: 5rem 5%;
  border: 6px solid #4FAE4F;
  border-radius: 20px;
  background-color: #fff;
  margin: 0 auto 7.5rem;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .entry-box {
    padding: 2.5rem 5% 10rem;
  }
}
@media screen and (max-width: 767px) {
  .entry-box {
    border: 2px solid #4FAE4F;
    padding: 1.5rem 5% 5rem;
    max-width: 400px;
    margin-bottom: 4rem;
  }
}
.entry-box.zoom::before {
  width: 8%;
  left: 7.5%;
  background: url(./images/zoom.png) no-repeat center/contain;
}
@media screen and (max-width: 1024px) {
  .entry-box.zoom::before {
    left: 30%;
    width: 10%;
  }
}
@media screen and (max-width: 767px) {
  .entry-box.zoom::before {
    width: 15%;
  }
}
.entry-box::before {
  content: "";
  position: absolute;
  width: 15%;
  aspect-ratio: 1/1;
  background: url(./images/contact-1.png) no-repeat center/contain;
  left: 5%;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .entry-box::before {
    width: 20%;
    left: 30%;
    top: 70%;
  }
}
@media screen and (max-width: 767px) {
  .entry-box::before {
    top: 82%;
    width: 25%;
    left: 25%;
  }
}
.entry-box::after {
  content: "";
  position: absolute;
  width: 15%;
  aspect-ratio: 1/1;
  background: url(./images/contact-2.png) no-repeat center/contain;
  right: 2.5%;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .entry-box::after {
    right: 30%;
    top: 70%;
  }
}
@media screen and (max-width: 767px) {
  .entry-box::after {
    top: 82%;
    width: 20%;
    max-width: 70px;
  }
}

.zoom-box {
  margin-bottom: 7.5rem;
}
.zoom-box-ul {
  margin-top: 2rem;
}
.zoom-box-ul p {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
.zoom-box-ul p::before {
  content: "";
  min-width: 20px;
  width: 20px;
  height: 20px;
  background: url(./images/check.png) no-repeat center/contain;
  display: block;
}

/*contact*/
.contact {
  padding: 5rem 0 100px;
}
@media screen and (max-width: 767px) {
  .contact {
    padding: 3rem 0 4rem;
  }
}
.contact-title {
  margin: 0 0 2.5rem !important;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	justify-content:center;
  gap: 1rem;
  font-size: clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
	text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-title {
    gap: 0.5rem;
    font-size: 18px;
    padding-bottom: 1rem;
  }
}
.contact form {
  background-color: #fff;
  text-align: left;
  -webkit-box-shadow: 0 0 10px 6px rgba(79, 174, 79, 0.3);
          box-shadow: 0 0 10px 6px rgba(79, 174, 79, 0.3);
  border-radius: 10px;
  padding: 3rem 7.5%;
}
@media screen and (max-width: 767px) {
  .contact form {
    width: 100%;
    margin-bottom: 2.5rem;
  }
}
.contact form h3 {
  text-align: left;
  color: #4fae4f;
  font-size: clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  padding-bottom: 1rem;
  margin: 4rem 0 1.5rem;
  border-bottom: 1px solid #DBDBDB;
  width: 100%;
}
.contact form h3:first-of-type {
  margin-top: 2rem;
}
.contact form .select-date .two-column > div {
  width: calc((100% - 1rem) / 2);
  max-width: 460px;
}
.contact form > div:not(.submit-btn) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.contact form > div:not(.submit-btn):not(:last-child) {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contact form > div:not(.submit-btn):not(:last-child) {
    margin-bottom: 20px;
  }
}
.contact form > div:not(.submit-btn) p {
  width: 100%;
}
.contact form > div:not(.submit-btn) p:first-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .contact form > div:not(.submit-btn) p:first-child {
    width: 100%;
    min-width: auto;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
  }
}
@media screen and (max-width: 767px) {
  .contact form > div:not(.submit-btn) p:first-child {
    gap: 1rem;
  }
}
.contact p:has(input[type=submit]) {
  width: 100% !important;
}
.contact input:not([type=radio]),
.contact textarea,
.contact select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  color: #333333;
  padding: 1rem;
  width: 100%;
  border: 2px solid #DDDDDD;
  background-color: #fff;
  border-radius: 12px;
}
@media screen and (max-width: 767px) {
  .contact input:not([type=radio]),
  .contact textarea,
  .contact select {
    padding: 0.7rem;
    border: 1px solid #DDDDDD;
    border-radius: 8px;
  }
}
.contact select {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
.contact .small-p {
  margin-top: 1rem;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .contact .small-p {
    font-size: 12px;
  }
}
.contact .two-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.contact .two-column p {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.contact .two-column p span {
  width: calc((100% - 0.5rem) / 2);
  max-width: 460px;
}
.contact span.required {
  color: #fff;
  background-color: #4fae4f;
  padding: 6px 16px;
  line-height: 1;
  font-weight: bold;
  font-size: 14px;
  border-radius: 50px;
}
@media screen and (max-width: 767px) {
  .contact span.required {
    font-size: 12px;
  }
}
.contact span.optional {
  color: #fff;
  background-color: #838383;
  padding: 6px 8px;
  line-height: 1;
  font-weight: bold;
  font-size: 14px;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .contact span.optional {
    font-size: 12px;
    margin-right: 0.5rem;
  }
}
.contact .wpcf7-list-item {
  margin: 0;
}
.contact p:has(.contact-policy) {
  text-align: center;
}
.contact .contact-policy label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .contact .contact-policy label {
    gap: 0.2rem;
  }
}
.contact .contact-policy input {
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-top: 0;
}
@media screen and (max-width: 1024px) {
  .contact .contact-policy input {
    width: 20px;
    height: 20px;
  }
}
.contact .wpcf7-radio,
.contact .wpcf7-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 2rem;
}
.contact .lisence-txt {
  margin-top: 1rem;
  width: 100% !important;
}
.contact .lisence-txt p {
  width: 100% !important;
}
.contact .lisence-txt p input,
.contact .lisence-txt p span {
  width: 100% !important;
}
.contact label:has(input[type=radio]) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.contact input[type=radio] {
  width: 1rem;
  height: 1rem;
  padding: 0;
  margin: 0;
}
.contact input[type=checkbox] {
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #333333;
  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border-radius: 0;
  margin: 0;
}
.contact input[type=checkbox]:checked:before {
  position: absolute;
  top: 1px;
  left: 5px;
  -webkit-transform: rotate(50deg);
          transform: rotate(50deg);
  width: 8px;
  height: 12px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
  z-index: 1;
}
.contact input[type=checkbox]:checked:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #4fae4f;
  content: "";
}
.contact .policy-box {
  border: 2px solid #DBDBDB;
  border-radius: 1rem;
  padding: 1.5rem;
}
@media screen and (max-width: 767px) {
  .contact .policy-box {
    padding: 1.5rem 1rem;
    font-size: 12px;
  }
}
.contact .policy-box > p:first-child {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #DBDBDB;
}
@media screen and (max-width: 767px) {
  .contact .policy-box > p:first-child {
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
  }
}
.contact .policy-box > p:first-child + p {
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .contact .policy-box > p:first-child + p {
    margin-bottom: 1rem;
  }
}
.contact .policy-box a {
  color: #5555F3;
}
.contact .contact-policy {
  margin-top: 1rem;
  width: 100%;
  display: block;
}
.contact .contact-policy a{
	text-decoration:underline;
}
.contact p:has(input[type=submit]) {
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  margin: 2.5rem auto 0;
  position: relative;
}
.contact p:has(input[type=submit])::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background: url(./images/arrow.png) no-repeat center/contain;
  z-index: 10;
}
.contact input[type=submit] {
  padding: 8px;
  text-align: center;
  width: 220px;
  border-radius: 5rem;
  background-color: #F88800;
  color: #fff;
  font-size: clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  margin: 3rem auto 0;
  display: block;
  position: relative;
  border: none;
}
.contact input[type=submit]:hover {
  opacity: 0.7;
}
.contact .wpcf7-not-valid {
  background-color: #FFE8E8;
}
.contact .wpcf7-spinner {
  display: none;
}
.contact textarea {
  resize: vertical; /* 縦方向のリサイズを許可 */
}

/*404*/
.not-found {
  text-align: center;
  margin: 5rem 0 7.5rem;
}

.top-title {
  text-align: center;
  font-size: clamp(1.25rem, 1rem + 0.83vw, 1.75rem);
  color: #093735;
  margin-bottom: 3rem;
}
.top-title.white {
  color: #fff;
}

.fv {
  min-height: 100vh;
  min-height: 100svh;
  background: url(./images/fv.png) no-repeat center/cover;
  color: #fff;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .fv {
    height: 700px;
    min-height: auto;
  }
}
@media screen and (max-width: 767px) {
  .fv {
    height: 100vh;
    height: 100svh;
    background: url(./images/fv-sp.png) no-repeat center/cover;
  }
}
.fv-txt {
  text-align: center;
  position: absolute;
  top: 58%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 1600px) {
  .fv-txt {
    top: 61%;
  }
}
@media screen and (max-width: 767px) {
  .fv-txt {
    top: 57%;
    width: 90%;
  }
}
.fv-txt h1 {
  font-size: clamp(1.5rem, 1rem + 1.67vw, 2.5rem);
  background-color: rgba(9, 55, 53, 0.7);
  padding: 8px 1rem;
  position: relative;
	max-width:500px;
}
@media screen and (max-width: 767px) {
  .fv-txt h1 {
    padding: 10px;
  }
}
.fv-txt h1::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .fv-txt h1::before {
    top: 3px;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 6px);
    border: 0.75px solid #fff;
  }
}
.fv-txt h1 + p {
  margin: 2rem 0 3rem;
  font-size: clamp(1.25rem, 1rem + 0.83vw, 1.75rem);
  font-weight: 800;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .fv-txt h1 + p {
    margin: 1.5rem 0 2.5rem;
  }
}
.fv-txt h1 + p::before, .fv-txt h1 + p::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 1px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .fv-txt h1 + p::before, .fv-txt h1 + p::after {
    width: 1.5rem;
  }
}
.fv-txt p:last-child {
  font-size: clamp(0.875rem, 0.75rem + 0.42vw, 1.125rem);
  line-height: 2;
  font-weight: 500;
}

/* スクロールダウンの位置 */
.scroll {
  position: absolute;
  bottom: 5%;
  color: #fff;
  font-weight: 800;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .scroll {
    bottom: 4rem;
  }
}

/* 線のアニメーション部分 */
.scroll::before {
  -webkit-animation: scroll 2s infinite;
          animation: scroll 2s infinite;
  background-color: #fff;
  bottom: -80px;
  content: "";
  height: 75px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
@media screen and (max-width: 767px) {
  .scroll::before {
    height: 34px;
    bottom: -3rem;
  }
}

/* 線のアニメーション */
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
.top-about {
  padding: 80px 0 100px;
  position: relative;
  background: url(./images/top-about-bg.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .top-about {
    padding: 2.5rem 0 3rem;
  }
}
.top-about-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .top-about-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .top-about-wrap {
    gap: 1.5rem;
  }
}
.top-about-wrap > img {
  width: 45%;
}
@media screen and (max-width: 1024px) {
  .top-about-wrap > img {
    width: 100%;
    max-width: 450px;
  }
}
.top-about-txt {
  width: 50%;
}
@media screen and (max-width: 1024px) {
  .top-about-txt {
    width: 100%;
  }
}
.top-about-txt .top-title {
  text-align: left;
  margin: 0 0 1rem;
}
@media screen and (max-width: 767px) {
  .top-about-txt .top-title {
    margin-bottom: 0.5rem;
  }
}
.top-about-txt .top-title + p {
  font-size: clamp(0.875rem, 0.688rem + 0.63vw, 1.25rem);
  color: #092C2B;
  font-weight: 800;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.top-about-txt .top-title + p::before {
  content: "";
  display: block;
  width: 107px;
  height: 1px;
  background-color: #092C2B;
}
@media screen and (max-width: 767px) {
  .top-about-txt .top-title + p::before {
    width: 72px;
  }
}
.top-about-txt h3 {
  margin: 2rem 0 3rem;
  font-size: clamp(1rem, 0.875rem + 0.42vw, 1.25rem);
  color: #092C2B;
}
@media screen and (max-width: 767px) {
  .top-about-txt h3 {
    margin: 1rem 0 1.5rem;
  }
}
.top-about-txt p:not(.h2-p) {
  margin-top: 1rem;
  line-height: 2;
}
.top-about-txt p:not(.h2-p) span {
  font-weight: 800;
  color: #092C2B;
}

.top-effect {
  padding: 100px 0 180px;
  position: relative;
  background: url(./images/top-effect-bg.png) no-repeat right center/cover;
}
@media screen and (max-width: 767px) {
  .top-effect {
    padding: 4rem 0 200px;
    background: url(./images/top-effect-bg-sp.png) no-repeat center/cover;
  }
}
.top-effect .top-title {
  margin: 0;
}
.top-effect .top-title + p {
  color: #fff;
  text-align: center;
  margin: 1rem 0 4rem;
  font-size: clamp(1rem, 0.875rem + 0.42vw, 1.25rem);
  font-weight: 800;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .top-effect .top-title + p {
    margin-bottom: 3rem;
  }
}
.top-effect .top-title + p::before, .top-effect .top-title + p::after {
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .top-effect .top-title + p::before, .top-effect .top-title + p::after {
    width: 1.5rem;
  }
}
.top-effect-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .top-effect-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 400px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .top-effect-wrap {
    gap: 1.5rem;
  }
}
.top-effect-item {
  text-align: center;
  padding: 4rem 1.5rem;
  background: url(./images/top-effect-item.png) no-repeat center/cover;
  width: calc((100% - 4rem) / 3);
  position: relative;
}
@media screen and (max-width: 1024px) {
  .top-effect-item {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top-effect-item {
    padding: 3.5rem 1rem;
  }
}
.top-effect-item::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: calc(100% - 1.5rem);
  height: calc(100% - 1.5rem);
  border: 1px solid #093735;
}
@media screen and (max-width: 767px) {
  .top-effect-item::before {
    left: 8px;
    top: 8px;
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
  }
}
.top-effect-item img {
  width: 5rem;
  margin: 0 auto 1rem;
}
@media screen and (max-width: 767px) {
  .top-effect-item img {
    width: 3.5rem;
  }
}
.top-effect-item h3 {
  font-size: clamp(1.125rem, 1.063rem + 0.21vw, 1.25rem);
  color: #1F4140;
}
.top-effect-item h3 + p {
  font-size: clamp(1.125rem, 1.063rem + 0.21vw, 1.25rem);
  font-weight: 800;
  margin: 0.5rem 0 1rem;
}
.top-effect-item p:last-child {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
}

.top-method {
  padding: 100px 0;
}
@media screen and (max-width: 767px) {
  .top-method {
    padding: 4rem 0;
  }
}
.top-method .top-title {
  margin-bottom: 0;
}
.top-method .top-title + p {
  text-align: center;
  margin: 2rem auto 3rem;
  max-width: 720px;
  line-height: 1.9;
  font-size: clamp(1rem, 0.875rem + 0.42vw, 1.25rem);
}
@media screen and (max-width: 767px) {
  .top-method .top-title + p {
    margin: 1rem auto 3rem;
  }
}
.top-method .top-title + p span {
  color: #093735;
  font-weight: 800;
}
.top-method-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .top-method-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.top-method-left {
  width: 47.5%;
}
@media screen and (max-width: 1024px) {
  .top-method-left {
    width: 100%;
  }
}
.top-method-left h3 {
  font-size: clamp(1rem, 0.875rem + 0.42vw, 1.25rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 2rem 0 0;
}
@media screen and (max-width: 767px) {
  .top-method-left h3 {
    gap: 1rem;
  }
}
.top-method-left h3:first-of-type {
  margin-top: 0;
}
.top-method-left h3 span:first-child {
  color: #fff;
  background: #093735;
  padding: 8px 1rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .top-method-left h3 span:first-child {
    padding: 6px 12px;
  }
}
.top-method-left h3 span:nth-child(2) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: #555555;
}
.top-method-left h3 span:nth-child(2)::before, .top-method-left h3 span:nth-child(2)::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1px;
  background: #555555;
}
@media screen and (max-width: 767px) {
  .top-method-left h3 span:nth-child(2)::before, .top-method-left h3 span:nth-child(2)::after {
    width: 18px;
  }
}
.top-method-right {
  width: 47.5%;
}
@media screen and (max-width: 1024px) {
  .top-method-right {
    width: 100%;
    max-width: 450px;
  }
}
.top-method-right p {
  font-size: clamp(0.875rem, 0.75rem + 0.42vw, 1.125rem);
  line-height: 1.8;
}
.top-method .tab-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: #333333;
}
.top-method .tab-list li {
  padding: 1.5rem 0.5rem 1rem;
  border-bottom: 1px solid #C7C7C7;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  position: relative;
  color: #8D8D8D;
  font-size: clamp(1.188rem, 1.031rem + 0.52vw, 1.5rem);
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .top-method .tab-list li {
    font-size: 16px;
  }
}
.top-method .tab-list li::before {
  content: "";
  position: absolute;
  left: -1.5rem;
  top: calc(50% + 0.25rem);
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .top-method .tab-list li::before {
    width: 6px;
    height: 6px;
    left: -0.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .top-method .tab-list li::after {
    content: "";
    position: absolute;
    right: 0;
    top: calc(50% + 0.25rem);
    transform: translateY(-50%) rotate(180deg);
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    width: 18px;
    height: 10px;
    background: url(./images/tab-arrow.png) no-repeat center/contain;
  }
}
@media screen and (max-width: 1024px) and (max-width: 767px) {
  .top-method .tab-list li::after {
    width: 16px;
    height: 8px;
  }
}
@media screen and (max-width: 1024px) {
  .top-method .tab-list li.current::after {
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
}
.top-method .tab-list li span {
  position: relative;
  line-height: 1;
}
.top-method .tab-list li span::before {
  content: "";
  position: absolute;
  height: 20px;
  width: 1px;
  background-color: #093735;
  right: -0.5rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.top-method .content-group {
  position: relative;
}
.top-method .tab-menu {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
.top-method .tab-menu.current {
  border-bottom: 1px solid #093735;
  color: #093735;
}
.top-method .tab-menu.current::before {
  background: #093735;
}
.top-method .content-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: none;
}
@media screen and (max-width: 1024px) {
  .top-method .content-box {
    margin: 2rem auto;
    position: relative;
    top: auto;
    left: auto;
  }
}
@media screen and (max-width: 767px) {
  .top-method .content-box {
    margin: 1.5rem auto;
  }
}
.top-method .content-box img {
  display: block;
  width: 100%;
  margin-bottom: 1.5rem;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .top-method .content-box img {
    max-width: 450px;
    margin: 0 auto 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .top-method .content-box img {
    margin-bottom: 1rem;
  }
}
.top-method .sp-content {
  display: none;
}
@media screen and (max-width: 1024px) {
  .top-method .content-group {
    display: none;
  }
  .top-method .sp-content {
    position: relative;
    margin: 1.5rem 0;
  }
}

.top-cast {
  padding: 100px 0 80px;
  background: url(./images/top-cast-bg.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .top-cast {
    padding: 4rem 0 7.5rem;
    background: url(./images/top-cast-bg-sp.png) no-repeat bottom center/cover;
  }
}
@media screen and (max-width: 767px) {
  .top-cast .top-title {
    margin-bottom: 2.5rem;
  }
}
.top-cast-swiper {
  margin: 0;
  padding-bottom: 5rem;
}
.top-cast-swiper-bg {
  width: 90%;
  margin: 4rem 0 0 auto;
  padding: 0 0 0 1.5rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-cast-swiper-bg {
    width: 100%;
    padding: 0 5%;
    margin: 0 auto;
  }
}
/* 
.top-cast-swiper .staff-item{
	background:transparent;
	box-shadow: none !important;
	padding: 0 !important;
} */
.top-cast-swiper a:hover{
	opacity:1;
}
.top-cast-swiper-bg::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: calc(85% - 3rem);
  background: #6F7170;
  left: 0;
  top: 15%;
}
@media screen and (max-width: 767px) {
  .top-cast-swiper-bg::before {
    height: calc(90% - 3rem);
    top: 10%;
  }
}
@media screen and (max-width: 767px) {
  .top-cast-swiper .swiper-slide {
    width: calc((100% - 1rem) / 2);
  }
	.top-cast-swiper .swiper-slide .staff-img .label{
		right: 2px;
		bottom: 2px;
		font-size: 10px;
		padding: 0 8px;
	}
}
.top-cast-swiper .swiper-slide > img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 1rem;
}
/* .top-cast-swiper .swiper-slide p {
  line-height: 1.8;
  font-size: clamp(0.75rem, 0.563rem + 0.63vw, 1.125rem);
} */
.top-cast-swiper .swiper-pagination-progressbar {
  background: #fff;
  width: 90%;
  height: 2px;
}
.top-cast-swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #9B7A10;
}
.top-cast-swiper .swiper-horizontal > .swiper-pagination-progressbar,
.top-cast-swiper .swiper-pagination-progressbar.swiper-pagination-horizontal {
  bottom: 0;
  top: auto;
}
@media screen and (max-width: 767px) {
  .top-cast-swiper .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.5rem 1rem;
  }
}
.top-cast-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  margin-top: 4px;
  padding-bottom: 4px;
  border-bottom: 1px solid #BEBEBE;
}
@media screen and (max-width: 767px) {
  .top-cast-sns {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 4px;
  }
}
.top-cast-sns a {
  width: 1.5rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .top-cast-sns a {
    width: 20px;
  }
}

.top-news {
  padding: 100px 0 120px;
  position: relative;
  background: url(./images/top-news-bg.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .top-news {
    padding: 4rem 0;
  }
}
.top-news-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .top-news-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.top-news-wrap a {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .top-news-wrap a {
    width: 100%;
  }
}

.policy h2 {
  font-size: clamp(1.125rem, 0.898rem + 0.76vw, 1.75rem);
  margin: 7.5rem 0 2rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid;
}
@media screen and (max-width: 1024px) {
  .policy h2 {
    margin: 4rem 0 1.5rem;
    padding-bottom: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .policy h2 {
    margin: 2rem 0 1rem;
  }
}
.policy h2:first-of-type {
  margin-top: 0;
  font-size: clamp(1.25rem, 0.977rem + 0.91vw, 2rem);
}
.policy p {
  line-height: 2;
}

.flow {
  padding: 7.5rem 0 140px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .flow {
    padding: 5rem 0;
  }
}
.flow::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 60%;
  background: url(./images/flow-bg.png) no-repeat center/cover;
  bottom: 100px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .flow::before {
    height: 80%;
    bottom: 4rem;
  }
}
.flow .lower-title + p {
  color: #092C2B;
  text-align: center;
  margin: 1rem 0 4rem;
  font-size: clamp(1rem, 0.875rem + 0.42vw, 1.25rem);
  font-weight: 800;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .flow .lower-title + p {
    margin-bottom: 3rem;
  }
}
.flow .lower-title + p::before, .flow .lower-title + p::after {
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  background: #092C2B;
}
@media screen and (max-width: 767px) {
  .flow .lower-title + p::before, .flow .lower-title + p::after {
    width: 1.5rem;
  }
}
.flow .swiper {
  margin: 0;
  padding-bottom: 3rem;
}
.flow .swiper-wrapper {
  -webkit-transition-timing-function: inherit;
          transition-timing-function: inherit;
}
.flow {
  /* ページネーション共通のスタイル */
}
.flow .swiper-pagination-bullet {
  background-color: #fff;
  color: #9B7A10;
  font-size: 16px;
  height: 26px;
  line-height: 1.5;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  width: 26px;
  opacity: 1;
}
.flow {
  /* 現在のページネーションのスタイル */
}
.flow .swiper-pagination-bullet-active {
  background-color: #9B7A10;
  color: #fff;
}
.flow .swiper-pagination {
  bottom: 0;
}
.flow {
  /* ページネーションの余白(位置) */
}
.flow .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.flow .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 6px;
}
.flow {
  /* 画像のサイズ調整 */
}
.flow .swiper-slide img {
  height: auto;
  width: 100%;
}
.flow-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 1280px) {
  .flow-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 600px;
    margin: 0 auto;
  }
}
.flow-left {
  width: 45%;
}
@media screen and (max-width: 1280px) {
  .flow-left {
    width: 100%;
  }
}
.flow-right {
  width: 50%;
}
@media screen and (max-width: 1280px) {
  .flow-right {
    width: 100%;
  }
}
.flow-item {
  background: #fff;
  padding: 1rem;
  -webkit-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .flow-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.flow-item::before {
  content: "";
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  background: url(./images/flow-arrow.png) no-repeat center/contain;
  bottom: -2rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.flow-item:last-child::before {
  display: none;
}
.flow-item img {
  width: 16%;
}
@media screen and (max-width: 767px) {
  .flow-item img {
    width: 4rem;
  }
}
.flow-txt {
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
	flex-direction:column-reverse;
}
@media screen and (max-width: 767px) {
  .flow-txt {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 1rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.flow-txt div {
  width: 100%;
  font-weight: bold;
}
.flow-txt div h3 {
  font-size: clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
  color: #093735;
  margin-bottom: 8px;
}
.flow-txt .label {
  background: #9B7A10;
  color: #fff;
  padding: 6px 10px;
  line-height: 1;
  font-size: 20px;
  font-weight: bold;
	margin-left:auto;
}
.flow-swiper .swiper-slide img {
  width: 500px;
  height: 420px;
  max-width: 100%;
  object-fit: cover;
}

.course {
  padding-bottom: 3rem;
}
.course .container {
  max-width: 1080px;
}
.course-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4rem 5%;
  margin: 4rem 0;
}
@media screen and (max-width: 767px) {
  .course-wrap {
    gap: 3rem;
    margin: 2rem 0;
  }
}
.course-item {
  width: 47.5%;
}
@media screen and (max-width: 767px) {
  .course-item {
    width: 100%;
  }
}
.course-item h3 {
  text-align: center;
  background: #1F4140;
  color: #fff;
  font-size: 1rem;
  padding: 8px;
}
.course-item h4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  font-size: 1rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .course-item h4 {
    margin-top: 1rem;
  }
}
.course-item h4::before, .course-item h4::after {
  content: "";
  width: 2rem;
  height: 1px;
  background: #BBBBBB;
  display: block;
}
.course-item table {
  width: 100%;
  max-width: 350px;
  margin: 8px auto 0;
  border-collapse: collapse;
}
.course-item table td {
  padding: 4px 0;
  border-bottom: 1px solid #BBBBBB;
}
.course-item table td:first-child {
  font-size: 14px;
}
.course-item table td:last-child {
  color: #1F4140;
}
.course-item table td:last-child span {
  font-size: clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
}
.course-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #1F4140;
  margin: 1rem 0;
  padding-bottom: 14px;
  border-bottom: 1px solid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
}
.course-label p {
  line-height: 1;
}
.course-label p span {
  font-size: clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
}
.course-label p:first-child {
  font-size: 12px;
  color: #fff;
  background: #1F4140;
  padding: 4px 12px;
}
.course-label p:last-child {
  font-size: clamp(1.25rem, 1.023rem + 0.76vw, 1.875rem);
}

.traffic {
  margin: 3rem 0 4rem;
}
.traffic .container {
  max-width: 1080px;
}
.traffic-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 4rem;
}
@media screen and (max-width: 1024px) {
  .traffic-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .traffic-wrap {
    margin-top: 2.5rem;
  }
}
.traffic-wrap > img {
  width: 50%;
}
@media screen and (max-width: 1024px) {
  .traffic-wrap > img {
    width: 70%;
  }
}
@media screen and (max-width: 767px) {
  .traffic-wrap > img {
    width: 100%;
    max-width: 400px;
  }
}
.traffic-left {
  width: 47.5%;
  max-width: 470px;
}
@media screen and (max-width: 1024px) {
  .traffic-left {
    width: 100%;
  }
}
.traffic-left table {
  border-collapse: collapse;
}
.traffic-left table tr:nth-child(3) td:first-child p {
  background: #9B7A10;
}
.traffic-left table tr:nth-child(4) td:first-child p {
  background: #934D1B;
}
.traffic-left table td {
  padding: 2rem 0;
  border-top: 1px solid #CCCCCC;
}
@media screen and (max-width: 767px) {
  .traffic-left table td {
    padding: 1rem 0;
  }
}
.traffic-left table td:first-child {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  padding-bottom: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .traffic-left table td:first-child {
    gap: 0.5rem;
  }
}
.traffic-left table td:first-child p {
  color: #fff;
  background: #093735;
  padding: 4px 1rem;
  line-height: 1;
  font-weight: bold;
  font-size: clamp(0.875rem, 0.739rem + 0.45vw, 1.25rem);
}
.traffic-left table td:last-child {
  width: 100%;
  border: none;
  display: block;
  padding-top: 1.5rem;
  text-align: center;
  font-size: clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .traffic-left table td:last-child {
    padding-top: 1rem;
  }
}

.credit {
  text-align: center;
  padding: 3.5rem 0;
}
.credit img {
  max-width: 240px;
  margin: 2rem auto 3rem;
}
.credit .lower-h3 {
  max-width: 620px;
  margin: 0 auto 1rem;
}
.credit-flow {
  position: relative;
  max-width: 480px;
  margin: 0 auto;
  z-index: 1;
}
.credit-flow::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  background: #1F4140;
  left: 1rem;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .credit-flow::before {
    height: calc(100% - 1rem);
  }
}
.credit-flow-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .credit-flow-item {
    margin-bottom: 1rem;
  }
}
.credit-flow-item span {
  color: #fff;
  width: 2rem;
  height: 2rem;
  background: #1F4140;
  border-radius: 50%;
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.credit-flow-item > div {
  text-align: left;
  width: calc(100% - 4.5rem);
}
@media screen and (max-width: 767px) {
  .credit-flow-item > div {
    width: calc(100% - 3rem);
  }
}
.credit-flow-item a {
  background: #1F4140;
  color: #fff;
  padding: 20px 3rem 20px 1.5rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 1.5rem;
  position: relative;
}
.credit-flow-item a::before {
  content: ">";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.credit-green {
  padding: 1.5rem 20px 2.5rem;
  background: #1F4140;
  color: #fff;
  margin: 3.5rem auto 0;
  max-width: 620px;
}
.credit-green a {
  color: #fff;
}
.credit-green h3 {
  font-size: 1rem;
}
.credit-green h3 + p {
  margin: 1.5rem 0;
}
.credit-green ul {
  text-align: left;
}
.credit-green ul li {
  list-style: inside;
  font-size: 14px;
}

.faq {
  position: relative;
}
@media screen and (max-width: 767px) {
  .faq {
    padding: 0rem 0 7rem;
  }
}
.faq-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .faq-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
}
.faq-wrap h2 {
  font-size: clamp(1.5rem, 1.318rem + 0.61vw, 2rem);
  width: 200px;
}
.faq-txt {
  width: calc(100% - 300px);
  position: relative;
}
@media screen and (max-width: 1024px) {
  .faq-txt {
    width: 100%;
  }
}
.faq .accordion {
  background-color: #fff;
  border: 1px solid #C2C2C2;
  cursor: pointer;
  border-radius: 10px;
  -webkit-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
}
.faq .accordion:not(:last-child) {
  margin-bottom: 1.5rem;
}
.faq .accordion-content {
  display: none;
  color: #4fae4f;
}
.faq .accordion-header {
  position: relative;
  color: #4fae4f;
  font-weight: 500;
  padding: 1rem 2.5rem 1rem 1.5rem;
  border-radius: 8px 8px 0 0;
}
.faq .accordion-header::before,
.faq .accordion-header::after {
  position: absolute;
  content: "";
  top: 1px;
  right: 20px;
  bottom: 0;
  width: 12px;
  height: 2px;
  margin: auto;
  background: #4fae4f;
}
.faq .accordion-header::after {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.faq .accordion-content {
  padding: 1rem 1.5rem;
}
.faq .accordion-header.active {
  background: #4fae4f;
  color: #fff;
}
.faq .accordion-header.active span::before {
  background: #fff;
  color: #4fae4f;
}
.faq .accordion-header.active::before {
  background: #fff;
}
.faq .accordion-header.active::after {
  opacity: 0;
}
.faq .accordion-header span,
.faq .accordion-content span {
  padding-left: 40px;
  position: relative;
  display: block;
}
.faq .accordion-header span::before {
  position: absolute;
  content: "Q";
  top: 0;
  left: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  background-color: #4fae4f;
  padding: 5px 6.6px;
  border-radius: 999vh;
  font-family: "Montserrat", sans-serif;
}
.faq .accordion-content span::before {
  position: absolute;
  content: "A";
  top: 0;
  left: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  background-color: #4fae4f;
  padding: 5px 7.6px;
  border-radius: 999vh;
  font-family: "Montserrat", sans-serif;
}

.faq-section {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px 60px;
  font-family: "Shippori Mincho", serif;
}

.faq-section *,
.faq-section *::before,
.faq-section *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  content: none;
}

.faq-section {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.faq-header {
  text-align: center;
  margin-bottom: 50px;
}

.faq-header h2 {
  font-family: "Shippori Mincho", serif;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #022220;
  margin-bottom: 20px;
  border: none;
  padding-bottom: 0rem;
}

.faq-header p {
  font-size: 14px;
  color: #666;
  line-height: 1.8;
}

.faq-list {
  list-style: none;
}

.faq-item {
  padding: 32px 0;
  border-top: 1px solid #ccc;
}

.faq-item:first-child {
  border-top: none;
}

.faq-item:last-child {
  border-bottom: 1px solid #ccc;
}

.faq-question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 12px;
  margin-bottom: 18px;
  cursor: pointer;
}

.faq-question .label-q {
  font-family: "Shippori Mincho", serif;
  font-size: 28px;
  font-weight: 700;
  color: #b8a44c;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 1;
}

.faq-question .question-text {
  font-size: 17px;
  font-weight: 700;
  color: #333;
  line-height: 1.6;
}

.faq-answer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 12px;
  padding-left: 2px;
}

.faq-answer .label-a {
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  font-weight: 700;
  color: #022220;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 1;
}

.faq-answer .answer-text {
  font-size: 14px;
  color: #555;
  line-height: 2;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .faq-section {
    width: 95%;
    padding: 0 0 40px;
  }
  .faq-header h2 {
    font-size: 26px;
  }
  .faq-header p {
    font-size: 13px;
  }
  .faq-item {
    padding: 24px 0;
  }
  .faq-question .label-q {
    font-size: 24px;
  }
  .faq-question .question-text {
    font-size: 15px;
  }
  .faq-answer .label-a {
    font-size: 19px;
  }
  .faq-answer .answer-text {
    font-size: 13px;
    line-height: 1.9;
  }
}
@media (max-width: 480px) {
  .faq-section {
    width: 95%;
    padding: 0 0 30px;
  }
  .faq-header {
    margin-bottom: 30px;
  }
  .faq-header h2 {
    font-size: 22px;
  }
  .faq-question .label-q {
    font-size: 22px;
  }
  .faq-question .question-text {
    font-size: 14px;
  }
  .faq-answer .label-a {
    font-size: 17px;
  }
  .faq-answer .answer-text {
    font-size: 12.5px;
  }
}
.staff {
  padding: 7.5rem 0;
  background: url(./images/staff-bg.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .staff {
    padding: 5rem 0;
  }
}
.staff-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.5rem;
}
.staff-item {
  width: calc((100% - 3rem) / 3);
  padding: 1rem;
  background: #fff;
  -webkit-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
  border-radius: 12px;
  position: relative;
	z-index: 1;
}
.staff-item::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 12px;
  padding: 4px; /* ボーダー幅 */
  background: linear-gradient(to right bottom, #AE873C, #FFE75D, #B48E3F);
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .staff-item {
    width: calc((100% - 1.5rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .staff-item {
    width: 100%;
  }
}
.staff-item p {
  line-height: 1.8;
  font-size: clamp(0.75rem, 0.563rem + 0.63vw, 1.125rem);
}
.staff-item p:last-child{
	font-size:clamp(0.875rem, 0.739rem + 0.45vw, 1.25rem);
}
.staff-img {
  margin-bottom: 1rem;
  position: relative;
}
.staff-img > img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
	border-radius:4px;
}
.staff-img .label {
  position: absolute;
  padding: 4px 1rem;
  border-radius: 1.5rem;
  background: #093735;
  color: #fff;
  font-weight: bold;
  right: 6px;
  bottom: 6px;
  font-size:15px;
}

.schedule-title {
  margin: 2.5rem 0;
}
.schedule-title img {
  max-width: 330px;
  margin: 0 auto 1rem;
}
.schedule-title h2 {
  text-align: center;
  color: #9B7A10;
  font-size: clamp(1.25rem, 1.068rem + 0.61vw, 1.75rem);
}

.week_calendar {
  padding: 20px;
  border: 1px solid #B5B5B5;
  background: #fff;
  border-radius: 8px;
}

.week_calendar ul {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.week_calendar ul li {
  position: relative;
  width: 20%;
  list-style-type: none;
  border: 1px solid #9B7A10;
}
.week_calendar ul li.target a {
  background-image: linear-gradient(131deg, #ae873c, #ffe75d 50%, #b48e3f);
  color: #093735;
}
.week_calendar ul li.sat a {
  background: #EAF4FE;
}
.week_calendar ul li.sun a {
  background: #FCE7E6;
}
.week_calendar ul li a {
  display: block;
  width: 100%;
  padding: 17px 5px;
  background: #FFFFFF;
  font-size: 12px;
  line-height: 1.5;
  color: #9B7A10;
  text-align: center;
}


.faq-box{
    margin: 4rem 0;
}

.faq-box h2{
	font-size:1rem;
	margin-bottom:1.5rem;
}

.faq-box table{
	text-align:left;
}

.faq-box table td,
.faq-box table th{
	padding:1rem;
}

@media screen and (max-width: 767px) {
	.faq-box table td, .faq-box table th{
		display: block;
		width: 100%;
		padding: 0.75rem 0;
	}
	.faq-box table td{
		padding-top:0.4rem;
	}
	.faq-box table th{
		padding-bottom:0;
	}
}

.line-btn{
    background: #06C755;
    color: #fff;
    padding: 1rem 2rem;
    display: block;
	margin: 2rem auto 4rem;
    width: fit-content;
    font-size: 18px;
}

header .menu-item-95 a{
	padding:4px 1.5rem;
	background: #9B7A10;
	color:#fff;
}


/* ================================
   staff-about : スタッフ詳細
================================ */
.staff-about {
  padding: 80px 0 100px;
	background:#F8F8F8;
}
@media screen and (max-width: 767px) {
  .staff-about {
    padding: 3rem 0 4rem;
  }
}

/* ---- 共通見出し ---- */
.staff-about-heading {
  font-size: clamp(1.25rem, 1.068rem + 0.61vw, 1.75rem);
  color: #333;
  padding-left: 14px;
  border-left: 4px solid #333;
  margin-bottom: 1.5rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .staff-about-heading {
    margin-bottom: 1rem;
  }
}

/* ================================
   プロフィール（上段 2カラム）
================================ */
.staff-about-profile {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 1024px) {
  .staff-about-profile {
    gap: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .staff-about-profile {
    flex-direction: column-reverse;
    gap: 2rem;
    margin-bottom: 3rem;
  }
}

/* ---- 左カラム（テキスト） ---- */
.staff-about-profile-left {
  width: 50%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .staff-about-profile-left {
    width: 100%;
  }
}

/* プロフィール情報 dl */
.staff-about-info {
  margin-bottom: 2rem;
}
.staff-about-info-row {
  display: flex;
  align-items: baseline;
  line-height: 2;
}
.staff-about-info-row dt {
  font-weight: 800;
  white-space: nowrap;
}
.staff-about-info-row dd {
  margin: 0;
  font-weight: 800;
}
.staff-about-info-row:first-child {
  font-size: clamp(1.125rem, 1rem + 0.42vw, 1.375rem);
	color:#093735;
}

/* サブタイトル */
.staff-about-subtitle {
  font-size: clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
  color: #333;
  margin-bottom: 1rem;
  font-weight: 800;
}

/* 説明文 */
.staff-about-desc {
  line-height: 2;
  font-weight: 400;
}

/* SNSアイコン */
.staff-about-sns {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 2rem;
}
.staff-about-sns a {
  display: block;
  width: 40px;
  height: 40px;
  transition: opacity 0.3s;
}
.staff-about-sns a:hover {
  opacity: 0.7;
}
.staff-about-sns a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .staff-about-sns a {
    width: 36px;
    height: 36px;
  }
}

/* ---- 右カラム（スライドショー） ---- */
.staff-about-profile-right {
  width: 45%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .staff-about-profile-right {
    width: 100%;
  }
}

/* Swiper */
.staff-about-swiper {
  margin: 0;
  padding-bottom: 2.5rem;
}
.staff-about-swiper .swiper-slide{
	position:relative;
	padding: 1rem;
    background: #fff;
}
.staff-about-swiper .swiper-slide::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 12px;
    padding: 4px;
    background: linear-gradient(to right bottom, #AE873C, #FFE75D, #B48E3F);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
}
.staff-about-swiper .swiper-slide img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  display: block;
}
.staff-about-pagination.swiper-pagination {
  bottom: 0 !important;
  padding-right: 4px;
}
.staff-about-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #ccc;
  opacity: 1;
  margin: 0 4px !important;
}
.staff-about-pagination .swiper-pagination-bullet-active {
  background: #333;
}

/* ================================
   出勤予定（テーブル）
================================ */
.staff-about-schedule {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .staff-about-schedule {
    margin-bottom: 3rem;
  }
}

.staff-about-schedule-table-wrap{
  border: 1px solid #e0d9cc;
  border-radius: 12px;
  padding: 1.25rem;
  background: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.06);
}

.staff-about-schedule-table,
.staff-about-schedule-table-wrap .krc_calendar{
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #c4a84b;
  table-layout: fixed;
}
.staff-about-schedule-table-wrap .krc_calendar{
    display: flex;
    flex-wrap: wrap;
}
.staff-about-schedule-table td {
  border: 1px solid #c4a84b;
  text-align: center;
  padding: 1.25rem 0.5rem;
  vertical-align: middle;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}
.staff-about-schedule-table-wrap .krc_calendar dl{
  border: 1px solid #c4a84b;
  text-align: center;
  padding: 1.25rem 0.5rem;
  vertical-align: middle;
  font-size: 14px;
  line-height: 1.6;
  color: #9B7A10;
  width:20%;
}
.staff-about-schedule-table-wrap .krc_calendar dl:has(.sat){
	background-color: #d6e3f3;
}
.staff-about-schedule-table-wrap .krc_calendar dl:has(.sun){
	background-color: #f5d9dd;
}
@media screen and (max-width: 767px) {
  .staff-about-schedule-table td {
    padding: 0.75rem 0.25rem;
    font-size: 12px;
	  display:block;
  }
	.staff-about-schedule-table-wrap .krc_calendar dl{
		padding: 0.75rem 0.25rem;
		font-size: 12px;
		display:block;
		width:100%;
	}
}

.staff-about-schedule-date {
  display: block;
  font-weight: 800;
  margin-bottom: 4px;
  color: #9B7A10;
}
.staff-about-schedule-time {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #9B7A10;
}
@media screen and (max-width: 767px) {
  .staff-about-schedule-time {
    font-size: 11px;
  }
}
.staff-about-schedule-time.off {
  color: #9B7A10;
}

/* 土曜の背景色（薄い青） */
.staff-about-schedule-sat {
  background-color: #d6e3f3;
}
/* 日曜の背景色（薄いピンク） */
.staff-about-schedule-sun {
  background-color: #f5d9dd;
}

/* ================================
   店長からのコメント
================================ */
.staff-about-comment-txt {
  line-height: 2;
  font-weight: 400;
}


/* ================================
   お客様の声
================================ */
.staff-about-voice{
	margin:4rem 0;
}

.staff-about-voice .swiper{
	padding:5rem 0 1rem;
	margin:0;
}

.staff-about-voice .swiper .swiper-wrapper{
	transition-timing-function: unset;
}

.staff-about-voice .swiper-slide{
	background:#fff;
	padding:1.5rem;
	box-shadow:0px 0px 20px rgba(156,125,112,0.1);
}

.staff-about-voice .swiper-button-next,
.staff-about-voice .swiper-button-prev{
	width:3rem;
	height:3rem;
	top: 2rem;
    right: 0;
}

.staff-about-voice .swiper-button-prev{
	left:auto;
	right:10rem;
}

.staff-about-voice .swiper-button-next:after, 
.staff-about-voice .swiper-button-prev:after{
	content:">";
	width:100%;
	height:100%;
	color:transparent;
	background:url(http://tokowakabodywork.jp/wp-content/uploads/2026/03/voice-after.png) no-repeat center/contain;
}

.staff-about-voice .swiper-button-prev:after{
	background:url(http://tokowakabodywork.jp/wp-content/uploads/2026/03/voice-before.png) no-repeat center/contain;
}

.staff-about-voice .swiper-slide .label{
	background:#093735;
	color:#fff;
	width:fit-content;
	padding:4px 1rem;
	font-weight:bold;
	font-size:14px;
}

.staff-about-voice .swiper-slide h4{
	font-size:18px;
	margin:12px 0 1rem;
}

.staff-about-voice .swiper-pagination {
  font-size: 1.5rem;
	bottom:auto;
	top: 1rem;
	text-align: right;
	right: 5rem;
	width: max-content;
	left: auto;
}

.cast__list.flex{
	display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}


@media screen and (max-width: 767px) {
	.post-type-archive-cast .cast__list.flex{
		gap: 1rem 0.5rem;
	}
	.post-type-archive-cast .staff-item{
	   width: calc((100% - 0.5rem) / 2);
	}
}


/* --------------------------------
   top-body section
-------------------------------- */
.top-body {
  padding: 80px 0 100px;
  position: relative;
  background-color: #092C2B;
  overflow: hidden;
}
/* 背景透過画像 */
.top-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(https://tokowakabodywork.jp/wp-content/uploads/2026/03/top-body-bg.jpg) no-repeat center/cover;
  opacity: 0.15;
  z-index: 0;
  pointer-events: none;
}
.top-body .container {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-body {
    padding: 2.5rem 0 3rem;
  }
}

.top-body-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .top-body-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .top-body-wrap {
    gap: 1.5rem;
  }
}

	.concept-body .top-body-txt p:not(.h2-p){
		font-size:1rem;
	}
	.concept-body .top-body-txt .top-title + p::before{
		display:none;
	}
	
	@media screen and (max-width: 767px) {
		.concept-body .top-body-txt p:not(.h2-p){
			font-size:14px;
		}
	}
	

/* --------------------------------
   画像（1枚）
-------------------------------- */
.top-body-wrap > img {
  width: 45%;
}
@media screen and (max-width: 1024px) {
  .top-body-wrap > img {
    width: 100%;
    max-width: 450px;
  }
}

/* --------------------------------
   テキストエリア
-------------------------------- */
.top-body-txt {
  width: 50%;
}
@media screen and (max-width: 1024px) {
  .top-body-txt {
    width: 100%;
  }
}

.top-body-txt .top-title {
  text-align: left;
  margin: 0 0 1rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top-body-txt .top-title {
    margin-bottom: 0.5rem;
  }
}

.top-body-txt .top-title + p {
  font-size: clamp(0.875rem, 0.688rem + 0.63vw, 1.25rem);
  color: #fff;
  font-weight: 800;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.top-body-txt .top-title + p::before {
  content: "";
  display: block;
  width: 107px;
  height: 1px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .top-body-txt .top-title + p::before {
    width: 72px;
  }
}

.top-body-txt h3 {
  margin: 2rem 0 3rem;
  font-size: clamp(1rem, 0.875rem + 0.42vw, 1.25rem);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top-body-txt h3 {
    margin: 1rem 0 1.5rem;
  }
}

.top-body-txt p:not(.h2-p) {
  margin-top: 1rem;
  line-height: 2;
  color: #fff;
}

.top-body-txt p:not(.h2-p) span {
  font-weight: 800;
  color: #fff;
}

.page-id-17 .staff{
	background: url(./images/schedule-bg.png) no-repeat center / cover;
}

.tel-btn{
	width:180px;
	display: block;
}

.header-right{
	display:flex;
	align-items:center;
	gap:1.5rem;
}

@media screen and (max-width: 1279px) {
    .header-right > .hamburger-nav > ul,
	.header-right{
        gap: 1rem;
    }
	.tel-btn{
		width:140px;
	}
	.header-contents{
		padding: 20px 3%;
	}
}


@media screen and (max-width: 1024px) {
	.header-right > .tel-btn{
		width:200px;
		position: relative;
        z-index: 1000;
	}
	.header-contents{
		align-items:flex-start;
	}
}

@media screen and (max-width: 767px) {
	.header-right > .tel-btn{
		width:120px;
	}
}


.hamburger-wrap .hamburger-nav{
	padding:0.5rem 1rem 2rem;
	background:rgba(255,255,255,0.9);
	margin-bottom:2rem;
}

.hamburger-menu .gnavi__sp-style .hamburger-nav > ul > li{
	margin:0 !important;
}

.hamburger-menu .menu-content ul li a{
	color:#333333;
	text-align: left;
    border-bottom: 1px solid #B2B2B2;
    padding: 1rem 0;
	line-height: 1;
}

.hamburger-menu .gnavi__sp-style::before{
	content:"";
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	background: url(./images/fv-sp.png) no-repeat center / cover;
	z-index: -1;
    opacity: 0.4;
}

@media screen and (max-width: 1024px) {
	.tel-btn{
		width:260px;
		margin:0 auto;
	}
}

.wp-pagenavi a.last, .wp-pagenavi a.first{
	font-size:16px !important;
}

@media screen and (max-width: 767px) {
.wp-pagenavi a.last, .wp-pagenavi a.first{
	font-size:14px !important;
}
}

@media screen and (max-width: 767px) {
.header-right > .hamburger-nav > ul, .header-right{
	gap:0.5rem;
}
}

.staff-about-voice{
	margin:4rem 0;
}

.staff-about-voice-item{
	padding:2rem;
	background:#fff;
	box-shadow:0px 0px 20px rgba(156, 125, 112, 0.1);
	margin-bottom:2.5rem;
}

.staff-about-voice-item .label{
    background: #093735;
    color: #fff;
    width: fit-content;
    padding: 4px 12px;
    font-size: 14px;
}

.staff-about-voice-item h3{
	color:#093735;
	font-size:18px;
	margin:12px 0 ;
}

.staff-about-voice-item h3 + p{
	line-height:1.8;
}

@media screen and (max-width: 767px) {
.staff-about-voice-item{
	padding:1rem;
	margin-bottom: 1.5rem;
}
}


.top-video{
	padding:3rem 0 4rem;
	text-align:center;
	background:url(http://tokowakabodywork.jp/wp-content/uploads/2026/04/top-video-bg.png) no-repeat center/cover;
}

.top-video .top-title{
	margin-bottom:2rem;
}

.top-video p{
	font-size:clamp(0.875rem, 0.75rem + 0.42vw, 1.25rem);
	margin-bottom:2rem;
	line-height:2;
	color:#555555;
}

.top-video .container{
	max-width:630px;
}

.top-video iframe{
	width:100%;
	height:auto;
	aspect-ratio:1920/1080;
}

@media screen and (max-width: 767px) {
.top-video{
	margin:2.5rem 0;
}
.top-video .container{
	width:90%;
}
}


@media screen and (max-width: 767px) {
	.week_calendar ul li a{
		padding: 17px 0px;
		font-size: 10px;
	}
	.page-id-17 .cast__list.flex {
        gap: 1rem 0.5rem;
	}
	.page-id-17 .staff-item{
        width: calc((100% - 0.5rem) / 2);
	}
	.page-id-17 .staff-item p:last-child{
		padding: 2px 8px;
		right: 2px;
		bottom: 2px;
		font-size: 12px;
	}
}

.top-cast-swiper-bg:has(.no-schedule)::before{
	display:none;
}

.top-cast-swiper-bg .no-schedule{
	color:#fff;
	text-align:center;
}

.page-id-17 .no-schedule{
	color: #9B7A10;
	text-align:center;
}


.age-gate__buttons{
	margin-top:2.5rem;
}

.age-gate__buttons button:last-child{
background: cornflowerblue;
}