﻿@charset "utf-8";

/*---------------------
  サブタイトル
---------------------*/

.backpic1 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht2.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 11vw;
	padding-right: 0px;
	padding-bottom: 6vw;
	padding-left: 0px;
}
@media (max-width: 768px) {
.backpic1 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht2sp.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 15vw;
	padding-right: 0px;
	padding-bottom: 14vw;
	padding-left: 0px;
	margin-top: 100px;
}
}
.backpic2 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht3.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 11vw;
	padding-right: 0px;
	padding-bottom: 6vw;
	padding-left: 0px;
}
@media (max-width: 768px) {
.backpic2 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht3sp.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 15vw;
	padding-right: 0px;
	padding-bottom: 14vw;
	padding-left: 0px;
	margin-top: 100px;
}
}
.backpic3 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht4.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 11vw;
	padding-right: 0px;
	padding-bottom: 6vw;
	padding-left: 0px;
}
@media (max-width: 768px) {
.backpic3 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht4sp.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 15vw;
	padding-right: 0px;
	padding-bottom: 14vw;
	padding-left: 0px;
	margin-top: 100px;
}
}
.backpic4 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht5.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 11vw;
	padding-right: 0px;
	padding-bottom: 6vw;
	padding-left: 0px;
}
@media (max-width: 768px) {
.backpic4 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht5sp.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 15vw;
	padding-right: 0px;
	padding-bottom: 14vw;
	padding-left: 0px;
	margin-top: 100px;
}
}
.backpic5 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht6.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 11vw;
	padding-right: 0px;
	padding-bottom: 6vw;
	padding-left: 0px;
}
@media (max-width: 768px) {
.backpic5 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht6sp.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 15vw;
	padding-right: 0px;
	padding-bottom: 14vw;
	padding-left: 0px;
	margin-top: 100px;
}
}
.backpic6 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht7.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 11vw;
	padding-right: 0px;
	padding-bottom: 6vw;
	padding-left: 0px;
}
@media (max-width: 768px) {
.backpic6 {
	margin-right: auto;
	margin-left: auto;
	z-index: -1000;
	text-align: center;
	background-attachment: scroll;
	background-image: url(../img/ht7sp.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 15vw;
	padding-right: 0px;
	padding-bottom: 14vw;
	padding-left: 0px;
	margin-top: 100px;
}
}
/*---------------------
  ヘッド文字
---------------------*/
.caption2 {
  font-size: 1.9rem;     /* 約30px */
  line-height: 1.6;      /* 推奨：可読性を保つ倍率 */
  font-weight: 500;
  color: #fff;
  text-align: center;
  letter-spacing: 0.2em;
  position: static; /* 通常の表示 */
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
}
@media (max-width: 768px) {
.caption2 {
  font-size: 1.5rem;     /* 約30px */
  line-height: 1.6;      /* 推奨：可読性を保つ倍率 */
  font-weight: 500;
  color: #fff;
  text-align: center;
  letter-spacing: 0.2em;
  position: static; /* 通常の表示 */
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
}	
}
/*---------------------
  ぱんくず
---------------------*/

.breadcrumb {
	width: 100%;
	max-width: 1000px;
	font-size: 90%;
	color: #333;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	padding-top: 20px;
}

.breadcrumb ul {
  display: flex;
  flex-wrap: wrap;    /* スマホで折り返し可能 */
  list-style: none;
  padding: 0;
  margin: 0;
}

.breadcrumb li {
  display: flex;
  align-items: center;
}

.breadcrumb li + li::before {
  content: "›";       /* 「>」よりも見やすい記号 */
  margin: 0 8px;
  color: #999;
}

/* リンク共通 */
.breadcrumb a {
  color: inherit;         /* 色は親に従う */
  text-decoration: none;  /* 通常は下線なし */
}

.breadcrumb a:hover,
.breadcrumb a:focus {
  text-decoration: underline;
}

/* 現在ページ */
.breadcrumb li[aria-current="page"] {
  font-weight: bold;
  color: #000;
}

@media (max-width: 768px) {
.breadcrumb {
	width: 100%;
	max-width: 1000px;
	font-size: 84%;
	color: #333;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	padding-top: 20px;
}

.breadcrumb ul {
  display: flex;
  flex-wrap: wrap;    /* スマホで折り返し可能 */
  list-style: none;
  padding: 0;
  margin: 0;
}

.breadcrumb li {
  display: flex;
  align-items: center;
}

.breadcrumb li + li::before {
	content: "›";
	color: #333;
	margin-top: 0;
	margin-right: 6px;
	margin-bottom: 0;
	margin-left: 2px;
}

/* リンク共通 */
.breadcrumb a {
	color: inherit;         /* 色は親に従う */
	text-decoration: none;  /* 通常は下線なし */
	margin-left: 10px;
	margin-right: 5px;
}

.breadcrumb a:hover,
.breadcrumb a:focus {
  text-decoration: underline;
}

/* 現在ページ */
.breadcrumb li[aria-current="page"] {
	font-weight: 400;
	color: #000;
}
}

/*---------------------
  テンプレートレイアウト
---------------------*/


.about-section {
	width: 100%; /* 上下の余白 */
	padding-top: 60px;
	padding-right: 0;
	padding-left: 0;
}

/* コンテンツ幅制限＋中央寄せ */
.about-inner {
  max-width: 1300px; /* ←固定ではなく max-width にすると小さい画面で縮む */
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/* 左右ボックス */
.about-boxes {
	display: flex;
	justify-content: space-between;
	gap: 20px; /* 少し隙間 */
	flex-wrap: wrap;
}

/* 個別ボックス */
.about-box {
	flex: 1 1 600px; /* 最小600pxで確保、余白に応じて伸縮 */
	max-width: 600px;
	box-sizing: border-box;
}

/* --- レスポンシブ対応 --- */
@media screen and (max-width: 1024px) {
  .about-box {
    flex: 1 1 48%; /* タブレットでは2カラム */
    max-width: 100%;
  }
}

@media screen and (max-width: 768px) {
 
.about-section {
	padding-top: 30px;
	padding-right: 0;
	padding-bottom: 100px;
	padding-left: 0;
}
  .about-boxes {
    flex-direction: column; /* スマホでは縦並び */
    gap: 20px;
  }
  .about-box {
    flex: 1 1 100%;
    max-width: 100%;
  }
}


/* sectio2 */
.about-section2 {
  width: 100%;
  box-sizing: border-box;
  padding: 60px 20px 160px 20px;
}

.about-inner2 {
	max-width: 1300px;
	display: flex;
	flex-wrap: wrap;
	gap: 104px;
	justify-content: flex-start; /* 上段は左揃え */
	align-items: flex-start;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 125px;
	margin-left: auto;
}

/* 下段専用コンテナ */
.about-inner2-second-row {
  max-width: 784px; /* 340px * 2 + gap(40px) = 720px, 少し余裕 */
  margin: 40px auto 0; /* 上段との間隔と中央寄せ */
  display: flex;
  gap: 104px;
  justify-content: center; /* 中央揃え */
}

.about-box2 {
	width: 340px;
	box-sizing: border-box;
	text-align: center;
}

.about-box2 img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 12px;
}

.about-box2 .btn {
  display: inline-block;
  padding: 8px 16px;
  background: #FF9A08;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  margin-top: 12px;
}

/* スマホ対応 */
@media screen and (max-width: 1024px) {
.about-section2 {
  padding: 60px 20px 60px 20px;
}
  .about-inner2 {
	margin-bottom: 0px;
}
  .about-inner2,
  .about-inner2-second-row {
    justify-content: center;
    gap: 20px;
  }
  .about-box2 {
	width: 100%;
	max-width: 340px;
	margin-bottom: 100px;
  }
}


.thought-section {
	width: 100%;
	box-sizing: border-box;
	padding-top: 100px;
	padding-right: 20px;
	padding-bottom: 160px;
	padding-left: 20px;
}

/* 中央にコンテンツ幅を制限 */
.thought-inner {
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  gap: 63px;             /* 左右間隔 */
  align-items: flex-start; 
  flex-wrap: wrap;        /* スマホで縦並びにする */
}

/* 左画像 */
.thought-left-box img {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
}

/* 右ボックス */
.thought-right-box {
	max-width: 550px;
	margin-top: 80px;      /* 左側より下にずらす */
}

/* --- レスポンシブ --- */
@media screen and (max-width: 1024px) {
  .thought-section {
	width: 100%;
	box-sizing: border-box;
	padding: 30px 15px 50px 15px;
}

  .thought-inner {
	flex-direction: column; /* スマホでは縦並び */
	gap: 20px;
  }

  .thought-right-box {
    max-width: 100%;
    margin-top: 20px;  
	padding-left: 15px;   /* 縦並びでは下げを少なく */
  }

  .thought-left-box img {
    max-width: 100%;       /* 画像も画面幅に合わせる */
  }
}

.thought-section2 {
	width: 100%;
	box-sizing: border-box;
	padding-top: 100px;
	padding-right: 20px;
	padding-bottom: 160px;
	padding-left: 20px;
}

.thought-inner2 {
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  gap: 48px;             /* 左右の間隔 */
  align-items: flex-start;
  flex-wrap: wrap;         /* スマホで縦並びにする */
  flex-direction: row-reverse; /* PCで左右反転 */
}

/* 左右ボックス */
.thought-left-box2,
.thought-right-box2 {
  box-sizing: border-box;
}

/* 左側（画像） */
.thought-left-box2 img {
  width: 100%;
  max-width: 650px;
  height: auto;
  display: block;
}

/* 右側（文章） */
.thought-right-box2 {
	max-width: 500px;
	margin-top: 80px;       /* 下げたい場合 */
}

/* --- レスポンシブ --- */
@media screen and (max-width: 1024px) {
.thought-section2 {
	width: 100%;
	box-sizing: border-box;
	padding: 30px 15px 50px 15px;
}
  .thought-inner2 {
    flex-direction: column; /* スマホは縦並び */
    gap: 20px;
  }

  .thought-right-box2 {
    max-width: 100%;
    margin-top: 20px; 
	padding-left: 15px;      /* 下げ少なめ */
  }

  .thought-left-box2 img {
	max-width: 100%;         /* 画像も画面幅に合わせる */
	margin-bottom: 30px;
  }
}
.thought-section3 {
	width: 100%;
	box-sizing: border-box;
	padding: 60px 20px 160px 20px;
}

/* 中央にコンテンツ幅を制限 */
.thought-inner3 {
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  gap: 63px;             /* 左右間隔 */
  align-items: flex-start; 
  flex-wrap: wrap;        /* スマホで縦並びにする */
}

/* 左画像 */
.thought-left-box3 img {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
}

/* 右ボックス */
.thought-right-box3 {
	max-width: 570px;
	margin-top: 0px;      /* 左側より下にずらす */
}

/* --- レスポンシブ --- */
@media screen and (max-width: 1024px) {
  .thought-section3 {
	width: 100%;
	box-sizing: border-box;
	padding: 30px 15px 60px 15px;
}

  .thought-inner3 {
    flex-direction: column; /* スマホでは縦並び */
    gap: 20px;
  }

  .thought-right-box3 {
    max-width: 100%;
    margin-top: 20px;     /* 縦並びでは下げを少なく */
	padding-left: 15px;
  }

  .thought-left-box3 img {
    max-width: 100%;       /* 画像も画面幅に合わせる */
  }
}


/* --- overview --- */
.overview-section {
	width: 100%;
	box-sizing: border-box;
	padding: 60px 20px 160px 20px; /* 外枠の余白 */
	overflow: hidden;
}

/* 中央にコンテンツ幅を制限 */
.overview-inner {
	max-width: 1000px;
	width: 1000px;
	box-sizing: border-box;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 60px;
	margin-left: auto;
	background-color: #FFF;
	padding-top: 90px;
	padding-right: 8.5%;
	padding-bottom: 90px;
	padding-left: 8.5%;
}

/* 最後のボックスだけ下の余白を消す */
.overview-inner:last-of-type {
  margin-bottom: 0;
}

/* レスポンシブ（480px以下は除外） */
@media (max-width: 1024px) {
  .overview-inner {
    margin-bottom: 100px; /* 画面幅が狭い時は少し余白を小さく */
	width: 100%;
  }
}

@media (max-width: 768px) {
  
  .overview-section {
	width: 100%;
	box-sizing: border-box; /* 外枠の余白 */
	padding-top: 60px;
	padding-right: 20px;
	padding-bottom: 60px;
	padding-left: 20px;
}
  .overview-inner {
	padding-top: 30px;
	padding-right: 7%;
	padding-bottom: 50px;
	padding-left: 7%;
}
}
/* --- overview-section2 --- */
.overview-section2 {
	width: 100%;
	box-sizing: border-box;
	padding-top: 20px;
	padding-bottom: 40px;
}

/* 中央にコンテンツ幅を制限 */
.overview-inner2 {
  max-width: 1150px;
  margin: 0 auto;
  display: flex;
  gap: 60px;             /* 左右間隔 */
  align-items: flex-start; 
  flex-wrap: wrap;        /* スマホで縦並びにする */
}

/* 左画像 */
.left-box2 img {
  width: 100%;
  max-width: 380px;
  height: auto;
  display: block;
}

/* 右ボックス */
.right-box2 {
	flex: 1;
	max-width: 680px;       /* 下げたい場合 */
	margin-top: -20px;
}

@media (max-width: 1024px) {
  .overview-inner2 {
	justify-content: center; /* 画像＋文章を中央寄せ */
	gap: 40px;
	margin-right: 30px;
	margin-left: 30px;
  }
}

@media (max-width: 768px) {
	.overview-section2 {
	  padding-top: 10px;
	  padding-bottom: 60px;
  }
  .overview-inner2 {
    flex-direction: column;  /* 画像と文章を縦並びに */
    gap: 40px;               /* 間隔をさらに狭める */
  }

  .left-box2 img,
  .right-box2 {
    max-width: 100%;         /* 画面幅いっぱいに */
  }
}

.overview-section3 {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-top: 150px;
  padding-bottom: 100px;
}

/* --- レスポンシブ対応 --- */
@media (max-width: 1024px) {
  .overview-section3 {
    padding-top: 100px;
    padding-bottom: 80px;
    max-width: 90%; /* 少し余裕を持たせる */
  }
}

@media (max-width: 768px) {
  .overview-section3 {
    padding-top: 80px;
    padding-bottom: 60px;
    max-width: 92%;
  }
}

.overview-section4 {
  width: 100%;
  box-sizing: border-box;
  padding: 60px 20px 160px 20px; /* 外枠の余白 */
}

/* 中央にコンテンツ幅を制限 */
.overview-inner4 {
	max-width: 1000px;
	width: 100%;
	box-sizing: border-box;
	margin-right: auto;
	margin-bottom: 60px;
	margin-left: auto;
	height: 450px;
}

/* 最後のボックスだけ下の余白を消す */
.overview-inner4:last-of-type {
  margin-bottom: 0;
}

/* レスポンシブ（480px以下は除外） */
@media (max-width: 1024px) {
  .overview-inner4 {
	margin-bottom: 100px; /* 画面幅が狭い時は少し余白を小さく */
	padding-right: 20px;
	padding-left: 20px;
  }
}

@media (max-width: 768px) {
  .overview-inner4 {
	margin-bottom: 60px;
  }
}



/* =============================
   facility
============================= */
.facility-section {
  width: 100%;
  box-sizing: border-box;
  padding: 60px 0px 100px;
}

.facility-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px;
  margin: 0 auto 80px;
  box-sizing: border-box;
}

