@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap";

@font-face {
	font-family: PixelMplus10-Regular;
	src: url("../font/PixelMplus10-Regular.ttf") format("truetype")
}

@font-face {
	font-family: PixelMplus10-Bold;
	src: url("../font/PixelMplus10-Bold.ttf") format("truetype")
}

@font-face {
	font-family: PixelMplus12-Regular;
	src: url("../font/PixelMplus12-Regular.ttf") format("truetype")
}

@font-face {
	font-family: PixelMplus12-Bold;
	src: url("../font/PixelMplus12-Bold.ttf") format("truetype")
}

:root {
	--sans-serif: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	--serif: "Noto Serif JP", serif;
	--en-sans: "Arial", "Helvetica Neue", sans-serif;
	--en-serif: "", serif;
	--base: #fff;
	--main: #333;
	--colorPrimary: #283B59;
	--colorRed: #D6001A;
	--colorYellow: #FFE637;
	--colorWhite: #fff;
	--colorBlack: #000;
	--colorGray: #F5F5F5;
	--colorSkyblue: #00A0DF;
	--inner-w: 1086px;
	--inner-pd: 80px;
	--space: max(1rem, calc((100% - calc(var(--inner-w) - var(--inner-pd) * 2)) / 2))
}

@media screen and (max-width: 767px) {
	:root {
		--inner-pd: calc(30/390*100vw)
	}
}

*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
	all: unset;
	display: revert
}

body {
	line-height: 1
}

ol,
ul {
	list-style: none
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

img {
	vertical-align: middle
}

html {
	font-size: 10px;
	height: 100%;
	scroll-behavior: smooth
}

body {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	font-family: var(--sans-serif);
	font-size: 1.6rem;
	line-height: 1.8;
	min-width: 320px;
	color: var(--main);
	background: var(--base)
}

@media screen and (max-width: 767px) {
	body {
		font-size: 4.1025641026vw
	}
}

*,
*::before,
*::after {
	box-sizing: border-box
}

img,
svg,
iframe,
video,
picture {
	max-width: 100%
}

img {
	letter-spacing: 0;
	font-size: 12px;
	height: auto
}

a {
	cursor: pointer;
	word-break: break-all
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		display: inline-block;
		pointer-events: none
	}
}

small {
	font-size: 80%
}

button,
input[type=button],
input[type=submit] {
	cursor: pointer;
	font: inherit
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit
}

label {
	cursor: pointer;
	display: inline-block
}

@keyframes flash {
	0% {
		opacity: 0
	}

	50% {
		opacity: 0
	}

	51% {
		opacity: 1
	}

	100% {
		opacity: 1
	}
}

@keyframes loop-txt-left {
	0% {
		transform: translate3d(0, 0, 0)
	}

	100% {
		transform: translate3d(-100%, 0, 0)
	}
}

@keyframes loop-txt-right {
	0% {
		transform: translate3d(-100%, 0, 0)
	}

	100% {
		transform: translate3d(0, 0, 0)
	}
}

.anime-left {
	position: relative;
	overflow: hidden
}

.anime-left.is-active::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #fff;
	pointer-events: none;
	z-index: 1;
	animation: box-wrap 2s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@keyframes box-wrap {
	100% {
		transform: translateX(100%)
	}
}

.js-ani-txt-single {
	letter-spacing: -0.25em;
	font-feature-settings: "palt" 1
}

.js-ani-txt-single .c-hdg-01__lg {
	position: relative;
	top: .155em
}

.js-ani-txt-single.is-active .js-ani-txt {
	transform: translateY(0)
}

.js-ani-txt-wrap {
	display: inline-block;
	overflow: hidden;
	position: relative
}

.js-ani-txt {
	display: inline-block;
	transform: translateY(150%);
	transition: transform 1s cubic-bezier(0.55, 0.01, 0.45, 1);
	padding-bottom: .155em;
	letter-spacing: 0
}

.l-footer {
	position: relative;
	background: url(../img/common/footer_bg.jpg) no-repeat;
	background-size: cover;
	height: 600px
}

@media screen and (max-width: 767px) {
	.l-footer {
		background: url(../img/common/footer_bg_sp.jpg) no-repeat;
		background-size: cover;
		height: auto
	}
}

.l-footer__inner {
	width: calc(100% - 168px);
	margin-right: auto;
	margin-left: auto;
	padding: 23px 75px
}

@media screen and (max-width: 767px) {
	.l-footer__inner {
		width: calc(100% - 16.4102564103vw);
		padding: 30.7692307692vw 4.1025641026vw 11.5384615385vw
	}
}

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

	.l-footer__inner::before,
	.l-footer__inner::after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 4.1025641026vw
	}
}

@media screen and (max-width: 767px) {
	.l-footer__inner::before {
		top: 0;
		background-color: var(--colorRed)
	}
}

@media screen and (max-width: 767px) {
	.l-footer__inner::after {
		bottom: 0;
		background-color: var(--colorPrimary)
	}
}

@media screen and (min-width: 768px) {
	.l-footer__head-menu {
		display: none
	}
}

@media screen and (max-width: 767px) {
	.l-footer__head-menu li+li {
		margin-top: 3.0769230769vw
	}
}

@media screen and (max-width: 767px) {
	.l-footer__head-menu li a {
		display: inline-flex;
		align-items: center;
		gap: 13px;
		position: relative;
		border: 2px solid var(--colorPrimary);
		box-shadow: 4px 4px 0px var(--colorPrimary);
		border-radius: 10px;
		background-color: var(--colorWhite);
		height: 11.7948717949vw;
		padding: 0 2.5vw;
		font-family: PixelMplus12-Regular;
		font-size: 4.1025641026vw;
		color: var(--colorPrimary)
	}
}

@media screen and (max-width: 767px) {
	.l-footer__head-menu li a::before {
		content: "▶︎";
		font-family: PixelMplus10-Regular;
		font-size: 5.1282051282vw
	}
}

.l-footer__menu {
	display: grid;
	grid-template-columns: repeat(5, max-content);
	gap: 20px;
	position: relative;
	z-index: 2
}

@media screen and (max-width: 767px) {
	.l-footer__menu {
		grid-template-columns: 1fr;
		gap: 5.641025641vw;
		margin-top: 5.8974358974vw
	}
}

.l-footer__menu a {
	display: grid;
	place-items: center;
	border-radius: 10vmin;
	padding: 8px 20px;
	font-family: "PixelMplus12-Bold";
	font-size: 2.8rem;
	line-height: 1;
	color: var(--colorPrimary);
	transition: background-color .3s, color .3s
}

@media screen and (max-width: 767px) {
	.l-footer__menu a {
		padding: 0;
		font-size: 4.6153846154vw
	}
}

@media screen and (min-width: 768px) {
	.l-footer__menu a:hover {
		background-color: var(--colorPrimary);
		color: var(--colorWhite)
	}
}

.l-footer__content {
	display: grid
}

@media screen and (min-width: 768px) {
	.l-footer__content {
		margin-top: 20px
	}
}

.l-footer__illust {
	text-align: center;
	mix-blend-mode: multiply
}

@media screen and (max-width: 767px) {
	.l-footer__illust {
		grid-row: 2/2;
		grid-column: 1;
		margin-top: 7.6923076923vw;
		margin-left: -7.4358974359vw;
		margin-right: -6.6666666667vw
	}
}

.l-footer__sns {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	gap: 20px;
	justify-content: center
}

@media screen and (max-width: 767px) {
	.l-footer__sns {
		grid-row: 1/2;
		grid-column: 1;
		gap: 3.3333333333vw;
		margin-top: 4.8717948718vw
	}
}

@media screen and (max-width: 767px) {
	.l-footer__sns li:nth-of-type(1) img {
		width: auto;
		height: 6.9230769231vw
	}
}

