@charset "utf-8";
body {
	font: normal 18px/1.7 "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	color:#000;
	text-align: justify;
	overflow-x: hidden;
}

body .sp-item {
    display: none !important; }
  body .pc-item {
    display: block !important; }

  @media screen and (max-width: 640px) {
    body {
      min-width: inherit;
	  height:100%;
	  }
      body .sp-item {
        display: block !important; }
      body .pc-item {
        display: none !important; }
	  body .sp-item img {
		width:100%;}
}

@media screen and (max-width: 640px) {
	.sp img{
		max-width:90%;
}
	.sp02 img{
		max-width:100%;
}
.sp03 img{
		max-width:70%;
}
}

.fl_left {
	float: left;
}
.fl_right {
	float: right;
}
.ov_hd {
	overflow: hidden;
}
.bg_none {
	background-image: none!important;
}
a.rollover:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.rollover:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.center {
	text-align: center;
}
.right {
	text-align:right;
}
.line_0 {
	line-height: 0;
}
.zindex {
	z-index: 200;
}
input[type=radio] {
	width: 15px;
	height: 15px;
	vertical-align: middle;
}
input[type=image]:hover{
		opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	}


/* ----------------------------------------------------

    text

---------------------------------------------------- */
em {
	text-decoration: underline;
  font-style: normal;
}
.bd_red {
	border-bottom: 1px solid #FF0004;
	padding-bottom: 2px;
}
.bd_red02 {
	border-bottom: 3px solid #FF0004;
	padding-bottom: 0px;
}
.red {
	color: #ff0000;
}
.yellow {
	background-color: #ffff00;
}
.gray {
	color:#666666;
}
.bold {
	font-weight: bold;
}
strong {
	font-weight: bold;
}
.strike {
	text-decoration: line-through;
}
.ac {
	text-align: center !important;
}
.ar {
	text-align: right !important;
}
.al {
	text-align: left !important;
}
.bold {
	font-weight: bold !important;
}
.font10 {
	font-size: 10px !important;
}
.font11 {
	font-size: 11px !important;
}
.font12 {
	font-size: 12px !important;
}
.font13 {
	font-size: 13px !important;
}
.font14 {
	font-size: 14px !important;
}
.font15 {
	font-size: 15px !important;
}
.font16 {
	font-size: 16px !important;
}
.font17 {
	font-size: 17px !important;
	line-height:150%;
}
.font18 {
	font-size: 18px !important;
}
.font19 {
	font-size: 19px !important;
}
.font20 {
	font-size: 20px !important;
}
.font21 {
	font-size: 21px !important;
}
.font22 {
	font-size: 22px !important;
}
.font23 {
	font-size: 23px !important;
}
.font24 {
	font-size: 24px !important;
}
.font25 {
	font-size: 25px !important;
}
.font26 {
	font-size: 26px !important;
}
.font27 {
	font-size: 27px !important;
}
.font28 {
	font-size: 28px !important;
}
.font29 {
	font-size: 29px !important;
}
.font30 {
	font-size: 30px !important;
}
.font32 {
	font-size: 32px !important;
}
/* ----------------------------------------------------

    float

---------------------------------------------------- */
.fr {
	float: right !important;
}
.fl {
	float: left !important;
}
.clear {
	clear: both;
}
img {
	line-height: 0;
	padding: 0;
	margin: 0;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;/*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
/* ----------------------------------------------------
    clearfix の代用
    &#60;div class="hr"&#62;&#60;hr /&#62;&#60;/div&#62;
---------------------------------------------------- */

/* header */
/* ----------------------------------------------------
    PC Header (min-width: 641px)
---------------------------------------------------- */
@media screen and (min-width: 641px) {
	/* SPヘッダーは非表示 */
	.sp-header {
			display: none;
	}

	/* PCヘッダー設定 */
	.pc-header {
			display: flex;
			align-items: center;
			width: 100%;
			height: 80px;
			background-color: #fff;
			position: relative;
			z-index: 1000;
	}

	/* 左側：ロゴエリア */
	.pc-header-left {
			background-color: #fff;
			display: flex;
			align-items: center;
			padding: 0 40px;
			flex-shrink: 0;
	}

	.pc-header-left img {
			height: 50px;
			width: auto;
			display: block;
	}

	/* 中央：アクセス情報テキスト */
	.pc-header-center {
			flex-grow: 1;
			display: flex;
			align-items: center;
			padding-left: 30px;
	}

	.pc-header-access {
			font-size: 18px;
			font-weight: 700;
			color: #222;
			letter-spacing: 0.02em;
			margin: 0;
	}

	/* 右側：CTAボタン */
	.pc-header-right {
			flex-shrink: 0;
			display: flex;
			align-items: center;
	}

	.pc-header-cta-btn {
			display: flex;
			align-items: center;
			height: 80px;
			line-height: 0;
			transition: opacity 0.3s;
	}

	.pc-header-cta-btn:hover {
			opacity: 0.85;
	}

	.pc-header-cta-btn img {
			height: 60px;
			width: auto;
			display: block;
			margin-right: 10px;
	}
}

/* ----------------------------------------------------
	SP Header (max-width: 640px)
---------------------------------------------------- */
@media screen and (max-width: 640px) {
	/* PCヘッダーは非表示 */
	.pc-header {
			display: none;
	}

	body {
		padding-top: 60px;
	}

	/* SPヘッダー設定 */
	.sp-header {
			display: block;
			width: 100%;
			height: 60px;
			background-color: #fff;
			position: fixed;
			top: 0;
			z-index: 10000;
			box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	}

	.sp-header-inner {
			display: flex;
			justify-content: space-between;
			align-items: center;
			height: 100%;
			padding: 0 10px;
			width: 100%;
			box-sizing: border-box;
			gap: 8px;
	}

	/* ロゴエリア */
	.sp-header-logo {
			flex-shrink: 0;
	}
	
	.sp-header-logo img {
			height: 35px;
			width: auto;
			display: block;
	}

	/* 右側エリア */
	.sp-header-actions {
			display: flex;
			align-items: center;
			gap: 6px;
			flex-shrink: 0;
	}

	/* アクセスボタン（グレーボックス） */
	.sp-header-access-btn {
			display: flex;
			align-items: center;
			justify-content: center;
			text-align: center;
			background-color: #f0f0f0;
			color: #222;
			text-decoration: none;
			font-size: 11px;
			font-weight: 700;
			line-height: 1.4;
			padding: 6px 10px;
			border-radius: 4px;
			white-space: nowrap;
	}

	/* SP用CTAボタン */
	.sp-header-cta-btn {
			display: flex;
			align-items: center;
			line-height: 0;
			transition: opacity 0.3s;
	}

	.sp-header-cta-btn:hover {
			opacity: 0.85;
	}

	.sp-header-cta-btn img {
			height: 40px;
			width: auto;
			display: block;
	}
}

/* ----------------------------------------------------
	SP Drawer Menu (ドロワーメニュー)
---------------------------------------------------- */
.sp-drawer-menu {
	position: fixed;
	top: 0;
	right: -100%; /* 初期位置は画面外 */
	width: 100%;
	height: 100vh;
	background-color: rgba(255, 255, 255, 0.98);
	z-index: 10000;
	transition: right 0.4s ease;
	overflow-y: auto;
	padding-top: 80px; /* ヘッダーの高さ分空ける */
	text-align: center;
}

.sp-drawer-menu.is-active {
	right: 0; /* 画面内にスライドイン */
}

.sp-drawer-inner {
	padding: 20px;
}

.sp-menu-list {
	list-style: none;
	margin-bottom: 40px;
}

.sp-menu-list li {
	margin-bottom: 20px;
	border-bottom: 1px dotted #ccc;
	padding-bottom: 10px;
}

.sp-menu-list a {
	text-decoration: none;
	color: #333;
	font-weight: bold;
	font-size: 16px;
	display: block;
}

/* メニュー内CTAボタン */
.sp-menu-cta a {
	display: block;
	background-color: #CA161E; /* 赤茶色 */
	color: #fff;
	font-weight: bold;
	padding: 15px;
	border-radius: 50px;
	text-decoration: none;
	font-size: 16px;
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
	position: relative;
}
/* 矢印アイコン */
.sp-menu-cta a::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	margin-left: 10px;
	vertical-align: 1px;
}

