@charset "Shift-JIS";

:root {
	--font-base: "A1 Mincho", "A-OTF A1明朝 Std", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	--font-century_old: "century-old-style-std", "A1 Mincho", "A-OTF A1明朝 Std", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	--font-noto_sans: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", 'メイリオ', Meiryo, sans-serif;
	--font-yu_gothic: "Yu Gothic Medium", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "Hiragino Sans", "Hiragino Kaku Gothic ProN", 'メイリオ', Meiryo, sans-serif;

	--color-white: #fff;
	--color-black01: #333;
	--color-gray01: #ddd;
	--color-gray02: #F3F5F7;
	--color-light_navy01: #5F8092;
	--color-pink01: #DC8291;

	--header-height: 10rem;
}

@media screen and (max-width:769px) {
	:root {
		--header-height: 7rem;
	}
}

*, *::before, *::after {
	box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
}

html {
	font-size: 62.5%;
	overflow: inherit !important;
	font-size: clamp(7px, 0.80vw, 10px);
}

body {
	position: relative;
	width: 100%;
	height: auto;
	left: 0;
	top: 0;
	padding-top: var(--header-height);
	background: #fff;
	color: var(--color-black01);
	font-size: 2.0rem;
	font-family: var(--font-base);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0;
	overflow: auto;
}

h2 {
	font-size: 3.2rem;
	font-weight: 400;
	line-height: 1.6;
}

h3 {
	font-size: 2.4rem;
	font-weight: 400;
	line-height: 1.62;
}

h4, h5 {
	font-size: 2.2rem;
	font-weight: 400;
}

p {
	font-size: 1em;
}

ul, ol, li {
	list-style: none;
}

a {
	outline: none;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

a, button {
	text-decoration: none;
	transition: opacity .25s ease, color .2s ease, background-color .2s ease;
	color: inherit;
}

a:hover, button:hover {
	opacity: 0.76;
}

a:not([class]) {
	text-decoration: underline;
	transition: opacity 0.1s;
}

a:not([class]):hover {
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}

select {
	color: var(--color-black02);
}

strong {
	font-weight: 700;
}

@media screen and (min-width:769px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

@media screen and (max-width:769px) {
	html {
		font-size: 10px;
		font-size: clamp(7px, 2.55vw, 20px);
	}

	body {
		font-size: 1.8rem;
	}

	h2 {
		font-size: 2.8rem;
	}

	h3 {
		font-size: 2.2rem;
	}

	img {
		width: 100%;
	}
}


/********************

   common

*********************/
/*****   class   *****/
#body_inner {
	width: 100%;
	max-width: 2200px;
	margin: 0 auto;
	overflow: hidden;
}

.contents_wrapper {
	position: relative;
	display: block;
	max-width: 128rem;
	width: 96%;
	padding: 0;
	margin: 0 auto;
	z-index: 10;
}

.main_section {
	padding: 12rem 0;
	border-top: 1px solid #D9DEE1;
}


@media screen and (min-width:769.02px) {
	.sp_only {
		display: none !important;
	}
}

@media screen and (max-width:769px) {
	#body_inner {
		width: 100%;
		min-width: 0px;
	}

	.pc_only {
		display: none !important;
	}

	.contents_wrapper {
		width: calc(100% - 3.2rem);
		padding: 0;
	}

	.main_section {
		padding: 7.3rem 0;
	}
}


/********************
   parts
*********************/
.attention_text {
	font-size: 1.4rem;
	line-height: 1.6;
}

.attention_mark {
	position: relative;
	top: -0.39em;
	left: -0.04em;
	font-size: 0.76em;
	letter-spacing: 0.1em;
}

.underline01 {
	--underline_color: #120f0f;
	position: relative;
	display: inline;
	font-size: 1.02em;
	background: linear-gradient(transparent 0%, transparent 55.9%, var(--underline_color) 55.9%, var(--underline_color) 100%, transparent 100%);
}

.img_section img {
	width: 100%;
}

@media screen and (max-width:769px) {
	.attention_text {
		font-size: 1.2rem;
		line-height: 1.4;
	}
}

/***   heading01   ***/
.heading01 {
	margin: 0 auto 3.2rem;
	font-size: 3.2rem;
	line-height: 1.4;
	text-align: center;
}

@media screen and (max-width:769px) {
	.heading01 {
		margin-bottom: 2.4rem;
		font-size: 2.4rem;
		text-align: left;
	}
}

/***   heading_block   ***/
.heading_block {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	margin: 0 auto 2.8rem;
	line-height: 1.4;
}

.heading_block:nth-of-type(n+2) {
	margin-top: 4.8rem;
}

.heading_block__heading {
	display: block;
	margin: 0;
	font-size: 4.8rem;
	font-weight: 400;
}

.heading_block__heading[data-lang="en"] {
	font-family: var(--font-century_old);
}

.heading_block__sub_heading {
	display: block;
	margin: 0.5em 0 0;
	font-size: 1.6rem;
}

@media screen and (max-width:769px) {
	.heading_block {
		margin-bottom: 2.4rem;
	}

	.heading_block__heading {
		font-size: 3.2rem;
	}
}

/*** breadcrumb ***/
.breadcrumb {
	width: calc(100% * 2 * var(--margi));
	padding: 1.6rem 0;
}

.breadcrumb .contents_wrapper {
	max-width: 132rem;
}

.breadcrumb__list {
	display: flex;
	justify-content: flex-start;
}

.breadcrumb__list_item {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	line-height: 1.4;
	font-size: 1.2rem;
	font-family: var(--font-yu_gothic);
	font-weight: 400;
}

.breadcrumb__list_item:nth-of-type(n+2)::before {
	content: "";
	position: relative;
	top: -0.1rem;
	display: inline-block;
	width: 1px;
	height: 80%;
	margin: 0;
	margin-left: 1.4em;
	margin-right: 1.2em;
	font-weight: 500;
	background: var(--color-black01);
}

.breadcrumb__list_item a {
	font-size: 1em;
	text-decoration: none;
	opacity: 0.5;
	transition: 0s;
}

.breadcrumb__list_item a:hover {
	opacity: 0.8;
	text-decoration: underline;
}

/***   movie_box   ***/
.movie_box {
	width: 100%;
	max-width: 700px;
	height: auto;
	aspect-ratio: 1600/900;
	position: relative;
	margin-right: auto;
	margin-left: auto;
	line-height: 0;
	background: #000;
}