@media screen and (max-width: 767px) {
	.l-footer__sns li:nth-of-type(2) img {
		width: auto;
		height: 7.4358974359vw
	}
}

.l-footer__sns a {
	display: inline-grid;
	grid-template-rows: 60px 1fr;
	place-items: center;
	gap: 2px
}

@media screen and (max-width: 767px) {
	.l-footer__sns a {
		grid-template-rows: 7.6923076923vw 1fr
	}
}

.l-footer__sns a:hover img {
	transition: opacity .3s
}

@media screen and (min-width: 768px) {
	.l-footer__sns a:hover img {
		opacity: .5
	}
}

.l-footer__sns a span {
	font-family: "PixelMplus12-Regular";
	color: var(--colorPrimary);
	line-height: 1
}

@media screen and (max-width: 767px) {
	.l-footer__sns a span {
		font-size: 2.5641025641vw
	}
}

.l-footer__company {
	margin-top: 16px;
	text-align: center;
	color: var(--colorPrimary);
	font-weight: 700
}

@media screen and (max-width: 767px) {
	.l-footer__company {
		display: none
	}
}

@media(hover: hover) {
	.l-footer__company a {
		transition: opacity .3s
	}

	.l-footer__company a:hover {
		opacity: .7
	}
}

.l-footer__border-red,
.l-footer__border-blue {
	position: absolute;
	width: 84px;
	height: 100%;
	z-index: 2
}

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

	.l-footer__border-red,
	.l-footer__border-blue {
		width: 8.2051282051vw
	}
}

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

.l-footer__border-blue {
	display: grid;
	place-content: start center;
	top: 0;
	right: 0;
	background-color: var(--colorPrimary)
}

.l-footer__copyright {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-90deg);
	margin: auto;
	font-family: "PixelMplus12-Regular";
	font-size: 1rem;
	color: var(--colorWhite)
}

@media screen and (max-width: 767px) {
	.l-footer__copyright {
		font-size: 2.5641025641vw
	}
}

.l-footer__page-top {
	display: grid;
	grid-auto-flow: column;
	gap: 5px;
	align-items: center;
	position: relative;
	top: 140px;
	transform: rotate(-90deg);
	font-family: "PixelMplus12-Bold";
	font-size: 2rem;
	color: #fff;
	white-space: nowrap
}

@media(hover: hover) {
	.l-footer__page-top {
		transition: opacity .3s
	}

	.l-footer__page-top:hover {
		opacity: .7
	}
}

@media screen and (max-width: 767px) {
	.l-footer__page-top {
		display: none
	}
}

.l-footer__arrow {
	display: grid;
	grid-auto-flow: column;
	gap: 4px;
	position: relative;
	font-size: 1.6rem;
	color: #ffe637
}

.l-footer__arrow::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -20px;
	background-color: var(--colorPrimary);
	width: 80px;
	height: 1em;
	margin: auto;
	animation: stepArrow 3s steps(4, end) infinite
}

.l-footer__arrow span:nth-child(2) {
	color: #fff
}

@keyframes stepArrow {
	0% {
		width: 80px
	}

	100% {
		width: 0
	}
}

.l-header {
	position: fixed;
	z-index: 100
}

.l-nav__body {
	display: grid;
	place-items: center;
	position: fixed;
	top: 0;
	left: 0;
	background-color: var(--colorWhite);
	width: 100%;
	height: 100vh;
	height: 100dvh;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	z-index: -9999;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch
}

.l-nav__body.is-show {
	z-index: auto;
	opacity: 1;
	visibility: visible
}

.l-nav__content {
	display: grid;
	grid-template-columns: 57% 1fr;
	align-items: center;
	gap: 35px;
	width: calc(100% - 168px);
	margin-right: auto;
	margin-left: auto;
	padding: 80px 0;
	padding-right: 60px
}

@media screen and (max-width: 767px) {
	.l-nav__content {
		grid-template-columns: 1fr;
		gap: 7.6923076923vw;
		width: calc(100% - 16.4102564103vw);
		padding: 22.0512820513vw 4.1025641026vw
	}
}

@media screen and (max-width: 767px) {
	.l-nav__visual {
		grid-row: 2/2;
		margin-left: -6.9230769231vw;
		margin-right: -5.641025641vw
	}
}

.l-nav__visual img {
	width: 100%
}

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

.l-nav__border-red,
.l-nav__border-blue {
	position: absolute;
	width: 84px;
	height: inherit;
	min-height: 810px
}

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

	.l-nav__border-red,
	.l-nav__border-blue {
		width: 8.2051282051vw
	}
}

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

.l-nav__border-blue {
	top: 0;
	right: 0;
	background-color: var(--colorPrimary)
}

.l-nav__copyright {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-90deg);
	margin: auto;
	font-size: 1rem;
	color: var(--colorWhite)
}

@media screen and (max-width: 767px) {
	.l-nav__copyright {
		font-size: 2.5641025641vw
	}
}

.l-inner {
	width: min(100% - var(--inner-pd), var(--inner-w));
	margin-right: auto;
	margin-left: auto
}

.l-breadcrumb {
	display: flex;
	align-items: center;
	gap: 15px;
	font-family: PixelMplus10-Regular;
	font-size: 2rem;
	color: var(--colorWhite)
}

@media screen and (max-width: 767px) {
	.l-breadcrumb {
		gap: 2.5641025641vw;
		font-size: 3.0769230769vw
	}
}

.l-breadcrumb li:nth-child(n+2) {
	position: relative
}

.l-breadcrumb li:nth-child(n+2)::before {
	content: "▶︎"
}

.l-breadcrumb li a {
	transition: opacity .3s
}

@media(hover: hover) {
	.l-breadcrumb li a {
		transition: opacity .3s
	}

	.l-breadcrumb li a:hover {
		opacity: .7
	}
}

.l-breadcrumb li span span {
	color: var(--colorYellow)
}

.c-btn-border {
	border-radius: 10px;
	border: 3px solid var(--colorPrimary)
}

.c-icon {
	position: relative;
	display: inline-block;
	background: 50% 50% no-repeat;
	background-size: contain;
	vertical-align: top;
	line-height: 1;
	font-style: normal
}

.c-icon--arrow {
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	border: 3px solid var(--colorPrimary);
	background-color: var(--colorWhite)
}

.c-icon--arrow::before {
	content: "";
	display: block;
	position: relative;
	left: 4px;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) var(--colorPrimary)
}

.c-bg {
	background: url(../img/common/bg_01.gif) repeat
}

@media screen and (max-width: 767px) {
	.c-hdg-sub img {
		width: auto;
		height: 12.3076923077vw
	}
}

.c-hdg-pixel12b {
	font-family: PixelMplus12-Bold;
	-webkit-text-stroke: 2px #333;
	text-stroke: 2px #333;
	letter-spacing: -0.01em;
	color: rgba(0, 0, 0, 0)
}

.c-hdg-01 {
	font-size: 6rem;
	font-weight: 900;
	line-height: 1
}

@media screen and (max-width: 767px) {
	.c-hdg-01 {
		font-size: 5.1282051282vw;
		line-height: 1.15
	}
}

.c-hdg-01__lg {
	font-size: 8.8rem
}

@media screen and (max-width: 767px) {
	.c-hdg-01__lg {
		font-size: 10.2564102564vw
	}
}

.c-hdg-01.c-hdg-01--blue {
	color: var(--colorPrimary)
}

.c-hdg-01.c-hdg-01--white {
	color: var(--colorWhite)
}

.c-hdg-01.c-hdg-01--yellow {
	color: var(--colorYellow)
}

.c-hdg-01.c-hdg-01--shadow {
	text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000
}

.c-hdg-02 {
	font-size: 5.9rem
}

@media screen and (max-width: 767px) {
	.c-hdg-02 {
		font-size: 8.7179487179vw
	}
}

.c-hdg-03 {
	font-size: 2rem;
	color: #333
}

