@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; */
	font-family: 'GenJyuuGothic';
	src: url('../fonts/GenJyuuGothicX-Monospace-Bold.woff2') format('woff2'),
		url('../fonts/GenJyuuGothicX-Monospace-Bold.woff') format('woff');
	color: #333333;
	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;
	font-feature-settings: "palt";
}

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


@font-face {
	font-family: 'GenJyuuGothic Monospace';
	src: url('../fonts/GenJyuuGothicX-Monospace-Bold.woff2') format('woff2');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'GenJyuuGothic';
	src: url('../fonts/GenJyuuGothicX-P-Medium.woff2') format('woff2'),
		url('../fonts/GenJyuuGothicX-P-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
}



/* -------------------------------------
見出しタグ設定（PC)
--------------------------------------*/
h2 {
	/* margin: 0.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.4em;
	/* border-left: 8px solid #125599;
	border-bottom: 1px dotted #125599; */
	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 {
	background-color: #fff;
}

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

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

/*カラム全体の幅を変更する*/

.top_image_in {
	width: 1150px;
	margin: 0 auto
}

.atcl_inr,
.CV_area_inr,
.soro_nayami_inr,
.tikara_area_inr,
.koujou_inr,
.koe_inr {
	width: 950px;
	margin: 0 auto;
	box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
}

.top_image_in,
.header_inr,
.CV_area_inr {
	width: 950px;
	margin: 0 auto;
	
}


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

.gamen_pc {
	display: block;
}

.gamen_rps {
	display: none;
}

h2,
p {
	margin-top: 0;
	margin-bottom: 0;
}

/* 自動カーニング */
.selector {
	font-feature-settings: "palt";
}

.atcl_inr h2 {
	padding-top: 1.5em;
	
}

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

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

/* ヘッダー内部をカラム幅にする */
.header_inr {
	max-width: 1050px;
	margin: 0 auto;
	overflow: hidden;
}

/*ヘッダーロゴ*/
.header_logo {
	float: left;
	width: 32%;
	margin: 1em 0em 0em;
}

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

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

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

.header_inr p {
	font-size: 1em;
}

.header_school {
	float: left;
	font-size: 2.5em;
	margin: 1.2em 0em 0em;
	font-weight: bold;
}

.header_address {
	float: right;
	margin: 1.8em 0em 0em;

}

.header_address p {
	font-size: 1.2em;
}


/*----------------------------
ファーストビュー設定
------------------------------*/

.top_image {
	background-color: #fff;
	background: url(../images/haikei_soro_top.png) center top no-repeat #fff;
	height: auto;
	
}

.top_image_in {
	display: flex;
	align-items: center;
}

.top_image_in img {
	width: 100%;
	max-height: 800px;
}

.top_movie {
	margin: 1em;
	padding: 0em;
	background-color: #000;
	border: solid 3px #000;
	border-radius: 15px;
	align-items: center;

}

.top_movie video {
	width: 450px;
	margin: 0em 0.5em 0em;
}

/*----------------------------
CVエリア設定
------------------------------*/

.CV_area {
	background-color: #f39800;
	
}

.CV_area_inr {
	background-color: #fff;
	margin-top: 1em;
	margin-bottom: 1em;
	border-radius: 15px;
	
}

.CV_raberu {
	display: flex;
	justify-content: center;
	align-items: center;
}

.CV_raberu img {
	max-width: 300px;
}

.CV_btn_area {
	text-align: center;
	padding: 0.5em 0em 0em 0em;
	margin-left: 2em;
}

.CV_btn_area img {
	width: 66%;
}

.CV_text {
	display: flex;
	justify-content: center;
	/* 要素全体を中央寄せ */
	align-items: center;
	/* 縦方向の中央揃え */
	gap: 2px;
	max-width: 600px;
	/* 横幅を制限（適宜調整） */
	margin: 0 auto;

}

.CV_text_address,
.CV_text_TEL {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	/* 要素全体を右寄せ（線に近づける） */
	padding: 10px;
}

/* ここを変更 */
.CV_text_TEL p{
	text-align: center;
	/* 住所などのテキストを左寄せ */
	width: 100%;
	/* 幅を揃えて左揃えが効くように */
}

/* 真ん中の線 */
.CV_text_address {
	border-left: 2px solid #ccc;
	/* 左側に線を追加 */
	align-items: flex-start;
	/* 右側の要素は左寄せに */
}


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

.rogo_mds {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	padding-top: 1.5em;
}

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





/*-----
チェックリスト（リストタグ）
-----*/
/* 親要素の幅を950pxに制限しつつ、子要素がその範囲内で中央に配置されるように */
.soro_nayami {
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.soro_nayami_inr {
	background-color: #D0E7C9;
	width: 100%;
	max-width: 950px;
	padding-bottom: 1em;
	/* 最大幅を950pxに設定 */
	margin: 0 auto;
	/* 親要素内で中央配置 */
	box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
}

.nayami_cntnr {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 100%;
	/* 親要素に合わせて最大幅100% */
	margin: 0 auto;
	/* 中央配置 */
	padding: 0 10px;
	/* 必要に応じて左右に余白を追加 */
}

ul.checklist {
	margin: 0;
	padding: 0.5em 1em 0em 0em;
	list-style: none;
}

.checklist li {
	background-image: url(../images/icon-check03-red.png);
	background-repeat: no-repeat;
	background-size: 6%;
	padding-left: 2.8em;
	text-indent: -0.3em;
	padding-bottom: 0.5em;
	color: #000;
}

.nayami_answer img {
	width: 100%;
}




/* そろタッチ紹介エリア */

.movie_cntnr {
	display: flex;
	/* 横並び */
	justify-content: center;
	/* 中央寄せ */
	align-items: center;
	/* 上下中央揃え */
	gap: 20px;
	padding-bottom: 2em;

}

.movie_cntnr img {
	width: 200px;
	/* 必要に応じて調整 */
	height: auto;
}

#player {
	background: #000;
	/* 背景を黒 */
	border-radius: 15px;
	/* 角を丸くする */
	padding: 10px;
	/* 内側の余白（枠をつけるため） */
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.movie_cntnr img {
	height: auto;
	transform: translateY(100px);
	/* 下に10pxずらす */
}


.movie_area_inr,
.tikara_area_inr {
	background-color: #FDF6E2;
}


.tikara_cntnr {
	display: flex;
	justify-content: center;
	/* space-betweenをやめる */
	align-items: center;
	/* 上下中央揃え */
	gap: 20px;
	padding: 0em 0.5em 0em;
}

.tikara_cntnr_img {
	text-align: center;
	padding-top: 1em;
}

.tikara_cntnr_img img {
	width: 300px;

}

.tikara_cntnr_text p {
	font-size: 1.2em;
}

.kakomi_red {
	display: inline-block;
	/* テキストのサイズに合わせる */
	background-color: #fff;
	padding: 2px 4px;
	/* 内側の余白 */
	border: 2px solid #d5456e;
	/* 赤い枠 */
	border-radius: 4px;
	/* 角を少し丸くする */
	font-weight: bold;
	/* 文字を強調 */
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-right: 1em;
}

.kakomi_blue {
	display: inline-block;
	/* テキストのサイズに合わせる */
	background-color: #fff;

	padding: 2px 4px;
	/* 内側の余白 */
	border: 2px solid #0084c7;
	/* 青い枠 */
	border-radius: 4px;
	/* 角を少し丸くする */
	font-weight: bold;
	/* 文字を強調 */
	margin-top: 0.5em;
	margin-bottom: 0.5em;

	margin-right: 1em;

}

.kakomi_green {
	display: inline-block;
	/* テキストのサイズに合わせる */
	background-color: #fff;

	padding: 2px 4px;
	/* 内側の余白 */
	border: 2px solid #3ea44a;
	/* 赤い枠 */
	border-radius: 4px;
	/* 角を少し丸くする */
	font-weight: bold;
	/* 文字を強調 */
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-right: 1em;

}

.merit_cntnr {
	display: flex;
	/* 横並びにする */
	justify-content: center;
	/* 中央寄せ */
	gap: 10px;
	/* 画像同士の間隔を調整 */
	padding-top: 1em;
	padding-bottom: 2em;
}

.merit_cntnr img {
	width: 30%;
}


/* 魅力エリアここから */


.miryoku_inr {
	background-color: #d0e7c9;

}

.miryoku_section {
	padding: 40px 0;
	/* 上下の余白 */
	display: flex;
	justify-content: center;
}

.miryoku_cntnr01,
.miryoku_cntnr02 {
	background-color: #fff;
	/* 白背景 */
	padding: 40px;
	width: 80%;
	/* 適宜調整 */
	max-width: 800px;
	/* 幅の最大値 */
	text-align: center;
	position: relative;
	border-radius: 10px;
	/* 角丸 */
}


.miryoku_number {
	position: absolute;
	top: -40px;
	/* 半円を飛び出させる */
	left: 50%;
	transform: translateX(-50%);
	background-color: white;
	color: black;
	font-size: 36px;
	font-weight: bold;
	width: 140px;
	height: 140px;
	line-height: 60px;
	text-align: center;
	border-radius: 50%;
	/* 完全な円 */
	z-index: 10;
	/* 他の要素より前面に */
}

.miryoku_cntnr01 h3,
.miryoku_cntnr02 h3 {
	position: relative;
	/* z-indexを有効にするために必要 */
	z-index: 20;
	/* これでh3が前面に表示される */
}

.miryoku_cntnr01 p,
.miryoku_cntnr02_item_text,
.miryoku_cntnr03 p {
	text-align: left;
}

.miryoku_cntnr01 img {
	width: 100%;
}

.miryoku_cntnr02_item {
	display: flex;
	flex-direction: row-reverse;
	gap: 30px;

}

.miryoku_cntnr02_item_img img {
	width: 300px;
}


.miryoku_cntnr03_item {
	display: flex;
	justify-content: center;
	gap: 30px;
}

.miryoku_cntnr03_ranking img {
	width: 100%;
	margin: 0;
	padding: 0;
}



/* ゲームのグリッド設定 */
.miryoku_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	/* 横3列に設定 */
	gap: 16px;
	/* アイテム間の隙間を設定 */
	justify-items: center;
	/* アイテムを中央揃えに */
}

.miryoku_grid img {
	width: 190px;
	/* 画像の幅を設定 */
	height: auto;
	/* 高さは自動調整 */
}

.miryoku_grid_item {
	text-align: center;
	/* 画像とテキストを中央揃えに */
}



/* 向上エリア */
/* .koujou_inr {
	background-color: #FDF6E2;
	padding-bottom: 1em;
	padding-top: 1em;
}

.koujou_cntnr {
	background-color: #fff;
	border: 1px solid #8e8e8e;
	max-width: 900px;
	margin: 0 auto;
}

.koujou_number {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: center;

}

.koujou_mds {
	text-align: center;
	font-size: 1.5em;
	font-weight: bold;
} */

/* 受賞エリア */
.jusyou_inr {
	padding: 1em 2em 1em;
}

.jusyou_inr img {
	width: 100%;
}


/* 教室エリア */
.sclool_movie {
	text-align: center;
}

.school_mds {
	text-align: center;
	font-size: 1.5em;
	font-weight: bold;
	padding-top: 2em;
}


/* 学校の魅力 */
.school_cntnr_mds_pc,
.school_cntnr_mds_rps {
	display: flex;
	justify-content: center;
	align-items: center;
}

.school_cntnr_img {
	width: 25%;
}

.school_cntnr_mds_pc {
	justify-content: flex-start;
}

.school_cntnr_mds_rps {
	justify-content: center;
}

.school_cntnr {
	display: flex;
	justify-content: center;
	padding: 0em 2em 1em;

}

.school_cntnr_text {
	padding-left: 1em;
	max-width: 500px;

}
/* 教師エリア */


.teacher_inr img{
width: 100%;
}


/* 生徒の声 */
.koe_inr {
	background-color: #fef5e4;
	padding-bottom: 2em;
}

.koe_cntnr {
	background-color: #fff;
	margin: 1em 3em 2em;
	padding: 1em 3em 2em;
}

.koe_cntnr img {
	width: 100%;
}


.faq_koe {
	max-width: 800px;
	margin: 0 auto;
}

.faq_koe dl {
	position: relative;
	overflow: hidden;
	background: #fff;
	padding: 10px;
	border-radius: 8px;
}

.faq_koe dl>input {
	display: none;
}

.faq_koe dt {
	position: relative;
	/* ← これを追加 */
	display: flex;
	flex-direction: column;
	align-items: center;
	cursor: pointer;
	padding-bottom: 30px;
	/* 矢印分のスペースを確保 */
}

.faq_koe dt img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* 矢印のデザイン */
.faq_koe .arrow {
	position: absolute;
	bottom: 0;
	/* 画像の下にしっかり配置 */
	left: 50%;
	transform: translateX(-50%);
	width: 20px;
	height: 20px;
	border-left: 3px solid #333;
	border-bottom: 3px solid #333;
	transform: translateX(-50%) rotate(-45deg);
	transition: transform 0.4s;
}

/* 開いたときの矢印の動き */
.faq_koe dl>input:checked+label>dt .arrow {
	transform: translateX(-50%) rotate(135deg);
}

.faq_koe dd {
	max-height: 0;
	overflow: hidden;
	visibility: hidden;
	transition: max-height 0.4s ease, visibility 0.4s ease;
	background: #fff;
	padding: 0 10px;
	border-top: none;
}

.faq_koe dl>input:checked+label+dd {
	max-height: 500px;
	/* 適宜調整 */
	visibility: visible;
	padding: 10px;
}


/* 料金エリア */

.price_inr {
	text-align: center;
	background-color: #FFF3AC;
	padding: 1em 2em;
}

.price_cntnr {
	background-color: #fff;
}

/* 表の作成 */
.price_table {
	width: 100%;
	max-width: 500px;
	border-collapse: collapse;
	margin: 0 auto;
	font-size: 2em;
}

.price_table tr {
	height: 70px;
	/* 各行の高さを50pxに固定 */
}

.price_table td {
	vertical-align: middle;
	/* テキストを上下中央に揃える */
}


.border_row {
	border-bottom: 2px solid #000;
}

.price_Join {
	font-size: 0.7em;
	font-weight: bold;
}

.price_fee {
	font-size: 2.5em;
}

/* 表の作成ここまで */
.value{
	font-size: 1.2em;
	font-weight: bold;
}
.price_unit {
	font-size: 0.6em;
}

.price_text {
	display: flex;
	justify-content: center;
	gap: 50px;
	padding: 1em 0em;

}

.price_schedule {
	font-size: 1em;
	font-weight: bold;
}


/* 流れエリア */
.nagare_inr {
	background-color: #d0e7c9;
}

.nagare_cntnr {
	display: flex;
	align-items: center;
	justify-content: center;
	/* 中央揃え */
	max-width: 950px;
	/* はみ出さないように */
	margin: 0 auto;
	/* 中央寄せ */
}

.nagare_cntnr img {
	max-width: 25%;
	height: auto;
	object-fit: contain;
	margin: 0;
	padding: 0;
}

.nagare_serifu {
	text-align: center;
	padding-top: 2em;
}

/* 質問エリア */
.qa_area_inr{
	padding-bottom: 2em;
}



/* アクセス */
.access{
	padding: 0;
	margin: 0;
}
.access_wrapper {
	max-width: 900px;
	margin: 0 auto;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	background: #fff;
}

/* タイトル */
.access_title {
	font-size: 2em;
	color: #5CB531;
}

/* 地図と詳細の横並び（PC用） */
.access_info {
	display: flex;
	gap: 2em;
	justify-content: center;
	align-items: flex-start;
	/* 高さを揃える */
}

.map {
	flex: 1;
	/* 均等な幅にする */
	max-width: 50%;
	/* 幅を50%に */
	padding: 1em;
}

.map iframe {
	width: 100%;
	/* 親要素に合わせる */
	height: 350px;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.details {
	flex: 1;
	/* 均等な幅にする */
	max-width: 50%;
	/* 幅を50%に */
	font-size: 1em;
	line-height: 1.6;
	color: #333;
	text-align: left;
}


/* フレックボックス */

/* 横並びにボックスが出現 */


.item {
	background: #0bd;
	color: #fff;
	margin: 10px;
	padding: 10px;
}

/* 横並びにボックスが出現 */
.fb-container-01 {
	display: flex;
}

.fb-container-02 {
	display: flex;
	/* flex-direction: row-reverse;　順番が逆になる */
	/* flex-wrap: wrap;　画面が小さくなるとボックスが折り返しされる */
	/* flex-wrap: wrap-reverse;　折り返しが頭からになる */

	/* 書き込みの略式 */
	flex-flow: row wrap;

	/*justify-content: flex-start;　ボックスの端が左に寄る */
	/* justify-content: flex-end;　ボックスの端が右に寄る */
	justify-content: center;
	/* ボックスが中央に合わせられる */
	/* justify-content: space-between; */
	/* 画面に均等に配置 */
	/* justify-content: space-around;　子要素のマージン含めて均等に配置 */

	/* ボックス同士の感覚を操作する */
	gap: 20px;
}

.fb-container-03 {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
}

.item-02 {
	flex-grow: 2;
	/* 子要素の伸びる比率を操作 */
}

.item-03 {
	flex-shrink: 2;
	/* 子要素の縮む比率を操作*/
}

.item-04 {
	flex-basis: 30%;
	/* 要素が30％分幅をとる */
}

.item-05 {
	/* 書き込みの略式 */
	flex: 2 0 30%;
}

/* ------------------「グレットレイアウトについて」--------------------- */

.fr-photo-garely {
	width: 1000px;
	display: grid;
	grid-template-rows: 50vw 30vw 50vw 30vw 30vw;
	/* 横の数 */
	grid-template-columns: 50% 50%;
	/* 縦の数 */

	/* デバイスの横幅に合わせてセルの高さを比率で決めるために、grid-template-rowsの値の単位をvw（viewportの横幅を基準にした単位）にしています */
}

.fr-photo-garely img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* 画像調整の引き伸ばしで崩れた画像を適正にする */
}

.photo-A {
	/* grid-row-start: 1;
    grid-row-end: 2;
    grid-column-start: 1;
    grid-column-end: 3; */

	/* 略式の書き方 */
	grid-row: 1/2;
	grid-column: 1/3;
}

.photo-B {
	grid-row-start: 2;
	grid-row-end: 4;
	grid-column-start: 1;
	grid-column-end: 2;
}

.photo-C {
	grid-row-start: 2;
	grid-row-end: 3;
	grid-column-start: 2;
	grid-column-end: 3;
}

.photo-D {
	grid-row-start: 3;
	grid-row-end: 4;
	grid-column-start: 2;
	grid-column-end: 3;
}

.photo-E {
	grid-row-start: 4;
	grid-row-end: 5;
	grid-column-start: 1;
	grid-column-end: 3;
}

.photo-F {
	grid-row-start: 5;
	grid-row-end: 6;
	grid-column-start: 1;
	grid-column-end: 2;
}

.photo-G {
	grid-row-start: 5;
	grid-row-end: 6;
	grid-column-start: 2;
	grid-column-end: 3;
}

/* ---グリットレイアウトの単位--- */

.gr_container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 10px;
}

.gr-item {
	background-color: darkturquoise;
	color: #fff;
}

.gr_container01 {
	display: grid;
	grid-template-columns: 1fr 2fr 1fr;
	grid-template-rows: 1fr 5fr;
	gap: 10px;
}

/* ー「auto-fill」ーー */
.gr_container02 {
	display: grid;
	grid-template-columns: repeat(auto-fill, 120px);
	gap: 10px;
}

/* 表示領域の大きさに合わせて空のグリッド(＝目に見えないグリッド)が自動的に作られる */

/* ーーーーー「auto-fit」ーーーーーー */
.gr_container03 {
	display: grid;
	grid-template-columns: repeat(auto-fit, 120px);
	gap: 10px;
}

/* 表示領域の大きさに合わせて余った部分は余白として扱う */



/* .container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: minmax(100px, auto);
  }
  行のトラックの最小サイズを 100px に指定して、最大サイズに auto を指定することでコンテンツに合わせて行の高さ(rows)を拡大 */

/* ーーーーー組み合わせーーーーーー */
.gr_container04 {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 10px;
	/* 120px以下では縦並び。120p以上になると幅に合わせて拡大。要素が一つ入る余白が生まれたら「空のグリット」が入る */
}

/* grid-template-columns: repeat(auto-fit, minmax(120,1fr));
要素が一つ入る余白が生まれたら自動的に要素が引き伸ばされて余白がなくなるバージョン */




/*------------
よくある質問(アコーディオンver.)
-------------*/
.faq {
	max-width: 800px;
	margin: 0 auto;
}

.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: #fff;
	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;
}




/*==================================================
スライダーのための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: #5CB531;
	padding: 2em 0 0.5em;
	text-align: center;
	font-size: 1.4em;
	color: #fff;
}

.footer a {
	color: #fff;
}

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

