:root{
	/*PC用*/
	--pcnav-bg:;
	--pcnav-bg_hover:#442200;
	--pcnav-an:#000;
	--pcnav-an_hover:#FFF;
	--pcsub-bg:#442200;
	--pcsub-an:#000;
	--pcsub-an_hover:#000;
	
	/*モバイル用*/
	--hamburger-bg:#442200;
	--burger-lines:#FFF;
	--mbnav-bg:#442200;
	--mbnav-an:#FFF;
	--mbsub-bg:#EEE;
	--mbsub-an:#000;
	/*ページトップ*/
	--upbtn-bg:#442200;
	--upbtn-an:#FFF;
}
/*グローバルナビゲーション*/

#OPEN{
	display: none;
}

/*ハンバーガーメニューボタン*/
@media screen and (min-width:769px){
	label.menu-btn{
		display:none;
	}
}@media screen and (max-width: 768px){
	label.menu-btn{
	  position:fixed;
	  top:0px;
	  right:0px;
	  display:flex;
	  height:40px;
	  width:40px;
	  justify-content: center;
	  align-items: center;
	  z-index:3;
	  text-indent:-1000em;
	  background:var(--hamburger-bg);
	}
	label.menu-btn:hover {
	  cursor: pointer;
	}
	/*三本線*/
	.menu-btn span,
	.menu-btn span::before,
	.menu-btn span::after{
	  content:"";
	  display:block;
	  height:2px;
	  width:20px;
	  border-radius:2px;
	  background:var(--burger-lines);
	  position:absolute;
	  transition:all 0.3s ease-in-out;
	}
	label.menu-btn span::before{
	  bottom: 6px;
	}
	label.menu-btn span::after{
	  top: 6px;
	}
	
	#OPEN:checked ~ label span{
		background:transparent;
	}
	
	#OPEN:checked ~ label span::before{
		transform: rotate(45deg);
		transform-origin:center center 0;
		top: 0px;
	}
	#OPEN:checked ~ label span::after{
		transform: rotate(-45deg);
		transform-origin:center center 0;
		top:0px;
	}
}

