.c-archive {
	border-radius: 0.625rem;
	display: grid;
	gap: 4.375rem;
	grid-template-columns: 22.5rem 1fr;
	padding: 5rem 6.25rem;
	transition: all 0.45s;
}

.c-archive__img img {
	-o-object-fit: cover;
	aspect-ratio: 360/240;
	border-radius: 0.625rem;
	object-fit: cover;
}

.c-archive__title.c-lead {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	margin-top: 1.0625rem;
	overflow: hidden;
}

.c-archive__time.c-p1-small {
	display: block;
	margin-top: 1.0625rem;
}

.c-arrow {
	align-items: center;
	display: flex;
	height: 3.1875rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 3.1875rem;
}

.c-arrow::before {
	background: url(../images/common/circle.svg) center center/90% no-repeat;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.45s;
	width: 100%;
}

.c-arrow::after {
	background: url(../images/common/arrow/btn-arrow.svg) center center/contain no-repeat;
	content: "";
	height: 34%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 38%;
}

.c-arrow.--plus::after {
	background: url(../images/common/plus.svg) center center/contain no-repeat;
}

.c-arrow.--close::after {
	background: url(../images/common/close.svg) center center/contain no-repeat;
}

.c-arrow.--small {
	height: 1.8125rem;
	width: 1.8125rem;
}

.c-arrow.--big {
	height: 3.3125rem;
	width: 3.625rem;
}

.c-bg {
	border-radius: 0.625rem;
	margin-inline: auto;
	max-width: 115.625rem;
	padding-block: 7.5rem;
	position: relative;
	width: 96.3541666667vw;
}

.c-block {
	align-items: center;
	display: flex;
	gap: 5rem;
	justify-content: space-between;
	position: relative;
}

.c-block__img {
	max-width: 37.5rem;
	padding-block: 1.5625rem;
	padding-inline: 1.125rem;
}

.c-block__content {
	flex-shrink: 0;
	width: 38.6875rem;
}

.c-block__text {
	margin-top: 1.25rem;
}

.c-block__illust {
	position: absolute;
	width: 13.125rem;
	z-index: 1;
}

.c-block__subLead {
	margin-top: 2.25rem;
}

.c-box {
	align-items: center;
	border-radius: 0.625rem;
	display: grid;
	gap: 5.291005291%;
	grid-template-columns: 52.9100529101% 1fr;
	padding: 4.4375rem 4.625rem;
	position: relative;
}

.c-box__title.c-fukidashi {
	left: 50%;
	position: absolute;
	top: -1.5625rem;
	transform: translateX(-50%);
	white-space: nowrap;
}

.c-box__text {
	margin-top: 1.25rem;
}

.c-box__text p + p {
	margin-top: 0.5em;
}

.c-btn {
	align-items: center;
	background-color: #fff;
	border-radius: 0.625rem;
	display: inline-flex;
	font-size: 1.125rem;
	height: 4.0625rem;
	letter-spacing: 0.1em;
	padding-inline: 1.625rem 4rem;
	position: relative;
	text-align: left;
	transition: all 0.45s;
	width: 18.75rem;
}

.c-btn.--wide {
	width: 23rem;
}

.c-btn__arrow {
	right: 1.1875rem;
}

.c-btn.--reverse {
	flex-direction: row-reverse;
	padding-inline: 4rem 1.625rem;
}

.c-btn.--reverse .c-btn__arrow {
	left: 1.1875rem;
	right: initial;
	transform: translateY(-50%) rotate(180deg);
}

