﻿@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;800;900&display=swap');

/* 全体基本設定 */
body {
	background-color: #fdf9f4;
}

main.lp_main {
  width: 90%;
  max-width: 400px;
  margin: 8px auto 30px auto;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400;
  font-style: normal;
}

main.lp_main img {
	width: 100%;
	margin: 0 auto;
	display: block;
}

main.lp_main a img {
  transition: 0.2s all ease 0s;   
}

main.lp_main a img:hover {
    opacity: 0.7;
    transition: 0.2s all ease 0s;
}

/* 画像エリア（四隅の角丸解除） */
main .img_area_s {
	width: 100%;
	margin: 0 auto;
	border-radius: 0 !important;
	overflow: hidden;
}

/* キャッチコピー（一番上）のスタイル追加 */
main .top_catch {
	text-align: center;         /* 中央揃え */
	font-size: 14px;            /* 文字サイズ */
	font-weight: 700;
	color: #68452e;             /* 全体の基本テキストカラー */
	margin-bottom: 4px;         /* ロゴ画像に近づけるため下マージンを小さく設定 */
	line-height: 1.4;
}

/* 部分のテキストカラー（下部ボタンカラーと同じ #be4e27） */
main .top_catch .highlight {
	color: #be4e27;
	font-weight: 700;
}

/* 一番上のロゴ画像エリア（既存のmargin上部を小さく調整） */
main .img_logo_area_s {
	width: 100px; 
	margin: 8px auto 10px auto;  /* 上マージンを変更してロゴへ近づける */
	text-align: center;
}

main .img_logo_area_s img {
	width: 100%;
	height: auto;
	display: block;
}

/* テキストエリア（文字サイズ拡大＆下に大きめオレンジ▼を縦2つ表示） */
main .copy_area_s {
 	width: 100%;
 	margin: 40px auto 30px auto;
}

main .copy_area_s p {
 	text-align: center;
 	font-size: 20px;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	line-height: 1.6;
	color: #68452e;
	letter-spacing: 0.02em;
	position: relative;
	padding-bottom: 60px; /* ▼を縦に2つ置くための下余白 */
}

/* 1つ目の▼（上の三角形：サイズ約3倍） */
main .copy_area_s p::before {
	content: "";
	position: absolute;
	bottom: 24px; /* 上側の三角形の位置 */
	left: 50%;
	transform: translateX(-50%);
	/* 三角形のサイズ拡大（幅30px/高さ18px） */
	border-style: solid;
	border-width: 18px 15px 0 15px; 
	border-color: #d5870c transparent transparent transparent;
}

/* 2つ目の▼（下の三角形：サイズ約3倍） */
main .copy_area_s p::after {
	content: "";
	position: absolute;
	bottom: 0; /* 下側の三角形の位置 */
	left: 50%;
	transform: translateX(-50%);
	/* 三角形のサイズ拡大（幅30px/高さ18px） */
	border-style: solid;
	border-width: 18px 15px 0 15px; 
	border-color: #d5870c transparent transparent transparent;
}

/* 下部オファーボタンエリア */
main .btn_camp {
	margin: 0 auto 20px auto;
}

/* クーポンGETテキスト（極太ではなく太さ700に指定） */
main .btn_camp .coupon_catch {
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
	color: #be4e27;                           /* テラコッタレッド */
	font-size: 18px;                           /* 18px */
	font-weight: 700;                          /* 太さ700（標準的な太字） */
	line-height: 1.4;
	margin: 0 auto 10px auto;
	letter-spacing: 0.04em;
}

/* 「お得に申し込む」CSSボタン（テラコッタレッド適用） */
main .btn_camp .submit_cta_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 360px;
	height: 60px;
	margin: 0 auto;
	background-color: #be4e27;                /* 強調カラーのテラコッタレッド */
	color: #ffffff;
	font-size: 22px;
	font-weight: 800;
	font-family: "Zen Maru Gothic", serif;
	text-decoration: none;
	border-radius: 30px;
	box-shadow: 0 4px 12px rgba(190, 78, 39, 0.35);
	transition: all 0.25s ease;
	position: relative;
}

main .btn_camp .submit_cta_btn:hover {
	background-color: #a33e1d;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(190, 78, 39, 0.45);
	opacity: 1;
}

main .btn_camp .submit_cta_btn .arrow_icon {
	position: absolute;
	right: 20px;
	font-size: 18px;
	font-weight: 800;
}

