@charset "utf-8";

/* ------------------------ */
/* 神社タイプ診断ページ
/*------------------------- */
.howlong-wrap {margin: 30px 0 0;}
.special section .howlong-wrap p.howlong {text-align: center; font-size: 14px; color: #555;}
.special section .howlong-wrap p.howlong span {border: double 4px #555; padding: 8px 20px; border-radius: 8px;}
.special section .howlong-wrap p.privacy-note {margin-top: 20px; font-size: 14px; text-align: center; color: #ed0000;}


/* 診断全体のレイアウト */
#jinjya-diagnosis {max-width: 720px; margin: 0 auto; padding: 20px; font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; color: #333; background-color: #fefefe;}

/* ニックネーム入力欄 */
#nickname-input {margin-bottom: 20px; padding: 20px 10px 0; text-align: center; background-color: #f2e3e2; border-radius: 8px;}
#nickname-input input {padding: 10px; width: 100%; font-size: 20px; border: 1px solid #ccc; border-radius: 8px;}

/* 質問ブロック */
#question-section {margin-bottom: 20px;}

.question-block {display: none; margin-bottom: 20px; padding: 20px; background: #f2e3e2; border-left: 8px solid #cf3d1c; border-radius: 0 8px 8px 0;}
.question-block h3 {font-size: 18px; font-weight: 600; margin: 0 0 10px; background-color: #fff; border-radius: 6px;}
.question-block label {display: flex; gap: 10px; margin: 6px 0; cursor: pointer;}


/* 診断ボタン */
button#start-btn, button#submit-btn {background: none; /* 深緑に調整 */width: 360px; height: 78px; cursor: pointer; margin: 20px auto; display: inline-block;}
button#start-btn img, button#submit-btn img {width: 100%; height: auto; max-width: 360px;}
.preview-window {}
.preview-window a {font-size: 14px;}

/* 診断結果 */
#result-area {position: relative; background: #fff; padding: 20px; margin-top: 30px; box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;}
#result-area h2.kekka {font-size: 24px; text-align: center; color: #fff; background-color: #6d0606; line-height: 1.6; padding: 5px 15px; margin: 0; width: 100%; position: absolute; top: 0; left: 0;}
.result-section {display: none;}
.result-section h2 {font-size: 20px; line-height: 1.6; margin: 50px 0 20px; text-align: center; border-radius: 4px; background-color: #e6e6e6;}
#result-fushimi.result-section h2 {color: #772125; border: solid 2px #772125;}
#result-usa.result-section h2 {color: #003366; border: solid 2px #003366;}
#result-dazaifu.result-section h2 {color: #5c2d91; border: solid 2px #5c2d91;}
#result-ise.result-section h2 {color: #d4af37; border: solid 2px #d4af37;}
#result-izumo.result-section h2 {color: #6b4c3b; border: solid 2px #6b4c3b;}
#result-sumiyoshi.result-section h2 {color: #006b4e; border: solid 2px #006b4e;}
#result-suwa.result-section h2 {color: #a05c1f; border: solid 2px #a05c1f;}
.result-section p.kekka-text {margin-bottom: 20px; font-size: 15px; line-height: 1.4;}
.result-section p.strong {font-size: 16px; font-weight: bold; margin-bottom: 5px;}

.kekka-text-ul {}
.kekka-text-ul ul {list-style: disc; padding: 10px 10px 10px 35px; font-size: 15px;}
#result-fushimi .kekka-text-ul ul {background-color: #f6d7d9;}
#result-usa .kekka-text-ul ul {background-color: #d1e2f4;}
#result-dazaifu .kekka-text-ul ul {background-color: #e5d5f6;}
#result-ise .kekka-text-ul ul {background-color: #f5edd2;}
#result-izumo .kekka-text-ul ul {background-color: #e0cdc2;}
#result-sumiyoshi .kekka-text-ul ul {background-color: #d3f6ed;}
#result-suwa .kekka-text-ul ul {background-color: #f6e4d3;}
.kekka-text-ul ul li {}

/* ポップアップオーバーレイ */
#popup-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3); /* 背景を半透明黒に */
  justify-content: center;
  align-items: center;
  z-index: 100;
  animation: fadeIn 0.3s ease;
}

/* ポップアップコンテンツ */
#popup-content {
  position: relative;
  background: white;
  padding: 20px;
  border-radius: 10px;
  max-width: 90%;
  max-height: 90%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: scaleFade 0.3s ease;
}

#popup-content img {
  width: 100%;
  height: auto;
  display: block; margin: 0 auto; max-width: 260px;
}

/* ✕ ボタン */
#popup-close {
  position: absolute;
  top: 8px;
  right: 12px;
  background: none;
  border: none;
  font-size: 24px;
  color: #333;
  cursor: pointer;
}

/* アニメーション */
@keyframes scaleFade {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fadeIn {
  from {
    background-color: rgba(0, 0, 0, 0);
  }
  to {
    background-color: rgba(0, 0, 0, 0.3);
  }
}



/* SNSシェア */
#sns-share {margin: 30px 0; text-align: center;}
#sns-share a img {width: 100%; height: auto; max-width: 40px;}
.special section #sns-share p.copyshare {margin: 20px 0 10px;}
textarea#share-text {width: 100%; max-width: 400px; height: 120px; margin: 0 auto; padding: 15px;}
button#copy-share-text {display: block; margin: 10px auto 0; padding: 8px 16px; width: 240px; height: 40px; border-radius: 24px; color: #fff; text-align: center; background-color: #333; transition: 0.3s;}
button#copy-share-text:hover {background-color: #999;}


@media only screen and (max-width: 767px) {
	
}

@media only screen and (max-width: 429px) {
    .special section .howlong-wrap p.howlong {font-size: 3vw;}
    .special section .howlong-wrap p.privacy-note {font-size: 3vw;}
    button#start-btn, button#submit-btn {width: 260px; height: 56px;}
    button#start-btn img, button#submit-btn img {max-width: 240px;}
    .question-block {padding: 10px; border-left: 4px solid #cf3d1c;}
    .question-block h3 {font-size: 16px; padding: 10px;}
    .question-block label {font-size: 15px;}
}