/*PC用*/
@media screen and (min-width:769px){
	div.global__navigation--compact{
		margin:0 1em 0 auto;
		padding:0;
		width:auto;
	}
	
	div.global__navigation--compact ul.menu{
		margin:0;
		padding:0;
		width:auto;
		height:auto;
		list-style:none;
		display:flex;
		flex-wrap:wrap;
		font-size:0.85em;
		line-height:1.8;
		position:relative;
	}
	
	div.global__navigation--compact ul.menu li{
		margin:0;
		padding:0.5em 0.5em 0.5em 0.5em;
		width:auto;
		height:auto;
		flex:0 0 auto;
		text-align:center;
		cursor:pointer;
		border-left:;
		transition:background 0.2s ease-out;
		border-radius:0.5em;
		background:var(--pcnav-bg);
		color:var(--pcnav-an);
	}
	
	div.global__navigation--compact ul.menu li:last-child{
		border-right:;
	}
	
	div.global__navigation--compact ul.menu li a{
		margin:0;
		padding:0;
		width:100%;
		height:100%;
		display:block;
		text-align:center;
		text-decoration:none;
		color:var(--pcnav-an);
	}
	
	div.global__navigation--compact ul.menu li:hover{
		background:var(--pcnav-bg_hover);
		color:var(--pcnav-an_hover);
	}
	
	div.global__navigation--compact ul.menu li:hover a{
		color:var(--pcnav-an_hover);
	}
	
	/*-------------子メニュー--------------*/
	div.global__navigation--compact ul.sub-menu{
		list-style:none;
		margin:0 0 0 0;
		padding:0;
		text-align:left;
		border:none;
		width:100%;
		height:0;
		max-height:0;
		min-height:0;
		overflow:hidden;
		white-space:nowrap;
		position:absolute;
		left:0;
		top:2.4em;
		display:flex;
		flex-wrap:wrap;
		gap:0.5em;
		transition:max-height,height 1s ease-out;
		overflow:hidden;
		z-index:10;
		border-radius:0.5em;
		background:var(--pcsub-bg);
	}
	div.global__navigation--compact ul.menu li:hover ul.sub-menu{
		padding:1em 0 1em 0;
		height:auto;
		max-height:900px;
		min-height:1em;
	}
	
	div.global__navigation--compact ul.sub-menu li{
		margin:0;
		padding:0.25em;
		flex:0 1 calc(33% - 0.25em);
		text-align:left;
		border:none;
	}

	div.global__navigation--compact ul.sub-menu li:last-child{
		border:none;
		flex:1 1 calc(30% - 0.5em);
	}
	
	div.global__navigation--compact ul.sub-menu li a{
		margin:0;
		padding:0.25em 0.75em 0.25em 0.75em;
		display:block;
		width:auto;
		height:100%;
		text-align:left;
	
	}
	
	div.global__navigation--compact ul.sub-menu li a::before{
		display:inline-block;
		margin-right:0.25em;
		content:"\0276F";
	}
	
	div.global__navigation--compact ul.sub-menu li a::after{
		content:"";
		display:block;
		margin:0;
		padding:0;
		height:1px;
		width:0px;
		transition: all 0.3s ease-in-out;
	}
	
	div.global__navigation--compact ul.sub-menu li:hover a::after{
		content:"";
		display:block;
		margin:0;
		padding:0;
		height:1px;
		width:100%;
	}
	div.global__navigation--compact i{
		
	}
}
/*モバイル用*/
@media screen and (max-width: 768px){
	div.global__navigation--compact nav{
		width:100%;
		height:100%;
		margin:0;
		padding:0;
		line-height:40px;
		overflow:auto;
  		overflow-y: auto;
  		-webkit-overflow-scrolling: touch;
		transition: all 0.3s ease-in-out;
		position:fixed;
		z-index:2;
		top:0;
		right:-100%;
		background:var(--mbnav-bg);
	}
	
	#OPEN:checked ~ nav{
		width:100%;
		height:100%;
		position:fixed;
		top:0;
		right:0;
	}
	
	div.global__navigation--compact ul.menu{
		margin:0;
		padding:0;
		width:auto;
		height:auto;
		list-style:none;
	}
	
	div.global__navigation--compact ul.menu li{
		margin:0;
		padding:0;
		width:auto;
		height:auto;
		line-height:40px;
		text-indent:1em;
		cursor:pointer;
		color:var(--mbnav-an);
	}
	div.global__navigation--compact ul.menu li a{
		text-decoration:none;
		color:var(--mbnav-an);
	}
	
	div.global__navigation--compact ul.menu li{
		border-bottom:solid 1px #FFF;
	}
	
	/*-------------子メニュー--------------*/
	div.global__navigation--compact ul.sub-menu{
		margin:0;
		padding:0;
		width:100%;
		height:auto;
		max-height:0px;
		list-style:none;
		white-space:nowrap;
		transition:max-height 0.3s ease-in-out;
		overflow:hidden;
		background:var(--mbsub-bg);
	}

	div.global__navigation--compact ul.menu li:hover ul.sub-menu{
		height:auto;
		max-height:900px;
	}

	div.global__navigation--compact ul.menu li:active ul.sub-menu{
		height:auto;
		max-height:900px;
	}
	

	div.global__navigation--compact ul.menu li:action ul.sub-menu{
		height:auto;
		max-height:900px;
	}
	
	div.global__navigation--compact ul.sub-menu li{
		border-top:dotted 1px #FFF;
		border-bottom:none;
	}
	
	div.global__navigation--compact ul.sub-menu li:last-child{
		border-bottom:none;
	}
	
	div.global__navigation--compact ul.sub-menu li a{
		margin:0;
		padding:0;
		width:100%;
		height:100%;
		display:block;
		text-decoration:none;
		display:block;
		text-indent:2.5em;
		color:var(--mbsub-an);
	}
	
	div.global__navigation--compact ul.sub-menu li a:hover{
	
	}
}

