@charset "utf-8";

/* (General) Declaration of site-penetrating settings  */
body {
    font-family: "Jun 501",  "Lucida Grande", "segoe UI",  "Hiragino Maru Gothic ProN", Meiryo, Arial, sans-serif;
    background: #fbf6ea url(../image/bg.png) center top repeat;
    color: #6a3906;
}


/* (General) Declaration of border-box size basis */
html *,
 ::before,
 ::after {
    box-sizing: border-box;
}


/* (General) font-size 19.2px */
html {
    font-size: 19.2px;
}


@media (max-width: 768px) {
  body {
      padding-left: 0.5em;
      padding-right: 0.5em;
      font-size: 0.8em;
  }
}



.red {
  color: firebrick;
}


.underline {
    background: linear-gradient(transparent 70%, yellow 70%);
}


/* ****************************************************************
   Footer Area settings
**************************************************************** */


/* Footer */
/* for mobile devices */
.footer-container {
  padding: 20px 4%;
}
/* for PC and tablets */
@media screen and (min-width: 768px) {
  .footer-container {
      max-width: 960px;
      margin: 0 auto;
      padding: 20px 20px;
  }
}


.footer-company-container {
  background: #fbf6ea;
}
.footer-hqcompanylogo-container {
  max-width: 50%;
  padding: 2%;
}
@media screen and (min-width:768px) {
  .footer-hqcompanylogo-container {
      max-width: 40%;
      padding: 2%;
  }
}
.footer-hqcompanyaddress-container {
  padding-left:1%;
}
.footer-hqcompanyaddress-container p {
  color:#836332;
  font-size: 100%;
  font-weight: 500;
}
.footer-subsidiary-container {
  display:flex;
  justify-content:space-around;
  max-width:100%;
  flex-wrap:wrap;
  margin:2%;
}
.footer-subsidiary-container .group {
  flex:0 1 30%;
}
.footer-annotation-container {
  margin:1%;
  padding-top:1%;
  vertical-align:bottom;
  border-top: 1px dashed #836332;
}

.footer-nav {
  display:flex;
  flex-direction: row;
  justify-content:right;
  margin:0;
  padding:0;
  list-style: none;
}
.footer-nav span {
  margin:0 10px 0 0;
  color:#d02131;
  font-size:40%;
}
.footer-nav i {
  padding-right:5px;
  vertical-align:baseline;
}
.footer-nav a {
  text-decoration:none;
}

.footer-copyright-container p.copyright {
  margin-top:10px;
  color:#836332;
  font-size: 80%;
  font-weight: 500;
}



/* Cozy Village 会社ロゴのスタイル調整 */
.footer-hqcompanylogo-container img {
  width: 70%; /* 画像のサイズを70%に設定 */
  margin-left: 3%; /* 左側に少し移動 */
}

/* 他園へのリンクの画像のスタイル調整 */
.footer-subsidiary-container .group img {
  width: 80%; /* 画像のサイズを80%に設定 */
}

/* 他園へのリンクのコンテナのスタイル調整 */
.footer-subsidiary-container {
  justify-content: space-between; /* 画像間のスペースを均等に分配 */
}


/* レスポンシブ対応: 768px以下の場合のスタイル */
@media screen and (max-width: 768px) {
  .footer-company-container {
    font-size: 0.8em; /* 全体の文字サイズを0.6倍に設定 */
  }
}






/* 最大横幅を決定 -- 最上位container */
.container {
  max-width: 960px; /* 最大幅を1280pxに設定⇒960に変更 */
  margin: 0 auto;
}





/* 画像を中央に寄せるためのスタイル */
.image-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px; /* 上部のマージンを追加 */
}

/* 画像のスタイル */
.header-image {
  max-width: 72%;  /* 画像の最大幅を72%に設定 */
  height: auto;   /* 画像の高さを自動に設定 */
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .header-image {
    max-width: 85%;  /* 画像の最大幅を80%に設定 */
  }
}








/* ヘッダー */
header {
  padding: 10px 0;
  text-align: center;
}

/* toplogo コンテナのスタイル */
.toplogo {
  display: flex;           /* フレックスボックスを使用 */
  justify-content: center; /* 水平方向の中央に配置 */
  align-items: center;     /* 垂直方向の中央に配置 */
  width: 100%;             /* コンテナの幅を100%に設定 */
  height: auto;            /* コンテナの高さを自動に設定 */
  padding: 10px 0;         /* 上下に10pxのパディングを追加 */
}