@media screen and (max-width: 767px) {
	.c-hdg-03 {
		font-size: 4.1025641026vw
	}
}

.p-btn-02,
.p-btn-01 {
	display: inline-grid;
	grid-auto-flow: column;
	place-content: center;
	position: relative;
	width: var(--btn-w);
	height: var(--btn-h);
	padding-right: 20px;
	font-family: PixelMplus12-Regular
}

.p-btn-01 {
	--btn-w: 320px;
	--btn-h: 60px;
	font-size: 2rem;
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	.p-btn-01 {
		--btn-w: calc(280/390*100vw);
		--btn-h: calc(60/390*100vw)
	}
}

@media screen and (max-width: 767px) {
	.p-btn-01 {
		left: -3.8461538462vw;
		padding-right: 2.5641025641vw;
		font-size: 5.1282051282vw;
		letter-spacing: 0
	}
}

.p-btn-01__blocks {
	display: grid;
	grid-template-columns: repeat(3, 19px);
	position: absolute;
	top: 0;
	left: 0
}

@media screen and (max-width: 767px) {
	.p-btn-01__blocks {
		grid-template-columns: repeat(3, 3.3333333333vw)
	}
}

.p-btn-01__block {
	width: 19px;
	height: 19px;
	opacity: 0;
	visibility: hidden;
	transition: all .3s
}

@media screen and (max-width: 767px) {
	.p-btn-01__block {
		display: none
	}
}

.p-btn-01__block:nth-child(1),
.p-btn-01__block:nth-child(5) {
	background-color: var(--colorYellow)
}

.p-btn-01__block:nth-child(2),
.p-btn-01__block:nth-child(4) {
	background-color: var(--colorRed)
}

.p-btn-01__block:nth-child(3),
.p-btn-01__block:nth-child(6) {
	background-color: var(--colorPrimary)
}

.p-btn-01__block:nth-child(1) {
	border-radius: 8px 0 0 0
}

.p-btn-01__block:nth-child(6) {
	grid-row: 3/3;
	grid-column: 1/3;
	border-radius: 0 0 0 8px
}

.p-btn-01__txt {
	position: relative;
	z-index: 2
}

.p-btn-01__arrow {
	position: absolute;
	top: 0;
	right: -25px;
	bottom: 0;
	width: 80px;
	height: 80px;
	margin: auto;
	transition: background-color .9s
}

@media screen and (max-width: 767px) {
	.p-btn-01__arrow {
		background-color: var(--colorPrimary);
		right: calc(-100/750*100vw);
		width: 20.5128205128vw;
		height: 20.5128205128vw
	}
}

.p-btn-01__arrow::before {
	border-width: 10px 0 10px 20px;
	transition: border-color .9s
}

@media screen and (max-width: 767px) {
	.p-btn-01__arrow::before {
		border-width: 2.5641025641vw 0 2.5641025641vw 5.1282051282vw;
		border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) var(--colorWhite)
	}
}

@media(hover: hover) {
	.p-btn-01:hover {
		font-family: PixelMplus12-bold
	}

	.p-btn-01:hover .p-btn-01__block {
		opacity: 1;
		visibility: visible
	}

	.p-btn-01:hover .p-btn-01__block:nth-child(1) {
		transition-delay: .05s
	}

	.p-btn-01:hover .p-btn-01__block:nth-child(2) {
		transition-delay: .1s
	}

	.p-btn-01:hover .p-btn-01__block:nth-child(3) {
		transition-delay: .15s
	}

	.p-btn-01:hover .p-btn-01__block:nth-child(4) {
		transition-delay: .2s
	}

	.p-btn-01:hover .p-btn-01__block:nth-child(5) {
		transition-delay: .25s
	}

	.p-btn-01:hover .p-btn-01__block:nth-child(6) {
		transition-delay: .3s
	}

	.p-btn-01:hover .p-btn-01__arrow {
		background-color: var(--colorPrimary)
	}

	.p-btn-01:hover .p-btn-01__arrow::before {
		border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) var(--colorWhite)
	}
}

.p-btn-02 {
	--btn-w: auto;
	--btn-h: 60px;
	background-color: var(--colorWhite);
	border: 2px solid var(--colorPrimary);
	box-shadow: 4px 4px 0px var(--colorPrimary);
	border-radius: 10px;
	padding: 20px;
	font-size: 2rem;
	line-height: 1;
	color: var(--colorPrimary)
}

@media screen and (max-width: 767px) {
	.p-btn-02 {
		--btn-h: calc(60/390*100vw)
	}
}

.p-btn-02__arrow:before {
	content: "▶︎";
	font-family: PixelMplus12-Bold;
	font-size: 2rem;
	margin-right: 12px;
	transition: color .3s
}

@media(hover: hover) {
	.p-btn-02:hover {
		animation: itemJump .3s
	}

	.p-btn-02:hover .p-btn-02__arrow:before {
		color: var(--colorRed)
	}
}

.p-btn-wrap {
	margin-top: 60px;
	text-align: center
}

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

.p-hdg-01__sub+.p-hdg-01__main {
	margin-top: 33px
}

@media screen and (max-width: 767px) {
	.p-hdg-01__sub+.p-hdg-01__main {
		margin-top: 5.1282051282vw
	}
}

.p-btn-no-link {
	pointer-events: none;
	cursor: default;
}

.p-hdg-02 {
	display: inline-grid;
	align-items: center;
	position: relative
}

.p-hdg-02__num {
	position: absolute;
	top: -11px;
	left: 15px;
	font-family: var(--en-sans);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	color: var(--colorPrimary)
}

@media screen and (max-width: 767px) {
	.p-hdg-02__num {
		top: -2.3076923077vw;
		left: 3.8461538462vw;
		font-size: 4.1025641026vw
	}
}

.p-hdg-02__txt {
	margin: -0.1em 0;
	padding: 0 .6em 0 1em;
	line-height: 1
}

@media screen and (max-width: 767px) {
	.p-hdg-02__txt {
		margin: .2em 0 .1em;
		padding: 0 1.2em 0 1.5em
	}
}

.p-hdg-02:before,
.p-hdg-02:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	border: 1px solid var(--colorPrimary);
	width: 14px;
	height: 100%
}

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

	.p-hdg-02:before,
	.p-hdg-02:after {
		border-width: 2px;
		width: 3.5897435897vw
	}
}

.p-hdg-02:before {
	border-right: none;
	left: 0
}

.p-hdg-02:after {
	border-left: none;
	right: 0
}

.p-hdg-02.p-hdg-02--white:before,
.p-hdg-02.p-hdg-02--white:after {
	border-color: #fff
}

.p-hdg-02.p-hdg-02--white .p-hdg-02__num {
	color: #fff
}

.p-hdg-02.p-hdg-02--white .p-hdg-02__txt {
	-webkit-text-stroke-color: #fff
}

.p-hdg-02.p-hdg-02--lg {
	min-height: 96px
}

@media screen and (max-width: 767px) {
	.p-hdg-02.p-hdg-02--lg {
		min-height: 20.5128205128vw
	}
}

.p-hdg-02.p-hdg-02--lg .p-hdg-02__txt {
	margin: 0;
	font-family: PixelMplus12-Bold;
	line-height: 1.4
}

.p-hdg-02.p-hdg-02--lg:before,
.p-hdg-02.p-hdg-02--lg:after {
	min-height: inherit;
	border-width: 2px
}

@media screen and (min-width: 768px) {
	.p-gnav-head {
		display: none
	}
}

@media screen and (max-width: 767px) {
	.p-gnav-head__item+.p-gnav-head__item {
		margin-top: 3.0769230769vw
	}
}

