@charset "UTF-8";
/*------------------------------
PC用レイアウト（768px以上スクリーン）
------------------------------*/

/*----------
共通設定(PC)
-----------*/

/* 初期スタイル調整 */
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* body全体の初期スタイル調整 */
body {
	font-size: 62.5%;
	line-height: 1.5;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
	color: #000;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
}

/*リンク文字の設定*/
a {
	text-decoration: underline;
}

a:link,
a:visited {
	color: #39f;
}

a:hover,
a:active {
	color: #f60;
}

p {
	margin: 0 !important;
	padding: 0 !important;
}

section {
	clear: both;
	/* 配置設定をクリアにしておくため（初期で設定している左右配置をクリアにする） */
	overflow: auto;
	/* 要素の内容が要素自体の領域を超えた場合「aute」 */
}

/* -------------------------------------
見出しタグ設定（PC)
--------------------------------------*/
h2 {
	margin: 1.5em 0 0.5em;
	font-size: 1.8em;
	font-weight: bold;
	text-align: center;
}

/* h3 {
	margin: 0 0 0.5em;
	padding: 0.3em 0.6em;
	font-size: 1.6em;
	border-left: 8px solid #125599;
	border-bottom: 1px dotted #125599;
	font-weight: bold;
} */

/* h4 {
	margin: 0 0 0.5em;
	padding: 0.3em 0.6em;
	font-size: 1.4em;
	border: 1px solid #8e8e8e;
	font-weight: bold;
} */

/* h5 {
	margin: 0 0 0.5em;
	padding: 0.2em 0.4em;
	font-size: 1.2em;
	border-bottom: 2px solid #414141;
	font-weight: bold;
} */

/*カラムが狭くなってもテーブルタグがはみ出ないようにする*/
table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-word;
}

/*--------------------------------------------------------
全体レイアウト/背景設定（PC）
--------------------------------------------------------*/

/*全体エリア(全体背景の設定はここ)*/
.main {
	background-color: #f2f2f2;
}

/*記事(ボディ)エリア*/


/*記事(ボディ)エリアの行間*/
.atcl_inr p {
	line-height: 1.6em;
	margin-bottom: 1em;
}

/*記事(ボディ)エリアのフォントサイズ*/
.article {
	font-size: 1.7em;
	background-color: #fff;
}

/*カラム全体の幅を変更する*/
.header_inr,
.atcl_inr,
.cmpn,
.sec04_1_setubi_inr {
	max-width: 950px;
	margin: 0 auto
}

/*PC画面とスマホ画面の切り替え*/

.gamen_pc {
	display: block;
}

.gamen_rps {
	display: none;
}

/*--------------------------------------------------------
上部固定ヘッダー設定
--------------------------------------------------------*/

/*上部固定ヘッダー全体*/
.header {
	position: sticky;
	/* ポジションがピタッとくっつく設定 */
	position: -webkit-sticky;
	top: 0;
	z-index: 5000;
	background-color: #fff;
	border-bottom: 1px;
	overflow: auto;
}

/* ヘッダー内部の子要素配置 */
.header_inr {
	max-width: 950px;
	margin: 0 auto;
	display: flex; /* フレックスボックスを使用 */
	align-items: center; /* 縦方向の中央揃え */
	justify-content: space-between; /* 子要素の間隔を均等配置 */
	overflow: hidden;
  }
  
  /* ヘッダーロゴ */
  .header_logo {
	width: 8%;
	margin: 0.5em 0;
  }
  
  /* ヘッダーテキスト部分 */
  .hd_kids_lab {
	flex-grow: 1; /* 空いたスペースを埋める */
  }
  
  /* キャッチコピー */
  .hd_mds {
	font-size: 1.3em;
	margin: 0;
	line-height: 1.5;
  }
  
  /* メインタイトル */
  .hd_lab {
	font-size: 2em;
	margin: 0;
	font-weight: bold;
	line-height: 1.5;
  }
  

/*ヘッダー 電話ボタン*/
.header_tel {
	width: 25%;
	float: right;
	margin: 0.5em 0.5em 0em;
}

/*ヘッダー 問い合わせボタン*/
.header_mail {
	width: 18%;
	float: right;
	margin: 0.8em 0.3em 0em;
}

/*ヘッダー内の画像はエリア幅に合わせる*/
.header_logo img,
.header_tel img,
.header_mail img {
	width: 100%;
}