/* 画像のスタイル */
.toplogo img {
  max-width: 60%;         /* 画像の最大幅を50%に設定 */
  height: auto;            /* 画像の高さを自動に設定 */
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .toplogo img {
      max-width: 80%;      /* 画像の最大幅を80%に設定 */
  }
}


/* ナビゲーション */
nav {
  /* ナビゲーションのスタイル */
}

/* メインコンテンツ */
main {
  padding: 12px;
}

.summary {
  /* サマリーコンテナのスタイル not in use */
}

.interior {
  background-color: white;
  border-radius: 20px;
  padding: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  width: 98%;               /* mainの横幅に対して98%の幅 */
  margin: 0 auto;           /* 横方向に中央に配置 */
}

/* レスポンシブ対応: 768px以下のデバイスでのスタイル */
@media (max-width: 768px) {
  .interior {
      padding: 5px;
      border-radius: 10px;
      width: 100%;           /* 小さいデバイスでは幅を100%に調整 */
  }
}


.specinstruction {
  width: 96%;          /* 横幅を96%に設定 */
  margin: 10px auto;   /* 上下に10pxのマージンを追加し、左右は自動で中央寄せ */
  padding: 0 0 10px 0;     /* 下に10pxのパディングを追加 */
}

/* レスポンシブ対応: 768px以下のデバイスでのスタイル */
@media (max-width: 768px) {
  .specinstruction {
      margin: 10px auto;   /* 上下に10pxのマージンを追加 */
      padding: 0 0 6px 0;     /* 下に6pxのパディングを追加 */
  }
}



.spec {
  text-align: center; /* 子要素を中央寄せにする */
  display: flex;      /* フレックスボックスを使用して子要素を配置 */
  justify-content: center; /* メイン軸（ここでは横方向）で中央寄せにする */
  align-items: center;     /* 交差軸（ここでは縦方向）で中央寄せにする */
}


/* テーブルのスタイル */
.spec table {
  margin: 0 auto; /* マージンを自動にして中央寄せにする */
  width: 96%;
  border-collapse: collapse; /* セルの境界線を重ねる */
}

.spec table td {
  padding: 4px;
  text-align: left;
  border: none; /* テーブルの線を非表示にする */
}

/* 1列目 (項目名) のスタイル */
.spec table td:first-child {
  font-weight: bold;
  width: 38%; /* 1列目の幅を38%に設定 */
  text-align: center; /* デフォルトで1列目の文字列を中央寄せ */
}

/* 2列目 (内容) のスタイル */
.spec table td:last-child {
  width: 62%; /* 2列目の幅を62%に設定 */
}



/* レスポンシブ対応: 390px以下のデバイスでのスタイル */
@media (max-width: 390px) {
  .spec table td:first-child {
      width: 45%; /* 1列目の幅を45%に設定 */
  }

  .spec table td:last-child {
      width: 55%; /* 2列目の幅を55%に設定 */
  }
}








/* 1列目の画像の共通スタイル */
.table-icon {
  vertical-align: middle;  /* テキストの中央に画像を配置 */
  margin: 0 5px;           /* 画像の左右にマージンを追加 */
  width: 20px;             /* 画像の幅を設定 */
  height: auto;            /* 画像の高さを自動調整 */
}

/* レスポンシブ対応: 768px以下のデバイスでのスタイル */
@media (max-width: 768px) {
  .table-icon {
      width: 15px;         /* 画像の幅を少し小さく調整 */
  }
}

/* 文言の先頭の画像のスタイル */
.list-icon {
  vertical-align: middle;  /* テキストの中央に画像を配置 */
  margin-right: 5px;       /* 画像の右側にマージンを追加 */
  width: 20px;             /* 画像の幅を設定 */
  height: auto;            /* 画像の高さを自動調整 */
}

/* レスポンシブ対応: 768px以下のデバイスでのスタイル */
@media (max-width: 768px) {
  .list-icon {
      width: 15px;         /* 画像の幅を少し小さく調整 */
  }
}

.spec table td img + span {
  text-align: left;
  display: inline-block;
}

/* center-textクラスについてのみ右寄せ */
.spec table td.center-text {
  text-align: right;
}



/* center-textクラスについてのみ右寄せ */
.spec table td.center-text {
  text-align: right;
  padding-right: 2em; /
}







.kengaku {
  width: 94%;          /* tableと同じ横幅に設定 */
  margin: 0 auto;      /* 中央寄せ */
  padding: 20px 0;     /* 上下に20pxのマージンを追加 */
}