.movie_box div,
.movie_box main,
.movie_box video,
.movie_box iframe {
	width: 100%;
	height: 100%;
	border: none;
}

/***   movie_box   ***/
.application_btn01 {
	--color: var(--color-pink01);
	--border_color: var(--color-pink01);
	--bg_color: var(--color-white);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 7rem;
	border: 2px solid var(--border_color);
	border-radius: 1.0rem;
	background: var(--bg_color);
	color: var(--color);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.8;
	box-shadow: 0 1.0rem 1.0rem color-mix(in srgb, var(--color-light_navy01) 20%, transparent);
	transition: 0s ease;
}

.application_btn01::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1.6rem;
	width: 1em;
	height: auto;
	aspect-ratio: 1/1;
	background: var(--color);
	-webkit-mask-image: url(../img/icon/icon-double_right_arrow.svg);
	mask-image: url(../img/icon/icon-double_right_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.application_btn01:hover {
	opacity: 1;
	--color: var(--color-white);
	--border_color: var(--color-pink01);
	--bg_color: var(--color-pink01);
	box-shadow: 0 0.5rem 0.5rem color-mix(in srgb, var(--color-light_navy01) 20%, transparent);
}


/******************

	animation   
	
*******************/
/******************   
	swiper
*******************/
body .swiper-pagination {
	position: relative;
	margin-top: 3.5rem;
}

body .swiper-pagination-bullet {
	width: 1.8rem;
	height: auto;
	margin: 0 0.55em !important;
	aspect-ratio: 1/1;
}

body .swiper-pagination-bullet-active {
	background: var(--color-green01);
}


/* arrow */
body .swiper-button-next,
body .swiper-button-prev {
	--swiper-navigation-size: 8.0rem;
	top: 20rem;
	color: var(--color-green01);
	transform: rotateX(25deg);
}

body .swiper-button-next:hover,
body .swiper-button-prev:hover {
	-webkit-filter: brightness(1.5);
	filter: brightness(1.5);
}

body .swiper-button-next {
	right: auto;
	left: calc(50% + 58.2rem);
}

body .swiper-button-prev {
	left: auto;
	right: calc(50% + 58.2rem);
}

@media screen and (max-width:769px) {

	body .swiper-button-next,
	body .swiper-button-prev {
		--swiper-navigation-size: 4.4rem;
		top: 17rem;
	}

	body .swiper-button-next {
		right: auto;
		left: calc(50% + 17rem);
	}

	body .swiper-button-prev {
		left: auto;
		right: calc(50% + 17rem);
	}
}

/******************   
	movie
*******************/
body.modal-active {
	position: fixed;
	left: 0;
	overflow: hidden;
}

.modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0;
	background: transparent;
	transition: opacity 0.4s;
	z-index: 9996;
}

.modal::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 200vw;
	height: 200vh;
	pointer-events: none;
	background: rgba(0, 0, 0, 0.82);
	z-index: -1;
}

.modal.modal-active {
	pointer-events: all;
	opacity: 1;
}

.modal__inner {}


.modal__contents {
	--max-height: 92.9svh;
	position: absolute;
	display: none;
	top: 50%;
	top: 50svh;
	left: 50%;
	transform: translateX(-50%) translateY(-48.2%);
	max-height: var(--max-height);
	box-sizing: border-box;

	opacity: 0;
	pointer-events: none;
}

.modal__contents.current {
	display: block;
	opacity: 1;
	pointer-events: all;
}


.modal__contents_inner {
	width: 100%;
	height: 100%;
	max-height: var(--max-height);
	overflow: auto;
	overflow-x: hidden;
}

.modal__cancel_btn {
	--size: 3.2em;
	position: absolute;
	top: 0;
	right: 0;
	width: var(--size);
	height: var(--size);
	cursor: pointer;
}

.modal__cancel_btn::before,
.modal__cancel_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 92%;
	height: 0.30em;
	border-radius: 73em;
	background: #fff;
}

.modal__cancel_btn::before {
	transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.modal__cancel_btn::after {
	transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

/*****
  movie_modal
*****/
.movie_modal__contents {
	width: 128rem;
	max-width: 96%;
}

.movie_modal__contents::before,
.movie_modal__contents::after {
	content: "";
	position: absolute;
	top: -2.0em;
	right: 0.25em;
	width: 2.0em;
	height: 0.25em;
	background: #fff;
	pointer-events: none;
	border-radius: 10em;
}

.movie_modal__contents::before {
	transform: rotate(45deg);
}

.movie_modal__contents::after {
	transform: rotate(-45deg);
}

.movie_modal__contents iframe, .movie_modal__contents img, .movie_modal__contents video {
	width: 100%;
	aspect-ratio: 1280/720;
	max-height: 76vh;
	-o-object-fit: contain;
	object-fit: contain;
	line-height: 1;
}

@media screen and (max-width:768px) {
	.movie_modal__contents {
		max-width: calc(100% - 3.2rem);
	}
}


/******************   
	acc
*******************/
.js-acc_switch {
	cursor: pointer;
}

.js-acc_target {
	display: none;
}


/********************

   header

*********************/
.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: var(--color-white);
	color: var(--color-black01);
	z-index: 1000;
}

.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 10rem);
	height: var(--header-height);
	padding: 1.0rem 0 1.6rem;
	margin: 0 auto;
}

.header__logo {
	line-height: 1;
}

.header__logo img {
	width: auto;
	height: 3.0rem;
}

/*** hamburger ***/
.hamburger_btn {
	position: relative;
	display: block;
	width: 4rem;
	height: auto;
	aspect-ratio: 1/1;
	background: transparent;
	cursor: pointer;
}

.hamburger_btn::before,
.hamburger_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 70%;
	height: 2px;
	background: var(--color-black01);
	border-radius: 1rem;
	transition: top 0.25s 0.25s, transform 0.25s 0s;
}

.hamburger_btn::before {
	top: calc(50% - 0.44rem);
}

.hamburger_btn::after {
	top: calc(50% + 0.44rem);
}

body.hamburger-active .hamburger_btn::before,
body.hamburger-active .hamburger_btn::after {
	top: 50%;
	transition: top 0.25s 0s, transform 0.25s 0.25s;
}

