/* ============================
   レイアウト / 共通パーツ
   ============================ */
.aw-wrap {
	overflow-x: hidden;
}

.aw-container {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ヘッダーは中央寄せ(max-width)を解除し、ロゴ／ナビを画面端まで広げる */
.aw-header__inner.aw-container {
	max-width: none;
	padding: 0 45px;
}

.aw-grid-bg {
	background-image: url(../img/bg_grid01.png);
	background-repeat: repeat;
	background-position: center center;
	background-size: 54px 54px;
}

.aw-only-mobile {
	display: none;
}

/* セクション見出し */
.aw-section-head {
	position: relative;
	text-align: center;
	margin-bottom: 40px;
}

.aw-section-head--36 {
	margin-bottom: 36px;
}

.aw-section-head--34 {
	margin-bottom: 34px;
}

.aw-sectitle-wrap {
	position: relative;
	display: inline-block;
}

.aw-sectitle {
	margin: 0;
	font-family: 'MuseoModerno', cursive;
	font-weight: 800;
	font-size: 64px;
	line-height: 1;
	color: #1f1f1f;
	letter-spacing: 0.01em;
}

.aw-sectitle--light {
	color: #fff;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.25);
}

.aw-sublead {
	margin: 10px 0 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: #4a4a4a;
}

.aw-sublead--light {
	margin: 10px 0 28px;
	color: #fff;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.3);
}

/* 丸い矢印バッジ */
.aw-arrow-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #f4f875;
}

.aw-arrow-circle--mid {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
}

.aw-arrow-circle--corner {
	position: absolute;
	right: -4px;
	bottom: -7px;
	width: 48px;
	height: 48px;
}

.aw-arrow-circle--lg {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
}

.aw-arrow-circle--sm {
	position: absolute;
	right: 8px;
	bottom: 8px;
	width: 30px;
	height: 30px;
}

.aw-arrow-circle--seminar {
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
}

.aw-arrow11 {
	height: 11px;
	width: auto;
}

.aw-arrow13 {
	height: 13px;
}

.aw-arrow14 {
	height: 14px;
}

/* タグ */
.aw-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}

.aw-tag {
	background: #d9d9d9;
	border-radius: 50px;
	padding: 6px 12px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
}

/* ============================
   ヒーロー（スライダー）
   ============================ */
.aw-hero-section {
	background: #fff;
	padding: 48px 0 56px;
}

#aw-hero {
	width: 100%;
}

.aw-hero__slide {
	/* 1440px で 40px（= gap 80px）。vw 指定でウィンドウ拡大時も比例して広がる */
	padding: 0 2.78vw;
}

.aw-hero__img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 16px;
}

/* hero slick — 全スライド同じ高さ・不透明 */
#aw-hero .slick-slide {
	opacity: 1;
}

#aw-hero .slick-slide > div {
	padding: 0;
}

#aw-hero .slick-prev,
#aw-hero .slick-next {
	width: 48px;
	height: 48px;
	z-index: 5;
}

#aw-hero .slick-prev {
	left: calc(19.44% - 24px);
}

#aw-hero .slick-next {
	right: calc(19.44% - 24px);
}

#aw-hero .slick-prev:before,
#aw-hero .slick-next:before {
	display: none;
}

#aw-hero .slick-prev img,
#aw-hero .slick-next img {
	width: 48px;
	height: 48px;
}

#aw-hero .slick-dots {
	position: static;
	margin-top: 18px;
}

#aw-hero .slick-dots li {
	width: 10px;
	height: 10px;
	margin: 0 5px;
}

#aw-hero .slick-dots li button {
	width: 10px;
	height: 10px;
	padding: 0;
	border-radius: 50%;
	background: #d9d9d9;
}

#aw-hero .slick-dots li button:before {
	display: none;
}

#aw-hero .slick-dots li.slick-active button {
	background: #e47936;
}

/* ============================
   support セクション
   ============================ */
.aw-support-section {
	background: #f4f875;
	/* flow-root で子のマージン相殺を防ぎ、margin-top で黄色帯の上に白い余白を作る */
	display: flow-root;
	margin-top: 60px;
	padding: 0 0 64px;
}

/* 見出し（support タイトル）だけ黄色帯の上端から上に飛び出させ、リード文は帯の中に収める */
.aw-support-section .aw-section-head {
	margin-top: -35px;
	margin-bottom: 32px;
	z-index: 1;
}

