

/* ブラウザリセット */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* 未使用タグを削除し、必要なタグのみリセット */
html, body, h1, h2, h3, p, img, ul, li {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}



ul {
  list-style: none;
}





/*---------- ページ全体の指定 ----------*/
body {
  font-family: "Inter", "Roboto", "Arial", "Noto Sans JP", "Yu Gothic UI", "Meiryo", sans-serif;
  height: 100%;
  margin: 0;
  padding: 0;
  font-size: 14px;
  color: #333;
  background-color: #a0522d;
  background-image: url(https://mutsumi-biz.com/boki/img/6.png);
}


a:visited {
  color: #3e2423;
}

a:link {
  color: #70211f;
  font-size: 13px;
  text-decoration: none;
}

a:hover {
  color: #ff6347; /* ホバー時の色をトマトレッドに変更（より柔らかく明るい） */
}



p {
  margin: 13px 0 13px 0;
  line-height: 140%;
  letter-spacing: 1px;
}

h1 {
  font-size: 12px;
  margin: 0;
  padding: 2px 3px 0px 3px;
  color: #333333;
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
}

.image-container {
  text-align: center;
}

.image-container img {
  max-width: 100%;
  width: 250px;
  height: auto;
  margin: 0 5px;
  display: inline-block;
}

/*---------- メイン ----------*/
#main {
  margin: 0 auto;
  padding: 0;
  width: 800px;
  background-color: #ffffff;
}

/*---------- ヘッダー ----------*/
#header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center; /* 縦方向の中央揃え */
  margin: 0;
  padding: 0;
  color: #333333;
  width: 100%; /* #mainの幅に合わせる */
  max-width: 800px; /* 最大幅を800pxに */
  height: 70px;
  background-color: #fafecb;
  background-repeat: no-repeat;
}


#header-img {
  
  width: 100%; /* #mainの幅に合わせる */
  max-width: 800px; /* 最大幅を800pxに */
  height: auto;
  background-image: url(https://mutsumi-biz.com/boki/img/main_photo.jpg);
  background-repeat: no-repeat;
  clear: both; /* フロートをクリア */
  margin-bottom: 1px;
}

#container {
  margin: 0 auto;
  padding: 5px;
  width: 780px;
  background-color: #ffffff;
  clear: both;
  margin-top: 10px; /* ヘッダー画像との間に余白を追加 */
}

#table-left {
  margin: 0;
  padding: 30px 0 0 12px;
  font-size: 16px;
  color: #333333;
  line-height: 150%;
  text-decoration: none;
}


#table-right {
  padding: 14px 14px 2px 0;
  font-size: 12px;
  color: #a9a9a9;
  text-align: right;
  line-height: 1.5;
}

#table-left a {
  font-size: 16px;
  color: #fffffc;
  text-decoration: none;
}

#table-left a:hover {
  font-size: 16px;
  color: #fffffc;
  text-decoration: none;
}

#table-right a {
  font-size: 12px;
  color: #999999;
  text-decoration: none;
}

#table-right a:hover {
  font-size: 12px;
  color: #666666;
  text-decoration: none;
}

#header-menu {
  background-color: #543f32;
  margin: 0px;
  padding: 7px 15px 5px;
  border-top: solid 2px #ffffff;
  border-bottom: solid 2px #ffffff;
}

#header-menu ul {
  text-align: left;
  padding-bottom: 1px;
  margin: 0px;
  width: auto;
}

#header-menu li {
  color: #ffffff;
  display: inline;
  padding-left: 9px;
  padding-right: 5px;
  background: url(https://mutsumi-biz.com/boki/img/l_icon.gif) no-repeat;
}

#header-menu a {
  color: #cccccc;
  text-decoration: none;
}

#header-menu a:hover {
  color: #999999;
}

/*---------- コンテンツ ----------*/

.hamburger-icon {
  display: block; /* PCでも表示 */
  position: fixed; /* スクロール追従 */
  top: 10px; /* 画面上部からの距離 */
  right: 10px; /* 画面右端からの距離 */
  background: #fafecb;
  padding: 5px 10px;
  border-radius: 4px;
  z-index: 1000; /* 他の要素より前面 */
  font-size: 1rem; /* アイコンのサイズ */
  cursor: pointer; /* クリック可能を示すカーソル */
}

