/*reset*/
@charset "UTF-8";
/*
Reset CSS:ver5.0

html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
* {
  box-sizing: border-box;
}
html {
  box-sizing: border-box;
  cursor: default;
  height: 100%;
  width: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
#wrapper {
  background: #fff;
  color: #333;
  height: 100%;
  margin: 0 auto;
  letter-spacing: 0.05rem;
  line-height: 1.5;
  width: 100%;
  max-width: 640px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
   font-family: "Zen Maru Gothic";
}
img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  margin-bottom: -2px;
}

video {
  display: block !important;
  width: 100%;
  height: auto;
  vertical-align: bottom;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: auto;
  margin-right: auto;
  clip-path: inset(2px);
}

.q_ttl {
  width: 80%;
  margin: 0 auto;
  margin-bottom: 20px;
}

/* アニメーション用 */
@keyframes fall {
  to {
    transform: translateY(100vh) rotate(720deg);
    opacity: 0;
  }
}

/* --- ベースレイアウト --- */
.scroll-question {
  background-color: #fff;
  font-size: 14px;
  position: relative;
  overflow: hidden;
  width: 100%;
}

.scroll-question-container {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  padding: 1em 0;
  /* 上下の余白のみ */
  box-sizing: border-box;
  overflow: hidden;
  /* はみ出したスライドを隠す */
}

/* --- スライドのラッパー --- */
.scroll-question-wrap {
  display: flex;
  flex-wrap: nowrap;
  /* 折り返し禁止 */
  flex-direction: row;
  gap: 0;
  /* 隙間ゼロ */
  width: 100%;
  box-sizing: border-box;
  /* JSで transform: translateX(...) を制御 */
}

/* --- 個別のスライド枠 --- */
.scroll-question-item {
  background-color: transparent;
  padding: 0 10px;
  /* 左右に余白 */
  box-sizing: border-box;
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  margin: 0;
}

/* --- カードの中身 --- */
.scroll-question-inner {
  background-color: #ffefef;
  /* 背景色 */
  border-radius: 0.5em;
  /* 角丸 */
  padding: 1em;
  /* 内側の余白 */
  height: 100%;
  box-sizing: border-box;
  border: #f27c76 2px solid;
}

/* 質問タイトル */
.scroll-question-title {
  display: flex;
  align-items: flex-start;
  /* ⚡️center から flex-start(上揃え)に変更！ */
  gap: 0.5em;
  border-bottom: #f27c76 2px solid;
  margin-bottom: 1em;
  font-family: "Zen Maru Gothic", sans-serif;
  padding-bottom: 10px;
}

.scroll-question-title .num {
  width: 2.2em;
  /* ⚡️文字とのバランスを見て少し小さく調整 */
  height: 2.2em;
  /* ⚡️ここも調整 */
  display: block;
  /* grid から block に変更 */
  border-radius: 50%;
  font-weight: 600;
  flex-shrink: 0;
  margin-top: -3px;
}

.scroll-question-title .num img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

.scroll-question-title .text {
  font-size: 1.1em;
  font-weight: 600;
  line-height: 1.4;
  color: #514341;
  margin-top: 0;
  /* 念のため上の余白を消す */
}

/* --- アンケート選択肢の共通設定 --- */
.scroll-question-content {
  display: flex;
  flex-wrap: wrap;
  /* 折り返しOK */
  gap: 10px;
  /* 選択肢同士の隙間 */
}

/* --- 基本はすべて2列（約50%幅） --- */
.scroll-question-content .answer {
  flex: 0 0 calc(50% - 5px);
  /* 横に2つ並ぶ設定 */
  width: calc(50% - 5px);
  box-sizing: border-box;
}

/* --- Q5（5番目の質問アイテム）だけ縦1列にする --- */
.scroll-question-item:nth-of-type(5) .scroll-question-content .answer {
  flex: 0 0 100%;
  /* 横幅いっぱい使う */
  width: 100%;
}

/* --- ボタン内の文字中央寄せ＆高さ統一 --- */
.scroll-question-content .answer label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  /* 2行になっても大丈夫な高さ */
  height: 100%;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
  line-height: 1.3;
  font-size: 0.8rem;
}

/* --- Q4（特定の質問）を縦2行（1カラム）にする設定 --- */
/* HTMLでQ4のアイテムに class="is-q4" を足すと制御しやすいで */
.scroll-question-item:nth-of-type(1) .scroll-question-content {
  display: flex;
  flex-direction: column;
  /* 縦に並べる */
  gap: 10px;
  /* ボタン同士の隙間 */
}

.scroll-question-item:nth-of-type(1) .answer {
  width: 100%;
  /* 横幅いっぱい */
}

/* 1列（縦並び）にするクラス */
.scroll-question-content.single-column {
  grid-template-columns: 100%;
  /* 1列にする */
}

.scroll-question-content input {
  display: none;
}