body.hamburger-active .hamburger_btn::before {
	transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

body.hamburger-active .hamburger_btn::after {
	transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.hamburger {
	position: absolute;
	top: 100%;
	right: 0;
	width: 100%;
	height: auto;
	min-height: calc(100svh - var(--header-height));
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	background: var(--color-white);

	pointer-events: none;
	opacity: 0;
	transform: translateY(10rem);
	transition: 0.4s ease-in-out;
}

body.hamburger-active .hamburger {
	pointer-events: all;
	opacity: 1;
	transform: translateY(0);
}

.hamburger_movie {
	flex: 1;
	height: auto;
}

.hamburger_movie video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.hamburger_contents {
	width: 100%;
	padding: 4rem 4rem 8rem;
	max-width: 87rem;
}

.hamburger_contents::before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 35rem;
	height: auto;
	aspect-ratio: 350/380;
	background-image: url(../img/hamburger_menu__iillust.png);
	background-repeat: no-repeat;
	background-size: cover;
}

.hamburger__nav {
	width: 100%;
	max-width: 44rem;
	margin: 0 auto;
}

.hamburger__nav_list_item {
	width: 100%;
	height: auto;
	border-bottom: 1px solid #D9DEE1;
}

.hamburger__nav_list_item_inner {
	display: block;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.8;
	padding: 1.6rem 0.2rem;
	transition: 0s;
}

.hamburger__nav_list_item_inner:hover {
	color: var(--color-light_navy01);
}

.hamburger__application_btn {
	margin-top: 3.2rem;
}

@media screen and (max-width:769px) {
	.header {}

	.header__inner {
		width: calc(100% - 3.2rem);
	}

	.header__logo img {
		height: 1.8rem;
	}


	/*** hamburger ***/
	.hamburger_btn {
		width: 3.0rem;
	}

	.hamburger_btn::before {
		top: calc(50% - 0.4rem);
	}

	.hamburger_btn::after {
		top: calc(50% + 0.4rem);
	}

	.hamburger {
		transform: translateY(5.5rem);
	}

	.hamburger_movie {
		display: none;
	}

	.hamburger_contents {
		padding: 2.4rem 2.4rem 5rem;
	}

	.hamburger_contents::before {
		width: 18.7rem;
	}

	.hamburger__nav_list_item_inner {
		font-size: 1.6rem;
	}
}

/********************

   footer

*********************/
.footer {
	position: relative;
	width: 100%;
	padding: 5.4rem 0 0;
	text-align: left;
	font-size: 1.5rem;
}

.footer__wrapper {
	max-width: 140rem;
}

.footer__logo img {
	width: 20rem;
}

.footer__site_list {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	-moz-column-gap: 1.6rem;
	column-gap: 1.6rem;
	margin-top: 3.5rem;
}

.footer__site_list_item a {
	display: block;
	text-decoration: none;
	transition: 0s;
}

.footer__site_list_item a:hover {
	opacity: 0.5;
}

.footer__site_list_item img {
	width: 16rem;
}

.footer__site_list_item figcaption {
	margin-top: 1.0rem;
	font-size: 1.2rem;
	font-weight: 400;
	font-family: var(--font-yu_gothic);
	line-height: 1.2;
}

.footer__nav_list {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	-moz-column-gap: 2.0rem;
	column-gap: 2.0rem;
	margin-top: 3.0rem;
}

.footer__nav_list a {
	text-decoration: none;
	transition: 0s;
}

.footer__nav_list a:hover {
	text-decoration: underline;
}

.footer__copyright {
	margin-top: 3.2rem;
	font-size: 1.4rem;
}

.footer__illust {
	margin-top: 0.8rem;
}

.footer__illust img {
	width: 100%;
}


@media screen and (max-width:769px) {
	.footer {
		padding-top: 5rem;
		font-size: 1.4rem;
	}

	.footer__logo img {
		width: 16rem;
	}

	.footer__site_list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		-moz-column-gap: 2.4rem;
		column-gap: 2.4rem;
		row-gap: 2.4rem;
	}

	.footer__site_list_item img {
		width: 100%;
	}

	.footer__site_list_item figcaption {
		margin-top: 1.0rem;
	}

	.footer__copyright {
		font-size: 1.2rem;
	}
}



/********************

  home

*********************/
body {
	padding-top: var(--header-height);
}

/********************

   main
   
*********************/
/*******************
	.fv
********************/
.fv {
	position: relative;
	font-size: clamp(7px, 0.7vw, 11px);
	height: 70em;
	overflow: hidden;
}

.fv+* {
	border-top: 0;
}

.fv__bg_illust {
	position: absolute;
}

.fv__bg_illust01 {
	top: 0;
	left: 0;
	width: 22.5em;
}

.fv__bg_illust02 {
	top: 0;
	right: 0;
	width: 17em;
}

.fv__bg_illust03 {
	bottom: 0;
	left: 0;
	width: 38em;
}

.fv__bg_illust04 {
	bottom: 0;
	right: 13em;
	width: 24em;
}

.fv__wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-size: 1em;
}

.fv__contents {
	font-size: 1em;
	text-align: center;
	line-height: 1.4;
}

.fv__illust {
	display: block;
	margin: 0 auto;
	width: 25em;
}

.fv__illust img {
	width: 100%;
}

.fv__tit {
	margin-top: 3.2em;
	font-size: 1em;
}

.fv__date {
	position: relative;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	row-gap: 0.4em;
	margin-top: 2.8em;
	font-weight: 700;
}

.fv__date>span:nth-of-type(1) {
	display: block;
	font-size: 3.2em;
}

.fv__date>span:nth-of-type(2) {
	display: block;
	font-size: 2.4em;
}

.fv__lead {
	position: relative;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	row-gap: 0.7em;
	margin-top: 2.6em;
	font-weight: 700;
}

.fv__lead>span:nth-of-type(1) {
	display: block;
	font-size: 2.4em;
}

.fv__lead>span:nth-of-type(2) {
	display: block;
	font-size: 1.4em;
}

.fv__lead>span:nth-of-type(3) {
	display: block;
	font-size: 2.0em;
}

.fv__application_block {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 1.6rem;
	width: 28em;
	background: var(--color-pink01);
	color: var(--color-white);
	z-index: 10;
	font-size: 1em;
	border-top-left-radius: 1.0rem;
}

.fv__application_block .application_btn01 {
	font-size: 1.8em;
}