.c-card {
	border-radius: 0.625rem;
	display: flex !important;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

.c-card__head {
	position: relative;
}

.c-card__img img {
	-o-object-fit: cover;
	aspect-ratio: 650/405;
	object-fit: cover;
	width: 100%;
}

.c-card__nunmber {
	background: url(../images/common/bg_step.webp) center top/100% auto no-repeat;
	bottom: -1.875rem;
	font-size: 2.5rem;
	height: 5.625rem;
	left: 2.5625rem;
	padding-top: 0.875rem;
	position: absolute;
	text-align: center;
	text-transform: uppercase;
	width: 8.625rem;
}

.c-card__nunmber span {
	font-size: 3.125rem;
}

.c-card__body {
	flex-grow: 1;
	padding: 1.75rem 3.5625rem 3rem;
}

.c-card__text {
	margin-top: 1rem;
}

.c-case {
	background-color: #fff;
	border-radius: 0.625rem;
	height: 100%;
	overflow: hidden;
	padding: 2.8125rem 3.4375rem 5.625rem;
	position: relative;
}

.c-case::before {
	background: linear-gradient(to bottom, transparent, white 50%);
	bottom: 0;
	content: "";
	height: 13.3125rem;
	left: 0;
	pointer-events: none;
	position: absolute;
	transition: all 0.1s;
	width: 100%;
}

.c-case__img {
	border-radius: 0.625rem;
	overflow: hidden;
	position: relative;
}

.c-case__img::before {
	background: url(../images/common/arrow/before-after.webp) center center/contain no-repeat;
	content: "";
	height: 1.9375rem;
	inset: 0;
	margin: auto;
	position: absolute;
	width: 4.375rem;
}

.c-case__img picture {
	-o-object-fit: cover;
	aspect-ratio: 500/170;
	object-fit: cover;
	width: 100%;
}

.c-case__after {
	margin-top: 0.1875rem;
}

.c-case__title {
	margin-top: 1.375rem;
}

.c-case__info.c-p2-middle {
	display: grid;
	gap: 0rem 2.375rem;
	grid-template-columns: 6.4375rem 1fr;
	margin-top: 1.375rem;
}

.c-case__links {
	border-top: 1px solid #494949;
	margin-top: 1.5625rem;
	padding-top: 1.5625rem;
}

.c-case__link {
	align-items: flex-start;
	display: grid;
	grid-template-columns: 1em 1fr;
}

.c-case__link::before {
	content: "・";
	display: block;
}

.c-case__btn {
	align-items: center;
	bottom: 2.625rem;
	display: flex;
	font-size: 1rem;
	gap: 0.5rem;
	justify-content: center;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.c-case__btn .c-arrow {
	position: relative;
	transform: rotate(90deg);
	transition: all 0.45s;
}

.c-case__btnText {
	color: #494949;
	position: relative;
}

.c-case__btnText span {
	display: block;
	text-align: center;
	transition: all 0.45s;
	width: 100%;
}

.c-case__btnText span:nth-child(2) {
	opacity: 0;
	position: absolute;
	top: 0;
}

.c-case.is-opened::before {
	opacity: 0;
	visibility: hidden;
}

.c-case.is-opened .c-case__btnText span:nth-child(1) {
	opacity: 0;
}

.c-case.is-opened .c-case__btnText span:nth-child(2) {
	opacity: 1;
}

.c-case.is-opened .c-case__btn .c-arrow {
	transform: rotate(-90deg);
}

.c-columnCard__img {
	border-radius: 0.625rem;
	overflow: hidden;
}

.c-columnCard__img img {
	-o-object-fit: cover;
	aspect-ratio: 380/271;
	object-fit: cover;
}

.c-columnCard__body {
	margin-top: 1rem;
}

.c-columnCard__title {
	text-align: center;
}

.c-columnCard__text {
	margin-top: 0.5rem;
}

.c-compare {
	border-radius: 0.625rem;
	display: grid;
	grid-template-columns: 27.2307692308% 1fr 1fr;
}

.c-compare__img {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1.5rem 2.875rem;
}

.c-compare__img.--start {
	justify-content: flex-start;
}

.c-compare__img img {
	-o-object-fit: contain;
	margin-inline: auto;
	max-height: 7.875rem;
	max-width: 16.375rem;
	object-fit: contain;
}

.c-compare__caption {
	margin-top: 0.3125rem;
	text-align: center;
}

.c-compare__text {
	padding: 2.8125rem;
}

.c-compare__text li {
	display: grid;
	grid-template-columns: 1em 1fr;
}

.c-compare__text li + li {
	margin-top: 0.625rem;
}

.c-compare__text li::before {
	content: "・";
	display: block;
}

.c-compare__text li.yes,
.c-compare__text li.no {
	gap: 0.75rem;
}

.c-compare__text li.yes + li,
.c-compare__text li.no + li {
	margin-top: 0.375rem;
}

.c-compare__text li.yes::before {
	content: "◯";
}

.c-compare__text li.no::before {
	content: "×";
}

.c-compare__units {
	display: grid;
	gap: 4.5rem;
	grid-template-columns: repeat(3, 1fr);
}

.c-compare__unit span {
	aspect-ratio: 1;
	display: block;
}

.c-compare__unit span.maru2 {
	background: url(../images/common/maru2.webp) center center/contain no-repeat;
}

.c-compare__unit span.maru {
	background: url(../images/common/maru.webp) center center/contain no-repeat;
}

.c-compare__unit span.sankaku {
	background: url(../images/common/sankaku.webp) center center/contain no-repeat;
}

.c-compare__unit p {
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
}

.c-compare__price {
	font-size: 1.5rem;
	font-weight: bold;
	margin-top: 1.5rem;
}

.c-compare__price p {
	margin-top: 0.6875rem;
}

.c-compare__tag {
	border-radius: 0.625rem;
	padding: 0rem 0.75rem;
	width: -moz-fit-content;
	width: fit-content;
}

.c-compare__tag.u-bg00 {
	color: #99DBC0;
}

.c-contact {
	align-items: center;
	border-radius: 0.625rem;
	display: flex;
	height: 18.75rem;
	margin-inline: auto;
	max-width: 62.5rem;
	overflow: hidden;
	padding-left: 28.875rem;
	position: relative;
}

.c-contact__img {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 26.625rem;
}

.c-contact__img img {
	-o-object-fit: cover;
	-o-object-position: center right;
	height: 100%;
	object-fit: cover;
	object-position: center right;
}

.c-contact__content {
	padding-bottom: 0.625rem;
}

.c-contact__title {
	font-size: 1.8125rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 2;
}

.c-contact__tel {
	align-items: center;
	display: grid;
	gap: 1.6875rem;
	grid-template-columns: 3.25rem 1fr;
	margin-top: 1.0625rem;
}

.c-contact__tel a {
	font-size: 3.4375rem;
	letter-spacing: 0.15em;
}

.c-contact__text {
	font-size: 1.375rem;
	font-size: 0.95rem;
	letter-spacing: 0.05em;
	margin-top: 1.5rem;
}

.c-director {
	align-items: center;
	border-radius: 0.625rem;
	display: grid;
	gap: 6.875rem;
	grid-template-columns: 26.6875rem 1fr;
	padding-block: 3.4375rem;
	padding-inline: 10.25rem 12.5rem;
}

.c-director__position.c-p1-big {
	margin-top: -0.25rem;
}

.c-director__text.c-p2-small {
	margin-top: 0.625rem;
}

.c-director__btn {
	margin-top: 1.6875rem;
}

.c-flow {
	border-radius: 0.625rem;
	display: grid;
	gap: 0.625rem;
	grid-template-columns: 16.625rem 1fr;
}

.c-flow__head {
	border-radius: 0.625rem 0 0 0.625rem;
	min-height: 16.625rem;
	padding-inline: 1.875rem;
	padding-top: 1.25rem;
	position: relative;
}

.c-flow__head::before {
	background: url(../images/common/fukidashi2.webp) center center/100% 100% no-repeat;
	bottom: -1.125rem;
	content: "";
	height: 1.875rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 2.5625rem;
}

.c-flow__en {
	font-size: 2.5rem;
	text-align: center;
}

.c-flow__en span {
	font-size: 3.125rem;
}

.c-flow__img {
	margin-top: 0.875rem;
}

.c-flow__content {
	border-radius: 0 0.625rem 0.625rem 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 3.625rem 5.125rem 3.625rem 4rem;
}

.c-flow__text {
	margin-top: 1.5rem;
}

.c-flow__text a {
	color: #979797;
	text-decoration: underline;
}

.c-fukidashi {
	background-color: #C6F0D5;
	border-radius: 0.625rem;
	padding: 0.25rem 0.75rem 0.375rem;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1;
}

.c-fukidashi::before {
	background: url(../images/common/fukidashi.webp) center center/100% 100% no-repeat;
	bottom: -1.125rem;
	content: "";
	height: 1.875rem;
	left: 1.75rem;
	position: absolute;
	width: 1.4375rem;
	z-index: -1;
}

.c-hamburger {
	border-radius: 50%;
	height: 100%;
	position: relative;
	transition: all 0.45s;
	width: 100%;
}

.c-hamburger__border {
	background-color: #494949;
	display: inline-block;
	height: 1.5px;
	left: 50%;
	position: absolute;
	transform: translate(-50%, -50%);
	transition: all 0.45s;
	width: 2.6875rem;
}

.c-hamburger__border:nth-child(1) {
	top: calc(50% - 0.8125rem);
}

.c-hamburger__border:nth-child(2) {
	top: 50%;
}

.c-hamburger__letter {
	color: #494949;
	display: inline-block;
	font-size: 1.125rem;
	font-weight: 400;
	left: 50%;
	letter-spacing: 0.03em;
	position: absolute;
	top: calc(50% + 1.0625rem);
	transform: translate(-50%, -50%);
}

.c-hamburger__letter span {
	transition: all 0.45s;
}

.c-hamburger__letter span:nth-child(2) {
	left: 50%;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.c-hamburger.is-active .c-hamburger__border:nth-child(1) {
	top: calc(50% - 0.375rem);
	transform: translate(-50%, -50%) rotate(-17deg);
	width: 2.8125rem;
}

.c-hamburger.is-active .c-hamburger__border:nth-child(2) {
	top: calc(50% - 0.375rem);
	transform: translate(-50%, -50%) rotate(17deg);
	width: 2.8125rem;
}

.c-hamburger.is-active .c-hamburger__letter span:nth-child(1) {
	opacity: 0;
}

.c-hamburger.is-active .c-hamburger__letter span:nth-child(2) {
	opacity: 1;
}

.c-latestNews {
	align-items: center;
	bottom: -1px;
	display: grid;
	grid-template-columns: 7.25rem 1fr;
	padding: 1.25rem;
	position: absolute;
	right: 0;
	width: 30rem;
}

.c-latestNews::before {
	background-color: #fff;
	border-left: 1px solid #494949;
	border-top: 1px solid #494949;
	border-top-left-radius: 1.875rem;
	bottom: 0;
	content: "";
	height: 100%;
	position: absolute;
	right: 0;
	transition: all 0.3s;
	width: 100%;
}

.c-latestNews__title {
	font-size: 1.625rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	position: relative;
	text-align: center;
	z-index: 1;
}

.c-latestNews__content {
	padding-inline: 1.5625rem 1rem;
	position: relative;
}

.c-latestNews__content::before {
	background-color: #494949;
	content: "";
	height: 3.625rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
}

.c-latestNews__time {
	display: block;
	font-size: 0.625rem;
	letter-spacing: 0.2em;
	line-height: 1.2;
}

.c-latestNews__text {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-top: 0.25rem;
	overflow: hidden;
}

.c-link {
	transition: all 0.45s;
}

.c-list {
	height: 100%;
}

.c-list__img {
	border-radius: 0.6875rem;
	overflow: hidden;
}

.c-list__img img {
	-o-object-fit: cover;
	aspect-ratio: 300/214;
	object-fit: cover;
}

.c-list__title {
	margin-top: 1.0625rem;
	text-align: center;
}

.c-list__text {
	margin-top: 1.0625rem;
}

.c-listContent {
	align-items: center;
	border-radius: 0.625rem;
	display: grid;
	gap: 2.0625rem;
	grid-template-columns: 20.0625rem 1fr;
	padding: 1.875rem 4.5625rem 1.875rem 1.875rem;
}

.c-listContent__text {
	margin-top: 1.25rem;
}

.c-listContent__text p + p {
	margin-top: 0.25em;
}

.c-modal-box {
	margin-top: 2.75rem;
	padding: 2.5rem;
}

.c-modal-box__tool li {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr 13.125rem;
}

.c-modal-box__tool li + li {
	margin-top: 1.125rem;
}

.c-modal-box__content p {
	margin-top: 0.5rem;
}

.c-modal-box__info {
	display: grid;
	gap: 2.625rem 1.375rem;
	grid-template-columns: 10rem 1fr;
	margin-top: 1.75rem;
}

.c-modal-box__info ol {
	list-style-type: decimal;
	padding-left: 1.25rem;
}

.c-modal-box__info ul {
	margin-left: -0.25em;
}

.c-modal-box__info ul li {
	display: grid;
	grid-template-columns: 1.25em 1fr;
}

.c-modal-box__info ul li::before {
	content: "・";
	display: block;
	width: 1.25em;
}

.c-navBigBtn {
	align-items: center;
	border-radius: 0.625rem;
	display: grid;
	gap: 0.625rem;
	grid-template-columns: 5rem 1fr;
	min-height: 9.75rem;
	overflow: hidden;
	padding-left: 12.375rem;
	position: relative;
	transition: all 0.45s;
}

.c-navBigBtn__img {
	border-radius: 50%;
	bottom: -0.9375rem;
	height: 17.75rem;
	left: -6.5625rem;
	overflow: hidden;
	position: absolute;
	width: 17.75rem;
}

.c-navBigBtn__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: all 0.45s;
}

.c-navBigBtn__content {
	padding-bottom: 0.625rem;
}

.c-navBigBtn__lead {
	font-size: 0.9375rem;
	line-height: 3.2;
}

.c-navBigBtn__title {
	font-size: 2rem;
	line-height: 1.5;
	margin-top: -0.75rem;
}

.c-navBtn {
	align-items: center;
	border-radius: 0.625rem;
	display: grid;
	gap: 0.625rem;
	grid-template-columns: 3.75rem 1fr;
	height: 100%;
	padding: 1.25rem 1.25rem;
	transition: all 0.45s;
}

.c-navBtn.--square {
	gap: 0;
	grid-template-columns: 100%;
	padding: 1.5625rem 1.25rem 1.375rem;
}

.c-navBtn.--square .c-navBtn__icon {
	height: 9.5rem;
	margin-inline: auto;
	width: 12.875rem;
}

.c-navBtn__text {
	font-size: 1.125rem;
	line-height: 2.4;
}

.c-navBtn.--square .c-navBtn__text {
	text-align: center;
}

.c-news {
	background-color: #fff;
	border-radius: 0.625rem;
	display: block;
	padding-block: 3.125rem;
	padding-inline: 4.375rem 10.875rem;
	position: relative;
	transition: all 0.45s;
}

.c-news__title.c-small-lead {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	display: -webkit-box;
	margin-top: 1.125rem;
	overflow: hidden;
}

.c-news__arrow {
	right: 3.25rem;
}

.c-pageLink {
	align-items: center;
	border-radius: 0.625rem;
	display: flex;
	margin-inline: auto;
	max-width: 62.5rem;
	min-height: 12.8125rem;
	padding-block: 2.8125rem;
	padding-left: 16rem;
	padding-right: 7.5rem;
	position: relative;
	transition: all 0.45s;
}

.c-pageLink__icon {
	left: 0;
	padding: 1.5625rem 1.125rem 1.5625rem 2rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 16rem;
}

.c-pageLink__lead {
	border-radius: 0.625rem;
	line-height: 1.8235294118;
	padding: 0.125rem 0.75rem;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1;
}

.c-pageLink__lead::before {
	background: url(../images/common/fukidashi.webp) center center/100% 100% no-repeat;
	bottom: -0.8125rem;
	content: "";
	height: 1.875rem;
	left: 1.5625rem;
	position: absolute;
	width: 1.375rem;
	z-index: -1;
}

.c-pageLink__title.c-h3-title {
	margin-top: 0.8125rem;
}

.c-pageLink__arrow {
	right: 3.3125rem;
}

.c-payment {
	border-radius: 0.625rem;
	margin-inline: auto;
	margin-top: 9.0625rem;
	max-width: 62.5rem;
	padding-block: 2.1875rem 1.0625rem;
	padding-inline: 1.25rem;
	position: relative;
}

.c-payment__title {
	font-size: 1.25rem;
	left: 0;
	line-height: 1.5;
	margin: auto;
	position: absolute;
	right: 0;
	top: -1.1875rem;
}

.c-payment__img {
	margin-inline: auto;
	max-width: 24.125rem;
}

.c-payment__text.c-p2-small {
	margin-top: 0.0625rem;
	text-align: center;
}

.c-play-btn {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.c-play-btn button {
	animation-direction: alternate;
	animation-duration: 6s;
	animation-iteration-count: infinite;
	animation-name: spinner;
	animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
	width: 13.1875rem;
}

.c-play-btn__cat {
	bottom: -1.25rem;
	position: absolute;
	right: -8.5rem;
	width: 12.375rem;
}

.c-price {
	align-items: center;
	border-radius: 0.625rem;
	display: grid;
	gap: 2.1875rem;
	grid-template-columns: 53.1531531532% 1fr;
	padding: 3.1875rem 5.9375rem;
}

.c-price__content {
	text-align: right;
}

.c-price__note.c-p1-small {
	font-size: 1.0625rem;
	line-height: 1.7647058824;
	margin-top: 0.875rem;
}

.c-progress {
	padding-top: 5.9375rem;
	position: relative;
}

.c-progress__title {
	left: 50%;
	margin-inline: auto;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
}

.c-progress__title.c-fukidashi::before {
	left: 50%;
	transform: translateX(-50%);
}

.c-progress__img {
	align-items: flex-end;
	display: flex;
	height: 11.8125rem;
	margin-inline: auto;
	width: 14.5rem;
}

.c-progress__body {
	margin-top: 2.375rem;
}

.c-progress__lead {
	text-align: center;
}

.c-progress__text {
	margin-top: 0.75rem;
}

.c-schedule {
	border-radius: 0.625rem;
}

.c-schedule__table {
	background-color: #fff;
	border-radius: 0.625rem;
	padding: 0.1875rem 1.125rem;
}

.c-schedule__table table {
	border-collapse: collapse;
	width: 100%;
}

.c-schedule__table table col:first-child {
	width: 14.875rem;
}

.c-schedule__table table col:not(:first-child) {
	width: calc((100% - 14.875rem) / 7);
}

.c-schedule__table table th {
	border-bottom: 1px solid #494949;
	font-size: 1.0625rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	padding-block: 0.75rem;
}

.c-schedule__table table td {
	font-size: 1.0625rem;
	letter-spacing: 0.2em;
	padding-block: 0.625rem;
	position: relative;
	text-align: center;
}

.c-schedule__table table td span {
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.c-schedule__table table td span.open {
	background-color: #494949;
	border-radius: 50%;
	height: 1rem;
	width: 1rem;
}

.c-schedule__table table td span.close {
	background-color: #494949;
	height: 1px;
	width: 0.8125rem;
}

.c-schedule__table table tbody td:first-child {
	padding-left: 1.375rem;
	text-align: left;
}

.c-schedule__table table tbody tr:first-child td {
	padding-bottom: 0.625rem;
	padding-top: 0.9375rem;
}

.c-schedule__table table tbody tr:last-child td {
	padding-bottom: 1.4375rem;
	padding-top: 0.625rem;
}

.c-schedule__note {
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.5;
	margin-top: 0.75rem;
	text-align: right;
}

.c-single {
	align-items: flex-start;
	border-radius: 0.625rem;
	display: flex;
	gap: 1.875rem;
	padding: 2.8125rem;
	transition: all 0.45s;
}

.c-single.next {
	flex-direction: row-reverse;
}

.c-single__img {
	flex-shrink: 0;
	width: 8rem;
}

.c-single__img img {
	-o-object-fit: cover;
	aspect-ratio: 1;
	border-radius: 0.625rem;
	object-fit: cover;
}

.c-single__content {
	margin-top: 0.8125rem;
}

.c-single__term {
	display: flex;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 2;
}

.c-single__term::before {
	color: #99DBC0;
	content: "#";
	display: block;
}

.c-single__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	display: -webkit-box;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.5;
	margin-top: 0.375rem;
	overflow: hidden;
}

.c-staff {
	border-radius: 0.625rem;
	height: 100%;
	padding: 3.75rem 3.25rem 2.375rem;
	position: relative;
}

.c-staff__comment.c-fukidashi {
	font-size: 1.0625rem;
	font-weight: bold;
	left: 0;
	line-height: 1.4705882353;
	margin: auto;
	max-width: 90%;
	padding-inline: 0.9375rem;
	position: absolute;
	right: 0;
	text-align: center;
	top: -2.1875rem;
}

.c-staff__img {
	border-radius: 50%;
	margin-inline: auto;
	max-width: 12.625rem;
}

.c-staff__title {
	margin-top: 0.6875rem;
	text-align: center;
}

.c-staff__text {
	margin-top: 0.3125rem;
}

.c-time {
	display: block;
	font-size: 0.9375rem;
	letter-spacing: 0.2em;
}

.c-title {
	align-items: baseline;
	display: grid;
	gap: 0.5625rem;
	grid-template-columns: 3.625rem 1fr;
}

.c-title::before {
	background: url(../images/common/icon/title-leaf.svg) center center/contain no-repeat;
	content: "";
	display: block;
	height: 3.9375rem;
	width: 3.625rem;
}

.c-p1-big {
	font-size: 1.375rem;
	line-height: 2.2272727273;
}

.c-p1-small {
	font-size: 1.375rem;
	line-height: 1.7727272727;
}

.c-p2-big {
	font-size: 1.0625rem;
	line-height: 2.8235294118;
}

.c-p2-middle {
	font-size: 1.0625rem;
	line-height: 2.3529411765;
}

.c-p2-small {
	font-size: 1.0625rem;
	line-height: 1.8235294118;
	text-align: justify;
}

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

.c-h1-column-title {
	font-size: 2.3125rem;
	font-weight: 500;
	letter-spacing: 0.1216216216em;
	writing-mode: vertical-rl;
}

.c-h1-title {
	font-size: 3.125rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.54;
}

.c-h2-title {
	font-size: 2.8125rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.7111111111;
}

.c-h2-en-title {
	font-family: "Slackside One", cursive;
	font-size: 4.1875rem;
	font-weight: 400;
	letter-spacing: 0.1em;
}

.c-h3-title {
	font-size: 2.125rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.6470588235;
}

.c-lead {
	font-size: 1.75rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.4285714286;
}

.c-small-lead {
	font-size: 1.25rem;
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 1.45;
}

@media (hover: hover) {

.c-archive:hover {
	opacity: 0.8;
}

button:hover .c-arrow::before,
a:hover .c-arrow::before {
	transform: translate(-50%, -50%) scale(1.15);
}

.c-btn:hover {
	background-color: #E1F5E7;
}

.c-hamburger:hover {
	background-color: #E1F5E7;
}

.c-latestNews:hover::before {
	height: calc(100% + 0.625rem);
	width: calc(100% + 0.625rem);
}

.c-link:hover {
	opacity: 0.6;
}

.c-navBigBtn:hover {
	background-color: #E1F5E7;
}

.c-navBigBtn:hover .c-navBigBtn__img img {
	transform: scale(1.1);
}

.c-navBtn:hover {
	background-color: #E1F5E7;
}

.c-news:hover {
	background-color: #E1F5E7;
}

.c-pageLink:hover {
	background-color: #E1F5E7;
}

.c-single:hover {
	background-color: #EFF9F1;
}

}

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

.c-archive {
	border-radius: 0.3125rem;
	gap: 0.875rem;
	grid-area: 0.875rem;
	grid-template-columns: 5.9375rem 1fr;
	padding: 1.375rem;
}

.c-archive .p-menu__tags {
	margin-top: 0;
}

.c-archive__img img {
	aspect-ratio: 1;
	border-radius: 0.3125rem;
}

.c-archive__title.c-lead {
	font-size: 1rem;
	margin-top: 0.25rem;
}

.c-archive__time.c-p1-small {
	font-size: 0.8125rem;
	margin-top: 0;
}

.c-arrow {
	height: 1.3125rem;
	width: 1.375rem;
}

.c-arrow.--small {
	height: 1.3125rem;
	width: 1.375rem;
}

.c-arrow.--big {
	height: 1.875rem;
	width: 2rem;
}

.c-bg {
	border-radius: unset;
	padding-block: 1.25rem 2rem;
	width: 100%;
}

.c-block {
	flex-direction: column;
	gap: 0.9375rem;
}

.c-block__img {
	margin-inline: auto;
	padding: 0;
}

.c-block__content {
	width: 100%;
}

.c-block__text {
	margin-top: 0.625rem;
}

.c-block__illust {
	width: 6.25rem;
}

.c-block__subLead {
	margin-top: 0.8125rem;
}

.c-box {
	border-radius: 0.3125rem;
	gap: 1.125rem;
	grid-template-columns: 100%;
	padding: 3.4375rem 0.9375rem 2.8125rem;
}

.c-box__title.c-fukidashi {
	top: -1rem;
}

.c-box__text {
	margin-top: 0.625rem;
}

.c-btn {
	border-radius: 0.3125rem;
	font-size: 0.875rem;
	height: 3.125rem;
	padding-inline: 1.3125rem 2.5rem;
	width: 16.25rem;
}

.c-btn.--wide {
	width: 22.5rem;
}

.c-btn__arrow {
	right: 0.75rem;
}

.c-btn.--reverse {
	padding-inline: 2.5rem 1.3125rem;
}

.c-btn.--reverse .c-btn__arrow {
	left: 0.75rem;
}

.c-card {
	border-radius: 0.3125rem;
}

.c-card__img img {
	aspect-ratio: 300/186;
}

.c-card__nunmber {
	bottom: -1rem;
	font-size: 1.3125rem;
	height: 3.25rem;
	left: 1.125rem;
	padding-top: 0.3125rem;
	width: 4.9375rem;
}

.c-card__nunmber span {
	font-size: 1.625rem;
}

.c-card__body {
	padding: 1.25rem 1.5625rem;
}

.c-card__text {
	margin-top: 0.375rem;
}

.c-case {
	height: 30.6875rem;
	padding: 1.375rem 1.5625rem 5rem;
}

.c-case::before {
	background: linear-gradient(to bottom, transparent, white 64%);
	height: 9.8125rem;
}

.c-case__img {
	border-radius: 0.3125rem;
}

.c-case__img::before {
	height: 1rem;
	width: 2.1875rem;
}

.c-case__title {
	margin-top: 0.4375rem;
}

.c-case__info.c-p2-middle {
	gap: 0.375rem 0.5rem;
	grid-template-columns: 3.875rem 1fr;
	line-height: 1.9230769231;
	margin-top: 0.5rem 0.75rem;
}

.c-case__links {
	margin-top: 1rem;
	padding-top: 1rem;
}

.c-case__btn {
	bottom: 1.25rem;
	font-size: 0.8125rem;
	gap: 0.5rem;
}

.c-columnCard__img {
	border-radius: 0.3125rem;
}

.c-compare {
	border-radius: 0.3125rem;
	grid-template-columns: 15.4375rem 1fr 1fr;
}

.c-compare__img {
	padding: 1.0625rem 2.0625rem;
}

.c-compare__img img {
	max-height: 5.5rem;
	max-width: 11.375rem;
}

.c-compare__caption {
	margin-top: 0.1875rem;
}

.c-compare__text {
	padding: 1.1875rem 1.375rem;
}

.c-compare__text li.yes + li,
.c-compare__text li.no + li {
	margin-top: 0.125rem;
}

.c-compare__units {
	gap: 2.625rem;
}

.c-compare__unit p {
	font-size: 1rem;
	margin-top: 1rem;
	margin-top: 0.625rem;
}

.c-compare__price {
	font-size: 1rem;
	margin-top: 1.6875rem;
}

.c-compare__price p {
	margin-top: 0.3125rem;
}

.c-contact {
	height: 8.6875rem;
	max-width: 23.4375rem;
	padding-left: 9.6875rem;
}

.c-contact__img {
	width: 8.9375rem;
}

.c-contact__content {
	padding-bottom: 0;
}

.c-contact__title {
	font-size: 0.8125rem;
	line-height: 1.6153846154;
}

.c-contact__tel {
	gap: 0.625rem;
	grid-template-columns: 1.125rem 1fr;
	margin-top: 0.5625rem;
}

.c-contact__tel a {
	font-size: 1.5625rem;
	letter-spacing: 0.1em;
}

.c-contact__text {
	font-size: 0.875rem;
	line-height: 1.3571428571;
	margin-top: 0.875rem;
	font-size: 0.65rem;
	letter-spacing: 0;
}

.c-director {
	border-radius: 0.3125rem;
	display: block;
	padding: 3.125rem 0.9375rem 1.875rem;
}

.c-director__img {
	margin-inline: auto;
	max-width: 13.9375rem;
}

.c-director__content {
	margin-top: 1.125rem;
}

.c-director__name.c-lead {
	font-size: 1.75rem;
	text-align: center;
}

.c-director__position.c-p1-big {
	font-size: 1.375rem;
	text-align: center;
}

.c-director__text.c-p2-small {
	font-size: 1.0625rem;
	margin-top: 0.5rem;
}

.c-director__btn {
	margin-top: 1.125rem;
	text-align: center;
}

.c-flow {
	border-radius: 0.3125rem;
	display: flex !important;
	flex-direction: column;
	height: 100%;
}

.c-flow__head {
	border-radius: 0.3125rem;
	min-height: 14.375rem;
	padding-inline: 3.125rem;
	padding-top: 0rem;
}

.c-flow__content {
	border-radius: 0 0 0.3125rem 0.3125rem;
	display: block;
	flex-grow: 1;
	margin-top: -0.0625rem;
	padding: 1.875rem 1.5625rem 1.25rem;
}

.c-flow__text {
	margin-top: 0.6875rem;
}

.c-fukidashi::before {
	bottom: -0.875rem;
	height: 1.3125rem;
	left: 1.375rem;
	width: 1rem;
}

.c-hamburger {
	padding-bottom: 0.625rem;
}

.c-hamburger__border {
	width: 2.375rem;
}

.c-hamburger__border:nth-child(1) {
	top: calc(50% - 0.9375rem);
}

.c-hamburger__border:nth-child(2) {
	top: calc(50% - 0.3125rem);
}

.c-hamburger__letter {
	font-size: 0.9375rem;
	top: calc(50% + 0.4375rem);
}

.c-latestNews {
	grid-template-columns: 4.5rem 1fr;
	margin-inline: auto;
	margin-top: 0.5625rem;
	padding-block: 0.625rem 0.9375rem;
	position: relative;
	width: calc(100% - 1.875rem);
}

.c-latestNews::before {
	border-bottom: 1px solid #494949;
	border-left: none;
	border-radius: none;
	border-top: none;
}

.c-latestNews__title {
	font-size: 1.3125rem;
	text-align: left;
}

.c-latestNews__content {
	padding-inline: 1.0625rem 0;
}

.c-latestNews__text {
	font-size: 0.875rem;
	line-height: calc822/14;
}

.c-listContent {
	border-radius: 0.3125rem;
	gap: 0rem;
	grid-template-columns: 100%;
	padding: 1.875rem 0.9375rem 1.125rem;
}

.c-listContent__img {
	margin-inline: auto;
	max-width: 14.375rem;
}

.c-listContent__body {
	margin-top: 1.25rem;
}

.c-listContent__text {
	margin-top: 0.5rem;
}

.c-modal-box {
	margin-top: 1.25rem;
	padding: 1.4375rem 1.5625rem;
}

.c-modal-box__tool li {
	gap: 0;
	grid-template-columns: 1fr;
}

.c-modal-box__tool li + li {
	margin-top: 1rem;
}

.c-modal-box__content {
	display: contents;
}

.c-modal-box__content h3 {
	margin-bottom: 0.625rem;
	order: -1;
}

.c-modal-box__content p {
	order: 1;
}

.c-modal-box__info {
	gap: 0.5625rem;
	grid-template-columns: 1fr;
}

.c-modal-box__info dd {
	font-size: 1.125rem;
}

.c-modal-box__info dt {
	margin-top: 0.625rem;
}

.c-modal-box__info ol {
	font-size: 1.125rem;
}

.c-modal-box__info ul {
	font-size: 1.125rem;
}

.c-navBigBtn {
	background-color: #fff;
	border-radius: 0.3125rem;
	gap: 0.5625rem;
	grid-template-columns: 3.125rem 1fr;
	min-height: 5.5rem;
	padding-left: 6.6875rem;
	padding-right: 0.3125rem;
}

.c-navBigBtn__img {
	bottom: -0.5rem;
	height: 10.0625rem;
	left: -3.75rem;
	width: 10.0625rem;
}

.c-navBigBtn__content {
	padding-bottom: 0;
}

.c-navBigBtn__lead {
	font-size: 0.75rem;
	line-height: 1.4166666667;
}

.c-navBigBtn__title {
	font-size: 1.25rem;
	line-height: 1.35;
	margin-top: 0.0625rem;
}

.c-navBtn {
	background-color: #fff;
	border-radius: 0.3125rem;
	grid-template-columns: 2.5rem 1fr;
	padding: 0.625rem;
}

.c-navBtn.--square {
	padding: 0.875rem 0.75rem 0.875rem;
}

.c-navBtn.--square .c-navBtn__icon {
	height: 5.4375rem;
	width: 7.4375rem;
}

.c-navBtn__text {
	font-size: 0.9375rem;
	line-height: 1.2666666667;
}

.c-navBtn.--square .c-navBtn__text {
	font-size: 0.875rem;
	letter-spacing: normal;
	line-height: 2;
}

.c-news {
	border-radius: 0.3125rem;
	padding-block: 1.125rem;
	padding-inline: 1.4375rem 3.625rem;
}

.c-news__title.c-small-lead {
	-webkit-line-clamp: 2;
	font-size: 0.8125rem;
	font-size: 1rem;
	letter-spacing: 0.02em;
	line-height: 1.6923076923;
	margin-top: 0.1875rem;
}

.c-news__arrow {
	right: 0.75rem;
}

.c-pageLink {
	background-color: #fff;
	border-radius: 0.1875rem;
	min-height: 5.5rem;
	padding-block: 0.75rem;
	padding-left: 6.75rem;
	padding-right: 2.8125rem;
}

.c-pageLink__icon {
	left: 0.625rem;
	padding: 0;
	width: 5.625rem;
}

.c-pageLink__lead {
	border-radius: 0.3125rem;
	font-size: 0.75rem;
	padding-inline: 0.625rem;
}

.c-pageLink__lead::before {
	bottom: -0.625rem;
	height: 1.0625rem;
	left: 1.4375rem;
	width: 0.8125rem;
}

.c-pageLink__title.c-h3-title {
	font-size: 1rem;
	margin-top: 0.5rem;
}

.c-pageLink__arrow {
	right: 0.75rem;
}

.c-payment {
	border-radius: 0.3125rem;
	margin-top: 2.875rem;
	padding-block: 1.5rem 1.125rem;
}

.c-payment__title {
	font-size: 0.75rem;
}

.c-payment__img {
	max-width: 15.125rem;
}

.c-play-btn button {
	width: 8.625rem;
}

.c-play-btn__cat {
	bottom: -1.25rem;
	left: -5.3125rem;
	right: initial;
	transform: scale(-1, 1);
	width: 7.9375rem;
}

.c-price {
	gap: 1rem;
	grid-template-columns: 100%;
	padding: 1.5625rem 0.9375rem 0.9375rem;
}

.c-price__head {
	display: contents;
}

.c-price__title.c-lead {
	font-size: 1.5rem;
}

.c-price__content {
	text-align: left;
}

.c-price__note.c-p1-small {
	font-size: 0.8125rem;
	line-height: 1.9230769231;
	margin-top: 0;
	order: 1;
}

.c-progress {
	padding-top: 4.9375rem;
}

.c-progress__img {
	height: 8.6875rem;
	width: 10.6875rem;
}

.c-progress__body {
	margin-top: 0.875rem;
}

.c-progress__text {
	margin-top: 0.6875rem;
}

.c-schedule__table {
	border-radius: 0.4375rem;
}

.c-schedule__table table col:first-child {
	width: 8.125rem;
}

.c-schedule__table table col:not(:first-child) {
	width: calc((100% - 8.125rem) / 7);
}

.c-schedule__table table th {
	font-size: 0.875rem;
	letter-spacing: 0em;
}

.c-schedule__table table td {
	font-size: 0.9375rem;
	line-height: 1.5;
	padding-block: 0.3125rem;
}

.c-schedule__table table td span.open {
	height: 0.6875rem;
	width: 0.6875rem;
}

.c-schedule__table table td span.close {
	width: 0.6875rem;
}

.c-schedule__table table tbody td:first-child {
	font-size: 0.8125rem;
	font-size: 1rem;
	padding-left: 0;
	letter-spacing: 0.03rem;
}

.c-schedule__table table tbody tr:first-child td {
	padding-bottom: 0.3125rem;
	padding-top: 0.625rem;
}

.c-schedule__table table tbody tr:last-child td {
	padding-bottom: 0.625rem;
	padding-top: 0.3125rem;
}

.c-schedule__note {
	font-size: 0.75rem;
	margin-top: 0.1875rem;
}

.c-single {
	border-radius: 0.3125rem;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1.3125rem;
}

.c-single.next {
	flex-direction: column;
}

.c-single__content {
	margin-top: 0.25rem;
}

.c-single__term {
	font-size: 0.8125rem;
	line-height: 1.5384615385;
}

.c-single__title {
	font-size: 0.8125rem;
	margin-top: 0.25rem;
}

.c-staff {
	border-radius: 0.3125rem;
	padding: 2.9375rem 1.0625rem 1.375rem;
}

.c-staff__comment.c-fukidashi {
	/*font-size: 0.75rem;
	line-height: 1.4166666667;*/
	max-width: 100%;
	/*padding-inline: 0.5rem;*/
	top: -1.375rem;
	/*width: 100%;*/
}

.c-staff__img {
	max-width: 7rem;
}

.c-time {
	font-size: 0.75rem;
}

.c-title {
	gap: 0;
	grid-template-columns: 2.625rem 1fr;
}

.c-title::before {
	height: 2.8125rem;
	width: 2.625rem;
}

.c-p1-big {
	font-size: 1.0625rem;
	line-height: 2.3529411765;
}

.c-p1-small {
	font-size: 1.0625rem;
	line-height: 1.7647058824;
}

.c-p2-big {
	font-size: 0.8125rem;
	font-size:0.9rem;
	line-height: 2.6923076923;
}

.c-p2-middle {
	font-size: 0.8125rem;
	line-height: 2.3076923077;
}

.c-p2-small {
	font-size: 0.8125rem;
	font-size:1rem;
	line-height: 1.9230769231;
}

.c-h1-column-title {
	font-size: 1.125rem;
	letter-spacing: 0.1277777778em;
}

.c-h1-title {
	font-size: 2rem;
	letter-spacing: 0.02em;
	line-height: 1.3125;
}

.c-h2-title {
	font-size: 1.875rem;
	line-height: 1.8333333333;
}

.c-h2-en-title {
	font-size: 2.5rem;
}

.c-h3-title {
	font-size: 1.25rem;
	line-height: 1.55;
}

.c-lead {
	font-size: 1.25rem;
}

.c-lead.u-regular {
	font-size: 1.125rem;
}

.c-small-lead {
	font-size: 1.125rem;
}

}

@keyframes spinner {

0% {
	transform: rotate(-15deg);
}

10% {
	transform: rotate(15deg);
}

20% {
	transform: rotate(-15deg);
}

50% {
	transform: rotate(390deg);
}

65% {
	transform: rotate(330deg);
}

80% {
	transform: rotate(375deg);
}

100% {
	transform: rotate(-15deg);
}

}

