/**********************************************************
* @file name : main.css
***********************************************************/
/*=========================================================
|	初期化
==========================================================*/
* {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Times New Roman', serif;
  color: #000;
  background-color: #fff;
  background-image: url('../images/bgbody.jpg'); /* 背景画像のパスを指定 */
  background-size: cover; /* 画像を画面全体に拡大・縮小 */
  background-repeat: no-repeat; /* 繰り返しを防ぐ */
  background-attachment: fixed; /* 背景を固定してスクロール時にも動かないようにする */
  background-position: center; /* 画像を中央に配置 */
}

footer {
  background-image: url('../images/mf.jpg'); /* 背景画像のパスを指定 */
  background-size: cover; /* 画像を画面全体に拡大・縮小 */
  background-repeat: no-repeat; /* 繰り返しを防ぐ */
  background-attachment: fixed; /* 背景を固定してスクロール時にも動かないようにする */
  background-position: center; /* 画像を中央に配置 */
}

footer::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.2); /* 背景に半透明の白をかぶせる */
  z-index: -1;
}

/* トップに戻る */
html {
  scroll-behavior: smooth;
}

/*=========================================================
|	ヘッダー
==========================================================*/
header {
  width: 100%;
  /* background-color: #bad3ff; */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  text-align: center;
  padding: 2rem;

  background-image: url('../images/mh.jpg'); /* 背景画像のパスを指定 */
  background-size: cover; /* 画像を画面全体に拡大・縮小 */
  background-repeat: no-repeat; /* 繰り返しを防ぐ */
  background-attachment: fixed; /* 背景を固定してスクロール時にも動かないようにする */
  background-position: center; /* 画像を中央に配置 */
}

header::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.2); /* 背景に半透明の白をかぶせる */
  z-index: -1;
  pointer-events: none;
}
  
  /* ヘッダー内のコンテンツを中央揃え */
  .header__inner {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    width: 95%;
  }
  
  /* ロゴ */
  .header__logo{
    flex: 0 0 auto;
    padding: 10px;
    order: 1;
  }

  .header__logo a img {
    width: 250px;
    height: auto;
  }
  
  /* メニュー */
  .header__menu {
    flex: 1;
    display: flex;
    justify-content: center;
    order: 2;
  }
  
  .header__menu-list {
    display: flex;
    margin: 0;
    padding: 0;
  }
  
  .header__menu-item {
    margin: 0 4.5rem;
    font-size: 1.6rem;
    color: #bad3ff;
    position: relative;
  }
  
  .header__menu-item a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
    transition: color 0.3s;
  }
  
  .header__menu-item a:hover {
    color: #f60;
  }

  .dropdown-menu {
    display: none; /* 初期状態では非表示 */
    position: absolute;
    top: 100%; /* 親メニューの下に配置 */
    left: 0;
    background-color: #fff;
    list-style: none;
    padding: 0.5rem 0;
    margin: 0;
    border: 1px solid #ddd;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    min-width: 225px;
    font-size: 18px;
}

.dropdown-menu li {
    margin: 0;
}

.dropdown-menu li a {
    padding: 0.5rem 1rem;
    display: block;
    text-decoration: none;
    color: #333;
    transition: background-color 0.3s;
}

.dropdown-menu li a:hover {
    background-color: #f0f0f0;
    color: #000;
}

/* ホバーでメニューを表示 */
.header__menu-item:hover .dropdown-menu {
    display: block; /* ホバー時に表示 */
}

  /* インフォメーションのスタイル */
  .header__info {
    flex: 0 0 auto;
    padding-top: 2rem;
    text-align: right;
    order: 3;
  }

  .header__info span {
    font-size: 1rem;
  }

  .header__info-number {
    font-size: 28px;
    letter-spacing: 0.01em;
  }

  .header__info-time {
    font-size: 21px;
  }
  
  .header__menu-btn {
    display: none;
  }
  
  .header__menu-open-icon {
    display: none;
  }

  .header__menu-close-icon {
    display: none;
}
  
