@charset "utf-8";

:root {
--color-primary: #aacc03;
--color-taishin: linear-gradient(to right,#faed00,#aacc03);
--color-taikyu: linear-gradient(to right,#7fccec,#aacc03);
--color-dannetsu: linear-gradient(to right,#f9be00,#aacc03);
--color-taika: linear-gradient(to right,#f4b0a9,#aacc03);
--color-shaon: linear-gradient(to right,#caa3ca,#aacc03);
--color-kukan: linear-gradient(to right,#e6ebee,#aacc03);
--color-kankyou: linear-gradient(to right,#0dac67,#aacc03);
}

.Koburina-Gothic-W3 {
font-family: "Koburina Gothic W3 JIS2004";
font-weight: 400;
font-style: normal;
}
.Koburina-Gothic-W6 {
font-family: "Koburina Gothic W6 JIS2004";
font-weight: 400;
font-style: normal;
}
.zen-old-mincho-regular {
font-family: "Zen Old Mincho", serif;
font-weight: 400;
font-style: normal;
}
.zen-kaku-gothic-new-regular {
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
font-style: normal;
}

.js-more-panel,
#pageBody .js-accordion .panel {
transition: max-height 0.3s ease-in-out;
max-height: 0;
overflow: hidden;
}
.js-more-panel {
margin: 0 -1.333vw;
padding: 0 1.333vw;
}
.js-more-panel.active {
margin: 0 -1.333vw -1.333vw -1.333vw;
padding: 0 1.333vw 1.333vw 1.333vw;
}
@media (max-width: 767px) {
	.js-accordion .panel {
	transition: max-height 0.3s ease-in-out;
	max-height: 0;
	overflow: hidden;
	}
	#navigation .panel {
	transition: height 0.3s ease-in-out;
	height: 0;
	overflow: hidden;
	}
	#navigation .active + .panel {
	height: 100vh;
	overflow: auto;
	}
}

.revealFromBottom {
opacity: 0;
transform: translateY(50px);
}
.revealFromRight {
opacity: 0;
transform: translateX(50px);
}
.revealFromTop {
opacity: 0;
transform: translateY(-50px);
}
.revealFromLeft {
opacity: 0;
transform: translateX(-50px);
}
.revealNow {
opacity: 0;
}
.revealFromBottom.initView,
.revealFromRight.initView,
.revealFromTop.initView,
.revealFromLeft.initView,
.revealNow.initView {
transition: opacity 0.7s ease, transform 0.7s ease;
}
.revealFromBottom.activeView,
.revealFromRight.activeView,
.revealFromTop.activeView,
.revealFromLeft.activeView,
.revealNow.activeView {
opacity: 1;
transform: translate(0,0);
}

#EXPLAN h2 .cls-1 {
opacity: 0;
}
#EXPLAN h2.initView .cls-1 {
transition: opacity 0.7s ease, transform 0.7s ease;
}
#EXPLAN h2.activeView .cls-1 {
opacity: 1;
transform: translate(0,0);
}
#EXPLAN h2.activeView .cls-1:nth-of-type(1) {transition-delay: 0s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(2) {transition-delay: 0.1s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(3) {transition-delay: 0.2s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(4) {transition-delay: 0.3s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(5) {transition-delay: 0.4s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(6) {transition-delay: 0.5s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(7) {transition-delay: 0.6s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(8) {transition-delay: 0.7s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(9) {transition-delay: 0.8s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(10) {transition-delay: 0.9s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(11) {transition-delay: 1.0s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(12) {transition-delay: 1.1s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(13) {transition-delay: 1.2s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(14) {transition-delay: 1.3s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(15) {transition-delay: 1.4s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(16) {transition-delay: 1.5s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(17) {transition-delay: 1.6s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(18) {transition-delay: 1.7s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(19) {transition-delay: 1.8s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(20) {transition-delay: 1.9s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(21) {transition-delay: 2.0s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(22) {transition-delay: 2.1s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(23) {transition-delay: 2.2s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(24) {transition-delay: 2.3s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(25) {transition-delay: 2.4s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(26) {transition-delay: 2.5s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(27) {transition-delay: 2.6s;}
#EXPLAN h2.activeView .cls-1:nth-of-type(28) {transition-delay: 2.7s;}

/* COMMON */
body {
font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
font-weight: 400;
font-family: "Koburina Gothic W6 JIS2004";
margin: 0;
padding: 0;
font-size: 3.733vw;
line-height: 1.36;
color: #000;
letter-spacing: 0.08em;
}
@media (min-width: 768px) {
	body {
	min-width: 1200px;
	font-size: 16px;
	color: #000;
	}
}

a:link,
a:active,
a:visited { 
color: #000;
text-decoration: underline;
text-underline-offset: 0.8vw;
}
a:hover { 
color: #000;
text-decoration: none;
}
ul,
ol {
list-style: none;
}
img {
display: block;
max-width: 100%;
}
.sp {display: inherit;}
.pc {display: none;}
@media (min-width: 768px) {
	.sp {display: none;}
	.pc {display: inherit;}
}

/* HEADER */
#header {
text-align: center;
height: 12.077vw;
}
#header .sfc {
position: relative;
margin: 0 auto;
border-top: solid 2px #008d53;
padding-top: 4.348vw;
width: 31.401vw;
z-index: 9;
}
#header .sfc img {
width: 31.401vw;
height: 3.623vw;
}
@media (min-width: 768px) {
	#header {
	text-align: center;
	height: 50px;
	}
	#header .sfc {
	position: relative;
	margin: 0 auto;
	border-top: solid 2px #008d53;
	padding-top: 18px;
	width: 130px;
	z-index: 9;
	}
	#header .sfc img {
	width: 130px;
	height: 15px;
	}
}

