@charset "UTF-8";

/* ================================================
  1. 全体・共通設定
================================================ */
*, *::before, *::after {
  box-sizing: border-box;
}

article {
  max-width: 640px;
  margin: 0 auto;
  background-color: #ffffff;
  color: #000000;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
}

figure {
  margin: 0;
  padding: 0;
}

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

.min {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
}

/* --------------------------------
	#cover & #sec
-------------------------------- */
#cover h1 {
  margin: 0;
  padding: 0;
}

/* --------------------------------
	#sec01
-------------------------------- */
#sec01 {
  padding: 30px 20px;
  background-color: #ffffff;
}

#sec01 p {
  color: #000000;
  text-align: left;
  line-height: 1.85;
  font-size: min(19.5px, 4.2vw);
  margin: 0;
  font-weight: 400;
}

/* --------------------------------
	#sec02 (Q&Aエリア)
-------------------------------- */
#sec02.qa-bg {
  background-color: #fffca3;
  padding: 20px 12px 10px;
}

.qa-block {
  margin-bottom: 15px;
}

/* ※重複していた .qa-q-row と .qa-q-icon の定義を整理統合しました */
.qa-q-row {
  display: flex;
  align-items: center;
  padding: 10px 0 12px;
}

.qa-q-icon {
  width: 65px;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .qa-q-icon {
    width: 55px;
  }
}

.qa-q-icon img {
  width: 100%;
  height: auto;
}

.qa-block:nth-child(1) .qa-q-text {
  margin-left: 0;
}

.qa-block:nth-child(n+2) .qa-q-text {
  margin-left: 12px;
}

.qa-q-text {
  flex: 1;
  font-family: "TBMaruGothic Std", "TB丸ゴシック Std", "TBMaruGothic", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "ヒラギノ丸ゴ Pro", "メイリオ", sans-serif;
  font-size: min(24px, 4.2vw);
  font-weight: bold;
  color: #111111;
  line-height: 1.45;
}

.qa-a-card {
  background-color: #ffffff;
  border-radius: 14px;
  padding: 20px 13px 22px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.03);
}

.qa-a-heading-wrap {
  position: relative;
  width: 100%;
}

.qa-a-bg-img {
  width: 100%;
  height: auto;
  display: block;
}

.qa-a-heading-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 26% 0 5%;
  box-sizing: border-box;
}

.qa-a-heading-text p,
.qa-a-heading-text .qa-heading-title {
  font-family: "TBMaruGothic Std", "TB丸ゴシック Std", "TBMaruGothic", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "ヒラギノ丸ゴ Pro", "メイリオ", sans-serif;
  color: #111111;
  font-weight: bold;
  line-height: 1.35;
  margin: 0;
}

.qa-body {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", sans-serif;
  padding: 5px 7px 0;
}

.qa-body p {
  font-size: min(16px, 3.5vw);
  line-height: 1.7;
  margin: 0 0 12px 0;
  color: #000000;
  font-weight: 400;
  text-align: justify;
}

.qa-body p:last-child {
  margin-bottom: 0;
}

.qa-link-ttl {
  text-align: center !important;
  font-size: min(16px, 3.5vw) !important;
  color: #333333;
  margin: 18px 0 3px !important;
  font-weight: 400;
}

.qa-btn-area {
  text-align: center;
}

.btn-green {
  display: inline-block;
  width: 100%;
  background-color: #00aa3b;
  color: #ffffff !important;
  text-decoration: none;
  font-weight: bold;
  font-size: min(18px, 3.3vw);
  padding: 11px 5px;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
  transition: opacity 0.2s ease;
}

.btn-green:hover {
  opacity: 0.88;
}

.qa-block:nth-child(1) .qa-body,
.qa-block:nth-child(2) .qa-body,
.qa-block:nth-child(5) .qa-body {
  margin-top: -25px;
  position: relative;
  z-index: 1;
}

/* --------------------------------
	#sec05
-------------------------------- */
#sec05 {
  padding: 40px 20px;
}

#sec05 .box01_thumb {
  margin-bottom: 12px;
}

/* --------------------------------
	#sec07
-------------------------------- */
#sec07 {
  width: 100%;
}

.sec07-banner-wrap {
  position: relative;
  width: 100%;
}

.sec07-banner-text {
  position: absolute;
  top: 10px;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 6% 2%;
  box-sizing: border-box;
  color: #ffffff;
}

.sec07-banner-text .catch {
  font-weight: 400;
  line-height: 1.4;
  margin: 20px 0;
  font-size: min(28px, 5.1vw);
}

.sec07-banner-text .desc {
  line-height: 1.5;
  margin: 0;
  font-size: min(20px, 4.2vw);
  font-weight: 400;
}

/* --------------------------------
	パーツ・波線マーカー
-------------------------------- */
.marker-pink {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='6' viewBox='0 0 20 6'%3E%3Cpath d='M-5,3 Q0,1 5,3 T15,3 T25,3' fill='none' stroke='%23fcb5de' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 20px 6px;
  padding-bottom: 4px; 
  text-decoration: none;
  font-weight: 700;
}

/* ================================================
  追従バナー（位置調整・PC中央配置・1px隙間防止）
================================================ */
#followBanner,
.follow-banner,
#fixed_btn,
.fixed_btn,
[id*="follow"],
[class*="fixed"] {
  position: fixed !important;
  bottom: -1px !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 auto !important;
  transform: none !important;
  z-index: 99999 !important;
  line-height: 0 !important;
}

#followBanner img,
.follow-banner img,
#fixed_btn img,
.fixed_btn img,
[id*="follow"] img,
[class*="fixed"] img {
  display: block !important;
  vertical-align: bottom !important;
  margin: 0 auto !important;
}