/* ----------------------------------------------------
    SPメニュー内 閉じるボタン
---------------------------------------------------- */
.sp-menu-close {
	position: absolute;
	top: 20px;
	right: 15px; /* ハンバーガーアイコンの位置と合わせる */
	width: 30px;
	height: 30px;
	cursor: pointer;
	z-index: 10002;
}

/* ×印のスタイル */
.sp-menu-close span {
	display: block;
	width: 100%;
	height: 3px;
	background-color: #CA161E; /* 赤茶色 */
	position: absolute;
	top: 50%;
	left: 0;
	border-radius: 3px;
}

/* 1本目を45度回転 */
.sp-menu-close span:nth-child(1) {
	transform: translateY(-50%) rotate(45deg);
}

/* 2本目を-45度回転 */
.sp-menu-close span:nth-child(2) {
	transform: translateY(-50%) rotate(-45deg);
}

/* fv */
.fv img {
	width: 100%;
}

/* ----------------------------------------------------
    追従（固定）ボタン
---------------------------------------------------- */
.fixed-cta-btn {
	position: fixed; /* 画面に固定する指定 */
	bottom: 20px;    /* 画面下からの距離 */
	right: 20px;     /* 画面右からの距離 */
	z-index: 9999;   /* 他の要素より手前に表示 */
	width: 320px;    /* ボタンの幅（適宜調整してください） */
}

.fixed-cta-btn a {
	display: block;
	transition: opacity 0.3s;
}

.fixed-cta-btn a:hover {
	opacity: 0.8; /* ホバー時に少し薄くする */
}

.fixed-cta-btn img {
	width: 100%;
	height: auto;
	display: block;
	/* 影をつけて浮いているように見せる場合（お好みで） */
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.3));
}

/* スマホ表示時の調整（必要であれば） */
@media screen and (max-width: 640px) {
	.fixed-cta-btn {
			width: 50%;       /* スマホでは少し大きく */
			bottom: 10px;     /* 下の余白を狭く */
			right: 0;         /* 中央寄せにするためのリセット */
			left: 40%;          /* 中央寄せにするためのリセット */
			margin: 0 auto;   /* 中央寄せ */
	}
}

/* ----------------------------------------------------
    FV（メインビジュアル）エリア
---------------------------------------------------- */
.fv {
	position: relative; /* ボタンを絶対配置するための基準点にします */
	width: 100%;
}

.fv-main img {
	width: 100%;
	vertical-align: bottom; /* 画像下の隙間消し */
}

/* FV内のボタン配置 */
.fv-cta-btn {
	position: absolute; /* 親要素(.fv)を基準に配置 */
	bottom: 10%;       /* 下端からの距離（デザインに合わせて調整してください） */
	right: 6.8%;        /* 右端からの距離（デザインに合わせて調整してください） */
	width: 32%;         /* PC画面幅に対するボタンの大きさ（約30%〜40%で調整） */
	max-width: 450px;   /* ボタンが大きくなりすぎないように制限 */
	z-index: 10;        /* 背景画像より手前に表示 */
}

.fv-cta-btn a {
	display: block;
	transition: opacity 0.3s;
}

.fv-cta-btn a:hover {
	opacity: 0.8;
}

.fv-cta-btn img {
	width: 100%;
	height: auto;
}

.fv-cta-btn-sp {
	width: 90%;
	margin: 20px auto 0;
}



