@import url('https://fonts.googleapis.com/css2?family=Jost:wght@100;200;300;400;500;600;700;800;900&display=swap');

.grobal_nav {
  display: none;
}

/* #contents_header {
  display: none;
} */

/* Header Block */
.site-contents__header {
  background-color: rgba(255, 255, 255, 0.65);
  padding: 20px 24px;
  transition: all 0.3s ease;
  position: fixed;
  width: 100%;
  height: 95px;
  top: 0;
  left: 0;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  backdrop-filter: blur(8px);
}

.site-contents__header.scrolled {
  background-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.site-logo {
  max-width: 600px;
}

.site-logo a {
  text-decoration: none;
  color: #444444;
  display: block;
}

.hamburger {
  position: relative;
  width: 30px;
  height: 24px;
  cursor: pointer;
  z-index: 100;
  border: none;
  background: none;
  margin-right: 5px;
}

.hamburger span {
  position: absolute;
  left: 0;
  width: 120%;
  height: 2px;
  background-color: #E88830;
  transition: all 0.4s;
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  top: 11px;
}

.hamburger span:nth-child(3) {
  bottom: 0;
}

.hamburger.active span:nth-child(1) {
  transform: translateY(11px) rotate(-45deg);
  background-color: #fff;
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
  background-color: #fff;
}

.hamburger.active span:nth-child(3) {
  transform: translateY(-11px) rotate(45deg);
  background-color: #fff;
}

.menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #F0B058;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  transform: translateX(100%);
  transition: transform 0.4s;
  padding-top: 80px;
}

.menu .title {
  font-family: 'Jost';
  font-weight: 400;
  font-size: 32px;
  line-height: 32px;
  letter-spacing: 8%;
  text-align: center;
  margin-bottom: 20px;
}
.menu-border {
  width: 320px;
  border: 1px solid #ffffff;
  margin-bottom: 50px;
}

.menu.active {
  transform: translateX(0);
}

.menu ul {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  list-style: none;
  width: 100%;
  gap: 35px;
}

.menu li {
  margin: 0;
  opacity: 0;
  transform: translateX(20px);
  transition: all 0.4s;
  text-align: left;
}

.menu.active li {
  opacity: 1;
  transform: translateX(0);
}

.menu.active {
  margin-top: 0;
}

.menu ul a {
  color: #fff;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: Noto Serif JP;
  font-weight: 400;
  font-size: 18px;
  line-height: 18px;
  letter-spacing: 8%;
  text-align: right;  
  gap: 30px;
}

.menu a span {
  display: block;
  font-size: 18px;
}

.close-button {
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 30px;
  height: 30px;
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
}

.close-button::before,
.close-button::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #fff;
  top: 50%;
  left: 0;
}

.close-button::before {
  transform: rotate(45deg);
}

.close-button::after {
  transform: rotate(-45deg);
}

.menu-contact {
  position: absolute;
  top: 500px;
  bottom: 10px;
  left: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding-bottom: 40px;
}

.menu-phone {
  font-family: 'Jost', sans-serif;
  background: #fff;
  color: #E88830;
  text-decoration: none;
  padding: 1rem 2rem;
  border-radius: 50px;
  width: 100%;
  max-width: 272px;
  height: 72px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 24px;
}

.menu_contact-button-icon-phone {
  width: 18px;
  height: 26px;  
  margin-right: 5px;
}

.menu-contact-button {
  font-family: 'Jost', sans-serif;
  background: #fff;
  color: #E88830;
  text-decoration: none;
  padding: 1rem 2rem;
  border-radius: 50px;
  width: 100%;
  max-width: 272px;
  height: 72px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 24px;
}

.menu_contact-button-icon-contact {
  width: 33px;
  height: 29px;
  margin-right: 10px;
}

.site-contents_header__logo-desc {
  font-size: 15px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
  margin: 10px 3px 5px 0;
}

.site-contents_header__site-logo {
  font-size: 30px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 10px;
}

.site-contents_header__site-logo br {
  display: none;
}

.site-contents__nav {
  margin-left: auto;
}

.site-contents__nav ul {
  display: flex;
  list-style: none;
  align-items: center;
  gap: 40px;
}

.site-contents__nav a {
  text-decoration: none;
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: 0.08em;
  color: #E88830;
  transition: color 0.3s ease;
}

.site-contents__item a:hover {
  color: #F0C860;
}

.site-contents__button a:hover {
  color: #F0C860;
}

.site-contents__button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 260px;
  height: 75px;
  background-color: #E88830;
  border-radius: 50px;
  padding: 12px 40px;
  transition: all 0.3s ease;
}

.site-contents__button:hover {
  background-color: #F0C860;
  transform: translateY(-2px);
}

.site-contents__button.site-contents__item  {
  color: #ffffff;
  letter-spacing: 0.16em;
} 

/* Hero Block */
.hero {
  background-color: #F8F8E8;
  margin-bottom: 0;
  padding-bottom: 80px;
  position: relative;
}

.hero__container {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.hero__overlay {
  position: absolute;
  top: 50%;
  right: 16%;
  transform: translateY(-50%);
  color: white;
  display: flex;
  gap: 5px;
  background-color: #E88830;
  padding: 50px;
  opacity: 0.9;
}

.hero__text-block {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  font-size: 1.8rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  border-right: 2px solid #ffffff;
  padding-right: 10px;
  height: auto;
}

/* 「全身ケア」のテキストブロック */
.hero__text-block:nth-child(1) {
  height: 400px; /* 実際のコンテンツに合わせて調整 */
}

/* 「歯科医院が支える」のテキストブロック */
.hero__text-block:nth-child(2) {
  height: 450px; /* 実際のコンテンツに合わせて調整 */
}

.hero__number-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 450px;
}

.hero__number-text {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 64px;
  line-height: 64px;
  letter-spacing: -3px;
  margin-bottom: 15px;
}