/* =============================
   幅設定
============================= */
.facility-row.narrow {
	max-width: 1080px;
	padding-top: 40px;
}

.facility-row.wide {
  max-width: 1300px;
}

/* =============================
   画像ボックス
============================= */
.facility-box {
  text-align: center;
  box-sizing: border-box;
}

.facility-row.narrow .facility-box {
  flex: 1 1 470px;
  max-width: 470px;
}

.facility-row.wide .facility-box {
  flex: 1 1 340px;
  max-width: 340px;
}

.facility-box img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 6px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 0px;
	padding-bottom: 20px;
}



/* =============================
   レスポンシブ対応
============================= */
@media (max-width: 1024px) {
  .facility-row {
    justify-content: center;
    gap: 30px;
  }

  .facility-box {
    flex: 1 1 45%;
    max-width: 45%;
  }
}

@media (max-width: 768px) {
  .facility-section {
	padding-top: 40px;
	padding-right: 0px;
	padding-bottom: 60px;
	padding-left: 0px;
}
  .facility-row.narrow {
	padding-top: 20px;
	padding-bottom: 40px;
}
.facility-row.narrow .facility-box {
  flex: 1 1 60px;
}

.facility-row.wide .facility-box {
  flex: 1 1 60px;
}
.facility-row.wide {
	margin-bottom: 40px;
}
  .facility-row {
    flex-direction: column;
    align-items: center;
    gap: 40px;
    margin-bottom: 0px;
    padding: 0 20px; /* ✅ 左右20px余白確保 */
  }

  .facility-box {
    flex: 1 1 100%;
    max-width: 340px; /* ✅ 中央に収まるように */
  }
}


