/* ==============================
   基本設定
============================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  max-width: none !important;
  margin: 0 !important;
  overflow-x: hidden;
}


html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
}

.wrapper {
  background-color: #FFEEEB !important; 
  width: 100% !important;
  max-width: none !important;
  /* padding: 0 15px 0px; */
}


img {
  max-width: 100%;
  height: auto;
  display: block;
}

.hero {
  padding: 0;
  margin: 0;
}


/* ==============================
   ナビゲーション / お問い合わせ上
============================== */
/* ナビ全体 */
.nav {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #F8A0A0;
}

/* リンク */
.nav a {
  flex: 1; /* ←これがポイント（均等3分割） */
  text-align: center;
  font-size: 25px;
  color: #fff;
  padding: 20px 0;
  text-decoration: none;
}

/* ==============================
   ごあいさつ
============================== */
.greeting .about{
  margin-top: 50px;
}

/* 見出し */
.greeting .title,
.about .title {
  color:#707070;
  padding-left:300px;
  font-size: 35px;
  font-weight:lighter;
  padding-top: 30px;
  padding-bottom:-90px;
}

/* 本文 */
.greeting .text,
.about .text {
  color: #707070;
  width: 65%;
  margin: 50px auto 0;
  padding: 60px 50px 50px;

  background: rgba(255, 255, 255, 0.69);
  border-radius: 100px;
}

/* ==============================
   入居対象の方
============================== */
.target {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 40px;
  max-width: 1000px;
  margin: 70px auto;
}

/* 画像 */
.target .image {
  width: 50%;
}

/* タイトル */
.target .title {
  color: #707070;
  font-size: 35px;
  font-weight: lighter;
  margin-bottom: 20px;
  text-align: center;
}

/* 文章 */
.target .text {
  color: #707070;
  padding: 50px;
  line-height: 1.8;
  background: rgba(255, 255, 255, 0.69);
  border-radius: 80px;
}

/* 注釈 */
.target .text span {
  font-size: 10px;
}


/* ==============================
   施設サービス
============================== */
.service {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 40px;
  max-width: 1000px;
  margin: 70px auto;
}

/* 画像 */
.service .image {
  width: 50%;
}

/* タイトル */
.service .title {
  color: #707070;
  font-size: 35px;
  font-weight: lighter;
  margin-bottom: 20px;
  text-align: center;
}

/* 文章 */
.service .text {
  color: #707070;
  padding: 50px;
  line-height: 1.8;
  background: rgba(255, 255, 255, 0.69);
  border-radius: 80px;
}

/* 注釈 */
.service .text span {
  font-size: 10px;
}

/* ==============================
   お部屋のご案内
============================== */

.rooms {
  background-color: #fff;
  margin-top: 50px;
}

/* タイトル */
.rooms .title {
  color: #707070;
  font-size: 35px;
  font-weight: lighter;
  width: fit-content;
  margin: 0 auto;
  padding-top: 50px;
  background-image: linear-gradient(
    to right,
    rgb(244, 169, 155) 7px,
    transparent 2px,
    transparent 5px
  );
  background-size: 10px 2px;
  background-position: bottom;
  background-repeat: repeat-x;
}

/* ==============================
   枠（住所・交通 共通）
============================== */
.rooms .info,
.rooms .access {
  width: 1000px;
  margin: 1.8em auto;
  padding: 20px 15px 15px;

  position: relative;
  border: 2px dashed #F4A99B;
  border-radius: 4px;
  color: #707070;
}

/* 左上ラベル */
.rooms .label {
  position: absolute;
  top: -15px;
  left: 20px;

  padding: 0 10px;
  background-color: #fff;
  font-size: 20px;
}

/* テキスト共通 */
.rooms .info p,
.rooms .access p {
  font-size: 35px;
  margin: 0;
}

/* 個別調整 */
.rooms .info p {
  text-align: center;
}

.rooms .access p {
  text-align: left;
  margin-left: 20px;
}