.fv__application_block .application_btn01:hover {
	--color: var(--color-white);
	--border_color: var(--color-white);
	--bg_color: var(--color-pink01);
	-webkit-filter: brightness(1.1);
	filter: brightness(1.1);
}

.fv__application_block_text {
	margin-top: 1.2em;
	font-weight: 700;
	line-height: 1.6;
}

.fv__application_block_text>span:nth-of-type(1) {
	display: block;
	font-size: 1.6em;
}

.fv__application_block_text>span:nth-of-type(2) {
	display: block;
	font-size: 2.0em;
}


@media screen and (max-width:769px) {
	.fv {
		position: relative;
		font-size: 1rem;
		height: auto;
	}


	.fv__bg_illust01 {
		left: -0.4em;
		width: 10em;
	}

	.fv__bg_illust02 {
		right: -1.5em;
		width: 8.7em;
	}

	.fv__bg_illust03 {
		width: 21.5em;
	}

	.fv__bg_illust04 {
		bottom: -2em;
		right: -7em;
		width: 15em;
	}

	.fv__wrapper {
		padding: 5em 1em 12.5em;
		font-size: 1em;
	}

	.fv__illust {
		display: block;
		margin: 0 auto;
		width: 18em;
	}

	.fv__illust img {
		width: 100%;
	}

	.fv__tit {
		margin-top: 2.2em;
	}

	.fv__tit img {
		width: 21em;
	}

	.fv__date {
		display: block;
		margin-top: 2.6em;
	}

	.fv__date>span:nth-of-type(1) {
		display: inline-block;
		font-size: 2.4em;
	}

	.fv__date>span:nth-of-type(2) {
		display: inline-block;
		font-size: 1.6em;
		margin-left: 0.25em;
	}

	.fv__lead {
		row-gap: 0.5em;
		margin-top: 2.4em;
	}

	.fv__lead>span:nth-of-type(1) {
		display: block;
		font-size: 2.0em;
	}

	.fv__lead>span:nth-of-type(2) {
		display: block;
		font-size: 1.4em;
	}

	.fv__lead>span:nth-of-type(3) {
		display: block;
		font-size: 1.5em;
	}

	.fv__application_block {
		position: relative;
		padding: 0;
		width: 24em;
		margin: 2.4em auto 0;
		background: transparent;
		color: var(--color-pink01);
		border-radius: 0;
	}

	.fv__application_block_text {
		margin-top: 1.6em;
	}

	.fv__application_block_text>span:nth-of-type(2) {
		margin-top: 0.2em;
	}
}

/*******************
	.movie_sec
********************/
.movie_sec {
	position: relative;
	width: 100%;
	height: 80rem;
}

.movie_sec__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.movie_sec__bg video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.movie_sec__movie_btn {
	position: absolute;
	bottom: -2rem;
	right: 2.5rem;
	padding: 1.6rem 1.6rem 1.4rem;
	background: #fff;
	border-radius: 1.0rem;
	border: 1.5px solid var(--color-light_navy01);
	color: var(--color-light_navy01);
	box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.15);
	font-weight: 500;
	z-index: 10;
	cursor: pointer;
}

.movie_sec__movie_btn:hover {
	-webkit-filter: brightness(1.1);
	filter: brightness(1.1);
}

.movie_sec__movie_btn img {
	display: block;
	width: 19rem;
	margin: 0 0 1.2rem;
}

.movie_sec__movie_btn p {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	-moz-column-gap: 0.8rem;
	column-gap: 0.8rem;
	padding: 0 0.1em;
	line-height: 1.2;
}