@media screen and (max-width: 767px) {
	.p-gnav-head__link {
		display: inline-flex;
		align-items: center;
		gap: 13px;
		position: relative;
		border: 2px solid var(--colorPrimary);
		box-shadow: 4px 4px 0px var(--colorPrimary);
		border-radius: 10px;
		background-color: var(--colorWhite);
		height: 11.7948717949vw;
		padding: 0 2.5vw;
		font-family: PixelMplus12-Regular;
		font-size: 4.1025641026vw;
		color: var(--colorPrimary)
	}
}

@media screen and (max-width: 767px) {
	.p-gnav-head__link::before {
		content: "▶︎";
		font-family: PixelMplus10-Regular;
		font-size: 5.1282051282vw
	}
}

@media screen and (max-width: 767px) {
	.p-gnav-main {
		margin-top: 4.358974359vw
	}
}

.p-gnav-main__item+.p-gnav-main__item {
	margin-top: 38px
}

@media screen and (max-width: 767px) {
	.p-gnav-main__item+.p-gnav-main__item {
		margin-top: 3.3333333333vw
	}
}

.p-gnav-main__link {
	display: grid;
	grid-template-columns: max-content 1fr;
	align-items: center;
	gap: 20px;
	border-radius: 10vmin;
	padding: 0 24px;
	font-size: 3rem;
	font-weight: 700;
	color: var(--colorPrimary);
	transition: background-color .3s, color .3s
}

@media screen and (min-width: 768px) {
	.p-gnav-main__link {
		margin-left: -24px
	}
}

@media screen and (max-width: 767px) {
	.p-gnav-main__link {
		gap: 1.0256410256vw;
		padding: 0;
		font-size: 5.1282051282vw
	}
}

@media screen and (min-width: 768px) {
	.p-gnav-main__link:hover {
		background-color: var(--colorPrimary);
		color: var(--colorWhite)
	}
}

@media screen and (min-width: 768px) {
	.p-gnav-main__link:hover .p-gnav-main__en-txt text {
		stroke: var(--colorWhite)
	}
}

.p-gnav-main__en-txt {
	height: 1em
}

.p-gnav-main__en-txt text {
	font-size: 2.8rem;
	font-family: "PixelMplus12-Regular";
	fill: none;
	stroke: var(--colorPrimary);
	stroke-width: 1;
	stroke-linejoin: round;
	line-height: 1;
	transition: stroke .3s
}

@media screen and (max-width: 767px) {
	.p-gnav-main__en-txt text {
		font-size: 5.1282051282vw;
		stroke-width: .5
	}
}

.p-gnav-sub {
	position: relative;
	border-top: 3px dashed #283b59;
	margin-top: 38px;
	padding-top: 28px
}

@media screen and (max-width: 767px) {
	.p-gnav-sub {
		border-width: 2px;
		margin-top: 3.8461538462vw;
		padding-top: 4.6153846154vw
	}
}

.p-gnav-sub__link {
	display: grid;
	grid-template-columns: max-content 1fr;
	align-items: center;
	border-radius: 10vmin;
	padding: 0 24px;
	font-size: 3rem;
	font-weight: 700;
	color: var(--colorPrimary);
	transition: background-color .3s, color .3s
}

@media screen and (min-width: 768px) {
	.p-gnav-sub__link {
		margin-left: -24px
	}
}

@media screen and (max-width: 767px) {
	.p-gnav-sub__link {
		padding: 0;
		font-size: 5.1282051282vw
	}
}

@media screen and (min-width: 768px) {
	.p-gnav-sub__link:hover {
		background-color: var(--colorPrimary);
		color: var(--colorWhite)
	}
}

.p-gnav-sns {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	gap: 20px;
	margin-top: 30px
}

@media screen and (max-width: 767px) {
	.p-gnav-sns {
		gap: 3.3333333333vw;
		margin-top: 4.1025641026vw
	}
}

.p-gnav-sns__link {
	display: inline-grid;
	grid-template-rows: 60px max-content;
	place-items: center;
	gap: 2px
}

@media screen and (max-width: 767px) {
	.p-gnav-sns__link {
		grid-template-rows: 7.6923076923vw max-content
	}
}

.p-gnav-sns__link:hover img {
	transition: opacity .3s
}

@media screen and (min-width: 768px) {
	.p-gnav-sns__link:hover img {
		opacity: .5
	}
}

@media screen and (max-width: 767px) {
	.p-gnav-sns__link img {
		width: 8.4615384615vw;
		height: 8.4615384615vw
	}
}

.p-gnav-sns__txt {
	font-family: "PixelMplus12-Regular";
	color: var(--colorPrimary);
	line-height: 1
}

@media screen and (max-width: 767px) {
	.p-gnav-sns__txt {
		font-size: 2.5641025641vw
	}
}

.p-news-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 62px
}

@media screen and (max-width: 767px) {
	.p-news-list {
		grid-template-columns: 1fr;
		gap: 12.5641025641vw
	}
}

.p-news-list__item {
	min-height: 320px
}

@media screen and (max-width: 767px) {
	.p-news-list__item {
		min-height: 82.0512820513vw
	}
}

@media(hover: hover) {
	.p-news__inner {
		transition: opacity .3s
	}

	.p-news__inner:hover {
		opacity: .7
	}
}

.p-news__inner.no-hover {
	pointer-events: none
}

.p-news__head {
	position: relative
}

.p-news__head-txt {
	position: absolute;
	top: 10px;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
	font-family: var(--en-sans);
	font-size: 2rem;
	font-weight: 700;
	text-decoration: underline
}

.p-news__img {
	border-radius: 50%;
	width: 100%;
	height: 100%;
	overflow: hidden;
	box-shadow: 4px 4px 0px 4px #283b59;
	aspect-ratio: 1
}

.p-news__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.p-news__body {
	position: relative;
	margin-top: -97px;
	z-index: 2
}

@media screen and (max-width: 767px) {
	.p-news__body {
		margin-top: -24.8717948718vw
	}
}

.p-news__ttl {
	font-size: 2rem;
	line-height: 2.2
}

@media screen and (max-width: 767px) {
	.p-news__ttl {
		font-size: 5.1282051282vw
	}
}

