@charset "utf-8";

/* CSS Document */

/* ======================================================
	[original]
	@import"../css/test_line.css";
====================================================== */


:root
{
	--padding_tb			: 10em;
	--h1_h					: 15em;

	--logo_h				: 4em;
	--bg_angle				: 10em;
	--bg_polygon			: 
		50% 0,
		100% var(--bg_angle),
		100% calc(100% - var(--bg_angle)),
		50% 100%,
		0 calc(100% - var(--bg_angle)),
		0 var(--bg_angle)
	;
	--bg_polygon_top		: 
		0 0,
		100% 0,
		100% calc(100% - (var(--bg_angle) * 1)),
		50% 100%,
		0 calc(100% - (var(--bg_angle) * 1))
	;

	--y						: 253 208 0;
	--or					: 245 161 0;
	--r						: 230 0 32;
	--smoke					: 0 129 119;

	--border_w				: 3px;
	--broder_color			: var(--r);

	--arrow_color			: var(--w);
	--btn_bg_color			: var(--r);

	--svg_circle			: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='pass' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 100 100' style='enable-background:new 0 0 100 100;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%233D5A74;%7D%0A%3C/style%3E%3Ccircle id='circle' class='st0' cx='50' cy='50' r='50'/%3E%3C/svg%3E%0A");
}

.input_btn.checkbox
{
	--border_radius			: 0;
	--arrow_color			: var(--r);
}
label.input_btn input[type="checkbox"] ~ .title::after
{
}


