@charset "utf-8";


/*
// header
///////////////////////////////////////////////////////////////*/
header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	line-height: 1;
}
.header__logo{
	background-color: var(--color-accent);
	border-radius: 0 0 1rem 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200;
}
.header__logo a{
	display: block;
	padding: 1.5rem 2rem;
}
.header__logo a img{
	display: block;
	height: 3rem;
	width: auto;
}
.header__menu{
	padding: 0 2rem;
	position: fixed;
	top: 1.5rem;
	right: 0;
	display: flex;
	gap: 1rem;
}
.header__nav{
	background-color: var(--color-accent-dark);
	color: var(--color-white);
	padding: 0 2rem;
	border-radius: 2rem;
}
.header__nav ul{
	display: flex;
	align-items: center;
	gap: 1.5rem;
}
.header__nav ul li a{
	display: block;
	padding: 1rem 0;
}
.header__nav ul li a:hover{
	color: var(--color-accent);
}
.header__sns .snsList01 a{
	background-color: var(--color-accent-dark);
}
@media all and (min-width:0px) and (max-width:960px) {
	.header__logo a{
		display: block;
		padding: 4vw;
	}
	.header__logo a img{
		display: block;
		height: 8vw;
		width: auto;
	}
}

@media all and (min-width:961px)  {
}


/*
// hamburger
///////////////////////////////////////////////////////////////*/

#hamburger__button{
	position: fixed;
	width: 16vw;
	height: 16vw;
	top: 0;
	right: 0;
	z-index: 200;
	background-color: var(--color-accent);
	border-radius: 0 0  0 1rem ;
}
#hamburger__button span{
	position: absolute;
	left: 3vw;
	top: calc(50% - 1px);
	width: 10vw;
	height: 2px;
	background-color: var(--color-text);
	display: block;
	transition: 0.3s;
}
#hamburger__button span:nth-child(1){
	transform: translateY(-0.75rem);
}
#hamburger__button span:nth-child(3){
	transform: translateY(0.75rem);
}
#hamburger__button.is-open span:nth-child(1){
	transform: rotate(-45deg);
}
#hamburger__button.is-open span:nth-child(2){
	opacity: 0;
}
#hamburger__button.is-open span:nth-child(3){
	transform: rotate(45deg);
}
#hamburger__content{
	position: fixed;
	top: 0;
	z-index: 150;
	width: 100dvw;
	max-height: 100dvh;
	overflow-y: auto;
	background-color: var(--color-accent);
	padding: 20vw 6vw;
	overflow-y: auto;
}
#hamburger__content .hamburgerContent__block + .hamburgerContent__block{
	margin-top: 2rem;
}
#hamburger__content #hamburgerMenu--primary li{
	font-size: 1.1rem;
	border-bottom: 1px solid var(--color-text);
}
#hamburger__content #hamburgerMenu--primary li + li{
}
#hamburger__content #hamburgerMenu--primary li a{
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 0;
}
#hamburger__content #hamburgerMenu--primary li a::before{
	content: '';
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 4px;
	background-color: var(--color-red);
}
#hamburger__content #hamburgerMenu--secondary{
	opacity: 0.75;
}
#hamburger__content #hamburgerMenu--secondary li + li{
	margin-top: 1rem;
}
#hamburger__bg{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	height: 0;
	width: 100%;
	background-color: var(--color-text);
	opacity: 0.75;
	transition: 0.3s;
}
#hamburger__bg.is-open{
	height: 100%;
}


/*
// main
///////////////////////////////////////////////////////////////*/
main{
	position: relative;
	overflow: hidden;
}
@media all and (min-width:0px) and (max-width:960px) {
}


/*
// section
///////////////////////////////////////////////////////////////*/
section{
	padding: 8rem 0;
	position: relative;
}
.section__heading + .section__content{
	margin-top: 1.5rem;
}
.section__heading .kana{
	letter-spacing: 0.5em;
	text-indent: 0.5em;
	line-height: 1;
	text-align: center;
	font-weight: 900;
}
.section__heading .kana + h2{
	margin-top: 0.5rem;
}
.section__heading h2{
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: 0.25em;
	text-indent: 0.25em;
	color: var(--color-white);
	text-align: center;
	line-height: 1;
}
@media all and (min-width:0px) and (max-width:960px) {
	section{
		padding: 4rem 0;
	}
}