/*--------------------------------------------------------
ファーストビュー設定
--------------------------------------------------------*/
.top_image {
	position: relative;
	/* 子要素の基準位置を確保 */
}

.top_image img {
	display: block;
	/* 画像の余白を防ぐ */
	width: 100%;
	/* 必要に応じて調整 */
}

.top_btn {
	position: absolute;
	/* 親要素を基準に絶対配置 */
	top: 0;
	/* 親の上端に揃える */
	left: 0;
	/* 親の左端に揃える */
	width: 100%;
	/* 親要素の幅に合わせる */
	height: 100%;
	/* 親要素の高さに合わせる */
	z-index: 10;
	/* 画像よりも上に表示 */
}

.top_btn img {
	width: 100%;
	/* 親要素内で画像を完全にフィット */
	height: auto;
	/* アスペクト比を維持 */
}





/*--------------------------------------------------------
CTA設定
--------------------------------------------------------*/


.cta {
	background: url(../images/kids_lab_cta_haikei.png);
}

.cta_in {
	background-color: #fff;
	max-width: 700px;
	margin: 1.5em auto;
	padding: 1em;
	border-radius: 10px;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}

.cta_in img {
	width: 100%;
}

.cta_taiken {
	width: 60%;
	margin: 0 auto;
	/* 中央に配置（必要な場合） */
	display: block;
	/* インライン画像の中央揃え */
}

.cta_p01 {
	font-size: 2em;
	text-align: center;
}

.cmpn img {
	width: 100%;
}




/* --------------------------
セクション設定
----------------------------*/

.border_G {
	width: 150px;
	height: 5px;
	background-color: #278b39;
	margin: -10px auto 10px auto;
}

/* --------アクティブキッズラボとは----------*/
.sec01_kids_lab {
	background: url(../images/kids_lab_haikei01.png) repeat-x center center;
	background-size: cover;
	display: flex;
	flex-direction: column;

}

.kids_lab_kaisetu01 {
	text-align: center;
	align-items: center;
	/* 子要素を水平中央揃え */
	padding: 2em 0em;
	width: 100%;
}

.kids_lab_kaisetu01 p {
	color: #FFF;

}

.kids_lab_kaisetu01_mds,
.kids_lab_kaisetu02_mds {
	font-size: 1.8em;
	font-weight: bold;
}

.kids_lab_kaisetu01_text {
	max-width: 700px;
	text-align: center;
	font-size: 1.2em;
	margin: auto;
}

/* ----ゴールデンエイジ ----*/
.golden_eiji {
	margin: 0 auto;
	background-color: #fff;
	padding: 1.5em 0em;
}

.kids_lab_kaisetu02 {
	display: flex;
	padding: 0em 0em 1em;
}

.golden_eiji_gazou01 img {
	width: 100%;
	padding: 0.5em;
}

.golden_eiji_text {
	padding: 1em 1em 0em 1em;
	font-size: 1.2em;
}

.golden_eiji_text02 {
	font-size: 1.2em;
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
}

.golden_eiji_text02 p {
	margin: 0 auto;
}

.golden_eiji_text02_strg {
	font-size: 1.5em;
}


/* ----3つのポイント----*/
.sec_3_point {
	background: url(../images/haikei_point.png) center center;

	background-color: #fefcf2;
}

.sec_3_point h2 {
	background: url(../images/kids_lab_haikei02.png) no-repeat center center;
	padding: 1em 0em;
}

.kids_lab_3point_mds {
	font-size: 2.2em;
	position: relative;
	top: -0.2em;
}

.sec_3_point h3 {
	text-align: center;
	font-size: 1.5em;
	padding: 1em 0em 0em;
	margin: 0em !important;
}

.point_01,
.point_02 {
	padding: 0em 2.5em 5em;
	margin: 1em;
	background-color: #fff;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
	/* 影を追加 */

}

.point_02 {
	padding: 0em 2.5em 0em;
	margin: 1em;
	background-color: #fff;
}

.point_01 p,
.point_02 p {
	padding: 1em 2em;
}

.point_01 img {
	width: 35%;
}

.point_02 img {
	width: 40%;
}

.pint_text {
	padding: 1em 1em 0em;
}


/* 全体のコンテナ */
.point_daihyou {
	position: relative;
	bottom: 3em;
	background-color: #f9f9f9;
	border-radius: 15px;
	/* 角を丸く */
	padding: 20px;
	max-width: 800px;
	margin: 0 auto;
	/* 中央配置 */
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
	/* 影を追加 */
}

