@charset "UTF-8";

/* ------------------------------------
   基本設定
------------------------------------ */
body {
  margin: 0;
padding-left: 100px;
  padding-right: 100px;
  font-family: 'メイリオ', 'Hiragino Kaku Gothic Pro', sans-serif;
}

/* ------------------------------------
   サイト名（ヘッダー）
------------------------------------ */
.site h1 {
  margin: 0;
  font-size: 30px;
}

.site h1 a {
  color: #000;
  text-decoration: none;
}
.site h1	{margin: 0;
	font-size: 30px}

.site img {
  border: none;
}

/* ------------------------------------
   ヘッダー画像
------------------------------------ */
.topimg {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.gaiyou a:hover	{opacity: 0.8}

.gaiyou i	{display: block;
	padding-top: 40px;
	padding-bottom: 40px;
	font-size: 38px}

.gaiyou h1	{margin-top: 0;
	margin-bottom: 0;
	padding-top: 5px;
	padding-bottom: 5px;
	font-size: 20px;
	font-weight: normal}

	
/* お知らせ */
.news	{padding: 20px;
	border: solid 5px whitesmoke}

.news h1	{margin-top: 0;
	margin-bottom: 5px;
margin-left: 20px;
	font-size: 20px;
	color: #d64646}

.news ul	{margin: 0;
	padding: 0;
	list-style: none}

.news li a	{display: block;
	padding: 5px;
	border-bottom: dotted 2px #fce0e0;
	color: #000000;
	font-size: 14px;
	text-decoration: none}

.news li a:hover {
  background-color: #ffdbdb;
}

.news iframe {
  width: 100%;
}

/* ------------------------------------
   バナー
------------------------------------ */
.banner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.banner li a {
  display: block;
  margin-bottom: 10px;
  padding: 10px;
  border-radius: 4px;
  font-size: 14px;
  text-decoration: none;
}

/* ------------------------------------
   本文（見出し）
------------------------------------ */
.heading-double {
  padding: 0.2em;
  border-bottom: 3px double #32495f;
  color: #000;
  font-size: 22px;
  font-weight: bold;
  margin-top: 30px;
  margin-bottom: 15px;
}

/* ------------------------------------
   本文（段落）
------------------------------------ */
.lead {
  color: #32495f;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 1.5em;
}

p {
  color: #32495f;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 1.2em;
}

.note {
  color: #32495f;
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 20px;
}

/* ------------------------------------
   区切り線
------------------------------------ */
.section-divider {
  border: none;
  border-top: 1px solid #ddd;
  margin: 30px 0;
}

/* ------------------------------------
   ログインボタン
------------------------------------ */
.login-btn {
  margin: 20px 0;
}

/* ------------------------------------
   サービス内容リスト
------------------------------------ */
.service-list {
  margin: 0 0 1.5em 1em;
  padding: 0;
  color: #32495f;
  line-height: 1.8;
}

/* ------------------------------------
   テーブル共通
------------------------------------ */
.table-wrapper {
  overflow-x: auto;
  margin: 20px 0;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  color: #32495f;
}

th {
  background-color: #32495f;
  color: #fff;
  padding: 10px;
  text-align: center;
}

td {
  border: 1px solid #ccc;
  padding: 10px;
  text-align: center;
}

/* 見出しセルの白い縦線 */
table th {
  border-right: 1px solid #fff;
}

table th:last-child {
  border-right: none;
}

/* ------------------------------------
   テーブル：サービス時間
------------------------------------ */
.service-hours .category {
  background-color: #889291;
  font-weight: bold;
}

/* ------------------------------------
   テーブル：月額基本料
------------------------------------ */
.fee-table .category {
  background-color: #889291;
  font-weight: bold;
}

.fee-table .sub-category {
  background-color: #bdc6ca;
  font-weight: bold;
}

/* fee-table 2段目の見出し */
.fee-table thead tr:nth-child(2) th {
  background-color: #889291;
  color: #32495f;
  font-weight: bold;
}

/* ------------------------------------
   テーブル：店舗コード
------------------------------------ */
.branch-table .branch-name {
  background-color: #889291;
  font-weight: bold;
}

/* ------------------------------------
   お問い合わせ
------------------------------------ */
.contact-tel {
  font-size: 18px;
  font-weight: bold;
  color: #32495f;
  margin-top: 10px;
}

/* ------------------------------------
   スマホ対応
------------------------------------ */
@media (max-width: 599px) {
  th,
  td {
    padding: 8px;
    font-size: 14px;
  }

  .heading-double {
    font-size: 20px;
  }
}
.service-hours th {
  border-right: 1px solid #fff; /* ← 白い縦線で区切る */
}

.service-hours th:last-child {
  border-right: none; /* 最後のセルだけ線を消す */
}
/* すべてのテーブル見出しセルに白い縦線を追加 */
table th {
  border-right: 1px solid #fff;
}

/* 最後の見出しセルだけ線を消す */
table th:last-child {
  border-right: none;
}
/* fee-table の 2段目見出しの背景色 */
.fee-table thead tr:nth-child(2) th {
  background-color: #889291;
  color: #32495f;
  font-weight: bold;
}
/* fee-table の見出しセルを白い線で区切る */
.fee-table thead th {
  border-right: 1px solid #fff;
}

/* 最後の見出しセルだけ線を消す */
.fee-table thead th:last-child {
  border-right: none;
}
.header {
  background-color: #32495f;
  padding: 10px 0;
}

.boxA {
  border-bottom: 1px solid #ddd;
}

.header-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-site img {
  display: block;
}

.header-nav {
  display: flex;
  align-items: center;
}

/* PC ではメニューボタンを非表示 */
#menubtn {
  display: none;
}


.menu a {
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  padding: 8px 5px;
}

.menu a:hover {
  opacity: 0.7;
}
@media (max-width: 768px) {

  /* メニューを縦並びに */
  .menu ul {
    flex-direction: column;
    gap: 0;
  }

  /* メニューを最初は非表示 */
  .menu {
    display: none;
    background-color: #32495f;
    padding: 10px 0;
  }

  /* メニューボタン表示 */
  #menubtn {
    display: flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: none;
    color: #fff;
    font-size: 20px;
  }

  #menubtn span {
    font-size: 14px;
  }

  /* メニュー展開時に表示するクラス */
  .menu.open {
    display: block;
  }
}
.menu a.biz {
  color: #d60000; /* 鮮やかな赤 */
  font-weight: bold;
}
/* float を完全に無効化して flex を優先させる */
.header-site,
.header-nav {
  float: none !important;
}
/* メニューを flex で横並びにする */
.menu ul {
  display: flex;
  gap: 10px; /* お好みで調整 */
}
/* ########### 359px以下 ########### */
@media (max-width: 359px) {

/* サイト名 */
.site img	{width: 225px;
	height: auto}

}