/* ----------------------------------------------------
    Voice
---------------------------------------------------- */
.voice {
	padding: 60px 0 280px;
	text-align: center;
	background-image: url(../images/pc/voice-bg-pc.webp);
	background-position: center;
	background-size: cover;
}

.voice-h {
	max-width: 806px;
	margin: 0 auto;
}

.voice-h img {
	width: 100%;
}

.grid {
  width: 840px;
  display: grid;
  grid-template-columns: 400px 400px;
  gap: 40px;
  justify-content: center;
	margin: 0 auto;
}

.card {
  width: 400px;
  background: #fff;
  border-radius: 12px;
  overflow: visible;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  position: relative;
}

.card-header {
  background: #c0392b;
  color: #fff;
  text-align: center;
  padding: 16px 20px;
  position: relative;
  margin: 0 -8px;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.35);
  z-index: 2;
}

.card-header h1 {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.card-header::after {
  content: '';
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 15px solid #c0392b;
  z-index: 1;
}

.card-inner {
  border-radius: 12px;
  overflow: hidden;
}

.card-image {
  width: calc(100% - 24px);
  height: 240px;
  overflow: hidden;
  position: relative;
  margin: 0 12px;
}

.card-image img {
	width: 100%;
}


.card-body {
  padding: 20px 20px 24px;
}

.card-subtitle {
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
  color: #1a1a1a;
  margin-bottom: 16px;
}

.card-text {
  font-size: 14px;
  line-height: 1.9;
  color: #333;
  text-align: justify;
}

.card-text strong {
  font-weight: 700;
  color: #c0392b;
}

.voice-btm-contents {
	background-image: url(../images/pc/why-bg-pc.webp);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	padding: 26px;
}

.voice-btm-inner-contents {
	max-width: 730px;
	width: 100%;
	margin: 0 auto;
}

.voice-btm-contents img {
	width: 100%;
	margin-top: -46px;
}

/* ================================
   SP レスポンシブ (max-width: 640px)
   ================================ */
	 @media screen and (max-width: 640px) {

		.voice {
			background-image: url(../images/sp//voice-bg-sp.webp);
			padding-bottom: 60px;
		}

		.grid {
			width: 100%;
			grid-template-columns: 1fr; /* 1カラムに切り替え */
			gap: 32px;
			padding: 0 20px;
			box-sizing: border-box;
		}
	
		.card {
			width: 100%;
		}
	
		.card-header {
			margin: 0 -6px;
			padding: 14px 16px;
		}
	
		.card-header h1 {
			font-size: 16px;
		}
	
		.card-image {
			height: 200px;
		}
	
		.card-subtitle {
			font-size: 15px;
		}
	
		.card-text {
			font-size: 13px;
		}

		.voice-btm-contents-sp {
			margin-top: -20px;
		}
	}
	
	
	


/* ----------------------------------------------------
    CTA (Call To Action) セクション
---------------------------------------------------- */
.cta {
	position: relative;
	padding: 40px 0 0px;
	overflow: visible;
	width: 100%;
	background-color: #1E346E; /* ネイビー */
}

/* 背景のネイビー色のレクタングル */
.cta-bg-orange {
	position: absolute;
	top: 25%;           /* 上からの開始位置（デザインに合わせて調整） */
	left: 0;            /* 左端に配置 */
	width: 70%;         /* 画面幅の約70%まで伸ばす */
	z-index: 1;         /* 最背面（コンテンツより後ろ） */
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

/* コンテンツとボタンをまとめる枠 */
.cta-wrapper {
	position: relative;
	top: 50px;          /* cta-bottomに重なるようにbottom方向へずらす量 */
	max-width: 1000px;  /* 指定の最大幅 */
	width: 98%;         /* 指定の幅 */
	margin: 0 auto;     /* 中央寄せ */
	z-index: 2;         /* cta-bottomより手前に表示 */
}

/* 白いカード部分（画像） */
.cta-main-con {
	position: relative;
}

.cta-main-con img {
	width: 100%;
	vertical-align: bottom;
}

/* 右下のボタン配置 */
.cta-btn-body {
	position: absolute;
	bottom: 5px; /* 下にはみ出させる距離 */
	right: -15px;  /* 右にはみ出させる距離 */
	width: 34%;    /* コンテンツに対するボタンの比率（適宜調整） */
	max-width: 400px;
	z-index: 3;    /* 一番手前に表示 */
	transition: opacity 0.3s;
}

.cta-btn-body a {
	display: block;
}

.cta-btn-body:hover {
	opacity: 0.8;
}

.cta-btn-body img {
	width: 100%;
	height: auto;
	filter: drop-shadow(0px 5px 10px rgba(0, 0, 0, 0.2));
}

.cta-bottom {
	background-color: #C6C6C6;
	height: 100px;
	position: relative;
	z-index: 1;         /* cta-wrapperより背面に */
}

.cta-bottom-02 {
	background-color: #1E346E;
	height: 100px;
	position: relative;
	z-index: 1;         /* cta-wrapperより背面に */
}
/* ----------------------------------------------------
	スマホ表示時の調整 (レスポンシブ)
---------------------------------------------------- */
@media screen and (max-width: 640px) {
	.cta-sp {
		padding-bottom: 40px;
	}
	.cta-con img {
		width: 100%;
	}

	.cta-btn-sp {
		width: 90%;
		margin: 0 auto;
	}

	.cta-btn-sp img {
		width: 100%;
	}
}


/* ----------------------------------------------------
	お悩み
---------------------------------------------------- */

.nayami {
	background-color: #C6C6C6;
	padding: 20px 0 80px;
	text-align: center;
	position: relative;
	z-index: 1;
}

.nayami-ttl img {
	max-width: 610px;
	width: 98%;
	margin-bottom: 60px;
}

.nayami-con img {
	max-width: 940px;
	width: 98%;
	margin-bottom: 0px;
	padding-left: 40px;
}

@media screen and (max-width: 640px){
	.nayami {
		background-color: #fff;
		padding: 0 0 0 0;
		text-align: center;
	}
}

/* ----------------------------------------------------
	相談
---------------------------------------------------- */

.soudan {
	padding-bottom: 60px;
	background-image: url(../images/pc/soudan-bg.webp);
	background-position: center;
	background-size: cover;
}

.soudan-ttl img {
	width: 100%;
	margin: 0 auto;
}

.soudan-con-inner {
	max-width: 1100px;
	width: 98%;
	margin: 0 auto;
}

.soudan-con-txt {
	max-width: 1100px;
	width: 98%;
	font-size: 20px;
	text-align: center;
	padding-top: 60px;
}

.soudan-con-txt .highlight {
	background-color: #f1f996;
	font-weight: bold;
}

@media screen and (max-width: 640px){
	.soudan {
		padding-bottom: 60px;
		background-image: url(../images/sp/soudan-bg-sp.webp);
		background-position: center;
		background-size: cover;
	}

	.soudan-con-txt {
		max-width: 90%;
		width: 100%;
		font-size: 14px;
		margin: 30px auto;
		padding-top: 10px;
	}

	.soudan-con-img-1 {
		max-width: 90%;
		width: 100%;
		margin: 0 auto;
	}

	.soudan-con-img-2 {
		max-width: 90%;
		width: 100%;
		margin: 0 auto;
	}
}

/* ----------------------------------------------------
    選ばれる理由
---------------------------------------------------- */
.reason {
	padding-bottom: 100px;
}


.reason-ttl {
	margin: 0 auto;
	padding: 60px 0;
	max-width: 1100px;
	width: 98%;
}

.reason-ttl img {
	width: 100%;
}

.reason-sub-inner {
	max-width: 1100px;
	width: 98%;
	margin: 0 auto;
	padding-top: 40px;
}

.reason-sub-ttl {
	max-width: 660px;
	width: 98%;
	margin: 0 auto;
}

.reason-sub-ttl img {
	width: 100%;
}

.reason-sub-ttl h3 {
	font-size: 28px;
	color: #FF9903;
	font-weight: 600;
	margin-top: 20px;
}

@media screen and (max-width: 640px) {
	.reason-ttl img {
		max-width: 60px;
		margin: 0 auto;
		width: 90%;
	}

	.reason-sub-ttl {
		max-width: 60px;
		width: 98%;
		margin: 0 auto 20px;
	}

	.reason-sub-ttl img {
		width: 100%;
	}

	.reason-ttl-txt {
		text-align: center;
		color: #1E346E;
		font-weight: bold;
	}

	.reason-ttl-txt span {
		font-size: 14px;
	}

	.reason-ttl-txt p {
		font-size: 24px;
	}

	.reason-sub-ttl h3 {
		font-size: 20px;
		color: #FF9903;
		font-weight: 600;
		margin-top: 20px;
	}
}



/* ----------------------------------------------------
    選ばれる理由：詳細エリア（左テキスト・右画像）
---------------------------------------------------- */
.reason-detail-box {
	display: flex;             /* 横並びにする */
	justify-content: space-between; /* 左右に配置 */
	align-items: start;       /* 垂直方向中央揃え */
	max-width: 1000px;         /* コンテンツ幅の制限 */
	width: 98%;
	margin: 40px auto 40px;       /* 上の余白と中央寄せ */
	gap: 40px;                 /* テキストと画像の間の余白 */
}

/* 左側：テキストエリア */
.reason-txt {
	width: 52%;                /* 横幅の比率 */
	text-align: left;          /* 左揃え */
	line-height: 2.6rem;
}

.reason-txt p {
	font-size: 16px;           /* 文字サイズ */
	line-height: 1.8;          /* 行間 */
	margin-bottom: 0;
}

.reason-txt .mt20 {
	margin-top: 20px;          /* 段落間の余白 */
}

/* 右側：画像エリア */
.reason-img {
	width: 44%;                /* 横幅の比率 */
}

.reason-img img {
	width: 100%;               /* 親要素に合わせて伸縮 */
	height: auto;
	display: block;
}

.reason-point {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}


.reason-point img {
	max-width: 1000px;
	width: 100%;
}

@media screen and (max-width: 640px) {
	.reason-detail-box {
		display: flex;                  /* Flexboxを有効化 */
		flex-direction: column-reverse; /* 並び順を逆転させて縦積みに（画像が上、テキストが下に来る） */
		align-items: center;            /* 中央揃え */
		max-width: 1000px;
		width: 95%;                     /* 横幅調整 */
		margin: 20px auto 40px;
		gap: 30px;                      /* 画像とテキストの間隔 */
}

/* テキストエリア */
.reason-txt {
		width: 100%;                    /* 幅を一杯に */
		text-align: left;
}

/* 画像エリア */
.reason-img {
		width: 100%;                    /* 幅を一杯に */
		text-align: center;             /* 画像を中央寄せ */
}

/* 画像自体の調整 */
.reason-img img {
		width: 100%;
		max-width: 400px;               /* 画像が大きくなりすぎないように制限（任意） */
		margin: 0 auto;
}

.reason-detail-box-sp {
	font-size: 14px;
}
}



/* ----------------------------------------------------
    講師紹介
---------------------------------------------------- */
.teacher {
	padding: 60px 0 20px;
	width: 100%;
	background-color: #D2DFFF; /* 薄いベージュ */
}

/* 全体を包むベージュの角丸ボックス */
.teacher-inner {
	max-width: 1000px;
	width: 95%;
	margin: 0 auto;
	padding: 60px 20px;
	box-sizing: border-box;
	text-align: center;
}

.teacher-inner img {
	width: 70%;
	margin-bottom: 20px;
}

/* タイトル周り */
.teacher-ttl h2 {
	color: #1E346E; /* オレンジ */
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 20px;
}

.teacher-ttl p {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 40px;
	font-weight: bold;
}

/* --- スライダーエリア --- */
.teacher-slider-area {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px; /* 矢印と画像の隙間 */
	margin-bottom: 60px;
	position: relative;
}

/* スライド表示窓（はみ出しを隠す） */
.teacher-slide-window {
	width: 100%;
	max-width: 800px; /* 画像の最大幅に合わせる */
	overflow: hidden;
	background-color: #fff; /* 画像がない部分の背景 */
	border-radius: 10px;    /* 画像エリアの角丸 */
	box-shadow: 0 5px 15px rgba(0,0,0,0.05); /* 軽い影 */
}

.teacher-slide-window img {
	width: 100%;
	max-width: 800px;
}

.teacher-slider-content {
	width: 100%;
	max-width: 800px; /* 画像幅に合わせる */
}

/* ★追加: ページネーション（ドット）エリア */
.teacher-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px; /* ドット同士の間隔 */
	margin-top: 10px;
}

/* ★追加: ドット単体 */
.pagination-dot {
	width: 6px;
	height: 6px;
	background-color: #ddd; /* 非アクティブ時はグレー */
	border-radius: 50%;
	cursor: pointer;
	transition: background-color 0.3s, transform 0.3s;
}

.pagination-dot:hover {
	background-color: #D2DFFF;
}

/* ★追加: アクティブ時のドット */
.pagination-dot.is-active {
	background-color: #D2DFFF; /* ブランドカラーのオレンジ */
	transform: scale(1.2);     /* 少し大きくする */
}

/* スライドを横に並べるトラック */
.teacher-slide-track {
	display: flex;
	transition: transform 0.5s ease; /* スライドのアニメーション */
	width: 100%;
}

/* 個々のスライドアイテム */
.teacher-slide-item {
	min-width: 100%; /* 親要素(window)と同じ幅 */
	flex-shrink: 0;
}

.teacher-slide-item img {
	width: 100%;
	height: auto;
	display: block;
}

/* 矢印ボタン共通 */
.slider-arrow {
	width: 50px;
	height: 50px;
	background-color: #1E346E; /* ボタン背景色（少し薄めのオレンジ） */
	border: none;
	cursor: pointer;
	position: relative;
	flex-shrink: 0;
	transition: background 0.3s;
}

.slider-arrow:hover {
	background-color: #3f5db1; /* ホバー時は濃く */
}

/* 矢印の三角形を作成（CSSシェイプ） */
.slider-arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 0;
	height: 0;
	border-style: solid;
}

/* 左矢印（Before）の形：右辺に色をつけて左向きに見せる */
.slider-arrow.prev {
	/* 左側の装飾（四角形の左端を尖らせるデザインならclip-path等が必要ですが、
		 添付画像では「四角の中に三角」に見えるため四角形のままにします） */
}
.slider-arrow.prev::after {
	border-width: 8px 10px 8px 0;
	border-color: transparent #fff transparent transparent; /* 白い三角 */
	margin-left: -2px; /* 位置微調整 */
}

/* 右矢印（Next）の形 */
.slider-arrow.next::after {
	border-width: 8px 0 8px 10px;
	border-color: transparent transparent transparent #fff; /* 白い三角 */
	margin-left: 2px; /* 位置微調整 */
}


/* --- Pointエリア --- */
.teacher-point {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}

.teacher-point img {
	width: 100%;
	height: auto;
}


/* スマホ表示時の調整 */
@media screen and (max-width: 640px) {
	.teacher-inner {
			padding: 20px 0px;
			border-radius: 20px;
			width: 100%;
	}

	.teacher-inner img {
		width: 80%;
		margin-bottom: 20px;
	}
	
	.teacher-ttl h2 {
			font-size: 30px;
	}
	
	.teacher-ttl p {
			font-size: 14px;
	}

	/* スマホでは矢印を画像の上に重ねるか、小さくする */
	.teacher-slider-area {
			gap: 5px;
			padding: 0 5px;
	}
	
	.slider-arrow {
			width: 30px;
			height: 40px;
	}
	
	.slider-arrow.prev::after {
			border-width: 6px 8px 6px 0;
	}
	
	.slider-arrow.next::after {
			border-width: 6px 0 6px 8px;
	}

	/* 個々のスライドアイテム */
.teacher-slide-item {
	max-width: 100%;
}

.teacher-slide-item img {
	width: 100%;
	height: auto;
}

.teacher-point {
	width: 80%;
}
}

/* ----------------------------------------------------
    price
---------------------------------------------------- */
.price {
	padding: 120px 0 160px;
}

.price-ttl {
	max-width: 900px;
	width: 98%;
	margin: 0 auto;
}

.price-ttl img {
	width: 100%;
	margin-bottom: 40px;
}

.price-sub-txt {
	text-align: center;
	font-size: 20px;
	margin-bottom: 40px;
}

.price-sub-txt span {
	font-size: 14px;
}

.price-table {
		margin: 0 auto;
	max-width: 1100px;
	width: 98%;
}

.price-table img {
	width: 100%;
}

.price-btm-txt {
	margin: 40px 0;
	text-align: center;
}

@media screen and (max-width: 640px) {
  .price {
    padding: 60px 0 60px;
    max-width: 100%; /* 90% → 100% に変更（はみ出しをブロックしないよう） */
    width: 100%;
    margin: 0 auto;
    overflow: visible; /* 追加：子要素のはみ出しを許可 */
  }

  .price-sub-txt {
    font-size: 14px;
    margin-bottom: 40px;
  }

  .price-sub-txt span {
    font-size: 10px;
  }

	.price-table-sp-scroll {
		display: block;
		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
		width: 100vw;
		margin-left: calc(50% - 50vw);
		padding: 0 20px 16px;
		box-sizing: border-box;
	}

	.price-table-sp-scroll img {
		display: block;
		width: 750px;
		max-width: none;
		height: auto;
	}
}

  .price-btm-txt {
    padding: 0 5%; /* テキストは読みやすいよう余白を付ける */
    margin: 40px 0 0;
  }

  .price-btm-txt p {
    font-size: 12px;
  }


/* ----------------------------------------------------
    flow
---------------------------------------------------- */
.flow {
	background-color: #D2DFFF;
	padding-bottom: 120px;
	/* padding-top: 50px; */
}

.flow-ttl {
	max-width: 800px;
	width: 90%;
	margin: -100px auto;
}

.flow-ttl img {
	width: 100%;
}

.flow-con {
	max-width: 1100px;
	width: 98%;
	padding-top: 80px;
	margin: 60px auto;
}

.flow-con img {
	width: 100%;
}

@media screen and (max-width: 640px) {
	.flow {
		background-color: #fff;
		padding-bottom: 0px;
	}
	
	.flow-con {
		width: 100%;
		margin: 0px auto;
	}

	.flow-con img {
		width: 100%;
	}
}

   /* ================================
       体験授業から入塾までの流れ - タイトルエリア
       ================================ */

			 .flow-ttl-section {
				/* 上半分：白、下半分：青 */
				background: linear-gradient(to bottom, #fff 50%, #D2DFFF 50%);
				padding: 20px 20px;
				text-align: center;
				font-family: 'Noto Sans JP', sans-serif;
			}
	
			.flow-ttl-box {
				display: inline-block;
				background-color: #1E346E; /* 紺背景 */
				padding: 12px 60px;
				position: relative;
			}
	
			.flow-ttl-box h2 {
				font-size: 38px;
				font-weight: 700;
				color: #fff; /* 白文字 */
				letter-spacing: 0.08em;
				white-space: nowrap;
			}
	
			/* --- SP --- */
			@media screen and (max-width: 640px) {
				.flow-ttl-section {
					padding: 36px 20px 40px;
				}
	
				.flow-ttl-box {
					padding: 10px 28px;
				}
	
				.flow-ttl-box h2 {
					font-size: 17px;
					white-space: normal;
					line-height: 1.6;
				}
			}

	

/* ----------------------------------------------------
    message
---------------------------------------------------- */

.message {
	background-color: #1E346E;
	padding: 120px 0;
}

.message-inner {
	max-width: 1000px;
	width: 100%;
	background-color: #fff;
	margin: 0 auto;
}

.message-ttl {
	font-size: 38px;
	text-align: center;
	padding: 60px 0 0;
	color: #1E346E;
	font-weight: 600;
}

.message-photo {
	text-align: center;
}

.message-photo img {
	max-width: 700px;
	width: 100%;
	margin: 20px 0;
}

.message-txt {
	max-width: 700px;
	width: 100%;
	margin: 0 auto;
	padding: 40px 0;
	font-size: 18px;
	line-height: 2em;
	font-family: "Noto Sans JP";
}

.message-sign {
	max-width: 870px;
	width: 100%;
	margin: 0 auto;
	text-align: right;
	padding-top: 60px;
	padding-bottom: 60px;
}


@media screen and (max-width: 640px) {
	.message {
		background-color: #1E346E;
		padding: 60px 0;
	}

	.message-inner {
		width: 90%;
	}

	.message-photo {
		width: 90%;
		margin: 0 auto;
	}

	.message-ttl {
		font-size: 24px;
	}

	.message-txt {
		width: 90%;
		font-size: 14px;
		line-height: 2.2em;
	}

	.message-sign {
		max-width: 50%;
		width: 100%;
		margin: 0 140px 0;
	}
}

/* ----------------------------------------------------

アクセス

---------------------------------------------------- */

.access {
  background-color: #fff;
  padding: 60px 0;
}

.access-ttl {
	max-width: 900px;
	width: 98%;
	margin: 0 auto;
}

.access-ttl img {
	width: 100%;
}

.address-map {
  display: flex;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  padding: 80px 0 40px 0;
}

.address-l, .address-r {
  padding: 0 20px;
}

.address-l h3, .address-r h3 {
  font-size: 20px;
  color: #14264C;
}

.address-l p, .address-r p {
  font-size: 17px;
  color: #14264C;
}

.g-map {
  max-width: 740px;
  width: 100%;
  margin: 0 auto;
  border: #fff 10px solid;
}

@media screen and (max-width: 640px) {
  .access h2 {
    font-size: 30px;
    background-size: contain;
		background-image: url(../images/sp/h2-bg-sp.webp);
  }

  .address-map {
    flex-direction: column;
    padding: 40px 0 20px 0;
    max-width: 90%;
    width: 100%;
    margin: 0 auto;
		text-align: center;
  }

  .address-l, .address-r {
    padding: 10px 0;
    width: 100%;
  }

  .address-l h3, .address-r h3 {
    font-size: 18px;
  }

  .address-l p, .address-r p {
    font-size: 16px;
  }

  .g-map {
    max-width: 90%;
  }

  .g-map iframe {
    width: 100%;
    height: 300px;
  }

	.access-ttl p {
		text-align: center;
		font-weight: bold;
	}

	.access-ttl hr {
		width: 100px;
		border: 1px #1E346E solid;
		margin: 10px auto 0;
	}
}


/* ----------------------------------------------------

塾内の雰囲気

---------------------------------------------------- */

.inner-ats {
	max-width: 930px;
	width: 98%;
	margin: 0 auto;
}

.inner-ats img {
	width: 100%;
}

.inner-ats h2 {
	margin-bottom: 40px;
}

.inner-sub-txt {
	text-align: center;
	margin-bottom: 40px;
}

@media screen and (max-width: 640px){
	.ats-ttl p {
		font-size: 32px;
		text-align: center;
		font-weight: bold;
		color: #14264C;
	}

	.ats-ttl hr {
		width: 100px;
		border: 1px #1E346E solid;
		margin: 10px auto 0;
	}


.inner-sub-txt {
	font-size: 14px;
}
}


/* ----------------------------------------------------

よくある質問

---------------------------------------------------- */

.faq {
	background-color: #C9CFE0;
	padding: 80px 0;
}

.faq h2 {
	text-align: center;
	font-size: 50px;
	font-weight: 600;
	color: #14264C;
	background-image: url(../images/pc/h2-bg-pc.webp);
	background-position: center;
	background-repeat: no-repeat;
}

.faq-container {
	max-width: 800px;
	margin: 0 auto;
	padding: 80px 0 40px 0;
}

.faq-item {
	margin-bottom: 2px;
	background-color: white;
}

.faq-question {
	width: 100%;
	padding: 16px;
	background-color: #1a2751;
	color: white;
	border: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: left;
	font-size: 16px;
}

.faq-question:hover {
	background-color: #232f63;
}

.chevron-icon {
	transition: transform 0.3s ease;
}

.faq-item.active .chevron-icon {
	transform: rotate(180deg);
}

.faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
	background-color: white;
	font-size: 16px;
}

.faq-item.active .faq-answer {
	max-height: 500px;
}

.faq-answer p {
	padding: 16px;
}

@media screen and (max-width: 640px) {
	.faq-container {
		max-width: 90%;
		width: 100%;
	}
	.faq h2 {
		font-size: 30px;
		background-image: url(../images/sp/h2-bg-sp.webp);
		background-size: contain;
	}
	.faq-ttl hr {
		width: 100px;
		border: 1px #1E346E solid;
		margin: 10px auto 0;
	}
}


/* ----------------------------------------------------
    Contact Form (お問い合わせ)
---------------------------------------------------- */
.contact {
	padding: 80px 0 120px;
	background-color: #1E346E;
}

.contact-inner {
	max-width: 900px; /* フォームの幅 */
	width: 98%;
	margin: 0 auto;
	background-color: #fff;
	padding: 60px 40px;
}

.contact-ttl {
	max-width: 960px;
	width: 98%;
	margin: 0 auto 60px;
}

.contact-ttl img {
	width: 100%;
}

.contact-form {
	width: 100%;
}

/* 各入力項目のブロック */
.contact-item {
	margin-bottom: 30px;
}

/* ラベル */
.contact-label {
	display: block;
	font-weight: bold;
	margin-bottom: 10px;
	font-size: 16px;
}

.btm-line {
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
}

/* 必須バッジ */
.required {
	display: inline-block;
	background-color: #CA161E; /* グレー背景 */
	color: #fff;
	font-size: 12px;
	padding: 2px 6px;
	border-radius: 4px;
	margin-left: 10px;
	vertical-align: middle;
	font-weight: normal;
}

/* テキスト入力・メール・電話 */
.contact-input {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 16px;
	box-sizing: border-box; /* パディングを含めた幅計算 */
}

.contact-input:focus,
.contact-textarea:focus {
	border-color: #CA161E;
	outline: none;
}

/* チェックボックスエリア */
.contact-check-group {
	display: flex;
	flex-wrap: wrap;
	gap: 15px 20px; /* 上下左右の間隔 */
	padding: 10px 0;
}

.contact-check-group label {
	font-weight: normal;
	cursor: pointer;
	display: flex;
	align-items: center;
	font-size: 15px;
}

.contact-check-group input[type="checkbox"] {
	margin-right: 8px;
	transform: scale(1.1);
	width: auto;
	height: auto;
}

/* テキストエリア */
.contact-textarea {
	width: 100%;
	height: 180px;
	padding: 15px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 16px;
	resize: vertical; /* 縦方向のみリサイズ許可 */
	box-sizing: border-box;
}

/* 送信ボタンエリア */
.contact-submit {
	text-align: center;
	margin-top: 60px;
}

/* 送信ボタン */
.contact-submit button {
	background-color: #CA161E; /* 赤茶色 */
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	padding: 15px 80px;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: opacity 0.3s, transform 0.1s;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	position: relative;
}

/* ボタンの矢印アイコン（CSSで作成） */
.contact-submit button::after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	margin-left: 15px;
	vertical-align: 1px;
}

