@charset "utf-8";

/*===========　レスポンシブ用基礎CSS　===========*/
body {
	font-size: 1em;
	font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background-color: #faf0e6;
	width: 100%;
	margin: 0;
}

.center {
  background-color: #fef5e6;
  width: 1000px;
  margin: 0 auto;
  min-height: 100vh;
  display: flow-root;
  /* padding-bottomは、ボタン自体の下側にだけ少しあればOK */
  padding-bottom: 40px; 
}

header ul {
	display: flex;
	justify-content: space-between;
	background-color: red;
	color: #fff;
	padding: 10px 20px;
}

header ul li {
	font-size: 2em;
	font-weight: bold;
}

h1 {
	text-align: center;
	font-size: 3em;
	margin: 40px;
	font-weight: bold;
}

.responsive-title {
  text-align: center;
  font-weight: bold;
  /* 文字サイズ（1000pxの枠に対して適切に調整） */
  font-size: 3em; 
  line-height: 1.3;
  margin: 40px;
  /* ★勝手に改行させない */
  white-space: nowrap; 
}

/* PCでは1つ目の改行を消す（これで2段になる） */
.br-sp {
  display: none;
}
.br-pc-sp {
  display: inline;
}

.start {
	text-align: center;
	margin-bottom: 100px;
}

.start h2 {
	font-size: 2em;
	margin: 100px 10px 0 10px;
	font-weight: bold;
}

.start p {
	text-align: left;
	font-size: 1.5em;
	line-height: 1.5em;
	margin: 75px 30px 40px 30px;
}

h2 {
  font-size: 2em;
  margin: 20px 10px;
  font-weight: bold;
  text-align: center; /* 「はじめに」に合わせてセンターに */
}

.margin {
	margin-top: 100px;
}

img {
	display: block;
	width: 940px;
	height: 500px;
	margin: 0 auto;
	object-fit: contain;
}

p {
	text-align: left;
	font-size: 1.5em;
	line-height: 1.5em;
	margin:  30px 40px 30px;
}

span {
	font-weight: bold;
}

h3 {
	font-size: 2em;
	font-weight: bold;
	text-align: center;
}

dl {
	margin: 0 10px 20px 10px;
}

dt {
	font-weight: bold;
	font-size: 1.75em;
	margin: 20px 10px;
}

dd {
	margin: 20px 10px;
	font-size: 1.5em;
}

.google {
	text-align: center;
}

.instagram {
	margin: 20px 20px 10px 20px;
	font-size: 1.5em;
}

a {
	color: blue;
	margin: 20px 20px 10px 20px;
	font-size: 1.5em;
}

a:hover {
	color: yellow;
}

.end h2 {
  margin-top: 100px; /* 前のコンテンツとの距離だけ残す */
  text-align: center;
  /* font-sizeなどは h2 共通のものが適用されます */
}

.end p {
  text-align: center;
  margin-bottom: 10px;
  /* margin-top: 100px; は削除してOK（h2との隙間が空きすぎるため） */
  margin-top: 20px; 
}

.fix-text {
  display: inline-block;
  text-align: center;
  white-space: nowrap; /* 指定した<br>以外では改行しない */
  line-height: 2.0;
  font-size: 1.5em;
  color: #333;
}

/* PCではスマホ専用改行を隠す（これで4段になる） */
.only-sp {
  display: none;
}

/* ボタンを囲む箱 */
.bottom-back {
  /* position: absolute; は削除 */
  display: flex;
  justify-content: center; /* 左右中央 */
  margin-top: 0;           /* ★ここも0にするとさらに詰まります */
}

/* ボタン自体のデザイン */
.bottom-back a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  
  width: 100px;
  height: 100px;
  border-radius: 50%;
  
  text-decoration: none;
  background-color: red;
  color: #fff;
  font-weight: bold;
  font-size: 1em;
  line-height: 1.2;
}

/*ボックスモデルをborder-boxに変更*/
* {
	box-sizing: border-box;
}

/*フルードイメージ*/
img {
	max-width: 100%;
}

/*回転時の文字調整封印*/
html{
  -webkit-text-size-adjust: 100%;
}

/*===========　スマホ用　通常時　===========*/
body {
	font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*===========　スマホ用（画面幅が1000px以下の場合）　===========*/
@media screen and (max-width: 1000px) {

  /* 1. 全体を囲む箱を画面幅いっぱいにする */
.center {
    width: 100%;
  }

  .bottom-back a {
    width: 80px;
    height: 80px;
    font-size: 0.8em;
  }

  /* 2. ヘッダーの文字サイズを調整 */
  header ul li {
    font-size: 1.2em;
  }

.responsive-title {
    /* ★画面幅(vw)に合わせて文字を自動伸縮させる */
    /* 3行目がはみ出さないギリギリのサイズ（6vw前後）に調整 */
    font-size: 6.2vw; 
    margin: 20px 10px;
    /* スマホでも勝手に改行させない */
    white-space: nowrap; 
  }

  /* スマホでは両方の改行を出す（これで3段になる） */
  .br-sp {
    display: inline;
  }
  .br-pc-sp {
    display: inline;
  }

  /* 3行になると文字が詰まって見えるので、行間を少し広げると綺麗です */
  h1 {
    line-height: 1.4;
    font-size: 1.6em; /* 3行なので少しサイズを落とすと収まりが良いです */
  }

  /* 4. 画像を横幅いっぱいにする（高さは自動で調整されるように） */
  img {
    width: 100%;
    height: auto !important; /* スマホではみきれないように自動に強制する */
    padding: 0 10px; /* 左右に少し隙間を作る */
  }

  /* 5. 文字サイズや余白をスマホ向けに小さくする */
  .start p, p, dd, a, .instagram {
    font-size: 1.1em;
    margin: 20px 15px;
  }

	h2 {
    font-size: 1.5em; 
  }

  h3 {
    font-size: 1.4em;
  }

  dt {
    font-size: 1.3em;
  }

  /* 6. Googleマップを画面幅に合わせる */
  .google iframe {
    width: 100% !important;
    height: 300px;
    padding: 0 10px;
  }

	.end {
			margin-top: 60px;
		}

	.end h2 {
    margin-top: 0; /* 親の .end に margin があるので 0 でOK */
  }

		.fix-text {
			/* 5段にするので、文字サイズを読みやすい大きさに戻せる */
			font-size: 4vw !important; 
			white-space: nowrap;
			display: inline-block;
		}

		/* スマホ専用改行を表示する（これで5段になる） */
		.only-sp {
			display: inline;
		}


