@charset "UTF-8";
/* Theme Name: custom */
*, *::before, *::after {
  box-sizing: border-box;
}

article, aside, footer, header, nav, section, figcaption, figure, main, canvas, time {
  display: block;
}

button, input, optgroup, select, textarea, figure {
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button {
  border: none;
  background: none;
  cursor: pointer;
}
button:focus {
  outline: none;
}

progress {
  display: inline-block;
  vertical-align: baseline;
}

textarea {
  overflow: auto;
  resize: none;
}

[type=checkbox], [type=radio] {
  padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
  outline-offset: -2px;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  appearance: button;
  font: inherit;
}

[hidden] {
  display: none;
}

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

body {
  width: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color: #29201b;
  background-color: #fcfaf9;
  font-family: 'TBUDGothic R', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 960px) {
  body {
    letter-spacing: 0.02em;
  }
}
.bgFixed {
  position: fixed;
  height: 100%;
}
#bgNav {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: fixed;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: .2s ease-in;
}
#bgNav.show {
  opacity: 1;
  visibility: visible;
}

a,
button {
  color: inherit;
  transition: 0.4s;
  text-decoration: none;
}
a:hover,
button:hover {
  opacity: 0.7;
}

figure {
  text-align: center;
}

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

table {
  width: 100%;
  border-collapse: collapse;
}
table th,
table td {
  border: 1px solid #e5e5e5;
}
.list-unstyled {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.text-center {
  text-align: center !important;
}

.header {
  width: calc(292% / 3);
  height: 56px;
  background-color: #fff;
  border-radius: 9999px;
  padding: 7px 10px;
  padding-left: 20px;
  position: fixed;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.header-wrapper {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(150px, 1fr) auto auto auto;
  column-gap: 5px;
}
.header-logo {
  line-height: 1;
}
.header-logo img {
  width: 150px;
  vertical-align: baseline;
}
.header-btn {
  display: block;
  width: 42px;
  aspect-ratio: 1;
  color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #29201b;
  border: 3px solid #29201b;
  border-radius: 50%;
}
.header-btn-tel {
  background-image: url(img/icon-tel.png);
  background-size: 14px;
  background-color: #f9cb64;
  border-color: #f9cb64;
}
.header-btn-email {
  background-image: url(img/icon-email.png);
  background-size: 17px;
  background-color: #fb834e;
  border-color: #fb834e;
}
@media (hover: hover) {
  .header-btn-tel:hover {
    background-image: url(img/icon-tel-on.png);
  }
  .header-btn-email:hover {
    background-image: url(img/icon-email-on.png);
  }
  a.header-btn:hover {
    background-color: transparent;
    opacity: 1;
  }
}
.header-trigger {
  display: grid;
  justify-content: center;
  align-content: center;
  row-gap: 5px;
  position: relative;
  z-index: 3;
  cursor: pointer;
}
@media (hover: hover) {
  .header-trigger:hover {
    opacity: 1;
  }
}
.header-trigger.active {
  background-color: transparent;
}
.header-trigger::before,
.header-trigger::after {
  content: '';
  display: block;
  width: 20px;
  height: 3px;
  background-color: #fff;
  border-radius: 1.5px;
}
.header-trigger.active::before,
.header-trigger.active::after {
  background-color: #29201b;
}
.header-trigger.active::before {
  transform: translateY(4px) rotate(45deg);
}
.header-trigger.active::after {
  transform: translateY(-4px) rotate(-45deg);
}
.header-nav {
  width: 100%;
  height: calc(100vh - 20px); /* dvhに対応してないブラウザ用 */
  height: calc(100dvh - 20px);
  background-color: #fff;
  border-radius: 20px;
  padding: 135px 20px;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
  overflow-y: scroll;
  transition: 0.4s;
}
.header-nav.open {
  opacity: 1;
  visibility: visible;
}
.header-menu {
  display: grid;
  row-gap: 22px;
  font-size: 15px;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .header {
    max-width: 1320px;
    height: 100px;
    padding: 15px 20px;
    padding-left: 40px;
    top: 20px;
  }
  .header-wrapper {
    grid-template-columns: minmax(150px, 1fr) auto auto auto;
    column-gap: 10px;
  }
  .header-logo img {
    width: 240px;
  }
  .header-btn {
    width: 70px;
    order: 1;
  }
  .header-btn-tel {
    background-size: 23px;
  }
  .header-btn-email {
    background-size: 30px;
  }
  .header-trigger {
    display: none;
  }
  .header-nav {
    max-width: none;
    height: auto;
    background: none;
    padding: 0 10px;
    position: static;
    opacity: 1;
    visibility: visible;
  }
  .header-menu {
    grid-auto-flow: column;
    column-gap: 20px;
  }
}

#wrapperFixed {
  width: 100%;
  overflow-x: hidden;
}
  body:not(.home) #wrapperFixed:not(:has(.page-thumb)) {
  padding-top: 70px;
}
.container-sm {
  max-width: 670px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.container-md {
  max-width: 720px;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media screen and (min-width: 960px) {
  body:not(.home) #wrapperFixed:not(:has(.page-thumb)) {
    padding-top: 120px;
  }
  .container-lg {
    max-width: 1100px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

.top-mv {
  height: 500px;
  overflow: hidden;
}
.top-mv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-mv .swiper-txt {
  display: grid;
  row-gap: 5px;
  color: #fff;
  font-family: 'じゅん 501', sans-serif;
  position: absolute;
  left: 50px;
  bottom: 10%;
  transform: translateY(-50%);
}
.top-mv .swiper-txt .lg {
  font-size: 23px;
  letter-spacing: 0.06em;
}
.top-mv .swiper-txt .lg span {
  font-size: 0.8em;
}
.top-mv .swiper-txt .sm {
  font-size: 11px;
  line-height: 2.25;
  letter-spacing: 0.4em;
}
@media screen and (min-width: 960px) {
  .top-mv {
    height: 1000px;
  }
  .top-mv .swiper-txt {
    left: 100px;
  }
  .top-mv .swiper-txt .lg {
    font-size: 46px;
  }
  .top-mv .swiper-txt .sm {
    font-size: 22px;
  }
}
.top-inner {
  padding-left: calc(8vw / 3) !important;
  padding-right: calc(8vw / 3) !important;
}
.top-title {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 27px;
  font-weight: bold;
  text-align: center;
}
.top-txt {
  font-size: 18px;
  margin-top: 20px;
  line-height: 2;
}
/* .top-txt:first-child {
  margin-top: 0;
} */
@media screen and (min-width: 960px) {
  .top-inner {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .top-title {
    font-size: 36px;
    line-height: calc(25 / 18);
  }
  .top-txt {
    margin-top: 30px;
  }
}
.cmn-loop {
  display: grid;
  row-gap: 32px;
}
.cmn-post-link {
  display: grid;
  row-gap: 16px;
}
.cmn-post-date {
  width: 130px;
  color: #fff;
  background-color: #29201b;
  font-size: 14px;
  border-radius: 15px;
  padding: 8px;
  text-align: center;
  line-height: 1;
}
.cmn-post-ttl {
  font-size: 18px;
}
@media (hover: hover) {
  .cmn-post-link:hover {
    opacity: 1;
  }
  .cmn-post-link:hover .cmn-post-date {
    background-color: #5fa68e;
  }
  .cmn-post-link:hover .cmn-post-ttl {
    color: #5fa68e;
  }
}
@media screen and (min-width: 960px) {
  .cmn-loop {
    row-gap: 36px;
  }
  .cmn-post-link {
    row-gap: 12px;
    position: relative;
  }
  .cmn-post-link::after {
    content: '';
    display: block;
    width: 42px;
    height: 42px;
    background-image: url(img/arrow-right-g.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 19px;
    border: 3px solid transparent;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
  @media (hover: hover) {
    .cmn-post-link:hover::after {
      border-color: #5fa68e;
    }
  }
}
.top-news {
  margin-top: -50px;
  position: relative;
  z-index: 1;
}
.top-news .top-box {
  display: grid;
  row-gap: 30px;
  background-color: #fff;
  border-radius: 20px;
  padding: 60px 20px 40px;
  position: relative;
  overflow: hidden;
}
.top-news .top-box::before {
  content: 'TOPICS';
  display: block;
  width: 120px;
  color: #fff;
  background-color: #5fa68e;
  font-family: 'じゅん 501', sans-serif;
  font-size: 12px;
  font-weight: bold;
  border-radius: 0 20px 0 20px;
  padding: 6px;
  text-align: center;
  letter-spacing: 0.2em;
  position: absolute;
  top: 0;
  right: 0;
}
.top-news .top-all {
  margin-top: 15px;
  text-align: center;
}
.top-news .top-all a {
  color: #5fa68e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 13px;
  font-weight: bold;
}
.top-news .top-all a::after {
  content: '';
  display: inline-block;
  width: 24px;
  aspect-ratio: 1;
  background-image: url(img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px;
  background-color: #5fa68e;
  border-radius: 50%;
  margin-left: 7px;
  vertical-align: -7px;
  transition: .4s;
}
@media (hover: hover) {
  .top-news .top-all a:hover {
    color: #fb834e;
    opacity: 1;
  }
  .top-news .top-all a:hover::after {
    background-color: #fb834e;
  }
}
@media screen and (min-width: 640px) {
  .top-news .top-box {
    align-items: center;
    grid-template-columns: 150px 1fr;
    column-gap: 40px;
    padding: 60px 50px;
  }
}
@media screen and (min-width: 960px) {
  .top-news {
    margin-top: -100px;
  }
  .top-news .top-box {
    grid-template-columns: 200px 1fr;
    column-gap: 60px;
    border-radius: 40px;
    padding: 80px 50px;
  }
  .top-news .top-box::before {
    width: 200px;
    font-size: 20px;
    border-radius: 0 40px 0 40px;
    padding: 10px;
  }
  .top-news .top-all {
    margin-top: 20px;
  }
  .top-news .top-all a {
    font-size: 16px;
  }
}
.top-message {
  max-width: 680px;
  padding: 0 25px;
  margin: 70px auto 0;
}
.top-message .top-title {
  max-width: 296px;
  font-size: 18px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.top-message .top-title::before {
  content: '';
  display: inline-block;
  width: 131px;
  aspect-ratio: 131 / 87;
  background-image: url(img/bg-message.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: -30px;
  right: -44px;
  z-index: -1;
}
.top-message .top-title em {
  background: linear-gradient(90deg, #fdb77f 0%, #ff9483 100%);
  font-style: normal;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
.top-message .top-txt {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 20px;
  font-weight: bold;
  padding: 0 15px;
  margin-top: 24px;
  line-height: 1.5;
}
@media screen and (min-width: 960px) {
  .top-message {
    margin-top: 100px;
  }
  .top-message .top-title {
    max-width: 592px;
    font-size: 36px;
  }
  .top-message .top-title::before {
    width: 262px;
    top: -40px;
    right: -90px;
  }
  .top-message .top-txt {
    margin-top: 50px;
    line-height: 2;
  }
}
.top-recruit {
  margin-top: 45px;
}
.top-recruit .top-box {
  color: #fff;
  background-image: url(img/bg-recruit.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 20px;
  padding: 52px 30px 60px;
  /* padding-left: 45px; */
  position: relative;
}
.top-recruit .top-num {
  display: grid;
  justify-content: start;
  align-items: center;
  grid-auto-flow: column;
  column-gap: 10px;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 10px;
  padding: 5px;
  letter-spacing: 0.4em;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.top-recruit .top-num::before {
  content: '';
  display: inline-block;
  width: 25px;
  aspect-ratio: 1;
  background-image: url(img/icon-recruit.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.top-recruit .top-txt {
  font-size: 16px;
  margin-top: 14px;
  text-align: center;
  line-height: calc(15 / 8);
}
.top-recruit .top-txt span {
  display: inline-block;
}
.top-recruit .top-txt mark {
  color: inherit;
  background-color: #07248f;
  padding: 5px;
}
.top-recruit .top-btn {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr auto;
  column-gap: 10px;
  max-width: 245px;
  background-color: #fb834e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 14px;
  border-radius: 9999px;
  padding: 11px 10px;
  margin: 24px auto 0;
  text-align: center;
  line-height: 2;
}
@media (hover: hover) {
  .top-recruit .top-btn:hover {
    background-color: #5fa68e;
    opacity: 1;
  }
}
.top-recruit .top-btn::before,
.top-recruit .top-btn::after {
  content: '';
  width: 19px;
  aspect-ratio: 30 / 23;
}
.top-recruit .top-btn::after {
  background-image: url(img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (min-width: 960px) {
  .top-recruit {
    margin-top: 90px;
  }
  .top-recruit .top-box {
    border-radius: 40px;
    padding: 114px 60px 124px;
  }
  .top-recruit .top-num {
    column-gap: 20px;
    font-size: 16px;
    padding: 20px;
  }
  .top-recruit .top-num::before {
    width: 50px;
  }
  .top-recruit .top-txt {
    font-size: 18px;
    margin-top: 12px;
    line-height: 2;
  }
  .top-recruit .top-txt mark {
    padding: 8px;
  }
  .top-recruit .top-btn {
    max-width: 320px;
    font-size: 16px;
    padding: 14px 20px;
    margin-top: 32px;
  }
}
.top-ig {
  background-color: #fef2ec;
  padding: 30px 60px 40px;
  margin-top: 50px;
}
.top-ig .top-title span {
  font-size: calc(25em / 18);
  vertical-align: -5px;
}
.top-ig .ig-loop {
  display: grid;
  gap: 20px;
  margin-top: 15px;
}
.top-ig .ig-post-image {
  border-radius: 5px;
  overflow: hidden;
}
.top-ig .ig-post-image img {
  width: 100%;
}
.top-ig .ig-post-date {
  font-size: 14px;
  margin-top: 12px;
}
.top-ig .ig-post-txt {
  font-size: 16px;
  margin-top: 6px;
  line-height: 2;
}
@media screen and (min-width: 640px) {
  .top-ig .ig-loop {
    grid-template-columns: repeat(2, 1fr);
    gap: 35px;
  }
}
@media screen and (min-width: 960px) {
  .top-ig {
    padding: 65px 60px 80px;
    margin-top: 100px;
  }
  .top-ig .ig-loop {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 70px;
    margin-top: 35px;
  }
  .top-ig .ig-post-image {
    border-radius: 10px;
  }
  .top-ig .ig-post-date {
    margin-top: 25px;
  }
  .top-ig .ig-post-txt {
    margin-top: 10px;
  }
}
.top-office {
  background-color: #fcf6f1;
  padding: 52px 0 40px;
}
.top-office .top-row {
  display: grid;
  row-gap: 40px;
  padding: 0 20px;
}
.top-office .top-text {
  padding: 0 10px;
}
.top-office .top-addr {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: bold;
  margin-top: 24px;
  text-align: center;
}
.top-office .top-link {
  margin-top: 22px;
  text-align: center;
}
.top-office .top-link a {
  color: #61a68e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 26px;
  font-weight: bold;
}
@media (hover: hover) {
  .top-office .top-link a:hover {
    opacity: 1;
  }
}
.top-office .top-link a::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 40px;
  background-image: url(img/icon-map.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 15px;
  vertical-align: middle;
  transition: .4s;
}
.top-office .top-link a::after {
  content: '';
  display: inline-block;
  width: 38px;
  height: 38px;
  background-image: url(img/arrow-right-g.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 19px;
  border: 3px solid transparent;
  border-radius: 50%;
  margin-left: 4px;
  vertical-align: middle;
}
.top-office .top-map {
  text-align: center;
}
.top-office .top-box {
  background: linear-gradient(90deg, transparent 40px, #fff 40px) no-repeat center center/100%;
  border-radius: 30px;
  box-shadow: 0 0 0 5px #fcf6f1;
  padding: 45px 15px 50px 55px;
  position: relative;
  overflow: hidden;
}
.top-office .top-box + .top-box {
  margin-top: -15px;
}
.top-office .top-box:first-of-type {
  margin-top: 44px;
}
.top-office .top-box:not(:last-child),
.top-office .top-box:not(:last-child) .top-num {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}
.top-office .top-num {
  display: grid;
  justify-content: start;
  align-items: center;
  grid-auto-flow: column;
  column-gap: 10px;
  width: 40px;
  height: 100%;
  color: #fff;
  background-color: #ee9d45;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 8px;
  border-radius: 30px 0 0 30px;
  padding: 30px 0;
  letter-spacing: 0.4em;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.top-office .top-num.even {
  background-color: #5fa68e;
}
@media (hover: hover) {
  .top-office .top-num:hover {
    opacity: 1;
  }
}
.top-office .top-num span {
  display: inline-block;
  font-size: 13px;
  letter-spacing: 0.02em;
  order: -1;
  text-combine-upright: all;
}
.top-office .top-num::before {
  content: '';
  display: inline-block;
  width: 15px;
  height: 1.5px;
  background-color: #fff;
  border-radius: 0.75px;
}
.top-office .top-num::after {
  content: '';
  display: inline-block;
  width: 30px;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 9.5px;
  background-color: #fff;
  border: 1.5px solid #fff;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  bottom: 65px;
  transform: translateX(-50%);
  transition: .4s;
}
.top-office .top-box:last-child .top-num::after {
  bottom: 50px;
}
.top-office .top-num.odd::after {
  background-image: url(img/arrow-right-p.png);
}
.top-office .top-num.even::after {
  background-image: url(img/arrow-right-g.png);
}
@media (hover: hover) {
  .top-office .top-num:hover::after {
    background-image: url(img/arrow-right.png);
    background-color: transparent;
  }
}
.top-office .top-in + .top-in {
  margin-top: 40px;
}
.top-office .top-ttl {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
.top-office .top-ttl span {
  display: inline-block;
}
.top-office .top-image {
  border-radius: 5px;
  margin-top: 24px;
  overflow: hidden;
}
.top-office .top-image img {
  width: 100%;
}
.top-office .top-image + .top-image {
  margin-top: 10px;
}
.top-office .top-grid {
  display: grid;
  row-gap: 5px;
  margin: 30px -15px -45px;
}
.top-office .top-def {
  background-color: #e3f1b6;
  padding: 35px 30px 30px;
}
.top-office .top-def02 {
  padding-bottom: 55px;
}
.top-office .top-def dt {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 19px;
  font-weight: bold;
  text-align: center;
}
.top-office .top-def dt span {
  font-size: 0.8em;
}
.top-office .top-def dd {
  font-size: 18px;
  margin-top: 16px;
  line-height: 2;
}
@media screen and (min-width: 640px) {
  .top-office .top-row {
    padding: 0 50px;
  }
  .top-office .top-box {
    background-image: linear-gradient(90deg, transparent 50px, #fff 50px);
    padding: 45px 50px 50px 100px;
  }
  .top-office .top-num {
    width: 50px;
  }
  .top-office .top-grid {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 4px;
    margin: 30px -50px -45px;
  }
  .top-office .top-def dt {
    display: grid;
    align-items: center;
    min-height: 4.5em;
  }
}
@media screen and (min-width: 960px) {
  .top-office {
    padding: 75px 0 100px;
  }
  .top-office .top-title {
    font-size: 38px;
  }
  .top-office .top-row {
    align-items: center;
    grid-template-columns: 300px 1fr;
    column-gap: 50px;
    margin-top: 70px;
  }
  .top-office .top-text {
    padding: 0;
  }
  .top-office .top-text .top-txt {
    margin-top: 0;
  }
  .top-office .top-addr {
    margin-top: 20px;
    line-height: 2;
  }
  .top-office .top-link {
    margin-top: 25px;
  }
  @media (hover: hover) {
    .top-office .top-link a:hover::after {
      border-color: #61a68e;
    }
  }
  .top-office .top-box {
    background-image: linear-gradient(90deg, transparent 80px, #fff 80px);
    border-radius: 60px;
    box-shadow: 0 0 0 10px #fcf6f1;
    padding: 90px 50px 100px 130px;
  }
  .top-office .top-box + .top-box {
    margin-top: -30px;
  }
  .top-office .top-box:first-of-type {
    margin-top: 110px;
  }
  .top-office .top-num {
    column-gap: 20px;
    width: 80px;
    font-size: 16px;
    border-radius: 60px 0 0 60px;
    padding: 60px 0;
  }
  .top-office .top-num span {
    font-size: 26px;
  }
  .top-office .top-num::before {
    width: 30px;
    height: 3px;
    border-radius: 1.5px;
  }
  .top-office .top-num::after {
    width: 60px;
    bottom: 115px;
    background-size: 19px;
    border-width: 3px;
  }
  .top-office .top-box:last-child .top-num::after {
    bottom: 80px;
  }
  .top-office .top-in + .top-in {
    margin-top: 80px;
  }
  .top-office .top-ttl {
    font-size: 32px;
  }
  .top-office .top-image {
    border-radius: 10px;
    margin-top: 50px;
  }
  .top-office .top-grid {
    margin: 50px -50px -90px;
  }
  .top-office .top-def {
    padding: 75px 75px 90px;
  }
  .top-office .top-def dt {
    font-size: 24px;
  }
}
.top-event {
  padding-left: 15px;
  margin-top: 32px;
  overflow-x: hidden;
}
.top-event .top-row {
  display: grid;
  row-gap: 45px;
}
.top-event .top-head {
  padding: 0 40px;
}
.top-event .top-txt {
  margin-top: 16px;
}
.top-event .top-link {
  margin-top: 20px;
  text-align: center;
}
.top-event .top-link a {
  color: #5fa68e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 16px;
  font-weight: bold;
}
.top-event .top-link a::after {
  content: '';
  display: inline-block;
  width: 24px;
  aspect-ratio: 1;
  background-image: url(img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px;
  background-color: #5fa68e;
  border-radius: 50%;
  margin-left: 7px;
  vertical-align: -7px;
  transition: .4s;
}
@media (hover: hover) {
  .top-event .top-link a:hover {
    color: #fb834e;
    opacity: 1;
  }
  .top-event .top-link a:hover::after {
    background-color: #fb834e;
  }
}
.top-event .top-body {
  width: 100%;
  padding-bottom: 75px;
}
.top-event .top-box {
  display: grid;
  grid-template-rows: auto 1fr;
  row-gap: 25px;
  width: min(100%, 320px);
  background-color: #fff;
  border-radius: 30px;
  box-shadow: 4.821px 5.7455px 7.5px 0px rgba(0, 0, 0, 0.05);
  padding: 25px;
}
.top-event .top-image {
  border-radius: 5px;
  overflow: hidden;
}
.top-event .top-image img {
  width: 100%;
}
.top-event .top-text {
  display: grid;
  justify-content: center;
  align-items: center;
  grid-auto-flow: column;
  column-gap: 25px;
}
.top-event .top-ttl {
  display: grid;
  align-items: center;
  grid-auto-flow: column;
  column-gap: 8px;
  font-family: 'Shuei NijimiMGo B', sans-serif;
}
.top-event .top-ttl .en {
  font-size: 12px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.top-event .top-ttl .ja {
  font-size: 54px;
}
.top-event .top-list {
  font-size: 15px;
  line-height: 2;
}
.top-event .top-list::after {
  content: 'など';
  display: block;
  padding-left: 1em;
}
.top-event .top-list li {
  padding-left: 1em;
  position: relative;
}
.top-event .top-list li::before {
  content: '';
  display: block;
  width: 7.5px;
  aspect-ratio: 1;
  background-color: #29201b;
  border-radius: 50%;
  position: absolute;
  top: 11px;
  left: 0;
}
.top-event .top-navi {
  width: 60px;
  height: 60px;
  background-image: url(img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 25px;
  background-color: #fb834e;
  border: 3px solid #fb834e;
  border-radius: 50%;
  position: absolute;
  bottom: 0;
  cursor: pointer;
}
@media (hover: hover) {
  .top-event .top-navi:hover {
    background-image: url(img/arrow-right-o.png);
    background-color: transparent;
  }
}
.top-event .top-navi.prev {
  left: 0;
  transform: rotate(180deg);
}
.top-event .top-navi.next {
  left: 75px;
}
@media screen and (min-width: 960px) {
  .top-event {
    max-width: calc(50vw + 550px);
    padding-left: 50px;
    margin-top: 100px;
    margin-left: auto;
  }
  .top-event .top-row {
    align-items: center;
    grid-template-columns: 280px 1fr;
    column-gap: 60px;
  }
  .top-event .top-head {
    padding: 0 0 80px;
  }
  .top-event .top-title {
    font-size: 38px;
    text-align: left;
  }
  .top-event .top-txt {
    margin-top: 12px;
  }
  .top-event .top-link {
    margin-top: 24px;
  }
  .top-event .top-body {
    padding-bottom: 80px;
  }
  .top-event .top-box {
    row-gap: 40px;
    width: 480px;
    border-radius: 60px;
    box-shadow: 9.642px 11.491px 15px 0px rgba(0, 0, 0, 0.05);
    padding: 60px;
  }
  .top-event .top-image {
    border-radius: 10px;
  }
  .top-event .top-text {
    column-gap: 40px;
  }
  .top-event .top-ttl .en {
    font-size: 16px;
  }
  .top-event .top-ttl .ja {
    font-size: 72px;
  }
  .top-event .top-list {
    font-size: 18px;
  }
  .top-event .top-list li::before {
    width: 10px;
    top: 13px;
  }
  .top-event .top-navi.next {
    left: 90px;
  }
}

.page-thumb {
  height: 300px;
  position: relative;
}
.page-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-slug {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 8px;
  line-height: 1;
  letter-spacing: 0.4em;
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
.page-thumb .page-slug {
  color: #fff;
}
.breadcrumb {
  color: #ff9483;
  font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
  font-size: 12px;
  padding: 6px 0;
  text-align: right;
}
.breadcrumb span span {
  color: #544c47;
  font-family: 'TBUDGothic R', sans-serif;
  font-size: 10px;
}
.page-title {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 27px;
  font-weight: bold;
  margin-top: 32px;
  text-align: center;
  position: relative;
}
.cmn-title {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 27px;
  font-weight: bold;
  text-align: center;
}
.cmn-ttl {
  display: grid;
  justify-content: center;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 24px;
  font-weight: bold;
}
.cmn-ttl-bg {
  background-color: #e3f1b6;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 20px;
  font-weight: bold;
  border-radius: 9999px;
  padding: 10px 20px;
  margin-top: 40px;
  text-align: center;
}
.cmn-ttl-bg.cmn-ttl-bg-w {
  max-width: 300px;
  background-color: #fff;
  margin: 0 auto;
}
.cmn-box > .cmn-ttl-bg:first-child {
  margin-top: 0;
}
.cmn-title span,
.cmn-ttl span,
.cmn-ttl-bg span {
  display: inline-block;
}
.cmn-intro {
  max-width: 820px;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 19px;
  font-weight: bold;
  padding: 0 30px;
  margin: 20px auto 0;
  line-height: 2;
}
.cmn-txt, .cmn-list {
  font-size: 17px;
  margin-top: 22px;
  text-align: left;
  line-height: 2;
}
.cmn-txt:first-child {
  margin-top: 0;
}
.cmn-list {
  padding-left: 0;
}
.cmn-list li {
  list-style: none;
  padding-left: 1em;
  position: relative;
}
.cmn-list li::before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
}
.cmn-image {
  max-width: 720px;
  border-radius: 5px;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}
.cmn-image img {
  width: 100%;
}
@media screen and (min-width: 640px) {
  .cmn-intro {
    padding: 0 50px;
  }
}
@media screen and (min-width: 960px) {
  .page-thumb {
    height: 600px;
  }
  .page-slug {
    font-size: 16px;
    left: 20px;
  }
  .breadcrumb {
    max-width: 1240px;
    font-size: 14px;
    padding: 15px 0;
    margin: 0 auto;
  }
  .breadcrumb span span {
    font-size: 12px;
  }
  .page-title {
    font-size: 36px;
  }
  .cmn-title {
    font-size: 32px;
  }
  .cmn-ttl {
    display: block;
    font-size: 32px;
    text-align: center;
  }
  .cmn-ttl-bg {
    font-size: 28px;
    padding: 4px 28px;
    margin-top: 52px;
  }
  .cmn-intro {
    font-size: 24px;
    margin-top: 36px;
  }
  .cmn-txt, .cmn-list {
    font-size: 18px;
    margin-top: 30px;
  }
  .cmn-image {
    border-radius: 10px;
    margin-top: 50px;
  }
}
.cmn-box {
  background-color: #fff;
  border-radius: 30px;
  padding: 45px 20px 50px;
  margin-top: 40px;
}
.cmn-box-bg {
  background-color: #fcf6f1;
}
.cmn-box.has-num {
  background-color: #fcf6f1;
  padding: 35px;
  padding-left: 75px;
  margin-top: 30px;
  position: relative;
  overflow: hidden;
}
.cmn-box .cmn-box.has-num {
  margin-left: -20px;
  margin-right: -20px;
}
.cmn-box .cmn-box.has-num:last-child {
  margin-bottom: -50px;
}
.cmn-box + .cmn-box {
  margin-top: 20px;
}
.cmn-box-num {
  display: grid;
  justify-content: start;
  align-items: center;
  grid-auto-flow: column;
  column-gap: 10px;
  width: 40px;
  height: 100%;
  color: #fff;
  background-color: #ee9d45;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 8px;
  border-radius: 30px 0 0 30px;
  padding: 30px 0;
  letter-spacing: 0.4em;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.cmn-box-num.even {
  background-color: #5fa68e;
}
.cmn-box-num span {
  display: inline-block;
  font-size: 13px;
  letter-spacing: 0.02em;
  order: -1;
  text-combine-upright: all;
}
.cmn-box-num::before {
  content: '';
  display: inline-block;
  width: 15px;
  height: 1.5px;
  background-color: #fff;
  border-radius: 0.75px;
}
@media screen and (min-width: 640px) {
  .cmn-box {
    padding: 45px 50px 50px;
  }
  .cmn-box.has-num {
    padding: 35px 50px;
    padding-left: 100px;
  }
  .cmn-box .cmn-box.has-num {
    margin-left: -50px;
    margin-right: -50px;
  }
  .cmn-box-num {
    justify-content: center;
    width: 50px;
  }
}
@media screen and (min-width: 960px) {
  .cmn-box {
    border-radius: 60px;
    padding: 75px 50px 80px;
    margin-top: 65px;
  }
  .cmn-box.has-num {
    padding: 50px;
    padding-left: 130px;
    margin-top: 80px;
  }
  .cmn-box .cmn-box.has-num:last-child {
    margin-bottom: -80px;
  }
  .cmn-box + .cmn-box {
    margin-top: 50px;
  }
  .cmn-box-num {
    column-gap: 20px;
    width: 80px;
    font-size: 16px;
    border-radius: 60px 0 0 60px;
  }
  .cmn-box-num span {
    font-size: 26px;
  }
  .cmn-box-num::before {
    width: 30px;
    height: 3px;
    border-radius: 1.5px;
  }
}
.cmn-info {
  display: grid;
  row-gap: 5px;
  margin-top: 8px;
}
.cmn-info dt {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 18px;
  font-weight: bold;
  padding-top: 10px;
}
.cmn-info dd {
  font-size: 17px;
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 10px;
  line-height: 2;
}
.cmn-info dd:last-of-type {
  border-bottom: none;
}
@media screen and (min-width: 640px) {
  .cmn-info {
    align-items: center;
    grid-template-columns: 125px 1fr;
    row-gap: 0;
    margin-top: 20px;
  }
  .cmn-info dt {
    display: grid;
    align-items: center;
    height: 100%;
    border-bottom: 1px solid #e5e5e5;
    padding: 20px 0;
  }
  .cmn-info dt:last-of-type {
    border-bottom: none;
  }
  .cmn-info dd {
    padding: 20px 0;
  }
}
@media screen and (min-width: 960px) {
  .cmn-info dt {
    font-size: 24px;
  }
  .cmn-info dd {
    font-size: 18px;
  }
}
.cmn-btn {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr auto;
  column-gap: 10px;
  max-width: 245px;
  color: #fff;
  background-color: #fb834e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 14px;
  border-radius: 9999px;
  padding: 11px 20px;
  margin: 20px auto 0;
  text-align: center;
  line-height: 2;
}
@media (hover: hover) {
  .cmn-btn:hover {
    background-color: #5fa68e;
    opacity: 1;
  }
}
.cmn-btn::before,
.cmn-btn::after {
  content: '';
  width: 19px;
  aspect-ratio: 30 / 23;
}
.cmn-btn::after {
  background-image: url(img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.cmn-info + .cmn-btn {
  margin-top: 20px;
}
@media screen and (min-width: 960px) {
  .cmn-btn {
    max-width: 360px;
    font-size: 20px;
    padding: 10px 34px;
    margin-top: 50px;
  }
}
.cmn-gallery {
  display: grid;
  gap: 25px;
  margin: 30px 0;
}
.cmn-gallery:last-child {
  margin-bottom: 0;
}
.cmn-intro + .cmn-gallery {
  width: calc(100% - 60px);
  margin-left: auto;
  margin-right: auto;
}
.cmn-gallery .cmn-fig {
  border-radius: 5px;
  overflow: hidden;
}
.cmn-gallery .cmn-fig img {
  width: 100%;
}
.cmn-gallery .cmn-fig figcaption {
  color: #fff;
  background-color: #29201b;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 18px;
  font-weight: bold;
  padding: 4px;
  text-align: center;
}
@media screen and (min-width: 640px) {
  .cmn-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .cmn-intro + .cmn-gallery {
    width: calc(100% - 100px);
  }
  .cmn-gallery .cmn-fig {
    border-radius: 10px;
  }
}
@media screen and (min-width: 960px) {
  .cmn-gallery {
    gap: 50px;
    max-width: 970px;
    margin: 70px auto;
  }
  .cmn-title + .cmn-gallery {
    margin-top: 50px;
  }
  .cmn-gallery .cmn-fig figcaption {
    font-size: 24px;
    padding: 7px;
  }
}
.cmn-anchor {
  padding-top: 40px;
  margin-top: -40px;
}
@media screen and (min-width: 960px) {
  .cmn-anchor {
    padding-top: 50px;
    margin-top: -50px;
  }
}
.flower-home .cts-box {
  background-color: #e3f1b6;
  border-radius: 5px;
  padding: 30px 20px 10px;
  margin-top: 30px;
}
@media screen and (min-width: 640px) {
  .flower-home .cts-box {
    padding: 30px 60px 10px;
  }
}
@media screen and (min-width: 960px) {
  .flower-home .cts-box {
    border-radius: 10px;
    padding: 40px 60px 15px;
    margin-top: 50px;
  }
}
.ronchi .cts-text {
  max-width: 900px;
  background-color: #fcf6f1;
  border-radius: 30px;
  padding: 35px 25px;
  margin: 40px auto 50px;
}
.ronchi .cts-box {
  background-color: #e3f1b6;
  border-radius: 5px;
  padding: 30px 20px;
  margin-top: 30px;
}
.ronchi .cts-table {
  border-radius: 10px;
  margin-top: 30px;
  overflow: hidden;
}
.ronchi .cts-table th,
.ronchi .cts-table td {
  border: none;
  border-bottom: 1px solid;
}
.ronchi .cts-table th {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 19px;
  padding: 16px;
  text-align: center;
}
.ronchi .cts-table td {
  font-size: 16px;
  padding: 10px 16px;
}
.ronchi .cts-table th:nth-of-type(1),
.ronchi .cts-table td:nth-of-type(1) {
  background-color: #fff;
  border-bottom-color: #e5e5e5;
}
.ronchi .cts-table th:nth-of-type(2),
.ronchi .cts-table td:nth-of-type(2) {
  color: #fff;
  background-color: #5fa68e;
}
.ronchi .cts-table tr:last-of-type td {
  border-bottom: none;
}
@media screen and (min-width: 640px) {
  .ronchi .cts-text {
    padding: 35px 50px;
  }
  .ronchi .cts-box {
    padding: 30px 60px;
  }
}
@media screen and (min-width: 960px) {
  .ronchi .cts-text {
    border-radius: 60px;
    padding: 70px 50px;
    margin-top: 50px;
    margin-bottom: 80px;
  }
  .ronchi .cts-box {
    border-radius: 10px;
    padding: 40px 60px;
    margin-top: 50px;
  }
  .ronchi .cts-table {
    border-radius: 20px;
    margin-top: 40px;
  }
  .ronchi .cts-table th {
    font-size: 24px;
    padding: 24px;
  }
  .ronchi .cts-table td {
    font-size: 18px;
    padding: 15px 40px;
  }
}
.fumoto-ishimine .cts-box {
  background-image: linear-gradient(0deg, #5fa68e 0%, #5fa68e 100%);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100px;
  background-color: #e3f1b6;
  border-radius: 5px;
  padding: 30px 20px 0;
  margin-top: 30px;
  overflow: hidden;
}
.fumoto-ishimine .cts-box .cmn-info dt:last-of-type,
.fumoto-ishimine .cts-box .cmn-info dd:last-of-type {
  color: #fff;
}
.fumoto-ishimine .cts-box .cmn-info dt:last-of-type {
  font-size: 22px;
}
.fumoto-ishimine .cts-box .cmn-info dd:last-of-type {
  font-size: 19px;
}
@media screen and (min-width: 640px) {
  .fumoto-ishimine .cts-box {
    background-size: 100% 78px;
    padding: 30px 60px 0;
  }
}
@media screen and (min-width: 960px) {
  .fumoto-ishimine .cts-box {
    background-size: 100% 88px;
    border-radius: 10px;
    padding: 40px 60px 0;
    margin-top: 50px;
  }
  .fumoto-ishimine .cts-box .cmn-info dt:last-of-type {
    font-size: 28px;
    padding-left: 60px;
    margin-left: -60px;
  }
  .fumoto-ishimine .cts-box .cmn-info dd:last-of-type {
    font-size: 24px;
    padding-right: 60px;
    margin-right: -60px;
  }
}
.mizobe .cts-gallery {
  display: grid;
  row-gap: 20px;
  width: calc(100% - 30px);
  max-width: 970px;
  margin: 30px auto 50px;
}
.mizobe .cts-fig {
  border-radius: 5px;
  overflow: hidden;
}
.mizobe .cts-fig:nth-of-type(odd) {
  margin-left: auto;
}
.mizobe .cts-fig:nth-of-type(1) {
  width: calc(2080% / 23);
}
.mizobe .cts-fig:nth-of-type(2),
.mizobe .cts-fig:nth-of-type(3) {
  width: calc(1680% / 23);
}
.mizobe .cts-fig img {
  width: 100%;
}
.mizobe .cmn-box-bg {
  padding-top: 40px;
  margin-top: 30px;
  margin-bottom: -20px;
}
.mizobe .cmn-ttl-bg {
  max-width: 530px;
  margin-left: auto;
  margin-right: auto;
}
.mizobe .cts-flow {
  max-width: 770px;
  list-style: none;
  padding-left: 0;
  margin: 30px auto 0;
}
.mizobe .cts-flow li {
  padding-top: 18px;
  padding-left: 80px;
  text-align: center;
  position: relative;
}
.mizobe .cts-flow li::before {
  content: '';
  display: block;
  width: 8px;
  height: 100%;
  background-color: #ee9d45;
  position: absolute;
  top: 0;
  left: 35px;
  transform: translateX(-50%);
}
.mizobe .cts-flow li:last-of-type:before {
  content: none;
}
.mizobe .cts-flow .cts-time {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70px;
  aspect-ratio: 1;
  color: #fff;
  background-color: #ee9d45;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 16px;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
}
.mizobe .cts-flow li:nth-of-type(even)::before,
.mizobe .cts-flow li:nth-of-type(even) .cts-time {
  background-color: #5fa68e;
}
.mizobe .cts-flow .cmn-txt {
  margin-top: 0;
}
.mizobe .cts-flow .cts-img {
  width: 75px;
  margin-top: 10px;
}
.mizobe .cts-flow .cts-img02 {
  width: 43px;
}
.mizobe .cts-flow .cts-img04 {
  width: 37px;
}
.mizobe .cts-flow .cts-img06 {
  width: 84px;
}
.mizobe .cts-flow .cts-img07 {
  width: 42px;
}
.mizobe .cts-note {
  display: grid;
  justify-content: center;
  color: #fff;
  background-color: #ff9483;
  font-size: 17px;
  border-radius: 10px;
  padding: 15px 25px;
  margin-top: 48px;
  line-height: 2;
}
.mizobe .cts-scroll {
  max-width: 910px;
  margin: 30px auto 0;
  overflow-x: scroll;
}
.mizobe .cts-table {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border-top: 1px solid #e5e5e5;
}
.mizobe .cts-table th,
.mizobe .cts-table td {
  width: 190px;
  border-top: none;
  border-left: none;
  padding: 7px 10px;
  text-align: center;
}
.mizobe .cts-table th {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 20px;
  font-weight: bold;
}
.mizobe .cts-table td {
  font-size: 17px;
}
.mizobe .cts-table th:nth-child(odd),
.mizobe .cts-table td:nth-child(odd) {
  background-color: #fcf6f1;
}
.mizobe .cts-table th:nth-child(even),
.mizobe .cts-table td:nth-child(even) {
  background-color: #e3f1b6;
}
.mizobe .cts-table th:first-of-type {
  width: 120px;
  background-color: #fff;
  border-left: 1px solid #e5e5e5;
  position: sticky;
  left: 0;
}
@media screen and (min-width: 640px) {
  .mizobe .cts-gallery {
    width: calc(100% - 100px);
  }
}
@media screen and (min-width: 960px) {
  .mizobe .cts-gallery {
    grid-template-columns: 42fr 52fr;
    align-items: start;
    gap: 30px;
    margin-top: 65px;
    margin-bottom: 80px;
  }
  .mizobe .cts-fig {
    width: auto !important;
    border-radius: 10px;
  }
  .mizobe .cts-fig:nth-of-type(1) {
    grid-area: 1 / 2 / 3 / 3;
  }
  .mizobe .cts-fig:nth-of-type(2) {
    grid-area: 1 / 1 / 2 / 2;
    margin-top: 80px;
  }
  .mizobe .cts-fig:nth-of-type(3) {
    grid-area: 2 / 1 / 3 / 2;
  }
  .mizobe .cmn-box-bg {
    padding-top: 60px;
    margin-top: 50px;
    margin-bottom: -40px;
  }
  .mizobe .cts-flow {
    display: grid;
    row-gap: 20px;
    margin-top: 40px;
  }
  .mizobe .cts-flow li {
    display: grid;
    align-items: center;
    min-height: 100px;
    padding: 0;
    padding-left: 120px;
    padding-right: 190px;
  }
  .mizobe .cts-flow li::before {
    width: 10px;
    top: 50%;
    left: 50px;
  }
  .mizobe .cts-flow .cts-time {
    width: 100px;
    font-size: 24px;
    top: 50%;
    transform: translateY(-50%);
  }
  .mizobe .cts-flow .cts-img {
    width: 124px;
    margin-top: 0;
    position: absolute;
    right: 0;
  }
  .mizobe .cts-flow .cts-img01 {
    right: 60px;
  }
  .mizobe .cts-flow .cts-img02 {
    width: 72px;
    right: 15px;
  }
  .mizobe .cts-flow .cts-img03 {
    right: 80px;
  }
  .mizobe .cts-flow .cts-img04 {
    width: 62px;
    bottom: 0;
  }
  .mizobe .cts-flow .cts-img05 {
    width: 139px;
    right: 15px;
  }
  .mizobe .cts-flow .cts-img06 {
    width: 191px;
    top: 50%;
  }
  .mizobe .cts-flow .cts-img07 {
    width: 69px;
    top: 50%;
    right: 155px;
  }
  .mizobe .cts-flow .cts-img08 {
    right: 60px;
  }
  .mizobe .cts-note {
    font-size: 18px;
    border-radius: 20px;
    padding: 30px;
    margin-top: 60px;
  }
  .mizobe .cts-scroll {
    margin-top: 50px;
  }
  .mizobe .cts-table th,
  .mizobe .cts-table td {
    width: calc((100% - 135px) / 4);
  }
  .mizobe .cts-table th {
    font-family: 'Shuei NijimiMGo B', sans-serif;
    font-size: 24px;
    font-weight: bold;
  }
  .mizobe .cts-table td {
    font-size: 18px;
  }
  .mizobe .cts-table th:first-of-type {
    width: 135px;
  }
}
.event .cmn-box {
  padding-top: 60px;
  margin-top: 140px;
  position: relative;
}
.event .cts-title {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  column-gap: 10px;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -75%);
}
.event .cts-title .ja {
  font-size: 4.5em;
}
.event .cts-title .en {
  letter-spacing: 0.1em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.event .cts-title::after {
  content: '';
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  z-index: -1;
}
.event .cts-title.spring::after {
  width: 120px;
  aspect-ratio: 40 / 31;
  background-image: url(img/bg-event-spring.png);
  top: -50px;
  right: -80px;
}
.event .cts-title.summer::after {
  width: 125px;
  aspect-ratio: 250 / 249;
  background-image: url(img/bg-event-summer.png);
  top: -52.5px;
  left: -80px;
}
.event .cts-title.autumn::after {
  width: 119px;
  aspect-ratio: 119 / 128;
  background-image: url(img/bg-event-autumn.png);
  top: -30px;
  right: -82.5px;
}
.event .cts-title.winter::after {
  width: 103px;
  aspect-ratio: 103 / 130;
  background-image: url(img/bg-event-winter.png);
  top: -62.5px;
  left: -90px;
}
.event .cts-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 18px;
  font-weight: bold;
  list-style: none;
  padding-left: 0;
}
.event .cts-list::after {
  content: 'など';
}
.event .cts-list li {
  border: 1.5px solid;
  border-radius: 9999px;
  padding: 5px 25px;
  text-align: center;
}
.event .cts-ttl {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 22px;
  font-weight: bold;
  margin-top: 40px;
  text-align: center;
}
.event .cts-gallery {
  display: grid;
  gap: 20px;
  margin-top: 50px;
}
.event .cts-fig {
  border-radius: 5px;
  overflow: hidden;
}
.event .cts-fig img {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .event .cmn-box {
    padding-top: 100px;
    margin-top: 275px;
  }
  .event .cts-title {
    font-size: 32px;
    column-gap: 20px;
  }
  .event .cts-title.spring::after {
    width: 240px;
    top: -100px;
    right: -160px;
  }
  .event .cts-title.summer::after {
    width: 250px;
    top: -105px;
    left: -160px;
  }
  .event .cts-title.autumn::after {
    width: 238px;
    top: -60px;
    right: -165px;
  }
  .event .cts-title.winter::after {
    width: 206px;
    top: -125px;
    left: -180px;
  }
  .event .cts-list {
    gap: 20px;
    font-size: 24px;
  }
  .event .cts-list li {
    border-width: 3px;
    padding: 4px 45px;
  }
  .event .cts-ttl {
    font-size: 28px;
    margin-top: 54px;
  }
  .event .cts-gallery {
    grid-template-columns: repeat(2, 1fr);
    margin: 70px -10px 0;
  }
  .event .cts-gallery-grid .cts-fig:nth-of-type(1) {
    grid-area: 1 / 1 / 2 / 2;
  }
  .event .cts-gallery-grid .cts-fig:nth-of-type(2) {
    grid-area: 2 / 1 / 3 / 2;
  }
  .event .cts-gallery-grid .cts-fig:nth-of-type(3) {
    grid-area: 1 / 2 / 3 / 3;
  }
  .event .cts-fig {
    border-radius: 10px;
  }
}
.short-stay .cts-in {
  max-width: 780px;
  margin: 0 auto;
}
.short-stay .cts-head {
  display: flex;
  justify-content: end;
  flex-wrap: wrap;
  gap: 10px;
}
.short-stay .cts-date {
  width: 100%;
  color: #fff;
  background-color: #5fa68e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 17px;
  border-radius: 9999px;
  padding: 7px 10px;
  text-align: center;
}
.short-stay .calendar-btn {
  display: block;
  width: 40px;
  aspect-ratio: 1;
  background-image: url(img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 17px;
  background-color: #ee9d45;
  border-radius: 50%;
  cursor: pointer;
}
.short-stay .calendar-btn[aria-disabled="true"] {
  opacity: 0.5;
  cursor: auto;
}
.short-stay .calendar-btn-prev {
  transform: rotate(-180deg);
}
.short-stay .cts-calendar {
  display: grid;
  margin-top: 10px;
}
.short-stay .calendar {
  table-layout: fixed;
}
.short-stay .calendar-caption {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 19px;
  font-weight: bold;
  margin-bottom: 4px;
  text-align: left;
}
.short-stay .calendar th,
.short-stay .calendar td {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}
.short-stay .calendar th {
  background-color: #e3f1b6;
  font-size: 19px;
  padding: 10px 0;
}
.short-stay .calendar td {
  font-size: 16px;
  padding: 7px 0;
}
.short-stay .calendar th:nth-of-type(1),
.short-stay .calendar td:nth-of-type(1) {
  color: #fc5350;
}
.short-stay .calendar th:nth-of-type(7),
.short-stay .calendar td:nth-of-type(7) {
  color: #556ffd;
}
.short-stay .calendar td.today {
  background-color: #e3f1b6;
}
.short-stay .icon {
  display: inline-block;
  width: 22px;
  aspect-ratio: 1;
  position: relative;
}
.short-stay .calendar .icon {
  margin-top: 6px;
}
.short-stay .icon::before,
.short-stay .icon::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.short-stay .icon.circle::before {
  width: 100%;
  height: 100%;
  background-color: #f9cb64;
  border-radius: 50%;
}
.short-stay .icon.triangle::before {
  border-bottom: 22px solid #556ffd;
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
}
.short-stay .icon.cross::before,
.short-stay .icon.cross::after {
  width: 25px;
  height: 5px;
  background-color: #fc5350;
}
.short-stay .icon.cross::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.short-stay .icon.cross::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.short-stay .cts-list {
  display: grid;
  justify-content: center;
  row-gap: 10px;
  font-size: 17px;
  list-style: none;
  margin-top: 17px;
  padding-left: 0;
  line-height: calc(27 / 17);
}
.short-stay .cts-list li {
  display: grid;
  grid-template-columns: auto auto 1fr;
  column-gap: 4px;
}
.short-stay .cts-list li::before {
  content: '･･･';
  font-weight: bold;
}
.short-stay .cts-list .icon {
  margin-top: 2px;
  order: -1;
}
.short-stay .cts-note {
  color: #fff;
  background-color: #fc5350;
  font-size: 17px;
  border-radius: 5px;
  padding: 15px 25px;
  margin-top: 24px;
  line-height: 2;
}
.short-stay .cmn-ttl-bg {
  max-width: 530px;
  margin-left: auto;
  margin-right: auto;
}
.short-stay .cts-row {
  display: grid;
  justify-content: center;
  row-gap: 10px;
  margin-top: 24px;
}
.short-stay .cts-name {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 27px;
  text-align: center;
  line-height: calc(25 / 18);
}
.short-stay .cts-tel {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  column-gap: 5px;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 32px;
  line-height: 1.2;
}
.short-stay .cts-tel::before {
  content: '';
  display: inline-block;
  width: 45px;
  aspect-ratio: 1;
  background-image: url(img/icon-tel.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px;
  background-color: #fb834e;
  border-radius: 50%;
}
@media screen and (min-width: 960px) {
  .short-stay .cts-head {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr auto auto;
    column-gap: 14px;
  }
  .short-stay .cts-date {
    max-width: 530px;
    font-size: 28px;
    padding: 4px 40px;
  }
  .short-stay .calendar-btn {
    width: 46px;
    background-size: 19px;
  }
  .short-stay .cts-calendar {
    margin-top: 35px;
  }
  .short-stay .calendar-caption {
    font-size: 24px;
    margin-bottom: 12px;
  }
  .short-stay .calendar th {
    font-size: 24px;
    padding: 13px 0;
  }
  .short-stay .calendar td {
    font-size: 20px;
    padding: 9px 0;
  }
  .short-stay .icon {
    width: 28px;
  }
  .short-stay .calendar .icon {
    margin-top: 8px;
  }
  .short-stay .icon.triangle::before {
    border-bottom-width: 28px;
    border-left-width: 14px;
    border-right-width: 14px;
  }
  .short-stay .icon.cross::before,
  .short-stay .icon.cross::after {
    width: 32px;
    height: 6px;
  }
  .short-stay .cts-list {
    font-size: 18px;
    margin-top: 36px;
    line-height: 2;
  }
  .short-stay .cts-list .icon {
    margin-top: 4px;
  }
  .short-stay .cts-note {
    font-size: 18px;
    border-radius: 10px;
    padding: 30px 90px;
    margin-top: 36px;
  }
  .short-stay .cts-row {
    justify-content: space-between;
    align-items: center;
    grid-auto-flow: column;
    column-gap: 30px;
    margin-top: 50px;
  }
  .short-stay .cts-name {
    font-size: 36px;
  }
  .short-stay .cts-tel {
    column-gap: 8px;
    font-size: 42px;
  }
  .short-stay .cts-tel::before {
    width: 60px;
    background-size: 27px;
  }
}
.corporate .cts-message {
  max-width: 296px;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 18px;
  font-weight: bold;
  margin-top: 45px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.corporate .cts-message::before {
  content: '';
  display: inline-block;
  width: 131px;
  aspect-ratio: 131 / 87;
  background-image: url(img/bg-message2.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: -30px;
  right: -44px;
  z-index: -1;
}
.corporate .cts-message em {
  background: linear-gradient(90deg, #fdb77f 0%, #ff9483 100%);
  font-style: normal;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
.corporate .cts-def dt {
  color: #fb834e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 21px;
  font-weight: bold;
  margin-top: 50px;
  text-align: center;
}
.corporate .cts-def dd {
  font-size: 17px;
  margin-top: 20px;
  text-align: center;
}
.corporate .cts-def dd span {
  display: inline-block;
}
.corporate .cts-image {
  margin-top: 30px;
  text-align: center;
}
@media screen and (min-width: 640px) {
  .corporate .cts-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 960px) {
  .corporate .cts-message {
    max-width: 592px;
    font-size: 36px;
    margin-top: 60px;
  }
  .corporate .cts-message::before {
    width: 262px;
    top: -40px;
    right: -90px;
  }
  .corporate .cts-def {
    padding-top: 20px;
  }
  .corporate .cts-def dt {
    font-size: 28px;
    margin-top: 65px;
  }
  .corporate .cts-def dd {
    font-size: 20px;
    margin-top: 28px;
  }
  .corporate .cts-image {
    margin-top: 50px;
  }
}
.hospital .cts-box {
  background-color: #fcf6f1;
  border-radius: 30px;
  padding: 20px;
  margin: 32px 0 0;
}
.hospital .cmn-ttl-bg + .cmn-list {
  padding: 0 15px;
}
.hospital .cts-scroll {
  overflow-x: scroll;
}
.hospital .cts-cal {
  border-collapse: separate;
  border-spacing: 0;
}
.hospital .cts-cal th,
.hospital .cts-cal td {
  background-color: #fff;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 17px;
  font-weight: bold;
  border: none;
  border-bottom: 1px solid #e5e5e5;
  padding: 12px;
  text-align: center;
  white-space: nowrap;
}
.hospital .cts-cal th {
  font-size: 19px;
}
.hospital .cts-cal th.saturday,
.hospital .cts-cal td.pm {
  color: #556ffd;
}
.hospital .cts-cal th.sunday,
.hospital .cts-cal td.closed {
  color: #fc5350;
}
.hospital .cts-cal th:first-child {
  padding: 12px 20px 12px 0px;
  position: sticky;
  left: 0;
}
.hospital .cts-cal td.open::before {
  content: '';
  display: inline-block;
  width: 20px;
  aspect-ratio: 1;
  background-color: #f9cb64;
  border-radius: 50%;
  vertical-align: -0.25em;
}
.hospital .cts-note {
  margin-top: 20px;
}
@media screen and (min-width: 640px) {
  .hospital .cts-box {
    padding: 20px 50px;
  }
}
@media screen and (min-width: 960px) {
  .hospital .cts-box {
    border-radius: 60px;
    padding: 19px 50px;
    margin-top: 48px;
  }
  .hospital .cmn-ttl-bg {
    margin-top: 60px;
  }
  .hospital .cmn-ttl-bg + .cmn-list {
    padding: 0 25px;
  }
  .hospital .cts-cal th,
  .hospital .cts-cal td {
    width: 12.5%;
    padding: 23px 0;
  }
  .hospital .cts-cal td {
    font-size: 20px;
  }
  .hospital .cts-cal th,
  .hospital .cts-cal td.closed {
    font-size: 24px;
  }
  .hospital .cts-cal th:first-child {
    padding: 23px 0;
    padding-right: 23px;
  }
  .hospital .cts-cal td.open::before {
    width: 30px;
  }
}
.smf-form {
  margin-top: 40px;
}
.smf-form .smf-item {
  margin-top: 16px;
}
.smf-form .smf-item__col--label {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-weight: bold;
  padding-left: 60px;
  position: relative;
}
.smf-form .smf-item__col--label .smf-item__label {
  font-size: 18px;
}
.smf-form .smf-item__col--label .smf-item__description {
  width: 50px;
  color: #fff;
  background-color: #5fa68e;
  font-size: 16px;
  border-radius: 4px;
  padding: 4px;
  margin-top: 0;
  text-align: center;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.smf-item__col--controls {
  padding-left: 60px;
  margin-top: 3px;
}
.smf-form .smf-item__col--controls p {
  margin: 22px 0 10px;
}
.smf-form .smf-item__col--controls a {
  display: inline-block;
  color: #5fa68e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 18px;
  font-weight: bold;
  padding-left: 40px;
  text-indent: -40px;
}
.smf-form .smf-item__col--controls a::before {
  content: '';
  display: inline-block;
  width: 30px;
  aspect-ratio: 1;
  background-image: url(img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
  background-color: #5fa68e;
  border-radius: 50%;
  margin-right: 10px;
  vertical-align: -7px;
  transition: background-color .4s;
}
@media (hover: hover) {
  .smf-form .smf-item__col--controls a:hover {
    color: #f15350;
    opacity: 1;
  }
  .smf-form .smf-item__col--controls a:hover::before {
    background-color: #f15350;
  }
}
.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control,
.smf-form .smf-select-control__control {
  width: 100%;
  font-family: 'TBUDGothic R', sans-serif !important;
  font-size: 16px;
  border-color: #e5e5e5;
  border-radius: 10px;
  padding: 11px 20px;
  line-height: 2;
}
.smf-form ::placeholder {
  color: #999;
}
.smf-form .smf-select-control__control {
  padding-right: 40px;
}
.smf-form .smf-checkboxes-control {
  padding: 6px 0;
}
.smf-form .smf-radio-buttons-control__control .smf-label,
.smf-form .smf-checkboxes-control__control .smf-label {
  margin: 11px 0;
}
.smf-form .smf-radio-button-control__control,
.smf-form .smf-checkbox-control__control {
  width: 22px;
  height: 22px;
  accent-color: #fb834e;
  border: 3px solid #fb834e;
  border-radius: 2px;
  margin-top: 1px;
}
.smf-form .smf-radio-button-control__label,
.smf-form .smf-checkbox-control__label {
  font-size: 16px;
}
.smf-action {
  margin-top: 36px;
}
.smf-action .smf-button-control__control {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr auto;
  column-gap: 20px;
  max-width: 360px;
  width: 100%;
  min-height: 80px;
  color: #fff;
  background: #fb834e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 20px;
  font-weight: bold;
  border: none;
  border-radius: 9999px;
  padding: 15px 30px;
  margin: 0 auto;
  text-align: center;
  transition: background .4s;
}
@media (hover: hover) {
  .smf-action .smf-button-control__control:hover {
    background: #5fa68e;
    opacity: 1;
  }
}
.smf-action .smf-button-control__control::before,
.smf-action .smf-button-control__control::after {
  content: '';
  display: inline-block;
  width: 19px;
  aspect-ratio: 19 / 15;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.smf-action .smf-button-control__control::after {
  background-image: url(img/arrow-right.png);
}
.p-country-name, .smf-sending {
  display: none;
}
.grecaptcha-badge {
  visibility: hidden !important;
}
.reCAPTCHA {
  color: #999;
  background-color: #fcf6f1;
  font-size: 12px;
  padding: 1em 1.5em;
  margin-top: 50px;
}
.reCAPTCHA a {
  color: #428cff;
}
@media screen and (min-width: 960px) {
  .smf-form {
    margin-top: 48px;
  }
  .smf-form .smf-item__col--label {
    padding-left: 70px;
  }
  .smf-form .smf-item__col--label .smf-item__label {
    font-size: 24px;
  }
  .smf-form .smf-item__col--label .smf-item__description {
    width: 60px;
    font-size: 20px;
  }
  .smf-form .smf-item__col--controls {
    padding-left: 70px;
  }
  .smf-form .smf-text-control__control,
  .smf-form .smf-textarea-control__control,
  .smf-form .smf-select-control__control {
    font-size: 18px;
  }
  .smf-form .smf-radio-button-control__control,
  .smf-form .smf-checkbox-control__control {
    margin-top: 3px;
  }
  .smf-form .smf-radio-button-control__label,
  .smf-form .smf-checkbox-control__label {
    font-size: 18px;
  }
  .smf-action .smf-button-control__control {
    font-size: 28px;
  }
  .reCAPTCHA {
    margin-top: 80px;
  }
}
.recruit .cts-row {
  display: grid;
  row-gap: 20px;
  margin-top: 40px;
}
.recruit .cts-cap {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.recruit .cts-cap span {
  font-size: calc(5em / 6);
}
.recruit .cts-table {
  table-layout: fixed;
}
.recruit .cts-table td {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 18px;
  font-weight: bold;
  padding: 5px;
  text-align: center;
}
.recruit .cts-table td:nth-last-of-type(1) {
  color: #fc5350;
}
.recruit .cts-table td:nth-last-of-type(2) {
  color: #556ffd;
}
.recruit .cts-section {
  padding: 15px 20px 10px;
}
.recruit .cts-flow {
  display: grid;
  justify-content: center;
  row-gap: 24px;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 17px;
  font-weight: bold;
  list-style: none;
  padding-left: 0;
  margin-top: 40px;
  counter-reset: num 0;
}
.recruit .cts-flow li {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 10px;
  counter-increment: num;
}
.recruit .cts-flow li::before {
  content: counter(num);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  aspect-ratio: 1;
  color: #fff;
  background-color: #fb834e;
  border-radius: 50%;
  margin-top: -4px;
  letter-spacing: 0;
}
.recruit .cts-info {
  display: grid;
  justify-content: center;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 22px;
  font-weight: bold;
  margin-top: 25px;
  line-height: 2;
}
.recruit .cts-info + .cmn-txt {
  display: grid;justify-content: center;
}
.recruit .cts-txt {
  display: grid;
  justify-content: center;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 17px;
  font-weight: bold;
  margin-top: 26px;
  line-height: 2;
}
@media screen and (min-width: 640px) {
  .recruit .cts-row {
    justify-content: center;
    align-items: center;
    grid-template-columns: 170px 350px;
    column-gap: 20px;
  }
  .recruit .cts-section {
    padding: 15px 50px 10px;
  }
}
@media screen and (min-width: 960px) {
  .recruit dd.cmn-txt {
    text-align: center;
  }
  .recruit .cts-row {
    justify-content: space-between;
    grid-template-columns: 230px 380px;
    margin-top: 60px;
  }
  .recruit .cts-cap {
    font-size: 24px;
  }
  .recruit .cts-table td {
    font-size: 24px;
  }
  .recruit .cts-section {
    padding: 0 50px 5px;
  }
  .recruit .cts-flow {
    font-size: 21px;
    margin-top: 55px;
  }
  .recruit .cts-flow li::before {
    width: 40px;
  }
  .recruit .cts-info {
    font-size: 28px;
    margin-top: 35px;
  }
  .recruit .cts-info + .cmn-txt {
    text-align: center;
  }
  .recruit .cmn-info {
    grid-template-columns: 170px 1fr;
  }
  .recruit .cts-txt {
    font-size: 21px;
    margin-top: 38px;
  }
}
.disclosure section:first-child .cmn-ttl-bg {
  margin-top: 0;
}
.disclosure .cmn-list a {
  border-bottom: 1px solid;
  padding-bottom: 2px;
}
.contact .cts-section {
  margin-top: 40px;
}
.contact .cts-row {
  display: grid;
  justify-content: center;
  row-gap: 40px;
}
.contact .cts-row .cts-image {
  text-align: center;
}
.contact .cmn-info dt,
.contact .cmn-info dd {
  border-bottom: none;
}
.contact .cts-addr {
  font-style: normal;
}
.contact .cts-map {
  margin-top: 10px;
}
.contact .cts-map a {
  color: #61a68e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 26px;
  font-weight: bold;
}
@media (hover: hover) {
  .contact .cts-map a:hover {
    opacity: 1;
  }
}
.contact .cts-map a::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 40px;
  background-image: url(img/icon-map.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 15px;
  vertical-align: middle;
  transition: .4s;
}
.contact .cts-map a::after {
  content: '';
  display: inline-block;
  width: 38px;
  height: 38px;
  background-image: url(img/arrow-right-g.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 19px;
  border: 3px solid transparent;
  border-radius: 50%;
  margin-left: 4px;
  vertical-align: middle;
}
.contact .cts-name {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 22px;
  font-weight: bold;
  margin-top: 30px;
}
.contact .cts-txt {
  display: grid;
  justify-content: center;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 18px;
  font-weight: bold;
  margin-top: 30px;
}
.contact .cts-sec {
  padding: 0 20px;
  margin-top: 50px;
}
.contact .cts-in {
  max-width: 910px;
  margin-left: auto;
  margin-right: auto;
}
.contact .cts-grid {
  display: grid;
  row-gap: 20px;
  margin-top: 30px;
}
.contact .cts-btn {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr auto;
  column-gap: 20px;
  width: 100%;
  min-height: 80px;
  color: #fff;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 20px;
  font-weight: bold;
  border: none;
  border-radius: 9999px;
  padding: 15px 30px;
  margin: 0 auto;
  transition: background .4s;
}
.contact .cts-grid.column .cts-btn {
  background: #5fa68e;
  text-align: center;
}
.contact .cts-grid.row .cts-btn {
  background: #fb834e;
}
@media (hover: hover) {
  .contact .cts-btn:hover {
    opacity: 1;
  }
  .contact .cts-grid.column .cts-btn:hover {
    background: #fb834e;
  }
  .contact .cts-grid.row .cts-btn:hover {
    background: #5fa68e;
  }
}
.contact .cts-btn::before,
.contact .cts-btn::after {
  content: '';
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.contact .cts-grid.column .cts-btn::before,
.contact .cts-grid.column .cts-btn::after {
  width: 22.5px;
}
.contact .cts-grid.column .cts-btn::after {
  aspect-ratio: 30 / 23;
  background-image: url(img/arrow-right.png);
}
.contact .cts-grid.row .cts-btn::after {
  width: 30px;
}
.contact .cts-grid.row .cts-btn::after {
  aspect-ratio: 45 / 41;
  background-image: url(img/icon-download.png);
}
@media screen and (min-width: 960px) {
  .contact .cts-section {
    margin-top: 65px;
  }
  .contact .cts-row {
    align-items: center;
    grid-template-columns: 1fr 440px;
    column-gap: 40px;
  }
  .contact .cmn-info {
    margin-top: 0;
  }
  .contact .cmn-info dt,
  .contact .cmn-info dd {
    padding-bottom: 0;
  }
  .contact .cts-map {
    font-size: 26px;
    text-align: center;
  }
  @media (hover: hover) {
    .contact .cts-map a:hover::after {
      border-color: #61a68e;
    }
  }
  .contact .cts-name {
    font-size: 28px;
    margin-top: 40px;
  }
  .contact .cts-txt {
    font-size: 24px;
    margin-top: 44px;
  }
  .contact .cts-sec {
    padding: 0 50px;
    margin-top: 90px;
  }
  .contact .cts-grid {
    margin-top: 50px;
  }
  .contact .cts-grid.column {
    grid-auto-flow: column;
    column-gap: 80px;
  }
  .contact .cts-btn {
    min-height: 100px;
    font-size: 28px;
  }
  .contact .cts-grid.column .cts-btn::before,
  .contact .cts-grid.column .cts-btn::after {
    width: 30px;
  }
  .contact .cts-grid.row .cts-btn::before,
  .contact .cts-grid.row .cts-btn::after {
    width: 45px;
  }
}
.privacy .cts-list-num {
  list-style: none;
  padding-left: 0;
  counter-reset: num 0;
}
.privacy .cts-list-num > li {
  padding-left: 45px;
  margin-top: 35px;
  position: relative;
  counter-increment: num;
}
.privacy .cts-list-num > li::before {
  content: counter(num);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  aspect-ratio: 1;
  color: #fff;
  background-color: #fb834e;
  border-radius: 50%;
  margin-top: -4px;
  letter-spacing: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.privacy .cts-term {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 19px;
  font-weight: bold;
  margin-bottom: 20px;
}
.privacy .cts-term + .cmn-txt {
  margin-top: 0;
}
.privacy .cts-list,
.privacy .cts-list-sub {
  list-style: none;
  padding-left: 0;
  margin-top: 8px;
}
.privacy .cts-list {
  margin-top: 10px;
}
.privacy .cts-list-sub {
  margin-top: 5px;
}
.privacy .cts-list > li,
.privacy .cts-list-sub > li {
  padding-left: 1em;
  position: relative;
  line-height: 2;
}
.privacy .cts-list > li {
  font-size: 17px;
}
.privacy .cts-list-sub > li {
  font-size: 15px;
}
.privacy .cts-list > li::before {
  content: '';
  display: inline-block;
  width: 10px;
  aspect-ratio: 1;
  background-color: #fb834e;
  border-radius: 50%;
  margin-top: 13px;
  position: absolute;
  top: 0;
  left: 0;
}
.privacy .cts-list-sub > li::before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 960px) {
  .privacy .cts-list-num > li {
    padding-left: 50px;
    margin-top: 35px;
  }
  .privacy .cts-list > li {
    font-size: 18px;
  }
  .privacy .cts-list-sub > li {
    font-size: 16px;
  }
  .privacy .cts-list-num > li::before {
    width: 40px;
  }
  .privacy .cts-term {
    font-size: 21px;
    margin-bottom: 24px;
  }
}
.archive .cmn-box {
  border-radius: 20px;
  padding: 60px 20px 40px;
  position: relative;
}
.category-news .cmn-box::before {
  content: 'TOPICS';
  display: block;
  width: 120px;
  color: #fff;
  background-color: #5fa68e;
  font-family: 'じゅん 501', sans-serif;
  font-size: 12px;
  font-weight: bold;
  border-radius: 0 20px 0 20px;
  padding: 6px;
  text-align: center;
  letter-spacing: 0.2em;
  position: absolute;
  top: 0;
  right: 0;
}
.archive .cmn-loop {
  max-width: 740px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 640px) {
  .archive .cmn-box {
    padding: 60px 50px;
  }
}
@media screen and (min-width: 960px) {
  .archive .cmn-box {
    border-radius: 40px;
    padding: 80px 50px;
  }
  .category-news .cmn-box::before {
    width: 200px;
    font-size: 20px;
    border-radius: 0 40px 0 40px;
    padding: 10px;
  }
}
.single .page-date {
  width: 120px;
  color: #fff;
  background-color: #5fa68e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 12px;
  font-weight: bold;
  border-radius: 9999px;
  padding: 6px;
  margin: 0 auto;
  text-align: center;
}
.single .page-content h2 {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 27px;
  font-weight: bold;
  margin-top: 30px;
  text-align: center;
}
.single .page-content p {
  font-size: 17px;
  margin-top: 24px;
  line-height: 2;
}
.single .page-content .wp-block-image {
  border-radius: 5px;
  margin-top: 30px;
  overflow: hidden;
}
.single .page-content .wp-block-image img {
  width: 100%;
}
.single .page-link {
  margin-top: 40px;
  text-align: center;
}
.single .page-link a {
  color: #5fa68e;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 18px;
  font-weight: bold;
}
.single .page-link a::after {
  content: '';
  display: inline-block;
  width: 30px;
  aspect-ratio: 1;
  background-image: url(img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
  background-color: #5fa68e;
  border-radius: 50%;
  margin-left: 10px;
  vertical-align: -7px;
  transition: .4s;
}
@media (hover: hover) {
  .single .page-link a:hover {
    color: #fb834e;
    opacity: 1;
  }
  .single .page-link a:hover::after {
    background-color: #fb834e;
  }
}
@media screen and (min-width: 960px) {
  .single .page-date {
    width: 200px;
    font-size: 24px;
    padding: 7px;
  }
  .single .page-content h2 {
    font-size: 36px;
  }
  .single .page-content p {
    font-size: 18px;
    margin-top: 36px;
  }
  .single .page-content .wp-block-image {
    border-radius: 10px;
    margin-top: 40px;
  }
  .single .page-link {
    margin-top: 80px;
  }
}

.pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 720px;
  margin: 40px auto 0;
}
.pagination .item,
.pagination .nav {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  aspect-ratio: 1;
  color: #fff;
  background-color: #000;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 18px;
  border-radius: 50%;
}
.pagination .nav {
  background-image: url(img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 17px;
}
.pagination .prev {
  transform: rotate(-180deg);
}
.pagination .current {
  background-color: #5fa68e;
}
@media (hover: hover) {
  .pagination a:hover {
    background-color: #5fa68e;
    opacity: 1;
  }
}
@media screen and (min-width: 960px) {
  .pagination {
    margin-top: 80px;
  }
  .pagination .item,
  .pagination .nav {
    width: 46px;
  }
  .pagination .nav {
    font-size: 20px;
    background-size: 19px;
  }
}


.footer {
  margin-top: 80px;
}
.footer-contact {
  padding: 0 2vw;
}
.footer-contact .row {
  display: grid;
  row-gap: 30px;
  max-width: 480px;
  margin: 0 auto;
}
.footer-contact .btn {
  display: grid;
  justify-content: center;
  align-items: center;
  grid-auto-flow: column;
  column-gap: 10px;
  min-height: 90px;
  color: #fff;
  background-image: url(img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center right 30px;
  background-size: 22.5px;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 22.5px;
  font-weight: bold;
  border-radius: 9999px;
  padding: 20px 35px;
  padding-right: 55px;
  text-align: center;
}
.footer-contact .btn-tel {
  background-color: #f9cb64;
  font-size: 27px;
}
.footer-contact .btn-email {
  column-gap: 20px;
  background-color: #fb834e;
}
@media (hover: hover) {
  .footer-contact .btn:hover {
    background-color: #5fa68e;
    opacity: 1;
  }
}
.footer-contact .btn::before {
  content: '';
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.footer-contact .btn-tel::before {
  width: 24px;
  aspect-ratio: 15 / 19;
  background-image: url(img/icon-tel.png);
}
.footer-contact .btn-email::before {
  width: 31px;
  aspect-ratio: 42 / 31;
  background-image: url(img/icon-email.png);
}
.footer-txt {
  color: transparent;
  background: linear-gradient(90deg, #fb834e 0%, #f9cb64 100%);
  -webkit-background-clip: text;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 21px;
  font-weight: bold;
  margin-top: 35px;
  padding: 0 20px;
  text-align: center;
}
.footer-txt span {
  display: inline-block;
}
.footer-txt a {
  padding-bottom: 3px;
  transition: background-position 0s;
}
@media (hover: hover) {
  .footer-txt a:hover {
    background: linear-gradient(90deg, #fb834e 0%, #f9cb64 100%);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% 3px;
    opacity: 1;
  }
}
.footer-office {
  background-color: #fcf6f1;
  padding: 40px 20px;
  margin-top: 32px;
}
.footer-office .title {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 19px;
  font-weight: bold;
  text-align: center;
}
.footer-office .list-main {
  display: grid;
  justify-content: center;
  gap: 40px;
  margin-top: 18px;
}
.footer-office .list-main > li > a {
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 17px;
  font-weight: bold;
}
.footer-office .list-sub {
  display: grid;
  row-gap: 22px;
  margin-top: 22px;
}
.footer-office .list-sub > li {
  font-size: 15px;
  padding-left: 18px;
  position: relative;
}
.footer-office .list-sub > li::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background-color: #fb834e;
  border-radius: 50%;
  position: absolute;
  top: 6px;
  left: 0;
}
.footer-menu {
  padding: 35px 20px;
}
.footer-menu .list {
  display: grid;
  gap: 23px 46px;
}
.footer-menu .list li {
  display: grid;
  justify-content: start;
  grid-auto-flow: column;
  column-gap: 10px;
  font-family: 'Shuei NijimiMGo B', sans-serif;
  font-size: 19px;
  font-weight: bold;
}
.footer-menu .list li::before {
  content: '';
  display: block;
  width: 22px;
  height: 22px;
  background-image: url(img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px;
  background-color: #fb834e;
  border-radius: 50%;
  margin-top: 3px;
}
.footer-info {
  background-color: #fcf6f1;
  padding: 40px 20px 30px;
}
.footer-row {
  display: grid;
  row-gap: 30px;
  margin-top: 30px;
}
.footer-logo {
  max-width: 232px;
  margin: 0 auto;
  text-align: center;
}
.footer-address {
  display: grid;
  row-gap: 24px;
  font-size: 16px;
  text-align: center;
  line-height: 2;
}
.footer-sns {
  display: grid;
  justify-content: center;
  align-items: center;
  grid-auto-flow: column;
  column-gap: 20px;
}
.footer-copy {
  display: block;
  font-size: 10px;
  margin-top: 28px;
  text-align: center;
}
@media screen and (min-width: 640px) {
  .footer-txt {
    padding: 0 40px;
  }
  .footer-office {
    padding: 40px;
  }
  .footer-office .list-main {
    grid-template-columns: repeat(2, auto);
    gap: 50px 40px;
    margin: 40px auto 0;
  }
  .footer-menu .list {
    justify-content: center;
    grid-template-columns: repeat(2, auto);
  }
}
@media screen and (min-width: 960px) {
  .footer {
    margin-top: 120px;
  }
  .footer-contact .row {
    justify-content: center;
    align-items: center;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 40px;
    max-width: 1000px;
    margin: 0 auto;
  }
  .footer-contact .btn {
    min-height: 120px;
    background-position: center right 40px;
    background-size: 30px;
    font-size: 30px;
    padding: 30px 50px;
    padding-right: 70px;
  }
  .footer-contact .btn-tel {
    font-size: 36px;
  }
  .footer-contact .btn-tel::before {
    width: 32px;
  }
  .footer-contact .btn-email::before {
    width: 42px;
  }
  .footer-txt {
    font-size: 28px;
    margin-top: 75px;
  }
  .footer-office {
    padding: 54px 40px;
    margin-top: 72px;
  }
  .footer-office .title {
    font-size: 24px;
  }
  .footer-office .list-main {
    justify-content: space-between;
    grid-auto-flow: column;
    max-width: 1200px;
  }
  .footer-office .list-main > li > a {
    font-size: 20px;
  }
  .footer-office .list-sub {
    row-gap: 16px;
    padding-left: 18px;
  }
  .footer-office .list-sub > li {
    font-size: 16px;
  }
  .footer-office .list-sub > li::before {
    left: -18px;
  }
  .footer-menu {
    padding: 75px 40px;
  }
  .footer-menu .list {
    justify-content: space-between;
    grid-template-columns: repeat(4, auto);
    row-gap: 48px;
    max-width: 1200px;
    margin: 0 auto;
  }
  .footer-menu .list li {
    font-size: 24px;
  }
  .footer-menu .list li::before {
    width: 24px;
    height: 24px;
    background-size: 13px;
    margin-top: 6px;
  }
  .footer-info {
    padding: 60px 40px;
  }
  .footer-row {
    justify-content: center;
    align-items: center;
    grid-auto-flow: column;
    column-gap: 60px;
    max-width: 1000px;
    margin: 30px auto 0;
  }
  .footer-logo {
    max-width: none;
  }
  .footer-address {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 60px;
    font-size: 18px;
  }
  .footer-copy {
    font-size: 12px;
  }
}