/* ------------------------------------------------------------------------------------------------------------
	<web font>
	transform: rotate(0.03deg);
	------------------------------------------------------
	[240513]　DLL→upは著作権に関連するかも知れないので、通常に戻す
	------------------------------------------------------
*/
/* ゴ */
.G_regular,
body
{
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.GBlack
{
	font-weight: bold;
}

.G_bold,
h4>b
{
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.G_black,
h2>b,
h3>b,
.ColorBtn>*,
.footer_contact .lead,
.Facility .service .kihon_service .Item .title>b
{
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
	font-style: normal;
}

/* 丸ゴ */
.MGRegular,
h5>b
{
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.MGBold
{
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.MGBlack,
.Index .Top .body h2>b>b
{
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 900;
	font-style: normal;
}

.ConG_ExtraBold
{
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 800;
	letter-spacing: normal;
	transform: rotate(0.03deg);
}

/*
@font-face {
	font-family: 'Custom Avenir';
	src: local('Avenir Light');
	font-weight: 300;
	size-adjust: 106%;
}

@font-face
{
	font-family: 'Custom Avenir';
	src: local('Avenir Heavy');
	font-weight: 700;
	size-adjust: 106%;
}

body
{
	font-family: 'Custom Avenir', 'Hiragino Sans', sans-serif;
}
	font-family: Yu Gothic, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
*/

/*
[240513]　DLL→upは著作権に関連するかも知れないので、通常に戻す
 ------------------------------------------------------
	和欧混植 font-sizeの微調整
	https://qiita.com/xrxoxcxox/items/e5c11e41a6e6b8b63482
------------------------------------------------------ 
@font-face
{
	font-family: 'Barlow Condensed';
	src: url("../download/BarlowCondensed-Thin.ttf");
	font-weight: 100;
	size-adjust: 135%;
}

@font-face
{
	font-family: 'Barlow Condensed';
	src: url("../download/BarlowCondensed-ExtraBold.ttf");
	font-weight: 800;
	size-adjust: 135%;
}

.GconThin,
.CategoryTitle h1 .title
{
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 100;
	letter-spacing: normal;
}

.GconHv,
h2>em,
.ColorBtn>em,
.Header .GlobalMenu,
.Drawer a .name
{
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 800;
	letter-spacing: normal;
}
*/


/* ------------------------------------------------------------------------------------------------------------
	<color>
*/


/* ------------------------------------------------------------------------------------------------------------
	<文字>
*/
.pagetitle
{
	background-color: transparent;
	margin-bottom: var(--padding_tb);

	overflow: visible;

	margin-bottom: var(--gap);
}

.pagetitle::before
{
	content: "";
	display: block;

	position: absolute;
	left: 50%;
	bottom: 0;
	translate: -50% -0%;

	width: 100%;
	height: 200%;

	background-color: rgb(var(--r));
	clip-path: polygon(
		0 0,
		100% 0,
		100% calc(100% - var(--bg_angle)),
		50% 100%,
		0 calc(100% - var(--bg_angle))
	);
}

.pagetitle .WrapM
{
	max-width: initial;
}

.pagetitle .Img
{

	position: absolute;
	top: 0;
	right: 0;
	left: initial;
	translate: -0% -0%;

	width: 60svw;

	mask-image: linear-gradient(
		to right,
		rgb(0 0 0 / 0) 0%,
		rgb(0 0 0 / 1.0) 25%
	);
}
/*
	aspect-ratio: 1;
	overflow: hidden;
*/
.pagetitle .Img>.Wrap
{
	mask-image: linear-gradient(
		to top,
		rgb(0 0 0 / 0) 0%,
		rgb(0 0 0 / 1.0) 15%
	);
}
.pagetitle .Img img
{
	mask-image: linear-gradient(
		to bottom,
		rgb(0 0 0 / 0) 0%,
		rgb(0 0 0 / 1.0) 25%
	);
}

h2
{
	color: transparent;
	text-shadow:
		0.15em 0.15em 0 rgb(var(--r)),
		0em 0em 0 rgb(var(--w))
	;
	-webkit-text-stroke: 1px rgb(var(--color));
}
h2>b
{
	font-size: 4em;
}

.Index .News h2
{
}


h3
{
}

h3>b
{
	font-size: 2em;
	background-color: rgb(var(--y));
}
/*
	display: inline-block;

	text-decoration-line: underline;
	text-decoration-color: rgb(var(--r) / 0.2);
	text-decoration-style: solid;
	text-underline-offset: -0.1em;
	text-decoration-thickness: 0.5em;

	padding-left: 0.25em;
	padding-right: 0.25em;
*/

.Index h3>b
{
	font-size: 2em;
	background-color: transparent;
}

.Index h3::before
{
	aspect-ratio: 1;
	position: absolute;
	width: 0;
	overflow: hidden;
}

.Index .News h3>b
{
	font-size: inherit;
}


h4
{
	display: grid;
	justify-content: center;
}

h4>b
{
	font-size: 2em;
}
h4>b::before
{
}

h5
{
	display: grid;
}

h5>b
{
	font-size: 1.5em;

	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-color: rgb(var(--y));
	text-decoration-thickness: 0.75em;
	text-underline-offset: -0.25em;
	text-decoration-skip-ink: none;
}


.h_square
{
}

.h_square::before,
.Index .aboutus .main .Item .Img::before
{
	aspect-ratio: 1;

	content: "";
	display: block;

	position: absolute;
	left: 50%;
	top: 50%;
	translate: -50% -50%;
	rotate: 45deg;
	
	width: 10em;
	background-color: rgb(var(--y) / 0.15);
	border-radius: 0.5em;
}

.h_square::before
{
}

.Main :where(section, .section):nth-of-type(even) :is(.h_square)::before
{
}
/*
	background-color: rgb(var(--w) / 0.75);
*/
.Index .aboutus .main .Item .Img::before
{
	top: 3em;
	translate: -50% -0%;

	width: 100%;
	background-color: rgb(var(--w) / 0.5);
}


/* ------------------------------------------------------------------------------------------------------------
	<img>
*/


/* ------------------------------------------------------------------------------------------------------------
	<block>
*/
body
{
}


#Contents
{
	z-index: 5;
}


.Main :where(section, .section)
{
}

.Main :where(section, .section):nth-of-type(even)::before,
.Index .support .bg
{
	content: "";
	display: block;

	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;

	width: 100%;
	height: 100%;

	background-color: rgb(var(--r) / 0.1);
	clip-path: polygon(var(--bg_polygon));
}


.Main :where(section, .section):nth-of-type(odd)
{
	padding-top: 0;
	padding-bottom: 0;
}


.Main :where(section, .section)>.Wrap
{
}


.spray,
.spray>ul
{
	position: absolute;
	left: 50%;
	top: 50%;
	translate: -50% -50%;

	width: 100%;
	height: 100%;

}
.spray
{
	opacity: 0.2;
}
.spray>ul
{
	display: block;
}
.spray>ul>li
{
}
.spray .Item
{
	--item_w				: 12.5em;
	--item_rotate			: -31.11deg;

	position: absolute;
	width: var(--item_w);
	rotate: var(--item_rotate);
}


/* ------------------------------------------------------------------------------------------------------------
	<a>
*/
a,
a:hover
{
	text-decoration-color: rgb(var(--r));
}

/* まるアイコン */
.icon_circle
{
	aspect-ratio: 1;

	width: 2em;
	border-radius: 100em;
}
.icon_circle img
{
	scale: 0.6;
}

.icon_circle.pdf
{
	background-color: rgb(176 1  1);
}
.icon_circle.pdf img
{
	filter: brightness(0) invert(1);
}

.ColorBtn
{
	color: rgb(var(--w));
	border-radius: 100em;
}

.ColorBtn:after
{
	--arrow_width		: 0.8em;
	aspect-ratio: 1 / 1.4;
	clip-path: polygon(var(--btn_arrow_type));
}

.ColorBtn>*
{
}

.footer_contact .ColorBtn
{
	font-size: 1.5em;
	gap: 0.5em;

	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
.footer_contact .ColorBtn:after
{
	aspect-ratio: 1;
	position: absolute;
	width: 0;
	overflow: hidden;
}
.footer_contact .ColorBtn .mail_icon 
{
	width: 1em;

	filter: brightness(0) invert(1);
}




/* ------------------------------------------------------------------------------------------------------------
	<table>
*/
table
{
	border-width: 0;
	background-color: transparent;
}
/*
	border-collapse: separate;
	border-spacing: 1em;

*/

:where(section, .section):nth-of-type(even) table
{
	background-color: rgb(var(--w));
}

:is(th, td)
{
	border-bottom-width: var(--border_w);
}

th
{
	background-color: rgb(var(--w));
	background-color: transparent;
	border-color: rgb(var(--y));
}
td
{
	border-color: rgb(var(--y) / 0.3);
}


thead :is(th, td)
{
	vertical-align: middle;
	line-height: 1.5;

	padding-top: 0.5em;
	padding-bottom: 0.5em;
	
	background-color: rgb(var(--y) / 0.25);
}


/* ------------------------------------------------------------------------------------------------------------
	<ul>, <ol>, <dl>
*/
.li_circle>li::marker
{
	color: rgb(var(--y));
}


/* ------------------------------------------------------------------------------------------------------------
	<form>
*/
select,
input,
textarea
{
	outline-color: rgb(var(--border_color) / 0.25);
}


/* ------------------------------------------------------------------------------------------------------------
	<logo>
*/
.Logo
{
}


.Header .Logo
{
	aspect-ratio: 250 / 110;

	display: grid;
	justify-content: center;
	align-items: center;

	width: 15.5em;

	background-color: rgb(var(--w));
	border-width: 0 var(--border_w) var(--border_w);
	border-color: rgb(var(--broder_color));

	border-bottom-left-radius: 1em;
	border-bottom-right-radius: 1em;
}


.Footer .Logo
{
}

.Footer .Logo .Gallery
{
	font-size: 1.2em;
	margin: 0;
	margin-bottom: 1em;
}
.Footer .Logo .Gallery>ul
{
	display: grid;
	grid-template-columns: 52% 1fr;
	align-items: center;
}
.Footer .Logo .Gallery .Itemhoukago_dayservice img
{
}
.Footer .Logo .Gallery .Itemfriends img
{
	width: initial;
}


/* ------------------------------------------------------------------------------------------------------------
	<SNS>
*/
.Footer .SNS
{
}

.Footer .SNS a
{
	aspect-ratio: 1;

	display: grid;
	grid-template-columns: 1fr;
	justify-items: center;
	align-items: center;

	background-color: rgb(var(--w));
	border-radius: 100em;
}
.Footer .SNS a .Img
{
	width: 2.5em;
}
.Footer .SNS a img
{
	scale: 0.6;
}

.Footer .SNS .ClassFacebook a,
.Sitemap .ClassFacebook img
{
	background-color: var(--facebook_color);
	background-color: transparent;
}
.Footer .SNS .ClassFacebook img
{
	scale: 1;
}

.Sitemap .ClassFacebook img
{
	scale: inherit;
}


/* [250326-1110/250328-1610]校正　インスタはQRコード */
.Footer .ClassInstagram
{
}

.Footer .ClassInstagram a
{
	aspect-ratio: initial;
	border-radius: 0;
	padding: 1em;
}

.Footer .ClassInstagram a .Img
{
	width: auto;
}
.Footer .ClassInstagram a .Img img
{
	scale: initial;
}


/* ------------------------------------------------------------------------------------------------------------
	<header>
*/
.Header
{
}
/*
[250319]　FFで効かない
	backdrop-filter: blur(10px);
*/

.scroll .Header
{
}

.scroll_header .Header
{
	background-color: transparent;
}
.scroll_header .Header::before
{
	content: "";
	display: block;

	position: absolute;
	left: 50%;
	top: -3em;
	translate: -50% -0%;

	width: calc(100% + (1em * 4));
	height: calc(100% + (1em * 4));

	background-color: rgb(var(--w));

	filter: blur(1em);
}

.scroll_index_top #Index .Header
{
}
/*
	background-color: rgb(var(--w));
*/


.Header>.Wrap
{
	padding: 0;
}

.Header>.Wrap>.Wrap
{
	align-items: start;
}

.Header .Navi
{
}

.Header .Navi>*
{
	gap: 1em;
}

.Header .Navi .ColorBtn
{
	--btn_bg_color			: var(--y) / 0.85;
	
	color: rgb(var(--k));

	min-width: initial;
	max-width: initial;
	width: 10em;

	padding: 0.75em 0;

	border-width: 0;
	border-radius: 0 0 1em 1em;

	line-height: 1;
}

/* <header> Navi・今のページ */
.Header .Navi .GlobalMenu .MenuOn .ColorBtn
{
	background-color: rgb(var(--r));
	color: rgb(var(--w));
}


/* ------------------------------------------------------------------------------------------------------------
	<GlobalMenu>
*/
.GlobalMenu
{
}


.Header .GlobalMenu
{
	--border_color			: var(--r);

	background-color: rgb(var(--w));
	border-width: var(--border_w);
	border-radius: 1em;
}

.Header .GlobalMenu ul
{
	gap: 0;
}
.Header .GlobalMenu ul>li
{
}
.Header .GlobalMenu ul>li:first-child :is(a, .a)
{
	border-radius: calc(1em - var(--border_w)) 0 0 calc(1em - var(--border_w));
}
.Header .GlobalMenu ul>li:last-child :is(a, .a)
{
	border-radius: 0 calc(1em - var(--border_w)) calc(1em - var(--border_w)) 0;
}

.Header .GlobalMenu :is(a, .a)
{
	justify-content: center;

	height: 3em;

	padding: 0 2em;
}

/* <GlobalMenu> Header・hover */
.Header .GlobalMenu :is(a, .a):hover
{
	background-color: rgb(var(--r) / 0.1);
	opacity: 1;
}

/* <GlobalMenu> Header・今のページ */
.Header .GlobalMenu .MenuOn :is(a, .a)
{
	background-color: rgb(var(--r));
	color: rgb(var(--w));
}

#Aboutus:is(.type_level_enquete_jikohyouka, .type_level_guideline) .Header .GlobalMenu .ClassAboutus :is(a, .a)
{
	background-color: transparent;
	color: inherit;
}



body:not(#Index) .Header .GlobalMenu
{
}
/*
	box-shadow:
		1px 0px 0.0em rgb(var(--w)),
		-1px 0px 0.0em rgb(var(--w)),
		0px 1px 0.0em rgb(var(--w)),
		0px -1px 0.0em rgb(var(--w))
	;

body:not(#Index) .Header .GlobalMenu::before
{
	content: "";
	display: block;

	position: absolute;
	left: 50%;
	top: 50%;
	translate: -50% -50%;

	width: calc(100% + (1px * 2));
	height: calc(100% + (1px * 2));

	border-width: 1px;
	border-color: rgb(var(--w));
	border-radius: 1em;
}
*/

.scroll_header body:not(#Index) .Header .GlobalMenu
{
}


.Footer .GlobalMenu
{
}

.Footer .GlobalMenu :is(a, .a)
{
}

.Footer .GlobalMenu :is(a, .a) .Free
{
	color: rgb(var(--r));
	rotate: 90deg;

	font-size: 0.8em;
}



/* ------------------------------------------------------------------------------------------------------------
	<main>
*/
#Contents
{
}

.PageNavi
{
	--arrow_color			: var(--r);

	position: absolute;
	left: 50%;
	bottom: 0;
	translate: -50% -0%;

	width: 100%;
	background-color: transparent;

	z-index: 5;
}
/*
*/
.PageNavi .main
{
}
.PageNavi .main a
{
}


.Main
{
}

.Main>.Wrap
{
	display: grid;
	gap: var(--padding_tb);
}


/* ------------------------------------------------------------------------------------------------------------
	<sideArea>
*/
.sideArea
{
}



/* ------------------------------------------------------------------------------------------------------------
	<footer>
*/
.Footer
{
	overflow: hidden;
	background-color: rgb(var(--smoke) / 0.4);

	margin-top: var(--padding_tb);
}

.Footer .bg
{
	position: absolute;
	left: 50%;
	top: 50%;
	translate: -50% -50%;

	width: 100%;
	height: 100%;

	opacity: 0.5;
}
.Footer .bg img
{
	background-position: center bottom 30%;
}

.Footer>.Wrap>*
{
	padding-top: var(--gap);
	padding-bottom: var(--gap);

	border-width: 0;
}


.Footer .Info
{

}
/*
[250328-1608]　インスタQRコードが縦長の為、レイアウトやり直し
.Footer>.Wrap>.Wrap
{
	display: grid;
	grid-template-areas:
		"Info footer_map"
	;
	grid-template-columns: 1fr 54em;
	grid-template-columns: 1fr 49em;
	gap: var(--gap);
}
.Footer>.Wrap>.Wrap>.Info
{
	grid-area: Info;
}
.Footer>.Wrap>.Wrap>.footer_map
{
	grid-area: footer_map;
}
*/


.Footer .Info
{
	padding: 0;
	font-size: 0.8em;

	display: grid;
	grid-template-areas:
		"footer_address1 footer_address1 footer_map"
		"menu sns footer_map"
	;
	grid-template-columns: 1fr 12.5% 65%;
	gap: var(--gap);
}
.Footer .Info>.footer_address1
{
	grid-area: footer_address1;
}
.Footer .Info>.menu
{
	grid-area: menu;
}
.Footer .Info>.sns
{
	grid-area: sns;
}
.Footer .Info>.footer_map
{
	grid-area: footer_map;
}
/*
[250328-1608]　インスタQRコードが縦長の為、レイアウトやり直し
.Footer .Info>.Wrap
{
	display: grid;
	grid-template-areas:
		"head"
		"menu"
		"sns"
	;
	grid-template-columns: repeat(2, auto);
}

.Footer .Info>.Wrap>.footer_address1
{
	grid-area: head;
}
.Footer .Info>.Wrap>.menu
{
	grid-area: menu;
}
.Footer .Info>.Wrap>.sns
{
	grid-area: sns;

	justify-self: end;
}
*/

.Footer .Info>.footer_address1
{
	display: grid;
	grid-template-areas: none;
	gap: 0;
}

.Footer .Info .address
{
	display: flex;
}
.Footer .Info .address>*
{
	display: flex;
	flex-wrap: wrap;
	gap: 0 0.5em;
}

.Footer .Info .open_close
{
	display: grid;
	gap: 0;
}
.Footer .Info .open_close>*
{
	display: flex;
	gap: 0 1em;
}

.Footer .Info .open_close .Open
{
	display: grid;
	grid-template-areas:
		"d1 d2"
		"d1 d3"
	;
	grid-template-columns: 5em 1fr;
}
.Footer .Info .open_close .Open>*:nth-child(1)
{
	grid-area: d1;
}
.Footer .Info .open_close .Open>*:nth-child(2)
{
	grid-area: d2;
}
.Footer .Info .open_close .Open>*:nth-child(3)
{
	grid-area: d3;
}


.Footer .footer_map
{
}
.Footer .footer_map .Map
{
	aspect-ratio: 865 / 460;
	height: initial;
	height: 100%;
}


.Footer .Copy
{
	padding-top: calc(var(--gap) / 2);
	padding-bottom: calc(var(--gap) / 2);
	background-color: rgb(var(--r) / 0.8);
}



/* ------------------------------------------------------------------------------------------------------------
	お問い合わせ
*/
.footer_contact
{
	margin-top: var(--padding_tb);
	padding: 0;
	border-top-width: 0;

	--round_size				: 15em;
}

.footer_contact::before,
.footer_contact>.Wrap::before
{
	content: "";
	display: block;

	position: absolute;

}
.footer_contact::before
{
	left: 0.5em;
	top: 0.5em;

	width: 100%;
	height: 100%;

	background-color: rgb(var(--y) / 0.5);
	--bottom: 
		linear-gradient(#000 0 0) bottom/100% calc(100% - (var(--round_size) / 2)) no-repeat,
		radial-gradient(farthest-side,#000 98%,#0000) top/var(--round_size) var(--round_size) no-repeat
	;
	-webkit-mask: var(--bottom);
			mask: var(--bottom);
}
.footer_contact>.Wrap::before
{
	left: 0em;
	top: calc(var(--round_size) / 2);

	width: 100%;
	height: calc(100% - (var(--round_size) / 2));

	border-width: 1px;

	mask-image: linear-gradient(#000, #000), var(--svg_circle);
	mask-position: top left, left 50% bottom calc(100% + (var(--round_size) / 2));
	mask-repeat: no-repeat;
	mask-size: calc(100% + var(--round_size)), var(--round_size);
	mask-composite: exclude;
}
/*
*/

.footer_contact>.Wrap
{
	padding-left: var(--gap);
	padding-right: var(--gap);
	padding-bottom: var(--gap);
}


.footer_contact :is(a, .a)
{
	display: grid;
	grid-template-areas:
		"icon icon"
		"lead lead"
		"image text"
		"image Free"
	;
	grid-template-columns: 31em 1fr;
	justify-content: center;
	justify-items: center;
	align-items: center;
	align-content: center;
	gap: 0 var(--gap);

}
.footer_contact :is(a, .a)>.icon
{
	grid-area: icon;
}
.footer_contact :is(a, .a)>.lead
{
	grid-area: lead;
}
.footer_contact :is(a, .a)>.image
{
	grid-area: image;
}
.footer_contact :is(a, .a)>.text
{
	grid-area: text;
}
.footer_contact :is(a, .a)>.Free
{
	grid-area: Free;
}

.footer_contact .icon
{
	aspect-ratio: 1 / 0.75;

	display: grid;
	justify-content: center;
	align-content: center;

	width: var(--round_size);
}
.footer_contact .icon::before
{
	aspect-ratio: 1 / 0.5;

	content: "";
	display: block;

	position: absolute;
	left: 50%;
	top: 0%;
	translate: -50% -0%;

	width: 100%;
	border-width: 1px;
	border-bottom-width: 0;
	border-radius: 100em 100em 0 0;
}

.footer_contact .icon img
{
	aspect-ratio: 72 / 60;
	object-fit: contain;
	width: 4.5em;
}


.footer_contact .lead
{
	margin-top: 0em;
	margin-bottom: 1em;

	font-size: 3em;
	line-height: 1.2;
}


.footer_contact :is(a, .a)>.text
{
	font-size: 1.5em;
	text-align: justify;
}


/* ------------------------------------------------------------------------------------------------------------
	[お問い合わせ]
	contact.php
------------------------------------------------------------------------------------------------------------ */
.Contact
{
}

.Contact .ContactTxt
{
	margin-top: var(--padding_tb);
}

.Contact .ContactTxt address
{
	display: inline-grid;
	gap: calc(var(--gap) / 2);

	padding: var(--gap);
	
	background-color: rgb(var(--w) / 0.75);
	border-width: var(--border_w);
	border-color: rgb(var(--broder_color));
	border-style: solid;
}

.Contact .ContactTxt address .head
{
	font-size: 1.5em;
}

.Contact .ContactTxt address .ClassTel
{
	font-size: 1.5em;
}

.Contact .ContactTxt address .ClassTel .Img
{
	width: 2em;
	background-color: rgb(var(--y));
	border-radius: 100em;
}

.Contact .ContactTxt address .ClassTel .Img img
{
	scale: 0.6;
}

.Contact .ContactTxt address .ClassTel .Num
{
	font-size: 1.5em;
}


.Contact .form
{
}

.Contact .form .main
{
	padding: var(--gap);
	background-color: rgb(var(--or) / 0.1);
}

.Contact .form .main table
{
	background-color: rgb(var(--w) / 0.75);
}

.Contact .form tr:not(.Error) input
{
	background-color: rgb(var(--w));
}


/* ------------------------------------------------------------------------------------------------------------
	index
*/
#Index
{
}

#Index .Header
{
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
}


.Index
{
}

.Index .Top
{
}

.Index .Top .Gallery.Slider
{
	max-width: initial;
}

.Index .Top .Gallery>.WrapM
{
	max-width: initial;
}

.Index .Top .Gallery.Slider .slider
{
	grid-template-areas:
		"slick-list"
		"slick-dots"
	;
	grid-template-columns: 1fr;
}
.Index .Top .Gallery.Slider .slider>*
{
}

.Gallery.Slider .slider>.slick-list
{
}
.Gallery.Slider .slider>.slick-list::after
{
	content: "";
	display: block;

	position: absolute;
	left: 50%;
	top: 50%;
	translate: -50% -50%;

	width: 100%;
	height: 100%;

	background-color: rgb(var(--smoke) / 0.2);
}

.Index .Top .Gallery.Slider .slider .slick-track
{
	gap: 0;
}

.Index .Top .Gallery.Slider .slick-dots li button:before
{
	background-color: rgb(var(--r) / 0.75);
	border-radius: 0;
}

.Index .Top .Gallery.Slider .slick-dots li.slick-active button:before
{
	background-color: rgb(var(--or));
}


.Index .Top .body
{
	display: grid;
	justify-items: center;
	gap: calc(var(--gap) / 2);

	position: absolute;
	left: 50%;
	top: 50%;
	translate: -50% -50%;

	width: 100%;
}

.Index .Top .body .Img
{
	width: 5em;
}

.Index .Top .body h2
{
	-webkit-text-stroke: 0;
	font-size: 2em;
	color: rgb(var(--w));

	margin-bottom: var(--gap);

	text-shadow:
		rgb(var(--bk) / 0.3) 0 0em 1em
	;
}

.Index .Top .body h2>b
{
	font-size: inherit;
}
.Index .Top .body h2>b>b
{
	font-size: 1.2em;
}

/* ------------------------------------------------------
	[index]　Ct
------------------------------------------------------ */
.Index .aboutus .spray
{
}
.Index .aboutus .spray .Item1
{
	--item_w				: 12.5em;
	--item_rotate			: -31.11deg;
	left: -6em;
	top: 7%;
}
.Index .aboutus .spray .Item2
{
	--item_w				: 6.25em;
	--item_rotate			: 0deg;
	right: -10em;
	top: 24%;
}
.Index .aboutus .spray .Item3
{
	--item_w				: 5.75em;
	--item_rotate			: -160.74deg;
	left: -1.2em;
	top: 60%;
}


.Index .facility .spray
{
}
.Index .facility .spray .Item1
{
	--item_w				: 12.5em;
	--item_rotate			: -22.12deg;
	right: -1.6em;
	top: -10%;
}
.Index .facility .spray .Item2
{
	--item_w				: 6.25em;
	--item_rotate			: -17.95deg;
	left: 6.6em;
	top: 0%;
}
.Index .facility .spray .Item3
{
	--item_w				: 5.75em;
	--item_rotate			: -160.74deg;
	right: 3.75em;
	top: 50%;
}


.Index .support .spray
{
}
.Index .support .spray .Item1
{
	--item_w				: 12.5em;
	--item_rotate			: -22.12deg;
	left: 8.75em;
	top: -6%;
}
.Index .support .spray .Item2
{
	--item_w				: 6.5em;
	--item_rotate			: 0deg;
	right: 30%;
	top: 15%;
}
.Index .support .spray .Item3
{
	--item_w				: 6.5em;
	--item_rotate			: -12.43deg;
	left: 4.2em;
	top: 92%;
}


/* ------------------------------------------------------
	[index]　フレンズについて「放課後デイサービスフレンズとは」、フレンズについて「サービス内容」
------------------------------------------------------ */
.Index :is(.aboutus, .facility)
{
}

.Index :is(.aboutus, .facility) .head
{
}

.Index :is(.aboutus, .facility) .head :is(a, .a)
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	gap: var(--gap);
}
.Index .aboutus .head :is(a, .a)
{
	grid-template-areas:
		"tilte tilte"
		"lead Img"
		"Free Img"
	;
}
.Index .facility .head :is(a, .a)
{
	grid-template-areas:
		"tilte tilte"
		"Img lead"
		"Img Free"
	;
}
.Index :is(.aboutus, .facility) .head :is(a, .a)>*[class*="title"]
{
	grid-area: tilte;
}
.Index :is(.aboutus, .facility) .head :is(a, .a)>.lead
{
	grid-area: lead;
	align-self: flex-end;
}
.Index :is(.aboutus, .facility) .head :is(a, .a)>.Img
{
	grid-area: Img;
}
.Index :is(.aboutus, .facility) .head :is(a, .a)>.Free
{
	grid-area: Free;
	align-self: flex-start;
}


.Index :is(.aboutus, .facility) .head *[class*="title"]
{
	margin-bottom: 0;
}


.Index :is(.aboutus, .facility) .head .lead
{
	font-size: 1.5em;

	margin-top: 0;
	margin-bottom: 0;

	text-align: justify;
}


.Index :is(.aboutus, .facility) .head .Img
{
	aspect-ratio: 1;
}
.Index :is(.aboutus, .facility) .head .Img img
{
	border-width: var(--border_w);
	border-radius: var(--gap);
}

.Index .facility .head .Img img
{
	object-position: right;
}


/* ------------------------------------------------------
	[index]　フレンズについて「放課後デイサービスフレンズとは」
------------------------------------------------------ */
.Index .aboutus
{
}

.Index .aboutus h2
{
	line-height: 1.5;
}
.Index .aboutus h2 .small
{
	font-size: 0.7em;
}

.Index .aboutus .main
{
	margin-top: var(--gap);

	display: grid;
	grid-template-columns: 23em 1fr;
	align-items: center;
	gap: var(--gap);
}

.Index .aboutus .main h3
{
	aspect-ratio: 1;
	
	display: grid;
	justify-content: center;
	align-items: center;

	margin-top: 0;
	margin-bottom: 0;

	background-color: rgb(var(--w));
	border-width: var(--border_w);
	border-color: rgb(var(--y));

}
.Index .aboutus .main h3>b
{
	font-size: 2.5em;
	line-height: 1.5;
}


.Index .aboutus .main .detail
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
}

.Index .aboutus .main .Item
{
}
.Index .aboutus .main .Item>*
{
	display: grid;
	justify-content: center;
	justify-items: center;
	gap: 1em;
}

.Index .aboutus .main .Item .title
{
	font-size: 1.2em;

	max-width: 15em;
	display: inline-block;
	text-align: justify;
}

.Index .aboutus .main .Item .Img
{
	width: 15em;
}

.Index .aboutus .main .Item .Img img
{
	aspect-ratio: 1;
	object-fit: contain;
}


/* ------------------------------------------------------
	[index]　フレンズについて「サービス内容」
------------------------------------------------------ */
.Index .facility
{
}

.Index .Ct.facility .main ul
{
	display: inline-block;
	gap: 0;
}

.Index .facility .main
{
	margin-top: var(--gap);

	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: calc(var(--gap) * 2);
}

.Index .facility .main .Item
{
}
.Index .facility .main .Item>.Wrap
{
	display: grid;
	gap: var(--gap);
}

.Index .facility .main .Item h3
{
	margin-top: 0;
	margin-bottom: 0;
	background-color: rgb(var(--r));
	color: rgb(var(--w));
}
.Index .facility .main .Item h3>b
{
	font-size: 2.5em;
}


.Index .facility .main .Item .txt
{
	font-size: 1.2em;

	text-align: justify;
}


.Index .facility .main .Item .child
{
	padding: var(--gap);

	border-width: var(--border_w);
	border-color: rgb(var(--y));
}

.Index .facility .main .Item .child ul
{
	font-size: 1.2em;
}


/* ------------------------------------------------------
	[index]　サポート体制
------------------------------------------------------ */
.Index .support
{
}

.Index .support .bg
{
}
.Index .support .bg img
{
	opacity: 0.3;
}



/* ============================================================================================================
	お知らせ
	------------------------------------------------------------------------------------------------------------
	共通
------------------------------------------------------------------------------------------------------------ */
.News
{
	--news_list_time_w			: 10em;
}

/* ------------------------------------------------------
	一覧
------------------------------------------------------ */
.News .List
{
}

.News .List>ul
{
	--gap						: 2em;
}

.News .List>ul>li
{
}

.News .List>ul>li:not(:last-of-type)::before
{
	content: "";
	display: block;

	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + (var(--gap) / 2));
	
	border-bottom-width: 1px;
}


.News .List :is(a, .a)
{
	gap: 0;
}


/* ------------------------------------------------------
	news/index.php
------------------------------------------------------ */
.Index .News
{
	display: grid;
	grid-template-areas:
		"h2 body"
		"footer body"
	;
	align-items: center;
	align-content: center;
	gap: 0 var(--gap);

	border-width: var(--border_w);
	border-color: rgb(var(--y));
	padding: var(--gap) !important;
}
.Index .News>h2
{
	grid-area: h2;
}
.Index .News>.body
{
	grid-area: body;
}
.Index .News>.footer
{
	grid-area: footer;
}

.Index .News>h2
{
	margin-bottom: 0;
}

.Index .News>h2>b
{
	font-size: 2.5em;
}


/*一覧へボタン*/
.Index .News .footer
{
}


/* ============================================================================================================
	ごあいさつ
	aisatsu.php
------------------------------------------------------------------------------------------------------------ */
.Aisatsu
{
}

.Aisatsu .aisatsu_box
{
}

.Aisatsu .aisatsu_box .txt
{
	font-size: 1.2em;

	display: grid;
	grid-template-areas:
		"Wrap1 Wrap2"
		"Wrap3 Wrap3"
	;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap);
}
.Aisatsu .aisatsu_box .txt>.Wrap1
{
	grid-area: Wrap1;
}
.Aisatsu .aisatsu_box .txt>.Wrap2
{
	grid-area: Wrap2;
}
.Aisatsu .aisatsu_box .txt>.Wrap3
{
	grid-area: Wrap3;
	margin-left: var(--gap);
	margin-right: var(--gap);
}

.Aisatsu .aisatsu_box .Sign
{
	display: grid;
	grid-template-areas:
		"b b"
		"title name"
	;
	grid-template-columns: 3em auto;
	justify-content: end;
	justify-items: start;
	align-items: center;

}
.Aisatsu .aisatsu_box .Sign>b
{
	grid-area: b;
}
.Aisatsu .aisatsu_box .Sign>.title
{
	grid-area: title;
}
.Aisatsu .aisatsu_box .Sign>.name
{
	grid-area: name;
}


/* ============================================================================================================
	フレンズについて
	aboutus.php
------------------------------------------------------------------------------------------------------------ */
.Aboutus
{
}


/* ------------------------------------------------------
	[フレンズについて]　事業紹介
*/
.Aboutus .jigyo
{
}

.Aboutus .jigyo .main
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap);
}

.Aboutus .jigyo .main p
{
	font-size: 1.2em;
	
	margin-top: 1em;
	margin-bottom: 1em;
}


/* ------------------------------------------------------
	[フレンズについて]　事業紹介 / detail
*/
.Aboutus .jigyo .detail
{
	margin-top: var(--gap);

	display: grid;
	grid-template-areas:
		"ID_target ID_service"
		"ID_guide ID_guide"
	;
	grid-template-columns: repeat(2, fit-content(50%));
	justify-content: center;
	justify-items: center;
	gap: var(--gap);
}
.Aboutus .jigyo .detail>.ID_target
{
	grid-area: ID_target;
}
.Aboutus .jigyo .detail>.ID_service
{
	grid-area: ID_service;
}
.Aboutus .jigyo .detail>.ID_guide
{
	grid-area: ID_guide;
}


.Aboutus .jigyo .detail .Item
{
}


.Aboutus .jigyo .detail .Item>.Wrap
{
	display: grid;
	justify-content: center;
}


/* ------------------------------------------------------
	[フレンズについて]　事業紹介 / detail / 対象のお子さま
*/
.Aboutus .jigyo .detail .ID_target
{
}

.Aboutus .jigyo .detail .ID_target ul
{
	list-style: none;
	margin: 0;
	
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
	gap: var(--gap) 0;
}
.Aboutus .jigyo .detail .ID_target ul>li
{
	display: grid;
	justify-content: center;
	justify-items: center;
	gap: calc(var(--gap) / 2);
}
.Aboutus .jigyo .detail .ID_target ul .Img
{
	aspect-ratio: 1;
	width: 10em;
}
.Aboutus .jigyo .detail .ID_target ul .Img img
{
	object-fit: contain;
}
.Aboutus .jigyo .detail .ID_target ul .txt
{
	max-width: calc(var(--font) * 17);
}


/* ------------------------------------------------------
	[フレンズについて]　アンケート・自己評価表
*/
.Aboutus .enquete_jikohyouka
{
}

.Aboutus .pdf_list
{
	display: flex;
	display: grid;
	grid-template-columns: repeat(auto-fit, calc(100% / 3));
	justify-content: center;
	gap: var(--gap);
}
.Aboutus .pdf_list>*
{
	width: 100%;
}

.Aboutus .pdf_list a
{
	display: grid;
	grid-template-columns: none;
	justify-content: center;
	justify-items: center;
	
	padding: var(--gap);

	border-radius: 1em;
	background-color: rgb(var(--y) / 0.25);
}

.Aboutus .pdf_list a .title
{
	margin-top: 0;
	margin-bottom: 0;

	background-color: transparent;
}
.Aboutus .pdf_list a .title::before
{
	aspect-ratio: 1;
	position: absolute;
	width: 0;
	overflow: hidden;
}
.Aboutus .pdf_list a .title>b
{
	background-color: transparent;
}

.Aboutus .pdf_list a .icon_circle
{
	width: 4em;
}

.Aboutus :where(section, .section):nth-of-type(even) .pdf_list a
{
	background-color: rgb(var(--w) / 0.75);
}


/* ============================================================================================================
	事業紹介
	facility.php
------------------------------------------------------------------------------------------------------------ */

/* ------------------------------------------------------
	[事業紹介]			facility.php　サービス紹介 / 基本サービス
------------------------------------------------------ */
.kihon_service
{
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	justify-items: center;
	gap: var(--gap);

	margin-top: var(--gap);
}
.kihon_service>*
{
	width: calc((100% - (var(--gap) * 2)) / 3);
}

.kihon_service .Item
{
}
.kihon_service .Item>.Wrap
{
	display: grid;
	justify-content: center;
	justify-items: center;
	gap: 1em;
}

.kihon_service .Item .Img
{
	aspect-ratio: 1;
	width: 12.5em;

	background-color: rgb(var(--r));
	border-radius: 100em;
}
.kihon_service .Item .Img img
{
	scale: 0.7;
	filter: brightness(0) invert(1);
}

.kihon_service .Item .title
{
	line-height: 1.5;
	margin-top: 0;
	margin-bottom: 0;
}
.kihon_service .Item .title::before
{
	aspect-ratio: 1;
	position: absolute;
	width: 0;
	overflow: hidden;

}
.kihon_service .Item .title>b
{
	font-size: 2em;
}



.Facility .service .kihon_service_list
{
	background-color: rgb(var(--y) / 0.1);
}

.Facility .service .kihon_service_list h3
{
	display: grid;

	margin: 0;

	z-index: 2;
}
/*
	justify-content: center;
*/
.Facility .service .kihon_service_list h3>b
{
}
/*
	padding-left: 0.5em;
	padding-right: 0.5em;
	
	background-color: rgb(var(--y));
*/

.Facility .service .kihon_service_list .kihon_service
{
	padding: var(--gap);
	margin-top: 0;
}

.Facility .service .kihon_service .Item .title>b
{
	font-size: 1.5em;
}



/* ------------------------------------------------------
	[事業紹介]			facility.php　サービス紹介 / 1日の流れ
------------------------------------------------------ */
.Facility .service .schedule
{
	--c_item_w					: calc(1.5em * 5);
	--icon_w					: 3em;
	--icon_bg					: var(--r);
	--icon_border_color			: var(--r) / 0.25;
	--c_data_w					: calc(100% - (var(--c_item_w) + var(--icon_w)));
	--c_data_bg					: var(--y) / 0.5;
	
	margin-top: var(--padding_tb);
}


.Facility .service .schedule .body
{
	display: grid;
	gap: var(--padding_tb);
}


.Facility .service .schedule .main
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
	gap: var(--gap);
}


/* button */
.Facility .service .schedule .summary
{
}
.Facility .service .schedule .summary .title
{
	--arrow_size			: 1em;
	--arrow_position		: 1em;

	margin: 0 auto;
	
	padding-top: 1em;
	padding-bottom: calc(var(--arrow_size) * 2);
	background-color: rgb(var(--c_data_bg));

	clip-path: polygon(
		0% 0%,
		100% 0%,
		100% calc(100% - var(--arrow_size)),
		calc(50% + (var(--arrow_size) / 2)) calc(100% - var(--arrow_size)),
		50% 100%,
		calc(50% - (var(--arrow_size) / 2)) calc(100% - var(--arrow_size)),
		0% calc(100% - var(--arrow_size))
	);
}
/*
	display: inline-grid;
	padding: 1em;
*/

/* 本体 */
.Facility .service .schedule .main
{
}


.Facility .service .schedule .main .Item
{
	display: grid;
	gap: calc(var(--gap) / 2);
}

.Facility .service .schedule .main .Item .detail
{
	display: grid;
	grid-template-areas: none;
	grid-template-columns: none;
	justify-content: center;
	gap: 0;
}
/*
	justify-items: start;
*/
.Facility .service .schedule .main .Item .detail .c_Item
{
	display: grid;
	gap: var(--gap) calc(var(--gap) * 0);
}
.Facility .service .schedule .main .Item .detail .c_Item>.c_time
{
	grid-area: c_time;
}
.Facility .service .schedule .main .Item .detail .c_Item>.icon
{
	grid-area: icon;
}
.Facility .service .schedule .main .Item .detail .c_Item>.c_data
{
	grid-area: c_data;
}


.Facility .service .schedule .main .Item .detail .c_Item .c_time
{
	font-size: 1.5em;
	line-height: 1;
}

.Facility .service .schedule .main .Item .detail .c_Item .c_time>b
{
	font-weight: inherit;
}

.Facility .service .schedule .main .Item .detail .c_Item .icon
{
}
/*
	margin-top: -1em;
	top: calc(0em - var(--gap) / 3);
*/

.Facility .service .schedule .main .Item .detail .c_Item .icon>*
{
	aspect-ratio: 1;

	display: block;
	width: 50%;

	margin-left: auto;
	margin-right: auto;

	background-color: rgb(var(--icon_bg));
	border-radius: 100em;
}

.Facility .service .schedule .main .Item .detail .c_Item .c_data
{
}
/*
	top: -0.75em;

	--arrow_size			: 1em;
	--arrow_top				: 1em;
	--c_data_mask			:
		var(--arrow_size) 0,
		100% 0,
		100% 100%,
		var(--arrow_size) 100%,
		var(--arrow_size) calc(var(--arrow_top) + var(--arrow_size)),
		0 calc(var(--arrow_top) + (var(--arrow_size) / 2)),
		var(--arrow_size) var(--arrow_top)
	;

	padding: calc(var(--gap) / 2) var(--gap);

	background-color: rgb(var(--c_data_bg));

*/

.Facility .service .schedule .main .Item .detail .c_Item .c_data>.Wrap
{
}
/*
	display: inline-block;
	text-align: left;
*/

.Facility .service .schedule .main .Item .detail .c_Item .c_title
{
	font-size: 1.5em;
}

.Facility .service .schedule .main .Item .detail .c_Item .c_txt
{
}


.Facility .service .schedule .main .Item .detail .c_Item:first-of-type .icon
{
}
.Facility .service .schedule .main .Item .detail .c_Item:not(:last-of-type)
{
	min-height: 7em;
}
.Facility .service .schedule .main .Item .detail .c_Item:not(:last-of-type) .icon::before
{
	content: "";
	display: block;

	position: absolute;
	left: 50%;
	top: 0;
	translate: -50% -0%;

	width: var(--border_w);
	height: 100%;

	background-color: rgb(var(--icon_border_color));
}
/*
	height: calc((100% + (var(--gap) / 3)) - 0.25em);
*/
.Facility .service .schedule .main .Item .detail .c_Item:not(:last-of-type) .c_data
{
	margin-bottom: var(--gap);
}
/*
*/

/* [事業紹介]			facility.php　サービス紹介 / 1日の流れ　色分け「平日」 */
.Facility .service .schedule .main .Item[class*="weekday"]
{
	--icon_bg					: var(--bl);
	--icon_border_color			: var(--bl) / 0.25;
	--c_data_bg					: var(--bl) / 0.2;
}
/*
	--icon_border_color			: var(--r) / 0.25;
*/
.Facility .service .schedule .main .Item[class*="weekday"] .h_square::before
{
}
/*
	background-color: rgb(var(--icon_border_color));
*/
.Facility .service .schedule .main .Item[class*="weekday"] .detail .c_Item
{
	grid-template-areas:
		"c_data icon c_time"
	;
	grid-template-columns: 1fr var(--icon_w) var(--c_item_w);
}
.Facility .service .schedule .main .Item[class*="weekday"] .detail .c_Item .c_data
{
	text-align: right;
}
/*
.Facility .service .schedule .main .Item[class*="weekday"] .detail .c_Item .c_data
{
	text-align: right;
	padding-right: calc(var(--gap) + var(--arrow_size));

	clip-path: polygon(
		calc(100% - var(--arrow_size)) 0,
		calc(100% - var(--arrow_size)) var(--arrow_top),
		100% calc(var(--arrow_top) + (var(--arrow_size) / 2)),
		calc(100% - var(--arrow_size)) calc(var(--arrow_top) + var(--arrow_size)),
		calc(100% - var(--arrow_size)) 100%,
		0 100%,
		0 0
	);
}
*/

/* [事業紹介]			facility.php　サービス紹介 / 1日の流れ　色分け「学校休業日」 */
.Facility .service .schedule .main .Item[class*="day_off"]
{
	--icon_bg					: var(--gr);
	--icon_border_color			: var(--gr) / 0.25;
	--c_data_bg					: var(--gr) / 0.25;
}
.Facility .service .schedule .main .Item[class*="day_off"] .h_square::before
{
}
/*
	background-color: rgb(var(--icon_border_color));
*/
.Facility .service .schedule .main .Item[class*="day_off"] .detail .c_Item
{
	grid-template-areas:
		"c_time icon c_data"
	;
	grid-template-columns: var(--c_item_w) var(--icon_w) 1fr;
}
.Facility .service .schedule .main .Item[class*="day_off"] .detail .c_Item .c_data
{
	text-align: left;
}
/*
.Facility .service .schedule .main .Item[class*="day_off"] .detail .c_Item .c_data
{
	text-align: left;
	padding-left: calc(var(--gap) + var(--arrow_size));

	clip-path: polygon(var(--c_data_mask));
}
*/


/* ------------------------------------------------------
	[事業紹介]			facility.php　サービス紹介 / フレンズの特徴
------------------------------------------------------ */
.Facility .tokucyou
{
}

.Facility .tokucyou :is(h3, h4, h5)
{
	margin-top: 0;
	margin-bottom: 0;
}

.Facility .tokucyou :is(h3, .c_txt)
{
	z-index: 5;
}

.Facility .tokucyou .body
{
	display: grid;
	gap: var(--padding_tb);
}


.Facility .tokucyou .body .Item
{
	display: grid;
	gap: var(--gap);
}


.Facility .tokucyou .body .Item .main
{
	display: grid;
	align-content: start;
	align-items: start;
	gap: var(--gap);
}


.Facility .tokucyou .body .Item .main .c_Item
{
	display: grid;
	grid-template-areas:
		"c_title"
		"Img"
		"c_data"
	;
	align-content: start;
	align-items: start;
	gap: calc(var(--gap) / 2);
	
	height: 100%;

	padding: var(--gap);

	background-color: rgb(var(--w) / 0.9);
}
/*
	border-width: var(--border_w);
	border-color: rgb(var(--y));
*/
.Facility .tokucyou .body .c_Item>.Img
{
	grid-area: Img;
}
.Facility .tokucyou .body .c_Item>.c_title
{
	grid-area: c_title;
}
.Facility .tokucyou .body .c_Item>.c_data
{
	grid-area: c_data;
}

.Facility .tokucyou .body .c_Item>.c_title
{
	grid-area: c_title;
}
.Facility .tokucyou .body .c_Item>.Img
{
}
.Facility .tokucyou .body .c_Item>.Img img
{
	aspect-ratio: 16 / 9;

	border-width: var(--border_w);
	border-radius: var(--gap);
}

.Facility .tokucyou .body .Item .main .c_txt
{
	display: grid;
	justify-content: center;
	justify-items: center;

	text-align: justify;
}


/* ------------------------------------------------------
	[事業紹介]			facility.php　サービス紹介 / フレンズの特徴 / 活動プログラム
*/
.Facility .tokucyou .body .Item[class*="program"]
{
}

.Facility .tokucyou .body .Item[class*="program"] .main
{
	grid-template-columns: repeat(2, 1fr);
}


.Facility .tokucyou .body .Item[class*="program"] .c_ID_1
{
	grid-column: 1 / span 2;

	display: grid;
	grid-template-areas:
		"Img c_title"
		"Img c_data"
	;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 var(--gap);
}


/* ------------------------------------------------------
	[事業紹介]			facility.php　サービス紹介 / フレンズの特徴 / サポート体制
*/
.Facility .tokucyou .body .Item[class*="support"]
{
}

.Facility .tokucyou .body .Item[class*="support"] .main
{
	grid-template-columns: repeat(3, 1fr);
}

.Facility .tokucyou .body .Item[class*="support"] :is(.c_ID_2, .c_ID_3) .c_title
{
	letter-spacing: normal;
}


/* ------------------------------------------------------
	[事業紹介]			facility.php　サービス紹介 / フレンズの特徴 / サポート体制 / 送迎について
*/
.Facility .tokucyou .body .Item[class*="support"] .main .c_Item[class*="sougei"]
{
	grid-column: 1 / span 3;

	grid-template-areas:
		"c_title Img"
		"c_data Img"
	;
	align-items: center;
	align-content: center;
	gap: calc(var(--gap) / 2) var(--gap);
}
.Facility .tokucyou .body .Item[class*="support"] .main .c_Item[class*="sougei"] .c_title
{
	align-self: flex-end;
}

.Facility .tokucyou .body .Item[class*="support"] .main .c_Item[class*="sougei"] .c_data
{
	align-self: flex-start;
}


.Facility .tokucyou .body .Item[class*="support"] .main .c_Item[class*="sougei"] .c_data
{
	display: grid;
	gap: 1em;
}

.Facility .tokucyou .body .Item[class*="support"] .main .c_Item[class*="sougei"] .lead
{
	margin-top: 0;
	margin-bottom: 0;
}

.Facility .tokucyou .body .Item[class*="support"] .main .c_Item[class*="sougei"] .c_txt
{
	display: inline-flex;
	justify-content: stretch;
	gap: 1em;

	background-color: rgb(var(--w));
	border-width: var(--border_w);
	border-color: rgb(var(--y));
}
.Facility .tokucyou .body .Item[class*="support"] .main .c_Item[class*="sougei"] .c_txt>*
{
	padding: 0.5em;
}
.Facility .tokucyou .body .Item[class*="support"] .main .c_Item[class*="sougei"] .c_txt b
{
	display: grid;
	align-items: center;

	padding: 0 0.5em;
	background-color: rgb(var(--y));
}


/* ------------------------------------------------------
	[事業紹介]			facility.php　サービス紹介 / フレンズの特徴 / 集団療育
*/
.Facility .tokucyou .body .Item[class*="group"]
{
}

.Facility .tokucyou .body .Item[class*="group"] .main
{
	display: grid;
	grid-template-columns: 1fr;
	gap: calc(var(--padding_tb) / 2);
}

.Facility .tokucyou .body .Item[class*="group"] .main .c_Item
{
	--grid_num					: 3;
	
	grid-template-columns: repeat(var(--grid_num), 1fr);
	gap: calc(var(--gap) / 2) var(--gap);
}

.Facility .tokucyou .body .Item[class*="group"] .c_Item>.Img img
{
	aspect-ratio: initial;
}

.Facility .tokucyou .body .Item[class*="group"] .main h4
{
	grid-column: 1 / span var(--grid_num);
}

.Facility .tokucyou .body .Item[class*="group"] .main .detail
{
	display: grid;
	gap: 1em;
}

.Facility .tokucyou .body .Item[class*="group"] .main h5
{
	line-height: 1.5;
}
.Facility .tokucyou .body .Item[class*="group"] .main h5>b
{
	display: grid;
	align-items: center;
}
/*
	min-height: 4em;

*/

.Facility .tokucyou .body .Item[class*="group"] .main .detail ul
{
	gap: 0em;
}


/* ------------------------------------------------------
	[事業紹介]			facility.php　サービス紹介 / フレンズの特徴 / 集団療育 / 集団療育の目的
*/
.Facility .tokucyou .body .Item[class*="group"] .main .c_ID_1
{
	--grid_num					: 3;

	grid-template-areas:
		"c_title c_title c_title"
		"Img c_data c_data"
	;
}

.Facility .tokucyou .body .Item[class*="group"] .main .c_ID_1 .c_data
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap);
}


/* ------------------------------------------------------
	[事業紹介]			facility.php　サービス紹介 / フレンズの特徴 / 集団療育 / 主な集団療育プログラム
*/
.Facility .tokucyou .body .Item[class*="group"] .main .c_ID_2
{
	--grid_num					: 3;

	grid-template-areas:
		"c_title c_title c_title"
		"Img c_data c_data"
	;
}

.Facility .tokucyou .body .Item[class*="group"] .main .c_ID_2 .c_data
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap);
}


