@charset "utf-8";

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
* html .clearfix {
	zoom: 1;
}

*+html .clearfix {
	zoom: 1;
}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/* flex */
.flex,
.flexA,
.flexB,
.flexC {
	display: flex;
	flex-wrap: wrap;
}

.flexA {
	justify-content: space-around;
}

.flexB {
	justify-content: space-between;
}

.flexC {
	justify-content: center;
}

/* svg */
.c-svg {
	--icon-svg-width: 13;
	--icon-svg-height: 12;
	--icon-svg-path: inherit;
	--icon-svg-color: #FFF;
}

.c-svg::after {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	transition: all .3s ease;
	-webkit-mask: var(--icon-svg-path);
	mask: var(--icon-svg-path);
	-webkit-mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
	mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	background-color: var(--icon-svg-color);
}

/* c-txt */
@media all and (min-width: 897px),
print {
	.c-txt {
		--font-size: 20;
		--line-height: 1.5;
		font-size: calc(var(--font-size) / var(--font) * 1rem);
		line-height: var(--line-height);
		letter-spacing: 0.05em;
	}

	.c-txt--s {
		--font-size: 14;
		--line-height: calc(20 / 14);
	}

	.c-txt--xs {
		--font-size: 12;
		--line-height: calc(20 / 12);
	}
}

@media all and (max-width: 896px) {
	.c-txt {
		--font-size: 12;
		font-size: calc(var(--font-size) / var(--font) * 1rem);
		line-height: calc(40 / 24);
		letter-spacing: 0.05em;
	}

	.c-txt--s {}

	.c-txt--xs {
		--line-height: calc(38 / 24);
	}
}

/* c-title */
@media all and (min-width: 897px),
print {
	.c-title {
		--font-size: 24;
		--leter-spacing: 0.05em;
		--line-height: calc(43 / 24);
		font-size: calc(var(--font-size) / var(--font) * 1rem);
		letter-spacing: var(--leter-spacing);
		font-weight: 500;
		font-family: var(--font-noto-serif);
		color: var(--primary-color);
		line-height: var(--line-height);
	}

	.c-title--s {
		--font-size: 20;
		--leter-spacing: 0;
	}

	.c-title--xs {
		--font-size: 18;
	}
}

@media all and (max-width: 896px) {
	.c-title {
		--font-size: 16;
		--leter-spacing: 0.05em;
		--line-height: calc(49 /32);
		font-size: calc(var(--font-size) / var(--font) * 1rem);
		letter-spacing: var(--leter-spacing);
		font-weight: 700;
		font-family: var(--font-noto-serif);
		color: var(--primary-color);
		line-height: var(--line-height);
		display: block;
	}

	.c-title--s {
		--font-size: 15;
		--leter-spacing: 0;
	}

	.c-title--xs {
		--font-size: 14;
		--leter-spacing: 0.05em;
		font-weight: 500;
	}
}

