@charset "utf-8";

/* CSS Document */


/* ======================================================
	@import"../css/test_line.css";
	[layout] header
	------------------------------------------------------
	min-width　→　○px以上だと??という設定にする
	max-width　→　○px以下だと??という設定にする
====================================================== */

html
{
	width: 100%;
	font-size: 62.5%;
}
/*
	font-size: calc(62.5% * 1.3);
	font-size: 81.25%;
	font-size: 18px;
	font-size: calc(10px * 1.3);
	font-size: 13px;
*//*
	height:100%;
*/

body
{
	text-align: center;
	width: 100%;
	height: 100%;
}

/* [160910] PC以外で余白にゴーストが出るのを防ぐ ※fixed非対応 */
/* 幅が、指定未満 */
@media screen and (max-width: 750px) {

body
{
	background-attachment: scroll;
}
}

body,
.Flex>*>*
{
	letter-spacing: 0.15em;
}

body
{
	font-size: 16px;
}
/*
	font-size: 1.4rem;
	font-size: 1.6rem;
*/

/* 幅が、A4タテ以上 */
@media screen and (min-width: 210mm) {
body
{
}
}

/* 幅が、A4タテ未満 */
@media screen and (max-width: 80rem) {
body
{
	font-size: 1.3vw;
}
}

/* 幅が、指定未満 */
@media screen and (max-width: 750px) {
body
{
	font-size: 3.5vw;
}
}

body,
input,
select,
textarea
{
	line-height: 2;
}

input[type="button"]
{
	line-height: 1.5;
}

table
{
	line-height: inherit;
}

#Document
{
	min-height: 100%;
}

/*
	overflow: hidden;
*/

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

#Header
{
}

#GlobalMenu
{
}

.GlobalMenu
{
}

#GlobalMenu .PullDown .Child
{
	top: 3em;
}

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


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

#Contents
{
}

#Contents:before
{
}

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

.Main
{
	min-height: 30em;
}

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

/*
	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,1.0);
}
/*
	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;
}

.Header h1
{
	margin: 0;
}
.Header :is(table, th, td) {
	background: none;
	border-width: 0;
	padding: 0;
	width: auto;
}

.Header table
{
	margin-right: 0;
	margin-left: auto;
}

.Header caption
{
}
.Header :is(th, td) {
	vertical-align: middle;
}

.Header ul
{
	margin: 0;
	list-style: none;
}

.Header li
{
	display: inline-block;
	vertical-align: middle;
	margin-top: 0;
	margin-bottom: 0;
	white-space: nowrap;
}

.Header li:not(:first-child)
{
	margin-left: 1em;
}

.Header li:not(:last-child)
{
}

.Header .Logo
{
}

.Header .Left
{
	text-align: left;
}

.Header .Right
{
	text-align: right;
}

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

.Header .Navi
{
	text-align: right;
	line-height: 1;
}

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

.Header .Navi>.Wrap
{
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

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

.Header .Navi .Access
{
	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 .Navi ul
{
	display: flex;
	align-items: center;
	margin: 0;
	text-align: inherit;
}
/*
	display: block;
*/

.Header .Navi ul li
{
}

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

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

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

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

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

/* 左 */
.Header .Left
{
}

/* 右 */
.Header .Right
{
}

.Header .Right>.Wrap
{
}

.Header .Menu,
.Header .GlobalMenu
{
}


/* ------------------------------------------------------
	文字サイズ変更 */
/* 幅が、指定以上 */
@media print, screen and (min-width: 750px) {

#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 :is(.small, .large) {
	font-size: 1em;
}

.changeBtn .changeText
{
}

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

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

.CategoryTitle>.Wrap
{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 10vw;
}

.CategoryTitle>.Img+.Wrap
{
	height: 25vw;
}

.CategoryTitle h1
{
	margin-top: 0;
	margin-bottom: 0;
}

.CategoryTitle h1:not([class])
{
}

.CategoryTitle span
{
	display: inline-block;
}

.CategoryTitle .Img
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	vertical-align: middle;
}

.CategoryTitle .Img img
{
	height: 100%;
	opacity: 0.6;
}

.CategoryTitle .Img .NoImg
{
	border-width: 0;
}

.CategoryTitle .Img .NoImg:after
{
	content: none;
}

.CategoryTitle .Img+.Wrap
{
	color: rgba(255,255,255,1.0);
}

.CategoryTitle h1>.Wrap
{
	vertical-align: baseline;
	display: block;
}

.CategoryTitle .title
{
	font-size: 3em;
	display: inline-block;
	font-weight: inherit;
}
/*
*/

.CategoryTitle .main
{
	position: absolute;
	top: calc(100% + 1em);
	left: 0;
	right: 0;
	display: block;
}

.CategoryTitle .Child
{
}

.CategoryTitle h1 .Sub
{
}

.CategoryTitle .below
{
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2.5em;
}


/* ======================================================
	<global menu>
------------------------------------------------------ */
#Header .GlobalMenu
{
}

.GlobalMenu
{
	line-height: 1;
	text-align: center;
}

.GlobalMenu>.Wrap
{
}
.GlobalMenu :is(a, .a) {
	display: block;
	line-height: 1;
	height: 100%;
	color: inherit;
	padding: 1em;
}
.GlobalMenu :is(a, .a):hover {
}
.GlobalMenu :is(a, .a):hover>span,
.GlobalMenu .MenuOn :is(a, .a)>span {
}
.GlobalMenu :is(a, .a) span {
	display: block;
	display: inline-block;
}
.GlobalMenu :is(a, .a)>span {
	width: 100%;
	padding: 0.5em 0;
	border-radius: 100em;
}