/* ==============================
  上段（面積・構造 + 画像）
============================== */
.roomtop {
  display: flex;
  justify-content: center; /* 左右のセットを中央寄せ */
  align-items: center;     /* 上下を揃える */
  margin-top: 50px;
  gap: 20px;               /* 左右の余白 */
  flex-wrap: wrap;         /* 画面が狭いと縦並びに */
}

/* 左側（情報ブロック） */
.roominfo {
  display: flex;
  flex-direction: column;
  align-items: center; /* ボックスを中央寄せ */
}

/* 共通ボックス */
.infobox {
  width: 250px; /* 少し小さめに調整 */
  height: 130px; /* 高さも少し小さく */
  border-radius: 9999px;
  background: rgba(195, 226, 159, 0.36);
  padding-top: 30px;
  padding-bottom: 5px;
  margin-top: 40px;
}

.infobox p {
  text-align: center;
  color: #707070;
}

/* タイトル */
.infotitle {
  width: fit-content;
  margin: 0 auto;
  color: #707070;

  background-image: linear-gradient(
    to right,
    rgb(165, 165, 165),
    rgb(165, 165, 165) 7px,
    transparent 2px,
    transparent 5px
  );
  background-size: 10px 2px;
  background-position: bottom;
  background-repeat: repeat-x;
}

/* 右側（部屋画像） */
.roomimage {
  width: 30%;
  height: 100%;
  margin-left:150px;
  margin-top: 80px;
  display: block;
}

/* ==============================
  下段（画像 + 料金）
============================== */
.roombottom {
  margin-top: 100px;
  display: flex;
  justify-content: center;
  gap:50px;
}

/* ギャラリー */
.gallery {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 100px;
}


/* 画像サイズ（元のまま） */
.galleryitem img:nth-child(1),
.be1 {
  width: 250px;
}

.galleryitem img:nth-child(2),
.be2 {
  width: 300px;
  margin-left: -350px;
}

.galleryitem img:nth-child(3),
.be3 {
  width: 250px;
  margin-top: 80px;
}

.galleryitem img:nth-child(4),
.be4 {
  width: 330px;
  margin-left: -350px;
  margin-top: 80px;
}

/* 注釈 */
.note {
  color: #707070;
  font-size: 10px;
}


/* ==============================
  料金
============================== */
.price {
  margin-top: 10px;
  width: 430px;
  height: 350px;
  border-radius: 10%;
  padding-top: 40px;
  padding-bottom: 90px;
  padding-left: 10px;
  padding-right: 10px;
  line-height: 30px;
  background: rgba(195, 226, 159, 0.36);
}

/* タイトル */
.pricetable {
  width: 100%;
  border-collapse: collapse;
}

.pricetable td {
  border: 1px solid #ccc;
  padding: 10px;
}

.pricetable td:first-child {
  width: 65%;
}

.pricetable td:last-child {
  text-align: right;
  width: 35%;
}


.pricetable span {
  font-size: 10px; /* 好きなサイズに調整OK */
  color: #666;     /* 少し薄くするとそれっぽい */
}

.note {
  font-size: 12px;
  margin-top: 10px;
}

/* ==============================
   FAQ
============================== */

/* 外枠 */
.faqbox {
  color: #707070;
  margin: 50px auto 0 auto;
  width: 65%;
  border-radius: 10%;
  background: rgba(255, 255, 255, 0.69);
  padding: 60px 30px 30px 30px;
  line-height: 30px;
}

/* タイトル */
.faqtitle {
  font-size: 35px;
  font-weight: lighter;
  text-align: center;
  margin-bottom: 50px;
}

/* 質問 */
.question {
  font-size: 16px;
  margin-top: 20px;
}

/* 回答（元 .mini） */
.answer {
  font-size: 10px;
}

/* ==============================
   お問い合わせ
============================== */
.contact{
  padding-bottom: 30px;
}

.contactbox {
  margin: 50px auto 0;
  width: 500px;              /* ← %やめて固定に */

  background: rgba(255, 255, 255, 0.69);
  border-radius: 9999px;

  padding: 55px 0 50px;
  text-align: center;
  line-height: 30px;
}