.facility-section2 {
  width: 100%;
  box-sizing: border-box;
  padding: 60px 0;
}

.facility-inner2 {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap; /* 横並びで折り返す */
  justify-content: space-between;
  box-sizing: border-box;
  padding: 0; /* 端まで詰める */
}

.facility-box2 {
  width: 50%; /* PCでは2列 */
  max-width: 600px; /* 必要に応じて */
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  margin-bottom: 120px; /* 下段との間隔 */
}

.facility-box2 img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 36px; /* 画像→タイトル */
}

/* タブレット */
@media (max-width: 1024px) {
  .facility-box2 {
    width: 48%; /* 少し間隔を空ける */
    margin-bottom: 30px;
  }
}

/* スマホ */
@media (max-width: 768px) {
  .facility-section2 {
  width: 100%;
  box-sizing: border-box;
  padding: 40px 0;
}
  .facility-inner2 {
	flex-direction: column; /* 左右余白 */
	padding-top: 0;
	padding-right: 20px;
	padding-bottom: 0;
	padding-left: 20px;
  }

  .facility-box2 {
    width: 100%;
    max-width: 100%;
    margin-bottom: 60px;
  }
  .facility-box2 img {
  margin-bottom: 16px; /* 画像→タイトル */
}
}

.facility-section3 {
  width: 100%;
  box-sizing: border-box;
  padding: 60px 20px 160px 20px; /* 外枠の余白 */
}

