@charset "UTF-8";

* {
  margin: 0;
  padding: 0;
}

/* {
	outline: 1px solid magenta;
}*/


body {
  overflow-y: scroll;
  font-family: 'Noto Sans JP', sans-serif;
  background-color: #F0F0F0;
}

/* ヘッダー ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/

@media screen and (max-width: 996px) {
  .topback {
    position: fixed;
    width: 100%;
    height: 20vw;
    z-index: 1;
    background-color:#F0F0F0;
  }
  .heaaad {
    z-index: 2;
    position: fixed;
    width: 90vw;
    height: 18vw;
    margin-left: 5vw;
    margin-top: 3vw;
    background-color: #FFF;
    border-radius: 8px;
    filter: drop-shadow(0px 2px 4px rgba(49, 49, 49, 0.30));
  }
  .head_contents {
    display: flex;
  }
  .back_contents {
    width: 15vw;
    height: 18vw;
  }
  .back {
    z-index: 3;
    height: 5vw;
    padding-top: 6.5vw;
    margin-left: 3vw;
  }
  .header_text {
    font-size: 4.3vw;
    height: 6vw;
    font-weight: 600;
    padding-top: 5.5vw;
    margin-left: 4vw;
  }
/* ヘッダー ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
#detail_main {
  padding-top: 28vw;
  width: 89vw;
  margin-left: 5.5vw;
}
.detail_contaner {
  display: flex;
  align-items: flex-end;
}
.top_img {
  width: 41.5vw;
}
.top_img img {
  border-radius: 8px;
}
.top_right {
  display: block;
  margin-left: 6vw;
  width: 41.5vw;
  text-align: left;
}
.top_right_top {
  font-size: 4vw;
  font-weight: bold;
  margin-bottom: 3vw;
  color: #222;
}
.top_right_bot {
  font-size: 2.8vw;
  font-weight: normal;
  color: #707070;
  margin-bottom: 2vw;
}
/* 戸澤限定ヘッダー ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
.tozawa_detail_contaner {
  display: block;
}
.tozawa_top_img {
  width: 100%;
  margin-bottom: 3vw;
}
.tozawa_top_img img {
  border-radius: 8px;
}
.tozawa_bot {
  margin-top: 2vw;
}
.tozawa_bot_top {
  font-size: 4vw;
  font-weight: bold;
  margin-bottom: 2vw;
  color: #222;
}
.tozawa_bot_bot {
  font-size: 2.8vw;
  font-weight: normal;
  color: #707070;
}
.tozawa_title {
  margin-bottom: 4vw;
}
.tozawa_title span{
  margin-left: 4vw;
}
.tozawa_accordion_area {
  list-style: none;
  width: 100%;
}
/* 戸澤限定ヘッダー ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/

/* 衣装レンタル ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
#rental {
  padding-top: 12vw;
  width: 89vw;
  margin-left: 5.5vw;
}
.accordion-area{
  list-style: none;
  width: 100%;
}
.title span{
  margin-left: 4vw;
}
.title_contaner {
  display: flex;
  justify-content: space-between;
}
.direction_img{
  margin-right: 3vw;
}
.accordion-area li{
  padding-bottom: 2vw;
  margin-bottom: 4.5vw;
  border-bottom: solid 1px #A8A8A8;
}
.accordion-area section {
}
/*アコーディオンタイトル*/
h4 {
  font-size: 3.6vw;
  color: #222222;
  font-weight: 600;
}
/*アコーディオンで現れるエリア*/
.box {
  margin-top: 3vw;
  display: none;/*はじめは非表示*/
}
.box_contaner {
  display: flex;
  justify-content: space-between;
  height: 8vw;
}
.square1,.square2,.square3,.square4,.square5,.square6 {
  width: 2vw;
  height: 2vw;
  margin-top: 3vw;
  margin-bottom: 3vw;
  border-radius: 2px;
  margin-right: 3vw;
}
.square1 {
  background-color: #223A5E; /* ネイビー */
}
.square2 {
  background-color: #31547A; /* 落ち着いたブルーグレー */
}
.square3 {
  background-color: #495874; /* グレイッシュパープル */
}
.square4 {
  background-color: #507672; /* くすんだグリーン */
}
.square5 {
  background-color: #7C7E60; /* 落ち着いたオリーブ */
}
.square6 {
  background-color: #876A68; /* くすみレッド・ブラウン */
}