.hero__large-text {
  margin-top: 5px;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 96px;
  line-height: 1;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.hero__small-text {
  margin-top: 5px;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 56px;
  line-height: 1.2;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
}

.hero__small-text-in {
  font-weight: 400;
  font-size: 40px;
  line-height: 1.5;
  letter-spacing: 0%;
}


/* About Block */
.about {
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  margin: 50px auto;
}

.about__title {
  font-weight: 300;
  font-size: 56px;
  line-height: 75.6px;
  letter-spacing: 8%;
}

.about__subtitle {
  font-weight: 300;
  font-size: 72px;
  line-height: 97.2px;
  letter-spacing: 8%;
}

.about__label {
  background-color: #E88830;
  color: #ffffff;
  font-family: 'Jost', sans-serif;
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 8%;
  padding: 6px 24px;
  display: inline-block;
  margin: 50px auto 70px auto; 
}

.about__image-left {
  width: 584px;
  height: 360px;
  margin-right: 40px;
}

.about__image-right {
  width: 584px;
  height: 360px;
  margin: 70px 0 0 40px;
}

/* Reason Block */
.reason {
  margin-top: 100px;
}

.reason__title {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  color: #905028;
}

.reason__content {
  max-width: 800px;
  margin: 50px auto 70px auto;
  background-color: #F8F8E8;
}

.reason__text {
  text-align: center;
  font-size: 18px;
  font-weight: 400;
  line-height: 36px;
  margin-bottom: 1.5rem;
}

.reason__text:nth-child(1) {
  margin-bottom: 0;
}

.reason__text:nth-child(3) {
  margin-bottom: 0;
}

/* FEATURES Block */
.features {
  margin-top: -85px;
}
.features__header {
  position: relative;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.features__header {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
  padding: 0;
}

.features__title,
.features__subtitle {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  text-align: center;
}

.features__title {
  font-family: 'Jost', sans-serif;
  top: 28%;
  font-weight: 300;
  font-size: 88px;
  line-height: 118.8px;
  letter-spacing: 8%;
  margin: 0;
}

.features__subtitle {
  top: 60%;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 43.2px;
  letter-spacing: 8%;
  margin: 0;
}

.features__content {
  margin: 0 auto;
}

.features__card {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 1fr;
}

/* 2番目のカードの画像を左側に配置 */
.features__card:nth-child(2) .features__card-text {
  font-family: 'Noto Sans JP', serif;
  background-color: white;
  max-width: 100%;
  margin: 0 100px 0 100px ;
  text-align: start;
  padding: 0 20px; 
  order: 2;
}

.features__card:nth-child(2) .features__card-image {
  order: 1;
}

.features__card-text {
  font-family: 'Noto Sans JP', serif;
  background-color: white;
  max-width: 100%;
  margin: 0 0 80px 200px ;
  text-align: left;
  padding: 0 20px; 
}

.features__card-text h3 {
  font-weight: 700;
  font-size: 32px;
  line-height: 43.2px;
  color: #1860A0;
  margin-bottom: 40px;
}

.features__card-text p {
  color: #333;
  font-weight: 400;
  font-size: 18px;
  line-height: 36px;
}

.features__card-image {
  width: 100%;
}

.features__card-image-top {
  margin: -50px 0 -83px 0;
  padding: 0;
}

.features__card-image-top {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;  /* インライン要素による余白を防ぐ */
}

.features__card-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* SERVICE Block */
.service {
  margin-top: -83.5px;
}

.service__header {
  position: relative;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.service__header {
  display: block;
  margin: 0;
  padding: 0;
}

.service__title,
.service__subtitle {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  text-align: center;
}

.service__title {
  font-family: 'Jost', sans-serif;
  top: 25%;
  font-weight: 300;
  font-size: 88px;
  line-height: 118.8px;
  letter-spacing: 8%;
  margin: 0 auto;
}

.service__subtitle {
  top: 60%;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 43.2px;
  letter-spacing: 8%;
  margin: 0;
}

.service__content {
  margin: 0 auto;
  padding: 4px 20px 0 20px;
}

.service__content-title.top {
  color: #905028;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin: 70px 0 50px;
}

.service__content-title {
  color: #905028;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin: 10px 0 50px;
}

.service__cards {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.service__card-image-container {
  position: relative;
  aspect-ratio: 1;
}

.service__card-image-container br {
  display: none;
}

.base-image {
  object-fit: cover;
}

.icon-image {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: contain;
}

.service__card-text {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 0 20px;
  font-size: 24px;
  font-weight: 700;
  line-height: 32.4px;
  text-align: center;
  white-space: normal;
}

.service__card-text.long-text {
  font-size: 24px;
  line-height: 1.3;
  width: 90%;
}

.long-text br {
  display: inline;
}

.service__card-text.single-line {
  font-size: 24px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  width: 90%;
}

/* CONTACT Block */
.contact-section-img {
  position: relative;
  width: 100%;
  max-width: 1920px;
  height: 100%;
  max-height: 944px;
  display: block;
  margin: 0 auto;
  padding: 0;
  line-height: 0;
  z-index: 1;
}

.contact-section-img img {
  max-width: 100%;
  border: 0;
  vertical-align: top;
}

.contact-section-img h2,
.contact-section-img p {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  text-align: center;
}

.contact-section-img h2 {
  font-family: 'Jost', sans-serif;
  top: 25%;
  left: 50%;
  font-weight: 300;
  font-size: 88px;
  line-height: 11.8px;
  letter-spacing: 8%;
  margin: 0;
}

.contact-section-img .top {
  top: 32%;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 43.2px;
  letter-spacing: 8%;
  margin: 0;
}

.contact-section-img .bottom1 {
  top: 40%;
  font-family: 'Noto Sans JP', serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 36px;
  margin: 0;
}

.contact-section-img .bottom2 {
  top: 44%;
  font-family: 'Noto Sans JP', serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 36px;
  margin: 0;
}

.contact-buttons-container {
  position: absolute;
  top: 58%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 100px;
  justify-content: center;
  width: 100%;
  padding: 0 20px;
}

.contact-button-item {
  display: flex;
  align-items: center;
  padding: 20px 40px;
  background-color: white;
  border-radius: 24px;
  gap: 15px;
  width: 576px;
  height: 168px;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0px 20px 0px -20px #278B46;
  position: relative;
}

.contact-button-item::after {
  content: '';
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: -27px;
  height: 27px;
  background-color: #D06028;
  border-radius: 0 0 24px 24px;  /* 下部の角のみを丸く */
  z-index: -1;
}

.contact-button-icon-phone {
  width: 30px;
  height: 50.05px;
  object-fit: contain;
}

.contact-button-icon-contact {
  width: 56px;
  height: 50.05px;
  margin-right: 20px;
  object-fit: contain;
}

.contact-button-text {
  color: #E88830;
  font-size: 34px;
  font-weight: 500;
}

.contact-button-text.phone {
  display: none;
}

/* RECRUIT */
.recruit-section {
  position: relative;
  background-color: #F8F8E8;
  padding-top: 150px;
  /* clip-pathの開始位置を調整 */
  clip-path: polygon(0 50px, 100% 0, 100% 100%, 0 100%);
  /* 上部のマージンを調整 */
  margin-top: -100px;
  /* 必要な高さを確保 */
  min-height: 1550px;
  z-index: 1;
}

.recruit-section .top {
  padding: 10px 20px;
  text-align: center;
}

.recruit-section .top h2 {
  margin: 0;
  color: #E88830;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 88px;
  line-height: 1.2;
  letter-spacing: 8%;
}

.recruit-section .top p {
  margin: 0;
  color: #444444;
  font-family: 'Noto Serif JP', sans-serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 8%;
}

.recruit-section .top .recruit-desc {
  margin: 55px 0 5px 0;
  color: #444444;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 36px;
  letter-spacing: 0%;
}

.recruit-section .top .recruit-desc br {
  display: none;
}

.recruit-card-container {
  margin: 0 auto;
  max-width: 1320px;
}

.recruit-card {
  background: white;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  margin: 50px auto 0 auto;
  padding: 0;
  border-radius: 0;
}

.card-content {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.card-content.bottom {
  padding-left: 100px;
}

.card-content.bottom.title.br {
  display: none;
}

.recruit-image-container-1 {
  width: 700px;
}

.recruit-image-container-2 {
  width: 700px;
}

.card-content .title {
  color: #E88830;
  font-size: 32px;
  font-weight: 700;
  line-height: 43.2px;
  margin-bottom: 24px;
  text-align: start;
}

.card-content .title br {
  display: none;
}

.card-content .title span {
  color: #E88830;
  font-size: 48px;
  font-weight: 700;
  margin-right: 0px;
}

.recruit-card .card-content .title .br {
  display: none;
}

.card-content .description {
  color: #666666;
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 40px;
}

.price-tag {
  background: #F8F8F8;
  padding: 30px;
  border-radius: 24px;
  width: 500px;
}

.price-tag .price {
  display: flex;
  align-items: center;
  font-family: 'Noto Sans JP';
  font-weight: 700;
  font-size: 32px;
  line-height: 43.2px;
  color: #333333;
  margin-bottom: 20px;
}

.price-tag .price span {
  font-family: 'Noto Sans JP';
  color: #fff;
  background-color: #1860A0;
  font-size: 18px;
  padding: 0 20px;
  margin-right: 20px;
}

.price .amount {
  display: flex;
  align-items: baseline;
}

.price .yen {
  font-family: 'Noto Sans JP';
  font-weight: 700;
  font-size: 22px;
  line-height: 29.7px;
  margin-left: 4px;
  background: none;
  color: #333333;
  padding: 0;
}

.price-tag .conditions {
  width: 456px;
  color: #666666;
  font-size: 16px;
}

.bonus {
  font-family: 'Noto Sans JP';
  font-weight: 700;
  font-size: 22px;
  line-height: 29.7px;
  letter-spacing: 0%;
  text-align: center;
  padding: 5px 15px;
  margin-right: 15px;
  border: 1px solid #1860A0;
  background-color: #ffffff;
  color: #1860A0;
}

.options {
  font-family: 'Noto Sans JP';
  font-weight: 700;
  font-size: 22px;
  line-height: 29.7px;
  letter-spacing: 0%;
  text-align: center;
  padding: 5px 15px;
  margin-right: 15px;
  border: 1px solid #1860A0;
  background-color: #ffffff;
  color: #1860A0;
}

.recruit-card-image {
  width: 680px;
  height: 456px;
  object-fit: cover;
  aspect-ratio: 16/9;
}

/* 1番目のカードと2番目のカードで画像とコンテンツの順序を変える */
.recruit-card:nth-child(odd) .card-content {
  order: 1;
}

/* カードの間隔 */
.recruit-card + .recruit-card {
  margin-top: 50px;
}

/* 福利厚生 */
.welfare-section {
  position: relative;
  background-color: #fff;
  padding-top: 150px; /* 斜めの部分の高さを確保 */
}

.welfare-section::before {
  content: '';
  position: absolute;
  top: -87px;
  left: 0;
  width: 100%;
  height: 100px;
  background-color: #F8F8E8;
  transform: skewY(3deg);
  transform-origin: left;
}

.welfare-title-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.welfare-title {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 56px;
  line-height: 75.6px;
  letter-spacing: 8%;
  color: #444444;
  text-align: center;
  margin: 40px 0px;
}

.benefits-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  justify-items: center;
  text-align: center;
}

.benefit-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 200px;
}

.benefit-icon {
  width: 290px;
  height: 290px;
  background: linear-gradient(135deg, #F0B058 50%, #F0C860 50%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
}

.benefit-icon-1 {
  width: 102.66px;
  height: 126px;
  border: 5px;
}

.benefit-icon-2 {
  width: 91.33px;
  height: 127.09px;
  border: 5px;
}

.benefit-icon-3 {
  width: 129.93px;
  height: 117.97px;
  border: 5px;
}

.benefit-icon-4 {
  width: 127.8px;
  height: 124.08px;
  border: 5px;
}

.benefit-icon-5 {
  width: 128.1px;
  height: 126.3px;
  border: 5px;
}

.benefit-icon-6 {
  width: 135.18px;
  height: 119.68px;
  border: 5px;
}

.benefit-text {
  font-weight: 700px;
  font-size: 24px;
  line-height: 32.4px;
  letter-spacing: 8%;
  align-items: center;
  color: #444444;
  margin-top: 10px;
}

.benefit {
  display: flex;
  justify-content: center;
  margin: 30px auto 50px auto;
}

.benefit-title {
  background-color: #E88830;
  color: white;         
  font-family: 'Jost', sans-serif;
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 8%;
  padding: 6px 24px;   
}

.present {
  display: flex;
  justify-content: center;
  margin: 0 auto 50px auto;
}

.present img {
  width: 1024px;
  height: 364.8px;
  margin: 70px auto 50px auto;
}

/* REQUIREMENTS */
.requirements-section {
  background-color: #F8F8E8;
  position: relative;
}

.requirements-section::before {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 100px;
  background-color: #FFFFFF;
  transform-origin: right;
}

.requirements-section-img {
  position: relative;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.requirements-section-img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
  padding: 0;
}

.requirements-section-img h2,
.requirements-section-img p {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  text-align: center;
}

.requirements-section-img h2 {
  font-family: 'Jost', sans-serif;
  top: 45%;
  font-weight: 300;
  font-size: 88px;
  line-height: 11.8px;
  letter-spacing: 8%;
  margin: 0;
}

.requirements-section-img p {
  top: 60%;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 43.2px;
  letter-spacing: 8%;
  margin: 0;
}

.requirements-contents {
  margin: 80px auto 50px auto;
  max-width: 1280px;
  max-height: 1704px;
}

.tabs {
  display: flex;
  align-items: end;
  margin-bottom: 5px;
  gap: 10px;
}

.tab {
  width: 314px;
  height: 112px;
  background-color: #CCCCCC;
  /* ポリゴンを使って斜めの角を作成 */
  clip-path: polygon(
      40px 0,    /* 左上の開始点 */
      100% 0,    /* 右上 */
      100% 100%, /* 右下 */
      0 100%,    /* 左下 */
      0 40px     /* 左上の終点 */
  );
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  font-size: 32px;
  line-height: 43.2px;
  letter-spacing: 8%;
  color: #666666;
}

.tab.active {
  width: 314px;
  height: 136px;
  background-color: #E88830;
  /* ポリゴンを使って斜めの角を作成 */
  clip-path: polygon(
      40px 0,    /* 左上の開始点 */
      100% 0,    /* 右上 */
      100% 100%, /* 右下 */
      0 100%,    /* 左下 */
      0 40px     /* 左上の終点 */
  );
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  font-size: 32px;
  line-height: 43.2px;
  letter-spacing: 8%;
  color: #ffffff;
}

.tab.mobile {
  display: none;
}

.requirements-info-details.active {
  display: block;
}

.requirements-info-details {
  display: none;
  max-width: 1280px;
  max-height: 1704px;
  margin: 0 auto;
  background-color: #ffffff;
  padding-bottom: 40px;
}

.requirements-info-details-title {
  text-align: center;
}

.requirements-info-details-title-p br {
  display: none;
}

.requirements-info-details-title h1 {
  color: #905028;
  font-weight: 700;
  font-size: 32px;
  line-height: 43.2px;
  letter-spacing: 8%;
  padding: 50px 0 30px 0;
}

.requirements-info-details-title p {
  font-weight: 400;
  font-size: 18px;
  line-height: 36px;
  color: #666;
}

.info-table {
  width: 100%;
  max-width: 1024px;
  margin: 50px auto;
  border-collapse: collapse;
}

.info-table th {
  background-color: #F3F3F3;
  border-top: #CCCCCC 1px solid;
  border-bottom: #CCCCCC 1px solid;
  width: 150px;
  padding: 15px;
  text-align: left;
  color: #1860A0;
  font-weight: normal;
  vertical-align: top;
}

.info-table td {
  padding: 15px;
  line-height: 1.6;
  background-color: #ffffff;
  border-top: #CCCCCC 1px solid;
  border-bottom: #CCCCCC 1px solid;
}

.entry-button-container {
  margin: 100px auto; /* Add margin below the entry button */
  position: relative; /* Add position relative */
  z-index: 1;
}
.entry-button-item {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #E88830;
  border-radius: 24px;
  width: 832px;
  height: 160px;
  cursor: pointer;
  position: relative;
  margin: 0 auto;
}

.entry-button-item button {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 84px;
  letter-spacing: 16px;
  background-color: #E88830;
  color: #ffffff;
  cursor: pointer;
  margin-left: 30px;
}

.entry-button-item button a {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 84px;
  letter-spacing: 16px;
  color: #ffffff;
  cursor: pointer;
}
.entry-button-item::after {
  content: '';
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: -27px;
  height: 27px;
  background-color: #CCCCCC;
  border-radius: 0 0 24px 24px;  /* 下部の角のみを丸く */
  z-index: -1;
}

/* ホバー時に背景色を変える */
.entry-button-item:hover {
  background-color: #F0C860; /* 例: 濃いオレンジ */
}

/* ホバー時にボタンの背景色と文字色を変える */
.entry-button-item:hover button {
  background-color: #F0C860;
  color: #fff;
}

/* INFORMATION */
.information-section {
  margin-top: 10px;
  position: relative;
  height: 1300px;
  background: #F0B058;
}

.information-section-img {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.information-section-img img {
  max-width: 100%;
  max-height: 1304px;
  display: block;
  object-fit: cover;
}

.information-section-img h2 {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  color: #FFFFFF;
  font-family: 'Jost', sans-serif;
  font-size: 88px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.08em;
  margin: 0;
}

.information-section-items .main-title-sp {
  display: none;
}

.information-section-items {
  display: flex;
  justify-content: space-between;
  max-width: 1800px;
  margin: 0 auto;
  gap: 100px;
  position: absolute;
  top: 45vh;
  left: 12%;
  right: 12%;
  width: auto;
}

.business-card {
  color: #ffffff;
  flex: 1;
}

.section-title {
  color: #ffffff;
  font-family: 'Noto Serif JP';
  font-weight: 400;
  font-size: 32px;
  line-height: 43.2px;
  letter-spacing: 8%;
  border-bottom: 1px solid white;
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
}

.section-title-sitemap {
  color: #ffffff;
  font-family: 'Noto Serif JP';
  font-weight: 400;
  font-size: 32px;
  line-height: 43.2px;
  letter-spacing: 8%;
  border-bottom: 1px solid white;
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
  text-align: end;
}

.organization {
  font-family: 'Noto Sans JP';
  font-weight: 400;
  font-size: 24px;
  line-height: 24px;
  margin: 30px auto 10px auto;
}

.main-title {
  font-family: 'Hiragino Maru Gothic Std';
  font-weight: 400;
  font-size: 33px;
  line-height: 48px;
  margin-bottom: 25px;
}

.address {
  font-weight: 400;
  font-size: 18px;
  line-height: 18px;
  margin-bottom: 20px;
}

.opening-hours-and-holiday {
  width: 450px;
  display: flex;
  justify-content: space-between;
  align-items: start;
  margin-top: 30px;
}

.opening-hours-and-holiday span {
  border: 1px solid #fff;
  padding: 10px;
}

.opening-hours {
  font-weight: 400;
  font-size: 18px;
  line-height: 18px;
  margin-bottom: 0.5rem;
  margin-bottom: 20px;
}

.opening-hours br {
  display: none;
}

.holiday {
  font-weight: 400;
  font-size: 18px;
  line-height: 18px;
  margin-bottom: 0.5rem;
}

.info-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: Arial, sans-serif;
}

.info-phone-number {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 46px;
  line-height: 92px;
  letter-spacing: 4%;
  color: #fff;
}

.info-phone-icon {
  margin-top: 5px;
  width: 29.21px;
  height: 40px;
  background-image: url("../img/visiting-nursing-images/phone.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

.business-card .sitemap {
  width: 100%;
  max-width: 1200px;
  display: flex;
  justify-content: end;
}

.sitemap ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: end;
  margin-top: 30px;
}

.sitemap ul li {
  margin-bottom: 25px;
}

.sitemap ul li a {
  font-family: 'Noto Serif JP';
  color: white;
  text-decoration: none;
  font-weight: 400;
  font-size: 22px;
  line-height: 22px;
  letter-spacing: 8%;
}

.sitemap ul li span {
  color: white;
  text-decoration: none;
  font-weight: 400;
  font-size: 20px;
  line-height: 20px;
  letter-spacing: 8%;
  margin-left: 20px;
}

.footer {
  position: absolute;
  top: 95%;
  width: 100%;
  height: 324px;
  margin: 0;
  padding: 0;
}

.footer iframe {
  width: 100%;
  height: 100%;
}

/* .footer img {
  width:  100%;
  height: 100%;
  display: block;
  margin: 0;
  padding: 0;
} */

.footer .copyright {
  color: #ffffff;
  text-align: center;
  margin: 60px auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

footer {
  display: none;
}

.abr {
  display: inline-block;
} 

.pagetop_btn_irodori {
  position: fixed;
  bottom: 50px;
  right: 30px;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.pagetop_btn_irodori.visible {
  opacity: 1;
  pointer-events: auto;
}

.pagetop_btn_irodori a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  background-color: #E88830;
  border-radius: 50%;
  text-decoration: none;
  transition: opacity 0.3s;
}


.pagetop_btn_irodori a::before {
  content: '';
  width: 20px;
  height: 20px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translateY(25%) rotate(-45deg);
}

.pagetop_btn_irodori a:hover {
  opacity: 0.8;
}

@media (min-width: 1195px) {
  .hamburger,
  .menu {
      display: none;
  }
}

/* Media Query Mobile */
@media screen and (max-width: 768px) {
  html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
  }

  /* ヘッダー */
  .site-contents___header {
    background-color: #ffffff;
    position: fixed;
    padding: 10px 20px; /* 上下のパディングを追加 */
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* スクロール時の視認性向上のための影を追加 */
  }

  .site-contents_header__logo-desc {
    /* font-family: 'Hiragino Maru Gothic Std';
    font-weight: 400;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0%; */
    display: none;
  }

  .site-contents_header__site-logo {
    font-family: 'M PLUS Rounded 1c';
    font-weight: 400;
    font-size: 23px;
    line-height: 26px;
    letter-spacing: 0%;
    margin-bottom: 0;
  }

  .site-contents_header__site-logo br {
    display: inline;
  }

  .site-contents__nav {
    display: none; /* 通常のナビゲーションを非表示 */
  }

  .nav {
    display: block; /* ハンバーガーメニューを表示 */
  }

  /* ハンバーガーボタンのスタイル */
  .hamburger {
    display: block;
    background: none;
    border: none;
    cursor: pointer;
  }

  .header_contact-nav > ul {
    display: none;
  }

  /* トップ */
  .hero {
    margin-top: 70px; /* モバイル時のヘッダーの高さに合わせて調整 */
  }

  .hero__container {
    width: 100%;
    height: auto;
    padding-bottom: 24px;
  }

  .hero__image-pc {
    width: 100%;
    content: url('../img/visiting-nursing-images/mv-sp.png');
  }

  .hero__overlay {
    right: -20%;
    top: 43%;
    transform: translateY(-15%) scale(1);
    display: flex;
    align-items: flex-start;
    width: 300px;
    height: 300px;
    border-radius: 50%;
  }
  
  .hero__number-block {
    margin-top: -35px;
    margin-right: 100px;
    display: flex;         
    flex-direction: column;
    align-items: center;   
    width: auto;          
  }

  .hero__number-text {
    margin: 10px 10px 10px auto;
    font-weight: 400;
    font-size: 28px;
    line-height: 28px;
    text-align: center;
    width: 40px;
  }

  .hero__large-text {
    margin-top: 0px;
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    letter-spacing: 0%;
    padding-right: 0;
  }

  .hero__small-text {
    font-weight: 400;
    font-size: 28px;
    line-height:28px;
    letter-spacing: 0%;
    padding-right: 10px;
    margin-top: 0;
  }

  .hero__small-text-in {
    font-family: 'Noto Serif JP';
    font-weight: 400;
    font-size: 20px;
    line-height: 20px;
    letter-spacing: -8%;
  }

    /* 「全身ケア」のテキストブロック */
  .hero__text-block:nth-child(1) {
    margin-top: -12%;
    height: 180px; /* 実際のコンテンツに合わせて調整 */
  }

  /* 「歯科医院が支える」のテキストブロック */
  .hero__text-block:nth-child(2) {
    width: 40px;
    height: 220px; /* 実際のコンテンツに合わせて調整 */
    padding-right: 0;
    margin-top: -11%;
  }

  .hero__text-block:last-child {
    margin-right: 0;   /* 最後のブロックの右マージンを削除 */
    height: 200px;
  }

  /* About Block */

  .about {
    margin-top: 30px;
  }

  .about__title {
    font-weight: 300;
    font-size: 25px;
    line-height: 33.75px;
    letter-spacing: 8%;
    text-align: center;
  }

  .about__subtitle {
    font-weight: 300;
    font-size: 36px;
    line-height: 48.6px;
    letter-spacing: 8%;
    text-align: center;
  }

  .about__label {
    margin: 40px auto 50px auto;
    font-family: 'Jost';
    font-weight: 400;
    font-size: 22px;
    line-height: 29.7px;
    letter-spacing: 8%;
    text-align: center;
  }

  .about__image {
    margin-bottom: 0px;
  }

  .about__image-left {
    display: flex;
    width: 320px;
    height: 192px;
    content: url("../img/visiting-nursing-images/Mask group-2-sp.png");
  }

  .about__image-right {
    display: flex;
    width: 320px;
    height: 192px;
    margin-top: 30px;
    margin-left: auto;
    content: url("../img/visiting-nursing-images/Mask group-1-sp.png");
  }

  /* Reason Block */
  .reason {
    margin-top: 30px;
  }

  .reason__title {
    margin-bottom: 10px;
    font-weight: 700;
    font-size: 22px;
    line-height: 29.7px;
    letter-spacing: 0%;
    text-align: center;
  }

  .reason__content {
    margin: 20px auto 10px auto;
    padding: 15px 30px 30px 30px;
  }

  .pc-br br {
    display: none;
  }

  /* PCサイズの改行を削除 */
  .reason__text br {
    display: none;
  }

  .reason__text-br {
    display: block;
  }

  .reason__text {
    font-weight: 400;
    font-size: 15px;
    line-height: 30px;
    letter-spacing: 0%;
    text-align: center;
    white-space: normal;
  }
  
  /* FEATURES Block */
  .features {
    margin-top: -80px;
    padding: 0;
  }

  .features__header {
    position: relative;
    margin: 0;
    padding: 0;
    line-height: 0;
    width: 100%;
  }
  
  .features__image {
    width: 100%;
    height: 256px;
    content: url("../img/visiting-nursing-images/features-sp.png");
  }
  
  .features__title,
  .features__subtitle {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    text-align: center;
    width: 100%;
    margin: 0;
  }
  
  .features__title {
    top: 33%;
    font-family: 'Jost';
    font-weight: 300;
    font-size: 48px;
    line-height: 1.35;
    letter-spacing: 0.08em;
  }
  
  .features__subtitle {
    top: 58%;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.35;
    letter-spacing: 0.08em;
  }

  .features__content {
    margin: 0 auto;
  }

  .features__card {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
    gap: 0;
  }

  .features__card:nth-child(2) {
    direction: ltr;
  }

  .features__card:nth-child(2) .features__card-text {
    background-color: white;
    max-width: 100%;
    margin: 40px auto;
    text-align: start;
    padding: 0 20px;
    order: 2;
}

  .features__card-text {
    order: 2;
    padding: 0 16px;
    margin: 40px auto;
    text-align: start;
    background-color: transparent;
  }

  .features__card-text h3 {
    font-size: 24px;
    line-height: 1.4;
    margin-bottom: 15px;
  }

  .features__card-text p {
    width: 100%;
    max-width: 342px;
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
  }

  .features__card-text p br {
    display: none;
  }

  .features__card-image-top {
    order: 1;
    margin: -43px 0 0 0;
    width: 100%;
    content: url("../img/visiting-nursing-images/Mask group-10-sp.png");
  }

  .features__card-image-middle {
    content: url("../img/visiting-nursing-images/features02-sp.png");
  }

  .features__card-image-bottom {
    content: url("../img/visiting-nursing-images/features03-sp.png");
  }

  .features__card-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  /* SERVICE Block */
  .service {
    margin-top: 10px;
  }
  .service__header {
    position: relative;
    margin: 0;
    padding: 0;
    line-height: 0;
    width: 100%;
  }
  
  .service__header img {
    width: 100%;
    height: 256px;
    content: url("../img/visiting-nursing-images/features-sp.png");
  }

  .service__title,
  .service__subtitle {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    text-align: center;
    width: 100%;
    margin: 0;
  }
  
  .service__title {
    top: 32%;
    font-family: 'Jost';
    font-weight: 300;
    font-size: 48px;
    line-height: 1.35;
    letter-spacing: 0.08em;
  }
  
  .service__subtitle {
    top: 55%;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.35;
    letter-spacing: 0.08em;
  }

  .service__content {
    position: relative;
    padding: 0 30px 40px 30px;
  }

  .service__content-title {
    margin: 35px;
  }
  
  .service__card-text.single-line, .service__card-text.long-text {
    font-size: 18px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 90%;
  }

  .service__card-image-container {
    width: 320px;
    height: 180px;
  }

  .service__card-image-container .base-image {
    width: 320px;
    height: 184px;
    border-radius: 32px;
  }

  .long-text.service__card-text br {
    display: inline;
  }

  .service__card-image-container .icon-image {
    top: 70px;
    width: 88.84px;
    height: 74.98px;
  }

  .service__card-image-container p {
    display: block;
    top: 140px;
    font-weight: 700;
    font-size: 18px;
    line-height: 24.3px;
  }


  /* CONTACT Block */
  .contact-section {
    margin-top: 0;
    position: relative;
  }
  
  .contact-section-img {
    position: relative;
    width: 100%;
    height: auto;
  }
  
  .contact-section-img .contact-img {
    width: 100%;
    height: 632px;
    content: url("../img/visiting-nursing-images/contact-sp.png");
  }
  
  .contact-section-img h2 {
    position: absolute;
    top: 16%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 48px;
    line-height: 1.2;
    width: 100%;
    text-align: center;
    margin: 0;
  }
  
  .contact-section-img .top {
    position: absolute;
    top: 26%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 20px;
    line-height: 1.5;
    width: 100%;
    text-align: center;
    margin: 0;
  }
  
  .contact-section-img .bottom1 {
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 15px;
    line-height: 30px;
    width: 342px;
    text-align: center;
    margin: 0;
  }
  
  .contact-section-img .bottom2 {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 15px;
    line-height: 30px;
    width: 342px;
    text-align: center;
    margin: 0;
  }
  
  .contact-buttons-container {
    display: flex;
    gap: 24px;
    top: 55%;
    width: 100%;
    padding: 0 20px;
    left: 50%;
  }
  
  .contact-button-item {
    width: 160px;
    height: 136px;
    flex-direction: column;
  }

  .contact-button-item.phone {
    gap: 13px;
  }

  .contact-button-item.pc-smartphone {
    gap: 3px;
  }
  
  .contact-button-item.phone img {
    width: 29.21px;
    height: 40px;
  }

  .contact-button-item.pc-smartphone img {
    width: 56px;
    height: 50.05px;
  }

  .contact-button-icon-phone {
    margin: 0 auto 5px auto;
  }

  .contact-button-icon-contact {
    margin: auto;
  }

  .contact-button-text.phone-num {
    display: none;
  }

  .contact-button-text.phone {
    font-family: 'Noto Sans JP';
    font-weight: 500;
    font-size: 15px;
    line-height: 30px;
    letter-spacing: 0%;
    text-align: center;
    display: inline;
  }

  .contact-button-text.contact {
    font-family: 'Noto Sans JP';
    font-weight: 500;
    font-size: 15px;
    line-height: 30px;
    letter-spacing: 0%;
    text-align: center;
  }
  
  .contact-button-item::after {
    display: none;
  }

  /* RECRUIT */
  .recruit-section .top {
    margin-top: -70px;
    padding: 0 30px;
  }

  .recruit-section .top h2 {
    font-family: 'Jost';
    font-weight: 300;
    font-size: 48px;
    line-height: 64.8px;
    letter-spacing: 8%;
    text-align: center;
  }

  .recruit-section .top p {
    font-family: 'Noto Serif JP';
    font-weight: 400;
    font-size: 20px;
    line-height: 27px;
    letter-spacing: 8%;
    text-align: center;
  }

  .recruit-desc {
    font-family: 'Noto Sans JP';
    font-weight: 400;
    font-size: 17px;
    line-height: 34px;
    letter-spacing: 0%;
    text-align: center;
    margin-top: 15px;
  }

  .recruit-section .top .recruit-desc {
    margin-bottom: 50px;
  }

  .recruit-card-container {
    position: relative;  /* 画像の基準点とする */
    padding: 0px 30px;
  }

  .recruit-card {
    margin: 0 auto;
    width: 100%;
    display: flex;
    flex-direction: column-reverse; /* column-reverseを使うことでpictureを上に配置 */
    align-items: center; /* 中央揃え */
    gap: 20px; /* 要素間の間隔 */
  }

  .recruit-card:nth-child(odd) .card-content {
    order: unset; /* orderプロパティをリセット */
  }

  /* 両方の画像コンテナに共通のスタイルを適用 */
  .recruit-image-container-1,
  .recruit-image-container-2 {
    width: 100%;
  }

  .recruit-card-image {
    width: 100%;
    height: 224px;
    object-fit: cover;
  }

  .recruit-image-container-1 img {
    content: url("../img/visiting-nursing-images/recruit01-sp.png");
  }

  .recruit-image-container-2 img {
    content: url("../img/visiting-nursing-images/recruit02-sp.png");
  }

  .card-content {
    width: 100%;
    padding-bottom: 20px;
    margin: 0 auto;     /* 追加 */
    text-align: center; /* 追加 */
  }

  .card-content .title br {
    display: inline;
  }

  .card-content.bottom {
    width: 100%;
    padding: 0 0 20px 0;
    margin: 0 auto;     /* 追加 */
    text-align: center; /* 追加 */
    margin: 0 auto;
  }

  .card-content.bottom br {
    display: inline;
  }

  .card-content .title span {
    margin: 0;
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 32px;
    line-height: 48px;
    letter-spacing: 0%;
  }

  .recruit-card .card-content .title .br{
    display: block;
  } 

  .card-content .title {
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 24px;
    line-height: 36px;
    letter-spacing: 0%;
    margin-bottom: 0;
    padding: 0 0 0 30px;
  }
  .card-content .bottom .title {
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 24px;
    line-height: 36px;
    letter-spacing: 0%;
    margin-bottom: 0;
    padding: 0 0 0 30px;
  }

  .card-content p {
    font-family: 'Noto Sans JP';
    font-weight: 400;
    font-size: 15px;
    line-height: 30px;
    letter-spacing: 4%;    
  }

  .card-content .description {
    width: 288px;
    margin: 20px auto 20px auto;
    padding: 0 5px 0 0;
    text-align: start;   
  }

  .card-content .description br {
    display: none;
  }

  .price-tag {
    margin: 0 auto;
    width: 85%;
    height: 160px;
    border-radius: 24px;
  }

  .price-tag .price {
    margin-top: -10px;
    margin-bottom: 10px;
  }

  .price-tag .price span {
    font-family: 'Noto Sans JP';
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    line-height: 20.25px;
    padding: 5px 10px;
    margin-right: 20px;
  }
  
  .price .amount {
    display: flex;
    align-items: baseline;
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 24px;
    line-height: 32.4px;
    letter-spacing: 0%;
  }
  
  .price .yen {
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 18px;
    line-height: 24.3px;
    letter-spacing: 0%;
    margin-left: 4px;
    background: none;
    color: #333333;
    padding: 0;
  }
  
  .price-tag .conditions {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
  }

  .bonus, .options {
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 18px;
    line-height: 24.3px;
    letter-spacing: 0%;
    text-align: center;
    padding: 3px 10px;
    background-color: #ffffff;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 10px;
    width: fit-content;
  }
  
  /* 福利厚生 */
  .welfare-section {
    position: relative;
    background-color: #fff;
    padding-top: 0;
    margin: 50px auto;
  }

  .welfare-section::before {
    content: '';
    position: absolute;
    top: -170px;
    left: 0;
    width: 100%;
    height: 100px;
    background-color: #F8F8E8;
    transform: skewY(4deg);
    transform-origin: left;
  }

  /* タイトル */
  .welfare-title {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 54px;
    color: #444444;
    text-align: center;
    margin: 120px auto 0 auto;
  }

  /* BENEFITタイトル */
  .benefit {
    margin: 20px auto 40px;
  }

  .benefit-title {
    font-size: 24px;
    padding: 4px 16px;
  }

  .benefits-container {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* アイコングリッド */
  .benefits-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2列に変更 */
    gap: 25px;
    padding: 0 24px;
  }

  .benefit-item {
    max-width: 144px; /* アイテムの最大幅を制限 */
  }

  .benefit-icon {
    width: 144px;
    height: 144px;
    margin-bottom: 10px;
  }

  /* アイコンサイズの調整 */
  .benefit-icon-1,
  .benefit-icon-2,
  .benefit-icon-3,
  .benefit-icon-4,
  .benefit-icon-5,
  .benefit-icon-6 {
    width: 62px;
    height: 77px;
  }

  /* テキストサイズの調整 */
  .benefit-text {
    font-size: 18px;
    line-height: 24.3px;
    margin-top: 8px;
  }

  /* お祝い金バナー */
  .present {
    margin: 40px auto 10px auto;
    padding: 0 24px;
  }

  .present .present-img {
    width: 100%;
    height: auto;
    margin: 20px auto;
    content: url("../img/visiting-nursing-images/present-sp.png");
  }

  /* REQUIREMENTS */
  .requirements-section-img {
    position: relative;
    margin: 0;
    padding: 0;
    line-height: 0;
    width: 100%;
  }
  
  .requirements-section-img img {
    width: 100%;
    height: 256px;
    content: url("../img/visiting-nursing-images/features-sp.png");
  }

  .requirements-section-img h2,
  .requirements-section-img p {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    text-align: center;
    width: 500px;
    margin: 0;
  }
  
  .requirements-section-img h2 {
    top: 32%;
    font-family: 'Jost';
    font-weight: 300;
    font-size: 40px;
    line-height: 64.8px;
    letter-spacing: 3%;
  }
  
  .requirements-section-img p {
    top: 55%;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.35;
    letter-spacing: 0.08em;
  }

  .requirements-contents {
    width: 100%;
    max-width: 100%;
    margin: 30px auto;
    padding: 20px;
  }

  .tabs {
    width: 100%;
    max-width: 342px;
    margin: 5px auto;
  }

  .requirements-contents.tabs.tab.active {
    display: none;
  }

  .requirements-contents.tabs.tab {
    display: none;
  }

  .tab {
    display: none;  /* デフォルトですべてのタブを非表示 */
  }
  .tab.active {
    display: none;  /* デフォルトですべてのタブを非表示 */
  }

  .tab.active.mobile{
    width: 82px;
    height: 80px;
    font-weight: 700;
    font-size: 15px;
    line-height: 20.25px;
    letter-spacing: 8%;
    text-align: center;
    /* ポリゴンを使って斜めの角を作成 */
    clip-path: polygon(
      28px 0,    /* 左上の開始点 */
      100% 0,    /* 右上 */
      100% 100%, /* 右下 */
      0 100%,    /* 左下 */
      0 20.25px     /* 左上の終点 */
    );
  }

  .tab.mobile {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 64px;
    font-weight: 700;
    font-size: 15px;
    line-height: 20.25px;
    letter-spacing: 8%;
    text-align: center;
    clip-path: polygon(
      28px 0,    
      100% 0,    
      100% 100%, 
      0 100%,    
      0 20.25px  
    );
  }

  .requirements-info-details {
    width: 100%;
    max-width: 100%;
    padding: 20px 15px; /* 横パディングを0に */
  }

  .requirements-info-details-title {
    padding-top: 20px;
    padding-bottom: 10px;
  }

  .requirements-info-details-title br {
    display: initial;
  }

  .requirements-info-details-title h1 {
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 28px;
    line-height: 37.8px;
    letter-spacing: 8%;
    text-align: center;
    padding-top: 0;
    padding-bottom: 15px;
  }

  .requirements-info-details-title p {
    font-family: 'Noto Sans JP';
    font-weight: 400;
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0%;
    text-align: center;
  }
  
  /* テーブル全体の幅を調整 */
  .info-table {
    width: 320px;
    margin: 30px auto;
    padding: 0;
  }
  .info-table br {
    display: none;
  }

  /* テーブルセルの調整 */
  .info-table th,
  .info-table td {
    padding: 15px 10px;
    word-break: break-all; /* 長いテキストを折り返す */
  }

  .info-table th {
    width: 100px; /* 項目列の幅を固定 */
    min-width: 100px;
  }

  .entry-button-container {
    width: 100%;
    padding: 0 24px; 
    margin: 0 auto 0 auto;
    position: relative;
    z-index: 1;
  }
  
  .entry-button-item {
    width: 100%; /* コンテナいっぱいに広げる */
    max-width: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px;
    width: 296px;
    height: 112px;
    cursor: pointer;
    position: relative;
    margin: 0 auto;
  }
  
  .entry-button-item button {
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    font-size: 36px;
    line-height: 54px;
    letter-spacing: 16px;
    color: #ffffff;
    cursor: pointer;
  }

  .entry-button-item button a {
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    font-size: 36px;
    line-height: 84px;
    letter-spacing: 16px;
    color: #ffffff;
    cursor: pointer;
  }

  .entry-button-item::after {
    content: '';
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: -20px;
    height: 27px;
    background-color: #CCCCCC;
    border-radius: 0 0 24px 24px;  /* 下部の角のみを丸く */
    z-index: -1;
  }

  /* INFORMATION */

  .information-section {
    margin-top: 80px;
    position: relative;
    height: 500px;
  }
  
  .information-section-img {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 1;
  }
  
  .information-section-img .info-img {
    width: 100%;
    height: 900px;
    margin: auto;
    content: url("../img/visiting-nursing-images/infomation-sp.png");
    display: block;
  }
  
  .opening-hours-and-holiday {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 30px;
  }

  .information-section-img h2 {
    position: absolute;
    top: 13%;
    left: 50%;
    transform: translateX(-50%);
    color: #FFFFFF;
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    font-size: 43px;
    line-height: 64.8px;
    letter-spacing: 8%;
    margin: 0;
    width: 500px;
    text-align: center;
  }

  .information-section-items {
    position: absolute;
    top: 25%;
  }

  .information-section-items .section-title {
    font-weight: 400;
    font-size: 20px;
    line-height: 27px;
    letter-spacing: 8%;
    text-align: center;
  }

  .information-section-items .organization {
    font-weight: 400;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0%;    
  }

  .information-section-items .main-title {
    display: none; 
  }

  .information-section-items .main-title-sp {
    display: block; 
    font-weight: 400;
    font-size: 21px;
    line-height: 28px;
    letter-spacing: 0%;  
  }

  .information-section-items .address {
    font-weight: 400;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0%;
    margin-top: 15px;
  }
  .information-section-items .opening-hours {
    font-weight: 400;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0%;
  }
  .information-section-items .holiday {
    font-weight: 400;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0%;
  }

  .business-card {
    text-align: center;
  }

  .business-card p {
    padding-bottom: 15px;
  }

  #sitemap {
    display: none;
  }

  .opening-hours-and-holiday {
    width: 300px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 30px auto 0 auto;
  }

  .info-phone {
    width: 288px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 30px auto;
    gap: 10px;
    padding: 0 10px;
    background-color: #ffffff;
    border-radius: 48px;
  }


  .info-phone:hover {
    color: #fff;
    background-color: #F0C860;
  }

  .info-phone-icon {
    width: 19.21px;
    height: 26.31px;
    background-image: url("../img/visiting-nursing-images/phone-sp.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }

  .info-phone-number {
    font-family: 'Jost';
    font-weight: 400;
    font-size: 30px;
    line-height: 60px;
    letter-spacing: 4%;
    text-align: center;
    color: #E88830;
  }

  .footer {
    width: 100%;
    max-width: 342px;
    height: 192px;
    margin-top: 20px;
  }

  /* .footer img {
    width: 100%;
    max-width: 342px;
    height: 192px;
    margin: 0;
  } */

  .footer iframe {
    width: 100%;
    max-width: 500px;
    height: 100%;
  }

  .footer .copyright {
    margin: 20px auto;
    position: absolute;
    color: #ffffff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }

  /* トップに戻るボタン */
  .pagetop_btn_irodori {
    bottom: 100px;
    right: 15px;
  }
  
  .pagetop_btn_irodori a {
    width: 60px;
    height: 60px;
  }
  
  .pagetop_btn_irodori a::before {
    width: 10px;
    height: 10px;
  }

  .abr {
    display: inline-block;
  }
}

@media screen and (min-width: 820px) and (max-width: 1194px) {
  .site-contents__header {
    background-color: #ffffff;
    position: fixed;
    padding: 15px 30px;
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  }

  .site-contents_header__logo-desc {
    /* font-family: 'Hiragino Maru Gothic Std';
    font-weight: 400;
    font-size: 18px;
    line-height: 18px;
    letter-spacing: 0%; */
    display: none;
  }

  .site-contents_header__site-logo {
    font-family: 'M PLUS Rounded 1c';
    font-weight: 400;
    font-size: 28px;
    line-height: 32px;
    letter-spacing: 0%;
    margin-bottom: 0;
    padding: 10px;
  }

  /* PCナビゲーションを非表示 */
  .site-contents__nav {
    display: none;
  }

  /* ハンバーガーメニューを表示 */
  .nav {
    display: block;
  }

  /* ハンバーガーボタン */
  .hamburger {
    display: block;
    background: none;
    border: none;
    cursor: pointer;
    margin-right: 10px;
  }

  /* メニュー展開時のスタイル */
  .menu {
    width: 50%; /* タブレットではメニューを半分の幅に */
    right: 0;
    left: auto;
  }

  .menu.active {
    transform: translateX(0);
  }

  .menu .title {
    font-size: 36px;
    margin-bottom: 30px;
  }

  .menu-border {
    width: 80%;
    margin-bottom: 40px;
  }

  .menu ul {
    gap: 30px;
  }

  .menu a {
    font-size: 20px;
  }

  .menu a span {
    font-size: 18px;
  }

  /* メニュー内の電話とお問い合わせボタン */
  .menu-contact {
    position: absolute;
    bottom: 50px;
    width: 100%;
    padding: 0 20px;
  }

  .menu-phone,
  .menu-contact-button {
    max-width: 300px;
    height: 80px;
    font-size: 24px;
  }

  /* Hero Block */
  .hero {
    margin-top: 82px;
  }

  .hero__container {
    margin-top: 0;
    width: 100%;
    height: auto;
  }

  .hero__image-pc {
    width: 100%;
    content: url('../img/visiting-nursing-images/mv-tb.png');
  }

  .hero__overlay {
    right: -3%;
    transform: translateY(-70%) scale(0.7);
  }

  .hero__text-block {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    white-space: nowrap;
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: 0.1em;
    border-right: 2px solid #ffffff;
    padding: 15px;
    margin-top: -11%;
  }

  .hero__number-block {
    margin-top: -10px;
  }

  .hero__number-text {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 60px;
    line-height: 64px;
    letter-spacing: -3px;
    margin-bottom: 0;
  }

  .hero__large-text {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 85px;
    line-height: 90px;
    letter-spacing: 10px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
    margin-top: -10px;
  }
  
  .hero__small-text {
    margin-top: 0;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 50px;
    line-height: 60px;
    letter-spacing: 2px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
  }
  
  .hero__small-text-in {
    font-weight: 400;
    font-size: 30px;
    line-height: 44px;
    letter-spacing: 3%;
  }

  /* 「全身ケア」のテキストブロック */
  .hero__text-block:nth-child(1) {
    padding-right: 5px;
    height: 380px; /* 実際のコンテンツに合わせて調整 */
  }

  /* 「歯科医院が支える」のテキストブロック */
  .hero__text-block:nth-child(2) {
    height: 400px; /* 実際のコンテンツに合わせて調整 */
  }

  .hero__text-block:last-child {
    margin-top: -10px;
    height: 320px;
  }

  /* About Block */
  .about {
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    margin: 50px auto;
  }

  .about__title {
    font-family: 'Noto Serif JP';
    font-weight: 300;
    font-size: 25px;
    line-height: 33.75px;
    letter-spacing: 8%;
    text-align: center;
    
  }

  .about__subtitle {
    font-family: 'Noto Serif JP';
    font-weight: 300;
    font-size: 36px;
    line-height: 48.6px;
    letter-spacing: 8%;
    text-align: center;
    
  }

  .about__label {
    background-color: #E88830;
    color: #ffffff;
    font-family: 'Jost', sans-serif;
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 8%;
    padding: 6px 24px;
    display: inline-block;
    margin: 50px auto 70px auto; 
  }

  .about__image-left {
    width: 320px;
    height: 192px;
  }

  .about__image-right {
    width: 320px;
    height: 192px;
  }

  /* Reason Block */
  .reason {
    margin-top: 50px;
  }
  
  .reason__title {
    font-family:' Noto Sans JP';
    font-weight: 700;
    font-size: 22px;
    line-height: 29.7px;
    letter-spacing: 0%;
    text-align: center;
    color: #905028;
  }

  .reason__content {
    max-width: 800px;
    margin: 40px auto 70px auto;
    background-color: #F8F8E8;
  }
  
  .reason__text {
    text-align: center;
    font-size: 15px;
    font-weight: 400;
    line-height: 30px;
    margin-bottom: 1.5rem;
  }
  
  .reason__text:nth-child(1) {
    margin-bottom: 0;
  }
  
  .reason__text:nth-child(3) {
    margin-bottom: 0;
  }

  /* FEATURES Block */
  .features {
    margin-top: -85px;
  }

  .features__header {
    position: relative;
    margin: 0;
    padding: 0;
    line-height: 0;
  }

  .features__image {
    width: 100%;
    height: auto;
    content: url("../img/visiting-nursing-images/features-tb.png");
  }

  .features__title,
  .features__subtitle {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    text-align: center;
  }

  .features__title {
    font-family: 'Jost', sans-serif;
    top: 25%;
    font-weight: 300;
    font-size: 48px;
    line-height: 118.8px;
    letter-spacing: 8%;
    margin: 0;
  }
  
  .features__subtitle {
    top: 55%;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 43.2px;
    letter-spacing: 8%;
    margin: 0;
  }

  .features__content {
    width: 100%;
    padding: 0;
  }
  
  .features__card {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr;
  }

  .features__card:nth-child(2) {
    margin-top: 20px;
  }
  
  /* 2番目のカードの画像を左側に配置 */
  .features__card:nth-child(2) .features__card-text {
    font-family: 'Noto Sans JP', serif;
    background-color: white;
    max-width: 100%;
    margin: 0 100px 0 0 ;
    text-align: center;
    padding: 0 20px; 
    order: 2;
  }
  
  .features__card:nth-child(2) .features__card-image {
    order: 1;
  }
  
  .features__card-text {
    margin: 0;
    padding-left: 75px;
    width: 100%;
    text-align: left;
  }

  .features__card:nth-child(2) .features__card-text {
    margin-top: 60px;
    padding-left: 65px;
    width: 100%;
    text-align: left;
  }

  .features__card:nth-child(3) .features__card-text {
    padding-left: 70px;
    width: 100%;
    text-align: left;
    margin-bottom: 50px;
  }
  
  .features__card-text h3 {
    font-size: 28px;
    line-height: 1.4;
    margin-bottom: 20px;
  }

  .features__card-text p {
    max-width: 256px;
    height: 150px;
    font-size: 15px;
    line-height: 30px;
  }

  .features__card-text p br {
    display: none; /* 改行を削除 */
  }

  /* 画像エリアの修正 */
  .features__card-image {
    width: 100%;
    order: 1;
  }

  .features__card:nth-child(2) .features__card-image {
    order: 1;
  }

  .features__card-image-top {
    content: url("../img/visiting-nursing-images/Mask group-17.png");
  }

  .features__card-image-middle {
    content: url("../img/visiting-nursing-images/features02-pc.png");
  }

  .features__card-image-bottom {
    content: url("../img/visiting-nursing-images/features03-pc.png");
  }

  /* SERVICE Block */
  .service__header {
    position: relative;
    margin-top: 25px;
    padding: 0;
    line-height: 0;
  }
  .service__image {
    width: 100%;
    height: auto;
    content: url("../img/visiting-nursing-images/features-tb.png");
  }

  .service__title,
  .service__subtitle {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    text-align: center;
  }

  .service__title {
    font-family: 'Jost', sans-serif;
    top: 35%;
    font-weight: 300;
    font-size: 48px;
    line-height: 64.8px;
    letter-spacing: 8%;
    margin: 0 auto;
  }

  .service__subtitle {
    top: 60%;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 27px;
    letter-spacing: 8%;
    margin: 0;
  }

  .service__content {
    max-width: 90%;
    margin: 50px auto;
    padding: 0 20px;
  }

  .service__content-title {
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    margin: 40px 0 30px;
  }

  .service__content-title.top {
    margin-top: 0;
  }

  .service__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    justify-content: center;
  }

  .base-image {
    content: url("../img/visiting-nursing-images/Rectangle\ 15.png");
  }

  .icon-image {
    position: absolute;
    width: 88.4px;
    height: 74px;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: contain;
  }

  .service__card-image-container br {
    display: inline;
  }

  .service__card-text {
    position: absolute;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    padding: 0 20px;
    font-size: 18px;
    font-weight: 700;
    line-height: 24.3px;
    text-align: center;
    white-space: normal;
  }

  .service__card-text.long-text {
    font-size: 18px;
    padding: 0;
    line-height: 1.3;
    width: 100%;
  }
  
  .service__card-text.single-line {
    font-size: 18px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
  }

  /* CONTACT Block */ 

  .contact-section-img h2 {
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 48px;
    line-height: 1.2;
    width: 100%;
    text-align: center;
    margin: 0;
  }

  .contact-section-img .top {
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 20px;
    line-height: 1.5;
    width: 100%;
    text-align: center;
    margin: 0;
  }

  .contact-section-img .contact-img {
    width: 100%;
    height: 632px;
    content: url("../img/visiting-nursing-images/contact-tb.png");
  }

  .contact-section-img .bottom1 {
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 15px;
    line-height: 30px;
    width: 342px;
    text-align: center;
    margin: 0;
  }
  
  .contact-section-img .bottom2 {
    position: absolute;
    top: 38%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 15px;
    line-height: 30px;
    width: 640px;
    text-align: center;
    margin: 0;
  }

  .contact-buttons-container {
    display: flex;
    gap: 45px;
    top: 55%;
    width: 100%;
    padding: 0 20px;
    left: 50%;
  }

  .contact-button-item {
    width: 100%;
    height: 136px;
  }

  .contact-button-icon-phone {
    width: 23px;
    height: 31.5px;
    padding: 0;
    margin: 0;
  }

  .contact-button-icon-contact {
    padding: 0;
  }

  .contact-button-text.phone {
    display: none;
  }

  .contact-button-item.phone {
    width: 304px;
    padding: 0;
  }

  .contact-button-item.pc-smartphone {
    width: 304px;
    padding: 0;
  } 

  .contact-button-text.phone-num {
    font-family: 'Jost';
    font-weight: 400;
    font-size: 32px;
    line-height: 64px;
    letter-spacing: 4%;
    text-align: center;
  }

  .contact-button-text.contact {
    font-family: 'Noto Sans JP';
    font-weight: 500;
    font-size: 24px;
    line-height: 30px;
    letter-spacing: 0%;
    text-align: center;
  }

  /* RECRUIT */
  .recruit-section {
    min-height: 1450px;
  }

  .recruit-section .top {
    margin-top: -20px;
    padding: 0 30px;
  }

  .recruit-section .top h2 {
    font-family: 'Jost';
    font-weight: 300;
    font-size: 48px;
    line-height: 64.8px;
    letter-spacing: 8%;
    text-align: center;
  }

  .recruit-section .top p {
    font-family: 'Noto Serif JP';
    font-weight: 400;
    font-size: 20px;
    line-height: 27px;
    letter-spacing: 8%;
    text-align: center;
  }

  .recruit-desc {
    font-family: 'Noto Sans JP';
    font-weight: 400;
    font-size: 17px;
    line-height: 34px;
    letter-spacing: 0%;
    text-align: center;
  }

  .recruit-section .top .recruit-desc {
    margin: 50px auto;
  }
  .recruit-section .top .recruit-desc br {
    display: inline;
  }
  
  .recruit-card-container {
    margin: 0 auto;
    width: 720px;
  }
  
  .recruit-card {
    background: white;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: center;
    margin: 50px auto 0 auto;
    padding: 0;
    border-radius: 0;
  }
  
  .card-content.bottom.title.br {
    display: none;
  }
  
  .recruit-image-container-1 {
    width: 100%;
    height: 100%;
  }
  
  .recruit-image-container-2 {
    width: 100%;
    height: 100%;
  }

  .recruit-image-container-1 img {
    max-width: 376px;
    content: url("../img/visiting-nursing-images/recruit01-tb.png");
  }

  .recruit-image-container-2 img {
    max-width: 376px;
    content: url("../img/visiting-nursing-images/recruit02-tb.png");
  }

  .card-content {
    max-width: 480px;
  }

  .card-content p.description {
    max-width: 256px;
  }

  .card-content p.description br {
    display: none;
  }

  .card-content .title {
    font-size: 24px;
    line-height: 1.4;
    margin-bottom: 20px;
  }

  .card-content .title span {
    font-size: 32px;
  }

  .card-content .title br {
    display: inline;
  }

  .card-content .description {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 25px;
  }

  .card-content.bottom {
    max-width: 375px;
    max-height: 456px;
    padding: 30px 0 30px 50px;
    margin-bottom: 5px;
  }

  .card-content.bottom br {
    display: inline;
  }

  .card-content.bottom p.description br {
    display: none;
  }

  .price-tag {
    background: #F3F3F3;
    border-radius: 12px;
    padding: 0;
    max-width: 270px;
  }

  .price {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    padding: 15px 0 0 15px;
  }

  .price span {
    display: inline-block;
    background-color: #68B888;
    color: #FFFFFF;
    padding: 5px 15px;
    border-radius: 4px;
    font-size: 18px;
    margin-right: 15px;
  }

  .amount {
    font-size: 24px;
    font-weight: bold;
    display: flex;
    align-items: baseline;
  }

  .yen {
    font-size: 18px;
    margin-left: 5px;
  }

  .conditions {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex-wrap: wrap;
    width: 100%;
    padding: 0 15px 15px 15px;
  }

  .bonus {
    max-width: 144px;
    display: inline-block;
    border: 1px solid #1860A0;
    color: #1860A0;
    padding: 5px 15px;
    border-radius: 4px;
    font-size: 18px;
    font-weight: bold;
    text-align: start;
  }

  .options:nth-child(1) {
    max-width: 144px;
    display: inline-block;
    border: 1px solid #1860A0;
    color: #1860A0;
    padding: 5px 15px;
    border-radius: 4px;
    font-size: 18px;
    font-weight: bold;
  }

  .options {
    max-width: 192px;
    display: inline-block;
    border: 1px solid #1860A0;
    color: #1860A0;
    padding: 5px 15px;
    border-radius: 4px;
    font-size: 18px;
    font-weight: bold;
    text-align: start;
  }

  /* 福利厚生 */
  .welfare-section {
    position: relative;
    background-color: #fff;
    padding-top: 0;
    margin: 50px auto;
  }
  
  .welfare-section::before {
    content: '';
    position: absolute;
    top: -210px;
    left: 0;
    width: 100%;
    height: 100px;
    background-color: #F8F8E8;
    transform: skewY(4deg);
    transform-origin: left;
  }

  .welfare-title {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 54px;
    color: #444444;
    text-align: center;
    margin: 120px auto 0 auto;
  }

  .benefit-title {
    font-size: 22px;
    padding: 4px 16px;
  }

  /* アイコングリッド */
  .benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 2列に変更 */
    gap: 10px;
    padding: 0 24px;
  }

  .benefit-icon {
    width: 203px;
    height: 203px;
    background: linear-gradient(135deg, #F0B058 50%, #F0C860 50%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
  }

  .benefit-icon-1,
  .benefit-icon-2 {
    width: 62px;
    height: 77px;
  }

  .benefit-icon-3,
  .benefit-icon-4,
  .benefit-icon-5,
  .benefit-icon-6 {
    width: 89px;
    height: 81px;
  }

  .present .present-img {
    width: 100%;
    height: auto;
    margin: 70px auto;
    content: url("../img/visiting-nursing-images/present-tab.png");
  }

    /* REQUIREMENTS */
    .requirements-section-img {
      position: relative;
      margin: 0;
      padding: 0;
      line-height: 0;
      width: 100%;
    }
    
    .requirements-section-img img {
      width: 100%;
      height: 256px;
      content: url("../img/visiting-nursing-images/features-tb.png");
    }

    .requirements-section-img h2,
    .requirements-section-img p {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      color: #fff;
      text-align: center;
      width: 500px;
      margin: 0;
    }
    
    .requirements-section-img h2 {
      top: 32%;
      font-family: 'Jost';
      font-weight: 300;
      font-size: 40px;
      line-height: 64.8px;
      letter-spacing: 3%;
    }
    
    .requirements-section-img p {
      top: 55%;
      font-weight: 400;
      font-size: 20px;
      line-height: 1.35;
      letter-spacing: 0.08em;
    }

    .requirements-contents {
      margin: 80px auto 50px auto;
      max-width: 1280px;
      max-height: 1704px;
      padding: 50px;
    }
    
    .tabs {
      display: flex;
      align-items: end;
      margin-bottom: 8px;
      gap: 10px;
    }
    
    .tab {
      width: 314px;
      height: 112px;
      background-color: #CCCCCC;
      /* ポリゴンを使って斜めの角を作成 */
      clip-path: polygon(
          40px 0,    /* 左上の開始点 */
          100% 0,    /* 右上 */
          100% 100%, /* 右下 */
          0 100%,    /* 左下 */
          0 40px     /* 左上の終点 */
      );
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      font-weight: 700;
      font-size: 22px;
      line-height: 43.2px;
      letter-spacing: 8%;
      color: #666666;
    }
    
    .tab.active {
      width: 314px;
      height: 136px;
      background-color: #E88830;
      /* ポリゴンを使って斜めの角を作成 */
      clip-path: polygon(
          40px 0,    /* 左上の開始点 */
          100% 0,    /* 右上 */
          100% 100%, /* 右下 */
          0 100%,    /* 左下 */
          0 40px     /* 左上の終点 */
      );
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      font-weight: 700;
      font-size: 22px;
      line-height: 43.2px;
      letter-spacing: 8%;
      color: #ffffff;
    }
    
    .tab.mobile {
      display: none;
    }
    
    .requirements-info-details {
      max-width: 1280px;
      max-height: 1704px;
      margin: 0 auto;
      background-color: #ffffff;
      padding: 40px;
    }
    
    .requirements-info-details-title {
      text-align: center;
    }
    
    .requirements-info-details-title-p br {
      display: none;
    }
    
    .requirements-info-details-title h1 {
      font-weight: 700;
      font-size: 32px;
      line-height: 43.2px;
      letter-spacing: 8%;
      padding: 50px 0 30px 0;
    }
    
    .requirements-info-details-title p {
      font-weight: 400;
      font-size: 18px;
      line-height: 36px;
      color: #666;
    }
    
    .info-table {
      width: 100%;
      max-width: 1024px;
      margin: 50px auto;
      border-collapse: collapse;
    }
    
    .info-table th {
      background-color: #F3F3F3;
      border-top: #CCCCCC 1px solid;
      border-bottom: #CCCCCC 1px solid;
      width: 150px;
      padding: 15px;
      text-align: left;
      font-weight: normal;
      vertical-align: top;
    }
    
    .info-table td {
      padding: 15px;
      line-height: 1.6;
      background-color: #ffffff;
      border-top: #CCCCCC 1px solid;
      border-bottom: #CCCCCC 1px solid;
    }
    
    .entry-button-container {
      margin: 50px auto; /* Add margin below the entry button */
      position: relative; /* Add position relative */
      z-index: 1;
    }
    
    .entry-button-item {
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 24px;
      width: 584px;
      height: 128px;
      cursor: pointer;
      position: relative;
      margin: 0 auto;
    }
    
    .entry-button-item button {
      font-family: 'Jost', sans-serif;
      font-weight: 300;
      font-size: 40px;
      line-height: 84px;
      letter-spacing: 16px;
      color: #ffffff;
      cursor: pointer;
    }
    .entry-button-item::after {
      content: '';
      position: absolute;
      left: 30px;
      right: 30px;
      bottom: -27px;
      height: 27px;
      background-color: #CCCCCC;
      border-radius: 0 0 24px 24px;  /* 下部の角のみを丸く */
      z-index: -1;
    }

    /* INFORMATION */
    .information-section {
      margin-top: 100px;
      position: relative;
      height: 1000px;
    }
    
    .information-section-img {
      position: relative;
      width: 100%;
      height: 100%;
      z-index: 1;
    }

    .information-section-img .info-img {
      width: 100%;
      height: 1200px;
      margin: auto;
      content: url("../img/visiting-nursing-images/infomation-tb.png");
      display: block;
    }

    .information-section-img h2 {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      color: #FFFFFF;
      font-family: 'Jost', sans-serif;
      font-weight: 300;
      font-size: 43px;
      line-height: 64.8px;
      letter-spacing: 8%;
      margin: 0;
      width: 500px;
      text-align: center;
    }

    .information-section-items {
      position: absolute;
      top: 25%;
    }
  
    .information-section-items .section-title {
      font-weight: 400;
      font-size: 20px;
      line-height: 27px;
      letter-spacing: 8%;
      text-align: center;
    }
  
    .information-section-items .organization {
      font-weight: 400;
      font-size: 15px;
      line-height: 15px;
      letter-spacing: 0%;    
    }
  
    .information-section-items .main-title {
      font-weight: 400;
      font-size: 21px;
      line-height: 28px;
      letter-spacing: 0%;  
    }

    .information-section-items .main-title-sp {
      display: none;
    }

    .opening-hours-and-holiday {
      display: flex;
      justify-content: center;   
      gap: 30px;   
      margin: 30px auto 0 auto;
    }
  
    .information-section-items .address {
      font-weight: 400;
      font-size: 15px;
      line-height: 15px;
      letter-spacing: 0%;
    }
    .information-section-items .opening-hours {
      font-weight: 400;
      font-size: 15px;
      line-height: 15px;
      letter-spacing: 0%;
    }
    .information-section-items .holiday {
      font-weight: 400;
      font-size: 15px;
      line-height: 15px;
      letter-spacing: 0%;
    }
  
    .business-card {
      text-align: center;
    }
  
    .business-card p {
      padding-bottom: 15px;
    }

    #sitemap {
      display: none;
    }

    .info-phone {
      width: 400px;
      height: 80px;
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      margin: 30px auto;
      gap: 10px;
      padding: 0 10px;
      background-color: #ffffff;
      border-radius: 48px;
    }
  
    .info-phone-icon {
      width: 19.21px;
      height: 26.31px;
      background-image: url("../img/visiting-nursing-images/phone-sp.svg");
      background-size: contain;
      background-repeat: no-repeat;
    }
  
    .info-phone-number {
      font-family: 'Jost';
      font-weight: 400;
      font-size: 30px;
      line-height: 60px;
      letter-spacing: 4%;.information-section
      text-align: center;
      color: #E88830;
    }
  
    .footer {
      width: 100%;
      height: 100%;
      margin: 40px auto;
    }

    .footer iframe {
      max-width: 100%;
      height: 100%;
    }
  
    .footer .copyright {
      margin: 70px auto;
      position: absolute;
      color: #ffffff;
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
    }
    .abr {
      display: inline-block;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1366px) {
  /* Hero Block */
  .hero__overlay {
    right: 5px;
    transform: translateY(-70%) scale(0.7);
    background-color: #E88830;
    padding: 50px;
  }

  /* Feature Block */
  .features__title {
    font-family: 'Jost', sans-serif;
    top: 30%;
    font-weight: 300;
    font-size: 50px;
    line-height: 118.8px;
    letter-spacing: 8%;
    margin: 0;
  }
  /* Reason Block */
  .reason {
    margin-top: 50px;
    margin-left: 50px;
  }

  /* SERVICE Block */
  .service__header {
    position: relative;
    margin-top: 10px;
    padding: 0;
    line-height: 0;
  }
  .service__image {
    width: 100%;
    height: auto;
    content: url("../img/visiting-nursing-images/features-tb.png");
  }

  .service__title,
  .service__subtitle {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    text-align: center;
  }

  .service__title {
    font-family: 'Jost', sans-serif;
    top: 35%;
    font-weight: 300;
    font-size: 48px;
    line-height: 64.8px;
    letter-spacing: 8%;
    margin: 0 auto;
  }

  .service__subtitle {
    top: 55%;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 27px;
    letter-spacing: 8%;
    margin: 0;
}

  .service__content {
    max-width: 90%;
    margin: 50px auto;
    padding: 0 20px;
  }

  .service__content-title {
    color: #905028;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    margin: 40px 0 30px;
  }

  .service__content-title.top {
    margin-top: 0;
  }

  .service__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    justify-content: center;
  }

  .base-image {
    width: 300px;
    content: url("../img/visiting-nursing-images/Rectangle\ 15.png");
  }

  .icon-image {
    position: absolute;
    width: 200px;
    height: 100px;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: contain;
  }

  .service__card-image-container {
    margin-left: 35px;
  }

  .service__card-image-container br {
    display: inline;
  }

  .service__card-text {
    position: absolute;
    top:75%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    padding: 0 20px;
    font-size: 20px;
    font-weight: 700;
    line-height: 24.3px;
    text-align: center;
    white-space: normal;
  }

  .service__card-text.long-text {
    font-size: 20px;
    padding: 0;
    line-height: 1.3;
    width: 100%;
  }
  
  .service__card-text.single-line {
    font-size: 18px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
  }

  /* Contact */
  .contact-buttons-container {
    display: flex;
    gap: 45px;
    top: 52%;
    width: 100%;
    padding: 0 20px;
    left: 50%;
  }

  .opening-hours-and-holiday {
    width: 450px;
    display: flex;
    justify-content: center;
    align-items: start;
    gap: 30px;
    margin: 0 auto;
  }

  /* Information Block */
  .information-section-img .info-img {
    width: 100%;
    height: 1500px;
    margin: auto;
    content: url("../img/visiting-nursing-images/infomation-tb.png");
    display: block;
  }

  .information-section-img h2 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #FFFFFF;
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    font-size: 43px;
    line-height: 64.8px;
    letter-spacing: 8%;
    margin: 0;
    width: 500px;
    text-align: center;
  }

  .information-section-items {
    position: absolute;
    top: 25%;
  }

  .information-section-items .section-title {
    font-weight: 400;
    font-size: 20px;
    line-height: 27px;
    letter-spacing: 8%;
    text-align: center;
  }

  .information-section-items .organization {
    font-weight: 400;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0%;    
  }

  .information-section-items .main-title {
    font-weight: 400;
    font-size: 21px;
    line-height: 28px;
    letter-spacing: 0%;  
  }

  .information-section-items .address {
    font-weight: 400;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0%;
  }
  .information-section-items .opening-hours {
    font-weight: 400;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0%;
  }
  .information-section-items .holiday {
    font-weight: 400;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0%;
  }

  .business-card {
    text-align: center;
  }

  .business-card p {
    padding-bottom: 15px;
  }

  #sitemap {
    display: none;
  }

  .info-phone {
    width: 400px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 30px auto;
    gap: 10px;
    padding: 0 10px;
    background-color: #ffffff;
    border-radius: 48px;
  }

  .info-phone-number {
    font-family: 'Jost';
    font-weight: 400;
    font-size: 30px;
    line-height: 60px;
    letter-spacing: 4%;
    text-align: center;
    color: #E88830;
  }

  .footer {
    width: 100%;
    height: 100%;
    margin: 40px auto;
  }

  .footer iframe {
    max-width: 100%;
    height: 100%;
  }

  .footer .copyright {
    margin: 70px auto;
    position: absolute;
    color: #ffffff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }

  .abr {
    display: inline-block;
  }
}