/*
// mv
///////////////////////////////////////////////////////////////*/
#mv{
	height: 75vh;
	width: 100%;
	position: relative;
	padding: 0;
}
#mv::after{
	position: absolute;
	bottom: -1.5rem;
	left: 0;
	content: '';
	width: 100%;
	height: 3rem;
	background: url('../images/line_stone01.png') no-repeat center/ cover;
	z-index: 10;
}
#mv .mv__bg{
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}
#mv .mv__bg::before{
	width: 100%;
	height: 100%;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(241,171,63, 0.25) 100%);
	z-index: 1;
}
#mv .mv__bg .slick-list,
#mv .mv__bg .slick-track,
#mv .mvBg__item{
	height: 100%;
}
#mv .mvBg__item img{
	height: 100%;
	object-fit: cover;
	object-position: bottom;
}
#mv .mv__catch{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 25rem;
	height: auto;
	z-index: 2;
}
@media all and (min-width:0px) and (max-width:960px) {
	#mv{
		height: 60vh;
	}
	#mv .mv__catch{
		width: 60vw;
	}
}




/*
// homeAbout
///////////////////////////////////////////////////////////////*/
#homeAbout::after{
	content: '';
	width: 40vw;
	height: 40vh;
	background: url('../images/logo_03.png') right bottom/contain no-repeat;
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	opacity: 0.3;
	mix-blend-mode: overlay;
}
.homeAbout__date{
	font-size: 4rem;
	font-family: var(--font-gravitas);
	line-height: 1;
}
.homeAbout__date span{
	font-size: 1.5rem;
}
.homeAbout__note{
	margin-top: 1.5rem;
	font-weight: 900;
	font-size: 2rem;
	letter-spacing: 0.5em;
	line-height: 1;
}
.homeAbout__lead{
	margin-top: 2rem;
	font-weight: 700;
	letter-spacing: 0.2em;
}
@media all and (min-width:0px) and (max-width:960px) {
	.homeAbout__lead{
		letter-spacing: 0.1em;
	}
}

/*
// homeGallery
///////////////////////////////////////////////////////////////*/
#homeGallery{
	padding: 1rem 0;
}
.homeGallery__list{
	display: flex;
}
.homeGallery__list li{
	width: 30vw;
	height: auto;
	aspect-ratio: 3/2;
	border-radius: 1rem;
	overflow: hidden;
	margin-right: 1rem;
}
.homeGallery__list li img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.homeGallery__block + .homeGallery__block{
	margin-top: 1rem;
}

@media all and (min-width:0px) and (max-width:960px) {
	.homeGallery__list li{
		width: 60vw;
		border-radius: 0.5rem;
	}
}


/*
// homeNews
///////////////////////////////////////////////////////////////*/
#homeNews{
	padding-left: 6vw;
	padding-right: 6vw;
}
.homeNews__wrapper{
	background: url('../images/bg_yuge01.png') var(--color-accent) ;
	border-radius: 1rem;
	padding: 4rem 0;
}
#homeNews .section__heading{
	font-size: 1.5rem;
}
@media all and (min-width:0px) and (max-width:960px) {
	#homeNews{
		padding-left: 4vw;
		padding-right: 4vw;
	}
	.homeNews__wrapper{
		padding: 8vw 0;
	}
}



/*
// homeLink
///////////////////////////////////////////////////////////////*/
#homeLink{
	padding-top: 0;
	padding-bottom: 0;
}
@media all and (min-width:961px) {
	#homeLink .inner{
		width: 100%;
		padding: 0 6vw;
	}
}