.right_side {
  display: flex;
}
p {
  font-size: 3.7vw;
  margin-top: 1.2vw;
  margin-bottom: 1.2vw;
}
.left_side {
  font-size: 3.7vw;
  margin-top: 1.2vw;
  margin-bottom: 1.2vw;
  margin-right: 3vw;
}
.direction_img {
    transition: transform 0.2s ease; /* 0.3秒かけてease関数で滑らかにアニメーション */
}
.rotate180 {
    transform: rotate(180deg);
}
/* 衣装レンタル ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/

.tax {
  margin-bottom: 3vw;
}
.tax_text {
  text-align: left;
  font-size: 3.2vw;
  color: #707070;
  font-weight: normal;
  line-height: 6vw;
}
.tozawa_tax_text {
  margin-top: 3vw;
  text-align: left;
  font-size: 3.2vw;
  color: #707070;
  font-weight: normal;
}

/* フォトプラン ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
#plan {
  padding-top: 15vw;
  width: 89vw;
  margin-left: 5.5vw;
}
.plan_contents {
  display: grid;
  grid-gap: 5vw;
  grid-template-columns: repeat(2,1fr);
  margin-bottom: 7vw;/* グリットとコメントの間 */
}
h1 {
  font-size: 5vw;
  margin-bottom: 7vw;
  color: #222;
}
h2 {
  font-size: 3.2vw;
  text-decoration: none;
  color: #222;
  margin-top: 2vw;
  font-weight: bold;
}
h3{
  font-size: 2.8vw;
  text-decoration: none;
  color: #707070;
  margin-top: 1vw;
  margin-bottom: 2vw;
  font-weight: normal;
}
a {
  text-decoration: none;
}
.item {
  width: 42vw;
}
.item_img img {
  border-radius: 8px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15); /* 透明部分を無視して枠に影をつける */
}
.comment_contents {
  display: flex;
  padding: 5vw;
  border-radius: 8px;
  background-color: #FFF;
  margin-top: 10vw;
}
.coment_img {
  width: 6vw;
  margin-right: 5vw;
}
.comment {
  width: 70vw;
  font-size: 3.2vw;
  font-weight: normal;
  color: #707070;
}
/* フォトプラン ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/

/* フッター ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .footer_contaner {
    display: flex;
    width: 100vw;
    height: 35vw;
    margin-top: 15vw;
    background-color: #303030;
    justify-content: space-between;
  }
  .biglogo {
    width: 45vw;
    margin-top: 15vw;
  }
  .footer_text {
    width: 44.5vw;
    text-align: right;
    margin-top: 10vw;
    margin-right: 5.5vw;
    font-size: 2.7vw;
    color: #A7A7A7;
  }

  /* --- モバイル用の波括弧 { } の中に追加 --- */
.tooltip-container {
  position: relative;
  display: inline-flex;
  margin-left: 2vw; /* スマホ用の間隔 */
  vertical-align: middle;
}
.question-mark {
  width: 4vw; height: 4vw; /* スマホで押しやすいサイズ */
  background-color: #A8A8A8;
  color: #FFF;
  font-size: 3vw;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tooltip-text {
  visibility: hidden; opacity: 0;
  position: absolute;
  bottom: 150%; left: 50%;
  transform: translateX(-50%);
  width: 50vw; /* スマホで見やすい幅 */
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 3vw;
  border-radius: 4px;
  font-size: 3vw;
  z-index: 100;
  transition: opacity 0.3s;
}
/* JSで表示制御 */
.tooltip-text.show {
  visibility: visible;
  opacity: 1;
}

.reservation-box {
  background-color: #FFF;
  border-radius: 8px;
  padding: 3vw;
  margin-top: 8vw;
  margin-bottom: 3vw;
  box-shadow: 0px 2px 4px rgba(49, 49, 49, 0.15);
}

.reservation-text {
  text-align: center;
  font-size: 3.2vw;
  color: #1d1d1d;
  font-weight: 500;
  margin-bottom: 1vw;
}
.reservation-text2 {
  text-align: center;
  font-size: 3vw;
  color: #7d7d7d;
  font-weight: 400;
  margin-bottom: 4vw;
}

.phone-link {
  text-decoration: none;
  display: block;
}

.phone-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2vw;
  background-color: #F8F8F8;
  border-radius: 6px;
  border: 1px solid #E0E0E0;
  transition: all 0.3s ease;
}

.phone-container:active {
  background-color: #E8E8E8;
  transform: scale(0.98);
}

.phone-icon {
  width: 3.5vw;
  height: 3.5vw;
  margin-right: 3vw;
  color: #222;
  display: flex;
  align-items: center;
  justify-content: center;
}

.phone-number {
  font-size: 3.5vw;
  font-weight: bold;
  color: #222;
  letter-spacing: 0.5px;
}