/* 中央にコンテンツ幅を制限 */
.facility-inner3 {
	max-width: 1000px;
	width: 100%; /* 下に120pxの間隔を追加 */
	box-sizing: border-box;
	font-size: 0.875rem; /* 14px */
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 60px;
	margin-left: auto;
	height: 500px;
}

/* 最後のボックスだけ下の余白を消す */
.facility-inner3:last-of-type {
  margin-bottom: 0;
}

/* レスポンシブ（480px以下は除外） */
@media (max-width: 1024px) {
  .facility-inner3 {
    padding: 80px 60px;
    margin-bottom: 100px; /* 画面幅が狭い時は少し余白を小さく */
  }
}

@media (max-width: 768px) {
  .facility-section3 {
  padding: 10px 20px 100px 20px; /* 外枠の余白 */
}
  .facility-inner3 {
	padding: 0px;
	margin-bottom: 40px;
	height: 400px;
  }
}



/* =========================
   dailyschedule
========================= */
.dailyschedule-section {
  width: 100%;
  box-sizing: border-box;
  padding: 60px 0;
}


/* =========================
   上段 1300px中央枠
========================= */
.dailyschedule-inner {
	max-width: 1300px;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	gap: 40px;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 110px;
	margin-left: auto;
	padding-top: 100px;
	padding-right: 20px;
	padding-left: 20px;
}

