@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;
			width: 100%;
			height: 80px;
			position: relative;
			z-index: 1000;
			box-shadow: 0 2px 5px rgba(0,0,0,0.05);
	}

	/* 左側：ロゴエリア（白背景） */
	.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-right {
			background-color: #fb9400;
			flex-grow: 1;
			display: flex;
			align-items: center;
			justify-content: flex-end;
			padding-right: 20px;
	}

	/* ナビゲーションリスト */
	.global-nav ul {
			display: flex;
			align-items: center;
			list-style: none;
			gap: 20px;
	}

	.global-nav a {
			text-decoration: none;
			color: #fff;
			font-weight: bold;
			font-size: 14px;
			transition: opacity 0.3s;
	}

	.global-nav a:hover {
			opacity: 0.8;
	}

	/* PC用CTAボタン */
	.nav-cta a {
			display: block;
	}
	.nav-cta img {
			height: 44px;
			width: auto;
			display: block;
	}
}

/* ----------------------------------------------------
	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;
	}

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

	/* ロゴエリア */
	.sp-header-logo {
			flex-shrink: 1; /* 必要に応じて縮む */
	}
	
	.sp-header-logo img {
			height: 35px;
			width: auto;
			display: block;
			max-width: 100%;
	}

	/* 右側エリア（CTA + ハンバーガー） */
	.sp-header-actions {
			display: flex;
			align-items: center;
			gap: 10px;
	}

	/* CTAボタン */
	.sp-header-cta {
			display: block;
			width: 100%; /* 画面サイズに合わせて調整 */
			line-height: 0;
	}
	
	.sp-header-cta img {
			max-width: 180px;
			width: 100%;
			height: auto;
	}

	/* ハンバーガーボタン */
	.sp-nav-trigger {
			width: 30px;
			height: 22px;
			position: relative;
			cursor: pointer;
	}

	.sp-nav-trigger span {
			display: block;
			width: 100%;
			height: 3px;
			background-color: #CA161E; /* 赤茶色 */
			position: absolute;
			left: 0;
			border-radius: 3px;
			transition: all 0.3s;
	}

	.sp-nav-trigger span:nth-child(1) { top: 0; }
	.sp-nav-trigger span:nth-child(2) { top: 50%; transform: translateY(-50%); }
	.sp-nav-trigger span:nth-child(3) { bottom: 0; }

	/* ハンバーガーのアニメーション（開いた時） */
	.sp-nav-trigger.is-active span:nth-child(1) {
			top: 50%;
			transform: translateY(-50%) rotate(45deg);
	}
	.sp-nav-trigger.is-active span:nth-child(2) {
			opacity: 0;
	}
	.sp-nav-trigger.is-active span:nth-child(3) {
			bottom: 50%;
			transform: translateY(50%) rotate(-45deg);
	}
}

/* ----------------------------------------------------
	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;
}


/* ----------------------------------------------------
    合格実績
---------------------------------------------------- */

.gokaku {
	background-image: url(../images/pc/gokaku-success-bg.webp);
	background-position: center;
	background-size: cover;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 80px;
}

.gokaku img {
	max-width: 950px;
	width: 98%;
	margin-top: 80px;
	margin-bottom: 40px;
}

@media screen and (max-width: 640px) {
	.gokaku {
		background-image: none;
		padding-bottom: 20px;
	}
	.gokaku img {
		margin-bottom: 0px;
	}
}


/* ----------------------------------------------------
    大学一覧リストボックス
---------------------------------------------------- */
.univ-list-box {
	max-width: 930px;
	width: 100%;        /* 親要素に合わせて伸縮 */
	margin: 0 auto;     /* 画面中央に配置 */
	background-color: #fff;
	border: 2px solid #fb9400; /* デザインのオレンジ色枠線 */
	border-radius: 8px; /* 角丸 */
	padding: 30px 40px; /* 内側の余白（上下 左右） */
	box-sizing: border-box;
}

.univ-list-box p {
	font-size: 16px;    /* 文字サイズ（適宜調整） */
	line-height: 2.2;   /* 行間を広めに設定 */
	font-weight: bold;  /* 太字 */
	color: #333;        /* 文字色 */
	text-align: left;   /* 左揃え */
	margin-bottom: 0 !important; /* 余計な余白を削除 */
}

/* スマホ表示時の調整 */
@media screen and (max-width: 640px) {
	.univ-list-box {
			padding: 20px;
			border-width: 2px; /* スマホでも枠線は見やすく維持 */
	}
	.univ-list-box p {
			font-size: 14px;
			line-height: 1.8;
	}
}