.p-news__ttl span {
	background-image: linear-gradient(#fff 0%, #fff 100%);
	padding: 5px 0;
	font-weight: 600
}

@media screen and (max-width: 767px) {
	.p-news__ttl span {
		padding: 1.2820512821vw 0
	}
}

.p-news__ttl+.p-news__txt {
	margin-top: 44px
}

@media screen and (max-width: 767px) {
	.p-news__ttl+.p-news__txt {
		margin-top: 11.2820512821vw;
		padding-top: 4.6153846154vw
	}
}

.p-news__date {
	background-image: linear-gradient(#fff 0%, #fff 100%);
	padding: 5px;
	font-family: var(--en-sans);
	font-size: 1.2rem;
	color: var(--colorRed)
}

@media screen and (max-width: 767px) {
	.p-news__date {
		font-size: 3.0769230769vw
	}
}

.p-news__txt {
	position: relative;
	border-top: 1px solid var(--colorBlack);
	margin-top: 17px;
	padding-top: 20px;
	line-height: 1.5;
	overflow: hidden
}

@media screen and (max-width: 767px) {
	.p-news__txt {
		margin-top: .5128205128vw;
		padding-top: 2.0512820513vw;
		font-size: 3.0769230769vw
	}
}

.p-loop-txt {
	display: flex
}

.p-loop-txt li {
	animation-play-state: running;
	will-change: transform;
	line-height: 1
}

.p-loop-txt li svg {
	width: 1440px;
	max-width: 1440px;
	height: 85px
}

@media screen and (max-width: 767px) {
	.p-loop-txt li svg {
		width: 196.1538461538vw;
		max-width: 196.1538461538vw;
		height: 10.7692307692vw
	}
}

.p-loop-txt li svg text {
	font-size: 4rem;
	font-family: "PixelMplus12-Bold";
	fill: none;
	stroke: var(--colorWhite);
	stroke-width: 1;
	stroke-linejoin: round;
	line-height: 1
}

@media screen and (max-width: 767px) {
	.p-loop-txt li svg text {
		font-size: 4.8717948718vw
	}
}

.p-loop-txt.p-loop-txt--right li {
	animation: loop-txt-right 14s linear infinite
}

.p-loop-txt.p-loop-txt--left li {
	animation: loop-txt-left 14s linear infinite
}

.p-loop-txt.p-loop-txt--left li svg {
	transform: scale(-1, 1)
}

.p-loop-txt.p-loop-txt--welcome li {
	animation: loop-txt-left 35s linear infinite
}

.p-loop-txt.p-loop-txt--welcome li svg {
	width: 1320px;
	max-width: 1320px;
	height: 43px
}

@media screen and (max-width: 767px) {
	.p-loop-txt.p-loop-txt--welcome li svg {
		width: 160vw;
		max-width: 160vw;
		height: 5.3846153846vw
	}
}

.p-loop-txt.p-loop-txt--welcome li svg text {
	stroke: var(--colorYellow)
}

.p-menu {
	position: fixed;
	top: 20px;
	right: 104px;
	border: 2px solid var(--colorPrimary);
	box-shadow: 4px 4px 0px var(--colorPrimary);
	border-radius: 10px;
	background-color: var(--colorWhite);
	padding: 12px 20px;
	overscroll-behavior: none;
	z-index: 101;
	transition: opacity .3s
}

@media screen and (max-width: 767px) {
	.p-menu {
		display: grid;
		place-items: center;
		top: 5.1282051282vw;
		right: 10.2564102564vw;
		border-radius: 5px;
		padding: 0 2.5vw
	}
}

.p-menu__list {
	display: grid;
	gap: 20px
}

@media screen and (min-width: 768px) {
	.p-menu__list {
		grid-auto-flow: column
	}
}

@media screen and (max-width: 767px) {
	.p-menu__list {
		gap: 0
	}
}

.p-menu__btn,
.p-menu__link {
	display: flex;
	align-items: center;
	gap: 5px;
	position: relative;
	font-family: PixelMplus12-Regular;
	font-size: 1.4rem;
	color: var(--colorPrimary)
}

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

	.p-menu__btn,
	.p-menu__link {
		gap: .7692307692vw;
		font-size: 3.5897435897vw
	}
}

.p-menu__btn::before,
.p-menu__link::before {
	content: "▶︎";
	font-family: PixelMplus10-Regular;
	font-size: 1.6rem;
	transition: color .3s
}

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

	.p-menu__btn::before,
	.p-menu__link::before {
		font-size: 4.1025641026vw
	}
}

@media screen and (min-width: 768px) {

	.p-menu__btn:hover,
	.p-menu__link:hover {
		animation: itemJump .3s
	}
}

@media screen and (min-width: 768px) {

	.p-menu__btn:hover::before,
	.p-menu__link:hover::before {
		color: var(--colorRed)
	}
}

.p-menu__btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none
}

@media screen and (min-width: 768px) {
	.p-menu__btn {
		width: 80px
	}
}

@media screen and (max-width: 767px) {
	.p-menu__btn.is-active::before {
		color: var(--colorRed)
	}
}

@keyframes itemJump {
	0% {
		transform: translateY(0)
	}

	50% {
		transform: translateY(-5px)
	}

	100% {
		transform: translateY(0)
	}
}

.p-page-header {
	display: grid;
	place-content: center;
	position: relative;
	background-color: var(--colorPrimary);
	height: 405px
}

@media screen and (max-width: 767px) {
	.p-page-header {
		height: 108.2051282051vw
	}
}

.p-page-header__logo {
	position: absolute;
	top: 32px;
	left: 111px
}

@media screen and (max-width: 767px) {
	.p-page-header__logo {
		top: 5.1282051282vw;
		left: 10.2564102564vw;
		width: 17.4358974359vw;
		height: 13.5897435897vw
	}
}

.p-page-header__ttl-wrap {
	display: grid;
	place-items: center;
	position: relative;
	border: 6px solid #fff;
	border-radius: 10px;
	width: 497px;
	height: 200px;
	text-align: center;
	font-family: PixelMplus12-Bold;
	font-size: 6rem
}

@media screen and (max-width: 767px) {
	.p-page-header__ttl-wrap {
		width: 79.4871794872vw;
		height: 56.9230769231vw;
		font-size: 7.6923076923vw
	}
}

.p-page-header__ttl-en {
	position: absolute;
	top: 40px;
	line-height: 1
}

@media screen and (max-width: 767px) {
	.p-page-header__ttl-en {
		top: 20.5128205128vw
	}
}

.p-page-header__ttl-en svg {
	width: auto;
	height: 65px
}

@media screen and (max-width: 767px) {
	.p-page-header__ttl-en svg {
		height: 8.4615384615vw
	}
}

.p-page-header__ttl-en svg text {
	font-size: 6rem;
	fill: none;
	stroke: var(--colorYellow);
	stroke-width: 1;
	stroke-linejoin: round
}

@media screen and (max-width: 767px) {
	.p-page-header__ttl-en svg text {
		font-size: 7.6923076923vw;
		line-height: 1
	}
}

.p-page-header__ttl {
	position: relative;
	z-index: 2;
	color: var(--colorWhite)
}

@media screen and (max-width: 767px) {
	.p-page-header__ttl {
		top: 2.5641025641vw
	}
}

.p-page-header__breadcrumb {
	position: absolute;
	right: 180px;
	bottom: 10px
}

@media screen and (max-width: 767px) {
	.p-page-header__breadcrumb {
		right: 4.1025641026vw;
		bottom: 1.5384615385vw
	}
}

.p-page-header-02 {
	position: relative;
	padding: 120px 0
}

@media screen and (max-width: 767px) {
	.p-page-header-02 {
		padding: 23.0769230769vw 0 10.2564102564vw
	}
}

.p-page-header-02__ttl {
	font-size: 6rem;
	font-weight: 700;
	line-height: 1.5
}

@media screen and (max-width: 767px) {
	.p-page-header-02__ttl {
		padding-left: 4.358974359vw;
		font-size: 7.6923076923vw;
		line-height: 1.45
	}
}

@media screen and (min-width: 768px) {
	.p-page-header-02__ttl span {
		display: block
	}
}

.p-page-header-02__main-img {
	position: relative;
	margin-top: 30px;
	text-align: center;
	z-index: 3
}

@media screen and (max-width: 767px) {
	.p-page-header-02__main-img {
		margin-top: 12.0512820513vw;
		margin-left: -2.5641025641vw;
		margin-right: -3.8461538462vw
	}
}

.p-page-header-02__main-img img {
	position: relative
}

@media screen and (min-width: 768px) {
	.p-page-header-02__main-img img {
		left: 30px
	}
}

.p-page-header-02__main-txt {
	position: absolute;
	left: calc(50% + 18px);
	top: 26px;
	transform: translateX(-50%);
	width: 100%;
	text-align: center;
	-webkit-text-stroke: 5px var(--colorPrimary);
	text-stroke: 5px var(--colorPrimary);
	font-family: PixelMplus12-Bold;
	font-size: 12rem;
	z-index: 2;
	line-height: 1.1;
	color: var(--colorWhite)
}

@media screen and (max-width: 767px) {
	.p-page-header-02__main-txt {
		top: 20.5128205128vw;
		left: 50%;
		-webkit-text-stroke: 2px var(--colorPrimary);
		text-stroke: 2px var(--colorPrimary);
		font-size: 15.3846153846vw
	}
}

.p-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 80px
}

@media screen and (max-width: 767px) {
	.p-pagination {
		margin-top: 15.3846153846vw
	}
}

.p-pagination .page-numbers {
	display: grid;
	place-items: center;
	border-radius: 50%;
	border: 1px solid var(--colorPrimary);
	width: 40px;
	height: 40px;
	font-family: PixelMplus12-Regular;
	transition: background-color .3s, color .3s
}