/* ------------------------------------------------------
	[事業紹介]			facility.php　サービス紹介 / フレンズの特徴 / 集団療育 / 集団療育の特徴
*/
.Facility .tokucyou .body .Item[class*="group"] .main .c_ID_3
{
	--grid_num					: 2;
	grid-template-areas:
		"c_title c_title"
		"Img c_data"
	;
}

.Facility .tokucyou .body .Item[class*="group"] .main .c_ID_3 .c_data
{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: var(--gap);

}

/* ------------------------------------------------------
	[事業紹介]			facility.php　ご利用料金のご案内
*/
.Facility .fee
{
}

.Facility .fee h3
{
	margin-top: 0;
	margin-bottom: 0;
}


.Facility .fee .body
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
	gap: var(--gap);
}
.Facility .fee .body .lead
{
	margin-top: 0;
	margin-bottom: 0;
}

.Facility .fee .body .Item
{
	display: grid;
	gap: var(--gap);
}

.Facility .fee .body .Item .memo
{
	display: grid;
	justify-content: center;
	justify-items: start;
}



/* ============================================================================================================
	求人情報
	recruit.php
------------------------------------------------------------------------------------------------------------ */
.Recruit
{
}

.Recruit .lead
{
	margin-bottom: 0;
}

.Recruit .ct
{
	--column_num			: 3;
	--child_title_w			: 15em;
}