@media (max-width: 767px) {
	#navigation {
	position: sticky;
	left: 0;
	top: 0;
	width: 100%;
	height: 0;
	z-index: 8;
	}
	#navigation .trigger {
	position: absolute;
	right: 0;
	top: 0;
	background-color: #000;
	width: 8vw;
	height: 8vw;
	}
	#navigation .trigger span {
	transition: background-color 0.3s ease, transform 0.3s ease;
	position: absolute;
	left: 1.333vw;
	width: 5.333vw;
	height: 0.533vw;
	background-color: #fff;
	}
	#navigation .trigger.active span {
	background-color: #fff;
	}
	#navigation .trigger span:nth-of-type(1) {
	top: 1.867vw;
	}
	#navigation .trigger span:nth-of-type(2) {
	top: 3.733vw;
	}
	#navigation .trigger span:nth-of-type(3) {
	top: 5.6vw;
	}
	#navigation .trigger.active span:nth-of-type(1) {
	transform: translateY(1.866vw) rotate(-45deg);
	}
	#navigation .trigger.active span:nth-of-type(2) {
	opacity: 0;
	}
	#navigation .trigger.active span:nth-of-type(3) {
	transform: translateY(-1.866vw) rotate(45deg);
	}
	#navigation .panel {
	background: #e6ebee;
	}
	#navigation .global {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5.867vw 4vw;
	margin: 0 auto;
	padding-top: 12vw;
	width: 83.2vw;
	}
	#navigation .global img {
	box-shadow: 2px 2px 0px #798764;
	border-radius: 1.333vw;
	width: 38.667vw;
	height: 17.333vw;
	}
	#navigation .link {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5.867vw 4vw;
	margin-top: 10.667vw;
	padding-bottom: 12vw;
	}
	#navigation .link li {
	font-size: 4.533vw;
	font-weight: 700;
	}
	#navigation .link li a {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	gap: 0.5em;
	align-items: center;
	border: solid 1px #000;
	width: 60.267vw;
	height: 11.2vw;
	text-decoration: none;
	}
	#navigation .link li a::after {
	transform: rotate(45deg);
	content: '';
	display: inline-block;
	vertical-align: middle;
	color: #000;
	line-height: 1;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	width: 0.5em;
	height: 0.5em;
	}
}
@media (min-width: 768px) {
	#navigation {
	position: sticky;
	left: 0;
	top: 0;
	background-color: #e6ebee;
	width: 100%;
	height: 170px;
	z-index: 8;
	}
	#navigation .panel {
	position: relative;
	margin: 0 auto;
	padding-top: 25px;
	width: 1100px;
	}
	#navigation .global {
	display: flex;
	flex-wrap: wrap;
	gap: 15px 10px;
	}
	#navigation .global li {
	overflow: hidden;
	border-radius: 5px;
	width: 175px;
	height: 52px;
	}
	#navigation .global img {
	width: 175px;
	height: 52px;
	}
	#navigation .global a {
	transition: background 0.3s ease-in-out;
	display: block;
	background: rgba(255,255,255,1);
	}
	#navigation .global a.active,
	#navigation .global a:hover {
	background: rgba(255,255,255,0);
	}
	#navigation .global .top {
	background-color: #ccc;
	}
	#navigation .global .what {
	background-color: var(--color-primary);
	}
	#navigation .global .taishin {
	background: var(--color-taishin);
	}
	#navigation .global .taikyu {
	background: var(--color-taikyu);
	}
	#navigation .global .dannetsu {
	background: var(--color-dannetsu);
	}
	#navigation .global .taika {
	background: var(--color-taika);
	}
	#navigation .global .shaon {
	background: var(--color-shaon);
	}
	#navigation .global .kukan {
	background: var(--color-kukan);
	}
	#navigation .global .kankyou {
	background: var(--color-kankyou);
	}
	#navigation .link {
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: 545px
	}
	#navigation .link li {
	flex: 1;
	font-size: 20px;
	font-weight: 700;
	}
	#navigation .link li a {
	transition: background-color 0.3s ease, color 0.3s ease;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	gap: 0.5em;
	align-items: center;
	border: solid 1px #000;
	width: 100%;
	height: 52px;
	text-decoration: none;
	color: #000;
	}
	#navigation .link li a:hover {
	background-color: #000;
	color: #fff;
	}
	#navigation .link li a::after {
	transition: border 0.3s ease;
	transform: rotate(45deg);
	content: '';
	display: inline-block;
	vertical-align: middle;
	color: #000;
	line-height: 1;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	width: 0.5em;
	height: 0.5em;
	}
	#navigation .link li a:hover::after {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	}
}