@media screen and (max-width: 767px) {
	.p-pagination .page-numbers {
		width: 10.2564102564vw;
		height: 10.2564102564vw;
		font-size: 4.1025641026vw
	}
}

@media screen and (min-width: 768px) {
	.p-pagination .page-numbers:hover {
		background-color: var(--colorPrimary);
		color: var(--colorWhite)
	}
}

.p-pagination .page-numbers.current {
	background-color: var(--colorPrimary);
	color: var(--colorWhite)
}

.p-pagination-single {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin-top: 100px;
	padding-top: 20px
}

@media screen and (max-width: 767px) {
	.p-pagination-single {
		margin-top: 16.9230769231vw;
		padding-top: 5.1282051282vw
	}
}

.p-pagination-single::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-image: linear-gradient(to right, var(--colorPrimary) 3px, transparent 3px);
	background-size: 9px 2px;
	background-repeat: repeat-x;
	width: 100%;
	height: 2px
}

.p-pagination-single__item a {
	display: flex;
	align-items: center;
	gap: 15px;
	font-family: PixelMplus12-Regular;
	color: var(--colorPrimary)
}

@media screen and (max-width: 767px) {
	.p-pagination-single__item a {
		gap: 3.3333333333vw;
		font-size: 3.5897435897vw
	}
}

.p-pagination-single__item a::before {
	content: "▶︎";
	font-size: 2rem;
	transition: color .3s
}

@media screen and (max-width: 767px) {
	.p-pagination-single__item a::before {
		font-size: 4.1025641026vw
	}
}

@media screen and (min-width: 768px) {
	.p-pagination-single__item a:hover::before {
		color: var(--colorRed)
	}
}

.p-pagination-single__item.prev,
.p-pagination-single__item.next {
	position: absolute
}

.p-pagination-single__item.prev {
	left: calc(50% - 275px)
}

@media screen and (max-width: 767px) {
	.p-pagination-single__item.prev {
		left: calc(50% - 42.8205128205vw)
	}
}

.p-pagination-single__item.next {
	left: calc(50% + 185px)
}

@media screen and (max-width: 767px) {
	.p-pagination-single__item.next {
		left: calc(50% + 18.7179487179vw)
	}
}

.p-edtr h2 {
	margin: 40px 0;
	font-size: 3.2rem;
	font-weight: 700
}

@media screen and (max-width: 767px) {
	.p-edtr h2 {
		margin: 5.1282051282vw 0;
		font-size: 4.1025641026vw
	}
}

.p-edtr h3 {
	margin: 20px 0;
	font-size: 2rem;
	font-weight: 700
}

@media screen and (max-width: 767px) {
	.p-edtr h3 {
		margin: 5.1282051282vw 0;
		font-size: 3.5897435897vw
	}
}

.p-edtr h4 {
	margin: 20px 0;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px
}

@media screen and (max-width: 767px) {
	.p-edtr h4 {
		margin: 5.1282051282vw 0;
		font-size: 3.0769230769vw
	}
}

.p-edtr p {
	margin: 20px 0;
	line-height: 1.5
}

@media screen and (max-width: 767px) {
	.p-edtr p {
		margin: 5.1282051282vw 0;
		font-size: 3.0769230769vw;
		line-height: 1.41
	}
}

.p-edtr img {
	width: 100%
}

.p-edtr-head {
	display: grid;
	grid-template-columns: 540px 1fr;
	gap: 20px
}

@media screen and (max-width: 767px) {
	.p-edtr-head {
		grid-template-columns: 1fr;
		gap: 15.3846153846vw;
		margin: 0 -3.8461538462vw
	}
}

.p-edtr-head__img {
	width: 100%
}

@media screen and (max-width: 767px) {
	.p-edtr-head__img {
		height: 74.358974359vw
	}
}

.p-edtr-head__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

@media screen and (max-width: 767px) {
	.p-edtr-head__body {
		padding: 0 3.8461538462vw
	}
}

.p-edtr-head__date {
	display: block;
	margin-top: -3px;
	font-family: var(--en-sans)
}

@media screen and (max-width: 767px) {
	.p-edtr-head__date {
		font-size: 3.0769230769vw
	}
}

.p-edtr-head__ttl {
	margin-top: 5px;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5
}

@media screen and (max-width: 767px) {
	.p-edtr-head__ttl {
		margin-top: 0;
		font-size: 4.1025641026vw
	}
}

.p-edtr-head__txt {
	margin-top: 37px;
	line-height: 1.5
}

@media screen and (max-width: 767px) {
	.p-edtr-head__txt {
		margin-top: 5.1282051282vw;
		font-size: 3.0769230769vw;
		line-height: 1.41
	}
}

.p-edtr-content {
	margin-top: 80px
}

@media screen and (max-width: 767px) {
	.p-edtr-content {
		margin-top: 15.3846153846vw
	}
}

.p-panel-01 {
	background: var(--colorWhite);
	border: 2px solid var(--colorPrimary);
	box-shadow: 4px 4px 0px 4px var(--colorPrimary);
	border-radius: 10px;
	padding: 10px 0 0
}

@media screen and (max-width: 767px) {
	.p-panel-01 {
		box-shadow: 2px 2px 0px 2px var(--colorPrimary);
		padding: 2.5641025641vw 0 0
	}
}

.p-panel-01__link {
	display: block
}

.p-panel-01__name {
	text-align: center;
	font-family: PixelMplus12-Bold;
	font-size: 2rem
}

@media screen and (max-width: 767px) {
	.p-panel-01__name {
		font-size: 4.1025641026vw
	}
}

.p-panel-01__img {
	border-radius: 10px;
	width: 98%;
	height: 18.0555555556vw;
	margin-top: 15px;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden
}

@media screen and (max-width: 767px) {
	.p-panel-01__img {
		width: 96%;
		height: 53.3333333333vw;
		margin-top: 1.7948717949vw
	}
}

.p-panel-01__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.p-panel-01__body {
	padding: 20px 30px
}

@media screen and (max-width: 767px) {
	.p-panel-01__body {
		padding: 3.8461538462vw 2.5641025641vw
	}
}

.p-panel-01__ttl {
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5
}

@media screen and (max-width: 767px) {
	.p-panel-01__ttl {
		font-size: 5.1282051282vw
	}
}

.p-panel-01__txt {
	margin-top: 18px;
	line-height: 1.43
}

@media screen and (max-width: 767px) {
	.p-panel-01__txt {
		margin-top: 3.0769230769vw;
		font-size: 3.5897435897vw;
		line-height: 1.5
	}
}

.p-panel-02__hdg {
	width: 100%
}

.p-panel-02__img {
	margin-top: 20px
}

@media screen and (max-width: 767px) {
	.p-panel-02__img {
		margin-top: 5.1282051282vw
	}
}

.p-panel-02__txt {
	margin-top: 40px;
	line-height: 1.5
}

@media screen and (max-width: 767px) {
	.p-panel-02__txt {
		margin-top: 5.1282051282vw;
		padding: 0 2.5641025641vw
	}
}

.p-panel-02__txt p+p {
	margin-top: 1.5em
}

.p-panel-03__head {
	position: relative
}

.p-panel-03__hdg {
	display: grid;
	place-items: center;
	position: absolute;
	right: 0;
	top: 220px;
	left: 0;
	background-color: #fff;
	width: 200px;
	margin: auto;
	padding: 8px;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5
}

@media screen and (max-width: 767px) {
	.p-panel-03__hdg {
		top: 28.2051282051vw;
		width: 25.641025641vw;
		padding: 1.0256410256vw;
		font-size: 2.5641025641vw
	}
}

.p-panel-03__body {
	border-top: 1px solid var(--colorPrimary);
	margin-top: 20px;
	padding-top: 20px
}

