.home-scroll {
	display: grid;
	justify-content: center;
	font-family: PixelMplus12-Bold;
	color: var(--colorPrimary)
}

.home-scroll__icon {
	display: grid;
	text-align: center;
	font-size: 2rem;
	line-height: 1
}

@media screen and (max-width: 767px) {
	.home-scroll__icon {
		gap: 1.0256410256vw;
		font-size: 4.1025641026vw
	}
}

.home-scroll__txt {
	font-size: 3.2rem;
	line-height: 1
}

@media screen and (max-width: 767px) {
	.home-scroll__txt {
		margin-top: 1.2820512821vw;
		font-size: 5.1282051282vw
	}
}

.home-intro {
	position: fixed;
	top: 0;
	left: 0;
	background-color: var(--colorWhite);
	width: 100%;
	height: 100vh;
	height: calc(var(--vh, 1vh)*100);
	overflow-y: scroll;
	z-index: 9999;
	transition: transform 800ms cubic-bezier(0.165, 0.84, 0.44, 1)
}

.home-intro.is-hidden {
	will-change: transform;
	transform: translate3d(0, -100%, 0)
}

.home-intro__inner {
	--inner-w: 750px;
	height: inherit;
	min-height: 810px;
	padding-top: 105px
}

@media(min-width: 768px)and (max-height: 810px) {
	.home-intro__inner {
		padding-bottom: 15px
	}
}

@media(max-width: 767px)and (max-height: 843px) {
	.home-intro__inner {
		padding-bottom: 5.1282051282vw
	}
}

@media screen and (max-width: 767px) {
	.home-intro__inner {
		--inner-w: calc(302/390*100vw);
		min-height: 220.5128205128vw
	}
}

.home-intro__catch {
	width: 353px;
	height: 180px;
	margin: auto;
	text-align: center
}

@media screen and (max-width: 767px) {
	.home-intro__catch {
		width: 47.4358974359vw;
		height: 24.358974359vw
	}
}

.home-intro__catch .cls-1,
.home-intro__catch .cls-2 {
	fill: none
}

.home-intro__catch .cls-3 {
	fill: #fff
}

.home-intro__catch .cls-4 {
	fill: #d6001a
}

.home-intro__catch .cls-5 {
	fill: #283b59
}

.home-intro__catch .mask-line {
	stroke-dasharray: 3100px;
	stroke-miterlimit: 10;
	stroke-width: 10px
}

.home-intro__catch .mask-line.is-active {
	stroke: #fff;
	animation: h-written 1.5s
}