.movie_sec__movie_btn p::after {
	content: "";
	position: relative;
	top: -0.08em;
	display: block;
	width: 1.7em;
	height: auto;
	aspect-ratio: 1/1;
	background-image: url(../img/icon/icon-play_circle.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (max-width:769px) {
	.movie_sec {
		height: 60rem;
		margin-bottom: 4rem;
	}

	.movie_sec__date {
		font-size: 2.4rem;
	}

	.movie_sec__time {
		font-size: 1.8rem;
	}

	.movie_sec__tit {
		font-size: 2.8rem;
	}

	.movie_sec__text {
		margin-top: 3.2rem;
	}

	.movie_sec__text>span {
		display: block;
	}

	.movie_sec__text>span:nth-of-type(1) {
		font-size: 2.0rem;
		margin-bottom: 0.8rem;
	}

	.movie_sec__text>span:nth-of-type(2) {
		font-size: 1.4rem;
		margin-bottom: 1.0rem;
	}

	.movie_sec__text>span:nth-of-type(3) {
		font-size: 1.6rem;
	}


	.add-to-calendar-button-wrapper {
		margin-top: 3.4rem;
	}


	.movie_sec__movie_btn {
		display: flex;
		align-items: center;
		justify-content: center;
		-moz-column-gap: 1.6rem;
		column-gap: 1.6rem;
		width: calc(100% - 3.5rem);
		bottom: 0;
		right: 50%;
		transform: translateX(50%) translateY(50%);
		padding: 1.6rem 1.2rem;
		color: var(--color-light_navy01);
		box-shadow: 0 0.8rem 0.8rem rgba(0, 0, 0, 0.15);
	}

	.movie_sec__movie_btn img {
		width: 10.2rem;
		margin: 0;
	}

	.movie_sec__movie_btn p {
		padding: 0;
	}

	.movie_sec__movie_btn p::after {}
}

/*******************
	.introduction
********************/
.introduction {
	position: relative;
	text-align: left;
}

.introduction .contents_wrapper {
	max-width: 80rem;
}

.introduction__heading {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 2.4rem;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.6;
}

.introduction__text {
	font-size: 1.8rem;
	line-height: 1.8;
}

.introduction__text+.introduction__text {
	margin-top: 2.4rem;
}

@media screen and (max-width:769px) {
	.introduction__heading {
		font-size: 2.8rem;
	}
}


/*******************
	.positive_age
********************/
.positive_age {
	position: relative;
}

.positive_age__text {
	text-align: center;
}

.positive_age__block {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 108rem;
	margin: 0 auto;
	gap: 2.4rem;
	margin-top: 4.8rem;
}

.positive_age__block_item {
	flex: 1;
}

@media screen and (max-width:769px) {
	.positive_age__block {
		flex-direction: column;
		gap: 1.6rem;
	}
}


/*******************
	.access
********************/
.access {
	position: relative;
	padding-bottom: 0;
	overflow: hidden;
}

.access .contents_wrapper {
	padding-bottom: 30rem;
}

.access .bg_illust {
	position: absolute;
}

.access .bg_illust01 {
	bottom: 0;
	left: -5.5rem;
	width: 24rem;
}

.access .bg_illust02 {
	bottom: 2rem;
	right: -0.4rem;
	width: 15rem;
}

.access__gmap {
	width: 100%;
}

.access__gmap iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 1280/390;
	border: none;
	border-radius: 2rem;
}

.access__address {
	margin: 2.0rem auto 0;
	text-align: center;
}

.access__bus_info {
	display: flex;
	align-items: center;
	justify-content: center;
	-moz-column-gap: 0.4em;
	column-gap: 0.4em;
	width: 100%;
	height: auto;
	padding: 0.8em 1em;
	margin: 1.6rem auto 0;
	border: 1px solid var(--color-gray01);
	border-radius: 0.8rem;
	font-size: 2.0rem;
	font-weight: 400;
	color: var(--color-light_navy01);
}

.access__bus_info::before {
	content: "";
	position: relative;
	top: -0.04em;
	display: block;
	background: var(--color-light_navy01);
	-webkit-mask-image: url(../img/icon/icon-bus.svg);
	mask-image: url(../img/icon/icon-bus.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	min-width: 1.6em;
	height: auto;
	aspect-ratio: 1/1;
}

.access__bus_info+p {
	margin-top: 1.6rem;
	text-align: center;
	font-size: 1.8rem;
}

.access__block {
	margin-top: 4.8rem;
}

.access__block+.access__block {
	margin-top: 1.0rem;
}

.access__block_tit_wrapper {
	position: relative;
	cursor: pointer;
}

.access__block_tit_wrapper:hover {
	opacity: 0.76;
}

.access__block_tit_wrapper::before,
.access__block_tit_wrapper::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1.8rem;
	width: 1.6rem;
	height: 1px;
	background: var(--color-black01);
	transition: 0.22s ease;
}

.access__block_tit_wrapper::after {
	transform: translateY(-50%) rotate(90deg);
}

.js-acc_wrapper.active .access__block_tit_wrapper::after {
	transform: translateY(-50%) rotate(90deg) scaleX(0);
}

.access__block_tit {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	-moz-column-gap: 0.55em;
	column-gap: 0.55em;
	width: 100%;
	padding: 1.6rem 1.6rem;
	background: var(--color-gray02);
	font-size: 2.0rem;
	line-height: 1.8;
}

.access__block_tit::before {
	content: "";
	position: relative;
	top: -0.04em;
	display: block;
	background: var(--color-black01);
	-webkit-mask-image: url(../img/icon/icon-car.svg);
	mask-image: url(../img/icon/icon-car.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	min-width: 1.6em;
	height: auto;
	aspect-ratio: 1/1;
}

.access__block_tit[data-icon="airplane"]::before {
	-webkit-mask-image: url(../img/icon/icon-airplane.svg);
	mask-image: url(../img/icon/icon-airplane.svg);
}

.access__block_tit[data-icon="train"]::before {
	-webkit-mask-image: url(../img/icon/icon-train.svg);
	mask-image: url(../img/icon/icon-train.svg);
}

.access__block_tit[data-icon="moon_stars"]::before {
	-webkit-mask-image: url(../img/icon/icon-moon_stars.svg);
	mask-image: url(../img/icon/icon-moon_stars.svg);
}

.access__block_contents_inner {
	position: relative;
	padding: 1.6rem 0 4rem;
}


.access__block_text {
	margin: 0;
	color: var(--color-light_navy01);
	font-size: 2.4rem;
}

.access__block_detail {
	margin-top: 0.4em;
}

.access__block_detail_head {
	display: inline;
	font-family: var(--font-noto_sans);
	font-weight: 700;
}

.access__block_detail_head::after {
	content: "：";
}

.access__block_detail_contents {
	display: inline;
}

.access__attention_text {
	margin-top: 0.2em;
}

.access__block_btn {
	--color: var(--color-pink01);
	--border_color: var(--color-pink01);
	--bg_color: var(--color-white);
	display: flex;
	align-items: center;
	-moz-column-gap: 1.4rem;
	column-gap: 1.4rem;
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 1.6rem 1.8rem;
	padding-right: 1.6em;
	margin-top: 1rem;
	border: 1px solid var(--border_color);
	border-radius: 0.5rem;
	background: var(--bg_color);
	color: var(--color);
	font-size: 1.8rem;
	font-family: var(--font-yu_gothic);
	font-weight: 400;
	line-height: 1.4;
	transition: 0s;
}

.access__block_btn::after {
	content: "";
	position: relative;
	top: -0.08em;
	display: block;
	width: 0.62em;
	height: auto;
	aspect-ratio: 1/1;
	border: 1px solid var(--color);
	border-top: 0;
	border-left: 0;
	transform: rotate(-45deg);
	transition: 0s;
}

.access__block_btn:hover {
	--color: var(--color-white);
	--bg_color: var(--color-pink01);
}

/* table */
.access__block_table_tit {
	display: flex;
	align-content: center;
	justify-content: center;
	margin-top: 1.6rem;
	margin-bottom: 1.6rem;
	font-size: 1.8rem;
	font-weight: 500;
	font-family: var(--font-noto_sans);
	padding: 0.8rem 1rem;
	line-height: 1.8;
	background: var(--color-gray02);
}

.access__block_table_block {
	display: flex;
	align-items: flex-start;
	-moz-column-gap: 4.8rem;
	column-gap: 4.8rem;
	row-gap: 4.8rem;
}

.access__block_table_block table {
	flex: 1;
	width: 100%;
	table-layout: fixed;
}

.access__block_table_block caption {
	padding: 0.30rem 1rem;
	background: var(--color-black01);
	color: var(--color-white);
	font-size: 1.4rem;
	font-family: var(--font-yu_gothic);
	font-weight: 400;
	line-height: 1.8;
	text-align: center;
}

.access__block_table_block th,
.access__block_table_block td {
	padding: 0.25rem 1rem;
	border: 1px solid var(--color-gray01);
	font-size: 1.4rem;
	font-family: var(--font-yu_gothic);
	font-weight: 400;
	line-height: 1.8;
	text-align: center;
}

.access__block_table_block td {
	font-size: 1.6rem;
}

.access__block_table_block thead th {
	background: var(--color-light_navy01);
	color: #fff;
}

.access__block_table_block tbody tr:nth-of-type(2n) {
	background: var(--color-gray02);
}

@media screen and (max-width:769px) {
	.access .contents_wrapper {
		padding-bottom: 20rem;
	}

	.access .bg_illust01 {
		bottom: -1.1rem;
		left: -4rem;
		width: 15rem;
	}

	.access .bg_illust02 {
		bottom: 1rem;
		right: 4.0rem;
		width: 9.2rem;
	}

	.access__gmap iframe {
		aspect-ratio: 350/320;
	}

	.access__bus_info {
		-moz-column-gap: 0.5em;
		column-gap: 0.5em;
		font-size: 1.8rem;
	}

	.access__bus_info::before {
		min-width: 1.8em;
	}

	.access__bus_info+p {
		font-size: 1.6rem;
	}

	.access__block_tit {
		font-size: 1.8rem;
	}

	.access__block_tit::before {
		width: 1.8em;
	}

	.access__block_text {
		font-size: 1.8rem;
	}


	/* table */
	.access__block_table_block {
		display: flex;
		flex-direction: column;
		-moz-column-gap: 1.6rem;
		column-gap: 1.6rem;
		row-gap: 1.6rem;
	}

	.access__block_table_block table {
		flex: 1;
		width: 100%;
		table-layout: fixed;
	}

	.access__block_table_block td {
		text-align: right;
	}
}



/*******************
	.festa_events
********************/
.festa_events {
	position: relative;
	padding-bottom: 0;
}

.festa_events .contents_wrapper {
	padding-bottom: 30rem;
}

.festa_events .bg_illust {
	position: absolute;
}

.festa_events .bg_illust01 {
	top: 0;
	right: 0;
	width: 22rem;
}

.festa_events .bg_illust02 {
	bottom: 2rem;
	left: 0;
	width: 26rem;
}

.festa_events .bg_illust03 {
	bottom: 0;
	right: -10rem;
	width: 40rem;
}


.festa_events__text {
	margin-top: 1.6rem;
	text-align: center;
}

.festa_events__strong_text {
	margin-top: 5.4rem;
	font-size: 2.4rem;
	line-height: 1.8;
	text-align: center;
}

.festa_events__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	-moz-column-gap: 4.8rem;
	column-gap: 4.8rem;
	row-gap: 4.8rem;
	margin-top: 4.8rem;
}

.festa_events__list_item_img_block img {
	width: 100%;
	height: auto;
	aspect-ratio: 400/266;
	-o-object-fit: cover;
	object-fit: cover;
}

.festa_events__list_item {
	border-radius: 0.8rem;
	overflow: hidden;
	box-shadow: 0 1.0rem 1.0rem rgba(0, 0, 0, 0.15);
}

.festa_events__list_item_contents {
	padding: 2.4rem 2.8rem 2.8rem;
}

.festa_events__list_item_tit {
	font-size: 2.4rem;
	line-height: 1.6;
}

.festa_events__list_item_text {
	margin-top: 1.0rem;
	font-size: 1.6rem;
	font-family: var(--font-yu_gothic);
	font-weight: 400;
	line-height: 1.6;
}

.festa_events__list_item_attention_text {
	margin-top: 0.8rem;
	font-size: 1.2rem;
	font-weight: 400;
	font-family: var(--font-yu_gothic);
	line-height: 1.6;
}


@media screen and (min-width:769px) {}

@media screen and (max-width:769px) {
	.festa_events .contents_wrapper {
		padding-bottom: 19rem;
	}

	.festa_events .bg_illust01 {
		width: 12.5rem;
	}

	.festa_events .bg_illust02 {
		bottom: 2rem;
		left: 0.8rem;
		width: 17rem;
	}

	.festa_events .bg_illust03 {
		right: -3.2rem;
		width: 15rem;
	}

	.festa_events .heading_block {
		margin-bottom: 1rem;
	}

	.festa_events__text {
		margin-top: 0.8rem;
	}

	.festa_events__strong_text {
		margin-top: 4.0rem;
		font-size: 1.8rem;
	}

	.festa_events__list {
		grid-template-columns: 1fr;
		row-gap: 2.4rem;
		margin-top: 4rem;
	}

	.festa_events__list_item_contents {
		padding: 1.8rem 1.8rem 2.2rem;
	}

	.festa_events__list_item_tit {
		font-size: 2.0rem;
	}

	.festa_events__list_item_text {
		margin-top: 0.6rem;
		font-size: 1.4rem;
	}

	.festa_events__list_item_attention_text {
		margin-top: 0.5rem;
	}
}


/*******************
	.voice
********************/
.voice {
	position: relative;
}

.voice__text {
	text-align: center;
}

.voice__block {
	max-width: 98rem;
	margin: 5rem auto 0;
}




/*******************
	.guideline
********************/
.guideline {
	position: relative;
}

.guideline--page {
	padding: 6rem 0;
}

.guideline__text {
	max-width: 80rem;
	margin: 4.4rem auto 0;
}

.guideline__text02 {
	max-width: 80rem;
	margin: 0 auto 2.4rem;
	font-size: 1.6rem;
	letter-spacing: 0.02em;
}

.guideline__wrapper {
	max-width: 80rem;
	margin: 2.6rem auto 0;
}

.guideline--page .guideline__wrapper {
	padding-left: 1.6rem;
}

.guideline__block {
	position: relative;
}

.guideline__block_head {
	position: relative;
	padding: 1.6rem 2.8rem 1.6rem 0;
	border-bottom: 1px solid #D9DEE1;
}

.guideline__block_head::before,
.guideline__block_head::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0.25rem;
	width: 1.6rem;
	height: 1px;
	background: var(--color-black01);
	transition: 0.22s ease;
}