@media screen and (max-width: 767px) {
	.p-panel-03__body {
		margin-top: 1.7948717949vw;
		padding-top: 1.7948717949vw
	}
}

.p-panel-03__txt {
	line-height: 1.5
}

@media screen and (max-width: 767px) {
	.p-panel-03__txt {
		font-size: 3.5897435897vw
	}
}

.p-panel-04 {
	display: grid;
	grid-template-columns: 329px 1fr;
	gap: 72px
}

@media screen and (max-width: 767px) {
	.p-panel-04 {
		grid-template-columns: 1fr;
		gap: 3.8461538462vw
	}
}

.p-panel-04__head {
	position: relative;
	text-align: center
}

@media screen and (max-width: 767px) {
	.p-panel-04__head img {
		width: 84.358974359vw;
		height: auto
	}
}

.p-panel-04__name {
	position: absolute;
	top: 225px;
	right: 0;
	left: 0;
	margin: 0 -10px;
	text-align: center;
	font-size: 2rem;
	font-weight: 700
}

@media screen and (max-width: 767px) {
	.p-panel-04__name {
		top: 57.6923076923vw;
		margin: 0 -2.5641025641vw;
		font-size: 5.1282051282vw
	}
}

.p-panel-04__name span {
	display: inline-block;
	background-color: #fff;
	padding: 0 5px;
	line-height: 2
}

@media screen and (max-width: 767px) {
	.p-panel-04__name span {
		padding: 0 1.2820512821vw
	}
}

.p-panel-04__name span:nth-of-type(2) {
	margin-top: 5px
}

@media screen and (max-width: 767px) {
	.p-panel-04__name span:nth-of-type(2) {
		margin-top: 1.2820512821vw
	}
}

.p-panel-04__body {
	padding: 20px 0
}

@media screen and (max-width: 767px) {
	.p-panel-04__body {
		padding: 0
	}
}

.p-panel-04__hdg {
	border-bottom: 1px solid var(--colorPrimary);
	padding-bottom: 15px;
	font-size: 2rem;
	font-weight: 700
}

@media screen and (max-width: 767px) {
	.p-panel-04__hdg {
		padding-bottom: 3.8461538462vw;
		font-size: 5.1282051282vw
	}
}

.p-panel-04__txt {
	margin-top: 17px;
	line-height: 1.5
}

@media screen and (max-width: 767px) {
	.p-panel-04__txt {
		margin-top: 4.358974359vw
	}
}

.p-panel-04__txt p+p {
	margin-top: 23px
}

@media screen and (max-width: 767px) {
	.p-panel-04__txt p+p {
		margin-top: 1em
	}
}

.p-form-group {
	background-color: #fff;
	border-radius: 20px;
	border: 2px solid var(--colorPrimary);
	box-shadow: 4px 4px 4px var(--colorPrimary);
	overflow: hidden
}

.p-form-item {
	display: grid;
	grid-template-columns: 220px 1fr
}

@media screen and (min-width: 768px) {
	.p-form-item {
		min-height: 78px
	}
}

@media screen and (max-width: 767px) {
	.p-form-item {
		grid-template-columns: 1fr
	}
}

.p-form-item dt {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background-color: var(--colorGray);
	font-family: PixelMplus12-Bold
}

@media screen and (max-width: 767px) {
	.p-form-item dt {
		gap: 2vw;
		padding: 4.6153846154vw;
		font-size: 3.5897435897vw
	}
}

.p-form-item dd {
	display: grid;
	align-items: center;
	padding: 20px
}

@media screen and (max-width: 767px) {
	.p-form-item dd {
		border-top: 1px solid #cac9c9;
		padding: 5.1282051282vw
	}
}

@media screen and (min-width: 768px) {
	.p-form-item+.p-form-item {
		border-top: 1px solid #cac9c9
	}
}

.p-form-req {
	display: inline-grid;
	place-items: center;
	border: 1px solid var(--colorRed);
	width: 44px;
	height: 20px;
	font-family: PixelMplus12-Bold;
	font-size: 1.2rem;
	color: var(--colorRed);
	line-height: 1
}

@media screen and (max-width: 767px) {
	.p-form-req {
		width: 11.2820512821vw;
		height: 5.1282051282vw;
		font-size: 3.0769230769vw
	}
}

.p-form-input {
	border: 1px solid #d9d9d9;
	max-width: 320px;
	height: 40px;
	padding: 5px;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}

@media screen and (max-width: 767px) {
	.p-form-input {
		max-width: 81.0256410256vw
	}
}

.p-form-input:focus {
	border: 1px solid var(--colorYellow);
	box-shadow: 0px 0px 10px var(--colorYellow)
}

.p-form-textarea {
	border: 1px solid #d9d9d9;
	width: 100%;
	max-width: 720px;
	height: 280px;
	padding: 8px 4px;
	resize: vertical;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}

@media screen and (max-width: 767px) {
	.p-form-textarea {
		width: 100%;
		height: 71.7948717949vw;
		padding: 2.0512820513vw 1.0256410256vw
	}
}

.p-form-textarea:focus {
	border: 1px solid var(--colorYellow);
	box-shadow: 0px 0px 10px var(--colorYellow)
}

.p-form-radio input {
	position: relative;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	width: 24px;
	height: 24px;
	letter-spacing: .05em;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	vertical-align: middle;
	cursor: pointer
}

@media screen and (max-width: 767px) {
	.p-form-radio input {
		width: 5.641025641vw;
		height: 5.641025641vw
	}
}

.p-form-radio input::before,
.p-form-radio input::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto
}

.p-form-radio input::before {
	top: -5px;
	left: 0;
	border: 1px solid var(--colorPrimary);
	background-color: var(--colorWhite);
	border-radius: 50%;
	width: inherit;
	height: inherit;
	transition: background-color .3s
}

.p-form-radio input::after {
	content: "";
	top: -6px;
	right: 0;
	bottom: 0;
	left: 0;
	border-radius: 50%;
	background-color: var(--colorRed);
	width: 50%;
	height: 50%;
	margin: auto;
	line-height: 1;
	opacity: 0;
	transition: opacity .1s
}

.p-form-radio input:checked::after {
	opacity: 1
}

.p-form-radio input+span {
	margin-left: 6px;
	font-size: 1.6rem
}

@media screen and (max-width: 767px) {
	.p-form-radio input+span {
		margin-left: 0;
		font-size: 3.5897435897vw
	}
}

@media screen and (min-width: 768px) {
	.p-form-radio .wpcf7-list-item {
		margin: 0 0 0 .5em
	}
}

.p-form-radio .wpcf7-list-item:first-child {
	margin-left: 0
}

.p-form-btn-wrap {
	margin-top: 45px;
	text-align: center
}

.p-form-btn p {
	width: inherit;
	height: inherit
}

.p-form-btn input {
	position: relative;
	left: 10px;
	width: inherit;
	height: inherit;
	padding-right: 20px
}

.p-faq__ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 3.2rem;
	font-weight: 900
}

.p-faq__ttl::before,
.p-faq__ttl::after {
	content: "";
	display: inline-block;
	background: url(../img/common/ico_question.svg) no-repeat;
	width: 37px;
	height: 34px
}

.p-worries__hdg {
	position: relative;
	z-index: 2
}

.p-worries__hdg-lg {
	position: relative;
	text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
	z-index: 3;
	color: var(--colorWhite)
}

.p-worries__hdg-lg::before {
	content: "";
	display: block;
	position: absolute;
	top: -55px;
	left: 0;
	background-color: var(--colorPrimary);
	border-radius: 50%;
	width: 267px;
	height: 267px;
	z-index: -1
}

@media screen and (max-width: 767px) {
	.p-worries__hdg-lg::before {
		top: -9.4871794872vw;
		width: 30.7692307692vw;
		height: 30.7692307692vw
	}
}

.p-worries__body {
	position: relative;
	margin-top: 53px
}