/* レスポンシブ対応: 768px以下のデバイスでのスタイル */
@media (max-width: 768px) {
  .kengaku {
      width: 92%;     /* モバイルデバイスでの横幅を設定 */
      padding: 14px 0;     /* 上下に14pxのマージンを追加 */
  }
}


/* inquiryの下部中央の画像のスタイル */
.bottom-image {
  text-align: center;      /* 中央に画像を配置 */
  margin: 20px 0;        /* 上側にマージンを追加 */
}

.inquiry-icon {
  width: 30%;            /* 画像の初期幅を設定 */
  height: auto;            /* 画像の高さを自動調整 */
  display: inline-block;   /* 画像をインライン要素として表示 */
}

/* レスポンシブ対応: 768px以下のデバイスでのスタイル */
@media (max-width: 768px) {
  .inquiry-icon {
      width: 48%;         /* 画像の幅を少し小さく調整 */
  }
}



.kengakuuketuke {
  width: 90%;          /* 横幅を90%に設定 */
  margin: 20px auto;   /* 上下に20pxのマージンを追加し、左右は自動で中央寄せ */
  padding: 10px 0;     /* 上下に10pxのパディングを追加 */
}

/* レスポンシブ対応: 768px以下のデバイスでのスタイル */
@media (max-width: 768px) {
  .kengakuuketuke {
      margin: 8px auto;   /* 上下に25pxのマージンを追加 */
      padding: 8px 0;     /* 上下に15pxのパディングを追加 */
      width: 95%;          /* 横幅を95%に設定 */
  }
}













.docs {
  /* ドキュメントダウンロードセクションのスタイル not in use as of now */
}


/* selectbutton コンテナのスタイル */
.docs .selectbutton {
  display: flex;           /* フレックスボックスを使用 */
  flex-wrap: wrap;         /* アイテムがコンテナの幅を超えた場合、次の行に折り返す */
  justify-content: center; /* アイテムをコンテナの中央に配置 */
  gap: 40px;               /* アイテム間のスペースを40pxに増やす */
  width: 100%;             /* デフォルトの横幅を100%に設定 */
}

/* 画像のスタイル */
.docs .selectbutton img {
  max-width: 180px;        /* 画像の最大幅を180pxに設定 */
  height: auto;            /* 画像の高さを自動に設定 */
}

/* 横幅が768pxより大きい場合のスタイル */
@media (min-width: 768px) {
  .docs .selectbutton {
    width: 96%;            /* 横幅を96%に設定 */
    margin: 0 auto;        /* 中央寄せ */
  }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .docs .selectbutton {
      gap: 20px;           /* 画像間のスペースを20pxに設定 */
  }
}



.kigyoshudoinstruction {
  margin-top: 30px;        /* 上側のスペース */
  margin-bottom: 20px;     /* 下側のスペース */
  font-size: 0.8em;        /* 文字サイズを0.8倍に設定 */
  width: 88%;              /* 横幅を88%に設定 */
  margin-left: auto;       /* 左右中央寄せのための設定 */
  margin-right: auto;      /* 左右中央寄せのための設定 */
  background-color: rgba(255, 255, 255, 0.5); /* 白い半透明の背景 */
  padding: 10px;           /* 内側のスペース（テキストと背景の間隔）を調整 */
  border-radius: 10px;      /* 角を少し丸く */
}
















.application-interior {
  padding:10px;
}

.int-banner {
  display: block;
  max-width: 40%; /* もしご希望に応じて調整 */
  margin-left: 5%; /* 左側に少し余白を持たせる */
  margin-bottom: 15px; /* 2枚のバナーとの間の余白 */
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .int-banner {
    max-width: 90%;
    margin-left: 2%;
    margin-bottom: 10px;
  }
}


.entry-image {
  display: flex;
  justify-content: center; /* 中央寄せのための設定 */
  align-items: center;
  gap: 4%; /* 2つのバナー間のスペース */
}

/* バナーのリンクスタイルをリセット */
.entry-image a {
  display: inline-block; /* ブロックレベル要素として扱う */
  text-decoration: none; /* アンダーラインを削除 */
  border: none; /* 枠線を削除 */
  width: 24%;  /* 前のスタイリングと同じ幅を設定 */
}

/* バナーのimg要素のスタイル */
.banner {
  display: block; /* ブロックレベル要素として扱い */
  width: 100%;  /* aタグの幅に合わせる */
  height: auto;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .entry-image {
    flex-direction: column; /* スマートフォンの表示ではバナーを縦に並べ替え */
  }

  .entry-image a {
    width: 36%;  /* スマートフォンの表示の場合、リンクの幅を調整 */
    margin: 10px 0; /* 上下のマージンを追加 */
  }

  .banner {
    width: 100%; /* スマートフォンの表示では画像の幅をaタグに合わせる */
  }
}













