/* タイトル */
.contacttitle {
  color: #707070;
  font-weight: lighter;
  padding-bottom: 10px;
}

/* 電話番号 */
.contactphone {
  color: #707070;
  font-size: 25px;
}

/* ==============================
   フッター
============================== */
footer {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-top: 5px;
  background-color: #F8A0A0;
  max-width: none !important;
}


footer .footerinner {
  position: relative;   /* ← これ重要 */
  display: flex;
  align-items: center;
}

/* ロゴは左 */
footer .logo {
  margin: 0;
}

/* 文字を完全中央に固定 */
footer .rukuhausu {
  position: absolute;
  left: 50%;
  transform: translateX(-50%); /* 真ん中にする */
  text-align: center;
  color: #fff;
  font-size: 20px;
}

footer .rukuhausu span {
  font-size: 35px;
}


footer .copy {
  text-align: center;
  color: #fff;
  font-size: 18px;
}


/* レスポンシブ対応 */
/* PC（3列） */
@media screen and (min-width: 769px) {
  .nav {
    flex-direction: row;
  }
}

/* スマホ（1列） */
@media screen and (max-width: 768px) {
  .nav {
    flex-direction: column;
  }

  .nav a {
    border-top: 1px solid rgba(255,255,255,0.3);
  }
}

@media (max-width: 768px) {
  .wrapper{
    padding-left: 15px;
    padding-right: 15px;
  }
  .hero {
    margin-left: -15px;
    margin-right: -15px;
  }

  .hamburger {
    display: flex; /* スマホで表示 */
  }

  .nav {
    flex-direction: column;
    height: auto;
    padding: 10px 0;
  }

  .nav a {
    margin: 10px 0;
    font-size: 20px;
  }
  /* スライドメニューを無効化 */
  .nav {
    position: static !important;   /* 固定表示を解除 */
    right: auto !important;        /* 右位置をリセット */
    top: auto !important;          /* 上位置をリセット */
    width: auto !important;        /* 幅を自動に */
    height: auto !important;       /* 高さも自動 */
    padding-top: 0 !important;     /* 上の余白リセット */
    background-color: #F8A0A0 !important; /* 元の色に戻す */
    transition: none !important;   /* アニメーション無効 */
    overflow: visible !important;  /* スクロール設定解除 */
  }

  .greeting .title, .about .title{
    padding-left: 0px;
    text-align:center;
  }
  .greeting .text, .about .text{
    width: 100%;
  }
  .target, .service{
    display: block;
  }
  .target .image{
    width: 100%;
  }
  .service .image {
    width: 100%;
  }

  .rooms .info, .rooms .access{
    width: 100%;
  }

  .roomimage{
    width: 100%;
    margin: 0;
  }

  .roombottom{
    display: block;
  }

  .pricetable,
  .pricetable tbody,
  .pricetable tr,
  .pricetable td {
    display: block;
    width: 100%;
  }

  .pricetable tr {
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    overflow: hidden;
  }

  .pricetable td {
    border: none;
    padding: 10px;
  }

  .price {
    width: 100%;
    height:auto;
    border-radius:0%;
  }

  .pricetitle{
    text-align: center;
  }

  .pricetable td:first-child {
    width: 100%;
    background: #f7f7f7;
    font-weight: bold;
  }

  .pricetable td:last-child {
    width: 100%;
    text-align: right;
  }

  .gallery{
    margin-bottom: 0px;
  }

  .faqbox{
    border-radius: 0%;
    width: 100%;
  }

  .contactbox{
    width: 100%;
  }

  footer .footerinner {
    display: flex;
    flex-direction: column;  /* 縦並びに変更 */
    align-items: center;     /* 中央揃え */
    position: static;        /* absolute を解除 */
  }

  footer .rukuhausu {
    position: static;        /* absolute 解除 */
    transform: none;         /* 中央補正を解除 */
    margin-top: 10px;        /* ロゴとの間隔 */
    text-align: center;
  }

  footer .logo {
    margin-bottom: 10px;     /* ロゴと文字の間隔 */
  }
}