/*---------------------------------------------------------
|	ヘッダー スマホ版
----------------------------------------------------------*/
@media (max-width: 768px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px; /* 高さを固定 */
    padding: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }

  .header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%; /* ヘッダーの高さを指定 */
    padding: 0 1rem;
  }

  .header__logo {
    order: 0;
  }

  .header__logo a img {
    width: 150px; /* ロゴを小さくする */
    height: auto;
  }

  .header__menu {
    display: none; /* 初期状態で非表示 */
  }

  .header__menu.active {
    display: flex;
    flex-direction: column; /* 縦並び */
    position: absolute;
    top: 60px; /* ヘッダーの下に表示 */
    right: 0;
    width: 50%; /* 横幅を全体に広げる */
    background-color: #eafffb;
    z-index: 1000;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
  
  .header__menu-list {
    display: block; /* 縦並び */
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .header__menu-item {
    margin: 0;
    padding: 1rem;
    text-align: center;
    font-size: 1.2rem;
  }

  .header__info {
    display: none; /* スマホ版では非表示 */
  }

  .header__menu-btn {
    display: block; /* ハンバーガーメニューを表示 */
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 1001;
    order: 1;
  }

  .header__menu-open-icon {
    display: block;
  }

  .header__menu-btn.open .header__menu-open-icon {
    display: none; /* メニューが開いたときは非表示 */
  }

  .header__menu-close-icon {
    display: none;
  }

  .header__menu-btn.open .header__menu-close-icon {
    display: block; /* メニューが開いたときに表示 */
  }

  .dropdown-menu {
    position: relative;
    display: none; /* サブメニューも初期状態で非表示 */
    background-color: #f9f9f9;
    padding: 0;
    margin: 0;
    min-width: fit-content;
  }

  .header__menu-item:hover .dropdown-menu,
  .header__menu-item:focus .dropdown-menu {
    display: block; /* タップで表示されるように変更 */
  }
}

/*=========================================================
|	フッター
==========================================================*/
footer {
  width: 100%;
  padding: 2rem;
  /* background-color: #bad3ff; */
}

.footer__inner {
  margin: 0 auto;
  box-sizing: border-box;
  width: 95%;
}

.footer__contents {
  display: flex;
  justify-content: space-between;
}

.footer__contents-left {

}

.footer__contents-right {

}

.footer__menu {
  
}

.footer__menu-list {
  display: flex;
  list-style: disc;
  color: #bad3ff;
  margin: 0;
  padding: 0;
}

.footer__menu-item {
  font-size: 1.2rem;
  margin-right: 3em;
}

.footer__menu-item a {
  text-decoration: none;
  color: #333;
  font-weight: bold;
  transition: color 0.3s;
}

.footer__menu-item a:hover {
  color: #f60;
}

.footer__submenu-item {
  font-size: 1rem;
}

.footer__social {
  
}

.footer__social-list {
  display: flex;
  list-style: none;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 3rem;
}

.footer__social-item {
  display: flex;
  justify-content: flex-end;
  padding-left: 3em;
}

.footer__social-item a img{
  width: 45px;
  height: auto;
}

.copyright {
  font-size: 12px;
  text-align: center;
}

/*---------------------------------------------------------
|	フッター スマホ版
----------------------------------------------------------*/
@media (max-width: 768px) {
  footer {
    padding: 1rem 1rem; /* スマホ版の余白を縮小 */
    text-align: center; /* 中央揃え */
  }

  .footer__contents {
    flex-direction: column; /* 上下に並べる */
    align-items: center; /* 中央揃え */
  }

  .footer__contents-left,
  .footer__contents-right {
    width: 100%; /* 幅を100%に拡大 */
    margin-bottom: 1rem; /* 各要素間に余白を追加 */
  }

  .footer__menu-list {
    flex-direction: column; /* メニューを縦並びに */
    align-items: center;
  }

  .footer__menu-item {
    font-size: 1rem;
    margin: 0.5rem 0; /* 縦方向の余白を追加 */
  }

  .footer__social-list {
    justify-content: center; /* 中央揃え */
  }

  .footer__social-item {
    padding: 0 1rem; /* 横方向の余白 */
  }

  .footer__social-item img {
    width: 30px; /* アイコンのサイズを縮小 */
    height: auto;
  }

  .copyright {
    font-size: 0.8rem; /* フォントサイズを縮小 */
  }

  .footer__menu-list .hidden {
    display: none;
  }

}

/*=========================================================
|	メイン
==========================================================*/
main {
  width: 100%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

section {
  /* scroll-margin-top: 80px; */
  padding: 1rem 0;
}

.home {
  margin-top: 8rem;
}

main section h2 {
  font-size: 2rem;
  color: #333;
  text-align: center; /* 必要に応じて中央揃え */
  display: inline-block; /* コンテンツ幅に合わせて要素幅を調整 */
  border-bottom: 2px solid #bad3ff; /* 下線を描画 */
  margin-bottom: 1.5rem; /* 下の余白を追加 */
}

@media (max-width: 768px) {
  main {
    padding-top: 60px;
  }

  h2 {
    font-size: 1.5rem; /* スマホ版のフォントサイズを調整 */
    border-bottom: 3px solid #ff7f50; /* 下線の太さを調整 */
  }

  .home {
    margin-top: 0;
  }
}

/*=========================================================
|	トップ index
==========================================================*/
.hero-image {
  overflow: hidden;
  position: relative;
}

.hero-image img {
  object-fit: cover; /* 画像をコンテナに合わせてトリミング */
}

.greeting {
  margin-bottom: 2rem;
}

.greeting__block {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2rem;
}

/* テキスト左・画像右の配置 */
.greeting__block.reverse {
  flex-direction: row; /* テキストを左、画像を右に配置 */
}

/* 画像の共通スタイル */
.greeting__image img {
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* テキストの共通スタイル */
.greeting__text h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  color: #333;
}

.greeting__text p {
  font-size: 1.2rem;
  line-height: 1.8;
  color: #666;
}

/* お知らせセクション */
.news {
  padding: 2rem;
}

.news__title {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 1rem;
  text-align: center;
  border: none;
}

.news__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* PC版で2列 */
  gap: 1rem; /* 要素間の隙間 */
}

.news__item {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 25px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news__item:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.news__image {
  width: auto;
  height: 250px; /* 画像の高さを固定 */
  padding-bottom: 1rem;
  overflow: hidden;
  position: relative;
}

.news__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.news__date {
  font-size: 1.6rem;
  color: #666;
  padding: 0.5rem;
  text-align: center;
  background-color: #f0f0f0;
  font-weight: bold;
}

.news__title {
  padding: 0.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: #333;
  display: block;
}

.news__link {
  display: block;
  text-align: center;
  padding: 0.5rem;
  font-size: 1rem;
  color: #007bff;
  text-decoration: none;
  transition: color 0.3s;
}

.news__link:hover {
  color: #0056b3;
}

/*---------------------------------------------------------
|	トップ スマホ版
----------------------------------------------------------*/
@media (max-width: 768px) {
  /* 全体を縦並びに */
  .greeting__block {
    flex-direction: column; /* 縦並びに切り替え */
    gap: 1rem;
  }

  /* 画像サイズの調整 */
  .greeting__image img {
    max-width: 100%; /* 幅を画面幅に合わせる */
    max-height: 250px; /* 高さを制限 */
    object-fit: contain; /* 表示領域内で調整 */
  }

  /* テキストサイズを調整 */
  .greeting__text h2 {
    font-size: 1.5rem;
  }

  .greeting__text p {
    font-size: 1rem;
    line-height: 1.5;
  }

  /* お知らせセクションの調整 */
  .news__grid {
    grid-template-columns: 1fr; /* 1列レイアウトに切り替え */
    gap: 1rem;
  }

  .news__image {
    height: 120px; /* スマホ版の画像高さを調整 */
  }

  .news__title {
    font-size: 1rem;
  }

  .news__link {
    font-size: 0.9rem;
  }
  .news__item {
    padding: 1rem;
  }

  .news__icon {
    font-size: 1.5rem;
  }

  .news__content h3 {
    font-size: 1.3rem;
  }

  .news__content p {
    font-size: 1rem;
  }
}

/*=========================================================
|	会社案内 profile
==========================================================*/
#profile_page {
  margin: auto;
  padding: 1rem;
  max-width: 900px;
  line-height: 1.8;
  color: #333;
}

/* セクションタイトル */
.profile__section-title {
  font-size: 1.8rem;
  font-weight: bold;
  color: #444;
  margin-bottom: 1.5rem;
}

/* 社歴のテキスト */
.profile__text {
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 2rem;
}

/* 会社概要テーブル */
.profile__table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}