/* c-btn */
@media all and (min-width: 897px),print {
	.c-btn {
		--width: 320;
		--height: 56;
		--font-size: 16;
		--line-height: calc(30 / 16);
		--leter-spacing: 0.05em;
		--font-weight: 500;
		--txt-color: #FFF;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: calc(var(--width) / var(--font) * 1rem);
		height: calc(var(--height) / var(--font) * 1rem);
		line-height: var(--line-height);
		font-size: calc(var(--font-size) / var(--font) * 1rem);
		letter-spacing: var(--leter-spacing);
		color: var(--txt-color)!important;
		background-color: var(--primary-color);
		font-weight: var(--font-weight);
		transition: all .5s ease;
		box-sizing: border-box;
	}
	.c-btn:before {
		--icon-svg-width: 10;
		--icon-svg-height: 5;
		--icon-svg-path: url(../../img/common/icon_down.svg);
		right: 0;
		top: 50%;
		transform: translate(-50%);
		margin: calc(-1/ var(--font) * 1rem) calc(15 / var(--font) * 1rem) 0 0;
		content: "";
		position: absolute;
		display: block;
		width: calc(var(--icon-svg-width) / var(--font) * 1rem);
		height: calc(var(--icon-svg-height) / var(--font) * 1rem);

		-webkit-mask: var(--icon-svg-path);
		mask: var(--icon-svg-path);
		-webkit-mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		background-color: var(--txt-color);
	}
	.c-btn--back {
		--icon-svg-width: 11;
		--icon-svg-height: 6;
		--font-weight: 600;
		--txt-color: var(--primary-color);
		font-family: var(--font-noto-serif);
		border: 1px solid var(--primary-color);
		background-color: #FFF;

	}
	.c-btn--back::before {
		left: 0;
		right: unset;
		margin: calc(-2/ var(--font) * 1rem) 0 0 calc(21 / var(--font) * 1rem);
		transform: rotate(90deg);
	}
	@media (hover: hover) {
		.c-btn:hover {
					opacity: .5;
			}
	}
}
@media all and (max-width: 896px) {
	.c-btn {
		--width: 320;
		--height: 40;
		--font-size: 15;
		--line-height: calc(30 / 15);
		--leter-spacing: 0.05em;
		--font-weight: 500;
		--txt-color: #FFF;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: calc(var(--width) / var(--font) * 1rem);
		height: calc(var(--height) / var(--font) * 1rem);
		line-height: var(--line-height);
		font-size: calc(var(--font-size) / var(--font) * 1rem);
		letter-spacing: var(--leter-spacing);
		color: var(--txt-color)!important;
		background-color: var(--primary-color);
		font-weight: var(--font-weight);
		padding-right: calc(12 / var(--font) * 1rem);
		transition: all .5s ease;
	}
	.c-btn:before {
		--icon-svg-width: 10;
		--icon-svg-height: 5;
		--icon-svg-path: url(../../img/common/icon_down.svg);
		right: 0;
		top: 50%;
		transform: translate(-50%);
		margin: calc(-2/ var(--font) * 1rem) calc(15 / var(--font) * 1rem) 0 0;
		content: "";
		position: absolute;
		display: block;
		width: calc(var(--icon-svg-width) / var(--font) * 1rem);
		height: calc(var(--icon-svg-height) / var(--font) * 1rem);

		-webkit-mask: var(--icon-svg-path);
		mask: var(--icon-svg-path);
		-webkit-mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		background-color: var(--txt-color);
	}
	.c-btn--back {
		--font-size: 14;
		--height: 52;
		--icon-svg-width: 11;
		--icon-svg-height: 6;
		--font-weight: 700;
		--txt-color: var(--primary-color);
		font-family: var(--font-noto-serif);
		border: 1px solid var(--primary-color);
		background-color: #FFF;
		padding-right: 0;
	}
	.c-btn--back::before {
		left: 0;
		right: unset;
		margin: calc(0 / var(--font)* 1rem) 0 0 calc(25 / var(--font)* 1rem);
		transform: rotate(90deg);
	}

}

/* c-list */
.c-list li {
	text-indent: -1em;
	padding-left: 1em;
}

/* c-table */
@media all and (min-width: 897px),print {
	.c-table {
		--table-bg: #F7F6F0;
		border-bottom: 1px solid var(--primary-color);
		border-collapse: collapse;
	}
	.c-table tr {
		border-top: 1px solid var(--primary-color);
		display: flex;
	}
	.c-table th {
		font-weight: 500;
		font-family: var(--font-noto-serif);
		color: var(--primary-color);
		min-height: calc(80 / var(--font) * 1rem);
		padding: calc(32 / var(--font) * 1rem) calc(32 / var(--font) * 1rem) 0 calc(32 / var(--font) * 1rem);
		display: flex;
		white-space: nowrap;
		box-sizing: border-box;
		flex-shrink: 0;
		width: calc(265 / var(--font) * 1rem);
		letter-spacing: 0.09em;
	}
	.c-table td {
		min-height: calc(80 / var(--font) * 1rem);
		padding: calc(32 / var(--font) * 1rem) calc(32 / var(--font) * 1rem);
		display: flex;
		box-sizing: border-box;
		line-height: (29 / 16);
		letter-spacing: 0.07em;
	}
}
@media all and (max-width: 896px) {
	.c-table {
		border-bottom: 1px solid var(--primary-color);
		border-collapse: collapse;
	}
	.c-table tr {
		border-top: 1px solid var(--primary-color);
		display: flex;
	}
	.c-table th {
		font-weight: 500;
		background: #F7F6F0;
		font-family: var(--font-noto-serif);
		color: var(--primary-color);
		min-height: calc(57 / var(--font) * 1rem);
		padding: calc(20 / var(--font) * 1rem) calc(8 / var(--font) * 1rem) 0 calc(8 / var(--font) * 1rem);
		display: flex;
		white-space: nowrap;
		box-sizing: border-box;
		flex-shrink: 0;
		width: calc(111 / var(--font) * 1rem);
		letter-spacing: -0.05em;
		font-size: calc(11 / var(--font) * 1rem);
	}
	.c-table td {
		font-size: calc(14 / var(--font) * 1rem);
		min-height: calc(57 / var(--font) * 1rem);
		padding: calc(20 / var(--font) * 1rem) calc(8 / var(--font) * 1rem);
		display: flex;
		box-sizing: border-box;
		line-height: (31 / 24);
		letter-spacing: 0.07em;
	}

}