.Recruit .ct>.Wrap
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
	gap: var(--gap);
}

.Recruit .ct h2
{
	grid-column: 1 / span 2;
}

.Recruit .ct h3
{
	margin-top: 0;
	margin-bottom: 0;
}


.Recruit .ct .Img
{
}

.Recruit .ct .Img img
{
	border-width: var(--border_w);
	border-radius: var(--gap);
}


.Recruit .ct div.list
{
	display: grid;
	gap: var(--gap);
}

.Recruit .ct div.list .Item>.title
{
	display: grid;
	line-height: 1.5;
	text-align: justify;
}


.Recruit .ct table.list
{
	display: inline-table;
	width: auto;
}



.Recruit .ct .list .Item .title>b
{
	display: flex;
	flex-wrap: wrap;
	gap: 0.25em;

	background-color: transparent;
}
/*
	display: inline-flex;
	gap: 0.25em;
	align-items: center;
*/

.Recruit .ct .list .Item .title .c_before
{
	white-space: nowrap;
	word-break: keep-all;
	overflow-wrap: break-word;

	font-size: 0.8em;
	color: rgb(var(--r));
	line-height: 1.5;

	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-color: rgb(var(--or) / 0.5);
	text-decoration-thickness: 0.75em;
	text-underline-offset: -0.25em;
	text-decoration-skip-ink: none;
}
/*
	text-align: center;


	height: 0;
*/