.daihyou_mds {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	padding-left: 3em;
}

/* ロゴ画像 */
.daihyou_mds img {
	width: 10%;
	/* ロゴを20%の大きさに縮小 */
	margin-right: 15px;
	/* ロゴとテキストの間に余白 */
}

/* プロフィールテキスト */
.daihyou_prf {
	font-weight: bold;
	/* 太字 */
	font-size: 1.1em;
	line-height: 1.5;
	text-align: left;
	/* 左揃え */
}

/* 代表の詳細テキスト */
.daihyou_text {
	max-width: 700px;
	margin: 20px auto 0;
	/* 上の要素との間に余白 */
	line-height: 1.6;
	text-align: left;
}

/* -----2つのクラス------ */
.sec_kids_lab_class {
	background: url(../images/kids_lab_classhaikei.png) no-repeat center;
	background-size: cover;
}

.kids_lab_3point_mds {
	font-size: 2.2em;
	position: relative;
	top: -0.2em;
}

.lab_class {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 5px;
}

.lab_kidsclass img,
.lab_sxptclass img {
	max-width: 450px;
}


/* -----お客様の声 -----*/

.sec04_koe {
	background: url(../images/haikei_koe.png) repeat-y center;
	/* 縦方向に繰り返す設定 */
	background-size: 100% auto;
	/* 横幅を要素全体に合わせる */
}

.sec04_koe img {
	width: 100%;
}

/* ------設備 ---------*/

.sec04_1_setubi {
	background-color: #ffc403;
	padding: 2em 0em 3em;
}

.sec04_1_setubi_inr {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	/* デスクトップ: 横3つ */
	gap: 0px;
	/* 要素間の間隔 */
	justify-items: center;
	/* 子要素を中央揃え */
	text-align: center;
	/* テキストを中央揃え */
	padding: 2px;
}

.sec04_1_setubi_inr p {
	font-size: 1.5em;
}

/* 個々の項目 */
.setubi_item {
	display: flex;
	flex-direction: column;
	/* 画像の下にテキスト */
	align-items: center;
	margin: 0;
}

/* 画像のスタイル */
.setubi_item img {
	width: 100%;
	/* 画像のサイズ調整 */
	height: auto;
	margin-bottom: 2px;
	/* 画像とテキストの間隔 */
}


/*------- 申し込みの流れ -------*/
.sec05_nagare {
	background: url(../images/haikei_nagare.png);
	width: 100%;
}
.nagare_step{
	margin: 0em 1em 0em;
}
.sec05_nagare img{
width: 100%;
}
/*---------- Q&A ----------*/
.qa_eria {
	margin: 2em 0em 3em;
}


/*--------------------------------------------------------
段落・リスト・テーブル設定
--------------------------------------------------------*/
/*------------
よくある質問(アコーディオンver.)
-------------*/

.faq {
	max-width: 900px;
	margin: 0 auto;
	font-size: 1.5em;
}

.faq dl,
.faq dt,
.faq dd {
	margin: 0;
	padding: 0;
}

.faq dl+dl {
	margin-top: 1rem;
}

.faq dt,
.faq dd {
	padding: 10px;
}

.faq dl {
	position: relative;
	overflow: hidden;
}

.faq dl>input {
	display: none;
}

.faq dt {
	position: relative;
	z-index: 1;
	padding-right: 40px;
	padding-left: 2.5em;
	cursor: pointer;
	background: #e6f3ff;
	transition: .4;
}

.faq dd {
	position: absolute;
	visibility: hidden;
	transform: translateY(-100%);
	transition: .4s;
	background: #f0f8ff;
	border-top: none;
	padding-left: 2.5em;

}

.faq dl>input:checked+label+dd {
	position: relative;
	visibility: visible;
	transform: translateY(0);
}

.faq dt::before {
	content: '';
	position: absolute;
	width: 20px;
	height: 3px;
	top: 50%;
	right: 10px;
	background: #333;
	transform: translateY(-50%);
}

.faq dt::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	width: 20px;
	height: 3px;
	background: #333;
	transition: .4s;
	transform: translateY(-50%) rotate(90deg);
}

.faq dl>input:checked+label>dt::after {
	transform: translateY(-50%) rotate(180deg);
}