/* 左ボックス */
.schedule-box-left {
	width: 520px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin-top: 20px;
}

/* 右ボックス */

.schedule-box-right {
  width: 640px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.right-inner-box {
	background-color: #fff;     /* 上下60px、左右40px */
	box-sizing: border-box;
	width: 100%;
	padding-top: 60px;
	padding-right: 40px;
	padding-bottom: 40px;
	padding-left: 40px;
}
/* 左ボックス内の画像間隔 */
.schedule-box-left img {
  width: 100%;
  height: auto;
  display: block;
  margin-top: 70px;
}

/* =========================
   下段 1300px中央枠
========================= */
.dailyschedule-inner-bottom {
  max-width: 1300px;
  margin: 40px auto 0; /* 上段との隙間 40px */
  display: flex;
  flex-wrap: wrap; /* 折り返し対応 */
  justify-content: space-between; /* 均等配置 */
  gap: 40px; /* 横・縦の間隔 */
  padding: 0 20px;
  box-sizing: border-box;
}

/* 画像ボックス */
.schedule-image-box {
  width: calc((100% - 2 * 40px) / 3); /* 3列均等 */
  box-sizing: border-box;
}

.schedule-image-box img {
  width: 100%;
  height: auto;
  display: block;
}

/* =========================
   レスポンシブ対応
========================= */
@media (max-width: 1024px) {
  .dailyschedule-inner {
    flex-direction: column;
    gap: 20px;
  }

  .schedule-box-left,
  .schedule-box-right {
    width: 100%;
  }

  .dailyschedule-inner-bottom {
    justify-content: center;
    gap: 20px;
  }

  .schedule-image-box {
    width: 48%; /* タブレットは2列 */
  }
}

@media (max-width: 768px) {
  .dailyschedule-section {
	padding-top: 40px;
	padding-right: 0;
	padding-bottom: 60px;
	padding-left: 0;
}
  .schedule-box-left {
	margin-top: 0px;
	margin-bottom: 40px;
}
  
  .dailyschedule-inner,
  .dailyschedule-inner-bottom {
    padding: 0 20px;
  }

  .schedule-image-box {
    width: 46%; /* スマホも2列 */
  }

  .right-inner-box {
	padding-top: 20px;
	padding-right: 14px;
	padding-bottom: 20px;
	padding-left: 14px;
  }
}

.safe-section {
	width: 100%;
	box-sizing: border-box;
	padding-top: 100px;
	padding-right: 20px;
	padding-bottom: 150px;
	padding-left: 20px;
}

/* 中央にコンテンツ幅を制限 */
.safe-inner {
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  gap: 63px;             /* 左右間隔 */
  align-items: flex-start; 
  flex-wrap: wrap;        /* スマホで縦並びにする */
}

/* 左画像 */
.safe-left-box img {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
}

/* 右ボックス */
.safe-right-box {
	max-width: 550px;
	margin-top: 25px;      /* 左側より下にずらす */
}

/* --- レスポンシブ --- */
@media screen and (max-width: 1024px) {
  .safe-section {
	width: 100%;
	box-sizing: border-box;
	padding: 30px 15px 50px 15px;
}

  .safe-inner {
	flex-direction: column; /* スマホでは縦並び */
	gap: 20px;
  }

  .safe-right-box {
    max-width: 100%;
    margin-top: 20px;  
	padding-left: 15px;   /* 縦並びでは下げを少なく */
  }

  .safe-left-box img {
    max-width: 100%;       /* 画像も画面幅に合わせる */
  }
}
@media (max-width: 768px) {
  .safe-section {
	padding: 30px 20px 30px 20px;
}

  .safe-inner {
	flex-direction: column; /* スマホでは縦並び */
	gap: 10px;
  }

  .safe-right-box {
    max-width: 100%;
    margin-top: 0px;  
	padding-left: 15px;   /* 縦並びでは下げを少なく */
  }

  .safe-left-box img {
	max-width: 100%;
	margin-bottom: -10px;
  }
}



.safe-section2 {
	width: 100%;
	box-sizing: border-box;
	padding-top: 100px;
	padding-right: 20px;
	padding-bottom: 150px;
	padding-left: 20px;
}

@media (max-width: 768px) {
	
.safe-section2 {
	width: 100%;
	box-sizing: border-box;
	padding-top: 0px;
	padding-right: 20px;
	padding-bottom: 100px;
	padding-left: 20px;
}
}	

/* タブレット横
------------------------------------------------------------*/
@media screen and (max-width: 1024px) {

}
/* iPhone6 Plus
------------------------------------------------------------*/

/*---------------------
  ぱんくず
---------------------*/