.profile__table th,
.profile__table td {
  padding: 1rem;
  border: 1px solid #ddd;
  text-align: left;
}

.profile__table th {
  background-color: #f5f5f5;
  font-weight: bold;
  color: #333;
  width: 30%;
}

.profile__table td {
  color: #555;
}

/* アクセスマップ */
.profile__map-container {
  border: 1px solid #ddd;
  border-radius: 5px;
  overflow: hidden;
}

/*---------------------------------------------------------
|	会社案内 スマホ版
----------------------------------------------------------*/
@media (max-width: 768px) {
  #profile_page {
    padding: 0.5rem;
  }

  .profile__section-title {
    font-size: 1.5rem;
  }

  .profile__text {
    font-size: 1rem;
  }

  .profile__table th,
  .profile__table td {
    padding: 0.8rem;
    font-size: 0.9rem;
  }
}

/*=========================================================
|	事業内容 会社案内 内
==========================================================*/
.business_content {
  margin: auto;
}

.business_content h3 {
  font-size: 1.6rem;
  font-weight: bold;
  color: #444;
}

.business_list {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
  list-style-type: disc;
}

.business_list li {
  margin-bottom: 0.5rem;
  font-size: 1.2rem;
  color: #555;
}

.license_number {
  font-size: 1rem;
  color: #777;
  margin-bottom: 1.5rem;
}

