/* # =================================================================
# サービス - インバウンドマーケティング
# ================================================================= */
body.inbound,
body.inbound input,
body.inbound select,
body.inbound textarea,
body.inbound button {
	font-family: 'Noto Sans JP', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

/* パンくず（リンクなしの中間階層） */
body.inbound .c-breadcrumbs li:not(:last-child) {
	color: #999;
}

/* ## メインビジュアル
------------------------------------------------------------------ */
.inbound-mv {
	overflow: hidden;
	background: #f5f5f5;
}

.inbound-mv__inner {
	position: relative;
	width: 1300px;
	height: 820px;
	margin: 0 auto;
}

.inbound-mv__inner::before {
	position: absolute;
	z-index: 2;
	top: -538px;
	left: -246px;
	width: 651px;
	height: 1150px;
	content: '';
	transform: rotate(-54.19deg);
	border-radius: 340px;
	background: linear-gradient(90deg, #ffa130 0%, #fe6801 100%);
	animation: inbound-fade 0.6s ease-out 0.55s both;
}

.inbound-mv__body {
	position: absolute;
	z-index: 3;
	top: 70px;
	left: 87px;
	color: #fff;
}

.inbound-mv__title {
	width: 457px;
	font-size: 68px;
	font-weight: 500;
	line-height: 1.3;
}

.inbound-mv__title-line {
	display: block;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	background-image: linear-gradient(90deg, #fff 33.333%, #fe6801 33.333% 66.666%, transparent 66.666%);
	background-position: 100% 0;
	background-size: 300% 100%;
	animation: inbound-text-reveal 1.45s 0.1s forwards;
}

.inbound-mv__title-line + .inbound-mv__title-line {
	animation-delay: 0.2s;
}

.inbound-mv__lead {
	width: 409px;
	margin-top: 20px;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	animation: inbound-fade 0.3s ease-out 1.05s both;
}

@keyframes inbound-fade {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes inbound-text-reveal {
	0% {
		background-position: 100% 0;
		animation-timing-function: cubic-bezier(0.35, 0, 0, 1.01);
	}

	17.241% {
		background-position: 50% 0;
		animation-timing-function: cubic-bezier(0.35, 0, 0, 1.01);
	}

	100% {
		background-position: 0 0;
	}
}

/* イラスト */
.inbound-mv__illust {
	position: absolute;
	z-index: 1;
	inset: 0;
}

.inbound-mv__img {
	position: absolute;
	display: block;
	max-width: none;
	height: auto;
}

.inbound-mv__img:not(.inbound-mv__img--map) {
	animation: inbound-fadein 0.8s ease-out both;
	animation-delay: var(--inbound-mv-delay, 0s);
}

@keyframes inbound-fadein {
	from {
		transform: translateY(-16px) scale(0.96);
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		transform: none;
		opacity: 1;
	}
}

.inbound-mv__img--map {
	top: 27px;
	left: 29px;
	animation: inbound-fade 0.2s ease-out 0.1s both;
}

.inbound-mv__img--fuji {
	top: 115px;
	left: 905px;
}

.inbound-mv__img--temple {
	top: 258px;
	left: 709px;
}

.inbound-mv__img--garden {
	top: 570px;
	left: 861px;
}

.inbound-mv__img--torii {
	top: 394px;
	left: 601px;
}

.inbound-mv__img--person01 {
	top: 394px;
	left: 936px;
}

.inbound-mv__img--person02 {
	top: 513px;
	left: 382px;
}

.inbound-mv__img--person03 {
	top: 229px;
	left: 1079px;
}

.inbound-mv__img--person04 {
	top: 600px;
	left: 158px;
}

.inbound-mv__img--person05 {
	top: 567px;
	left: 567px;
}

.inbound-mv__img--person06 {
	top: 245px;
	left: 637px;
}

.inbound-mv__img--person07 {
	top: 614px;
	left: 776px;
}

/* 動きを減らす設定の環境ではアニメーションしない */
@media (prefers-reduced-motion: reduce) {
	.inbound-mv__img,
	.inbound-mv__img:not(.inbound-mv__img--map),
	.inbound-mv__inner::before,
	.inbound-mv__lead {
		animation: none;
	}

	.inbound-mv__title-line {
		color: #fff;
		background: none;
		animation: none;
	}
}

/* ## コンテンツ
------------------------------------------------------------------ */
.inbound-contents {
	position: relative;
	overflow: hidden;
	padding: 98px 0 112px;
	line-break: strict;
	text-spacing-trim: space-all;
}

.inbound-contents__bg {
	position: absolute;
	top: 0;
	left: 50%;
	width: 1300px;
	height: 100%;
	margin-left: -650px;
	pointer-events: none;
}

.inbound-contents__ring {
	--inbound-ring-color: #fe7d12;
	position: absolute;
	display: block;
}

/* リングの線（border: 線の太さ / color: 線の色） */
.inbound-contents__ring::before {
	position: absolute;
	inset: 0;
	box-sizing: border-box;
	content: '';
	border: var(--inbound-ring-border) solid var(--inbound-ring-color);
	border-radius: 50%;
}

.inbound-contents__ring.is-standby::before {
	transform: scale(0.8);
	opacity: 0;
}

.inbound-contents__ring.is-inview::before {
	transition: transform 1.4s cubic-bezier(0.785, 0.135, 0.15, 0.86), opacity 1.4s cubic-bezier(0.47, 0, 0.745, 0.715);
}

.inbound-contents__ring--01 {
	top: 69px;
	left: -1051px;
	width: 1895px;
	height: 1895px;
	--inbound-ring-border: 165px;
}

.inbound-contents__ring--02 {
	top: 154.03px;
	left: -945.47px;
	width: 1766.73px;
	height: 1766.73px;
	--inbound-ring-border: 153.83px;
	--inbound-ring-color: #ebedf5;
	mix-blend-mode: multiply;
}

.inbound-contents__ring--03 {
	top: 672px;
	left: 670px;
	width: 1939px;
	height: 1939px;
	--inbound-ring-border: 165px;
	--inbound-ring-color: rgba(254, 125, 18, 0.8);
}

.inbound-contents__ring--04 {
	top: 2683px;
	left: -1006px;
	width: 2083px;
	height: 2083px;
	--inbound-ring-border: 165px;
	opacity: 0.7;
}

.inbound-contents__ring--05 {
	display: none;
}

.inbound-contents__inner {
	position: relative;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 40px;
}

.inbound-contents__head {
	width: 476px;
	margin-right: 49px;
	margin-left: auto;
}

.inbound-contents__title {
	font-size: 36px;
	font-weight: 500;
	line-height: 1.2;
	color: #f60;
}

.inbound-contents__lead {
	width: 472px;
	margin-top: 20px;
	margin-left: 4px;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
}

.inbound-contents__cards {
	margin-top: 131px;
}

/* カード */
.inbound-card {
	position: relative;
	padding: 60px 60px 60px;
	background: #fff;
	box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.05);
}

.inbound-card + .inbound-card {
	margin-top: 48px;
}

/* スクロール表示前の状態 */
.inbound-contents__head.is-standby .inbound-contents__title,
.inbound-contents__head.is-standby .inbound-contents__lead,
.inbound-card.is-standby {
	opacity: 0;
}

.inbound-contents__head.is-inview .inbound-contents__title {
	animation: inbound-fadein-down 0.8s cubic-bezier(0.19, 1, 0.22, 1) both;
}

.inbound-contents__head.is-inview .inbound-contents__lead {
	animation: inbound-fade 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.2s both;
}

.inbound-card.is-inview {
	animation: inbound-fade 0.2s ease-out both;
}

.inbound-card.is-inview .inbound-card__icon,
.inbound-card.is-inview .inbound-card__logo,
.inbound-card.is-inview .inbound-card__catch {
	animation: inbound-fadein-down 0.8s cubic-bezier(0.19, 1, 0.22, 1) both;
}

.inbound-card.is-inview .inbound-card__body,
.inbound-card.is-inview .inbound-card__text {
	animation: inbound-fade 0.8s cubic-bezier(0.19, 1, 0.22, 1) both;
}

.inbound-card.is-inview .inbound-card__icon,
.inbound-card.is-inview .inbound-card__logo {
	animation-delay: 0.2s;
}

.inbound-card.is-standby .inbound-card__name,
.inbound-card.is-inview .inbound-card__name {
	width: fit-content;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	background-image: linear-gradient(90deg, #000 33.333%, #f60 33.333% 66.666%, transparent 66.666%);
	background-position: 100% 0;
	background-size: 300% 100%;
}

.inbound-card.is-inview .inbound-card__name {
	animation: inbound-text-reveal-card 0.95s 0.4s forwards;
}

.inbound-card.is-inview .inbound-card__catch {
	animation-delay: 0.65s;
}

.inbound-card.is-inview .inbound-card__body {
	animation-delay: 0.9s;
}

@keyframes inbound-text-reveal-card {
	0% {
		background-position: 100% 0;
		animation-timing-function: cubic-bezier(0.35, 0, 0, 1.01);
	}

	26.316% {
		background-position: 50% 0;
		animation-timing-function: cubic-bezier(0.35, 0, 0, 1.01);
	}

	100% {
		background-position: 0 0;
	}
}

.inbound-card--other.is-inview .inbound-card__name {
	animation-delay: 0.2s;
}

.inbound-card--other.is-inview .inbound-card__catch {
	animation-delay: 0.5s;
}

.inbound-card--other.is-inview .inbound-card__text {
	animation-delay: 0.75s;
}

@keyframes inbound-fadein-down {
	from {
		transform: translateY(-16px);
		opacity: 0;
	}

	to {
		transform: none;
		opacity: 1;
	}
}

.inbound-card__icon {
	display: block;
	width: 140px;
	height: auto;
}

.inbound-card__logo {
	position: absolute;
	height: auto;
}

.inbound-card--fliggy .inbound-card__logo {
	top: 66px;
	right: 71px;
	width: 369px;
}

.inbound-card--amap .inbound-card__logo {
	top: 70px;
	right: 70px;
	width: 443px;
}

.inbound-card--alipay .inbound-card__logo {
	top: 78px;
	right: 80px;
	width: 451px;
}

.inbound-card--alipayhk .inbound-card__logo {
	top: 77px;
	right: 80px;
	width: 504px;
}

.inbound-card__name {
	display: flex;
	align-items: baseline;
	margin-top: 54px;
	gap: 8px;
}

.inbound-card__name-en {
	font-family: 'Manrope', sans-serif;
	font-size: 50px;
	font-weight: 700;
	line-height: 1.36;
}

.inbound-card__name-ja {
	font-size: 16px;
	font-weight: 700;
}

.inbound-card__catch {
	margin-top: 8px;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.6;
}

.inbound-card__body {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: 8px;
}

.inbound-card__list {
	flex: 1;
	max-width: 626px;
	margin-right: 28px;
}

.inbound-card__list li {
	position: relative;
	padding-left: 21px;
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
}

.inbound-card__list li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '●';
	color: #f60;
}

.inbound-card__client {
	flex-shrink: 0;
	width: 284px;
}

.inbound-card--fliggy .inbound-card__client {
	width: 326px;
}

.inbound-card__client dt {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
	color: #f60;
}

.inbound-card__client dt::after {
	display: block;
	width: 18px;
	height: 2px;
	margin-top: 12px;
	content: '';
	background: #f60;
}

.inbound-card__client dd {
	margin-top: 9px;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
}

.inbound-card--other {
	padding-top: 45px;
	padding-bottom: 78px;
}

.inbound-card--other .inbound-card__name {
	margin-top: 0;
}

.inbound-card__text {
	margin-top: 10px;
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
}

/* ## CTA
------------------------------------------------------------------ */
.inbound-cta {
	padding: 80px 0;
	background: linear-gradient(180deg, #fe6801 0%, #ffa130 100%);
}

.inbound-cta__inner {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 40px;
}

.inbound-cta__box {
	padding: 57px 60px 48px;
	border-radius: 40px;
	background: #fff;
}

.inbound-cta__title {
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.inbound-cta__title-en {
	font-family: 'Manrope', sans-serif;
	font-size: 50px;
	font-weight: 700;
	line-height: 1.14;
}

.inbound-cta__title-ja {
	font-size: 16px;
	font-weight: 700;
}

.inbound-cta__body {
	display: flex;
	margin-top: 20px;
	font-size: 14px;
	font-weight: 500;
	line-height: 2.2;
}

.inbound-cta__text {
	flex: 1;
	max-width: 450px;
}

.inbound-cta__mail {
	white-space: nowrap;
	text-decoration: underline;
	color: inherit;
}

.inbound-cta__mail:hover {
	text-decoration: none;
}

.inbound-cta__mail:focus-visible {
	outline: 2px solid #f60;
	outline-offset: 2px;
}

.inbound-cta__info {
	flex-shrink: 0;
	margin-left: 35px;
}

.inbound-cta__word-sp {
	display: none;
}

.inbound-cta__list li::before {
	content: '・';
}

@media only screen and (max-width: 768px) {
	.inbound-mv__inner {
		width: auto;
		height: 182.933vw;
	}

	.inbound-mv__inner::before {
		top: -107.353vw;
		left: -68.046vw;
		width: 124.816vw;
		height: 220.264vw;
		border-radius: 67.158vw;
	}

	.inbound-mv__body {
		top: 7.2vw;
		left: 6.4vw;
	}

	.inbound-mv__title {
		width: 67.883vw;
		font-size: 10.813vw;
	}

	.inbound-mv__lead {
		width: 68.267vw;
		margin-top: 2.821vw;
		font-size: 3.467vw;
	}

	.inbound-mv__img--map {
		top: 84vw;
		left: 0.533vw;
		width: 96.533vw;
	}

	.inbound-mv__img--fuji {
		top: 84.261vw;
		left: 64.267vw;
		width: 25.6vw;
	}

	.inbound-mv__img--temple {
		top: 103.117vw;
		left: 42.133vw;
		width: 32.184vw;
	}

	.inbound-mv__img--garden {
		top: 141.272vw;
		left: 56.368vw;
		width: 39.259vw;
	}

	.inbound-mv__img--torii {
		top: 117.6vw;
		left: 26.432vw;
		width: 23.2vw;
	}

	.inbound-mv__img--person01 {
		top: 120.277vw;
		left: 65.704vw;
		width: 22.072vw;
	}

	.inbound-mv__img--person02 {
		top: 126.984vw;
		left: 2.576vw;
		width: 21.84vw;
	}

	.inbound-mv__img--person03 {
		top: 92.8vw;
		left: 85.224vw;
		width: 6.451vw;
	}

	.inbound-mv__img--person05 {
		top: 141.544vw;
		left: 26.416vw;
		width: 7.643vw;
	}

	.inbound-mv__img--person06 {
		top: 96.688vw;
		left: 34.133vw;
		width: 7.125vw;
	}

	.inbound-mv__img--person07 {
		top: 141.659vw;
		left: 51.019vw;
		width: 18.211vw;
	}

	.inbound-mv__img--person04 {
		display: none;
	}

	/* コンテンツ */
	.inbound-contents {
		padding: 32px 0 24px;
	}

	.inbound-contents__bg {
		left: 0;
		width: 100%;
		margin-left: 0;
	}

	.inbound-contents__ring--01 {
		top: 168px;
		left: -530.29px;
		width: 834px;
		height: 834px;
		--inbound-ring-border: 72.62px;
	}

	.inbound-contents__ring--02 {
		top: 205.42px;
		left: -483.84px;
		width: 777.55px;
		height: 777.55px;
		--inbound-ring-border: 67.7px;
	}

	.inbound-contents__ring--03,
	.inbound-contents__ring--04,
	.inbound-contents__ring--05 {
		display: block;
		width: 1009px;
		height: 1009px;
		--inbound-ring-border: 85.86px;
		--inbound-ring-color: rgba(254, 125, 18, 0.8);
		opacity: 1;
	}

	.inbound-contents__ring--03 {
		top: 854px;
		left: 108.5px;
	}

	.inbound-contents__ring--04 {
		top: 2809px;
		left: 108.5px;
	}

	.inbound-contents__ring--05 {
		top: 1894px;
		left: -677px;
	}

	.inbound-contents__inner {
		width: auto;
		margin: 0 16px;
		padding: 0;
	}

	.inbound-contents__head {
		width: auto;
		margin: 0;
		padding-left: 6px;
	}

	.inbound-contents__title {
		font-size: 24px;
	}

	.inbound-contents__lead {
		width: auto;
		margin-top: 16px;
		margin-left: 2px;
		font-size: 14px;
		line-height: 1.8;
	}

	.inbound-contents__cards {
		margin-top: 107px;
	}

	.inbound-card {
		padding: 35px 21px 42px 24px;
		box-shadow: 0 1.95px 9.77px 2.44px rgba(0, 0, 0, 0.05);
	}

	.inbound-card + .inbound-card {
		margin-top: 24px;
	}

	.inbound-card__icon {
		width: 68px;
	}

	.inbound-card--fliggy .inbound-card__logo {
		top: 42px;
		right: auto;
		left: 111px;
		width: 180px;
	}

	.inbound-card--amap .inbound-card__logo {
		top: 40px;
		right: auto;
		left: 108px;
		width: 184px;
	}

	.inbound-card--alipay .inbound-card__logo {
		top: 50px;
		right: auto;
		left: 113px;
		width: 174px;
	}

	.inbound-card--alipayhk .inbound-card__logo {
		top: 49px;
		right: auto;
		left: 108px;
		width: 206px;
	}

	.inbound-card__name {
		margin-top: 28px;
	}

	.inbound-card__name-en {
		font-size: 36px;
	}

	.inbound-card__name-ja {
		font-size: 14px;
	}

	.inbound-card__catch {
		margin-top: 16px;
		font-size: 16px;
		line-height: 1.8;
	}

	.inbound-card__body {
		display: block;
	}

	.inbound-card__list,
	.inbound-card__client,
	.inbound-card--fliggy .inbound-card__client {
		width: auto;
	}

	.inbound-card__list {
		max-width: none;
		margin-right: 9px;
	}

	.inbound-card__list li {
		font-size: 14px;
		line-height: 1.8;
	}

	.inbound-card__client {
		margin-top: 24px;
		margin-right: 6px;
	}

	.inbound-card__client dt {
		font-size: 15px;
		line-height: 1.8;
	}

	.inbound-card__client dt::after {
		width: 12px;
		height: 1px;
		margin-top: 4px;
	}

	.inbound-card__client dd {
		margin-top: 3px;
		line-height: 1.8;
	}

	.inbound-card--other {
		padding-top: 35px;
		padding-bottom: 40px;
	}

	.inbound-card--other .inbound-card__catch {
		margin-top: 14px;
	}

	.inbound-card__text {
		margin-top: 12px;
		margin-right: 10px;
		font-size: 14px;
		line-height: 1.8;
	}

	/* CTA */
	.inbound-cta {
		padding: 24px 0;
	}

	.inbound-cta__inner {
		width: auto;
		margin: 0 24px;
		padding: 0;
	}

	.inbound-cta__box {
		padding: 27px 32px 28px 41px;
		border-radius: 0;
	}

	.inbound-cta__title {
		display: block;
	}

	.inbound-cta__title-en {
		display: block;
		font-size: 36px;
		line-height: 1.36;
	}

	.inbound-cta__title-ja {
		display: block;
		font-size: 14px;
		line-height: 1.2;
	}

	.inbound-cta__body {
		display: block;
		margin-top: 24px;
		line-height: 1.8;
	}

	.inbound-cta__text {
		max-width: none;
	}

	.inbound-cta__word-pc {
		display: none;
	}

	.inbound-cta__word-sp {
		display: inline;
	}

	.inbound-cta__mail {
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.inbound-cta__info {
		max-width: 247px;
		margin-top: 13px;
		margin-left: 0;
	}
}

@media only screen and (min-width: 769px) and (max-width: 1179px) {
	.inbound-br-wide {
		display: none;
	}
}