.qa {
  /* Q&Aセクションのスタイル not in use as of now */
}

/* qaheaderのスタイル */
/* qaheaderのスタイル */
#qaheader {
  text-align: center;      /* 中央に内容を配置 */
  padding: 60px 0 8px 0;   /* 上下方向に10pxのpaddingを設定 */
}

.qa-header-image {
  max-width: 40%;         /* 画像の最大幅を親要素の幅に合わせる */
  height: auto;            /* 画像の高さを自動調整 */
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .qa-header-image {
    max-width: 60%;        /* 画像の最大幅を90%に設定 */
    display: block;        /* 画像をブロック要素として表示 */
    margin: 0 auto;        /* 画像を中央寄せ */
  }
}



/* qanavi コンテナのスタイル */
#qanavi {
  display: flex;           /* フレックスボックスを使用 */
  flex-wrap: wrap;         /* アイテムがコンテナの幅を超えた場合、次の行に折り返す */
  justify-content: center; /* アイテムをコンテナの中央に配置 */
  gap: 20px;               /* アイテム間のスペース */
  margin-bottom: 10px;
}

/* 画像のスタイル */
#qanavi img {
  max-width: 25%;          /* 画像の最大幅を25%に設定 (3つの画像と2つの間隔で100%になるように) */
  height: auto;            /* 画像の高さを自動に設定 */
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  #qanavi img {
      max-width: 28%;      /* 画像の最大幅を48%に設定 (2つの画像と1つの間隔で100%になるように) */
  }
}


/* 横幅が768pxより大きい場合のスタイル */
@media (min-width: 768px) {
  #applicationqa, #childcareqa, #etcqa {
    padding-left: 20px;  /* 左側のスペースを追加 */
    padding-right: 20px; /* 右側のスペースを追加 */
    padding-top: 60px;   /* タイトルの領域を確保するための上部パディング */
  }
}

/* FAQ項目のスタイル */
.faq-item {
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
}

/* 質問と回答の共通スタイル */
.question, .answer {
  display: flex;           /* フレックスボックスを使用 */
  align-items: center;     /* 画像とテキストを中央揃え */
  gap: 10px;               /* 画像とテキストの間隔 */
}

/* 質問のスタイル */
.question {
  font-weight: bold;
  cursor: pointer;
  margin-bottom: 10px;
}

/* 回答のスタイル */
.answer {
  display: none;
  padding-left: 20px;
}

/* 画像のスタイル */
.question img, .answer img {
  width: 20px;             /* 画像の幅 */
  height: 20px;            /* 画像の高さ */
  vertical-align: bottom;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .faq-item {
      padding: 5px 0;
  }
  .question img, .answer img {
      width: 15px;         /* 画像の幅を調整 */
      height: 15px;        /* 画像の高さを調整 */
      vertical-align: bottom;
  }
}







/* 既存のスタイル */
.answer img {
  margin-right: 10px;      /* 画像の右側にマージンを追加 */
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .answer img {
      margin-right: 8px;   /* 画像の右側のマージンを少し小さく調整 */
  }
}







/* タイトルのスタイル */
.faq-title {
  position: static; /* 通常のドキュメントフローに戻す */
  margin-top: -50px; /* 上部に移動して領域を確保 */
  z-index: 2;         /* 他の要素の上に表示するためのz-index */
  padding: 5px;       /* パディングを追加 */
}

.faq-title p {
  background-color: rgba(255, 255, 255, 0.8); /* 背景色を少し透明にして、下の要素が見えるようにする */
  display: inline-block; /* インラインブロックにして、背景が文字列部分のみに適用されるようにする */
  padding: 0 5px; /* 文字列の左右にパディングを追加 */
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .faq-title {
    margin-top: 0; /* 通常の位置に戻す */
  }
}




/* qafooterの基本スタイル */
.qafooter {
  margin-top: 20px;
  width: 100%;
  text-align: right;
}

.pikachan-icon {
  width: auto; /* 通常のサイズで表示 */
  height: auto;
  max-width: 100%; /* 画像がコンテナの幅を超えないようにする */
}

/* レスポンシブ対応: 768px以下のデバイスでのスタイル */
@media (max-width: 768px) {
  .pikachan-icon {
      width: 80vw; /* 画像の幅を表示領域の横幅の80%に設定 */
      height: auto; /* アスペクト比を維持 */
  }
}



/* SNSシェアボタン */