@media screen and (max-width: 767px) {
	.p-worries__body {
		margin-top: 7.4358974359vw
	}
}

.p-worries__body:before {
	content: "";
	display: block;
	position: absolute;
	top: -112px;
	right: 20px;
	left: 0;
	border-radius: 50%;
	background-color: #fff;
	width: 497px;
	height: 497px
}

@media screen and (min-width: 768px) {
	.p-worries__body:before {
		margin: auto
	}
}

@media screen and (max-width: 767px) {
	.p-worries__body:before {
		top: -14.1025641026vw;
		left: initial;
		right: -2.5641025641vw;
		width: 63.5897435897vw;
		height: 63.5897435897vw
	}
}

.p-worries__list {
	display: flex;
	flex-wrap: wrap
}

@media screen and (min-width: 1201px) {
	.p-worries__list {
		margin-right: -35px
	}
}

@media screen and (max-width: 767px) {
	.p-worries__list {
		flex-direction: column;
		gap: 4.358974359vw
	}
}

.p-worries__item {
	position: relative;
	z-index: 3
}

@media screen and (max-width: 1200px) {
	.p-worries__item {
		width: 50%
	}
}

@media screen and (max-width: 767px) {
	.p-worries__item {
		width: 71.5384615385vw;
		margin: 0 auto 0 6.9230769231vw
	}
}

@media screen and (max-width: 767px) {
	.p-worries__item:nth-child(1) {
		order: 1
	}
}

@media screen and (min-width: 768px) {
	.p-worries__item:nth-child(2) {
		margin-top: 98px
	}
}

@media screen and (max-width: 767px) {
	.p-worries__item:nth-child(2) {
		order: 3
	}
}

@media screen and (min-width: 768px) {
	.p-worries__item:nth-child(3) {
		margin-top: -80px
	}
}

@media screen and (max-width: 767px) {
	.p-worries__item:nth-child(3) {
		order: 2
	}
}

@media screen and (min-width: 768px) {
	.p-worries__item:nth-child(4) {
		margin-top: 25px
	}
}

@media screen and (max-width: 767px) {
	.p-worries__item:nth-child(4) {
		order: 4
	}
}

.p-welcome__loop-txt-wrap {
	background-color: var(--colorPrimary);
	padding: 22px 0 20px;
	overflow-x: hidden
}

@media screen and (max-width: 767px) {
	.p-welcome__loop-txt-wrap {
		padding: 2.8205128205vw 0 2.3076923077vw
	}
}

.p-welcome__hdg {
	text-align: center;
	font-family: PixelMplus12-Bold;
	font-size: 4rem;
	color: var(--colorPrimary)
}

@media screen and (max-width: 767px) {
	.p-welcome__hdg {
		font-size: 5.1282051282vw
	}
}

.p-welcome__body {
	background: url(../img/common/bg_cvt.jpg) bottom/cover no-repeat;
	padding: 26px 0
}

@media screen and (max-width: 767px) {
	.p-welcome__body {
		background: url(../img/common/bg_cvt_sp.jpg) top/cover no-repeat;
		padding: 8.7179487179vw 0 10vw
	}
}

.p-welcome__btn-wrap {
	display: grid;
	grid-auto-flow: column;
	justify-content: center;
	align-items: center;
	margin-top: 5px
}

@media screen and (max-width: 767px) {
	.p-welcome__btn-wrap {
		grid-auto-flow: row;
		margin-top: 6.4102564103vw
	}
}

@media screen and (min-width: 768px) {
	.p-welcome__btn-item+.p-welcome__btn-item {
		margin-left: 100px
	}
}

@media screen and (max-width: 767px) {
	.p-welcome__btn-item+.p-welcome__btn-item {
		margin-top: 5.1282051282vw
	}
}

.p-welcome__message {
	display: grid;
	grid-template-columns: 61px max-content;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 45px
}

@media screen and (max-width: 767px) {
	.p-welcome__message {
		grid-template-columns: 15.641025641vw max-content;
		gap: 3.5897435897vw;
		margin-top: 8.9743589744vw
	}
}

.p-welcome__message-txt {
	font-family: PixelMplus12-Bold;
	font-size: 2rem;
	color: var(--colorPrimary)
}

@media screen and (max-width: 767px) {
	.p-welcome__message-txt {
		font-size: 5.1282051282vw
	}
}

.p-village-unit {
	margin-top: 45px;
}

@media screen and (max-width: 767px) {
	.p-village-unit {
		margin-top: 6.1538461538vw;
	}
}

.p-village-unit__header {
	background-color: var(--colorSkyblue);
	padding: 5px;
	text-align: center
}

@media screen and (max-width: 767px) {
	.p-village-unit__header {
		padding: .7692307692vw
	}
}

.p-village-unit__hdg {
	font-family: PixelMplus12-Bold;
	font-size: 4rem;
	color: #fff
}

@media screen and (max-width: 767px) {
	.p-village-unit__hdg {
		font-size: 6.1538461538vw
	}
}

.p-village-unit__body {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	background-color: var(--colorPrimary);
	line-height: 1.5;
	color: #fff
}

@media screen and (max-width: 767px) {
	.p-village-unit__body {
		grid-template-columns: 1fr;
		padding: 30px 0
	}
}

.p-village-unit__img {
	display: grid;
	place-content: center
}

@media screen and (max-width: 767px) {
	.p-village-unit__img {
		width: 66.6666666667vw;
		height: 66.6666666667vw;
		margin: auto
	}
}

.p-village-unit__info {
	padding: 15px 60px 25px
}

@media screen and (max-width: 767px) {
	.p-village-unit__info {
		padding: 5.1282051282vw 14.6153846154vw 6.4102564103vw;
		font-size: 3.5897435897vw
	}
}

.p-village-unit__tel,
.p-village-unit__time,
.p-village-unit__price,
.p-village-unit__txt {
	margin-top: 1em;
	font-weight: 700
}

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

	.p-village-unit__tel,
	.p-village-unit__time,
	.p-village-unit__price,
	.p-village-unit__txt {
		margin-top: .5em
	}
}

@media screen and (max-width: 767px) {
	.p-village-unit__price {
		text-align: center
	}
}

@media screen and (max-width: 767px) {
	.p-village-unit__price img {
		width: 64.6153846154vw;
		height: auto
	}
}

.p-village-unit__txt {
	font-weight: 400
}

.p-village-unit__img-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	padding: 60px 90px
}

@media screen and (min-width: 768px) {
	.p-village-unit__img-list {
		grid-column: span 2
	}
}

@media screen and (max-width: 767px) {
	.p-village-unit__img-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 3.0769230769vw;
		padding: 8.4615384615vw 8.4615384615vw 5.1282051282vw
	}
}

.p-village-unit.p-village-unit--01 .p-village-unit__header {
	background-color: var(--colorRed)
}

.p-village-unit.p-village-unit--02 .p-village-unit__header {
	background-color: #00a0df
}

.p-village-unit.p-village-unit--03 .p-village-unit__header {
	background-color: #f29337
}

.u-color-yellow {
	color: var(--colorYellow)
}

.u-color-red {
	color: var(--colorRed)
}

.u-bg-white {
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	.u-hidden-ltSP {
		display: none
	}
}

@media screen and (max-width: 991px) {
	.u-hidden-ltTAB {
		display: none
	}
}

@media screen and (min-width: 768px) {
	.u-hidden-gtTAB {
		display: none
	}
}

@media screen and (min-width: 992px) {
	.u-hidden-gtPC {
		display: none
	}
}

.u-ta-left {
	text-align: left
}

.u-ta-center {
	text-align: center
}

.u-ta-right {
	text-align: right
}

@media screen and (max-width: 767px) {
	.u-SP-ta-left {
		text-align: left
	}

	.u-SP-ta-center {
		text-align: center
	}

	.u-SP-ta-right {
		text-align: right
	}
}