#pageBody {
background-color: #e6ebee;
overflow: hidden;
color: #000;
}
@media (min-width: 768px) {
	#pageBody {
	overflow: hidden;
	text-align: left;
	}
	#contents {
	box-shadow: 6px 6px 0 #798764;
	background-color: #fff;
	margin: 0 auto;
	width: 1100px;
	}
}

#NAVI {}
#NAVI .cont {
padding: 6.4vw 10.667vw 13.333vw 10.667vw;
}
#NAVI .what {
padding: 5.333vw 0 10.667vw 0;
}
#NAVI .what figure {
margin: 0;
padding: 0;
}
#NAVI .what figcaption {
margin-bottom: 3.2vw;
font-size: 5.067vw;
text-align: center;
}
#NAVI p {
font-size: 4.533vw;
}
#NAVI h2 {
margin: 3.467vw 0 6.667vw 0;
width: 67.467vw;
}
#NAVI ul {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4.533vw 8.533vw;
align-items: flex-end;
}
@media screen and (min-width: 768px) {
	#NAVI .cont {
	margin: 0 auto;
	padding: 90px 0 95px 0;
	width: 1020px;
	}
	#NAVI .what {
	padding: 0 0 80px 0;
	}
	#NAVI .what figure {
	margin: 0;
	padding: 0;
	}
	#NAVI .what figcaption {
	margin-bottom: 25px;
	font-size: 36px;
	text-align: left;
	}
	#NAVI p {
	font-size: 36px;
	}
	#NAVI h2 {
	margin: 20px 0 85px 0;
	width: 520px;
	}
	#NAVI ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 65px 60px;
	align-items: flex-end;
	}
	#NAVI ul > li:last-child {
	grid-column: span 2;
	}
	#NAVI a {
	transition: opacity 0.7s ease;
	}
	#NAVI a:hover {
	opacity: 0.7;
	}
}