/* ----------------------------------------------------
    メディア
---------------------------------------------------- */

.media {
	background-image: url(../images/pc/media-bg.webp);
	background-position: center;
	background-size: cover;
	margin: 0 auto;
	text-align: center;
	padding: 100px 0;
}

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

.media-con img {
	max-width: 910px;
	width: 98%;
}

.media-con-sp img {
	width: 100%;
	margin: 0 auto;
}

@media screen and (max-width: 640px){
	.media {
		background-image: none;
		padding: 0px 0;
	}
}

/* ----------------------------------------------------
    Voice
---------------------------------------------------- */

.voice {
	background-color: #FFF5EA;
	padding-bottom: 80px;
}

.voice-ttl {
	background-color: #FF9903;
	text-align: center;
	padding: 40px 0;
}

.voice-ttl img {
	max-width: 810px;
	width: 98%;
}

.voice-con {
	text-align: center;
	margin: 80px;
}

.voice-con img {
	max-width: 1000px;
	width: 98%;
}

.g-review {
	text-align: center;
	margin: 80px;
}

.g-review img {
	max-width: 1000px;
	width: 98%;
}

.voice-sp h2 img {
	width: 100%;
}

.voice-con-sp {
	width: 90% !important;
	margin: 0 auto;
}

.voice-con-sp img {
	padding: 40px 0;
}

.g-review-sp img {
	width: 100%;
}

@media screen and (max-width: 640px){
	.voice-ttl {
		background-color: none;
		text-align: center;
		padding: 40px 0;
	}

	.voice {
		padding-bottom: 0px;
	}
}


/* ----------------------------------------------------
    CTA (Call To Action) セクション
---------------------------------------------------- */
.cta {
	position: relative;
	padding: 60px 0 100px; /* 上下の余白（ボタンがはみ出る分、下を多めに） */
	overflow: visible;     /* ボタンが親要素からはみ出ても表示させる */
	width: 100%;
	background-color: #FFF5EA;
}

/* 背景のオレンジ色のレクタングル */
.cta-bg-orange {
	position: absolute;
	top: 25%;           /* 上からの開始位置（デザインに合わせて調整） */
	bottom: 50px;       /* 下からの距離 */
	left: 0;            /* 左端に配置 */
	width: 70%;         /* 画面幅の約65%まで伸ばす */
	background-color: #fb9400; /* オレンジ色 */
	z-index: 1;         /* 最背面（コンテンツより後ろ） */
	border-top-right-radius: 0; /* 必要であれば角丸調整 */
	border-bottom-right-radius: 0;
}

/* コンテンツとボタンをまとめる枠 */
.cta-wrapper {
	position: relative;
	max-width: 1000px;  /* 指定の最大幅 */
	width: 98%;         /* 指定の幅 */
	margin: 0 auto;     /* 中央寄せ */
	z-index: 2;         /* オレンジ背景より手前に表示 */
}

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

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

/* 右下のボタン配置 */
.cta-btn-body {
	position: absolute;
	bottom: -25px; /* 下にはみ出させる距離 */
	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));
}

/* ----------------------------------------------------
	スマホ表示時の調整 (レスポンシブ)
---------------------------------------------------- */
@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: 120px 0 0 0;
	text-align: center;
}

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

.nayami-con img {
	max-width: 900px;
	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: 100px;
}

.soudan-ttl {
	color: #FF9903;
	font-weight: 600;
	font-size: 46px;
	background-image: url(../images/pc/ttl_soudan_bg.webp);
	background-position: center;
	background-size: cover;
	padding: 60px 0 100px;
	text-align: center;
}

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

.soudan-con-txt {
	max-width: 1100px;
	width: 98%;
	font-size: 20px;
	margin: 60px 0;
}

.soudan-con-img-1 img {
	max-width: 1100px;
	width: 98%;
}

.soudan-con-img-2 {
	text-align: center;
}

.soudan-con-img-2 img {
	width: 100%;
}

.soudan-con-img-2 {
	margin: 0 auto;
	max-width: 1000px;
	width: 98%;
}

@media screen and (max-width: 640px){
	.soudan {
		padding-bottom: 40px;
	}

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

	.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-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;
}

.reason-sub-ttl {
	text-align: center;
}

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

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

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

	.reason-sub-ttl img {
		max-width: 60px;
		width: 98%;
	}

	.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;          /* 左揃え */
}

.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-accordion {
	max-width: 1000px;
	width: 98%;
	margin: 60px auto;
}

