@charset "utf-8";

/* CSS Document */

/* ======================================================
	@import"../css/test_line.css";
	[layout] header
	------------------------------------------------------
	○px以上 + 印刷モード	@media print, screen and (min-width : ○px) {}
	○px以上				@media (min-width : ○px) {}
	○px以下				@media (max-width : ○px) {}
	------------------------------------------------------
	 [sp]		     ～  479	
	([tablet]	 480 ～     )
	 [pc]		1025 ～
====================================================== */
/* [pc, tablet, print] */
@media print, screen and (min-width : 480px) {
}

/* [ - sp] */
@media (max-width : calc(480px - 1px)) {
.ModeSP 
{
}
}

/* [print] */
@media print {
}


#Document
{
	min-height: 100%;
}

/*
	overflow: hidden;
*/

#Document>.Wrap
{
	margin-left: auto;
	margin-right: auto;
}

#Header
{
}

.GlobalMenu
{
}

.GlobalMenu
{
}

.PullDown .detail
{
	top: 3em;
}

/*
	top: calc((1.5em * 2) + 3.7333em);
*/


#Contents,
#content
{
}
/*
	padding-top: 8em;
	padding-bottom: 8em;
*/

#Contents
{
}

#Contents:before
{
}

:where(#Index, #Aboutus, #Menu, #Contact) .Contents
{
	padding-bottom: 0em;
}
/*
*/

.Main
{
	min-height: 30em;
}
/*
	overflow-x: hidden;
*/

.Main>.Wrap
{
}

.sideArea
{
}

.description
{
}

#nav-content
{
	top: calc((1em * 2.5) * 2);
}
/*
 top: calc(3em + (1em * 2.5));
	top: calc((0.5em * 2) + (0.5em * 2) + (1px * 2 ) + (1em * 2) + (0.8em * 1.5) + 0.5em);
*/

.Drawer .Menu
{
}

/*
	top: 0em;
*/

.Drawer .Menu>.Wrap
{
	margin-left: 4vw;
	margin-right: 4vw;
}

.Drawer .toggle .Btn
{
 font-size: calc(1em * 2.5);
}

#nav-content
{
	padding-bottom: 20vh;
}

/*
	padding-top: calc((0.5em * 2) + (0.5em * 2) + (1em * 2) + (0.8em * 1.5) + 0.5em);
	margin-top: 1px;
	border-radius: 30vw 0 0 0;
*/










/* ======================================================
	======================================================
	======================================================
	======================================================
	======================================================
	======================================================
====================================================== */






/* ======================================================
	<header>
------------------------------------------------------ */
/* <header>固定 */
#Header
{
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 500;
}

/*
	position: fixed;
	height: 6em;
	overflow: hidden;　drowerが出なくなる
	min-height: 5em;
*//*
#Header	{
	position: fixed;
	width: 100%;
}
#Contents	{
	padding-top: calc(1.5em * 3);
}
*/

@media print {

#Header
{
	position: static;
}
}

.Header
{
	background-color: rgba(255,255,255,0.25);
	background-color: rgba(255,255,255,1.0);
}

.Header:before
{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	opacity: 0;
}

.scroll .Header
{
	background-color: rgba(255,255,255,0.95);
}
/*
	border-bottom-width: 0.5em;
*/

.scroll .Header:before
{
	opacity: 0.15;
	opacity: 0.3;
}

.Header
{
	text-align: left;
}

.Header:after
{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
}

.Header>.Wrap
{
	padding-top: 1em;
	padding-bottom: 1em;
}

.Header>.Wrap>.Wrap
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
}

.Header h1
{
	margin: 0;
}

.Header ul
{
	margin: 0;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 1em;
	text-align: inherit;
}

.Header li
{
	margin: 0;
}

.Header .Logo
{
}

.Header .LogoSet
{
	padding-top: 1em;
	padding-bottom: 1em;
}

.Header .Navi
{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 1em;
	text-align: right;
	line-height: 1;
}

.Header .Navi>*
{
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1em;
}
/*
*/

.Header .Navi>*>*
{
}
/*
	margin-left: 1em;
*/

.Header .Navi a
{
}
/*
	display: flex;
*/

.Header .Navi.contact_button
{
	margin-top: 0.5em;
}

.Header .Navi .Access
{
	display: inline-flex;
	align-items: center;
	gap: 1em;
	text-align: center;
}
/*
	display: inline-block;


[221026]button不要の為、囲み不要
.Header .Navi.contact_button .Access
{
	display: inline-block;
	text-align: center;
	padding: 1.5em 1em 1em;
	border-width: 1px;
	border-style: dotted;
}
*/

.Header ul li:not(.Icon)
{
}

.Header .Icon
{
	text-align: center;
}

.Header .Icon .icon
{
	padding: 0.125em;
	margin: auto auto 0.25em;
}

.Header .Icon .icon img
{
	margin: auto;
}

.Header .Icon .icon+span
{
	display: block;
}