#CATALOG {
display: flex;
justify-content: center;
align-items: center;
background-color: var(--color-primary);
}
#CATALOG .cont {
margin: 0 auto;
padding: 9.333vw 0 12vw 0;
}
#CATALOG h2 {
margin-bottom: 1.333vw;
font-size: 5.6vw;
}
#CATALOG p {
font-family: "Koburina Gothic W3 JIS2004";
font-size: 3.733vw;
line-height: 1.9;
}
#CATALOG .image {
filter: drop-shadow(0.533vw 0.533vw 0.533vw rgba(0,0,0,0.3));
margin: 5.333vw auto 6.667vw auto;
width: 39.467vw;
}
#CATALOG .link {
margin: 0 auto;
width: 61.333vw;
height: 12vw;
font-family: "Koburina Gothic W6 JIS2004";
font-size: 4.533vw;
}
#CATALOG .link a {
box-sizing: border-box;
position: relative;
display: flex;
justify-content: center;
align-items: center;
border: solid 1px #000;
width: 61.333vw;
height: 12vw;
text-decoration: none;
}
#CATALOG .link a::after {
transform: translateY(-50%) rotate(45deg);
content: '';
position: absolute;
right: 9.333vw;
top: 50%;
display: inline-block;
vertical-align: middle;
color: #000;
line-height: 1;
border-top: 1px solid #000;
border-right: 1px solid #000;
width: 0.5em;
height: 0.5em;
}
@media screen and (min-width: 768px) {
	#CATALOG .cont {
	position: relative;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 80px 0 95px 0;
	width: 840px;
	min-height: 500px;
	}
	#CATALOG h2 {
	padding-top: 30px;
	margin-bottom: 10px;
	font-size: 42px;
	}
	#CATALOG p {
	margin-bottom: 50px;
	font-family: "Koburina Gothic W6 JIS2004";
	font-size: 18px;
	line-height: 2.22;
	}
	#CATALOG .image {
	position: absolute;
	right: 0;
	top: 80px;
	filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.3));
	margin: 0;
	width: 240px;
	}
	#CATALOG .link {
	margin: 0;
	width: 315px;
	height: 58px;
	font-size: 24px;
	}
	#CATALOG .link a {
	transition: background-color 0.3s ease, color 0.3s ease;
	width: 315px;
	height: 58px;
	color: #000;
	}
	#CATALOG .link a:hover {
	background-color: #000;
	color: #fff;
	}
	#CATALOG .link a::after {
	transition: border 0.3s ease;
	right: 70px;
	}
	#CATALOG .link a:hover::after {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	}
}

#breadcrumbNav.breadcrumb {
  background-color: #f5f5f5;
}

@media screen and (max-width: 1023px) {
  #breadcrumbNav.breadcrumb {
    display: none;
  }
}
#breadcrumbNav .breadcrumb__list {
  display: flex;
    max-width: 1310px;
    margin: 0 auto;
    padding: 10px 15px;
  list-style: none;
}

#breadcrumbNav .breadcrumb__item {
  font-size: 12px;
  font-family: "Koburina Gothic W3 JIS2004";
  line-height: 1.9;
  color: #666;
}

#breadcrumbNav .breadcrumb__item + .breadcrumb__item {
  margin-left: 0.5em;
}

#breadcrumbNav .breadcrumb__item + .breadcrumb__item::before {
  content: ">";
  margin-right: 0.5em;
  padding: 0 0.2em;
}

#breadcrumbNav .breadcrumb__link {
  text-decoration: none;
  color: #00603c;
}