/* font color */
.u-white {
	color: #FFF;
}

/* display */
@media all and (min-width: 897px),
print {
	.u-hide-pc {
		display: none;
	}
}
@media all and (max-width: 896px) {
	.u-hide-sp {
		display: none;
	}
}

/* place */
.u-center {
	text-align: center;
}

/* ==========================================================================
	ACCORDION
========================================================================== */

.js-accordion {
}

.js-accordion .js-accordion-active {
}

.js-accordion-trigger {
}

.js-accordion-panel {
  transition: all 0.3s;
  display: none;
  opacity: 0;
  visibility: hidden;
}
.js-accordion.js-accordion-active .js-accordion-panel {
  display: block;
  opacity: 1;
  visibility: visible;
}

/*------------------------------------------------------------
	headLine
------------------------------------------------------------*/
@media all and (min-width: 897px),
print {
	.headLine {
		--txt-color: var(--primary-color);
		--icon-svg-path: url(../../img/common/line_headline01.svg);
		--icon-svg-width: 66;
		--icon-svg-height: 5;
		--font-size: 32;

		text-align: center;
		position: relative;
		padding-bottom: calc(20 / var(--font) * 1rem);
		margin-bottom: calc(23/ var(--font) * 1rem);
	}

	.headLine::before {
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		content: "";
		position: absolute;
		display: block;
		width: calc(var(--icon-svg-width) / var(--font) * 1rem);
		height: calc(var(--icon-svg-height) / var(--font) * 1rem);

		-webkit-mask: var(--icon-svg-path);
		mask: var(--icon-svg-path);
		-webkit-mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		background-color: var(--txt-color);
	}

	.headLine .headLine__label {
		color: var(--txt-color);
		font-family: var(--font-noto-serif);
		font-size: calc(var(--font-size) / var(--font) * 1rem);
		font-style: normal;
		font-weight: 400;
		line-height: calc(62 / 36);
		letter-spacing: 0.1em;
		text-align: center;
	}

	.headLine--white {
		--txt-color: #FFF;
	}
	.headLine--s {
		--icon-svg-width: 52;
		--icon-svg-height: 4;
		--font-size: 30;
		padding-bottom: calc(15 / var(--font)* 1rem);
		margin-bottom: calc(30 / var(--font)* 1rem);

	}
}