/* 資材テーブル */
.materials_table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.5rem;
  border: 1px solid #ddd;
}

.materials_table th,
.materials_table td {
  padding: 0.8rem;
  border: 1px solid #ddd;
  text-align: left;
}

.materials_table th {
  background-color: #f5f5f5;
  font-weight: bold;
  color: #333;
}

.materials_table td {
  color: #555;
}

/*---------------------------------------------------------
|	事業内容 会社案内 内 スマホ版
----------------------------------------------------------*/
@media (max-width: 768px) {
  .business_content {
    padding: 0 1rem;
  }

  .business_content h3 {
    font-size: 1.4rem;
  }

  .business_list li {
    font-size: 1rem;
  }

  .materials_table th,
  .materials_table td {
    padding: 0.5rem;
    font-size: 0.9rem;
  }
}

/*=========================================================
| 安全宣言
=========================================================*/
.safety_statement {
  margin: auto;
}

.safety_statement-image img {
  width: 100%; /* セクション幅に合わせる */
  height: auto; /* 画像の縦横比を維持 */
  border-radius: 8px; /* 角を少し丸めたい場合 */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 画像に軽い影を追加 */
  margin-bottom: 1rem; /* 画像と見出しの間に余白を追加 */
}

.safety_statement h3 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: #444;
}

.safety_statement__list {
  list-style: decimal inside;
  padding: 0;
  margin-bottom: 2rem;
  color: #555;
  line-height: 1.8;
  font-size: 1.2rem;
}

.safety_statement__list li {
  margin-bottom: 0.5rem;
}

/* スマホ版 */
@media (max-width: 768px) {
  .safety_statement {
      padding: 1rem;
  }

  .safety_statement__list {
      font-size: 1rem;
      line-height: 1.6;
  }
}

/*=========================================================
|	採用情報 recruit
==========================================================*/
#recruit_page {
  margin: auto;
  padding: 1rem;
  max-width: 900px;
}

/* ページタイトル */
.page_title {
  padding: 2rem 0;
  text-align: center;
}

.page_title__text {
  font-size: 2.5rem;
  font-weight: bold;
  color: #333;
}

/* 採用メッセージ */
.recruit__intro {
  margin-bottom: 2rem;
}

.recruit__intro-title {
  font-size: 1.8rem;
  font-weight: bold;
  color: #555;
  margin-bottom: 1rem;
}