div.global__navigation--compact i~ span{
	display:inline-block;
	margin-left:0.2em;
}

/*ミニナビゲーション*/
.sub__navi--small-01{
	margin:0 0 0 auto;
	padding:0;
	width:fit-content;
}@media screen and (max-width: 768px){
	.sub__navi--small-01{
		display:none;
	}
}
.sub__navi--small-01 ul{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:1em;
	font-size:0.75em;
	line-height:2;
}

.sub__navi--small-01 ul li{
	margin:0;
	padding:0;
	width:auto;
}

.sub__navi--small-01 ul li a{
	display:block;
	margin:0;
	padding:0.25em 0.5em 0.25em 0.5em;
	width:auto;
	height:100%;
	text-decoration:none;
	border-radius:1.2em;
}@media screen and (max-width: 768px){
	.sub__navi--small-01 ul li a{
		border-radius:0;
		display:flex;
		align-items:cernter;
	}
}

.sub__navi--small-01 ul li a:hover{

}

/*カテゴリナビゲーション*/

aside .category ul{
	list-style:none;
	margin:0 0 2rem 0;
	padding:0;
	line-height:2.5em;
}

aside .category ul li{
	border-bottom:dotted 1px #333;
}

aside .category ul li a{
	text-decoration:none;
	display:block;
}

aside .category ul li a::before{
	content:"\0276F";
	margin-right:1em;
}

aside .category ul li a:hover::before{
	content:"\0276F";
	margin-right:1.1em;
}

/*お知らせカテゴリ*/

.Index__news--list ul.menu{
	list-style:none;
	margin:0 0 1em 0;
	padding:0;
}@media screen and (max-width:768px){
	.Index__news--list ul.menu{
		display:flex;
		flex-wrap:wrap;
		gap:0.5em;
		justify-content:start;
	}
}

.Index__news--list ul.menu li{
	margin:0 0 0.5em 0;
	padding:0;
	font-weight:800;
	width:100%;
	height:auto;
	line-height:1.6;
	display:flex;
	filter:drop-shadow(0 0 1px rgba(0,0,0,0.3));
}@media screen and (max-width:768px){
	.Index__news--list ul.menu li{
		margin:0;
		width:fit-content;
		height:auto;
		flex:0 1 48%;
	}
}

.Index__news--list ul.menu li:nth-child(1){
	transform:rotate(0.25deg);
}
.Index__news--list ul.menu li:nth-child(2){
	transform:rotate(-0.25deg);
	border-left:solid 0.5em var(--light-green);
}
.Index__news--list ul.menu li:nth-child(3){
	transform:rotate(0.25deg);
	border-left:solid 0.5em var(--yellow-green);
}
.Index__news--list ul.menu li:nth-child(4){
	transform:rotate(-0.25deg);
	border-left:solid 0.5em var(--general-orange);
}
.Index__news--list ul.menu li:nth-child(5){
	transform:rotate(0.25deg);
	border-left:solid 0.5em var(--general-pink);
}
.Index__news--list ul.menu li:nth-child(6){
	transform:rotate(-0.25deg);
	border-left:solid 0.5em var(--light-pink);
}
.Index__news--list ul.menu li:nth-child(7){
	transform:rotate(0.25deg);
	border-left:solid 0.5em var(--light-blue);
}

.Index__news--list ul.menu li:nth-child(8){
	transform:rotate(0.25deg);
	border-left:solid 0.5em var(--general-green);
}

.Index__news--list ul.menu a{
	border:solid 1px #eee;
	display:block;
	height:100%;
	width:100%;
	margin:0;
	padding:0.25em 0.25em 0.25em 0.5em;
	text-decoration:none;
}

.Index__news--list ul.menu li:hover{
	transform:rotate(-0.5deg);
	filter:drop-shadow(0 0 3px rgba(0,0,0,0.5));
}
.Index__news--list ul.menu li:nth-child(even):hover{
	transform:rotate(0.5deg);
}


/*戻るボタン*/

