/**
 *
 * page-home.scss
 *
 */
/* ------------------------------------------------------------
 home-kv
------------------------------------------------------------ */
.home-kv {
	position: relative;
	display: flex;
	justify-content: center;
	background-color: var(--color-bg2);
}

@media screen and (max-width: 1023px) {
	.home-kv {
		margin-bottom: 4.1rem;
	}
}

.home-kv__inner {
	position: relative;
	height: calc( var( --base-height ) * 0.1rem);
}

@media screen and (min-width: 768px) {
	.home-kv__inner {
		--base-width: 1500;
		--base-height: 1606;
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.home-kv__inner {
		min-width: 100rem;
	}
}

@media screen and (max-width: 767px) {
	.home-kv__inner {
		--base-width: 375;
		--base-height: 752;
		max-width: 65rem;
	}
}

/* ----------------------------------------
 home-kv__onlinestore
---------------------------------------- */
@media screen and (min-width: 768px) {
	.home-kv__onlinestore {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.home-kv__onlinestore {
		width: 3rem;
		position: absolute;
		top: 4.7rem;
		right: 2.4rem;
		z-index: 10;
	}
}

/* ----------------------------------------
 home-kv__illust
---------------------------------------- */
@media screen and (min-width: 768px) {
	.home-kv__logo {
		--width: 325;
		--height: 104;
		--top: 612;
		--left: 824;
	}
	.home-kv__illust-1 {
		--width: 174;
		--height: 217;
		--top: 49;
		--left: -14
	;
	}
	.home-kv__illust-2 {
		--width: 146;
		--height: 172;
		--top: 28;
		--left: 295
	;
	}
	.home-kv__illust-3 {
		--width: 245;
		--height: 301;
		--top: 38;
		--left: 862
	;
	}
	.home-kv__illust-4 {
		--width: 132;
		--height: 170;
		--top: 22;
		--left: 1171
	;
	}
	.home-kv__illust-5 {
		--width: 451;
		--height: 548;
		--top: 230;
		--left: -16
	;
	}
	.home-kv__illust-6 {
		--width: 439;
		--height: 488;
		--top: 107;
		--left: 408
	;
	}
	.home-kv__illust-7 {
		--width: 163;
		--height: 101;
		--top: 433;
		--left: 853
	;
	}
	.home-kv__illust-8 {
		--width: 159;
		--height: 99;
		--top: 356;
		--left: 1054
	;
	}
	.home-kv__illust-9 {
		--width: 238;
		--height: 258;
		--top: 169;
		--left: 1242
	;
	}
	.home-kv__illust-10 {
		--width: 171;
		--height: 174;
		--top: 467;
		--left: 1239
	;
	}
	.home-kv__illust-11 {
		--width: 166;
		--height: 187;
		--top: 628;
		--left: 524
	;
	}
	.home-kv__illust-12 {
		--width: 189;
		--height: 78;
		--top: 659;
		--left: 1349
	;
	}
	.home-kv__illust-13 {
		--width: 333;
		--height: 359;
		--top: 835;
		--left: 22
	;
	}
	.home-kv__illust-14 {
		--width: 169;
		--height: 181;
		--top: 816;
		--left: 307
	;
	}
	.home-kv__illust-15 {
		--width: 130;
		--height: 143;
		--top: 788;
		--left: 735
	;
	}
	.home-kv__illust-16 {
		--width: 136;
		--height: 83;
		--top: 1034;
		--left: 775
	;
	}
	.home-kv__illust-17 {
		--width: 145;
		--height: 146;
		--top: 917;
		--left: 886
	;
	}
	.home-kv__illust-18 {
		--width: 477;
		--height: 637;
		--top: 758;
		--left: 982
	;
	}
	.home-kv__illust-19 {
		--width: 665;
		--height: 549;
		--top: 911;
		--left: 49
	;
	}
	.home-kv__illust-20 {
		--width: 303;
		--height: 285;
		--top: 1205;
		--left: 786
	;
	}
	.home-kv__illust-21 {
		--width: 118;
		--height: 154;
		--top: 1376;
		--left: 1214
	;
	}
}

@media screen and (max-width: 767px) {
	.home-kv__logo {
		--width: 149;
		--height: 48;
		--top: 297;
		--left: 116
	;
	}
	.home-kv__illust-1 {
		--width: 57;
		--height: 72;
		--top: 20;
		--left: 9
	;
	}
	.home-kv__illust-2 {
		--width: 48;
		--height: 57;
		--top: 12;
		--left: 109
	;
	}
	.home-kv__illust-3 {
		--width: 81;
		--height: 100;
		--top: 117;
		--left: 298
	;
	}
	.home-kv__illust-4 {
		--width: 44;
		--height: 56;
		--top: 273;
		--left: 315
	;
	}
	.home-kv__illust-5 {
		--width: 149;
		--height: 181;
		--top: 83;
		--left: 3
	;
	}
	.home-kv__illust-6 {
		--width: 145;
		--height: 161;
		--top: 22;
		--left: 153
	;
	}
	.home-kv__illust-7 {
		--width: 48;
		--height: 30;
		--top: 235;
		--left: 277
	;
	}
	.home-kv__illust-8 {
		--width: 52;
		--height: 33;
		--top: 447;
		--left: 75
	;
	}
	.home-kv__illust-9 {
		--width: 79;
		--height: 85;
		--top: 187;
		--left: 177
	;
	}
	.home-kv__illust-10 {
		--width: 57;
		--height: 58;
		--top: 512;
		--left: 86
	;
	}
	.home-kv__illust-11 {
		--width: 55;
		--height: 62;
		--top: 481;
		--left: 23
	;
	}
	.home-kv__illust-12 {
		--width: 69;
		--height: 28;
		--top: 470;
		--left: 163
	;
	}
	.home-kv__illust-13 {
		--width: 110;
		--height: 119;
		--top: 322;
		--left: 15
	;
	}
	.home-kv__illust-14 {
		--width: 56;
		--height: 60;
		--top: 562;
		--left: 24
	;
	}
	.home-kv__illust-15 {
		--width: 43;
		--height: 47;
		--top: 264;
		--left: 48
	;
	}
	.home-kv__illust-16 {
		--width: 45;
		--height: 28;
		--top: 382;
		--left: 259
	;
	}
	.home-kv__illust-17 {
		--width: 51;
		--height: 52;
		--top: 347;
		--left: 303
	;
	}
	.home-kv__illust-18 {
		--width: 158;
		--height: 211;
		--top: 429;
		--left: 231
	;
	}
	.home-kv__illust-19 {
		--width: 219;
		--height: 181;
		--top: 514;
		--left: 8
	;
	}
	.home-kv__illust-20 {
		--width: 100;
		--height: 94;
		--top: 363;
		--left: 145
	;
	}
	.home-kv__illust-21 {
		--width: 39;
		--height: 51;
		--top: 635;
		--left: 291
	;
	}
}

/* ------------------------------------------------------------
 home-news
------------------------------------------------------------ */
@media screen and (min-width: 1024px) {
	.home-news {
		margin-top: -14.5rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-news {
		margin-top: -7.2rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-news__inner {
		max-width: 126rem;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__inner {
		width: 84.8%;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__title {
		-webkit-transform: translateX(0.7rem);
		transform: translateX(0.7rem);
	}
}

/* ----------------------------------------
 home-news__contents
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-news__contents {
		width: 71.42857%;
		margin-top: 24rem;
		margin-right: 5.15873%;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__contents {
		margin-top: 0.1rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-news__button {
		margin: 3.3rem 3.5rem 0 auto;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__button {
		margin: 1.0rem 0 0 auto;
	}
}

/* ------------------------------------------------------------
 home-about
------------------------------------------------------------ */
@media screen and (min-width: 1024px) {
	.home-about {
		margin-top: 6.7rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-about {
		margin-top: 7.8rem;
	}
}

.home-about__inner {
	position: relative;
}

@media screen and (min-width: 1024px) {
	.home-about__inner {
		--base-width: 1098;
		max-width: 109.8rem;
		padding-top: 29rem;
	}
}

/* ----------------------------------------
 home-about__title
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-about__title {
		position: absolute;
		top: 0;
		right: 0;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__title {
		-webkit-transform: translateX(3.2rem);
		transform: translateX(3.2rem);
	}
}

/* ----------------------------------------
 home-about__txt
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-about__txt {
		width: 49.18033%;
		margin-left: 3.64299%;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__txt {
		width: 70.66667%;
		margin-top: 4rem;
		margin-inline: auto;
	}
}

/* ----------------------------------------
 home-about__brand
---------------------------------------- */
.home-about__brand {
	position: relative;
	display: flex;
	align-items: flex-start;
}

@media screen and (min-width: 1024px) {
	.home-about__brand {
		margin-top: 11.5rem;
		padding: 8.8rem 13.6rem 9.4rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__brand {
		margin-top: 7.4rem;
		padding: 6.4rem 8.53333% 7rem;
	}
}

@media screen and (max-width: 1023px) and (min-width: 561px) {
	.home-about__brand {
		justify-content: center;
	}
}

.home-about__brand::before {
	content: '';
	display: block;
	height: 100%;
	background-color: var(--color-bg2);
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(0.00001deg);
	transform: translate(-50%, -50%) rotate(0.00001deg);
	z-index: -1;
}

@media screen and (min-width: 1024px) {
	.home-about__brand::before {
		width: 100%;
		border-radius: 20rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__brand::before {
		width: 100vw;
		border-radius: 7.7rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-about__brand__title {
		width: 2.5rem;
		margin-top: 7rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__brand__title {
		width: 1.3rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-about__brand__list {
		-webkit-column-count: 3;
		-moz-column-count: 3;
		column-count: 3;
		-webkit-column-gap: 2rem;
		-moz-column-gap: 2rem;
		column-gap: 2rem;
		margin-left: 11.4rem;
	}
}

@media screen and (min-width: 1281px) {
	.home-about__brand__list {
		-webkit-column-gap: 5rem;
		-moz-column-gap: 5rem;
		column-gap: 5rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__brand__list {
		-webkit-column-count: 2;
		-moz-column-count: 2;
		column-count: 2;
		-webkit-column-gap: 0.6rem;
		-moz-column-gap: 0.6rem;
		column-gap: 0.6rem;
		margin-top: 0.2rem;
		margin-left: 2.6rem;
	}
}

.home-about__brand__list li {
	font-family: var(--font-gothic2);
	letter-spacing: calc( 160 / 1000 * 1em);
}

@media screen and (min-width: 1024px) {
	.home-about__brand__list li {
		font-size: var(--font-size14);
		margin-bottom: 1rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__brand__list li {
		font-size: var(--font-size9);
		margin-bottom: 0.8rem;
	}
}

/* ----------------------------------------
 home-about__illust
---------------------------------------- */
@media screen and (max-width: 1023px) {
	.home-about__illusts {
		position: absolute;
		top: 19.4rem;
		left: calc( 50% - 14.45rem);
		--base-width: 95;
		width: 9.5rem;
		height: 10.3rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-about__illust-1 {
		--width: 113;
		--top: 55;
		--left: 25;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__illust-1 {
		--width: 50;
		--right: 0;
		--bottom: 0;
	}
}

@media screen and (min-width: 1024px) {
	.home-about__illust-2 {
		--width: 69;
		--top: 133;
		--left: -80;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__illust-2 {
		--width: 30;
		--top: 0;
		--left: 9;
	}
}

@media screen and (min-width: 1024px) {
	.home-about__illust-3 {
		--width: 72;
		--top: 220;
		--left: -102;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__illust-3 {
		--width: 32;
		--top: 38;
		--left: 0;
	}
}

@media screen and (min-width: 1024px) {
	.home-about__illust-4 {
		--width: 230;
		--top: 6;
		--left: -105;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__illust-4 {
		--width: 111;
		--top: -35;
		--right: 36;
	}
}

/* ------------------------------------------------------------
 home-gallery
------------------------------------------------------------ */
@media screen and (min-width: 1024px) {
	.home-gallery {
		margin-top: 14.5rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-gallery {
		margin-top: 11.5rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-gallery__inner {
		max-width: 70rem;
		width: 100%;
	}
}

[class*="home-gallery__figure-"] {
	position: relative;
}

@media screen and (min-width: 1024px) {
	.home-gallery__figure-1 {
		--base-width: 810;
		width: 54%;
	}
}

@media screen and (max-width: 1023px) {
	.home-gallery__figure-1 {
		--base-width: 375;
		width: 100%;
	}
}

.home-gallery__figure-2 {
	margin-left: auto;
}

@media screen and (min-width: 1024px) {
	.home-gallery__figure-2 {
		--base-width: 591;
		width: 39.4%;
		margin-top: 11.2rem;
		margin-right: 9.73333%;
	}
}

@media screen and (max-width: 1023px) {
	.home-gallery__figure-2 {
		--base-width: 270;
		width: 72%;
		margin-top: 17.2rem;
		margin-right: 0;
	}
}

@media screen and (min-width: 1024px) {
	.home-gallery__figure-3 {
		--base-width: 916;
		width: 61.06667%;
		margin-top: 10.3rem;
		margin-left: 5.86667%;
	}
}

@media screen and (max-width: 1023px) {
	.home-gallery__figure-3 {
		--base-width: 340;
		width: 90.66667%;
		margin-top: 13rem;
	}
}

.home-gallery__figure-4 {
	margin-left: auto;
}

@media screen and (min-width: 1024px) {
	.home-gallery__figure-4 {
		--base-width: 532;
		width: 35.46667%;
		margin-top: 9.4rem;
		margin-right: 7.2%;
	}
}

@media screen and (max-width: 1023px) {
	.home-gallery__figure-4 {
		--base-width: 228;
		width: 60.8%;
		margin-top: 14.1rem;
		margin-right: 0;
	}
}

/* ----------------------------------------
 home-gallery__illust-
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-gallery__illust-1 {
		--width: 188;
		--top: 107;
		--right: -306;
	}
}

@media screen and (max-width: 1023px) {
	.home-gallery__illust-1 {
		--width: 92;
		--left: 72;
		--bottom: -43;
	}
}

@media screen and (min-width: 1024px) {
	.home-gallery__illust-2 {
		--width: 172;
		--right: -584;
		--bottom: -13;
	}
}

@media screen and (max-width: 1023px) {
	.home-gallery__illust-2 {
		--width: 77;
		--right: 70;
		--bottom: -118;
	}
}

@media screen and (min-width: 1024px) {
	.home-gallery__illust-3 {
		--width: 186;
		--left: -556;
		--bottom: -4;
	}
}

@media screen and (max-width: 1023px) {
	.home-gallery__illust-3 {
		--width: 83;
		--left: -59;
		--bottom: -54;
	}
}

@media screen and (min-width: 1024px) {
	.home-gallery__illust-4 {
		--width: 143;
		--right: -243;
		--bottom: 20;
	}
}

@media screen and (max-width: 1023px) {
	.home-gallery__illust-4 {
		--width: 70;
		--right: 18;
		--bottom: -62;
	}
}

@media screen and (min-width: 1024px) {
	.home-gallery__illust-5 {
		--width: 263;
		--top: -21;
		--left: -230;
	}
}

@media screen and (max-width: 1023px) {
	.home-gallery__illust-5 {
		--width: 114;
		--top: -19;
		--left: -101;
	}
}

/* ------------------------------------------------------------
 home-access
------------------------------------------------------------ */
@media screen and (min-width: 1024px) {
	.home-access {
		margin-top: -20rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-access {
		margin-top: 9.2rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-access__inner {
		display: flex;
		align-items: flex-start;
		max-width: 129.4rem;
	}
}

/* ----------------------------------------
 home-access__contents
---------------------------------------- */
@media screen and (min-width: 768px) {
	.home-access__contents {
		display: flex;
		align-items: flex-end;
	}
}

@media screen and (min-width: 1024px) {
	.home-access__contents {
		margin-top: 40.2rem;
		margin-left: 4.8rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-access__contents {
		width: 90%;
		margin-inline: auto;
		margin-top: 3.1rem;
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.home-access__contents {
		justify-content: center;
	}
}

@media screen and (max-width: 767px) {
	.home-access__contents {
		max-width: 257px;
	}
}

/* ---------- home-access__map ---------- */
@media screen and (min-width: 1024px) {
	.home-access__map {
		width: 32.8rem;
	}
}

@media screen and (min-width: 1441px) {
	.home-access__map {
		width: 41rem;
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.home-access__map {
		width: 25.7rem;
	}
}

/* ---------- home-access__address ---------- */
.home-access__address {
	font-family: var(--font-gothic3);
	font-weight: 700;
	letter-spacing: calc( 40 / 1000 * 1em);
}

@media screen and (min-width: 1024px) {
	.home-access__address {
		font-size: var(--font-size18);
		--line-height: calc( 28 / 18 );
		padding-bottom: 1.4rem;
		margin-left: 6.9rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-access__address {
		font-size: var(--font-size14);
		--line-height: calc( 22 / 14 );
		margin-top: 2.6rem;
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.home-access__address {
		padding-bottom: 1rem;
		margin-left: 5rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-access__address__table {
		margin-top: 2rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-access__address__table {
		margin-top: 1.5rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-access__address__table + .home-access__address__table {
		margin-top: 2.3rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-access__address__table + .home-access__address__table {
		margin-top: 1.8rem;
	}
}

.home-access__address__table dl {
	display: flex;
	align-items: baseline;
}

.home-access__address__table dl + dl {
	margin-top: 1rem;
}

.home-access__address__table dt {
	text-transform: uppercase;
}

@media screen and (min-width: 1024px) {
	.home-access__address__table dt {
		width: 9.1rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-access__address__table dt {
		width: 6.7rem;
	}
}

.home-access__address__table dd {
	flex: 1;
}

.home-access__address__list li {
	display: flex;
}

@media screen and (min-width: 1024px) {
	.home-access__address__list li + li {
		margin-top: 1rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-access__address__list li + li {
		margin-top: 0.7rem;
	}
}

.home-access__address__list span {
	display: block;
}

@media screen and (min-width: 1024px) {
	.home-access__address__list span:nth-of-type(1) {
		width: 6.2rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-access__address__list span:nth-of-type(1) {
		width: 4.7rem;
	}
}

.home-access__address__list span:nth-of-type(2) {
	flex: 1;
}

@media screen and (min-width: 1024px) {
	.home-access__address__button {
		margin-top: 4rem;
		margin-left: -0.5rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-access__address__button {
		margin-top: 3.6rem;
	}
}

/* ------------------------------------------------------------
 home-contact
------------------------------------------------------------ */
@media screen and (min-width: 1024px) {
	.home-contact {
		margin-top: 15.4rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact {
		margin-top: 9.8rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-contact__inner {
		display: flex;
		flex-direction: row-reverse;
		align-items: flex-start;
		max-width: 116rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__title {
		-webkit-transform: translateX(-0.7rem);
		transform: translateX(-0.7rem);
	}
}

/* ----------------------------------------
 home-contact__button
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-contact__buttons {
		flex: 1;
		margin-top: 4.4rem;
		margin-right: 5.7rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__buttons {
		margin-top: -5rem;
	}
}

.home-contact__button {
	border-radius: var(--radius-max);
}

@media screen and (min-width: 1024px) {
	.home-contact__button {
		--border-width: 2px;
		--border-dasharray: 9 6;
		--border-dashed-size: 15;
		max-width: 77.6rem;
		width: 100%;
		height: 19rem;
		margin-left: auto;
		margin-right: 0;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button {
		--border-width: 1px;
		--border-dasharray: 5 3;
		--border-dashed-size: 8;
		width: 34rem;
		height: 10rem;
		margin-inline: auto;
	}
}

body.ua-smartphone .home-contact__button.-tel .home-contact__button__num {
	display: none;
}

body:not(.ua-smartphone) .home-contact__button.-tel {
	pointer-events: none;
}

body:not(.ua-smartphone) .home-contact__button.-tel .home-contact__button__ja {
	display: none;
}

body:not(.ua-smartphone) .home-contact__button.-tel .home-contact__button__arrow {
	display: none;
}

@media screen and (min-width: 1024px) {
	.home-contact__button + .home-contact__button {
		margin-top: 2.6rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button + .home-contact__button {
		margin-top: 1.4rem;
	}
}

.home-contact__button a {
	position: relative;
	overflow: hidden;
	z-index: 0;
	display: flex;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	background-color: var(--color-bg2);
}

@media screen and (min-width: 1024px) {
	.home-contact__button a {
		align-items: center;
		padding-left: 24.7rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button a {
		flex-direction: column;
		justify-content: center;
		padding-left: 12rem;
	}
}

/* ----- home-contact__button__en ----- */
@media screen and (min-width: 1024px) {
	.home-contact__button__en {
		width: 12rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-contact__button__en [src*="contact_mail_en"] {
		width: 10.7rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button__en [src*="contact_mail_en"] {
		width: 5.6rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-contact__button__en [src*="contact_line_en"] {
		width: 9.2rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button__en [src*="contact_line_en"] {
		width: 4.8rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-contact__button__en [src*="contact_tel_en"] {
		width: 7.4rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button__en [src*="contact_tel_en"] {
		width: 3.8rem;
	}
}

/* ----- home-contact__button__ja ----- */
.home-contact__button__ja {
	letter-spacing: calc( 80 / 1000 * 1em);
}

@media screen and (min-width: 1024px) {
	.home-contact__button__ja {
		font-size: var(--font-size17);
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button__ja {
		font-size: var(--font-size11);
		margin-top: 1rem;
	}
}

/* ----- home-contact__button__num ----- */
.home-contact__button__num {
	opacity: .6;
	font-family: var(--font-gothic3);
	letter-spacing: calc( 80 / 1000 * 1em);
}

@media screen and (min-width: 1024px) {
	.home-contact__button__num {
		font-size: var(--font-size32);
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button__num {
		font-size: var(--font-size16);
		margin-top: 1rem;
	}
}

/* ----- home-contact__button__arrow ----- */
.home-contact__button__arrow {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media screen and (min-width: 1024px) {
	.home-contact__button__arrow {
		left: 59.4rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button__arrow {
		right: 2.8rem;
	}
}

/* ----- home-contact__button__illust ----- */
@media screen and (min-width: 1024px) {
	.home-contact__button__illust-1 {
		--width: 170;
		--left: 53;
		--bottom: -17;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button__illust-1 {
		--width: 89;
		--left: 20;
		--bottom: -4;
	}
}

@media screen and (min-width: 1024px) {
	.home-contact__button__illust-2 {
		--width: 157;
		--left: 65;
		--bottom: -41;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button__illust-2 {
		--width: 82;
		--left: 25;
		--bottom: -17;
	}
}

@media screen and (min-width: 1024px) {
	.home-contact__button__illust-3 {
		--width: 110;
		--left: 71;
		--bottom: -17;
	}
}

@media screen and (max-width: 1023px) {
	.home-contact__button__illust-3 {
		--width: 58;
		--left: 29;
		--bottom: -5;
	}
}

/* ------------------------------------------------------------
 home-shopping
------------------------------------------------------------ */
@media screen and (min-width: 1024px) {
	.home-shopping {
		margin-top: 31.4rem;
		margin-bottom: 16rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-shopping {
		margin-top: 7.2rem;
		margin-bottom: 13.2rem;
	}
}

.home-shopping__inner {
	position: relative;
}

@media screen and (min-width: 1024px) {
	.home-shopping__inner {
		max-width: 98.2rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-shopping__inner {
		width: 34rem;
		margin-inline: auto;
	}
}

/* ----------------------------------------
 home-shopping__title
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-shopping__title {
		position: absolute;
		top: -25.2rem;
		left: -13.8rem;
	}
}

/* ----------------------------------------
 home-shopping__button
---------------------------------------- */
.home-shopping__button {
	width: 100%;
}

@media screen and (min-width: 1024px) {
	.home-shopping__button {
		height: 23.2rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-shopping__button {
		margin-top: -3.8rem;
	}
}

.home-shopping__button a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: var(--color-link);
	transition: background-color var(--transition-hover);
}

@media screen and (min-width: 1024px) {
	.home-shopping__button a {
		--border-width: 2px;
		--border-dasharray: 9 6;
		--border-dashed-size: 15;
		border-radius: var(--radius-max);
		padding: 0 13rem 0 13rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-shopping__button a {
		--border-width: 1px;
		--border-dasharray: 5 3;
		--border-dashed-size: 8;
		border-radius: 5rem;
		padding: 3.8rem 12.2rem 3.7rem 4.5rem;
	}
}

@media (hover: hover) {
	.home-shopping__button a:hover {
		background-color: var(--color-hover);
	}
}

/* ---------- home-shopping__button__heading ---------- */
@media screen and (min-width: 1024px) {
	.home-shopping__button__heading {
		position: relative;
		max-width: 70rem;
		width: 100%;
	}
}

@media screen and (min-width: 1024px) {
	.home-shopping__button__title {
		width: 43.3rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-shopping__button__title {
		width: 12.2rem;
	}
}

.home-shopping__button__arrow {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media screen and (min-width: 1024px) {
	.home-shopping__button__arrow {
		right: 0;
	}
}

@media screen and (max-width: 1023px) {
	.home-shopping__button__arrow {
		right: 3rem;
	}
}

/* ---------- home-shopping__button__txt ---------- */
.home-shopping__button__txt {
	color: var(--color-txt2);
	font-weight: 700;
	letter-spacing: calc( 100 / 1000 * 1em);
}

@media screen and (min-width: 1024px) {
	.home-shopping__button__txt {
		font-size: var(--font-size17);
		margin-top: 3rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-shopping__button__txt {
		font-size: var(--font-size11);
		--line-height: calc( 18 / 11 );
		margin-top: 2rem;
	}
}

/* ----- home-shopping__button__illust-1 ----- */
@media screen and (min-width: 1024px) {
	.home-shopping__button__illust-1 {
		--width: 172;
		--top: -123;
		--right: -38;
	}
}

@media screen and (max-width: 1023px) {
	.home-shopping__button__illust-1 {
		--width: 84;
		--right: 26;
		--bottom: -34;
	}
}

/* ------------------------------------------------------------
 home-schedule
------------------------------------------------------------ */
.home-schedule {
	background-color: var(--color-bg3);
}

@media screen and (min-width: 1024px) {
	.home-schedule__inner {
		max-width: 107.2rem;
		display: flex;
		padding: 13.2rem 0 12.8rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__inner {
		padding: 7.2rem 0 13.4rem;
	}
}

/* ----------------------------------------
 home-schedule__header
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-schedule__header {
		margin-top: 0.7rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__title {
		-webkit-transform: translateX(0.7rem);
		transform: translateX(0.7rem);
	}
}

/* ----------------------------------------
 home-schedule__calendar
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-schedule__calendar {
		width: 56.5rem;
		margin-left: 6.90299%;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar {
		width: 95%;
		margin-inline: auto;
		margin-top: 4.8rem;
	}
}

@media screen and (max-width: 1023px) and (min-width: 561px) {
	.home-schedule__calendar {
		max-width: 462px;
	}
}

@media screen and (max-width: 560px) {
	.home-schedule__calendar {
		max-width: 308px;
	}
}

/* ---------- home-schedule__calendar__heading ---------- */
.home-schedule__calendar__heading {
	display: flex;
	align-items: flex-end;
	font-family: var(--font-gothic2);
	font-weight: 900;
	letter-spacing: calc( 50 / 1000 * 1em);
}

.home-schedule__calendar__num {
	margin-top: -0.22826em;
	margin-bottom: -0.06522em;
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__num {
		font-size: var(--font-size92);
		margin-left: 1.1rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__num {
		font-size: var(--font-size50);
		margin-left: 0.7rem;
	}
}

.home-schedule__calendar__en {
	text-transform: uppercase;
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__en {
		font-size: var(--font-size49);
		margin-left: 4.7rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__en {
		font-size: var(--font-size28);
		margin-left: 2.4rem;
	}
}

.home-schedule__calendar__year {
	margin-left: auto;
	margin-right: 0.4rem;
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__year {
		font-size: var(--font-size21);
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__year {
		font-size: var(--font-size12);
	}
}

/* ---------- home-schedule__calendar__table ---------- */
.home-schedule__calendar__table {
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	table-layout: fixed;
	text-align: center;
	font-family: var(--font-gothic2);
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__table {
		width: 106%;
		margin-top: 5rem;
		letter-spacing: calc( 200 / 1000 * 1em);
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__table {
		width: 108%;
		margin-top: 2.7rem;
		letter-spacing: calc( 100 / 1000 * 1em);
	}
}

.home-schedule__calendar__table thead,
.home-schedule__calendar__table tbody {
	width: 100%;
}

.home-schedule__calendar__table thead th {
	text-transform: uppercase;
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__table thead th {
		font-size: var(--font-size12);
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__table thead th {
		font-size: var(--font-size8);
	}
}

.home-schedule__calendar__table tr > *:nth-child(1) {
	color: var(--color-sun);
}

.home-schedule__calendar__table tr > *:nth-child(7) {
	color: var(--color-sta);
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__table tbody tr:first-of-type td {
		padding-top: 3rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__table tbody tr:first-of-type td {
		padding-top: 1.4rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__table tbody td {
		padding-top: 3.4rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__table tbody td {
		padding-top: 1.7rem;
	}
}

.home-schedule__calendar__table tbody td span {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-inline: auto;
	border-radius: 50%;
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__table tbody td span {
		width: 4.8rem;
		height: 4.8rem;
		font-size: 2.6rem;
		padding-left: 0.1em;
		padding-bottom: 0.1em;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__table tbody td span {
		width: 2.9rem;
		height: 2.9rem;
		font-size: 1.6rem;
		padding-left: 0.05em;
		padding-bottom: 0.2em;
	}
}

.home-schedule__calendar__table tbody td span.-close {
	background-color: var(--color-txt);
	color: var(--color-bg3);
}

.home-schedule__calendar__table tbody td span.-close a::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	border-radius: 50%;
	background-color: var(--color-txt);
	transition: -webkit-transform var(--transition-hover);
	transition: transform var(--transition-hover);
	transition: transform var(--transition-hover), -webkit-transform var(--transition-hover);
}

@media (hover: hover) {
	.home-schedule__calendar__table tbody td span.-close a:hover::before {
		-webkit-transform: var(--hover-scale);
		transform: var(--hover-scale);
	}
}

.home-schedule__calendar__table tbody td span.-event {
	--border-color: var( --color-txt );
	--border-width: 1px;
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__table tbody td span.-event {
		--border-dasharray: 2 3;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__table tbody td span.-event {
		--border-dasharray: 1 2;
	}
}

.home-schedule__calendar__table tbody td span:has(a) {
	padding-left: 0;
	padding-bottom: 0;
}

.home-schedule__calendar__table tbody td a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__table tbody td a {
		padding-left: 0.1em;
		padding-bottom: 0.1em;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__table tbody td a {
		padding-left: 0.05em;
		padding-bottom: 0.2em;
	}
}

@media (hover: hover) {
	.home-schedule__calendar__table tbody td a:hover + svg {
		-webkit-transform: var(--hover-scale);
		transform: var(--hover-scale);
	}
}

.home-schedule__calendar__table tbody td svg {
	transition: -webkit-transform var(--transition-hover);
	transition: transform var(--transition-hover);
	transition: transform var(--transition-hover), -webkit-transform var(--transition-hover);
}

/* ---------- home-schedule__calendar__infomation ---------- */
.home-schedule__calendar__infomation {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__infomation {
		-webkit-column-gap: 2.8rem;
		-moz-column-gap: 2.8rem;
		column-gap: 2.8rem;
		row-gap: 1.5rem;
		margin-top: 5rem;
		margin-left: 0.9rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__infomation {
		-webkit-column-gap: 1.9rem;
		-moz-column-gap: 1.9rem;
		column-gap: 1.9rem;
		row-gap: 1rem;
		margin-top: 2.6rem;
		margin-left: 0.6rem;
	}
}

.home-schedule__calendar__infomation dl {
	display: flex;
	align-items: center;
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__infomation dl {
		gap: 0.8rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__infomation dl {
		gap: 0.4rem;
	}
}

.home-schedule__calendar__infomation dt, .home-schedule__calendar__infomation dd {
	text-transform: uppercase;
	font-family: var(--font-gothic2);
	letter-spacing: calc( 80 / 1000 * 1em);
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__infomation dt {
		font-size: var(--font-size14);
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__infomation dt {
		font-size: var(--font-size9);
	}
}

.home-schedule__calendar__infomation dt.-sun {
	color: var(--color-sun);
}

.home-schedule__calendar__infomation dt.-close, .home-schedule__calendar__infomation dt.-event {
	border-radius: 50%;
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__infomation dt.-close, .home-schedule__calendar__infomation dt.-event {
		width: 2.1rem;
		height: 2.1rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__infomation dt.-close, .home-schedule__calendar__infomation dt.-event {
		width: 1.2rem;
		height: 1.2rem;
	}
}

.home-schedule__calendar__infomation dt.-close {
	background-color: var(--color-txt);
}

.home-schedule__calendar__infomation dt.-event {
	--border-color: var( --color-txt );
	--border-width: 1px;
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__infomation dt.-event {
		--border-dasharray: 2 2;
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__infomation dt.-event {
		--border-dasharray: 1.2 1.2;
	}
}

@media screen and (min-width: 1024px) {
	.home-schedule__calendar__infomation dd {
		font-size: var(--font-size15);
	}
}

@media screen and (max-width: 1023px) {
	.home-schedule__calendar__infomation dd {
		font-size: var(--font-size9);
	}
}
