@charset "UTF-8";

.mainvisual {
	position: relative;
	padding: 120px 0 0;
	height: calc(100svh - 157px);
	min-height: 545px;
	max-height: 700px;
}

.mainvisual__inner {
	width: 88.2278%;
	max-width: 1394px;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	height: 100%;
}

.mainvisual__lead {
	position: relative;
	z-index: 1;
	font-weight: 700;
	font-size: 2.42rem;
	line-height: 2.3678;
	color: #595757;
}

.mainvisual__image {
	position: absolute;
	bottom: 10px;
	left: 19%;
	width: 73%;
	height: 66vh;
}

.mainvisual__image img {
	display: block;
	height: 100%;
	margin-left: auto;
	margin-right: auto;
}

.pickup-news {
	position: relative;
	width: 88.2278%;
	max-width: 1394px;
	margin: 0 auto 50px;
}

.pickup-news__inner {
	display: block;
	background: #FFF;
	padding: 27px 25px 27px 80px;
	text-decoration: none;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.pickup-news__inner[target=_blank] .pickup-news__title::after {
	right: 16.5px;
	-webkit-transform: translate(50%, -50%);
	transform: translate(50%, -50%);
	width: 10px;
	height: 10px;
	-webkit-mask: url(../img/common/icon_ring.svg) no-repeat center center/contain;
	mask: url(../img/common/icon_ring.svg) no-repeat center center/contain;
}

.pickup-news__heading {
	position: absolute;
	top: 50%;
	left: 26px;
	-webkit-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: calc(100% - 54px);
	padding: 0 0.6667em 0.5em;
	border-left: 1px solid currentColor;
	border-right: 1px solid currentColor;
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: 0.36em;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.pickup-news__label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 20px;
	margin-bottom: 1.2rem;
}

.pickup-news__title {
	position: relative;
	padding-right: clamp(5rem, 1.3909774436rem + 4.6992481203vw, 7.5rem);
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.pickup-news__title::before,
.pickup-news__title::after {
	content: "";
	position: absolute;
	top: 50%;
}

.pickup-news__title::before {
	content: "";
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 33px;
	height: 33px;
	border-radius: 50%;
	background: #f4f4f4;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.pickup-news__title::after {
	content: "";
	right: 16.5px;
	-webkit-transform: translate(50%, -50%);
	transform: translate(50%, -50%);
	width: 7px;
	height: 8px;
	-webkit-mask: url(../img/common/icon_arrow.svg) no-repeat center center/contain;
	mask: url(../img/common/icon_arrow.svg) no-repeat center center/contain;
	background: #3eb2b6;
}

.home-about__content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	gap: 20px;
	font-weight: 700;
}

.home-about__head {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	border-top: 1px solid #717071;
	padding-right: clamp(1rem, -1.8872180451rem + 3.7593984962vw, 3rem);
}

.home-about__concept {
	font-size: clamp(4rem, 1.9789473684rem + 2.6315789474vw, 5.4rem);
	line-height: 1.8704;
	color: #595757;
}

.home-about__text {
	width: 60%;
	padding-top: 123px;
	padding-left: clamp(1rem, -4.7744360902rem + 7.5187969925vw, 5rem);
	border-top: 1px solid #717071;
	font-size: 1.6rem;
	line-height: 2.25;
}

.home-about__btns {
	padding-right: clamp(0rem, -6.4962406015rem + 8.4586466165vw, 4.5rem);
}

.home-gallery-wrap {
	position: relative;
	width: 100vw;
	margin: 77px calc(50% - 50vw) 70px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 20px;
	overflow: hidden;
}

.home-gallery {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 20px;
	-webkit-animation: scroll-left 27s infinite linear 0.5s both;
	animation: scroll-left 27s infinite linear 0.5s both;
	will-change: transform;
}

.home-gallery__item {
	aspect-ratio: 1/1;
	border-radius: 15px;
	overflow: hidden;
}

.home-gallery__item img {
	display: block;
	width: 100%;
}

.home-activities {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}

.home-activities__item {
	height: 100%;
}

.home-activities__inner {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 10px;
	height: 100%;
	background: #FFF;
	padding: 27px clamp(2rem, 1.2781954887rem + 0.9398496241vw, 2.5rem) 31px clamp(2rem, -0.1654135338rem + 2.8195488722vw, 3.5rem);
	border: 1px solid #979a9b;
	border-radius: 1.25rem;
	text-decoration: none;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.home-activities__inner::before,
.home-activities__inner::after {
	content: "";
	position: absolute;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.home-activities__inner::before {
	right: 26px;
	bottom: 23px;
	width: 34px;
	height: 34px;
	background: #FFF;
	border: 1px solid #595757;
	border-radius: 50%;
}

.home-activities__inner::after {
	right: 43px;
	bottom: 40px;
	-webkit-transform: translate(50%, 50%);
	transform: translate(50%, 50%);
	width: 9px;
	height: 8px;
	-webkit-mask: url(../img/common/icon_arrow_thin.svg) no-repeat center center/contain;
	mask: url(../img/common/icon_arrow_thin.svg) no-repeat center center/contain;
	background: #595757;
}

.home-activities__main {
	padding-top: 20px;
}

.home-activities__heading {
	margin-bottom: 25px;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.75;
	color: #595757;
}

.home-activities__text {
	font-weight: 500;
	font-size: 1.9rem;
	line-height: 1.6842;
}

.home-activities__image {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 119px;
	height: 119px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	overflow: hidden;
	margin-bottom: 40px;
}

.home-activities__image img {
	display: block;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.home-compass {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.home-compass__heading {
	width: 28.7%;
	padding-right: 1em;
	padding-top: 1.2em;
	font-weight: 700;
	font-size: clamp(3.6rem, 1.7rem + 1.9vw, 4.17rem);
	line-height: 1.6521;
	color: #595757;
}

.home-compass__image {
	width: 26.72%;
	mix-blend-mode: multiply;
}

.home-compass__image img {
	display: block;
}

.home-compass__main {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding-left: 9%;
}

.home-compass__text {
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.875;
}

.home-compass__text p {
	margin-bottom: 1.2em;
}

.home-compass__btns {
	margin-top: 25px;
}

.home-compass2 {
	margin: 80px 0 0;
}

.home-compass2__heading {
	font-weight: 700;
	font-size: 2.2rem;
	letter-spacing: 0.16em;
	color: #595757;
	margin-bottom: 1em;
}

.home-compass2__text {
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.875;
}

.home-archives-wrap {
	position: relative;
}

.home-archives-btn-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100vw;
	max-width: 1230px;
	height: 43px;
	padding: 0 5px;
	z-index: 1;
	pointer-events: none;
}

.home-archives-btn-wrap .swiper-button-prev,
.home-archives-btn-wrap .swiper-button-next {
	width: clamp(3.4rem, 2.1007518797rem + 1.6917293233vw, 4.3rem);
	height: clamp(3.4rem, 2.1007518797rem + 1.6917293233vw, 4.3rem);
	border-radius: 50%;
	border: 1px solid #595757;
	pointer-events: auto;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.home-archives-btn-wrap .swiper-button-prev::after,
.home-archives-btn-wrap .swiper-button-next::after {
	content: "";
	width: 11px;
	height: 10px;
	-webkit-mask: url(../img/common/icon_arrow_thin.svg) no-repeat center center/contain;
	mask: url(../img/common/icon_arrow_thin.svg) no-repeat center center/contain;
	background: #595757;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.home-archives-btn-wrap .swiper-button-prev.swiper-button-disabled,
.home-archives-btn-wrap .swiper-button-next.swiper-button-disabled {
	opacity: 0.4;
	pointer-events: none;
}

.home-archives-btn-wrap .swiper-button-prev {
	left: 5px;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.home-archives-btn-wrap .swiper-button-next {
	right: 5px;
}

.home-archives {
	overflow: hidden;
}

.home-archives__item {
	width: auto;
}

.home-archives__inner {
	position: relative;
	display: block;
	text-decoration: none;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.home-archives__year {
	position: absolute;
	left: 0;
	bottom: 25%;
	background: #FFF;
	padding: 0.7em 1.6em 0.6em 15px;
	font-weight: 700;
	font-size: 1.5rem;
	color: #595757;
}

.home-archives__year::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	width: 12px;
	height: 9px;
	background: #9e9e9f;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	z-index: -1;
}

.home-archives__cat {
	position: absolute;
	left: 0;
	bottom: 8.5%;
	background: #3eb2b6;
	padding: 1.1em 2em 0.9em 15px;
	font-weight: 700;
	font-size: 1.5rem;
	color: #FFF;
}

.home-archives__cat::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	width: 12px;
	height: 9px;
	background: #9e9e9f;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	z-index: -1;
}

.home-archives__image {
	margin-left: 11px;
	height: clamp(30rem, 23.9368421053rem + 7.8947368421vw, 34.2rem);
	aspect-ratio: 229/342;
}

.home-archives__image--2 {
	aspect-ratio: 275/342;
}

.home-archives__image img {
	display: block;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.home-news__btns {
	padding-right: clamp(0rem, -6.4962406015rem + 8.4586466165vw, 4.5rem);
}

.w-xxl {
	width: 404px;
}

.w-xl {
	width: 340px;
}

.w-lg {
	width: 271px;
}

.w-sm {
	width: 148px;
}

@media (hover: hover) {

.pickup-news__inner:hover .pickup-news__title {
	color: #3eb2b6;
}

.pickup-news__inner:hover .pickup-news__title::before {
	-webkit-transform: translateY(-50%) scale(1.15);
	transform: translateY(-50%) scale(1.15);
}

.home-activities__inner:hover::before {
	background: #595757;
}

.home-activities__inner:hover::after {
	background: #FFF;
}

.home-archives-btn-wrap .swiper-button-prev:hover,
.home-archives-btn-wrap .swiper-button-next:hover {
	background: #595757;
}

.home-archives-btn-wrap .swiper-button-prev:hover::after,
.home-archives-btn-wrap .swiper-button-next:hover::after {
	background: #FFF;
}

.home-archives__inner:hover {
	opacity: 0.6;
}

}

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

.mainvisual { /* 1000px以下 */
	padding: 60px 0 0;
	height: calc(100svh - 100px);
	min-height: 0;
	max-height: none;
}

.home-compass__heading { /* 1000px以下 */
	width: 100%;
	margin-bottom: 1em;
}

.home-compass__image { /* 1000px以下 */
	width: 40%;
}

.home-compass__main { /* 1000px以下 */
	width: 60%;
	padding-left: 30px;
}

.home-compass__btns { /* 1000px以下 */
	margin-top: 50px;
}

}

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

.mainvisual { /* sp */
	padding: 30px 0 40px;
	height: 450px;
}

.mainvisual__lead { /* sp */
	font-size: 1.6rem;
}

.mainvisual__image { /* sp */
	width: 80%;
	max-width: 500px;
	height: auto;
}

.mainvisual__image img { /* sp */
	height: auto;
}

.pickup-news__inner { /* sp */
	padding: 10px 20px;
}

.pickup-news__heading { /* sp */
	position: static;
	-webkit-transform: none;
	transform: none;
	height: auto;
	padding: 0.6667em 0.5em 0.6667em 0;
	border-top: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	border-left: none;
	border-right: none;
	margin-bottom: 1em;
	-webkit-writing-mode: horizontal-tb;
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
}

.pickup-news__label { /* sp */
	margin-bottom: 1em;
}

.pickup-news__title { /* sp */
	padding-right: 40px;
}

.home-about__content { /* sp */
	display: block;
}

.home-about__head { /* sp */
	margin-bottom: 20px;
}

.home-about__concept { /* sp */
	font-size: 2.8rem;
}

.home-about__text { /* sp */
	padding: 0;
	border-top: none;
	width: 100%;
}

.home-gallery-wrap { /* sp */
	margin-top: 50px;
}

.home-gallery { /* sp */
	gap: 15px;
	-webkit-animation-duration: 20s;
	animation-duration: 20s;
}

.home-gallery__item { /* sp */
	gap: 15px;
}

.home-activities { /* sp */
	grid-template-columns: 1fr;
}

.home-activities__inner { /* sp */
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
	gap: 20px;
	padding: 30px 20px 55px;
}

.home-activities__inner::before { /* sp */
	right: 20px;
	bottom: 18px;
}

.home-activities__inner::after { /* sp */
	right: 37px;
	bottom: 35px;
}

.home-activities__main { /* sp */
	padding-top: 0;
}

.home-activities__heading { /* sp */
	margin-bottom: 10px;
	font-size: 2rem;
	text-align: center;
}

.home-activities__text { /* sp */
	font-size: 1.6rem;
}

.home-activities__image { /* sp */
	width: 50%;
	height: auto;
	margin: 0 auto;
}

.home-compass { /* sp */
	display: block;
}

.home-compass__heading { /* sp */
	font-size: 2.8rem;
}

.home-compass__image { /* sp */
	width: 80%;
	margin: 0 auto 30px;
}

.home-compass__main { /* sp */
	width: 100%;
	padding-left: 0;
}

.home-compass__btns { /* sp */
	margin-top: 30px;
}

.home-compass2 { /* sp */
	margin: 50px 0 0;
}

.home-compass2__heading { /* sp */
	font-size: 1.8rem;
}

.home-archives-btn-wrap .swiper-button-prev,
.home-archives-btn-wrap .swiper-button-next { /* sp */
	display: none;
}

.home-archives__year { /* sp */
	padding: 0.5em 1.2em 0.4em 10px;
	font-size: 1.4rem;
}

.home-archives__cat { /* sp */
	padding: 0.7em 1.6em 0.5em 10px;
	font-size: 1.4rem;
}

.home-archives__image { /* sp */
	margin-left: 10px;
	height: 280px;
}

.w-xxl { /* sp */
	width: 242.4px;
}

.w-xl { /* sp */
	width: 204px;
}

.w-lg { /* sp */
	width: 162.6px;
}

.w-sm { /* sp */
	width: 88.8px;
}

}

@-webkit-keyframes scroll-left {

from {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

to {
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}

}

@keyframes scroll-left {

from {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

to {
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}

}

