@charset "utf-8";

:root {
	--main-color: #243448;
}

:root {
	--sub-color: #95C6FF;
}

:root {
	--bg-color: #383838;
}

:root {
	--text-color: #FFF;
}

body {
	background: var(--bg-color);
}

main {
	color: #FFF;
	background: var(--bg-color);
	position: relative;
}

main#poundcake {
	background: transparent;
}


section {
	width: 100%;
	position: relative;
	overflow: hidden;
	padding: 100px 0;
}

.inner {
	width: 90%;
	max-width: 1030px;
	margin: 0 auto;
	position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.3em;
}

p,
a {
	font-size: 16px;
	font-weight: 400;
	line-height: 2.2;
	letter-spacing: 0.3em;
}

@media (min-width: 768px) and (max-width: 999px) {
	section {
		padding: 10vw 0;
	}

	p,
	a {
		font-size: 1.6vw;
	}
}

@media screen and (max-width: 767px) {
	section {
		padding: 60px 0;
	}

	.inner {
		max-width: 420px;
	}

	p,
	a {
		font-size: 12.5px;
	}
}

/*==================================================================================================*/
/*共通記述*/
.column3 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
}

.column3::after {
	display: block;
	content: "";
	width: 31%;
}

.column3 li {
	width: 31%;
	position: relative;
}

.column3 li img {
	width: 100%;
	margin-bottom: 10px;
}

.column3 li h4 {
	font-size: 18px;
	letter-spacing: 0.36em;
}

.column3 li p {
	font-size: 13px;
}

.column3 li .btn {
	width: 100%;
	margin-top: 15px;
}

.column4 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
}

.column4::before,
.column4::after {
	display: block;
	content: "";
	width: 24.2%;
}

.column4::before {
	order: 1;
}

.column4 li {
	width: 24.2%;
	position: relative;
}

.grid05 {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	column-gap: 20px;
	row-gap: 20px;
}

@media (min-width: 768px) and (max-width: 999px) {
	.column3 li img {
		margin-bottom: 1vw;
	}

	.column3 li h4 {
		font-size: 1.8vw;
	}

	.column3 li p {
		font-size: 1.3vw;
	}
}

@media screen and (max-width: 767px) {
	.column3 li {
		width: 100%;
	}

	.column3 li:not(:last-child) {
		margin-bottom: 40px;
	}

	.column3 li img {
		margin-bottom: 10px;
	}

	.column4 li {
		width: 100%;
		margin-bottom: 0;
	}

	.column4 li:not(:last-child) {
		margin-bottom: 40px;
	}

	.grid05 {
		grid-template-columns: repeat(3, 1fr);
		column-gap: 10px;
		row-gap: 10px;
	}
}

.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 315px;
	height: 60px;
	font-size: 13px;
	line-height: 1;
	text-align: center;
	color: #FFF;
	border: solid 1px #727272;
	background: #DDDDDD;
	background: rgba(0, 0, 0, 0.20);
	margin: 0 auto;
	position: relative;
}

.link::before {
	display: block;
	content: "";
	background: center / contain no-repeat url("../img/icon-link.svg");
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}

.partition {
	width: 100%;
}

@media (min-width: 768px) and (max-width: 999px) {
	.btn {
		width: 31.5vw;
		height: 6vw;
		font-size: 1.3vw;
	}

	.link::before {
		width: 1.6vw;
		height: 1.6vw;
		right: 1.5vw;
	}
}

@media screen and (max-width: 767px) {
	.btn {
		width: 100%;
		height: 60px;
	}

	.link::before {
		width: 16px;
		height: 16px;
		right: 15px;
	}

	.partition {
		height: 240px;
	}
}

/*==================================================================================================*/
/*-*/
header {
	width: 100%;
	height: 70px;
	background: var(--main-color);
	position: fixed;
	top: 0;
	z-index: 10000;
	transition: .5s;
}

header .inner {
	width: 96%;
	max-width: 96%;
	height: 100%;
	flex-direction: row-reverse;
}

header .inner h1 {
	width: 118px;
}

header .inner h1 a {
	display: block;
}

header .inner nav {
	display: flex;
	align-items: center;
	width: 510px;
	position: relative;
	z-index: 10;
}

/*ボタン*/
.openbtn1 {
	width: 74px;
	height: 20px;
	display: flex;
	align-items: center;
	cursor: pointer;
	position: relative;
}