/* 左 */
.Header .Left
{
	text-align: left;
}

/* 右 */
.Header .Right
{
	text-align: right;
}

.Header .Right>.Wrap
{
}

.Header .Menu,
.Header .GlobalMenu
{
}


/* ------------------------------------------------------
	文字サイズ変更 */
/* [pc, tablet, print] */
@media print, screen and (min-width : 480px) {}
#fontSize
{
}

.Header #fontSize
{
	vertical-align: bottom;
}

#fontSize li
{
	margin: auto;
	display: inline-block;
	float: none;
}

.changeBtn
{
	letter-spacing: normal;
}

.changeBtn>span
{
	cursor: pointer;
	display: inline-block;
	width: 2em;
	line-height: 2em;
	text-align: center;
	border-width: 1px;
	background-color: rgba(255,255,255,1.0);
}
.changeBtn :where(.small, .large) {
	font-size: 1em;
}

.changeBtn .changeText
{
}

/* 選択中 */
.changeBtn .current
{
}


/* ======================================================
	<page title>
------------------------------------------------------ */
.pagetitle
{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	line-height: 1;
	margin-top: 0;
	margin-bottom: 3em;
}

.pagetitle>.Wrap
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/* [pc, tablet, print] */
@media print, screen and (min-width : 480px) {}
.pagetitle>.Wrap
{
	height: 10em;
}

/* [ - sp] */
@media (max-width : calc(480px - 1px)) {
.ModeSP .pagetitle>.Wrap
{
	height: 25vw;
}
}

/* [print] */
@media print {
}

.pagetitle span
{
	display: flex;
}

.pagetitle :where(a, .a)
{
	flex-direction: column;
	gap: 1em;
}

.pagetitle .title
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1em;
}

.pagetitle .title .name
{
	font-size: 3em;
	font-weight: inherit;
}

.pagetitle .title .title_sub
{
}

.pagetitle .Img
{
}


/* ======================================================
	<global menu>
------------------------------------------------------ */
.GlobalMenu
{
	line-height: 1;
	text-align: center;
}

.GlobalMenu>.Wrap
{
}

.GlobalMenu :where(a, .a)
{
}

.GlobalMenu :where(a, .a) [class*="title"]
{
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}
/*
	width: 100%;
	padding: 0.5em 0;
	border-radius: 100em;
*/

.GlobalMenu ul
{
	display: flex;
	margin-left: auto;
	margin-right: 0;
	text-align: inherit;
}

/*
[221026]均等割り付け不要
.GlobalMenu ul
{
	display: table;
	width: 100%;
	table-layout: fixed;
	margin-left: auto;
	margin-right: 0;
	text-align: inherit;
}
*/

.GlobalMenu ul>li
{
	display: flex;
	width: 100%;
}

.Header .GlobalMenu ul>li
{
	width: auto;
}


.GlobalMenu .img
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.GlobalMenu .img img
{
	width: auto;
	height: 100%;
	margin: auto;
	background-repeat: no-repeat;
	background-position: center bottom;
}

.GlobalMenu :where([class*="title"])
{
	margin: auto;
}

/*
[221026]文字大きくしない、文字間削除、M体
.GlobalMenu :where([class*="title"])
{
	margin: auto;
	font-size: 1.2em;
	font-weight: bold;
}

	margin-top: calc((100% - 3em) / 2);
*/



/* 子 */
.GlobalMenu .Child
{
	z-index: 150;
}
/*
	overflow: hidden;
	height: 0;
*/

.GlobalMenu .Child ul
{
	width: 0;
}

.GlobalMenu .Child :where(a, .a)
{
	justify-content: flex-start;
	gap: 0.5em;
	padding: 0.75em 1em;
	line-height: 1.5;
}

.GlobalMenu .Child :where(a, .a)>span
{
}
/*
	width: initial;
*/

.GlobalMenu .Child .Img
{
	width: 3em;
	overflow: hidden;
}

.GlobalMenu .Child .Img img
{
	display: block;
	width: initial;
	max-width: initial;
	height: 3em;
	margin-right: 0.5em;
}

/* [子]	今のページ */
.GlobalMenu .Child .child_MenuOn
{
	font-weight: bold;
}



.Footer .GlobalMenu
{
}

.Footer .GlobalMenu :is(a, .a)
{
	padding: 0;
}

.Footer .GlobalMenu :is(a, .a)>span
{
	margin: 0;
}

.Footer .GlobalMenu .Child
{
	margin-top: 0.5em;
	margin-left: 2em;
}

.Footer .GlobalMenu .Child>ul
{
	width: auto;
	gap: 0.5em;
}

.Footer .GlobalMenu .Child .title
{
}

.Footer .GlobalMenu .Child .title br
{
	display: none;
}



/* ======================================================
	Contents・本文全体
------------------------------------------------------ */
.Contents
{
}

/*
	padding-bottom: 5em;
*/

.Main
{
}