@media all and (max-width: 896px) {
	.headLine {
		--txt-color: var(--primary-color);
		--icon-svg-path: url(../../img/common/line_headline01.svg);
		--icon-svg-width: 33;
		--icon-svg-height: 2.5;
		--font-size: 20;

		text-align: center;
		position: relative;
		padding-bottom: calc(10 / var(--font) * 1rem);
		margin-bottom: calc(15/ var(--font) * 1rem);
	}

	.headLine::before {
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		content: "";
		position: absolute;
		display: block;
		width: calc(var(--icon-svg-width) / var(--font) * 1rem);
		height: calc(var(--icon-svg-height) / var(--font) * 1rem);

		-webkit-mask: var(--icon-svg-path);
		mask: var(--icon-svg-path);
		-webkit-mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		background-color: var(--txt-color);
	}

	.headLine .headLine__label {
		color: var(--txt-color);
		font-family: var(--font-noto-serif);
		font-size: calc(var(--font-size) / var(--font) * 1rem);
		font-style: normal;
		font-weight: 400;
		line-height: calc(62 / 40);
		letter-spacing: 0.1em;
		text-align: center;
	}

	.headLine--white {
		--txt-color: #FFF;
	}
	.headLine--s {
		--font-size: 20;
	}
}
/*------------------------------------------------------------
	headlineText
------------------------------------------------------------*/
@media all and (min-width: 897px),
print {
	.headlineText {
		color: var(--black-color);
		text-align: center;
		font-family: var(--font-noto-serif);
		font-size: calc(24 / var(--font) * 1rem);
		font-weight: 500;
		line-height: calc(42 / 24);
		letter-spacing: 0.05em;
	}
	.headlineText-note {
		margin-top: calc(16 / var(--font) * 1rem);
	}

	.headLine__label {}
}

@media all and (max-width: 896px) {
	.headlineText {
		color: var(--black-color);
		text-align: center;
		font-family: var(--font-noto-serif);
		font-size: calc(12 / var(--font) * 1rem);
		font-weight: 500;
		line-height: calc(40 / 24);
		letter-spacing: 0.05em;
	}
	.headlineText-note {
		margin-top: calc(16 / var(--font) * 1rem);
	}

	.headLine__label {}
}

/*------------------------------------------------------------
	content
------------------------------------------------------------*/
@media (hover: hover) {
	#main a {
		transition: opacity .5s ease;
	}

	#main a:hover {
		opacity: .5;
	}
}

@media all and (min-width: 897px),
print {
	#main .content {}

	#main .content__in {
		width: calc(1024 / var(--font) * 1rem);
		margin: 0 auto;
		padding: calc(120 / var(--font) * 1rem) 0;
		box-sizing: border-box;
	}
	.content-link,.tour-bottom-link {
		display: flex;
		justify-content: center;
		margin-top: calc(50 / var(--font) * 1rem);
	}
}

@media all and (max-width: 896px) {
	#main .content {}

	#main .content__in {
		padding: calc(32 / var(--font) * 1rem) calc(23 / var(--font) * 1rem);
		box-sizing: border-box;
	}
	.content-link,.tour-bottom-link {
		width: calc(200 / var(--font) * 1rem);
		display: flex;
		justify-content: center;
		margin: calc(39 / var(--font) * 1rem) auto 0;
	}
}


