@charset "utf-8";
main {
		margin-top: 190px;
		padding-bottom: 100px;
		position: relative;
		z-index: 5
}
@media(max-width: 960px) {
		main {
				margin-top: 150px;
		}
}
@media(max-width: 767px) {
		main {
				margin-top: 120px;
		}
}
#kvBG {
		width: 100%;
		height: 100vh;
		z-index: 0;
		position: fixed;
		top: 0;
		left: 0;
		pointer-events: none;
}
.second_hdr {
		height: 260px;
		position: relative;
}
.second_hdr.single {
		height: 60px;
}
@media(max-width: 767px) {
		.second_hdr.single {
				display: none
		}
}
.second_hdr::before {
		content: '';
		display: block;
		position: absolute;
		top: 50px;
		left: 0;
		width: 100%;
		height: 40px;
		background: linear-gradient(90deg, rgba(255, 169, 194, 1) 0%, rgba(255, 255, 255, 0) 80%);
		transform-origin: left center;
		transition: transform 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
		transform: scaleX(0);
}
.second_hdr.isActive::before {
		transform: scaleX(1);
}
.second_hdr.single::before {
		display: none
}
.second_hdr_inner {
		max-width: 1160px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 2;
		display: flex;
		justify-content: space-between;
		align-items: center;
}
.second_hdr.single .second_hdr_inner {
		display: flex;
		justify-content: flex-end;
		align-items: flex-start;
}
.second_hdr_inner hgroup {
		display: flex;
		flex-direction: column-reverse;
		position: relative;
}
.second_hdr_inner hgroup .jp {
		font-size: 26px;
		font-weight: 500;
		transition: opacity 0.5s 0.4s;
		opacity: 0;
}
.isActive .second_hdr_inner hgroup .jp {
		opacity: 1;
}
.second_hdr_inner hgroup .jp span {
		position: relative;
		padding-left: 33px;
}
.second_hdr_inner hgroup .jp span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 6.5px);
		left: 0;
		width: 13px;
		height: 13px;
		background: #F55282;
}
.second_hdr_inner hgroup .en {
		font-size: 120px;
		font-weight: 400;
		font-family: 'Inter', sans-serif;
		margin: 0 0 10px;
		letter-spacing: 0.01em;
		line-height: 1 !important;
		overflow: hidden;
		display: flex;
		justify-content: center;
		align-items: center;
		opacity: 0;
		transition: opacity 0.1s;
		transition-delay: 0.1s
}
.isActive .second_hdr_inner hgroup .en {
		opacity: 1
}
.isActive .en {
		--y: 0;
}
hgroup .en span {
		display: inline-block;
		transform: translateY(var(--y, 110%));
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		padding: 0 0 15px;
}
hgroup .en span:nth-child(1) {
		transition-delay: 0.04s;
}
hgroup .en span:nth-child(2) {
		transition-delay: 0.08s;
}
hgroup .en span:nth-child(3) {
		transition-delay: 0.12s;
}
hgroup .en span:nth-child(4) {
		transition-delay: 0.16s;
}
hgroup .en span:nth-child(5) {
		transition-delay: 0.20s;
}
hgroup .en span:nth-child(6) {
		transition-delay: 0.24s;
}
hgroup .en span:nth-child(7) {
		transition-delay: 0.28s;
}
hgroup .en span:nth-child(8) {
		transition-delay: 0.32s;
}
hgroup .en span:nth-child(9) {
		transition-delay: 0.36s;
}
hgroup .en span:nth-child(10) {
		transition-delay: 0.40s;
}
hgroup .en span:nth-child(11) {
		transition-delay: 0.44s;
}
hgroup .en span:nth-child(12) {
		transition-delay: 0.48s;
}
hgroup .en span:nth-child(13) {
		transition-delay: 0.52s;
}
hgroup .en span:nth-child(14) {
		transition-delay: 0.56s;
}
hgroup .en span:nth-child(15) {
		transition-delay: 0.60s;
}
hgroup .en span:nth-child(16) {
		transition-delay: 0.66s;
}
hgroup .en span:nth-child(17) {
		transition-delay: 0.72s;
}
hgroup .en span:nth-child(18) {
		transition-delay: 0.78s;
}
hgroup .en span:nth-child(19) {
		transition-delay: 0.84s;
}
hgroup .en span:nth-child(20) {
		transition-delay: 0.9s;
}
.second_hdr_inner .bread {
		position: absolute;
		right: 30px;
		bottom: 30px;
		transition: opacity 0.5s 0.55s;
		opacity: 0;
}
@media(max-width: 960px) {
		.second_hdr_inner .bread {
				bottom: 10px;
		}
}
.isActive .bread {
		opacity: 1;
}
.second_hdr.single .bread {
		padding-top: 0;
}
.bread ol {
		list-style: none;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		font-size: 13px;
}
.bread ol li {
		margin-left: 40px;
		position: relative;
}
.bread ol li a {
		color: #F55282;
		text-decoration: underline;
		text-underline-offset: 4px;
}
@media (hover: hover) {
		.bread ol li a:hover {
				color: #F55282;
				text-decoration: none;
		}
}
.bread ol li::after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		right: -29px;
		width: 16px;
		height: 1px;
		background: #222;
}
.bread ol li:last-child::after {
		display: none
}
@media(max-width: 960px) {
		.second_hdr {
				height: 220px;
		}
		.second_hdr::before {
				top: 38px;
				height: 28px;
		}
		.second_hdr_inner hgroup .jp {
				font-size: 22px;
		}
		.second_hdr_inner hgroup .jp span {
				position: relative;
				padding-left: 28px;
		}
		.second_hdr_inner hgroup .jp span::before {
				top: calc(50% - 5.5px);
				width: 11px;
				height: 11px;
		}
		.second_hdr_inner hgroup .en {
				font-size: 86px;
		}
}
@media(max-width: 767px) {
		.second_hdr {
				height: 114px;
		}
		.second_hdr::before {
				top: 19px;
				height: 20px;
				background: linear-gradient(90deg, rgba(255, 169, 194, 1) 0%, rgba(255, 255, 255, 0) 90%);
		}
		.second_hdr_inner {
				padding: 0 20px;
		}
		.second_hdr_inner hgroup .jp {
				font-size: 16px;
		}
		.second_hdr_inner hgroup .jp span {
				padding-left: 18px;
		}
		.second_hdr_inner hgroup .jp span::before {
				top: calc(50% - 3.5px);
				width: 7px;
				height: 7px;
		}
		.second_hdr_inner hgroup .en {
				font-size: 50px;
				margin-bottom: 15px;
		}
		#single_service .second_hdr_inner hgroup .en {
				font-size: 42px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.bread {
				display: none
		}
}
.wrap {
		max-width: 1160px;
		margin: 0 auto;
		padding: 0 30px;
}
.cont {
		background: #fff;
		min-height: 400px;
}
.cont_news_inner {
		padding: 65px 60px;
}
@media(max-width: 960px) {
		.cont_news_inner {
				padding: 50px 40px;
		}
}
@media(max-width: 767px) {
		.wrap {
				padding: 0 10px;
		}
		.cont_news_inner {
				padding: 30px 15px;
		}
}
/* ========== */
hgroup.second {
		display: flex;
		flex-direction: column-reverse;
		padding: 0;
		margin: 0 0 35px;
}
hgroup.second .en {
		font-size: 64px;
		font-weight: 400;
		line-height: 1;
		font-family: 'Inter';
		color: #F55282;
		margin: 0 0 20px;
		letter-spacing: 0;
}
hgroup.second .jp {
		font-size: 20px;
		font-weight: 500;
}
hgroup.second .jp span {
		position: relative;
		display: inline-block;
		padding-left: 27px;
		margin-left: 6px;
}
hgroup.second .jp span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 10px);
		left: 0;
		width: 7px;
		height: 21px;
		background: linear-gradient(#ff5389 0%, #d13f6d 100%);
}
@media(max-width: 1200px) {
		hgroup.second .en {
				font-size: 50px;
		}
		hgroup.second .jp {
				font-size: 16px;
		}
		hgroup.second .jp span {
				padding-left: 22px;
				margin-left: 5px;
		}
		hgroup.second .jp span::before {
				top: calc(50% - 8px);
				width: 5px;
				height: 19px;
		}
}
@media(max-width: 767px) {
		hgroup.second .en {
				font-size: 40px;
		}
		hgroup.second .jp {
				font-size: 15px;
		}
		hgroup.second .jp span {
				padding-left: 20px;
				margin-left: 3px;
		}
		hgroup.second .jp span::before {
				top: calc(50% - 8px);
				width: 5px;
				height: 17px;
		}
}
/* ========== */
.stickey_wrap {
		position: relative;
		width: 100%;
}
.stickey_wrap .pagenav {
		display: flex;
		justify-content: center;
		align-items: center;
		position: sticky;
		left: 0;
		width: 100%;
		top: 80px;
		margin-bottom: 40px;
}
.pagenav ul {
		display: flex;
		justify-content: center;
		align-items: center;
		list-style: none
}
.pagenav li {
		font-family: 'Inter', sans-serif;
		font-weight: 400;
		margin: 0 20px;
		letter-spacing: 0
}
.pagenav li a {
		color: #222222;
		text-decoration: none;
		text-underline-offset: 4px;
		padding-left: 28px;
		position: relative;
		transition: color 0.2s;
}
.pagenav li a::before, .pagenav li a::after {
		content: '';
		display: block;
		position: absolute;
		top: 3px;
		left: 0;
		width: 17px;
		height: 17px;
		border-radius: 50%;
}
.pagenav li a::before {
		background: #272B31;
		transition: background 0.2s;
}
.pagenav li a::after {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 17px;
		background-image: url("../images/pagenav_arw_wht.png")
}
@media (hover: hover) {
		.pagenav li a:hover {
				color: #F55282;
				text-decoration: underline;
		}
		.pagenav li a:hover::before {
				background: #F55282;
		}
}
@media(max-width: 960px) {
		.pagenav ul {
				padding: 0 20px;
		}
		.pagenav li {
				font-size: 14px;
				margin: 0 10px;
		}
		.pagenav li a {
				padding-left: 18px;
		}
		.pagenav li a::before, .pagenav li a::after {
				top: 3px;
				width: 13px;
				height: 13px;
		}
		.pagenav li a::after {
				background-size: 13px;
		}
}
@media(max-width: 767px) {
		.stickey_wrap .pagenav {
				position: static;
				padding-top: 20px;
		}
		.pagenav ul {
				display: flex;
				justify-content: flex-start;
				flex-wrap: wrap;
				padding: 0 15px;
		}
		.pagenav li {
				font-size: 13px;
				margin: 0 18px 15px 0;
		}
}