.contact-submit button:hover {
	opacity: 0.9;
}

@media screen and (max-width: 640px) {
  .contact {
    padding: 20px 0 60px;
  }

  /* フォームコンテナ */
  .contact-inner {
    width: 94%;
    padding: 40px 20px;
    box-sizing: border-box;
  }

  /* タイトル画像 */
  .contact-ttl {
    margin-bottom: 40px;
  }

  /* ラベル */
  .contact-label {
    font-size: 14px;
  }

  /* テキスト入力 */
  .contact-input {
    font-size: 16px; /* iOS自動ズーム防止のため16px固定 */
    padding: 12px 12px;
  }

  /* チェックボックス・ラジオエリア：縦並びに */
  .contact-check-group {
    flex-direction: column;
    gap: 12px;
  }

  .contact-check-group label {
    font-size: 14px;
  }

  /* テキストエリア */
  .contact-textarea {
    font-size: 16px; /* iOS自動ズーム防止のため16px固定 */
    height: 140px;
  }

  /* 送信ボタン */
  .contact-submit {
    margin-top: 40px;
  }

  .contact-submit button {
    width: 100%;
    font-size: 16px;
    padding: 16px 20px;
    box-sizing: border-box;
    border-radius: 8px;
  }

	.contact-ttl {
		text-align: center;
		color: #fff;
	}

	.contact-ttl p {
		font-size: 32px;
		font-weight: bold;
	}

	.contact-ttl hr {
		width: 100px;
		border: 1px #fff solid;
		margin: 10px auto 0;
	}
}