/* --- ボタンのデザイン --- */
.scroll-question-content label {
  /* 通常色 */
  color: #000;
  border-radius: 0.5em;
  text-align: center;

  /* 標準サイズ */
  padding: 1em;
  min-height: 3.5em;

  font-weight: 600;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    transform 0.1s;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

/* --- ★ここが追加箇所：ホバーと選択時の色 --- */

/* ⚡️ PC（マウスがある端末）の時だけホバーを効かせる最強の魔法 */
@media (hover: hover) and (pointer: fine) {
  .scroll-question-content label:hover {
    background-color: #f68f89;
  }
}

/* ⚡️ ついでにスマホでタップした時の一瞬のグレー背景も消しとく */
.scroll-question-content label {
  -webkit-tap-highlight-color: transparent;
}

/* 選択時（クリック直後）：さらに濃く */
.scroll-question-content input:checked + label {
  background-color: #f68f89;
  color: white;
  box-shadow: none;
  transform: translateY(2px);
}

/* --- サイズ調整用のクラス --- */

/* 小さめ（スリム） */
.scroll-question-content.cta_btn-s label {
  padding: 0.5em;
  min-height: 2.5em;
  font-size: 0.9em;
}

/* 大きめ（強調） */
.scroll-question-content.cta_btn-l label {
  padding: 1.5em;
  min-height: 4.5em;
  font-size: 1.1em;
  font-weight: bold;
}

/* 戻るボタン */
.scroll-question-back {
  width: fit-content;
  color: #514341;
  cursor: pointer;
  margin-top: 1em;
  padding: 0.5em 0;
}

.scroll-question-back .cta_btn::before {
  content: "< ";
  margin-right: 0.3em;
}

.scroll-question-back .cta_btn:hover {
  text-decoration: underline;
}

/* --- アンケートの外枠：余計な余白をカット --- */
.scroll-question-container {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  padding: 0;
  /* 上下の余白も一旦0に */
  box-sizing: border-box;
  overflow: hidden;
  /* 👈 これが重要！はみ出しを許さない */
  position: relative;
}

/* サンクス画面が出た時に、下の白い余白（Bodyの背景など）が見えないようにする */
.scroll-question-result {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  background-color: #fff0ef;
  /* 元々の背景色 */

  /* ⚡️!important を付けずにシンプルに隠す！ */
  display: none;
  opacity: 0;
}

/* ※もし .scroll-question-result.is-visible {...}                 を書いてたら、ややこしくなるから消してOKやで！ */

.scroll-question-result .thanks {
  color: #fff;
  font-weight: bold;
  line-height: 1.6;
}

.scroll-question-result img {
  width: 100%;
  display: block;
  /* 下の隙間を消す */
}

@media (max-width: 500px) {
  .scroll-question .result-btn {
    font-size: 1.2em;
  }
}

.confetti {
  position: fixed;
  top: -10px;
  z-index: 9999;
  pointer-events: none;
  /* クリックを邪魔しない */
}

@keyframes fall {
  0% {
    transform: translateY(0) rotateX(0) rotateY(0);
    opacity: 1;
  }

  100% {
    transform: translateY(100vh) rotateX(360deg) rotateY(180deg);
    opacity: 0;
  }
}

/* --- アンケート下フッターのスタイル --- */
.survey-footer {
  background-color: #fff;
  /* アンケートの背景色に合わせる */
  padding: 10px 10px;
  text-align: center;
  margin-top: -2px;
  /* 境界線をうっすら入れる */
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0 0 15px 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
}

.footer-links li a {
  color: #715a55;
  /* 文字色は少しグレーにして控えめに */
  font-size: 12px;
  text-decoration: none;
}

.footer-links li a:hover {
  color: #fff;
}

.copyright {
  color: #888;
  font-size: 10px;
  margin: 0;
}

/* --- LINEボタン（ふわふわアニメーション付与） --- */
.scroll-question .result-btn {
  /* 既存のスタイルにこれを追加（あるいは上書き） */
  display: block;
  width: 100%;
  position: relative;
  z-index: 10;

  /* アニメーションの設定：2秒かけて往復、心地よい速度変化、無限ループ */
}

.pr {
  color: #fff;
  font-size: 10px;
  text-align: right;
  padding: 5px;
}

.s-txt {
  font-size: 10px;
}

/* --- ボタンのデザイン --- */
.scroll-question-content label {
  background-color: #fba6a1;
  color: #fff;
  border-radius: 0.5em;
  text-align: center;
  padding: 1em;
  min-height: 3.5em;
  font-weight: 600;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    transform 0.1s;
  font-family: "Zen Maru Gothic", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  box-shadow: 0 4px 1px rgba(207, 136, 132, 1);
  /* ▼▼ これを追加するんや！ ▼▼ */
  flex-direction: column;
  gap: 5px;
  /* 文字と注釈の間を少し空けたいなら入れる */
}

/* --- 結果画面の注釈 --- */
.result-note {
  color: #ccc;
  /* 控えめなグレー（黒背景に馴染む） */
  font-size: 12px;
  /* 小さめ */
  text-align: left;
  /* 中央揃え（右揃えにしたい場合は right にしてな） */
  padding: 15px 20px 5px;
  /* ボタンとの間隔を少し空ける */
  margin: 0;
  line-height: 1.5;
}

.puyoBtn__area.fff {
  background-color: #fff !important;
  width: 100%;
  /* 横幅を画面いっぱいに広げる */
  max-width: 100%;
  /* 95%の制限を解除！ */
  margin: 0;
  /* 左右の余白（隙間）をなくす */
  padding: 20px 0;
  /* その代わり、上下に内側の余白を作る */
}

.puyoBtn__area.fff .cta_btn {
  width: 600px;
  max-width: 95%;
  margin: 0 auto;
  /* ボタンだけを真ん中に配置！ */
}

.puyoBtn__area {
  width: 600px;
  max-width: 95%;
  height: auto;
  margin: 20px auto;
}

.puyoBtn__area .cta_btn {
  display: block;
  width: 100%;
  height: auto;
}

.puyoBtn__area .cta_btn img {
  width: 100%;
  height: auto;
  animation: puyoBtn 1.6s ease-in infinite;
}

@keyframes puyoBtn {
  0% {
    transform: scale(1.09);
  }

  40% {
    transform: scale(1);
  }

  60% {
    transform: scale(1);
  }

  70%,
  100% {
    transform: scale(1.09);
  }
}