.guideline__block_head::after {
	transform: translateY(-50%) rotate(90deg);
}

.js-acc_wrapper.active .guideline__block_head::after {
	transform: translateY(-50%) rotate(90deg) scaleX(0);
}

.guideline__block_head_inner {
	display: block;
	font-size: 1.8rem;
	line-height: 1.4;
}

.guideline__block_contents_inner {
	padding: 1.6rem 0 2.5rem;
	font-size: 1.4rem;
	font-family: var(--font-yu_gothic);
	line-height: 1.6;
}

.guideline__block_contents {
	padding-left: 1.4em;
}

.guideline__block_contents li {
	list-style: disc;
}

.guideline__block_contents li+li {
	margin-top: 1.2rem;
}

.guideline__block_contents a {
	text-decoration: underline;
	color: var(--color-light_navy01);
}

.guideline_faq__link {
	display: flex;
	align-items: center;
	justify-content: center;
	-moz-column-gap: 0.86em;
	column-gap: 0.86em;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 1rem 0.4rem;
	margin: 5.4rem auto 0;
	border-bottom: 1px solid var(--color-light_navy01);
	color: var(--color-light_navy01);
	font-size: 1.8rem;
	font-weight: 400;
	font-family: var(--font-yu_gothic);
	line-height: 1.4;
	transition: 0.1s;
}