.text-content {
  font-size: 0.9rem; /* 1remから少し小さく（例：16px→14.4px） */
  line-height: 1.5;
  margin: 9px 0; 
}

.highlight-text {
  font-size: 16px; 
  color: #800000;
  font-weight: bold;
}


.text-content.bold {
  font-size: 15px;
  font-weight: bold;
}


.small-text {
  font-size: 12px;
  gap: 1px; /* 画像とテキストの間隔 */
}

.small-text img {
  vertical-align: middle; /* 画像の垂直中央揃え */
  width: 18px; /* 画像の幅を固定 */
  height: auto;
}



.cta-button2 a.button {
  display: inline-block;
  background: #17A2B8;
  color: #fff;
  padding: 10px 15px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  margin: 8px;
  font-size: 1em;
  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

.cta-button2 a.button:hover {
  color: #fff;
  transform: scale(1.05);
  background: #138496;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.cta-button a.button {
  display: inline-block;
  background: #ff4500;
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  margin: 10px;
  font-size: 1em;
  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

.cta-button a.button:hover {
  color: #fff;
  transform: scale(1.05);
  background: #d25120;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}


.faq-section {
  margin: 20px 0;
  padding: 10px;
  background-color: #ffffff;
  border: 1px solid #eee;
  border-radius: 5px;
}

.faq-item {
  margin-bottom: 10px;
}

.faq-question {
  width: 100%;
  text-align: left;
  padding: 10px 10px 10px 30px; /* 左にマーク用のスペースを追加 */
  background-color: #eeeeee;
  border: 1px solid #aaaaaa;
  border-radius: 5px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  color: #444444;
  cursor: pointer;
  position: relative; /* 擬似要素の位置調整用 */
}

.faq-question::before {
  content: '+';
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  font-weight: bold;
  color: #444444;
}

.faq-question.active::before {
  content: '−';
}

.faq-answer {
  display: none;
  padding: 10px;
  border: 1px solid #eee;
  border-top: none;
  border-radius: 0 0 5px 5px;
  transition: max-height 0.3s ease-out; /* スムーズな開閉 */
  max-height: 0;
  overflow: hidden;
}

.faq-answer.active {
  display: block;
  max-height: 500px; /* コンテンツに応じて調整 */
}


.individual-tutoring-banner {
  background-color: #3a9261;
  color: #ffffff;
  padding: 15px 20px; /* 上下左右の余白 */
  text-align: center; /* 中央揃え */
  font-family: "Noto Sans JP", sans-serif; /* ページのフォントに合わせる */
  font-size: 24px; /* テキストサイズ */
  font-weight: bold;
  line-height: 1; /* 行の高さ */
  border-radius: 10px; /* 角丸 */
  margin: 10px 0;
  display: inline-block; /* テキスト幅に自動調整 */
  max-width: 90%; /* 親要素の90%以内に制限（柔軟に） */
}





.image-center { text-align: center; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}



#contents {
  float: left;
  margin: 6px 0 0 0;
  padding: 0 5px 0 8px;
  line-height: 1.5;
  letter-spacing: 1px;
  width: 570px;
}



#contents h2 {
  margin: 0 0 10px 0;
  padding: 12px 0 10px 12px;
  line-height: 110%;
  font-size: 13px;
  color: #333333;
  background-image: url(https://mutsumi-biz.com/boki/img/titlebar.gif);
  background-repeat: no-repeat;
}

#contents h3 {
  margin: 12px 5px 10px 6px;
  padding: 8px 10px 5px 13px;
  line-height: 110%;
  font-size: 14px;
  color: #444444;
  border-left: solid 5px #aaaaaa;
  background-color: #eeeeee;
}

#contents p {
  margin: 0;
  padding: 10px 0 10px 0;
}

#news {
  width: 568px;
  min-height: 300px;
  max-height: 400px;
  overflow-y: auto;
  background-color: #ffffff;
  padding: 5px;
  margin: 10px 0;
  font-size: 12px;
  border: 1px solid #999999;
  box-sizing: border-box;
}