/* ########### 599px以下 ########### */
@media (max-width: 599px) {

/* ナビゲーション */
.menu li a	{padding: 10px 7px;
	font-size: 15px}

/* キャッチコピー */
.catch	{padding: 5px 10px;
	font-size: 12px}

.info-sub img {width: 100%;}

}



/* ########### 767px以下 ########### */
@media (max-width: 767px) {

/* トグルボタン */
#menubtn	{padding: 6px 12px;
	border: solid 1px #aaaaaa;
	border-radius: 5px;
	background-color: #ffffff;
	position: absolute;
	top: 20px;
	right: 15px;
	cursor: pointer}

#menubtn:hover	{background-color: #dddddd}

#menubtn:focus	{outline: none}

#menubtn i	{color: #888888;
	font-size: 18px}

#menubtn span	{display: inline-block;
	text-indent: -9999px}

/* ナビゲーションメニュー（縦並び） */
.menu	{display: none}

.menu ul	{margin: 0;
	padding: 0;
	list-style: none}

.menu li a	{display: block;
	padding: 5px;
	color: #000000;
	font-size: 14px;
	text-decoration: none}

.menu li a:hover	{background-color: #eeeeee}

.info-sub img {width: 100%;}

}

/* PC の左右余白 */
body {
  padding-left: 100px;
  padding-right: 100px;
}


/* ########### 768px以上 ########### */
@media (min-width: 768px) {

/* トグルボタン */
#menubtn	{display: none}

/* ナビゲーション */
#menu	{display: block !important}

.menu ul	{margin: 0;
	padding: 0;
	list-style: none}

.menu li a	{display: block;
	padding: 10px 15px;
	color: #000000;
	font-size: 18px;
	text-decoration: none;
	font-weight: bold}

.menu li a:hover	{background-color: #eeeeee}

.menu ul:after	{content: "";
	display: block;
	clear: both}

.menu li	{float: left;
	width: auto}

/* BOX1とBOX2を横に並べる設定 */
.header:after	{content: "";
	display: block;
	clear: both}

.header-site	{float: left;
	width: auto}

.header-nav	{float: right;
	width: auto}

/* BOX4-1とBOX4-2を横に並べる設定 */
.info:after	{content: "";
	display: block;
	clear: both}

.info-main	{float: left;
	width: 75%;
	padding-right: 35px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box}

.info-sub	{float: left;
	width: 25%}

.info-sub img {width: 100%;}



/* ########### 1190px以上 ########### */
@media (min-width: 1190px) {

/* 全体の横幅を固定 */
.photo, .info, .header-inner, .footer-inner, .pickup
	{width: 1190px;
	margin-left: auto;
	margin-right: auto}

/* BOX Aの下に罫線を挿入 */
.header	{margin-bottom: 20px;
	border-bottom: solid 1px #dddddd}

}


/* info-main を1カラムに */
.info-main {
  width: 100% !important;
  float: none !important;
  padding-right: 0 !important;
  margin-bottom: 30px;
}

/* info-sub を下に回り込ませる */
.info-sub {
  width: 100% !important;
  float: none !important;
  margin-top: 20px;
}

/* バナー画像を横並びに整列 */
.info-sub .banner {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

/* バナー画像の統一サイズ */
.info-sub .banner img {
  width: 234px;
  height: auto;
  border: none;
}


.info-sub .yoho-title {
  font-weight: bold;
  margin-bottom: 4px;
}

/* iframe（お知らせ）の下に余白 */
#inline-frame {
  width: 100%;
  border: none;
  margin-bottom: 10px;
}

/* ニュース項目のテキスト */
.news .text {
  padding: 4px 0;
  font-size: 15px;
}


/* iframe（お知らせ）の下に余白を追加 */
#inline-frame {
  width: 100%;
  border: none;
  margin-bottom: 10px;
}
.menu a.biz {
  color: red;
  font-weight: bold;
}
/* ================================
   pickup（横3 × 縦2）
================================ */

.pickup {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* ← 横3列に変更！ */
  gap: 15px;
  max-width: 1000px;
  margin: 30px auto 0;
  padding: 20px 15px;
}
.photo {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.pickup > div {
  background: #f5f5f5;
  text-align: center;
  padding: 10px 0;
  border-radius: 6px;
}

.pickup .gaiyou a {
  display: block;
  background-color: #222;
  color: #fff;
  text-decoration: none;
  padding: 10px 0;
  border-radius: 6px;
}

.pickup .gaiyou h1 {
  font-size: 1.3rem;
  margin: 0;
}

/* スマホ（2列） */
@media (max-width: 600px) {
  .pickup {
    grid-template-columns: repeat(2, 1fr);
  }
}