.openbtn1 span:nth-of-type(1),
.openbtn1 span:nth-of-type(2),
.openbtn1 span:nth-of-type(3) {
	display: inline-block;
	transition: all .4s;
	width: 8px;
	height: 1px;
	background: #FFF;
	position: absolute;
	left: 0;
}

.openbtn1 span:nth-of-type(1) {
	top: 6px;
}

.openbtn1 span:nth-of-type(2) {
	top: 10px;
}

.openbtn1 span:nth-of-type(3) {
	top: 14px;
}

.openbtn1::after {
	display: inline-block;
	content: "MENU";
	width: fit-content;
	font-family: "Hiragino Kaku Gothic ProN";
	font-size: 13px;
	line-height: 1;
	letter-spacing: 0;
	color: #FFF;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}

.pcNav .openbtn1 span:nth-of-type(1),
.pcNav .openbtn1 span:nth-of-type(3) {
	width: 12px;
}

.pcNav .openbtn1 span:nth-of-type(1) {
	top: 10px;
	transform: rotate(-55deg);
}

.pcNav .openbtn1 span:nth-of-type(2) {
	opacity: 0;
}

.pcNav .openbtn1 span:nth-of-type(3) {
	top: 10px;
	transform: rotate(55deg);
}

.pcNav .openbtn1::after {
	content: "close";
	right: 17px;
}

.menu {
	width: fit-content;
	transition: .5s;
}

.menu li {
	display: flex;
	width: fit-content;
}

.menu li a {
	font-family: "Hiragino Kaku Gothic ProN";
	font-size: 13px;
	line-height: 1;
	letter-spacing: 0;
	color: #FFF;
	padding: 3px 18px;
	border-left: solid 1px #FFF;
}

.pcNav .menu {
	opacity: 0;
}

@media screen and (max-width: 767px) {
	header .inner {
		width: 92%;
		max-width: 92%;
	}

	header .inner nav {
		width: fit-content;
	}

	.menu {
		display: none;
	}
}

.mainNav {
	width: 100%;
	height: 100dvh;
	background: var(--main-color);
	position: fixed;
	top: -100dvh;
	left: 0;
	z-index: 1;
	transition: .5s;
}

.pcNav .mainNav {
	top: 0;
}

.mainNav .inner {
	flex-direction: inherit;
	width: 90%;
	max-width: 944px;
	height: auto;
}

.mainNav h2 {
	width: fit-content;
}

.mainNav h2 a {
	display: block;
	width: 163px;
}

.navContent {
	width: 581px;
}

.navContent li {
	width: fit-content;
}

.navContent li h5 {
	font-size: 12px;
	color: #5B5B5B;
	margin-bottom: 20px;
}

.navContent li a {
	display: block;
	font-size: 13px;
	letter-spacing: 0.2em;
	color: #FFF;
	margin-bottom: 10px;
}

.navContent li a:hover {
	opacity: .7;
}

.navContent li a.link {
	position: relative;
}

.navContent li a.link::before {
	display: block;
	content: "";
	background: center / contain no-repeat url(../img/icon-link.svg);
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	left: 130px;
	transform: translateY(-50%);
}

a.instagram {
	padding-left: 25px;
	position: relative;
}

a.instagram::before {
	display: block;
	content: "";
	background: center / contain no-repeat url("../img/icon-instagram.svg");
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

@media screen and (max-width: 900px) {
	.mainNav .inner {
		width: 90%;
		max-width: 581px;
		height: 100%;
		align-content: flex-start;
		padding-top: 100px;
	}

	.mainNav h2 {
		width: 100%;
		margin-bottom: 40px;
	}
}

@media screen and (max-width: 520px) {
	.pcNav .mainNav {
		overflow: scroll;
	}

	.mainNav h2 {
		margin-bottom: 20px;
	}

	.mainNav h2 a {
		width: 120px;
	}

	.navContent li h5,
	.navContent li a {
		margin-bottom: 5px;
	}

	.navContent li {
		width: 100%;
		margin-bottom: 20px;
	}
}

/*==================================================================================================*/
/*fv-*/
.mySlides {
	display: none;
}

.mySlides img {
	width: 100%;
	height: auto;
	display: block;
}

.slideshow-container .slide {
	height: 100%;
	position: absolute;
	top: 0;
	object-fit: cover;
	opacity: 0;
	transition: opacity 2.5s ease-in-out;
}

.slideshow-container .slide.active {
	opacity: 1;
}

/* 霧や靄を表現するためのCanvas */


.fv .inner h3 img {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 1.5s ease-in-out, transform 1.5s ease-in-out;
}

.fv .inner h3 img.active {
	opacity: 1;
	transform: translateY(0);
}


#mist-canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	pointer-events: none;
	mix-blend-mode: soft-light;
}

.fv {
	height: 100dvh;
	position: fixed;
	top: 0;
}

.fv .inner {
	width: 96%;
	max-width: 96%;
	height: 94vh;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.fv .inner h2 {
	width: 102px;
	height: 168px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.fv .inner h2 img {
	width: 100%;
}

.fv .inner h3 {
	width: 600px;
	height: 160px;
	position: absolute;
	bottom: 0;
	left: 0;
}

.fv .inner h3 img {
	height: 160px;
	position: absolute;
	width: 600px;
	top: 0;
}

@media screen and (max-width: 520px) {

	.fv {}

}

.fv+span {
	display: block;
	content: "";
	width: 100%;
	height: 100vh;
}

.pickup {
	display: block;
	width: 134px;
	position: absolute;
	bottom: 120px;
	right: 3%;
	z-index: 100;
}

.pickup img {
	width: 100%;
}

.pickupPost {
	width: 269px;
	height: 67px;
	background: var(--bg-color);
	position: fixed;
	bottom: 40px;
	right: 3%;
	z-index: 10;
}

.pickupPost a {
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #FFF;
}

.pickupPost img {
	width: 77px;
	aspect-ratio: 5.75 / 5;
}

.pickupPost div {
	width: calc(100% - 87px);
	padding-right: 7px;
}

.pickupPost div h4 {
	font-size: 11px;
	line-height: 1;
	margin-bottom: 5px;
}

.pickupPost div p {
	font-size: 10px;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
}

@media screen and (max-width: 767px) {
	.pickup {
		bottom: 20px;
	}

	main {
		padding-top: 20px;
	}

	.pickupPost {
		width: 90%;
		max-width: 420px;
		margin: 0 auto;
		position: relative;
		bottom: 0;
		right: 0;
	}
}

@media screen and (max-width: 520px) {
	.pickup {
		width: 105px;
		bottom: 110px;
		right: 2%;
	}

	.pickupPost {
		margin: 0 auto;
	}

	.fv .inner h3 {
		width: 100%;
		height: 100px;
		position: absolute;
		bottom: 0;
		left: 0;
	}

	.fv .inner h3 img {
		height: 90px;
		position: absolute;
		width: 343px;
		top: 0;
	}


}

body.movement .fv {
	opacity: 0;
}

/*==================================================================================================*/
/*about-*/
.about {
	padding-bottom: 160px;
}

.about h2 {
	font-size: 38px;
	margin-bottom: 120px;
	position: relative;
	z-index: 1;
}

.about h2 span {
	display: block;
	font-size: 10px;
	letter-spacing: 0.25em;
	color: #6E6E6E;
	margin-top: 20px;
}

.about .inner div {
	max-width: 500px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.about .inner p {
	line-height: 3;
	margin-bottom: 80px;
}

.about .inner .btn {
	margin: 0;
}

.about img {
	position: absolute;
}

.about img:nth-child(1) {
	width: 427px;
	top: 0;
	right: -124px;
}

.about img:nth-child(4) {
	width: 268px;
	top: 320px;
	left: -125px;
}

.about img:nth-child(5) {
	width: 365px;
	right: -125px;
	bottom: -20px;
}

@media (min-width: 768px) and (max-width: 999px) {
	.about {
		padding-bottom: 16vw;
	}

	.about h2 {
		font-size: 3.8vw;
		margin-bottom: 12vw;
	}

	.about h2 span {
		font-size: 1vw;
		margin-top: 2vw;
	}

	.about .inner div {
		max-width: 50vw;
	}

	.about .inner .btn {
		margin: 8vw 0 0;
	}

	.about img:nth-child(1) {
		width: 42.7vw;
		right: -12.4vw;
	}

	.about img:nth-child(4) {
		width: 26.8vw;
		top: 32vw;
		left: -12.5vw;
	}

	.about img:nth-child(5) {
		width: 28.5vw;
		right: -12.5vw;
		bottom: -2vw;
	}
}

@media screen and (max-width: 767px) {
	.about {
		padding-top: 20px;
		padding-bottom: 80px;
	}

	.about h2 {
		font-size: 26px;
		line-height: 1.8;
		margin-bottom: 40px;
	}

	.about h2 span {
		margin-top: 5px;
	}

	.about .inner p {
		line-height: 2.6;
		margin-bottom: 40px;
	}

	.about img:nth-child(1) {
		width: 100%;
		aspect-ratio: 2 / 1;
		margin-bottom: 20px;
		position: relative;
		top: 0;
		right: 0;
	}

	.about img:nth-child(4) {
		width: 156px;
		top: 355px;
		left: -80px;
	}

	.about img:nth-child(5) {
		width: 132px;
		right: -50px;
		bottom: 85px;
	}
}

@media screen and (max-width: 375px) {
	.about .inner p {
		font-size: 3.5vw;
	}
}

/*==================================================================================================*/
/*sustainable-*/
.sustainable {
	width: 90%;
	max-width: 958px;
	border: solid 1px #858585;
	background: var(--main-color);
	margin: 0 auto;
	margin-bottom: 110px;
}

.sustainable .inner {
	height: 205px;
}

.sustainable img {
	width: 210px;
	aspect-ratio: 1 / 1;
	position: relative;
	bottom: 35px;
	filter: drop-shadow(0 14px 14px rgba(0, 0, 0, 0.25));
}

.sustainable .inner div {
	width: calc(100% - 260px);
}

.sustainable .inner div p {
	max-width: 560px;
	letter-spacing: 0.35em;
	margin: 0 auto 20px;
	text-align: center;
}

.sustainable .inner div .btn {
	margin: 0 auto 10px;
}

@media screen and (max-width: 1100px) {
	.sustainable .inner div p {
		letter-spacing: 0.3em;
	}
}

@media (min-width: 768px) and (max-width: 999px) {
	.sustainable {
		margin-bottom: 11vw;
	}

	.sustainable .inner {
		height: 20.5vw;
	}

	.sustainable img {
		width: 21vw;
		bottom: 3.5vw;
	}

	.sustainable .inner div {
		width: calc(100% - 26vw);
	}

	.sustainable .inner div p {
		margin-bottom: 2vw;
	}

	.sustainable .inner div .btn {
		margin: 0 0 1vw;
	}
}

@media screen and (max-width: 767px) {
	.sustainable {
		padding-bottom: 20px;
		margin-bottom: 60px;
	}

	.sustainable .inner {
		width: 85%;
		height: auto;
	}

	.sustainable img {
		margin: 0 auto;
	}

	.sustainable .inner div {
		width: 100%;
	}
}

/*==================================================================================================*/
/*coffee-*/
.home .coffee {
	padding: 110px 0;
	background: center / cover no-repeat url("../img/front-partition.jpg");
}

.home .coffee img {
	display: block;
	width: 332px;
	margin: 0 auto;
	margin-bottom: 30px;
}

.coffee h2 {
	font-size: 20px;
	text-align: center;
	margin-bottom: 40px;
}

.coffee h2 span {
	display: block;
	font-size: 10px;
	letter-spacing: 0.3em;
	text-align: center;
}

@media (min-width: 768px) and (max-width: 999px) {
	.coffee {
		padding: 11vw 0;
	}

	.coffee img {
		width: 33.2vw;
		margin-bottom: 3vw;
	}

	.coffee h2 {
		font-size: 2vw;
		margin-bottom: 4vw;
	}

	.coffee h2 span {
		font-size: 1vw;
	}
}

@media screen and (max-width: 767px) {
	.coffee {
		padding: 60px 0;
	}

	.coffee img {
		width: 200px;
	}

	.coffee h2 {
		font-size: 18px;
	}

	.coffee p {
		margin-bottom: 40px;
	}

	.coffee .btn {
		width: 90%;
		max-width: 420px;
	}
}

/*==================================================================================================*/
/*shop-*/
.articleBlock {
	width: 90%;
	max-width: 938px;
	height: 260px;
	border: solid 1px #858585;
	background: var(--main-color);
	margin: 0 auto;
	position: relative;
}

.articleBlock img {
	width: 310px;
	aspect-ratio: 1.2 / 1;
}

.articleBlock div {
	width: calc(100% - 310px);
	padding: 20px 40px;
	text-align: center;
}

.articleBlock h3 {
	font-size: 21px;
}

.articleBlock p {
	font-size: 13px;
	color: #CFCFCF;
	margin-bottom: 10px;
}

.articleBlock span {
	display: block;
	font-size: 10px;
	line-height: 2;
	letter-spacing: 0.3em;
	margin-bottom: 25px;
	color: #A2A2A2;
}

.articleBlock .btn {
	margin: 0 auto;
}

.shop::after {
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	background: #4C4C4C;
	position: relative;
	bottom: -80px;
}

.shop {
	margin-top: 96px;
	margin-bottom: 80px;
}

@media (min-width: 768px) and (max-width: 999px) {
	.articleBlock {
		height: 26vw;
	}

	.articleBlock img {
		width: 31vw;
	}

	.articleBlock div {
		width: calc(100% - 31vw);
		padding: 2vw 4vw;
	}

	.articleBlock h3 {
		font-size: 2.1vw;
	}

	.articleBlock p {
		font-size: 1.3vw;
		margin-bottom: 1vw;
	}

	.articleBlock span {
		font-size: 1vw;
		margin-bottom: 2.5vw;
	}

	.shop::after {
		height: 0.1vw;
		bottom: -8vw;
	}

	.shop {
		margin-top: 9.6vw;
		margin-bottom: 8vw;
	}
}

@media screen and (max-width: 767px) {
	.articleBlock {
		max-width: 420px;
		height: auto;
	}

	.articleBlock img {
		width: 100%;
	}

	.articleBlock div {
		width: 100%;
		padding: 15px 20px;
	}

	.articleBlock h3 {
		font-size: 18px;
		line-height: 1.8;
		margin-bottom: 5px;
	}

	.articleBlock p {
		line-height: 1.8;
	}

	.articleBlock span {
		letter-spacing: 0.2em;
		line-height: 1.8;
	}

	.shop::after {
		display: none;
	}

	.shop {
		margin-top: 40px;
		margin-bottom: 0;
	}
}

/*==================================================================================================*/
/*attention-*/
.attention {
	padding-bottom: 0;
}

.attention .inner {
	max-width: 940px;
}

.attention h2 {
	width: 278px;
}

.attention h2 span {
	display: block;
	font-size: 15px;
	letter-spacing: 0.4em;
	color: #FFF;
	margin-top: 20px;
}

.attention h2+div {
	width: calc(100% - 300px);
	max-width: 602px;
}

.attention p {
	font-size: 14px;
	line-height: 2.6;
	margin-bottom: 20px;
}

.attention ul {
	width: 430px;
}

.attention ul li {
	width: fit-content;
}

.attention ul li a {
	width: fit-content;
	font-size: 14px;
	letter-spacing: 0.2em;
	color: #B3B3B3;
}

@media (min-width: 768px) and (max-width: 999px) {
	.attention h2 {
		width: 27.8vw;
	}

	.attention h2 span {
		font-size: 1.5vw;
		margin-top: 2vw;
	}

	.attention h2+div {
		width: calc(100% - 30vw);
		max-width: 60.2vw;
	}

	.attention p {
		font-size: 1.4vw;
		margin-bottom: 2vw;
	}

	.attention ul {
		width: 43vw;
	}

	.attention ul li a {
		font-size: 1.4vw;
	}
}

@media screen and (max-width: 767px) {
	.attention .inner {
		max-width: 420px;
	}

	.attention h2 {
		width: 278px;
		margin: 0 auto 40px;
	}

	.attention h2 span {
		text-align: center;
	}

	.attention h2+div {
		width: 100%;
	}

	.attention ul {
		width: 100%;
	}

	.attention ul li a {
		font-size: 11px;
	}
}

/*==================================================================================================*/
/*news-*/
.news {
	padding-bottom: 0;
}

.news .inner {
	max-width: 938px;
}

.news h2 {
	font-size: 38px;
}

.news ul li {
	border-bottom: solid 1px #525252;
}

.news ul li:nth-child(1) {
	border-top: solid 1px #FFF;
}

.news ul li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	color: #FFF;
	padding: 20px 0;
}

.news ul li a div {
	width: calc(100% - 100px);
}

.news ul li a div p {
	font-size: 10px;
	line-height: 1;
	margin-bottom: 20px;
}

.news ul li a div h4 {
	font-size: 22px;
	line-height: 1.4;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.news ul li a img {
	width: 87px;
	aspect-ratio: 1.2 / 1;
}

.news .btn {
	margin: 40px 0 0;
}

@media (min-width: 768px) and (max-width: 999px) {
	.news h2 {
		font-size: 3.8vw;
	}

	.news ul li a {
		padding: 2vw 0;
	}

	.news ul li a div {
		width: calc(100% - 10vw);
	}

	.news ul li a div p {
		font-size: 1vw;
		margin-bottom: 2vw;
	}

	.news ul li a div h4 {
		font-size: 2.2vw;
	}

	.news ul li a img {
		width: 8.7vw;
	}

	.news .btn {
		margin: 4vw 0 0;
	}
}

@media screen and (max-width: 767px) {
	.news .inner {
		max-width: 420px;
	}

	.news h2 {
		font-size: 28px;
	}

	.news ul li a div {
		width: 100%;
	}

	.news ul li a div p {
		margin-bottom: 10px;
	}

	.news ul li a div h4 {
		font-size: 18px;
		margin-bottom: 10px;
	}

	.news ul li a img {
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	.news .btn {
		width: 100%;
	}
}

/*==================================================================================================*/
/*linkBox-*/
.linkBox {
	justify-content: center;
}

.linkBox h3 {
	font-size: 27px;
	text-align: center;
	margin-bottom: 40px;
}

.linkBox a {
	display: flex;
	align-content: center;
	flex-wrap: wrap;
	width: 450px;
	height: 120px;
	color: #FFF;
	border: solid 1px #858585;
	position: relative;
	z-index: 1;
}

.linkBox a::before {
	display: block;
	content: "";
	border-top: 118px solid transparent;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.linkBox a:nth-child(2) {
	background: #2A3E57;
}

.linkBox a:nth-child(2)::before {
	border-left: 450px solid var(--main-color);
}

.linkBox a:last-child {
	background: #272727;
	margin-left: 40px;
}

.linkBox a:last-child::before {
	border-left: 450px solid #232323;
}

.linkBox a p {
	font-size: 12px;
	line-height: 1;
	text-align: center;
	margin-bottom: 20px;
}

.linkBox a h4 {
	width: fit-content;
	font-size: 27px;
	line-height: 1;
	position: relative;
	margin: 0 auto;
}

.linkBox a h4::before {
	right: -20px;
}

@media (min-width: 768px) and (max-width: 999px) {
	.linkBox h3 {
		font-size: 2.7vw;
		margin-bottom: 4vw;
	}

	.linkBox a {
		width: 360px;
	}

	.linkBox a:nth-child(2)::before {
		border-left: 360px solid var(--main-color);
	}

	.linkBox a:last-child {
		margin-left: 4vw;
	}

	.linkBox a:last-child::before {
		border-left: 360px solid #232323;
	}

	.linkBox a p {
		font-size: 1.2vw;
		margin-bottom: 2vw;
	}

	.linkBox a h4 {
		font-size: 2.7vw;
	}

	.linkBox a h4::before {
		right: -2vw;
	}
}

@media screen and (max-width: 767px) {
	.linkBox h3 {
		font-size: 22px;
		line-height: 1.6;
		margin-bottom: 20px;
	}

	.linkBox a {
		width: 320px;
	}

	.linkBox a:nth-child(2)::before {
		border-left: 320px solid var(--main-color);
	}

	.linkBox a:last-child::before {
		border-left: 320px solid #232323;
	}

	.linkBox a:last-child {
		margin-top: 20px;
		margin-left: 0;
	}

	.linkBox a p {
		margin-bottom: 10px;
	}

	.linkBox a h4 {
		font-size: 22px;
	}
}

/*==================================================================================================*/
/*footer-*/
footer {
	padding-top: 200px;
	background: var(--main-color);
	position: relative;
}

footer::before {
	display: block;
	content: "";
	width: 100%;
	height: 263px;
	background: linear-gradient(var(--bg-color), var(--main-color));
	position: absolute;
	top: 0;
}

footer .inner {
	max-width: 90%;
}

footer h2 {
	width: fit-content;
	margin-bottom: 20px;
}

footer h2 a {
	width: 163px;
	display: block;
}

footer h2 a:hover {
	opacity: .7;
}

footer h2 img {
	width: 100%;
}

footer .inner ul {
	margin-bottom: 90px;
}

small {
	display: block;
	width: 100%;
	font-size: 10px;
	letter-spacing: 0.2em;
	color: #FFF;
	padding: 20px 0;
}

@media screen and (max-width: 900px) {
	footer h2 {
		width: 100%;
		margin-bottom: 40px;
	}
}

@media screen and (max-width: 767px) {
	footer {
		padding-top: 100px;
	}

	small {
		text-align: center;
	}
}