.textbook-img {
  max-width: 200px;
  width: 100%;
}

.map-container {
  text-align: center;
  margin: 20px 0;
}
.map-container iframe {
  width: 100%;
  max-width: 600px;
  height: 450px;
  border: 0;
}

/* コース一覧のスタイル */
.course-list {
  margin: 20px 0;
  padding: 10px;
  background-color: #ffffff;
  border: 1px solid #eee;
  border-radius: 5px;
}

.course-list h3 {
  font-size: 14px; /* #contents h3 に合わせて */
  color: #444444;
  margin: 0 0 10px 0;
  padding: 8px 10px 5px 13px;
  border-left: solid 5px #aaaaaa;
  background-color: #eeeeee;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 110%;
}

.course-list ul {
  list-style: none;
  padding: 0;
}

.course-list li {
  font-size: 13px; /* body のデフォルトフォントサイズに合わせる */
  color: #1c2632;
  padding: 8px 0;
  border-bottom: 1px solid #eee;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  letter-spacing: 1px;
}

.course-list li:last-child {
  border-bottom: none;
}

/*---------- メニュー ----------*/
#menu {
  float: right;
  padding: 6px 3px 0 6px;
  width: 180px;
  line-height: 1.5;
  letter-spacing: 1px;
  background-color: #ffffff;
}

#menu h2 {
  text-align: center;
  margin: 0 3px 7px 0;
  padding: 5px 0 6px 0px;
  font-size: 13px;
  color: #fffffc;
  background-image: url(https://mutsumi-biz.com/boki/img/sidebar.gif);
  background-repeat: no-repeat;
}

#menu p {
  margin: 5px 5px 10px 0px;
}

#menu p img {
  vertical-align: middle;
}

li {
  list-style-image: url(https://mutsumi-biz.com/boki/img/mark.gif);
  margin: 0 0 5px 0;
}



#menu p:not(.menulist p) a {
  display: inline-block;
  margin-bottom: 5px; /* 講師プロフィール等のリンク間に余白を追加 */
}

#menu p:not(.menulist p) a:hover {
  color: #ac6125;
  text-decoration: underline;
}


.menulist a {
  display: block;
  border-right: solid 1px #cfcfcf;
  border-bottom: solid 1px #cfcfcf;
  border-left: solid 1px #cfcfcf;
  width: 100%;
  padding: 10px 8px 0px 18px;
  font-size: 13px;
  line-height: 1.2;
  text-decoration: none;
  background-image: url(https://mutsumi-biz.com/boki/img/side_menu_bg.gif);
  background-repeat: no-repeat;
}

.menulist a:hover {
  color: #ac6125;
  text-decoration: underline;
  background-image: url(https://mutsumi-biz.com/boki/img/side_menu_bg_hover.gif);
  background-repeat: no-repeat;
}

#menulist p img {
  vertical-align: middle;
}


.center {
  text-align: center;
}

.right {
  text-align: right;
}

/*---------- フッター ----------*/
#footer {
  clear: both;
  margin: 0;
  padding: 20px 0 18px 0;
  text-align: center;
  font-size: 12px;
  color: #a9a9a9;
  border-top: 2px solid #fafecb;
  background-color: #fafecb;
}

#footer a {
  color: #999999;
}

#footer a:hover {
  color: #666666;
}