/*
.GlobalMenu a>span,
.GlobalMenu .a>span	{
	border-left-width: 1px;
}
.GlobalMenu>.Wrap>ul>li:last-child>.Wrap a>span,
.GlobalMenu>.Wrap>ul>li:last-child>.Wrap .a>span	{
	border-right-width: 1px;
}
*/

.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 :is(.title, .title_sub) {
	margin: auto;
	letter-spacing: normal;
}
/*
[221026]文字大きくしない、文字間削除、M体
.GlobalMenu :is(.title, .title_sub) {
	margin: auto;
	font-size: 1.2em;
	font-weight: bold;
}

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


/* 今のページ */
.GlobalMenu .MenuOn
{
}
.GlobalMenu .MenuOn :is(a, .a) {
}
.GlobalMenu .MenuOn :is(a, .a)>span {
}

/*
.GlobalMenu .MenuOn :is(a, .a) span:after
{
	content: "";
	display: block;
	position: absolute;
	bottom: -0.2em;
	width: 100%;
	height: 1px;
}
*/

.GlobalMenu .Child
{
	letter-spacing: normal;
}
.GlobalMenu .Child :is(a, .a) {
}
.GlobalMenu .Child :is(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;
}

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

.Header .GlobalMenu>.Wrap>ul
{
}

.GlobalMenu>.Wrap>ul>li
{
	display: table-cell;
}

.GlobalMenu>.Wrap>ul>li>.Wrap
{
	display: table;
}
.GlobalMenu>.Wrap>ul>li>.Wrap>:is(a, .a) {
	display: table-cell;
	vertical-align: middle;
}

.GlobalMenu>.Wrap>ul>li:not(:last-child)
{
}
.GlobalMenu>.Wrap>ul>li:last-child>.Wrap>:is(a, .a)>span {
}

/* PullDown */
#GlobalMenu :is(ul, .PullDown) {
 position: relative;
}

#GlobalMenu .PullDown
{
}
#GlobalMenu .PullDown :is(a, .a, .Wrap) {
}
#GlobalMenu .PullDown :is(a, .a):after {
display: block;
	position: absolute;
	left: 50%;
	right: 50%;
	bottom: 0.6em;
	margin-left: auto;
	margin-right: auto;
}

#GlobalMenu .PullDown .Child
{
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	width: 100%;
	padding-top: 0em;
	text-align: center;
}

/*
	text-align: left;
*/

#GlobalMenu .PullDown .Child>ul
{
	width: 100%;
}

/*
	overflow: hidden;
*/

#GlobalMenu .PullDown .Child>ul>li
{
	display: block;
	overflow: hidden;
	height: 0em;
}

/*
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
*/

#GlobalMenu .PullDown .Child li:not(:first-child)
{
}

#GlobalMenu .PullDown .Child li>.Wrap
{
	height: 100%;
}
#GlobalMenu .PullDown .Child :is(a, .a) {
	display: table;
	width: 100%;
	height: 100%;
	font-weight: inherit;
	color: inherit;
}
#GlobalMenu .PullDown .Child :is(a, .a):hover {
	color: inherit;
}
#GlobalMenu .PullDown .Child :is(a, .a):after {
	content: none;
}
#GlobalMenu .PullDown .Child :is(a, .a)>span {
	border-width: 0;
	display: table-cell;
	vertical-align: middle;
}

/*
*/

/*
	PullDown・マウスオーバー
	<li>でないと高さが取れない
*/
#GlobalMenu .PullDown:hover .Child
{
}

#GlobalMenu .PullDown:hover .Child>ul
{
}

/*テスト用に開ける
#GlobalMenu .PullDown .Child>ul>li
*/
#GlobalMenu .PullDown:hover .Child>ul>li
{
	height: 4em;
	overflow: inherit;
}

#GlobalMenu .PullDown:hover .Child>ul>li>.Wrap
{
}
 #GlobalMenu .PullDown:hover .Child :is(a, .a) {
}

/* ページ幅いっぱいに子を展開 */
#Header .GlobalMenu
{
	display: block;
}
#GlobalMenu :is(ul, .PullDown, .PullDown>.Wrap) {
	position: static;
}

#GlobalMenu ul
{
}

#GlobalMenu .PullDown
{
}

#GlobalMenu .PullDown>.Wrap
{
}
#GlobalMenu .PullDown :is(a, .a) {
}

#GlobalMenu .PullDown .Child
{
	overflow: hidden;
	height: 0;
	white-space: normal;
}

/*
	padding-left: 5em;
	padding-right: 5em;
*/
/*
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	opacity: 0;
*/

#GlobalMenu .PullDown .Child>ul
{
	display: inline-block;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
	width: auto;
}

/*
	display: table;
	margin-left: auto;
	margin-right: 0;
*/

#GlobalMenu .PullDown .Child>ul>li
{
	display: inline-block;
	vertical-align: middle;
	padding-left: 1em;
	padding-right: 1em;
}

/*
	display: table-cell;
*/

#GlobalMenu .PullDown:hover .Child
{
	height: auto;
}

/*
	opacity: 1.0;
*/

#GlobalMenu .PullDown .Child .Img
{
	width: 4em;
	height: 3em;
	overflow: hidden;
	padding-right: 0.5em;
}

#GlobalMenu .PullDown .Child .Img img
{
	width: 100%;
	height: initial;
}

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

/*
	padding-bottom: 5em;
*/

.Main
{
}