/* トリガー（クリック可能エリア全体） */
.accordion-trigger {
	cursor: pointer;
	position: relative; /* 子要素（ボタン）を絶対配置するための基準 */
	width: 100%;
	line-height: 0; /* 画像の下の隙間を消す */
}

.accordion-trigger:hover {
	opacity: 0.95;
}

/* トリガー画像 */
.trigger-img {
	width: 100%;
	height: auto;
	border-radius: 15px; /* 通常時の角丸 */
	transition: border-radius 0.3s;
}

/* 開いた時に画像の下の角丸を直角にする（下のコンテンツとつながるように見せる） */
.accordion-trigger.is-active .trigger-img {
	border-radius: 15px 15px 0 0;
}


/* --- ボタン配置エリア（オーバーレイ） --- */
.more-btn-overlay {
	position: absolute;
	bottom: -40px;      /* 画像の下端に半分乗るくらいの位置調整（お好みで調整してください） */
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	transition: opacity 0.3s;
}

/* 開いた時もボタンを表示し続ける */
.accordion-trigger.is-active .more-btn-overlay {
	opacity: 1;
	pointer-events: auto;
}

/* 開いた時は矢印を上向きにする */
.accordion-trigger.is-active .more-arrow-icon {
	transform: rotate(225deg); /* 180度回転させて上向きに */
	margin-top: 5px;           /* 位置の微調整 */
}

/* --- 円形のボタン本体 --- */
.more-btn-circle {
	width: 80px;        /* 円の直径 */
	height: 80px;       /* 円の直径 */
	background-color: #fb9400;
	border-radius: 50%;  /* 正円にする */
	display: flex;       /* 中身を中央揃え */
	flex-direction: column; /* 縦並び（テキストの下に矢印） */
	justify-content: center;
	align-items: center;
	box-shadow: 0 4px 10px rgba(0,0,0,0.2); /* 影 */
	color: #fff;
	transition: transform 0.3s, background-color 0.3s;
}

/* ホバー時の動き（少し大きくなど） */
.accordion-trigger:hover .more-btn-circle {
	transform: scale(1.05);
	background-color: #ffaa33;
}

/* テキスト「もっと見る」 */
.more-text {
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 5px; /* 矢印との隙間 */
	line-height: 1;
}

/* 下向き矢印アイコン（CSSで描画） */
.more-arrow-icon {
	width: 8px;
	height: 8px;
	border-bottom: 2px solid #fff; /* 白い線 */
	border-right: 2px solid #fff;  /* 白い線 */
	transform: rotate(45deg);      /* 45度回転させてV字にする */
	margin-top: -2px;              /* 位置微調整 */
}

/* スマホ表示時のサイズ調整 */
@media screen and (max-width: 640px) {
	.more-btn-circle {
			width: 60px;
			height: 60px;
	}
	.more-text {
			font-size: 8px;
	}
	.more-btn-overlay {
			bottom: -30px !important; /* スマホでの位置調整 */
	}
}