/*---------- スマートフォン表示 ----------*/
@media (max-width: 600px) {
  html {
    font-size: 17px;
  }

  .hamburger-icon {
    display: block;
     position: fixed; /* スクロール追従 */
    top: 52px;
    right: 4px;
    background: #fafecb;
    padding: 5px 10px;
    border-radius: 4px;
    z-index: 1000;
  }

  #main, #header-inner, #header-img, #container, #contents, #news, #menu {
    width: 100%;
    max-width: 100%;
  }

  

  #header-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  #table-left {
    flex: 1;
    padding: 10px 0 0 10px;
    font-size: 0.8rem;
  }

  #table-right {
    display: block;
    flex: 1;
    text-align: right;
    padding: 10px 10px 2px 0;
    font-size: 0.7rem;
    color: #a9a9a9;
    line-height: 1.2;
  }
  
  .cta-button {
    text-align: center;
  }
  
  

  #container {
    padding: 5px;
    display: flex;
    flex-direction: column;
  }

  #contents {
    float: none;
    margin: 6px 0 0 0;
    padding: 0 5px;
  }

  #menu {
    float: none;
    margin: 10px 0 0 0;
    padding: 6px 3px;
  }

  #menu.active {
    display: block;
  }

  #menu h2 {
    text-align: left;
	padding: 4px 12px 6px 10px;
  }

  #menu img {
    display: none; /* スマホ表示でメニュー内の画像を非表示 */
  }

  /* #menu内のすべてのa要素のフォントサイズを統一 */
  #menu a {
    font-size: 1rem
    color: #3770ab;
  }

  
  #menu p a {
    display: inline-block;
    margin-bottom: 1px; /* 行間を1pxに縮小（デフォルトは4px） */
    line-height: 1.1; /* 行間を少し狭める（デフォルトは1.4） */
    font-size: 1rem; /* 既存のフォントサイズを維持 */
  }
  
  
  .menulist a {
    width: 100%;
    box-sizing: border-box;
    display: block; /* ブロック要素で縦に並べる */
    padding: 5px 9px 0 15px;
    margin-bottom: 4px; 
    font-size: 0.9rem;
    line-height: 1.2; /* 行間を維持 */
    text-decoration: none;
    background-image: url(https://mutsumi-biz.com/boki/img/side_menu_bg.gif);
    background-repeat: no-repeat;
    border-right: solid 1px #cfcfcf;
    border-bottom: solid 1px #cfcfcf;
    border-left: solid 1px #cfcfcf;
  }
 

  #news {
    width: 100%;
    max-width: 100%;
    min-height: 300px;
  max-height: 350px;
  }

  .text-content {
    font-size: 17px;
  }

  .text-content.bold {
    font-size: 17px;
    font-weight: bold;
  }

  
  .small-text {
    font-size: 13px;
    align-items: center;
    gap: 1px; /* スマホでは間隔を少し狭める */
  }

  .small-text a {
    font-size: 13px !important;
    vertical-align: middle;
    margin: 0;
    padding: 0; /* グローバルなパディングを上書き */
    min-width: 0; /* グローバルなmin-widthを上書き */
    line-height: 16px;
  }
  
  
  
  
  
  
  #contents a {
    font-size: 16px;
  }

  body, p, span, div, article, section, li, td, th {
    font-size: 17px;
  }

  h1 {
    font-size: 0.8rem;
  }

  #contents h2 {
    font-size: 1rem;
	padding: 8px 0 10px 8px;
  }

  h2, #contents h3 {
    font-size: 1rem;
  }

 a {
    display: inline-block;
    padding: 4px 5px; /* 8pxから4pxに縮小 */
    min-height: 20px; /* 30pxから20pxに縮小 */
    min-width: 44px;
    box-sizing: border-box;
  }

  #header-menu a, #footer, #footer a {
    font-size: 1rem;
  }

  p.textbook-container {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    align-items: center;
    gap: 5px;
  }

  p.textbook-container img {
    width: 45%;
    max-width: 150px;
    height: auto;
  }

  .course-list {
    margin: 10px 0;
    padding: 5px;
  }

  .course-list h3 {
    font-size: 1rem; /* スマホ表示での h3 に合わせる */
    padding: 8px 10px;
  }

  .course-list li {
    font-size: 17px; /* スマホ表示での body, p のフォントサイズに合わせる */
    color: #8f4a13;
    padding: 6px 0;
    
  }

  .image-container {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 5px;
  }

  .image-container img {
    width: 45%;
    max-width: 200px;
    height: auto;
  }
  
  
  
  .faq-question {
    padding: 8px 8px 8px 32px; /* 左パディングを増やしてテキストを右に寄せる */
    font-size: 1rem;
  }

  .faq-section {
    margin: 10px 0;
    padding: 5px;
  }
  
  
  .individual-tutoring-banner {
    font-size: 20px; /* サイズを小さく */
    padding: 12px 15px;
    max-width: 100%;
  }
  
  
  
  
  
  
  
  
  
}
