@charset "utf-8";body {	font-family: "Futura", Helvetica, sans-serif;}html{	background-color:#c60082;}body,header{	background-color:#fffafa;}header img{	width:4rem;	/*height:auto;*/	margin-left:2rem;}a{	text-decoration:none;}li{	list-style-type:none;}h1{	margin-top:1rem;	margin-right:1rem;}.main_name{	display:inline-flex;}.main_name p{	font-size:2rem;	color:#c60082;	font-weight:bold;}.main_name a:hover{	color:pink;}.freedial{	position:relative;	top:1rem;	display:block;	text-align:center;	width:300px;	height:100px;	border:3px solid #c60082;	border-radius:9px;	line-height:30px;	margin:0 auto;	box-sizing:border-box;	color: black;		margin-bottom:3rem;}.freedial:before{	content:"";	position:absolute;	top:50%;	left:-24px;	margin-top:-12px;	border: 12px solid transparent;	 border-right: 12px solid #FFF;	z-index: 2;}.freedial:after{	content: "";	position: absolute;	top: 50%;	left: -30px;	margin-top: -14px;	border: 14px solid transparent;	border-right: 14px solid #c60082;	z-index: 1;}.freedial img{		width:30px!important;		height:auto!important;}.greetings,.map,.profile{	margin:6%;}.wrapper{	margin: 0 2%;}	/* ---Other Styling--- */h2 {	font-size: 1.5rem;	margin-bottom: 5%;}section{	margin-right:6%;	margin-left:6%;  }.line{	width:100%;	height:3px;	background-color:#c71585;}	/* ---footer--- */footer{		padding:2% 0;	background-color:#c60082;	text-align:center;}footer a{	color:white;}.lisence{	color:#f2b1d9;}/* ---pagetop btn--- */.pagetop {	display: none;	position: fixed;	bottom: 30px;	right: 15px;	z-index: 50;}.pagetop a {	display: block;	width: 50px;	height: 50px;	padding: 10px;	line-height: 50px;	text-align: center;	color: #fff;	font-size: 18px;	text-decoration: none;	border-radius: 50%;	background: linear-gradient(180deg, #f2b1d9 0%, #c60082 55%, #8a0058 100%);	text-shadow: 0 1px 2px rgba(70, 0, 46, 0.55);	box-shadow:		0 4px 10px rgba(140, 0, 90, 0.3),		inset 0 -5px 8px rgba(80, 0, 52, 0.45),		inset 0 4px 8px rgba(255, 255, 255, 0.35);	position: relative;	transition: transform 0.16s cubic-bezier(0.4, 0, 0.2, 1),		box-shadow 0.16s cubic-bezier(0.4, 0, 0.2, 1);}.pagetop a::before {	content: "";	position: absolute;	top: 6px;	left: 14px;	right: 14px;	height: 18px;	background: linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0));	border-radius: 50%;	pointer-events: none;}.pagetop a:active {	transform: translateY(2px);	transition: transform 0.06s cubic-bezier(0.4, 0, 1, 1),		box-shadow 0.06s cubic-bezier(0.4, 0, 1, 1);	box-shadow:		0 1px 3px rgba(140, 0, 90, 0.3),		inset 0 -3px 6px rgba(80, 0, 52, 0.45),		inset 0 4px 8px rgba(255, 255, 255, 0.2);}		.banner-list {    display: flex; /* 横並びにする */    justify-content: center; /* 中央揃え（必要に応じて変更） */    gap: 20px; /* バナー間のスペース */    list-style: none; /* リストの点（•）を消す */    padding: 0; /* デフォルトのパディングをなくす */}.banner {    flex: 1; /* 必要なら、均等に伸ばす */    max-width: 200px; /* バナーの最大幅を調整 */}	.banner {		margin-top:3rem;    padding: 10px;    border-radius: 8px;}.journal {		background-color: green;		padding-top:1rem;}.culture {		border:1px solid #c60082;		background-color: white;		color:#c60082;	}	.culture a{		color:#c60082;	}	.banner img {    width: 100%; /* 親要素に合わせる */    height: auto; /* アスペクト比を保つ */    transition: opacity 0.3s; /* ホバー時のエフェクト */}.banner:hover img {    opacity: 0.3; /* ホバー時に少し薄くなる */	}	.banner:hover{    opacity: 0.3; /* ホバー時に少し薄くなる */}@media screen and (max-width: 768px) {	/*横揺れをピタッと直すコード*/		html,	body {		/*overflow-x: clip;*/	}	/*横揺れをピタッと直すコード　おわり*/  .main_name p{	font-size:1.5rem; !important;}	.freedial{			margin:0 auto;		text-align:center;		}	}.candy-banner{	display:flex;	flex-direction:column;	align-items:center;	justify-content:center;	gap:3px;	width:100%;	max-width:420px;	min-height:84px;	margin:2rem auto;	padding:18px 28px;	box-sizing:border-box;	border-radius:32px;	background:linear-gradient(180deg,#f2b1d9 0%,#c60082 55%,#8a0058 100%);	color:#fff;	text-decoration:none;	position:relative;	cursor:pointer;	user-select:none;	box-shadow:		0 7px 14px rgba(140,0,90,0.28),		inset 0 -8px 12px rgba(80,0,52,0.5),		inset 0 3px 8px rgba(255,255,255,0.35);	transition:transform 0.16s cubic-bezier(0.4,0,0.2,1),		box-shadow 0.16s cubic-bezier(0.4,0,0.2,1);}.candy-banner::before{	content:"";	position:absolute;	top:6px;	left:22px;	right:22px;	height:24px;	background:linear-gradient(180deg,rgba(255,255,255,0.82),rgba(255,255,255,0));	border-radius:28px 28px 70% 70%;	pointer-events:none;}.candy-banner:active,.candy-banner.is-pressed{	transform:translateY(4px);	transition:transform 0.06s cubic-bezier(0.4,0,1,1),		box-shadow 0.06s cubic-bezier(0.4,0,1,1);	box-shadow:		0 1px 3px rgba(140,0,90,0.32),		inset 0 -4px 8px rgba(80,0,52,0.5),		inset 0 6px 12px rgba(255,255,255,0.18);}.candy-banner-sub{	font-size:13px;	font-weight:500;	letter-spacing:0.14em;	text-shadow:0 1px 2px rgba(70,0,46,0.55);	opacity:0.95;}.candy-banner-main{	font-size:17px;	font-weight:500;	letter-spacing:0.06em;	text-shadow:0 1px 2px rgba(70,0,46,0.55);}@media screen and (max-width:768px){	.candy-banner{		max-width:90%;		min-height:76px;		padding:16px 20px;	}	.candy-banner-main{		font-size:15px;	}}/* ============================== *//* 取り組みページ（torikumi.html） *//* ============================== *//* スティッキーなサブメニュー */.subnav-slot{	margin-top:50px;   /* ← 吹き出しとの間を空けたいぶんだけここで調整 */}.subnav{	position:relative; 	z-index:10;	background:#fffafa;	border-bottom:1px solid rgba(198,0,130,0.15);	padding:14px 16px 22px;}.subnav.is-stuck{	position:fixed;	top:0;	left:0;	right:0;}.subnav-label{	font-size:11px;	color:rgba(198,0,130,0.7);	letter-spacing:0.18em;	text-align:center;	margin-bottom:10px;	font-weight:500;}.subnav-list{	display:flex;	flex-wrap:wrap;	gap:10px;	justify-content:center;	list-style:none;	padding:0;	margin:0;}.subnav-pill{	display:inline-block;	padding:8px 18px;	border-radius:20px;	background:rgba(198,0,130,0.06);	border:1px solid rgba(198,0,130,0.32);	color:#c60082;	text-decoration:none;	font-size:13px;	font-weight:500;	letter-spacing:0.05em;	transition:background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;}.subnav-pill.is-current{	background:linear-gradient(180deg,#f2b1d9 0%,#c60082 55%,#8a0058 100%);	border-color:transparent;	color:#fff;	text-shadow:0 1px 2px rgba(70,0,46,0.5);	box-shadow:		0 1px 3px rgba(140,0,90,0.32),		inset 0 -4px 8px rgba(80,0,52,0.5),		inset 0 5px 10px rgba(255,255,255,0.22);}/* セクション本体 */.torikumi-section{	scroll-margin-top:100px;	padding:48px 0 32px;}.torikumi-heading{	text-align:center;	font-size:1.5rem;	color:#c60082;	margin:0;	font-weight:500;	letter-spacing:0.06em;}.torikumi-heading-accent{	display:block;	width:80px;	height:2px;	margin:12px auto 28px;	background:linear-gradient(90deg,transparent,#c60082,transparent);	border-radius:2px;}.torikumi-intro{	font-size:15px;	line-height:1.9;	color:#333;	margin:0 0 24px;	text-align:center;}/* 取得する加算カード */.torikumi-meta{	display:block;	max-width:fit-content;	margin:0 auto 36px;	padding:14px 28px;	background:rgba(198,0,130,0.05);	border:1px solid rgba(198,0,130,0.25);	border-radius:10px;	text-align:center;}.torikumi-meta dt{	font-size:11px;	color:rgba(198,0,130,0.85);	font-weight:500;	letter-spacing:0.15em;	margin:0 0 6px;}.torikumi-meta dd{	margin:0;	font-size:15px;	font-weight:500;	color:#333;}/* 中見出し */.torikumi-subheading{	font-size:1.05rem;	color:#c60082;	margin:36px 0 22px;	padding-left:14px;	border-left:3px solid #c60082;	font-weight:500;}/* サブテーマ */.sub-theme{	margin:0 0 28px;}.sub-theme-heading{	font-size:15px;	color:#333;	margin:0 0 12px;	font-weight:500;	display:flex;	align-items:center;}.sub-theme-num{	display:inline-flex;	align-items:center;	justify-content:center;	width:28px;	height:28px;	border-radius:50%;	background:linear-gradient(180deg,#f2b1d9 0%,#c60082 55%,#8a0058 100%);	color:#fff;	font-size:13px;	font-weight:500;	margin-right:12px;	box-shadow:		0 2px 4px rgba(140,0,90,0.22),		inset 0 -2px 4px rgba(80,0,52,0.42),		inset 0 2px 3px rgba(255,255,255,0.32);	text-shadow:0 1px 1px rgba(70,0,46,0.5);	flex-shrink:0;}.sub-theme-list{	list-style:none;	padding:0 0 0 40px;	margin:0;}.sub-theme-list li{	position:relative;	padding-left:1.3em;	line-height:1.9;	margin-bottom:0.5em;	font-size:14px;	color:#333;}.sub-theme-list li::before{	content:"";	position:absolute;	left:0.2em;	top:0.75em;	width:6px;	height:6px;	background:#c60082;	border-radius:50%;}/* 結びの文 */.torikumi-closing{	margin:40px 0 0;	padding:24px 28px;	background:rgba(198,0,130,0.05);	border-radius:8px;	font-size:14px;	line-height:2;	color:#333;	text-align:center;}/* PDF表紙サムネイル */.pdf-thumb{	display:block;	max-width:260px;	margin:0 auto;	text-decoration:none;	border-radius:10px;	overflow:hidden;	background:#fff;	border:1px solid rgba(198,0,130,0.25);	box-shadow:0 4px 12px rgba(140,0,90,0.12);	transition:box-shadow 0.25s ease, border-color 0.25s ease;}.pdf-thumb:hover{	box-shadow:0 8px 20px rgba(140,0,90,0.2);	border-color:rgba(198,0,130,0.5);}.pdf-thumb-cover{	display:block;	width:100%;	height:auto;	border-bottom:1px solid rgba(198,0,130,0.12);}.pdf-thumb-label{	display:flex;	align-items:center;	justify-content:center;	gap:7px;	padding:12px 16px;	font-size:13px;	font-weight:500;	color:#c60082;	letter-spacing:0.04em;	background:rgba(198,0,130,0.04);}/* PDF表紙サムネイル */.pdf-thumb{	display:block;	max-width:260px;	margin:0 auto;	text-decoration:none;	border-radius:10px;	overflow:hidden;	background:#fff;	border:1px solid rgba(198,0,130,0.25);	box-shadow:0 4px 12px rgba(140,0,90,0.12);	transition:box-shadow 0.25s ease, border-color 0.25s ease;}.pdf-thumb:hover{	box-shadow:0 8px 20px rgba(140,0,90,0.2);	border-color:rgba(198,0,130,0.5);}.pdf-thumb-cover{	display:block;	width:100%;	height:auto;	border-bottom:1px solid rgba(198,0,130,0.12);}.pdf-thumb-label{	display:flex;	align-items:center;	justify-content:center;	gap:7px;	padding:12px 16px;	font-size:13px;	font-weight:500;	color:#c60082;	letter-spacing:0.04em;	background:rgba(198,0,130,0.04);}/* モバイル */@media screen and (max-width:768px){	.subnav{		padding:12px 14px 22px;	}	.subnav-pill{		padding:7px 14px;		font-size:12px;	}	.torikumi-heading{		font-size:1.25rem;	}	.sub-theme-list{		padding-left:32px;	}	.wrapper{	margin: 0 2%;	padding-top: 50px;}}