/* --- コンテンツエリア --- */
.accordion-content {
	height: 0;
	opacity: 0;
	overflow: hidden;
	transition: height 0.5s ease, opacity 0.5s ease;
	background-color: #fff;
	border-radius: 0 0 15px 15px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.interview-inner {
	padding: 60px;
	text-align: left;
}

.qa-box {
	margin-bottom: 30px;
}

/* --- Q&A 見出し（オレンジ背景・白文字） --- */
.q-ttl {
	background-color: #fb9400; /* 背景色：オレンジ */
	color: #fff;               /* 文字色：白 */
	padding: 15px 20px;        /* 内側の余白 */
	border-radius: 10px;       /* 角丸 */
	font-weight: bold;
	font-size: 20px;           /* 文字サイズ（少し大きめに調整） */
	margin-bottom: 20px;       /* 下のテキストとの余白 */
	line-height: 1.4;          /* 行間 */
	border-left: none;         /* 以前の左線を削除 */
}

/* スマホ表示時の調整 */
@media screen and (max-width: 640px) {
	.q-ttl {
			font-size: 16px;       /* スマホでは文字サイズを少し抑える */
			padding: 12px 15px;
	}
}

.a-txt {
	font-size: 15px;
	line-height: 1.8;
	color: #333;
}

.interview-images {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin: 40px 0;
}

.interview-img-item {
	width: 48%;
}

.interview-img-item img {
	width: 100%;
	border-radius: 8px;
}

/* スマホ表示 */
@media screen and (max-width: 640px) {
	.interview-inner {
			padding: 20px;
	}
	.interview-images {
			flex-direction: column;
	}
	.interview-img-item {
			width: 100%;
	}
	
	/* スマホでのボタン位置調整 */
	.more-btn-overlay {
			bottom: 15px;
	}
	.more-btn {
			padding: 8px 30px;
			font-size: 14px;
	}
}

/* ----------------------------------------------------
    講師紹介
---------------------------------------------------- */
.teacher {
	padding: 60px 0;
	width: 100%;
}

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

/* タイトル周り */
.teacher-ttl h2 {
	color: #fb9400; /* オレンジ */
	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: #f6a73d;
}

/* ★追加: アクティブ時のドット */
.pagination-dot.is-active {
	background-color: #fb9400; /* ブランドカラーのオレンジ */
	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: #f6a73d; /* ボタン背景色（少し薄めのオレンジ） */
	border: none;
	cursor: pointer;
	position: relative;
	flex-shrink: 0;
	transition: background 0.3s;
}

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

/* 矢印の三角形を作成（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: 40px 0px;
			border-radius: 20px;
			width: 100%;
	}
	
	.teacher-ttl h2 {
			font-size: 36px;
	}
	
	.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: 700px;
	width: 98%;
}

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

@media screen and (max-width: 640px) {
	.price {
		padding: 60px 0 60px;
		max-width: 90%;
		width: 100%;
		margin: 0 auto;
	}

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

/* ----------------------------------------------------
    flow
---------------------------------------------------- */
.flow {
	background-color: #FFEBD4;
	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 {
		margin: 0px auto;
	}

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

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

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

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

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

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

.message-photo img {
	max-width: 260px;
	width: 100%;
}

.message-txt {
	max-width: 870px;
	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: 30px;
	padding-bottom: 60px;
}

.message-sign img {
	max-width: 380px;
	width: 100%;
}

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

	.message-inner {
		width: 90%;
	}

	.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 / 校舎案内
---------------------------------------------------- */
.access {
	padding: 80px 0;
	width: 100%;
	background-color: #fff;
}

.access-inner {
	max-width: 1000px;
	width: 95%;
	margin: 0 auto;
}

/* タイトル */
.access-ttl {
	text-align: center;
	color: #fb9400; /* オレンジ */
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 40px;
}

/* 上部の写真 */
.access-top-img {
	margin-bottom: 60px;
	text-align: center;
}

.access-top-img img {
	width: 100%;
	max-width: 900px; /* 画像の最大幅（適宜調整） */
	height: auto;
}

/* 校舎リスト（2カラムレイアウト） */
.access-list-row {
	display: flex;
	justify-content: space-between; /* 左右に配置 */
	align-items: flex-start;        /* 上揃え */
	max-width: 800px;
	margin: 0 auto 60px;            /* 下の地図との余白 */
	gap: 40px;                      /* カラム間の余白 */
}

.access-list-col {
	width: 48%; /* 2列なので約半分 */
}

/* 個別の校舎情報ブロック */
.school-item {
	margin-bottom: 30px;
	text-align: left;
}

.school-name {
	font-size: 18px;
	font-weight: bold;
	color: #fb9400;       /* 文字色オレンジ */
	border-left: 5px solid #fb9400; /* 左側のオレンジの縦線 */
	padding-left: 10px;   /* 線と文字の隙間 */
	margin-bottom: 10px;
	line-height: 1.4;
}

.school-address {
	font-size: 15px;
	line-height: 1.6;
	padding-left: 15px;   /* タイトルより少し右にずらす */
	color: #333;
}

/* 下部の地図エリア */
.access-map {
	text-align: center;
	width: 100%;
}

.access-map iframe {
	width: 100%;
	max-width: 900px;       /* 横幅の制限 */
	height: 500px;          /* PC表示時の高さ（固定値にする必要があります） */
	border: 1px solid #eee; /* 薄い枠線 */
	vertical-align: bottom; /* 下の隙間を消す */
	margin: 0 auto;         /* 中央寄せ */
	display: block;
}


/* ----------------------------------------------------
	スマホ表示時の調整
---------------------------------------------------- */
@media screen and (max-width: 640px) {
	.access {
			padding: 60px 0;
	}

	.access-ttl {
			font-size: 24px;
			margin-bottom: 30px;
	}

	.access-top-img {
			margin-bottom: 40px;
	}

	/* スマホでは1列にする */
	.access-list-row {
			flex-direction: column;
			gap: 0;
			margin-bottom: 40px;
	}

	.access-list-col {
			width: 100%;
	}

	.school-item {
			margin-bottom: 25px;
	}

	.access-map iframe {
		height: 350px; /* スマホでは高さを少し抑える */
}
}

/* ----------------------------------------------------
    FAQ (よくある質問)
---------------------------------------------------- */
.faq {
	background-color: #FFF5EA; /* 全体の背景（薄いベージュ） */
	padding: 100px 0;
}

.faq-inner {
	max-width: 900px;
	width: 95%;
	margin: 0 auto;
}

/* タイトル画像 */
.faq-ttl {
	text-align: center;
	margin-bottom: 60px;
}

.faq-ttl img {
	max-width: 900px; /* 画像サイズに合わせて調整 */
	width: 100%;
}

/* カテゴリごとのブロック */
.faq-block {
	margin-bottom: 60px;
}

/* カテゴリタイトル */
.faq-cat-ttl {
	font-size: 20px;
	font-weight: bold;
	color: #333;
	margin-bottom: 20px;
	border-bottom: 2px solid transparent; /* 必要なら下線を引く */
}

/* FAQアイテム（QとAのセット） */
.faq-item {
	margin-bottom: 15px;
}

/* Q（トリガー部分） */
.faq-trigger {
	background-color: #f6a73d; /* オレンジ色 */
	color: #fff;
	padding: 15px 50px 15px 20px; /* 右側は矢印用に広く */
	border-radius: 8px;
	cursor: pointer;
	position: relative;
	font-weight: bold;
	font-size: 16px;
	line-height: 1.5;
	transition: background-color 0.3s;
}

.faq-trigger:hover {
	background-color: #fb9400; /* ホバー時は少し濃く */
}

/* Qのテキスト */
.faq-q-text {
	display: block;
}

/* 矢印アイコン（CSSでV字作成） */
.faq-arrow {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 12px;
	height: 12px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translateY(-70%) rotate(45deg); /* 下向き */
	transition: transform 0.3s;
}

/* 開いた時の矢印（上向き） */
.faq-trigger.is-open .faq-arrow {
	transform: translateY(-30%) rotate(225deg);
}

/* A（コンテンツ部分） */
.faq-content {
	background-color: #fff;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: height 0.3s ease, opacity 0.3s ease;
	border-radius: 0 0 8px 8px; /* 下だけ角丸 */
}

/* 開いた時にQの下の角丸を消してAと繋げる場合 */
.faq-trigger.is-open {
	border-radius: 8px 8px 0 0;
}

.faq-a-inner {
	padding: 20px;
	color: #333;
	font-size: 15px;
	line-height: 1.8;
}

/* スマホ表示時の調整 */
@media screen and (max-width: 640px) {
	.faq-trigger {
			font-size: 14px;
			padding: 12px 40px 12px 15px;
	}
	.faq-cat-ttl {
			font-size: 18px;
	}

	.faq-ttl img {
		max-width: 100%;
		width: 100%;
	}

	.faq {
		background-color: #FFF5EA; /* 全体の背景（薄いベージュ） */
		padding: 60px 0;
	}
}


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

.contact-inner {
	max-width: 800px; /* フォームの幅 */
	width: 95%;
	margin: 0 auto;
}

.contact-ttl {
	text-align: center;
	color: #fb9400; /* オレンジ */
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 60px;
}

.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: #fb9400;
	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: #0FC21C; /* 赤茶色 */
	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: 80px 0 80px;
	}
}

/* ----------------------------------------------------
	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; }
}

/* サンクスページ */


/* プライバシーポリシー */
@charset "utf-8";

.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; }
}

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

/* ----------------------------------------------------
    お問い合わせ マイクロコピー
---------------------------------------------------- */
.contact-micro-copy {
	text-align: center;
	font-size: 16px;
	line-height: 1.8;
	color: #333;
	margin-top: -30px; /* h2のmargin-bottomを調整 */
	margin-bottom: 50px;
}

/* 安心感を強調する部分（既存の赤茶色を活用） */
.contact-micro-copy .highlight {
	font-weight: bold;
	color: #CA161E; 
}

/* 補足テキスト */
.contact-micro-copy .time {
	font-size: 14px;
	color: #666;
	display: inline-block;
	margin-top: 5px;
}

@media screen and (max-width: 640px) {
	.contact-micro-copy {
		font-size: 12px;
		margin-top: -20px;
		margin-bottom: 40px;
		text-align: center; /* スマホでは読みやすさ重視で左寄せ（お好みでcenterに変更可） */
	}
	.contact-micro-copy .time {
		font-size: 12px;
	}
}