/*
// pageHeading / pageContent
///////////////////////////////////////////////////////////////*/
#pageHeading{
	background: url('../images/bg_yuge01.png') var(--color-accent) ;
}
#pageHeading::after{
	content: '';
	width: 4rem;
	height: 4rem;
	background: url('../images/icon_orange01.png') center/contain no-repeat;
	position: absolute;
	bottom: -2rem;
	left: calc(50% - 2rem);
	z-index: 1;
}
#pageContent .section__heading h2{
	letter-spacing: 0;
	text-indent: 0;
	color: var(--color-text);
	text-align: left;
	font-weight: 400;
}
#pageContent .sectionHeading__meta{
	margin-top: 1rem;
	opacity: 0.5;
}
#pageContent .section__heading + .section__content{
	padding-top: 3rem;
	margin-top: 2rem;
	border-top: 1px var(--color-accent-dark) dotted;
}
#pageFooter{
	padding: 0;
}
@media all and (min-width:0px) and (max-width:960px) {
	#pageHeading{
		padding: 8rem 0;
	}
	#pageHeading::after{
		width: 3rem;
		height: 3rem;
		bottom: -1.5rem;
		left: calc(50% - 1.5rem);
	}
	#pageHeading + #pageContent{
		margin-top: 1.5rem;
	}
}

/*
// breadcrumb
///////////////////////////////////////////////////////////////*/
#breadcrumb{
	padding: 0 0 1.5rem 0;
	/* border-bottom: 1px solid var(--color-accent-dark); */
}
#breadcrumb .inner{
	padding: 0 6vw;
	width: 100%;
}
#breadcrumb ul{
	display: flex;
	color: var(--color-accent-dark);
	line-height: 1;
}
#breadcrumb ul li + li::before{
	content: '/';
	opacity: 0.5;
	margin: 0 0.5rem;
}
#breadcrumb ul li a img{
	width: auto;
	display: block;
	height: 1rem;
}

/*
// footer
///////////////////////////////////////////////////////////////*/
footer{
	background-color: var(--color-bg02);
}

/*
// footerWave
///////////////////////////////////////////////////////////////*/
#footerWave{
	background-color: var(--color-bg);
	padding-bottom: 0;
}

/*
// footerCatch
///////////////////////////////////////////////////////////////*/
#footerCatch img{
	display: block;
	width: 20vw;
	height: auto;
	margin: auto;
}

@media all and (min-width:0px) and (max-width:960px) {
	#footerCatch img{
		width: 40vw;
	}
}

/*
// footerMenu
///////////////////////////////////////////////////////////////*/
#footerMenu{
	background-color: var(--color-accent-dark);
	padding: 4rem 0 3rem;
	margin-top: 1.5rem;
}

#footerMenu::before{
	position: absolute;
	top: -1.5rem;
	left: 0;
	content: '';
	width: 100%;
	height: 3rem;
	background: url('../images/line_stone01.png') no-repeat center/ cover;
	z-index: 10;
}

#footerMenu *{
	color: var(--color-white);
}
#footerMenu .inner{
	display: flex;
	justify-content: space-between;
}
#footerMenu__logo{
	width: 200px;
}
#footerMenu__list{
	display: flex;
	gap: 3rem;
}
.footerMenu__block--primary{
	font-size: 1.1rem;
}
#footerMenu__list a:hover{
	text-decoration: underline;
}
@media all and (min-width:0px) and (max-width:960px) {
	#footerMenu .inner{
		display: block;
	}
	#footerMenu__logo{
		width: 40vw;
		margin: auto;
	}
	#footerMenu__list{
		margin-top: 2rem;
		justify-content: center;
	}
}

/*
// footerOrganization
///////////////////////////////////////////////////////////////*/
#footerOrganization{
	padding: 2rem 0 2rem;
	background-color: var(--color-white);
}
#footerOrganization table{
	width: 100%;
}
#footerOrganization table tr th,
#footerOrganization table tr td{
	padding: 0.5rem 1rem;
}
#footerOrganization table tr th{
	padding-left: 0;
}
#footerOrganization table tr td{
	padding-right: 0;
}
#footerOrganization__copy{
	margin-top: 2rem;
	text-align: center;
	font-size: 0.9rem;
	opacity: 0.75;
}
@media all and (min-width:0px) and (max-width:960px) {
	#footerOrganization{
		font-size: 0.9rem;
	}
	#footerOrganization table tr th,
	#footerOrganization table tr td{
		display: block;
		padding-left: 0;
		padding-right: 0;
	}
	#footerOrganization table tr{
		border-bottom: 1px dashed var(--color-border);
	}
	#footerOrganization table tr th{
		padding-bottom: 0;
		padding-top: 1rem;
	}
	#footerOrganization table tr td{
		padding-bottom: 1rem;
	}
}