/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
@media all and (min-width: 897px),print {
	.contact {
		background: url(../../img/common/img_contact.png) center top no-repeat;
		background-size: cover;
	}
	#main .contact .content__in {
		padding: calc(48 / var(--font)* 1rem) 0 calc(56 / var(--font)* 1rem) 0;
	}
	.contact__body {
		display: flex;
		gap: calc(40 / var(--font) * 1rem);
		justify-content: center;
	}
	.contact .headLine {
		--txt-color: #FFF;
		margin-bottom: calc(24 / var(--font)* 1rem);
	}
	.contact-num {
		padding-left: calc(48 / var(--font) * 1rem);
	}
	.contact-num__label {
		--txt-color: #FFF;
		--icon-svg-width: 39;
		--icon-svg-height: 39;

		position: relative;
		color: var(--txt-color);
		text-align: center;
		font-family: var(--font-noto-serif);
		font-size: calc(60 / var(--font) * 1rem);
		font-weight: 500;
		line-height: calc(62 / 60);
		letter-spacing: -0.01em;
	}
	.contact-num__label::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		margin-top: calc(6 / var(--font) * 1rem);
		margin-left: calc(-48 / var(--font) * 1rem);
		transform: translateY(-50%);
		width: calc(var(--icon-svg-width) / var(--font) * 1rem);
		height: calc(var(--icon-svg-height) / var(--font) * 1rem);
		background: url(../../img/common/icon_phone.png) center top no-repeat;
		background-size: contain;
	}
	.contact-info {
		color: #FFF;
		letter-spacing: 0.05em;
		font-weight: 500;
		margin-top: calc(10 / var(--font) * 1rem);
	}
	.contact-mail {
	}
	.contact-mail__label {
		--txt-color: #FFF;
		--icon-svg-path: url(../img/common/icon_mail.svg);
		--icon-svg-width: 21;
		--icon-svg-height: 15;

		position: relative;
		color:var(--txt-color);
		text-align: center;
		font-family: var(--font-noto-serif);
		font-size: calc(20 / var(--font) * 1rem);
		font-weight: 700;
		line-height: calc(32 / 20);
		letter-spacing: 0.05em;
	}
	/* .contact-mail__label::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		margin-top: calc(3 / var(--font) * 1rem);
		margin-left: calc(-31 / var(--font) * 1rem);
		transform: translateY(-50%);
		width: calc(var(--icon-svg-width) / var(--font) * 1rem);
		height: calc(var(--icon-svg-height) / var(--font) * 1rem);
		-webkit-mask: var(--icon-svg-path);
		mask: var(--icon-svg-path);
		-webkit-mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		background-color: var(--txt-color);
	} */

}
@media all and (max-width: 896px) {
	
	.contact {
		background: url(../../img/common/img_contact_sp.png) left top no-repeat;
		background-size: cover;
	}
	#main .contact .content__in {
		padding: calc(24 / var(--font)* 1rem) calc(23 / var(--font)* 1rem) calc(32 / var(--font)* 1rem);
	}
	.contact__body {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.contact .headLine {
		--txt-color: #FFF;
		margin-bottom: 0;
	}
	.contact-num {
		padding-left: calc(48 / var(--font) * 1rem);
		margin-left: calc(-15 / var(--font) * 1rem);
	}
	.contact-num__label {
		--txt-color: #FFF;
		--icon-svg-width: 31;
		--icon-svg-height: 31;

		position: relative;
		color: var(--txt-color);
		text-align: center;
		font-family: var(--font-noto-serif);
		font-size: calc(35 / var(--font) * 1rem);
		font-weight: 500;
		line-height: calc(62 / 70);
	}
	.contact-num__label::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		margin-top: calc(5 / var(--font)* 1rem);
		margin-left: calc(-29 / var(--font)* 1rem);
		transform: translateY(-50%);
		width: calc(var(--icon-svg-width) / var(--font) * 1rem);
		height: calc(var(--icon-svg-height) / var(--font) * 1rem);
		background: url(../../img/common/icon_phone.png) center top no-repeat;
		background-size: contain;
	}
	.contact-info {
		color: #FFF;
		letter-spacing: 0.05em;
		font-weight: 500;
		margin-top: calc(6 / var(--font) * 1rem);
		font-size: calc(13 / var(--font) * 1rem);
		margin-left: calc(20 / var(--font) * 1rem);
	}
	.contact-mail {
		padding-left: calc(16 / var(--font) * 1rem);
	}
	.contact-mail__label {
		--txt-color: #FFF;
		--icon-svg-path: url(../img/common/icon_mail.svg);
		--icon-svg-width: 13.5;
		--icon-svg-height: 9.5;

		position: relative;
		color:var(--txt-color);
		text-align: center;
		font-family: var(--font-noto-serif);
		font-size: calc(12 / var(--font) * 1rem);
		font-weight: 700;
		line-height: calc(32 / 31);
		margin-top: calc(16 / var(--font) * 1rem);
		letter-spacing: 0.05em;
	}
	/* .contact-mail__label::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		margin-top: calc(3 / var(--font) * 1rem);
		margin-left: calc(-19 / var(--font) * 1rem);
		transform: translateY(-50%);
		width: calc(var(--icon-svg-width) / var(--font) * 1rem);
		height: calc(var(--icon-svg-height) / var(--font) * 1rem);
		-webkit-mask: var(--icon-svg-path);
		mask: var(--icon-svg-path);
		-webkit-mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		mask-size: calc(var(--icon-svg-width) / var(--font) * 1rem) calc(var(--icon-svg-height) / var(--font) * 1rem);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		background-color: var(--txt-color);
	} */
}