/* support の右側のみきゃん（猫＋説明テキスト入り画像） */
.aw-support-mican {
	position: absolute;
	left: calc(100% + 12px);
	top: 50%;
	transform: translateY(-50%);
	width: 140px;
	height: auto;
}

.aw-support-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.aw-support-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 108px;
	background: #fff;
	border-radius: 16px;
	padding: 22px 64px 22px 22px;
}

.aw-support-card__icon {
	flex: 0 0 auto;
}

.aw-support-row a:nth-child(1) .aw-support-card__icon {
	width: 42px;
	height: 44px;
}

.aw-support-row a:nth-child(2) .aw-support-card__icon {
	width: 42px;
	height: 42px;
}

.aw-support-row a:nth-child(3) .aw-support-card__icon {
	width: 46px;
	height: 46px;
}

.aw-support-card__text {
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
	color: #1f1f1f;
}

/* ============================
   event セクション
   ============================ */
.aw-event-section {
	background-color: #fff;
	padding: 60px 0 120px;
}

.aw-ev-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.aw-ev-grid .aw-ev-wide {
	grid-column: 1 / -1;
}

.aw-ev-card {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 16px;
	min-height: 200px;
	background: #fff;
	border: 1px solid #1f1f1f;
	border-radius: 16px;
	padding: 16px;
}

.aw-ev-card__img {
	width: 300px;
	flex: 0 0 300px;
	align-self: stretch;
	object-fit: cover;
	border-radius: 8px;
}

.aw-ev-card__body {
	flex: 1;
	min-width: 0;
	padding-right: 8px;
}

.aw-ev-card__title {
	margin: 0 0 8px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.35;
	color: #000;
}

.aw-ev-card__date {
	margin: 0 0 6px;
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 14px;
	color: #000;
}

.aw-ev-card__cal {
	width: 15px;
	height: 15px;
}

.aw-ev-card__desc {
	margin: 0;
	font-size: 14px;
	color: #000;
	line-height: 1.5;
}

/* ============================
   seminar セクション
   ============================ */
.aw-seminar-section {
	position: relative;
	background: #f8ccb0 url(../img/bg_seminar.jpg) center / cover;
	padding: 94px 0 127px;
	overflow: hidden;
}

.aw-seminar-section .aw-sublead--light {
	margin-bottom: 58px;
}

.aw-seminar-inner {
	position: relative;
	text-align: center;
	color: #fff;
}

.aw-seminar-btn-wrap {
	position: relative;
	display: inline-block;
}

/* 白いボタン（デザイン: 480×108・角丸16） */
.aw-seminar-btn {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	width: 480px;
	max-width: 100%;
	height: 108px;
	padding: 0 88px 0 40px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
}

.aw-seminar-btn__icon {
	width: 36px;
	height: 26px;
}

.aw-seminar-btn__text {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: #1f1f1f;
	white-space: nowrap;
}

/* ボタン右に重なるこみきゃん（キャラ＋テキストを画像化: komican01.png） */
.aw-komican--seminar {
	position: absolute;
	right: -136px;
	bottom: 0;
	width: 205px;
	height: auto;
	z-index: 2;
}

/* ============================
   schedule セクション
   ============================ */
.aw-schedule-section {
	background-color: #fff;
	padding: 60px 0 120px;
}

.aw-schedule-card {
	position: relative;
	max-width: 1000px;
	aspect-ratio: 1000/474;
	margin: 0 auto;
}