main .btn_camp p {
	margin: 10px auto 7px auto;
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
	color: #be4e27;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

main .btn_camp p span.cam_yellow {
	font-family: "Zen Maru Gothic", serif;
	color: #eba539;
	font-size: 14px;
	font-weight: bold;
}

/* ===================================
   アンケート質問・選択肢ボタン用CSS
=================================== */

.quiz_container {
	width: 100%;
	margin: 50px auto 20px auto;
}

.quiz_step {
	margin-bottom: 50px;
	padding-top: 10px;
}

/* 質問文の上の画像（ステップ画像等） */
.quiz_header_img {
	width: 100%;
	max-width: 380px;
	margin: 0 auto 12px auto;
}

.quiz_header_img img {
	width: 100%;
	height: auto;
	display: block;
}

/* 「＜最後の追加質問＞」サブタイトル（「簡単なアンケートに答えて…」と同スタイル） */
.quiz_sub_title {
	font-size: 20px;                          /* 20px */
	font-weight: 700;                          /* 太さ700 */
	color: #68452e;
	text-align: center;
	margin: 0 auto 10px auto;
	line-height: 1.6;
	letter-spacing: 0.02em;
	font-family: "Zen Maru Gothic", serif;
}

/* 質問文（24px / 太さ800に調整） */
.quiz_title {
	font-size: 24px;
	font-weight: 800;
	color: #68452e;
	text-align: center;
	margin: 0 0 16px 0;
	line-height: 1.4;
	font-family: "Zen Maru Gothic", serif;
}

/* 質問文の下の画像（参考写真等） */
.quiz_sub_img {
	width: 100%;
	margin: 0 auto 20px auto;
	border-radius: 10px;
	overflow: hidden;
}

.quiz_sub_img img {
	width: 100%;
	height: auto;
	display: block;
}

.quiz_options {
	display: flex;
	justify-content: space-between;
	gap: 6px;
	width: 100%;
}

.quiz_option {
	flex: 1;
	cursor: pointer;
	margin: 0;
}

.quiz_option input[type="radio"] {
	display: none;
}

/* 回答ボタン（高さを78pxに固定して統一） */
.quiz_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 78px;
	padding: 6px 3px;
	background-color: #ffffff;
	border: 2px solid #d5870c;
	border-radius: 8px;
	color: #d5870c;
	font-size: 15px;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
	text-align: center;
	line-height: 1.25;
	box-sizing: border-box;
	transition: all 0.25s ease;
	user-select: none;
}

.quiz_option:hover .quiz_btn {
	background-color: #fff8ee;
}

.quiz_option input[type="radio"]:checked + .quiz_btn {
	background-color: #d5870c;
	color: #ffffff;
	box-shadow: 0 4px 10px rgba(213, 135, 12, 0.35);
	transform: translateY(-2px);
}

/* 2×2 配置用グリッド */
.quiz_grid_2x2 {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	width: 100%;
}

/* 4問目：3つ横並び */
.quiz_row_3 {
	display: flex !important;
	justify-content: space-between;
	gap: 6px;
	width: 100%;
}

.quiz_row_3 .quiz_option {
	flex: 1;
}

/* ===================================
   回答後に表示されるオレンジ▼×3エリア
=================================== */

.result_arrows_area {
	margin: 35px auto 15px auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.result_arrows_area .arrow_item {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 18px 15px 0 15px; 
	border-color: #be4e27 transparent transparent transparent; /* 矢印の色もアクセントカラーに変更 */
}

/* ===================================
   診断結果表示エリアのスタイル（メリハリのあるテラコッタレッド強調）
=================================== */

.result_card {
	margin: 15px auto 25px auto;
	padding: 28px 18px;
	background-color: #ffffff;               /* くっきり見せるため純白に変更 */
	border: 2px solid #be4e27;               /* アクセントカラーの枠線 */
	border-radius: 16px;
	text-align: center;
	box-shadow: 0 6px 16px rgba(190, 78, 39, 0.12); /* 軽やかな影 */
	box-sizing: border-box;
}

/* 診断タイプ名（前半部分） */
.result_title {
	font-size: 20px;
	font-weight: 500;
	color: #68452e;                           /* 基本ブラウン */
	line-height: 1.4;
	margin: 0 0 16px 0;
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
}

/* 「チャレンジタイプ」などのタイプ名（テラコッタレッド＆28px極太字で目立たせる） */
.result_title .type_highlight {
	font-size: 28px !important;                /* 28px拡大 */
	font-weight: 800 !important;               /* 太さ800 */
	color: #be4e27 !important;                /* アクセントカラーに変更 */
	line-height: 1.3;
	margin-top: 4px;
	display: inline-block;
	font-family: "Zen Maru Gothic", serif !important;
}

/* 診断説明テキスト */
.result_desc {
	font-size: 18px;
	font-weight: 500;
	color: #4a2d18;
	line-height: 1.6;
	margin: 0;
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
}

/* フッター */
footer .copyright {
	padding-bottom: 60px !important;
}

/* ===================================
   スマホのみ改行させるレスポンシブ制御
=================================== */

/* PC・タブレット（画面幅481px以上）では改行タグを非表示 */
.sp_only {
	display: none !important;
}

/* スマホサイズ（画面幅480px以下）の時だけ改行タグを有効化 */
@media screen and (max-width: 480px) {
	.sp_only {
		display: inline !important;
	}
}