.Recruit .ct .list .Item .c_txt
{
	text-align: justify;
}


/* ------------------------------------------------------
	[求人情報]　募集職種
*/
.Recruit .category
{
	--column_num			: 1;
}

.Recruit .category div.list
{
}
.Recruit .category div.list .Item
{
	display: grid;
	gap: 0.5em;
}

.Recruit .category table.list
{
	width: 75%;
}


/* ------------------------------------------------------
	[求人情報]　仕事内容
*/
.Recruit .job
{
	--column_num			: 1;
}


/* ------------------------------------------------------
	[求人情報]　応募資格
*/
.Recruit .shikaku
{
	--child_title_w			: auto;
}

.Recruit .shikaku div.list
{
}

.Recruit .shikaku div.list .Item
{
}
/*
.Recruit .shikaku div.list .c_ID_2
{
	grid-column: 2 / span 2;
	grid-row: 1 / span 1;
}
.Recruit .shikaku div.list .c_ID_4
{
	grid-column: 2 / span 2;
	grid-row: 2 / span 1;
}
*/

/* ------------------------------------------------------
	[求人情報]　勤務条件
*/
.Recruit .jouken
{
	--column_num			: 1;
	--child_title_w			: 10em;
}

.Recruit .jouken>.Wrap
{
	grid-template-columns: 1fr;
}

.Recruit .jouken h2
{
	grid-column: initial;
}

.Recruit .jouken .list
{
	justify-self: center;
}


/* ============================================================================================================
	プライバシーポリシー
	privacy.php
------------------------------------------------------------------------------------------------------------ */
.Privacy
{
}


.Privacy .detail
{
	display: inline-block;
}