.bottom__btn--back{
	border: none;
	cursor: pointer;
	outline: none;
	margin:2rem auto 0 auto;
	padding:0.5em 1em 0.5em 1em;
	appearance: none;
	display:flex;
	justify-content:space-between;
	align-items:center;
	font-size:0.8em;
	color:#FFF;
	line-height:1.8;
	background:var(--main-color);
	border-radius:0.25em;
}

.bottom__btn--back::before{
	display:block;
	margin:0 1em 0 0;
	padding:0 0.5em 0 0;
	content:"\276E";
	color:#FFF;
	width:auto;
	height:100%;
	border-right:dashed 1px #FFF;
	text-align:left;
}

.bottom__btn--back:hover{
	filter:drop-shadow(0 0 3px #666);
}


/*footerナビゲーション02*/

div.footer__navi--list{
	margin:0;
	padding:0;
	width:auto;
	height:auto;
	overflow:hidden;
}@media screen and (max-width:768px){
	div.footer__navi--list{
		width:100%;
	}
}

div.footer__navi--list ul{
	margin:0 0 2em 0;
	padding:0;
	width:100%;
	height:auto;
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	gap:1em;
	font-size:0.85em;
}

div.footer__navi--list ul li{
	flex:0 1 calc(25% - 1em);
	margin:0;
	padding:0;
	height:auto;
	background:var(--pcsub-bg);
	border-radius:0.25em;
}@media screen and (max-width:768px){
	div.footer__navi--list ul li{
		flex:0 1 calc(50% - 1em);
	}
}

div.footer__navi--list a{
	margin:0;
	padding:5px;
	display:block;
	text-align:center;
	white-space:nowrap;
	overflow:hidden;
	border-radius:0.5em;
	color:#FFF;
}

div.footer__navi--list a:hover{
	text-decoration:none;
}

@media screen and (max-width:768px){
	div.footer__navi--list{
		/*display:none;*/
	}
}

/*INDEXスクロール*/
.wrap__scroll--button{
  width: 100%;
  height: auto;
  display: flex;
  flex-direction:column;
  align-items: center;
  justify-content: center;
  position:absolute;
  bottom:0.5em;
}

.wrap__scroll--button p{
	margin:0;
	padding:0;
	text-align:center;
}

.wrap__scroll--button .field{
  display: flex;
  align-items: center;
  justify-content: space-around;
  width:180px;
}

.wrap__scroll--button .mouse{
  width: 24px;
  height: 46px;
  background:rgba(255,255,255,0.8);
  border: 1px solid #000;
  border-radius: 16px;
  position: relative;
  overflow:hidden;
  &::before {
    content:"";
    width: 10px;
    height: 10px;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    opacity: 1;
    animation: wheel 2s infinite;
    -webkit-animation: wheel 2s infinite;
  }
}

.wrap__scroll--button .mouse a{
	display:block;
	width:auto;
	height:100%;
	overflow:hidden;
	text-indent:-100em;
	position:relative;
	z-index:2;
}

@keyframes wheel {
  to {
    opacity: 0;
    top: 40px;
  }
}

@-webkit-keyframes wheel {
  to {
    opacity: 0;
    top: 40px;
  }
}

/*ページトップボタン*/
p.up__btn--bottom{
	margin:0;
	padding:0;
	position:fixed;
	bottom:0;
	right:0;
	z-index:120;
	background:var(--upbtn-bg);
}

p.up__btn--bottom a{
	margin:0;
	padding:0;
	width:40px;
	height:40px;
	line-height:42px;
	display:block;
	text-align:center;
	overflow:hidden;
	color:var(--upbtn-an);
}

p.up__btn--bottom a *{
	cursor:pointer;
}


.a__button--right a{
	font-size:0.8em;
	text-decoration:none;
	line-height:1;
	text-align:center;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	margin:0 0 0 auto;
	padding:0.3em 1.5em 0.5em 1.5em;
	width:fit-content;
	height:auto;	
	border-radius:1.25em;
}

.a__button--right a:hover{

}