.home-intro__catch .text {
	-webkit-clip-path: url(#clippath);
	clip-path: url(#clippath);
	-webkit-mask: url(#mask-ani);
	mask: url(#mask-ani)
}

@keyframes h-written {
	0% {
		stroke-dashoffset: 3100px
	}

	100% {
		stroke-dashoffset: 0
	}
}

.home-intro__ttl {
	margin-top: 40px;
	text-align: center;
	font-size: 4rem;
	font-weight: 700
}

@media screen and (max-width: 767px) {
	.home-intro__ttl {
		margin-top: 12.8205128205vw;
		font-size: 8.2051282051vw;
		line-height: 1.43
	}
}

.home-intro__txt {
	margin-top: 40px;
	font-size: 2rem;
	line-height: 1.45
}

@media screen and (min-width: 768px) {
	.home-intro__txt {
		position: relative;
		left: 25px;
		margin-right: -18px
	}
}

@media screen and (max-width: 767px) {
	.home-intro__txt {
		margin-top: 10.2564102564vw;
		font-size: 4.1025641026vw
	}
}

.home-intro__txt p:not(:first-of-type) {
	margin-top: 1.5em
}

.home-intro__scroll {
	margin-top: 30px
}

@media(min-width: 768px)and (min-height: 811px) {
	.home-intro__scroll {
		position: absolute;
		right: 0;
		bottom: 15px;
		left: 0;
		margin: auto
	}
}

@media(max-width: 767px)and (min-height: 844px) {
	.home-intro__scroll {
		position: absolute;
		right: 0;
		bottom: 5.1282051282vw;
		left: 0;
		margin: auto
	}
}

@media screen and (max-width: 767px) {
	.home-intro__scroll {
		margin-top: 9.4871794872vw
	}
}

.home-mv {
	display: grid;
	place-content: center;
	position: relative;
	height: 100vh;
	overflow: hidden
}

@media screen and (max-width: 767px) {
	.home-mv {
		place-content: start center;
		height: 100svh;
		padding-top: 28vw
	}
}

.home-mv__logo {
	position: absolute
}

@media screen and (min-width: 768px) {
	.home-mv__logo {
		display: none
	}
}

@media screen and (max-width: 767px) {
	.home-mv__logo {
		top: 20.5128205128vw;
		left: 5.1282051282vw;
		width: 17.4358974359vw;
		height: 13.5897435897vw
	}
}

.home-mv__ttl {
	display: grid;
	gap: 32px;
	position: absolute;
	top: 0;
	right: 805px;
	bottom: 0;
	left: 0;
	width: 340px;
	height: 364px;
	margin: auto;
	font-size: 60px;
	font-weight: 900;
	color: var(--colorWhite);
	z-index: 2
}

@media screen and (max-width: 1200px) {
	.home-mv__ttl {
		top: 0;
		right: initial;
		bottom: 0;
		left: 100px
	}
}

@media screen and (max-width: 1100px) {
	.home-mv__ttl {
		gap: 2.9090909091vw;
		left: 9.0909090909vw;
		width: 27.2727272727vw;
		height: 27.6363636364vw;
		font-size: 4.1666666667vw
	}
}

@media screen and (max-width: 767px) {
	.home-mv__ttl {
		gap: 4.8717948718vw;
		top: 38.4615384615vw;
		right: 0;
		bottom: initial;
		left: 11.0256410256vw;
		width: 52.3076923077vw;
		height: 56.1538461538vw;
		padding: 0 8.2051282051vw;
		font-size: 9.2307692308vw
	}
}

.home-mv__ttl>span {
	display: grid;
	place-items: center;
	background-color: var(--colorPrimary);
	width: 340px;
	height: 100px;
	line-height: 1
}

@media screen and (max-width: 1100px) {
	.home-mv__ttl>span {
		width: 27.2727272727vw;
		height: 7.2727272727vw
	}
}

@media screen and (max-width: 767px) {
	.home-mv__ttl>span {
		width: 52.3076923077vw;
		height: 15.3846153846vw
	}
}

.home-mv__ttl>span:nth-of-type(1),
.home-mv__ttl>span:nth-of-type(4) {
	padding-left: 30px
}

@media screen and (max-width: 1100px) {
	.home-mv__ttl>span:nth-of-type(1),
	.home-mv__ttl>span:nth-of-type(4) {
		padding-left: 2.7272727273vw
	}
}

@media screen and (max-width: 767px) {
	.home-mv__ttl>span:nth-of-type(1),
	.home-mv__ttl>span:nth-of-type(4) {
		padding-left: 5.641025641vw
	}
}

.home-mv__ttl>span:nth-of-type(2) {
	display: flex;
	justify-content: center;
	-webkit-text-stroke: 1px #000;
	text-stroke: 1px #000;
	font-family: PixelMplus12-Bold
}

.home-mv__movie {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	aspect-ratio: 16/9;
	width: 100vw;
	height: 100vh;
	min-width: 100%;
	min-height: 100%
}

@media screen and (max-width: 767px) {
	.home-mv__movie {
		aspect-ratio: 9/16
	}
}

.home-mv__movie video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.home-mv__slide {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 470px;
	width: 707px;
	height: 659px;
	margin: auto
}

@media screen and (max-width: 1200px) {
	.home-mv__slide {
		top: 0;
		right: 50px;
		bottom: 0;
		left: initial;
		width: 550px;
		height: auto
	}
}

@media screen and (max-width: 1100px) {
	.home-mv__slide {
		width: 50vw
	}
}

@media screen and (min-width: 768px) {
	.home-mv__slide {
		aspect-ratio: 707/659
	}
}

@media screen and (max-width: 767px) {
	.home-mv__slide {
		top: 106.4102564103vw;
		right: 0;
		bottom: initial;
		left: 0;
		width: 90.5128205128vw;
		height: 84.6153846154vw
	}
}

.home-mv__border-red,
.home-mv__border-blue {
	position: absolute;
	width: 100%;
	height: 86px;
	z-index: 2
}

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

	.home-mv__border-red,
	.home-mv__border-blue {
		display: grid;
		align-items: center;
		height: 15.3846153846vw
	}
}

.home-mv__border-red {
	top: 0;
	left: 0;
	background-color: var(--colorRed)
}

.home-mv__border-blue {
	bottom: 0;
	left: 0;
	background-color: var(--colorPrimary)
}

.home-about__inner {
	padding: 185px 0 0
}

@media screen and (max-width: 767px) {
	.home-about__inner {
		padding: 11.5384615385vw 0 0
	}
}

.home-about__txt {
	max-width: 750px;
	margin-top: 50px;
	margin-left: auto;
	line-height: 2;
	color: var(--colorPrimary)
}

@media screen and (max-width: 767px) {
	.home-about__txt {
		margin-top: 7.6923076923vw
	}
}

.home-about__wanted {
	background-color: var(--colorPrimary);
	margin-top: 60px;
	padding: 8px 0
}

@media screen and (max-width: 767px) {
	.home-about__wanted {
		margin-top: 15.3846153846vw;
		padding: 2.5641025641vw 0
	}
}

.home-about__wanted-sub {
	display: flex;
	font-size: 2rem;
	color: var(--colorYellow)
}

@media screen and (max-width: 767px) {
	.home-about__wanted-sub {
		font-size: 3.0769230769vw
	}
}

.home-about__wanted-sub>li {
	animation-play-state: running;
	animation: loop-txt-right 100s linear infinite;
	will-change: transform;
	white-space: nowrap
}

.home-about__wanted-main {
	display: flex
}

@media screen and (max-width: 767px) {
	.home-about__wanted-main {
		line-height: 1
	}
}

.home-about__wanted-main>li {
	animation-play-state: running;
	animation: loop-txt-left 35000ms linear infinite;
	will-change: transform
}

.home-about__wanted-main svg {
	width: 1440px;
	max-width: 1440px
}

@media screen and (max-width: 767px) {
	.home-about__wanted-main svg {
		width: 196.1538461538vw;
		max-width: 196.1538461538vw;
		height: 14.1025641026vw
	}
}

.home-about__wanted-main svg text {
	font-size: 6rem;
	font-family: PixelMplus12-Regular;
	fill: none;
	stroke: var(--colorWhite);
	stroke-width: 2;
	stroke-linejoin: round
}

@media screen and (max-width: 767px) {
	.home-about__wanted-main svg text {
		font-size: 8.2051282051vw;
		line-height: 1
	}
}

.home-feature {
	overflow: hidden
}

.home-feature__inner {
	padding: 65px 0
}

@media screen and (max-width: 767px) {
	.home-feature__inner {
		padding: 11.5384615385vw 0
	}
}

.home-feature__list {
	display: flex;
	gap: 20px;
	margin-top: 50px
}

@media screen and (max-width: 767px) {
	.home-feature__list {
		--inner-pd: 0;
		overflow-x: auto;
		padding: 0 3.8461538462vw 3.8461538462vw
	}
}

.home-feature__item {
	width: 33.3333333333%
}

@media screen and (max-width: 767px) {
	.home-feature__item {
		width: 71.2820512821vw;
		flex-shrink: 0
	}
}

.home-feature__item img {
	width: 100%;
}

.home-together {
	position: relative;
	background: url(../img/home/together_bg.png) calc(50% + 24px) calc(50% - 65px)/1524px 880px no-repeat
}

@media screen and (max-width: 767px) {
	.home-together {
		background: url(../img/home/together_bg_sp.png) center 12vw/100vw 152.5641025641vw no-repeat
	}
}

.home-together__inner {
	padding: 43px 0 230px
}

@media screen and (max-width: 767px) {
	.home-together__inner {
		padding: 12.8205128205vw 0 61.5384615385vw
	}
}

.home-together__talk {
	margin-top: 55px;
	text-align: center
}

@media screen and (max-width: 767px) {
	.home-together__talk {
		margin-top: 7.6923076923vw;
		margin-right: -2.5641025641vw;
		margin-left: -2.5641025641vw
	}
}

@media screen and (min-width: 768px) {
	.home-together__talk img {
		position: relative;
		left: 28px
	}
}

@media screen and (max-width: 767px) {
	.home-together__talk img {
		width: 96.1538461538vw;
		height: 72.8205128205vw
	}
}

.home-together__txt {
	max-width: 750px;
	margin: 100px auto 0;
	line-height: 2;
	color: var(--colorPrimary)
}

@media screen and (min-width: 768px) {
	.home-together__txt {
		position: relative;
		left: 28px
	}
}

@media screen and (max-width: 767px) {
	.home-together__txt {
		margin: 5.1282051282vw auto 0
	}
}

@media screen and (min-width: 768px) {
	.home-together__txt p+p {
		margin-top: 2.2em
	}
}

.home-together__box {
	position: relative;
	border-radius: 10px;
	border: 2px solid var(--colorPrimary);
	background-color: var(--colorWhite);
	max-width: 398px;
	margin: 42px auto 0;
	padding: 20px 55px;
	font-family: PixelMplus10-Regular;
	z-index: 2
}

@media screen and (min-width: 768px) {
	.home-together__box {
		left: 10px
	}
}

@media screen and (max-width: 767px) {
	.home-together__box {
		max-width: 71.7948717949vw;
		margin: 8.4615384615vw auto 0;
		padding: 5.641025641vw 6.4102564103vw
	}
}

.home-together__box-ttl {
	font-size: 2rem
}

@media screen and (max-width: 767px) {
	.home-together__box-ttl {
		font-size: 4.1025641026vw
	}
}

.home-together__box-link-wrap {
	margin-top: 22px
}

@media screen and (max-width: 767px) {
	.home-together__box-link-wrap {
		margin-top: 3.3333333333vw
	}
}

.home-together__box-link {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 13px;
	font-size: 2rem
}

@media screen and (max-width: 767px) {
	.home-together__box-link {
		font-size: 4.1025641026vw
	}
}

.home-together__box-link::before {
	content: "▶︎";
	animation: flash 1.3s linear infinite;
	transition: color .3s
}

@media screen and (min-width: 768px) {
	.home-together__box-link:hover::before {
		color: var(--colorRed)
	}
}

.home-together__border-red {
	position: absolute;
	bottom: 643px;
	left: 50%;
	transform: rotate(-10.3deg) translateX(-50%);
	background-color: var(--colorRed);
	margin: auto
}

@media screen and (max-width: 767px) {
	.home-together__border-red {
		bottom: 96.6666666667vw
	}
}

.home-together__border-white {
	position: absolute;
	bottom: -493px;
	left: 50%;
	transform: rotate(10.3deg) translateX(-50%);
	background-color: var(--colorWhite)
}

@media screen and (max-width: 767px) {
	.home-together__border-white {
		bottom: -46.1538461538vw
	}
}

.home-together__border-white .p-loop-txt li svg text {
	stroke: var(--main)
}

.home-base {
	position: relative;
}

.home-base__inner {
	--inner-w: 1320px;
	padding: 74px 0 280px
}

@media screen and (max-width: 767px) {
	.home-base__inner {
		padding: 1vw 0 30vw
	}
}

.home-base__hdg-wrap {
	position: relative;
	z-index: 2
}

@media screen and (min-width: 768px) {
	.home-base__hdg-wrap {
		max-width: 1086px;
		margin: auto
	}
}

.home-base__hdg .c-hdg-01 {
	text-shadow: -1px -1px 0 #333, 1px -1px 0 #333, -1px 1px 0 #333, 1px 1px 0 #333;
	color: #fff
}

@media screen and (max-width: 767px) {
	.home-base__hdg .c-hdg-01 {
		text-shadow: -1px -1px 0 #333, 1px -1px 0 #333, -1px 1px 0 #333, 1px 1px 0 #333
	}
}

.home-base__map {
	position: relative;
	margin-top: -138px
}

@media screen and (max-width: 1320px) {
	.home-base__map {
		margin-top: -30px
	}
}

@media screen and (max-width: 767px) {
	.home-base__map {
		border-radius: 50%;
		background-color: var(--colorPrimary);
		width: 97%;
		margin: -7vw 0 0;
	}
}

.home-base__map-inner {
	text-align: center
}

@media screen and (max-width: 767px) {
	.home-base__map-inner {
		position: relative;
		top: 2.8205128205vw;
		left: 2.5641025641vw
	}
}

.home-base__map svg {
	aspect-ratio: 1/1;
	width: 70%;
	height: auto;
}

@media screen and (max-width: 767px) {
	.home-base__map svg {
		width: 100%;
	}
}

.animated-rect,
.animated-circle,
.animated-path,
.arrow-1, .arrow-2, .arrow-3, .arrow-4, .arrow-5, .arrow-6, .arrow-7,
.filled-path {
	opacity: 0;
}

.animated-rect {
	transform-origin: 844px 140px;
}

.circle-1 { transform-origin: 239px 1004px; }
.circle-2 { transform-origin: 746px 664px; }
.circle-3 { transform-origin: 538px 741px; }
.circle-4 { transform-origin: 305px 798px; }
.circle-5 { transform-origin: 435px 783px; }
.circle-6 { transform-origin: 667px 621px; }
.circle-7 { transform-origin: 826px 462px; }

.home-base__map.is-active svg .animated-rect {
	animation: fadeInScale 1s ease-out 0.2s forwards;
}

.home-base__map.is-active svg .circle-1 { animation: fadeInScale 0.5s ease-out 1.4s forwards; }
.home-base__map.is-active svg .circle-2 { animation: fadeInScale 0.5s ease-out 1.6s forwards; }
.home-base__map.is-active svg .circle-3 { animation: fadeInScale 0.5s ease-out 1.8s forwards; }
.home-base__map.is-active svg .circle-4 { animation: fadeInScale 0.5s ease-out 2.0s forwards; }
.home-base__map.is-active svg .circle-5 { animation: fadeInScale 0.5s ease-out 2.2s forwards; }
.home-base__map.is-active svg .circle-6 { animation: fadeInScale 0.5s ease-out 2.4s forwards; }
.home-base__map.is-active svg .circle-7 { animation: fadeInScale 0.5s ease-out 2.6s forwards; }

.animated-path {
	stroke-dasharray: 3000;
	stroke-dashoffset: 3000;
	stroke-width: 3;
	fill: none;
	opacity: 0.8;
	stroke-linecap: round;
}

.home-base__map.is-active svg .animated-path {
	animation: drawPath 3s ease-in-out 3.2s forwards;
}

.path-1 { stroke: white; }
.path-2 { stroke: #FC7734; }
.path-3 { stroke: #84A518; }
.path-4 { stroke: #F99D23; }
.path-5 { stroke: #16A89F; }
.path-6 { stroke: #FFC9B6; }
.path-7 { stroke: #7BC6FF; }

.home-base__map.is-active svg .arrow-1,
.home-base__map.is-active svg .arrow-2,
.home-base__map.is-active svg .arrow-3,
.home-base__map.is-active svg .arrow-4,
.home-base__map.is-active svg .arrow-5,
.home-base__map.is-active svg .arrow-6,
.home-base__map.is-active svg .arrow-7 {
		animation: fadeInArrow 0.8s ease-out 4.5s forwards;
}

.home-base__map.is-active svg .filled-path {
	animation: fadeIn 0.5s ease-out 7.0s forwards;
}

@keyframes drawPath {
	to {
			stroke-dashoffset: 0;
	}
}

@keyframes fadeIn {
	to {
			opacity: 0.8;
	}
}

@keyframes fadeInArrow {
	0% {
			opacity: 0;
	}
	100% {
			opacity: 1;
	}
}

@keyframes fadeInScale {
	0% {
			opacity: 0;
			transform: scale(0);
	}
	50% {
			opacity: 0.8;
			transform: scale(1.2);
	}
	100% {
			opacity: 1;
			transform: scale(1);
	}
}

.home-base__item {
	position: absolute;
	z-index: 3
}

.home-base__item a {
	height: 100%;
	color: #fff
}

.home-base__item a:hover {
	animation: itemScale .3s
}

@keyframes itemScale {
	0% {
		transform: scale(1)
	}

	50% {
		transform: scale(1.1)
	}

	100% {
		transform: scale(1)
	}
}

.home-base__map-japan {
	position: absolute;
	top: calc(50% - 30px);
	left: calc(50% + 10px);
	transform: translate(-50%, -50%);
	width: 80%;
}

@media screen and (max-width: 1320px) {
	.home-base__map-japan {
		top: calc(50% - (30/1320*100vw));
		left: calc(50% + (10/1320*100vw));
	}
}

.home-base__map-japan img {
	aspect-ratio: 842/955;
	width: inherit;
	height: auto;
}

.home-base__map-arrow {
	position: absolute;
	top: calc(50% - 70px);
	left: calc(50% - 40px);
	transform: translate(-50%, -50%) scale(0.15) translate3d(0, 0, 0);
	width: 78.3%;
	opacity: 0;
}

@media screen and (max-width: 1320px) {
	.home-base__map-arrow {
		top: calc(50% - (70/1320*100vw));
		left: calc(50% - (40/1320*100vw));
	}
}

.home-base__map-arrow img {
	aspect-ratio: 805/714;
	width: inherit;
	height: auto;
}

.home-base__item {
	opacity: 0;
	transform: scale(0.15) translate3d(0, 0, 0)
}

.home-base__item.home-base__item--sapporo {
	top: calc(50% - 650px);
	left: calc(50% + 115px);
	width: 17.7%;
	aspect-ratio: 237/306;
}

@media screen and (max-width: 1320px) {
	.home-base__item.home-base__item--sapporo {
		top: calc(50% - (650/1320*100vw));
		left: calc(50% + (115/1320*100vw));
	}
}

@media screen and (max-width: 767px) {
	.home-base__item.home-base__item--sapporo {
		top: calc(2/390*100vw);
		left: calc(50% + (35/390*100vw));
	}
}

.home-base__item.home-base__item--sapporo img {
	aspect-ratio: 237/306;
	width: 100%;
	height: auto;
}

.home-base__map.is-active .home-base__item {
	opacity: 1;
	transform: scale(1) translate3d(0, 0, 0);
	transition: opacity .4s, transform .6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	transition-delay: .5s
}

.home-base__map.is-active .home-base__map-arrow {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1) translate3d(0, 0, 0);
	transition: opacity .4s, transform .6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	transition-delay: 1s
}

@media screen and (min-width: 768px) {
	.home-base__icon:hover {
		animation: .3s scale ease
	}
}

.home-base__txt {
	max-width: 750px;
	margin: 60px auto 0
}

@media screen and (max-width: 767px) {
	.home-base__txt {
		margin-top: 7.6923076923vw
	}
}

.home-base__txt p+p {
	margin-top: 1em
}

@keyframes scale {
	0% {
		transform: scale(1)
	}

	50% {
		transform: scale(1.1)
	}

	100% {
		transform: scale(1)
	}
}

.home-base__box {
	position: relative;
	border-radius: 10px;
	border: 2px solid var(--colorPrimary);
	background-color: var(--colorWhite);
	max-width: 398px;
	margin: 150px auto 0;
	padding: 20px 55px;
	font-family: PixelMplus10-Regular;
	z-index: 2
}

@media screen and (min-width: 768px) {
	.home-base__box {
		left: 10px
	}
}

@media screen and (max-width: 767px) {
	.home-base__box {
		max-width: 71.7948717949vw;
		margin: 8.4615384615vw auto 0;
		padding: 5.641025641vw 6.4102564103vw
	}
}

.home-base__box-ttl {
	font-size: 2rem
}

@media screen and (max-width: 767px) {
	.home-base__box-ttl {
		font-size: 4.1025641026vw
	}
}

.home-base__box-link-wrap {
	margin-top: 22px
}

@media screen and (max-width: 767px) {
	.home-base__box-link-wrap {
		margin-top: 3.3333333333vw
	}
}

.home-base__box-link {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 13px;
	font-size: 2rem
}

@media screen and (max-width: 767px) {
	.home-base__box-link {
		font-size: 4.1025641026vw
	}
}

.home-base__box-link::before {
	content: "▶︎";
	animation: flash 1.3s linear infinite;
	transition: color .3s
}

@media screen and (min-width: 768px) {
	.home-base__box-link:hover::before {
		color: var(--colorRed)
	}
}

.home-base__border-red {
	position: absolute;
	bottom: 693px;
	left: 50%;
	transform: rotate(-10.3deg) translateX(-50%);
	background-color: var(--colorRed);
	margin: auto
}

@media screen and (max-width: 767px) {
	.home-base__border-red {
		bottom: 96.6666666667vw
	}
}

.home-base__border-white {
	position: absolute;
	bottom: -453px;
	left: 50%;
	transform: rotate(10.3deg) translateX(-50%);
	background-color: var(--colorWhite)
}

@media screen and (max-width: 767px) {
	.home-base__border-white {
		bottom: -46.1538461538vw
	}
}

.home-base__border-white .p-loop-txt li svg text {
	stroke: var(--main)
}

.home-village {
	position: relative
}

.home-village::before,
.home-village::after {
	content: "";
	display: block;
	position: absolute
}

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

	.home-village::before,
	.home-village::after {
		display: none
	}
}

.home-village::before {
	top: 255px;
	left: 0;
	background: url(../img/home/village_txt_01.svg) no-repeat;
	background-size: contain;
	width: 170px;
	height: 562px
}

.home-village::after {
	top: 43px;
	right: -25px;
	background: url(../img/home/village_txt_02.svg) no-repeat;
	background-size: contain;
	width: 164px;
	height: 551px
}

.home-village__inner {
	padding: 45px 0 60px
}

@media screen and (max-width: 767px) {
	.home-village__inner {
		padding: 16vw 0 2.5641025641vw
	}
}

.home-village__items {
	display: grid;
	grid-template-columns: 228px 1fr;
	gap: 40px;
	position: relative;
	left: 20px;
	max-width: 1060px;
	margin: 52px auto 0;
	padding-left: 40px
}

@media screen and (max-width: 1020px) {
	.home-village__items {
		grid-template-columns: 1fr;
		gap: 0;
		left: 0;
		padding-left: 0
	}
}

@media screen and (max-width: 767px) {
	.home-village__items {
		margin-top: 8.4615384615vw
	}
}

@media screen and (max-width: 1020px) {
	.home-village__flow {
		display: none
	}
}

.home-village__body {
	border-radius: 10px;
	border: 2px solid var(--colorPrimary);
	background-color: var(--colorWhite);
	padding: 73px 53px 47px;
	box-shadow: 4px 4px 0px var(--colorPrimary)
}

@media screen and (max-width: 767px) {
	.home-village__body {
		width: 91.7948717949vw;
		padding: 10.2564102564vw 10.2564102564vw 20.5128205128vw
	}
}

.home-village__txt {
	max-width: 400px;
	margin: auto;
	line-height: 2.25;
	color: var(--colorPrimary)
}

@media screen and (max-width: 767px) {
	.home-village__txt {
		font-size: 3.5897435897vw;
		line-height: 2.28
	}
}

.home-village__txt p+p {
	margin-top: 2.2em
}

.home-village__btn-wrap {
	margin-top: 75px;
	text-align: center
}

@media screen and (max-width: 767px) {
	.home-village__btn-wrap {
		margin-top: 12.8205128205vw
	}
}

.home-village__btns {
	display: grid;
	place-content: center;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin-top: 75px;
	text-align: center
}

@media screen and (max-width: 767px) {
	.home-village__btns {
		grid-template-columns: 1fr;
		gap: 10.2564102564vw;
		margin-top: 12.8205128205vw
	}
}

.home-village__btns .p-btn-01 {
	padding-right: 47px
}

@media screen and (max-width: 767px) {
	.home-village__btns .p-btn-01 {
		padding-right: 7.6923076923vw
	}
}

.home-news__inner {
	padding: 60px 0 71px
}

@media screen and (max-width: 767px) {
	.home-news__inner {
		padding: 15.3846153846vw 0
	}
}

@media screen and (min-width: 768px) {
	.home-news__hdg {
		display: grid;
		grid-auto-flow: column;
		justify-content: space-between
	}
}

@media screen and (min-width: 768px) {
	.home-news__hdg .p-hdg-01__sub+.p-hdg-01__main {
		margin-top: 14px
	}
}

@media screen and (min-width: 768px) {
	.home-news__hdg .c-hdg-01 {
		line-height: 1
	}
}

.home-news__list-wrap {
	margin-top: 50px
}

@media screen and (max-width: 767px) {
	.home-news__list-wrap {
		max-width: 82.5641025641vw;
		margin: 8.2051282051vw auto 0
	}
}

@media screen and (max-width: 767px) {
	.home-news__list-wrap .p-news-list {
		gap: 6.4102564103vw
	}
}

.home-news__btn-wrap {
	margin-top: 60px;
	text-align: center
}

@media screen and (max-width: 767px) {
	.home-news__btn-wrap {
		margin-top: 15.3846153846vw
	}
}

.home-access {
	background-color: var(--colorPrimary)
}

.home-access__inner {
	padding: 67px 0 120px
}

@media screen and (max-width: 767px) {
	.home-access__inner {
		padding: 15.8974358974vw 0 21.0256410256vw
	}
}

.home-access__map {
	--inner-w: 1000px;
	display: grid;
	grid-template-columns: max-content 1fr max-content;
	align-items: center;
	border-radius: 10px;
	border: 2px solid var(--colorPrimary);
	box-shadow: 0px 4px 0px var(--colorYellow);
	background-color: var(--colorWhite);
	max-width: calc(var(--inner-w) + var(--space));
	margin-top: 47px;
	margin-left: auto;
	padding: 43px 0 35px 28px
}

@media screen and (max-width: 767px) {
	.home-access__map {
		grid-template-columns: 1fr;
		width: min(100% - var(--inner-pd), var(--inner-w));
		margin-top: 8.2051282051vw;
		margin-right: auto;
		margin-left: auto;
		padding: 8.2051282051vw 5.1282051282vw 5.1282051282vw
	}
}

@media screen and (min-width: 768px) {
	.home-access__map-txt {
		margin-right: 35px
	}
}

@media screen and (max-width: 767px) {
	.home-access__map-txt {
		grid-row: 2/2;
		margin-top: 5.1282051282vw;
		text-align: center
	}
}

@media screen and (max-width: 767px) {
	.home-access__map-txt img {
		width: 39.4871794872vw;
		height: 22.5641025641vw
	}
}

@media screen and (max-width: 767px) {
	.home-access__map-content {
		grid-row: 1/2
	}
}

.home-access__map-content iframe {
	width: 100%;
	height: 347px
}

@media screen and (max-width: 767px) {
	.home-access__map-content iframe {
		height: 88.9743589744vw
	}
}

.home-access__map-arrow {
	margin-left: 13px
}

@media screen and (max-width: 767px) {
	.home-access__map-arrow {
		display: none
	}
}

.home-main {
	overflow: hidden
}