.recruit__intro-text {
  font-size: 1.2rem;
  line-height: 1.6;
  color: #666;
}

/* 募集要項テーブル */
.recruit__details {
  margin-top: 2rem;
}

.recruit__details-title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  color: #444;
}

/* テーブルスタイル */
.recruit__table {
  width: 100%;
  border-collapse: collapse;
}

.recruit__table th,
.recruit__table td {
  padding: 1rem;
  border: 1px solid #ddd;
  text-align: left;
  vertical-align: top;
}

.recruit__table th {
  width: 30%;
  background-color: #f5f5f5;
  font-weight: bold;
  color: #333;
}

.recruit__table td {
  color: #555;
}

/*---------------------------------------------------------
|	採用情報 スマホ版
----------------------------------------------------------*/
@media (max-width: 768px) {
  .page_title__text {
    font-size: 2rem;
  }

  .recruit__intro-title {
    font-size: 1.5rem;
  }

  .recruit__intro-text {
    font-size: 1rem;
  }

  .recruit__details-title {
    font-size: 1.5rem;
  }

  .recruit__table th,
  .recruit__table td {
    padding: 0.8rem;
    font-size: 0.9rem;
  }
}

/*=========================================================
|	お問い合わせ contact
==========================================================*/
#contact_page {
  margin: auto;
  padding: 1rem;
  max-width: 800px;
}

/* セクション共通スタイル */
.contact__section-title {
  font-size: 1.8rem;
  font-weight: bold;
  color: #444;
  margin-bottom: 1rem;
}

.contact__text {
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 1rem;
}

.contact__privacy-text,
.contact__privacy-note {
  font-size: 1rem;
  color: #555;
  line-height: 1.6;
}

/* 電話番号とメールアドレス */
.contact__phone-number,
.contact__email-address {
  font-size: 1.8rem;
  font-weight: bold;
  color: #000;
  margin: 1rem 0;
}

.contact__phone-number p,
.contact__email-address p {
  margin: 1rem;
}

.contact__link {
  color: #007BFF;
  text-decoration: underline;
}

.contact__link:hover {
  color: #0056b3;
  text-decoration: none;
}

/* カレンダーのスタイル */
.contact__calendar {
  padding-bottom: 2.5rem;
  color: #777;
}

.contact__calendar-note {
  font-size: 1rem;
  color: #ff0000;
}

/*---------------------------------------------------------
|	お問い合わせ スマホ版
----------------------------------------------------------*/
@media (max-width: 768px) {
  #contact_page {
    padding: 0.5rem;
  }

  .contact__section-title {
    font-size: 1.5rem;
  }

  .contact__text {
    font-size: 1rem;
  }

  .contact__phone-number,
  .contact__email-address {
    font-size: 1.2rem;
  }

  .contact__privacy-text,
  .contact__privacy-note {
    font-size: 0.9rem;
  }
}

/*=========================================================
|	プライバシーポリシー privacypolicy
==========================================================*/
#privacypolicy_page {
  margin: auto;
  padding: 1rem;
  max-width: 800px;
  line-height: 1.8;
  color: #333;
}

.privacypolicy__section {
  margin-bottom: 2rem;
}

.privacypolicy__title {
  font-size: 1.8rem;
  font-weight: bold;
  color: #444;
  margin-bottom: 1rem;
}

.privacypolicy__text {
  font-size: 1.2rem;
  color: #666;
}

.privacypolicy__list {
  margin-left: 1.5rem;
  list-style: disc;
}

.privacypolicy__list li {
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
  color: #555;
}

.text_right {
  text-align: right;
  margin-top: 2rem;
  font-size: 1.2rem;
}

/*---------------------------------------------------------
|	プライバシーポリシー スマホ版
----------------------------------------------------------*/
@media (max-width: 768px) {
  #privacypolicy_page {
    padding: 0.5rem;
  }

  .privacypolicy__title {
    font-size: 1.5rem;
  }

  .privacypolicy__text {
    font-size: 1rem;
  }

  .privacypolicy__list li {
    font-size: 1rem;
  }
}