/* ----------------------------------------------------
	Footer
---------------------------------------------------- */
.site-footer {
	padding: 40px 0;
	text-align: center;
	background-color: #fff;
}

.footer-links {
	margin-bottom: 20px;
	font-size: 12px;
}

.footer-links a {
	text-decoration: none;
	color: #333;
	transition: opacity 0.3s;
}

.footer-links a:hover {
	opacity: 0.7;
}

.footer-sep {
	margin: 0 10px;
	color: #ccc;
}

.copyright {
	font-size: 11px;
	color: #666;
}

/* スマホ表示時の調整 */
@media screen and (max-width: 640px) {
	.contact-ttl {
			font-size: 24px;
			margin-bottom: 40px;
	}
	
	.contact-check-group {
			flex-direction: column; /* チェックボックスを縦並びに */
			gap: 10px;
			border-bottom: none; /* スマホでは下線なしで見やすく */
	}

	.contact-submit button {
			width: 100%; /* ボタンを幅いっぱいに */
			padding: 15px 0;
	}

	.site-footer {
		padding: 40px 0 80px;
	}
}



/* サンクスページ */

.thanks-page-soft {
    background: linear-gradient(135deg, #fffcf9 0%, #fff5ea 100%);
    color: #444;
    /* SPヘッダー固定分、上部に余白を確保 */
    padding-top: 60px;
}

@media screen and (min-width: 641px) {
    .thanks-page-soft { padding-top: 0; }
}

.thanks-soft-container {
    padding: 80px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 200px);
}