.aw-schedule-img {
	width: 110.7%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

/* SP用画像は通常非表示（560px以下でのみ表示） */
.aw-schedule-img.sp_img {
	display: none;
}

/* ============================
   sign up セクション
   ============================ */
.aw-signup-section {
	background-color: #f4f875;
	display: flow-root;
	padding: 0 0 60px;
}

.aw-signup-section .aw-section-head {
	margin-top: -35px;
	margin-bottom: 32px;
	z-index: 1;
}

/* ボタン列の幅にぴったり合わせ、左右キャラを absolute で端にかぶせる土台 */
.aw-signup-row {
	position: relative;
	width: fit-content;
	max-width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}

/* 左右のキャラクターはボタンの端に少しかぶさるよう絶対配置 */
.aw-signup-mican1 {
	position: absolute;
	/* left: 1px; */
	left: 120px;
	top: -35px;
	width: 128px;
	height: auto;
	transform: translateX(-86%);
	z-index: 1;
}

.aw-signup-mican2 {
	position: absolute;
	/* right: 0; */
	right: 120px;
	/* bottom: -30px; */
	bottom: 50px;
	width: 124px;
	height: auto;
	transform: translateX(86%);
	z-index: 1;
}

.aw-signup-btns {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	justify-content: center;
}

.aw-signup-btn-wrap {
	position: relative;
}

.aw-osusume {
	position: absolute;
	left: 14px;
	top: -44px;
	width: 84px;
	height: auto;
	z-index: 2;
}

.aw-signup-btn {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border-radius: 16px;
	padding: 22px 64px 22px 22px;
	min-width: 344px;
}

.aw-signup-btn__icon {
	width: 46px;
	height: 46px;
}

.aw-signup-btn__text {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 17px;
	color: #000;
}

/* 注釈はLINEで登録への補足。ボタン群の中に入れ、デスクトップでは全幅で下に配置 */
.aw-signup-note {
	flex-basis: 100%;
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	text-align: left;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #4a4a4a;
	line-height: 1.8;
}

/* ============================
   links セクション
   ============================ */
.aw-links-section {
	/* グリッド背景を出すため shorthand ではなく background-color を使う */
	background-color: #fff;
	padding: 56px 0 64px;
}

.aw-links-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
}

.aw-link-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 140px;
	background: #fff;
	border: 1px solid #4a4a4a;
	border-radius: 16px;
	padding: 20px 30px 20px 24px;
}

.aw-link-card__icon {
	width: 40px;
	height: 40px;
	flex: 0 0 auto;
}

.aw-link-card__title {
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #1f1f1f;
	line-height: 1.35;
}

.aw-link-card__sub {
	display: block;
	font-size: 13px;
	color: #4a4a4a;
	margin-top: 4px;
	line-height: 1.4;
}

/* ============================
   レスポンシブ
   ============================ */
/* 1200〜901px: イベントカードを縦並び（画像が上・本文が下）の2列に */
@media (min-width: 901px) and (max-width: 1200px) {
	.aw-ev-grid .aw-ev-wide {
		grid-column: auto;
	}
	.aw-ev-card {
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
		gap: 12px;
	}
	.aw-ev-card__img {
		width: 100%;
		flex: 0 0 auto;
		height: auto;
		aspect-ratio: 16 / 9;
	}
	.aw-ev-card__body {
		padding-right: 0;
	}
}

@media screen and (max-width: 1200px) {
	.aw-schedule-card {
		width: 84%;
	}
}

@media (max-width: 980px) {
	.aw-schedule-section {
		padding-bottom: 100px;
	}
	.aw-signup-mican1 {
		position: absolute;
		left: 1px;
		top: -165px;
		width: 90px;
		height: auto;
		transform: none;
		z-index: 1;
	}
	.aw-signup-mican2 {
		right: 0;
		bottom: -153px;
		width: 90px;
		height: auto;
		transform: none;
		z-index: 1;
	}
}

@media (max-width: 900px) {
	.aw-ev-grid {
		grid-template-columns: 1fr;
	}
	.aw-ev-grid .aw-ev-wide {
		grid-column: auto;
	}
	.aw-support-row {
		grid-template-columns: 1fr;
	}
	.aw-links-row {
		grid-template-columns: 1fr 1fr;
	}
	.aw-hero__slide {
		padding: 0 8px;
	}
	#aw-hero .slick-prev {
		left: 6px;
	}
	#aw-hero .slick-next {
		right: 6px;
	}
}