.guideline_faq__link::after {
	content: "";
	position: relative;
	display: block;
	width: 1.2em;
	height: auto;
	aspect-ratio: 1/1;
	background: var(--color-light_navy01);
	-webkit-mask-image: url(../img/icon/icon-right_arrow.svg);
	mask-image: url(../img/icon/icon-right_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: 0.1s;
}

.guideline_faq__link:hover::after {
	transform: translateX(0.5rem);
}

@media screen and (max-width:769px) {
	.guideline__text {
		margin-top: 2.4rem;
	}

	.guideline__text02 {
		font-size: 1.4rem;
	}

	.guideline__wrapper {
		margin-top: 2.4rem;
		padding: 0 1.6rem;
	}

	.guideline--page {
		padding: 4rem 0;
	}
}


/*******************
	.faq
********************/
.faq {
	position: relative;
}

.faq--page {
	padding: 6rem 0 12rem;
}

.faq__wrapper {
	max-width: 80rem;
	margin: 4.4rem auto 0;
}

.faq--page .faq__wrapper {
	padding-left: 1.6rem;
}

.faq__block {
	position: relative;
}

.faq__block_head {
	position: relative;
	padding: 1.6rem 2.8rem 1.6rem 0;
	border-bottom: 1px solid #D9DEE1;
}

.faq__block_head::before,
.faq__block_head::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0.25rem;
	width: 1.6rem;
	height: 1px;
	background: var(--color-black01);
	transition: 0.22s ease;
}

.faq__block_head::after {
	transform: translateY(-50%) rotate(90deg);
}

.js-acc_wrapper.active .faq__block_head::after {
	transform: translateY(-50%) rotate(90deg) scaleX(0);
}

.faq__block_head_inner {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	-moz-column-gap: 0.8rem;
	column-gap: 0.8rem;
	font-size: 1.6rem;
	line-height: 1.4;
}

.faq__block_head_inner::before {
	content: "Q";
	position: relative;
	top: -0.04rem;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 2.4rem;
	width: 2.4rem;
	height: auto;
	aspect-ratio: 1/1;
	border-radius: 10rem;
	background: var(--color-gray02);
	font-family: var(--font-century_old);
	font-size: 1.4rem;
	line-height: 1;
}

.faq__block_contents_inner {
	padding: 1.6rem 0 2.5rem;
	font-size: 1.4rem;
	font-family: var(--font-yu_gothic);
	font-weight: 400;
	line-height: 1.6;
}

.faq__block_contents a {
	text-decoration: underline;
	color: var(--color-light_navy01);
}

@media screen and (max-width:769px) {
	.faq--page {
		padding: 4rem 0 8rem;
	}

	.faq__wrapper {
		margin-top: 2.4rem;
		padding: 0 1.6rem;
	}
}


/*******************
	.contact_section
********************/
.contact_section {
	padding: 8rem 0;
}

.contact_section__lead {
	margin-top: 5rem;
	font-size: 2.4rem;
	text-align: center;
	line-height: 1.4;
}

.contact_section__lead>span:nth-of-type(1) {
	display: block;
}

.contact_section__lead>span:nth-of-type(2) {
	display: block;
	margin-top: 1.6rem;
}

.contact_section__block {
	display: flex;
	align-items: center;
	justify-content: space-between;
	-moz-column-gap: 4.8rem;
	column-gap: 4.8rem;
	width: 100%;
	max-width: 86rem;
	margin: 0 auto;
}

.contact_section__application_block {
	flex: 1;
	text-align: center;
}

.contact_section__application_block_logo {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
	text-align: center;
}

.contact_section__application_block_logo img {
	width: 21rem;
}

.contact_section .application_btn01 {
	margin-top: 3.5rem;
}

.contact_section__application_block_text {
	margin-top: 2.8rem;
	color: var(--color-pink01);
	line-height: 1.6;
}

.contact_section__application_block_text>span:nth-of-type(1) {
	display: block;
	font-size: 2.0rem;
}

.contact_section__application_block_text>span:nth-of-type(2) {
	display: block;
	margin-top: 0.6rem;
	font-size: 2.4rem;
}

/* tel */
.contact_section__tel_block {
	width: 40rem;
}

.contact_section__tel_block_heading {
	font-size: 3.2rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
}

.contact_section__tel_block_text {
	margin-top: 1.4rem;
	font-size: 1.6rem;
	font-family: var(--font-yu_gothic);
	line-height: 1.2;
	text-align: center;
}

.contact_section__tel_list {
	margin-top: 2.4rem;
	border-top: 1px solid #D9DEE1;
}

.contact_section__tel_list_item {
	padding: 1.8rem;
	border-bottom: 1px solid #D9DEE1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	row-gap: 0.4rem;
}

.contact_section__tel_list_item_text {
	font-family: var(--font-yu_gothic);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.2;
}

.contact_section__tel_list_item_link {
	display: flex;
	align-items: center;
	justify-content: center;
	-moz-column-gap: 0.6rem;
	column-gap: 0.6rem;
	font-size: 3.2rem;
	font-family: var(--font-century_old);
	line-height: 1.4;
	letter-spacing: 0.05em;
}

.contact_section__tel_list_item_link::before {
	content: "";
	position: relative;
	display: block;
	width: auto;
	height: 0.80em;
	aspect-ratio: 42/24;
	background-image: url(../img/icon/icon-freecall.svg);
	background-size: contain;
	background-repeat: no-repeat;
}