/* フッター ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
}

@media screen and (min-width: 997px) {
  .topback {
    position: fixed;
    width: 100%;
    height: 6vw;
    z-index: 1;
    background-color:#F0F0F0;
  }
  .heaaad {
    z-index: 2;
    position: fixed;
    width: 90vw;
    height: 5vw;
    margin-left: 5vw;
    margin-top: 2vw;
    background-color: #FFF;
    border-radius: 8px;
    filter: drop-shadow(0px 2px 4px rgba(49, 49, 49, 0.30));
  }
  .head_contents {
    display: flex;
  }
  .back_contents {
    width: 5vw;
    height: 5vw;
  }
  .back {
    z-index: 3;
    height: 1.4vw;
    padding-top: 1.8vw;
    margin-left: 1vw;
  }
  .header_text {
    font-size: 1.4vw;
    height: 3vw;
    font-weight: 500;
    padding-top: 1.5vw;
    margin-left: 2vw;
  }

/* ヘッダー ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
#detail_main {
  padding-top: 12vw;
  width: 70vw;
  margin-left: 15vw;
}
.detail_contaner {
  display: flex;
  align-items: flex-end;
}
.top_img {
  width: 20vw;
}
.top_img img {
  border-radius: 8px;
}
.top_right {
  display: block;
  margin-left: 5vw;
  width: 40vw;
  text-align: left;
}
.top_right_top {
  font-size: 2vw;
  font-weight: bold;
  margin-bottom: 2vw;
  color: #222;
}
.top_right_bot {
  font-size: 1.2vw;
  font-weight: normal;
  color: #707070;
  margin-bottom: 1vw;
}
/* 戸澤限定ヘッダー ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
.tozawa_detail_contaner {
  display: flex;
  align-items: flex-end;
}
.tozawa_top_img {
  width: 60vw;
}
.tozawa_top_img img {
  border-radius: 8px;
}
.tozawa_bot {
  margin-left: 3vw;
}
.tozawa_bot_top {
  font-size: 2vw;
  font-weight: bold;
  margin-bottom: 1vw;
  color: #222;
}
.tozawa_bot_bot {
  font-size: 1.2vw;
  font-weight: normal;
  color: #707070;
}
.tozawa_title {
  margin-bottom: 1vw;
}
.tozawa_title span{
  margin-left: 4vw;
}
.tozawa_accordion_area {
  list-style: none;
  width: 100%;
}
/* 戸澤限定ヘッダー ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/

/* 衣装レンタル ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
#rental {
  padding-top: 6vw;
  width: 70vw;
  margin-left: 15vw;
}
.accordion-area{
  list-style: none;
  width: 100%;
}
.title span{
  margin-left: 3vw;
}
.title_contaner {
  display: flex;
  justify-content: space-between;
}
.direction_img{
  margin-right: 2vw;
}
.accordion-area li{
  padding-bottom: 0.5vw;
  margin-bottom: 1.3vw;
  border-bottom: solid 1px #A8A8A8;
}
.accordion-area section {
}
/*アコーディオンタイトル*/
h4 {
  font-size: 1.5vw;
  color: #222222;
  font-weight: 600;
}
/*アコーディオンで現れるエリア*/
.box {
  margin-top: 2vw;
  display: none;/*はじめは非表示*/
}
.box_contaner {
  display: flex;
  justify-content: space-between;
  height: 3vw;
}
.square1,.square2,.square3,.square4,.square5,.square6 {
  width: 0.5vw;
  height: 0.5vw;
  margin-top: 1vw;
  margin-bottom: 1vw;
  border-radius: 2px;
  margin-right: 1vw;
}
.square1 {background-color: #4D174A;}
.square2 {background-color: #1C4164;}
.square3 {background-color: #731818;}
.square4 {background-color: #743C14;}
.square5 {background-color: #45460A;}
.square6 {background-color: #113408;}

.right_side {
  display: flex;
}
p {
  font-size: 1.2vw;
  margin-top: 0.5vw;
  margin-bottom: 0.5vw;
}
.left_side {
  font-size: 1.2vw;
  margin-top: 0.5vw;
  margin-bottom: 0.5vw;
  margin-right: 45vw;
}
.direction_img {
    transition: transform 0.2s ease; /* 0.3秒かけてease関数で滑らかにアニメーション */
}
.rotate180 {
    transform: rotate(180deg);
}
/* 衣装レンタル ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/

.tax {
  margin-bottom: 4vw;
  margin-top: 3vw;
}
.tax_text {
  text-align: left;
  font-size: 1.2vw;
  color: #707070;
  font-weight: normal;
  line-height: 2.4vw;
}
.tozawa_tax_text {
  margin-top: 2vw;
  text-align: left;
  font-size: 1.2vw;
  color: #707070;
  font-weight: normal;
}

/* フォトプラン ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
#plan {
  padding-top: 3vw;
  width: 70vw;
  margin-left: 15vw;
}
.plan_contents {
  display: grid;
  grid-gap: 2vw;
  grid-template-columns: repeat(4,1fr);
  margin-bottom: 3vw;/* グリットとコメントの間 */
}
h1 {
  font-size: 1.8vw;
  margin-bottom: 3vw;
  color: #222;
}
h2 {
  font-size: 1.2vw;
  text-decoration: none;
  color: #222;
  margin-top: 1vw;
  font-weight: bold;
}
h3{
  font-size: 0.8vw;
  text-decoration: none;
  color: #707070;
  margin-top: 0.7vw;
  margin-bottom: 1vw;
  font-weight: normal;
}
a {
  text-decoration: none;
}
.item {
  width: 16vw;
}
.item_img img {
  border-radius: 8px;
  filter: drop-shadow(0px 2px 4px rgba(49, 49, 49, 0.30));
}
.comment_contents {
  display: flex;
  padding: 1vw;
  border-radius: 8px;
  background-color: #FFF;
}
.coment_img {
  width: 2vw;
  margin-right: 2vw;
  margin-left: 2vw;
}
.comment {
  width: 70vw;
  font-size: 1vw;
  font-weight: normal;
  margin-right: 2vw;
  color: #707070;
}
/* フォトプラン ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/

/* フッター ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
.footer_contaner {
  display: flex;
  width: 100vw;
  height: 12vw;
  margin-top: 8vw;
  background-color: #303030;
  justify-content: flex-end;
}
.biglogo {
  display: none;
}
.footer_text {
  width: 44.5vw;
  text-align: right;
  margin-top: 3.2vw;
  margin-right: 5vw;
  font-size: 1vw;
  color: #A7A7A7;
}

/* クエスチョンマークのデザイン */
.tooltip-container {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px; /* 文字との間隔 */
  cursor: pointer;
}

.question-mark {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: #A8A8A8;
  color: #FFF;
  font-size: 11px;
  font-weight: bold;
  border-radius: 50%;
  text-align: center;
  line-height: 16px;
}

/* ポップアップ（ツールチップ）の隠し設定 */
.tooltip-text {
  visibility: hidden;
  width: 200px; /* 説明文の幅 */
  background-color: #333;
  color: #fff;
  text-align: left;
  border-radius: 6px;
  padding: 10px;
  position: absolute;
  z-index: 10;
  bottom: 125%; /* 上に表示 */
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.3s;
  font-size: 12px;
  line-height: 1.5;
  box-shadow: 0px 4px 10px rgba(0,0,0,0.2);
}

/* 小さな三角（吹き出しの角） */
.tooltip-text::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}

/* ホバー（マウスを乗せた時）に表示 */
.tooltip-container:hover .tooltip-text {
  visibility: visible;
  opacity: 1;
}

/* スマホ等でタップした時にも反応しやすくする場合 */
.tooltip-container:active .tooltip-text {
  visibility: visible;
  opacity: 1;
}

/* --- PC用の波括弧 { } の中に追加 --- */
.tooltip-container {
  position: relative;
  display: inline-flex;
  margin-left: 0.5vw;
  vertical-align: middle;
  cursor: help;
}
.question-mark {
  width: 1.2vw; height: 1.2vw;
  background-color: #A8A8A8;
  color: #FFF;
  font-size: 0.8vw;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tooltip-text {
  visibility: hidden; opacity: 0;
  position: absolute;
  bottom: 180%; left: 50%;
  transform: translateX(-50%);
  width: 15vw;
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 0.8vw;
  border-radius: 4px;
  font-size: 0.8vw;
  z-index: 100;
  transition: opacity 0.3s;
  pointer-events: none; /* マウスが乗っても邪魔しない */
}
/* PCはホバーで表示 */
.tooltip-container:hover .tooltip-text {
  visibility: visible;
  opacity: 1;
}

.reservation-box {
  background-color: #FFF;
  border-radius: 8px;
  padding: 1.5vw;
  margin-top: 3vw;
  margin-bottom: 3vw;
  box-shadow: 0px 2px 4px rgba(49, 49, 49, 0.15);
}

.reservation-text {
  text-align: center;
  font-size: 1.3vw;
  color: #1e1e1e;
  font-weight: 500;
  margin-bottom: 0.3vw;
}
.reservation-text2 {
  text-align: center;
  font-size: 1.3vw;
  color: #7c7c7c;
  font-weight: 400;
  margin-bottom: 1.2vw;
}

.phone-link {
  text-decoration: none;
  display: block;
}

.phone-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5vw;
  background-color: #F8F8F8;
  border-radius: 6px;
  border: 1px solid #E0E0E0;
  transition: all 0.3s ease;
}

.phone-container:hover {
  background-color: #E8E8E8;
  border-color: #D0D0D0;
  cursor: pointer;
}

.phone-icon {
  width: 1.5vw;
  height: 1.5vw;
  margin-right: 1.5vw;
  color: #222;
  display: flex;
  align-items: center;
  justify-content: center;
}

.phone-number {
  font-size: 1.5vw;
  font-weight: bold;
  color: #222;
  letter-spacing: 0.5px;
}

/* フッター ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
}