/*=========================================================
| 新着情報
=========================================================*/
.news__page {
  max-width: 800px; /* セクション幅を制限 */
  margin: 2rem auto; /* センターに配置 */
  padding: 1rem;
  background-color: #fff; /* 背景を白に設定 */
  border: 1px solid #ddd;
  border-radius: 8px; /* 少し丸みを加える */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  text-align: center; /* 中央揃え */
}

.news__page-header {
  margin: 0 auto; /* アイテム全体を中央寄せ */
  max-width: 600px; /* コンテンツ幅を制限 */
}

.news__page-date {
  font-size: 1.5rem;
  color: #666;
  margin-bottom: 0.5rem;
  text-align: center; /* 中央揃え */
}

.news__page-title {
  font-size: 2rem;
  color: #333;
  font-weight: bold;
  margin-bottom: 1rem;
  text-align: center; /* 中央揃え */
}

.news__page-image img {
  max-width: 100%; /* 幅いっぱいにフィット */
  height: auto; /* 縦横比を保持 */
  border-radius: 8px; /* 少し丸みを加える */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 軽い影を追加 */
  display: block; /* 中央寄せの補助 */
  margin: 0 auto; /* 中央寄せ */
}

.news__page-main {
  padding: 1.5rem; /* 内容部分に余白を追加 */
  font-family: Arial, sans-serif;
  font-size: 1.1rem;
  line-height: 1.8; /* 行間を広げて読みやすく */
  color: #333;
}

.news__page-main h2 {
  font-size: 1.8rem;
  font-weight: bold;
  border-left: solid 4px #5f97f8; /* 左ラインでアクセント */
  background-color: #bad3ff; /* 見出し背景色 */
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  color: #333;
  border-radius: 4px; /* 角を丸く */
}

.news__page-main p {
  margin-bottom: 1rem; /* 各段落に余白を追加 */
  text-align: justify; /* 文章を左右揃え */
}

/*=========================================================
| トップに戻る
=========================================================*/
.page_top_btn {
  position: fixed;
  left: 10px; /* ボタンの位置 */
  bottom: 10px;
  width: 100px; /* ボタンの幅 */
  height: 100px; /* ボタンの高さ */
  border-radius: 50%; /* 円形にする */
  background: #e25407; /* 背景色 */
  color: #fff; /* 文字色 */
  font-weight: bold; /* 文字の太さ */
  font-size: 1.5rem; /* 文字サイズ */
  display: flex; /* Flexboxの有効化 */
  justify-content: center; /* 水平方向の中央揃え */
  align-items: center; /* 垂直方向の中央揃え */
  text-decoration: none; /* テキスト装飾を削除 */
  opacity: 0.8; /* ボタンの透明度 */
  transition: background 0.3s ease, transform 0.3s ease; /* ホバーアニメーション */
  z-index: 9999;
}

/* マウスオーバー時 */
.page_top_btn:hover {
  background: #d04c06; /* ホバー時の背景色 */
  transform: scale(1.1); /* 少し拡大 */
}

/* スマホ版 */
@media (max-width: 768px) {
  .page_top_btn {
    width: 60px; /* スマホ版の幅 */
    height: 60px; /* スマホ版の高さ */
    font-size: 1rem; /* 文字サイズを調整 */
    right: 15px; /* 位置を調整 */
    bottom: 15px; /* 位置を調整 */
  }
}

/*=========================================================
|	カレンダー
==========================================================*/
.business_calendar_title {
    margin: auto;
    text-align: center;
    font-weight: 900;
    font-size: 30px;
}

.business_calendar {
    margin: auto;
    border-collapse: collapse;
    font-family: 'Comic Sans MS';
}

.business_calendar th {
  border: 1px solid #000;
  margin: 0;
  padding: 0;
  text-align: center;
  font-weight: 900;
  font-size: 30px;
}

.business_calendar td {
    border: 1px solid #000;
    margin: 0;
    padding: 0;
    text-align: center;
    font-weight: 900;
    font-size: 40px;
}

.current_day {
    background-color: #54b9dc;
}

.holiday {
    color: #f00;
}