@media screen and (max-width:769px) {
	.contact_section {
		padding: 6rem 0;
	}

	.contact_section__block {
		flex-direction: column;
		row-gap: 3.5rem;
	}

	.contact_section__application_block {
		width: 100%;
	}

	.contact_section .application_btn01 {
		width: 100%;
	}


	.contact_section__application_block_text {
		margin-top: 2.6rem;
	}

	/* tel */
	.contact_section__tel_block {
		width: 100%;
	}

	.contact_section__tel_block_heading {
		font-size: 2.4rem;
	}

	.contact_section__tel_block_text {
		font-size: 1.2rem;
	}

	.contact_section__tel_list {
		margin-top: 2.4rem;
		border-top: 1px solid #D9DEE1;
	}

	.contact_section__tel_list_item {
		padding: 2.0rem;
	}

}

/*******************
	.community
********************/
.community {
	position: relative;
	border-top: 1px solid #D9DEE1;
}

.community__block {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	-moz-column-gap: 0;
	column-gap: 0;
}

.community__img_block {
	width: 43%;
	height: auto;
}

.community__img_block img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.community__contents {
	flex: 1;
	max-width: 82rem;
	padding: 6rem 2rem;
	padding-right: 7rem;
	padding-left: max(3.4%, 4rem);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
}

.community__heading {
	font-size: 3.2rem;
	line-height: 1.6;
}

.community__text {
	margin-top: 2.8rem;
	font-size: 1.6rem;
	line-height: 1.8;
}

.community__list {
	margin: 2.4rem 0 0;
}

.community__list_item {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	-moz-column-gap: 0.4rem;
	column-gap: 0.4rem;
	line-height: 1.2;
	font-size: 2.0rem;
	color: var(--color-light_navy01);
}

.community__list_item::before {
	content: "";
	position: relative;
	display: block;
	min-width: 1.4em;
	height: auto;
	aspect-ratio: 1/1;
	background: var(--color-light_navy01);
	-webkit-mask-image: url(../img/icon/icon-check_circle.svg);
	mask-image: url(../img/icon/icon-check_circle.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.community__list_item:nth-of-type(n+2) {
	margin-top: 1.4rem;
}


@media screen and (max-width:769px) {
	.community__block {
		flex-direction: column;
	}

	.community__img_block {
		width: 100%;
		height: auto;
	}

	.community__contents {
		padding: 5rem 2.0rem;
		display: flex;
		align-items: flex-start;
		justify-content: center;
		flex-direction: column;
	}

	.community__heading {
		font-size: 2.4rem;
	}

	.community__text {
		font-size: 1.6rem;
	}

	.community__text a {
		font-size: 1.4rem;
	}


	.community__list {
		margin: 2.2rem 0 0;
	}

	.community__list_item {
		-moz-column-gap: 0.6rem;
		column-gap: 0.6rem;
		font-size: 1.6rem;
	}

	.community__list_item:nth-of-type(n+2) {
		margin-top: 1.3rem;
	}
}


/*******************
	.page_fv
********************/
.page_fv {
	position: relative;
	padding: 2rem 0 4rem;
}

.page_fv__bg_illust {
	position: absolute;
}

.page_fv__illust {
	position: relative;
	margin: 0 auto 1.6rem;
	text-align: center;
}

.page_fv__illust img {
	width: 14rem;
}

.page_fv__heading_block {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	margin: 0 auto 2.8rem;
	line-height: 1.4;
}

.page_fv__heading_block_heading {
	display: block;
	margin: 0;
	font-size: 4.8rem;
	font-weight: 400;
}

.page_fv__heading_block_heading[data-lang="en"] {
	font-family: var(--font-century_old);
}

.page_fv__heading_block_text {
	display: block;
	margin: 0.5em 0 0;
	font-size: 1.6rem;
}

@media screen and (min-width:769px) {
	.page_fv__bg_illust {
		display: none;
	}
}

@media screen and (max-width:769px) {
	.page_fv {
		padding: 8rem 2rem;
	}

	.page_fv__bg_illust01 {
		top: 0;
		left: -2rem;
		width: 10.8rem;
	}

	.page_fv__bg_illust02 {
		top: 0;
		right: -1rem;
		width: 8.7rem;
	}

	.page_fv__heading_block {
		margin-bottom: 2.4rem;
	}

	.page_fv__illust,
	.page_fv__heading_block_heading {
		display: none;
	}

	.page_fv__heading_block_text {
		margin: 0;
	}
}

/*******************
	.news_block (お知らせ)
********************/

.news_block {
	max-width: 80rem;
	margin: 0 auto;
	padding: 2.4rem 4rem;
}

.news_block__list_item {
	border-bottom: 1px solid #D9DEE1;
}

.news_block__list_item a {
	display: flex;
	align-items: center;
	padding: 1.6rem 0;
}

.news_block__meta {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	width: 20rem;
	flex-shrink: 0;
}

.news_block__date {
	font-family: var(--font-noto_sans);
	font-size: 1.4rem;
	color: var(--color-black01);
}

.news_block__category {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.4rem 1.2rem;
	background: var(--color-gray02);
	color: var(--color-black01);
	font-size: 1.2rem;
	border-radius: 0.4rem;
	font-family: var(--font-noto_sans);
}

.news_block__tit {
	font-size: 1.6rem;
	line-height: 1.6;
	margin-left: 1.6rem;
	color: var(--color-black01);
}

.news_block__btn_wrapper {
	margin-top: 2.4rem;
	text-align: center;
}

.news_block__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1.2rem 4rem;
	background: var(--color-gray02);
	color: var(--color-black01);
	font-size: 1.4rem;
	border-radius: 0.4rem;
	text-decoration: none;
	transition: background 0.2s ease;
}

.news_block__btn::after {
	content: "";
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	margin-left: 1em;
	border-top: 1px solid var(--color-black01);
	border-right: 1px solid var(--color-black01);
	transform: rotate(45deg);
}

.news_block__btn:hover {
	background: #D9DEE1;
}

@media screen and (max-width:769px) {
	.news_block {
		width: 100%;
		padding: 1.6rem;
	}

	.news_block__list_item a {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.8rem;
		padding: 1.6rem 0;
	}

	.news_block__meta {
		width: 100%;
	}

	.news_block__tit {
		margin-left: 0;
		font-size: 1.4rem;
	}
}

.news--page {
    padding: 6rem 0 12rem;
}

.news__wrapper {
    max-width: 80rem;
    margin: 0 auto;
}


@media screen and (max-width:769px) {
    .news--page {
        padding: 4rem 0 8rem;
    }

    .news__wrapper {
        padding: 0 1.6rem;
    }
}