.thanks-soft-card {
    max-width: 800px;
    width: 92%;
    background: #fff;
    padding: 60px 40px;
    border-radius: 32px;
    box-shadow: 0 20px 60px rgba(251, 148, 0, 0.08);
    text-align: center;
}

/* チェックマークアニメーション */
.check-animation-icon { width: 80px; height: 80px; margin: 0 auto 30px; }
.checkmark { width: 80px; height: 80px; border-radius: 50%; stroke-width: 2; stroke: #fb9400; stroke-miterlimit: 10; }
.checkmark-circle { stroke-dasharray: 166; stroke-dashoffset: 166; stroke-width: 2; stroke: #fb9400; fill: none; animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards; }
.checkmark-check { transform-origin: 50% 50%; stroke-dasharray: 48; stroke-dashoffset: 48; animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards; }
@keyframes stroke { 100% { stroke-dashoffset: 0; } }

.thanks-soft-ttl { font-size: 14px; font-weight: 700; letter-spacing: 0.2em; color: #fb9400; margin-bottom: 8px; }
.thanks-soft-sub { font-size: 28px; font-weight: 700; margin-bottom: 40px; color: #333; }
.thanks-soft-lead { font-size: 16px; line-height: 2; margin-bottom: 50px; }

.thanks-soft-steps { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 50px; }
.step-card { flex: 1; background-color: #fffaf5; padding: 25px 10px; border-radius: 20px; border: 1px solid #ffe8d1; }
.step-label { font-size: 11px; font-weight: 700; color: #fb9400; margin-bottom: 8px; }
.step-text { font-size: 13px; font-weight: 700; color: #555; line-height: 1.4; }

.thanks-soft-info { font-size: 13px; color: #888; background: #fafafa; padding: 20px; border-radius: 15px; margin-bottom: 40px; }

.btn-soft {
    display: inline-block;
    padding: 18px 60px;
    background: linear-gradient(90deg, #fb9400, #ffae3c);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    border-radius: 50px;
    transition: all 0.3s ease;
}
.btn-soft:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(251, 148, 0, 0.2); }

@media screen and (max-width: 640px) {
    .thanks-soft-card { padding: 40px 20px; }
    .thanks-soft-sub { font-size: 20px; }
    .thanks-soft-steps { flex-direction: column; }
    .btn-soft { width: 100%; box-sizing: border-box; }
}

/* サンクスページ */


/* プライバシーポリシー */

.privacy-page {
    background-color: #fffcf9;
    color: #444;
    padding-top: 60px; /* SPヘッダー用 */
}

@media screen and (min-width: 641px) {
    .privacy-page { padding-top: 0; }
}

.privacy-container {
    max-width: 900px;
    margin: 60px auto 100px;
    padding: 0 20px;
}

.privacy-header {
    text-align: center;
    margin-bottom: 60px;
}

.privacy-ttl {
    font-size: 32px;
    font-weight: 700;
    color: #fb9400; /* 愛大研オレンジ */
    margin-bottom: 20px;
}

.privacy-intro {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
}

.privacy-body {
    background: #fff;
    padding: 60px;
    border-radius: 24px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.03);
    position: relative;
}

.privacy-section {
    margin-bottom: 40px;
}

.privacy-sub-ttl {
    font-size: 18px;
    font-weight: 700;
    border-left: 4px solid #fb9400;
    padding-left: 15px;
    margin-bottom: 20px;
    color: #333;
}

.privacy-section p {
    font-size: 15px;
    line-height: 1.8;
}

.privacy-list {
    margin-top: 15px;
    padding-left: 20px;
}

.privacy-list li {
    list-style-type: disc;
    font-size: 15px;
    margin-bottom: 10px;
    line-height: 1.6;
}

/* 改定日のスタイル */
.privacy-date {
    margin-top: 60px;
    text-align: right;
    font-size: 13px;
    color: #999;
    line-height: 1.6;
}

.privacy-back-btn {
    text-align: center;
    margin-top: 60px;
}

.btn-back {
    display: inline-block;
    padding: 15px 50px;
    background: #f0f0f0;
    color: #666;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.btn-back:hover {
    background: #fb9400;
    color: #fff;
}

/* スマホ対応 */
@media screen and (max-width: 640px) {
    .privacy-container { margin: 40px auto 60px; }
    .privacy-body { padding: 30px 20px; }
    .privacy-ttl { font-size: 24px; }
    .privacy-sub-ttl { font-size: 16px; }
    .btn-back { width: 100%; box-sizing: border-box; }
}

/* プライバシーポリシー */