@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-PSP */
/* clearfix */	
.clearfix:after {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;}
/*------------------------------------------------------------
content
------------------------------------------------------------*/
.content {
	padding: 0 2rem;
	max-width: 124rem;
	margin: 0 auto;
}
@media all and (max-width: 896px) {
}


/*------------------------------------------------------------
	comContactList
------------------------------------------------------------*/
.comContactList {
	display: flex;
	justify-content: center;
	gap: 0 4rem;
}
.comContactList li {
	width: 48rem;
}
.comContactList a {
	padding-bottom: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 12rem;
	background: url(../img/index/bg03.webp) no-repeat center;
	background-size: 100% 100%;
	color: var(--pink, #DF329A);
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 0.156rem;
	position: relative;
	filter: drop-shadow(0 1rem 1rem rgba(0, 0, 0, 0.12));
}
.comContactList a:hover {
	opacity: 0.65;
}
.comContactList a:after {
	width: 2.8rem;  
	height: 2.8rem;
	background: url(../img/common/icon05.webp) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	top: 50%;
	transform: translateY(-50%);
	right: 4rem;  
	content: ""; 
}
.comContactList .txtSpan {
	line-height: 1;
	display: block;
	color: var(--blk, #444);
	font-size: 4rem;
	font-weight: 700;
	padding-left: 3rem;
	letter-spacing: 0.08rem;
	background: url(../img/common/tel.webp) no-repeat left center;
	background-size: 2.1rem auto;
}
.comContactList .subSpan2 .txtSpan {
	background-image: url(../img/common/icon04.webp);
	background-size: 4.1rem auto;
	padding-left: 5rem;
	background-position: left top calc(50% + 0.2rem);
}
.comContactList .txtSpan small {
	font-size: 3.6rem;
}
.comContactList02 li {
	width: 46rem;
}
.comContactList02 a {
	font-size: 2.4rem;
}
.comContactList02 .txtSpan{
	margin-top: 0.5rem;
	font-size: 3.4rem;
	padding-left: 2.7rem;
	background-size: 2rem auto;
}
.comContactList02 .subSpan2 .txtSpan {
	font-size: 3.4rem;
	padding-left: 4.3rem;
	background-size: 3.4rem auto;
}
.comContactList02 .txtSpan small{
	font-size: 3.1rem;
}
@media all and (max-width: 896px) {
	.comContactList {
		display: block;
	}
	.comContactList li {
		margin: 0 auto 2rem;
		width: auto;
		max-width: 33.5rem;
	}
	.comContactList li:last-child {
		margin-bottom: 0;
	}
	.comContactList a {
		padding-bottom: 0.5rem;
		min-height: 8rem;
		font-size: 1.6rem;
		letter-spacing: 0.096rem;
	}
	.comContactList .txtSpan {
		font-size: 2.8rem;
		padding: 0 0 0.2rem 2rem;
		letter-spacing: 0.056rem;
		background-size: 1.5rem auto;
	}
	.comContactList a::after {
		width: 2.4rem;
		height: 2.4rem;
		right: 2rem;
	}
	.comContactList .subSpan2 .txtSpan {
		font-size: 2.8rem;
		margin-top: -0.2rem;
		padding-left: 3.2rem;
		background-size: 2.6rem auto;
		background-position: left top calc(50% + 0rem);
	}
	.comContactList .txtSpan small {
		font-size: 2.4rem;
	}
	.comContactList .txtSpan .en {
		font-size: 2.6rem;
	}
}


/*------------------------------------------------------------
	comTtlBox
------------------------------------------------------------*/
.comTtlBox .en {
	min-width: 34rem;
	width: fit-content;
	margin: 0 auto 2.5rem;
	background: linear-gradient(90deg, #F363AB 0%, #1AA6D5 100%);
	color: var(--white, #FFF);
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	padding: 0 1rem 0.3rem;
	line-height: 1.3;
	letter-spacing: 0.12rem;
}
.headLine01 {
	margin-bottom: 1.8rem;
	text-align: center;
	font-size: 5.6rem;
	font-weight: 500;
	line-height: 160%; 
	letter-spacing: -0.1em;
}
.headLine01 .red {
	color: var(--pink, #DF329A);
	font-size: 8rem;
	font-weight: 500;
	line-height: 120%; 
	letter-spacing: -0.8rem;
}
@media all and (max-width: 896px) {
	.comTtlBox .en {
		margin: 0 auto 2.5rem;
		padding: 0 1rem;
		min-width: inherit;
		font-size: 1.4rem;
		line-height: 1.2;
		letter-spacing: 0.084rem;
	}
	.headLine01 {
		margin-bottom: 1.6rem;
		font-size: 2.8rem;
		line-height: 1.1;
	}
	.headLine01 .red {
		font-size: 3.6rem;
		letter-spacing: -0.36rem;
	}
}

/*------------------------------------------------------------
headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 4.8rem;
	font-size: 8rem;
	line-height: 1.2;
	font-weight: 500;
	text-align: center;
	font-feature-settings: "palt";
	position: relative;
	z-index: 2;
}
@media all and (max-width: 896px) {
	.headLine02  {
		margin-bottom: 3.1rem;
		font-size: 3.2rem;
		line-height: 1.2;
	}
}

/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink {
	margin-left: auto;
	width: 26rem;
}
.comLink a {
	padding: 0 3rem;
	min-height: 5rem;
	display: flex;
	align-items: center;
	color: var(--white, #FFF);
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.108rem;
	border-radius: 6rem;
	position: relative;
	background: #444444;
}
.comLink a:after {
	width: 2.5rem;  
	height: 2.5rem;
	background: url(../img/common/icon05.webp) no-repeat right center;
	background-size: 100% auto;
	position: absolute;  
	top: 50%;
	transform: translateY(-50%);
	right: 2rem;  
	content: ""; 
}
.comLink a:hover {
	opacity: 0.65;
}
.comLink a.on::after {
	transform: translateY(-50%) rotate(90deg);
}
@media all and (max-width: 896px) {
	.comLink {
		margin: 0 auto;
	}
}


/*------------------------------------------------------------
	contactList
------------------------------------------------------------*/
.fixedBox {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	right: 0;
	width: 8rem;
	z-index: 100;
	transition: 0.3s;
}
.fixedBox.fixed {
	opacity: 1;
	visibility: visible;
}
.contactList li {
	margin-bottom: 2rem;
}
.contactList a {
	white-space: nowrap;
	padding-bottom: 4.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 34rem;
	color: var(--white, #FFF);
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.112rem;
	-webkit-writing-mode : tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position: relative;
	background: linear-gradient(190deg, #F363AB 0%, #1AA6D5 100%);
}
.contactList a:hover {
	opacity: 0.65;
}
.contactList a:after {
	width: 2.4rem;  
	height: 2.4rem;
	background: url(../img/common/icon05.webp) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	bottom: 3rem;
	left: 50%;
	transform: translateX(-50%);
	content: ""; 
}
.contactList a .subSpan {
	padding-top: 3.5rem;
	display: inline-block;
	background: url(../img/common/icon06.webp) no-repeat calc(50% - 0.3rem) top;
	background-size: 1.8rem auto;
}
.contactList .link {
	font-size: 2.4rem;
	letter-spacing: 0.048rem;
}
.contactList .link .en {
	font-size: 2.6rem;
	letter-spacing: 0;
	text-orientation: upright;
}
.contactList .link .subSpan {
	padding-top: 3rem;
	background-position: center top;
	background-image: url(../img/common/icon07.webp);
	background-size: 3rem auto;
}
.contactList .link .num {
	letter-spacing: -0.02em;
	display: inline-block;
	transform: rotate(0deg);
	writing-mode: horizontal-tb;
	text-orientation: mixed;
}

@media all and (min-width: 897px) {
	.contactList .link .subSpan {
		height: 25rem;
	}
}

@media all and (max-width: 896px) {
	.fixedBox {
		right: auto;
		top: auto;
		bottom: 0;
		left: 0;
		/* opacity: 1;
		visibility: visible; */
		width: 100%;
	}
	.fixedBox.fixed {
		height: auto;
	}
	.fixedBox .contactList {
		display: flex;
		background: linear-gradient(90deg, #F363AB 0%, #1AA6D5 100%);
	}
	.contactList li {
		margin: 0;
		flex-basis: 50%;
	}
	.contactList li:last-child a {
		border: none;
	}
	.contactList a {
		border-right: 1px solid #fff;
		padding: 0;
		min-height: 7rem;
		font-size: 2rem;
		letter-spacing: 0.04rem;
		-webkit-writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;
		-moz-writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		-o-writing-mode: horizontal-tb;
		background:transparent;
	}
	.contactList a::after {
		display: none;
	}
	.contactList a .subSpan {
		padding: 0 0 0.3rem 2rem;
		background-position: left center;
		background-size: 1.5rem auto;
	}
	.contactList .link .subSpan {
		padding: 0 0 0.3rem 3.5rem;
		font-size: 2.0rem;
		background-position: left center;
		background-size: 2.8rem auto;
	}
	.contactList .link .en {
		font-size: 2.1rem;
	}
}


/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}


/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}


/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}