.faq dt span,
.faq dd span {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #459be6;
	color: #fff;
	top: 50%;
	left: .5em;
	width: 1.5em;
	height: 1.5em;
	transform: translateY(-50%);
}


.faq dd span {
	top: 10px;
	transform: translateY(0);
	background-color: #e60000;
}

/*------------
アクセス
-------------*/
/* アクセス全体のスタイル */
.access {
	padding: 2em;
	background-color: #f4fcd7;
  }
  .access h2{
margin: 0.5em ;
  }

  
  .access_wrapper {
	max-width: 1200px;
	margin: 0 auto;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	background: #fff;
	padding: 2em;
  }
  
  /* タイトル */
  .access_title {
	text-align: center;
	font-size: 2em;
	color: #278b39;
	margin-bottom: 1em;
  }
  
  /* 地図と詳細の横並び（PC用） */
  .access_info {
	display: flex;
	gap: 2em;
	justify-content: center; /* 中央揃え */
	margin-bottom: 2em;
  }
  
  .map iframe {
	width: 100%;
	max-width: 300px;
	height: 300px;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
  
  .details {
	font-size: 1em;
	line-height: 1.6;
	color: #333;
	max-width: 600px;
	text-align: left; /* 左揃え */
  }
  
/* アクセス方法のエリア */
.access_method {
	max-width: 800px; /* 親要素の幅を制限 */
	margin: 0 auto; /* 親要素を中央に配置 */
	text-align: left; /* 子要素の文字を左揃え */
	padding: 1em; /* 内側の余白を調整 */
  }
  
  .access_method h3 {
	font-size: 1.5em;
	color: #278b39;
	margin-bottom: 1em;
	text-align: center; /* 見出しだけ中央揃えに */
  }
  
  .access_method p {
	font-size: 1em;
	line-height: 1.8;
	margin-bottom: 0.5em;
	color: #444;
  }
  
  .access_method strong {
	color: #278b39;
  }
  

/*==================================================
スライダーのためのCSS※JQueryを使用
===================================*/
.slider {
	width: 94%;
	/* 横幅94%で左右に余白を持たせて中央寄せ */
	margin: 0 auto;
}

.slider img {
	width: 60vw;
	/* スライダー内の画像を60vwにしてレスポンシブ化 */
	height: auto;
}

.slider .slick-slide {
	transform: scale(0.8);
	/* 左右の画像のサイズを80%に */
	transition: all 0.5s;
	/* 拡大や透過のアニメーションを0.5秒で行う */
	opacity: 0.5;
	/* 透過50% */
}

.slider .slick-slide.slick-center {
	transform: scale(1);
	/* 中央の画像のサイズだけ等倍に */
	opacity: 1;
	/* 透過なし */
}

/* 矢印の設定 */

/* 戻る、次へ矢印の位置 */
.slick-prev,
.slick-next {
	position: absolute;
	/* 絶対配置にする */
	top: 50%;
	/* 矢印の垂直位置を中央に */
	cursor: pointer;
	/* マウスカーソルを指マークに */
	outline: none;
	/* クリックをしたら出てくる枠線を消す */
	border-top: 2px solid #666;
	/* 矢印の色 */
	border-right: 2px solid #666;
	/* 矢印の色 */
	height: 15px;
	width: 15px;
}

.slick-prev {
	left: -2%;
	/* 戻る矢印の位置 */
	transform: rotate(-135deg);
}

.slick-next {
	right: -2%;
	/* 次へ矢印の位置 */
	transform: rotate(45deg);
}

/* ドットナビゲーションの設定 */

.slick-dots {
	text-align: center;
	margin: 20px 0 0 0;
}

.slick-dots li {
	display: inline-block;
	margin: 0 5px;
}

.slick-dots button {
	color: transparent;
	outline: none;
	width: 8px;
	/* ドットボタンのサイズ */
	height: 8px;
	/* ドットボタンのサイズ */
	display: block;
	border-radius: 50%;
	background: #ccc;
	/* ドットボタンの色 */
}

.slick-dots .slick-active button {
	background: #333;
	/* ドットボタンの現在地表示の色 */
}




/*---------
フッター部分
-------*/

.footer {
	background: #278b39;
	padding: 2em 0 0.5em;
	text-align: center;
	font-size: 1.4em;
	color: #fff;
}

.footer a {
	color: #fff;
}

/*スマホ用下部固定メニュー*/
.fix_menu_smartphone {
	display: none;
}