@media (max-width: 560px) {
	.aw-hero-section {
		padding-bottom: 30px;
	}
	/* スマホ: 左右の覗きをやめて1枚を大きく表示（slick側 centerPadding:0px と合わせる） */
	.aw-hero__slide {
		/* 左右にわずかな余白だけ残す */
		padding: 0 16px;
	}
	#aw-hero .slick-prev,
	#aw-hero .slick-next {
		display: none !important;
	}
	.aw-links-row {
		grid-template-columns: 1fr;
	}
	/* スマホ: イベントカードを縦並び（画像が上・本文が下） */
	.aw-ev-card {
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
		gap: 12px;
	}
	.aw-ev-card__img {
		width: 100%;
		flex: 0 0 auto;
		height: auto;
		aspect-ratio: 16 / 9;
	}
	.aw-ev-card__body {
		padding-right: 0;
	}
	.aw-sectitle {
		font-size: 40px !important;
	}
	.aw-sublead {
		font-size: 16px !important;
	}
	.aw-support-mican {
		width: 88px;
		left: calc(100% + 29px);
	}
	.aw-support-section {
		margin-top: 0;
	}
	.aw-support-section .aw-section-head,
	.aw-signup-section .aw-section-head {
		margin-top: -25px;
	}
	.aw-signup-section .aw-section-head {
		margin-bottom: 50px;
	}
	.aw-signup-note {
		font-size: 14px;
	}
	.aw-hide-sm {
		display: none !important;
	}
	.aw-only-mobile {
		display: flex !important;
	}
	/* スマホ: セミナーボタンを画面幅に合わせて調整（こみきゃん非表示のため右余白を解消） */
	.aw-seminar-btn-wrap {
		display: block;
		width: 100%;
	}
	.aw-seminar-btn {
		width: 100%;
		height: auto;
		min-height: 76px;
		gap: 10px;
		/* 右側は矢印アイコン分の余白を確保して重なりを防ぐ */
		padding: 16px 72px 16px 20px;
		justify-content: flex-start;
		border-radius: 12px;
	}
	.aw-seminar-btn__text {
		font-size: 16px;
		white-space: normal;
		text-align: left;
	}
	.aw-seminar-btn__text .ib {
		display: inline-block;
	}
	.aw-arrow-circle--seminar {
		right: 16px;
		width: 40px;
		height: 40px;
	}

	.aw-link-card {
		min-height: 125px;
	}

	.aw-event-section {
		padding-top: 40px;
	}

	/* sign up 左右のキャラクターは 375px でも表示（小さめにして文字干渉を回避） */
	.aw-signup-mican1,
	.aw-signup-mican2 {
		display: block !important;
		width: 66px;
	}
	/* 左上みきゃんは上にずらしてキャプションをサブリード文の上に逃がす */
	.aw-signup-mican1 {
		top: -160px;
	}
	.aw-signup-mican2 {
		bottom: -88px;
	}
}

@media screen and (max-width: 400px) {
	/* 375px でもみきゃんを表示したままにする：タイトル基準ではなく見出し右端に寄せる
	   キャプション部分はクロップして顔だけ表示し、サブリード文との干渉を防ぐ */
	.aw-support-section .aw-sectitle-wrap {
		position: static;
	}
	.aw-support-mican {
		display: block;
		width: 58px;
		height: auto;
		left: auto;
		right: 2px;
		top: -12px;
		transform: none;
	}
}

@media screen and (max-width: 767px) {
	/* 「おすすめ！」吹き出し（ボタン上に top:-44px で配置）がサブリード文と
	   重ならないよう、ボタン列の上に余白を確保する */
	.aw-signup-row {
		margin-top: 32px;
	}
}

@media screen and (max-width: 767px) and (min-width: 561px) {
	/* 767〜560px の間だけ「おすすめ！」吹き出しを小さく＆少し下げて
	   「3分で簡単登録！」と重ならないようにする */
	.aw-osusume {
		width: 70px;
		top: -26px;
	}
}

@media screen and (max-width: 768px) {
	/* 768px以下: スケジュール画像をSP用に切り替え、縮小せず横スクロールで表示 */
	.aw-schedule-img:not(.sp_img) {
		display: none;
	}
	.aw-schedule-img.sp_img {
		display: block;
		position: static;
		transform: none;
		width: auto;
		height: 380px;
		max-width: none;
	}
	.aw-schedule-card {
		width: 100%;
		aspect-ratio: auto;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	/* 768px以下: 注釈（LINE登録の補足）をLINEボタンの直下に並べる */
	.aw-signup-btn-wrap {
		order: 0;
	}
	.aw-signup-note {
		order: 1;
		/* LINEボタン（幅344px・中央寄せ）と左端をそろえ、上を詰めてLINE寄りにする */
		max-width: 344px;
		margin: -12px auto 12px;
	}
	.aw-signup-btns > a.aw-signup-btn {
		order: 2;
	}
}
