/* #region theme =================================== */
:root {
	--font-color: #000;
	--primary-color: #e40012;
}
/* #endregion theme -------------------------------- */

/* #region Reset and Setup =================================== */
html, body, div,
p, a, img, figure,
dl, dt, dd,
ul, ol, li,
button,
h1, h2, h3, h4, h5, h6,
hr, header, footer, section, article {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

html {
	box-sizing: border-box;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

*, *::before, *::after {
	box-sizing: inherit;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	background: #fff;
	color: var(--font-color);
}

a, button {
	color: inherit;
	text-decoration: none;
}

@media (min-width: 1025px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}

ol, ul {
	list-style: none;
}

img {
	border: none;
	max-width: 100%;
	vertical-align: middle;
}

svg {
	display: block;
	max-width: 100%;
	height: auto;
	fill: currentcolor;
}


@media only screen and (min-width: 1025px) {
	br.mb {
		display: none;
	}
}
@media only screen and (max-width: 1024px) {
	br.pc {
		display: none;
	}
}

.img-box {
	position: relative;
	overflow: hidden;
}
.img-box img, .img-box video {
	position: absolute;
	height: 100%;
	width: 100%;
	margin: auto;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	object-fit: cover;
}

.u-visually-hidden {
	position: absolute!important;
	width: 1px!important;
	height: 1px!important;
	margin: -1px!important;
	padding: 0!important;
	border: 0!important;
	white-space: nowrap!important;
	clip: rect(0,0,0,0)!important;
	overflow: hidden!important;
}
/* #endregion Reset and Setup -------------------------------- */

/* #region layout =================================== */
.l-inner {
	display: block;
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
}

.l-header {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 50;
	/* transform: translateY(-200px); */
}
.l-header-inner {
	padding: 0 25px;
	max-width: 1570px;
}
@media only screen and (max-width: 1366px) {
	.l-header {
		position: relative;
	}
}

.l-footer {
	background: #f3f4f8;
}
.l-footer-inner {
	padding: 75px 25px 40px;
	max-width: 1494px;
}
@media only screen and (max-width: 1024px) {
	.l-footer-inner {
		padding-top: 130px;
}
}

.l-sub-header {
	height: 289px;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: var(--primary-color);
	color: #fff;
}
.l-sub-header-inner {
	max-width: 1230px;
	padding: 165px 40px 0;
}
.l-sub-header .title .en {
	margin-bottom: 10px;
	font-family: 'Poppins', sans-serif;
	font-style: italic;
	font-weight: 700;
	font-size: 54px;
	letter-spacing: 0.05em;
	line-height: 1;
}
.l-sub-header .title .ja {
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1;
}
@media only screen and (max-width: 1024px) {
	.l-sub-header {
		background-size: cover;
	}
}
/* #endregion layout -------------------------------- */

/* #region components =================================== */
.c-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 130px;
}
.c-header__logo {
	flex-shrink: 0;
	width: 130px;
	margin-right: 20px;
}
.c-header-main {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.c-header-nav {
	flex: 1 0 710px;
}
.c-header-nav__list {
	display: flex;
	justify-content: space-between;
	border-left: 1px solid rgba(35, 24, 21, 0.25);
}
.c-header-nav__list li {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 67px;
	padding: 0 min(48px, 2.5vw);
	white-space: nowrap;
	border-right: 1px solid rgba(35, 24, 21, 0.25);
}
.c-header-nav__list a {
	transition: color 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.c-header-nav__list a:hover {
	color: var(--primary-color);
}
.c-header-nav__list .icon {
	display: inline-block;
	width: 32px;
	margin-bottom: 4px;
	margin-right: 18px;
	vertical-align: middle;
}
.c-header-nav__list .text {
	display: inline-block;
	vertical-align: middle;
	font-size: 14px;
	font-weight: 700;
}
.c-header-utility {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: min(30px, 2.5vw);
	margin-left: min(30px, 2.5vw);
}
.c-header-tel a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 67px;
	padding: 0 min(50px, 3vw);
	border-radius: 11px;
	background: var(--primary-color);
	box-shadow : 0px 0px 4px rgba(28, 73, 81, 0.15);
	color: #fff;
	white-space: nowrap;
	transition: opacity 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.c-header-tel a:hover {
	opacity: 0.6;
}
.c-header-tel .icon {
	display: inline-block;
	width: 15px;
	margin-right: 10px;
	margin-bottom: 2px;
	vertical-align: middle;
}
.c-header-tel .num {
	display: inline-block;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 23px;
	letter-spacing: 0.05em;
	vertical-align: middle;
}
.c-header-tel .hour {
	display: none;
}
.c-header-sns a {
	display: block;
	width: 94px;
	transition: opacity 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.c-header-sns a:hover {
	opacity: 0.6;
}

.c-header__menu-btn {
	display: none;
}
@media only screen and (max-width: 1366px) {
	.c-header {
		height: 180px;
	}
	.c-header__logo {
		width: 188px;
		margin-top: 30px;
		margin-right: 20px;
	}
	.c-header__menu-btn {
		display: block;
		position: fixed;
		top: 54px;
		right: 33px;
		z-index: 99;
	}
	.c-header__menu-btn button {
		cursor: pointer;
		position: relative;
		width: 65px;
		height: 65px;
		border-radius: 50%;
		background: var(--primary-color);
		text-align: center;
	}
	.c-header__menu-btn .border1, .c-header__menu-btn .border2, .c-header__menu-btn .border3 {
		display: inline-block;
		position: absolute;
		width: 21px;
		height: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		border-top: 2px solid #fff;
		transform-origin: left;
		transform-origin: center;
		transition: transform 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
	}
	.c-header__menu-btn .border1 {
		transform: translateY(-8px);
	}
	.c-header__menu-btn .border3 {
		transform: translateY(8px);
	}
	.l-header.is-open .c-header__menu-btn .border1 {
		transform: translateY(0) rotate(-135deg);
	}
	.l-header.is-open .c-header__menu-btn .border2 {
		opacity: 0;
	}
	.l-header.is-open .c-header__menu-btn .border3 {
		transform: translateY(0) rotate(-225deg);
	}
	.c-header-main {
		visibility: hidden;
		position: fixed;
		top: 0;
		right: 0;
		width: 375px;
		height: 100vh;
		background: #f1f2f6;
		padding: 30px;
		padding-top: 150px;
		padding-bottom: 100px;
		z-index: 50;
		transform: translateX(105%);
		transition: transform 0.4s cubic-bezier(0.4, 0.6, 0.6, 1);
	}
	.l-header.is-open .c-header-main {
		visibility: visible;
		display: block;
		transform: translateX(0);
	}
	.l-header.is-open .c-header-nav__list {
		align-items: center;
		align-content: center;
		justify-content: center;
		flex-wrap: wrap;
		row-gap: 18px;
		height: 100%;
		margin-bottom: 35px;
		border: none;
		text-align: center;
	}
	.l-header.is-open .c-header-nav__list li {
		flex: 0 0 100%;
		padding: 0;
		height: auto;
		border: none;
	}
	.l-header.is-open .c-header-nav__list a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 99px;
		border-radius: 11px;
		background: #fff;
		box-shadow : 0px 0px 8px rgba(28, 73, 81, 0.15);
		white-space: nowrap;
		transition: box-shadow 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
	}
	.l-header.is-open .c-header-nav__list a:hover {
		box-shadow : 0px 0px 2px rgba(28, 73, 81, 0.3);
	}
	.c-header-nav__list .text {
		width: 9em;
		text-align: left;
	}
	.c-header-utility {
		display: block;
		margin: 0;
	}
	.c-header-tel .hour {
		display: block;
		margin-top: 15px;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0.075em;
		line-height: 1;
		text-align: center;
	}
	.c-header-sns {
		display: none;
	}
}
@media only screen and (max-width: 480px) {
	.c-header-main {
		width: 100%;
	}
}

.c-footer {
	display: flex;
	justify-content: space-between;
}
.c-footer__logo {
	display: inline-block;
	width: 290px;
	margin-bottom: 70px;
}
.c-footer__body {
	padding-top: 25px;
	flex-shrink: 0;
	text-align: right;
}
.c-footer-nav {
	margin-bottom: 40px;
	color: var(--primary-color);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.075em;
}
.c-footer-nav li {
	display: inline-block;
	margin-left: 1em;
	transition: opacity 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.c-footer-nav li a:hover {
	opacity: 0.6;
}
.c-footer__address {
	margin-bottom: 35px;
	font-size: 14px;
	line-height: 1.3571;
}
.c-footer-sns a {
	transition: opacity 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.c-footer-sns a:hover {
	opacity: 0.6;
}
.c-footer-copy {
	font-size: 10px;
	letter-spacing: 0.2em;
	text-align: center;
}
@media only screen and (min-width: 1025px) {
	.c-footer-nav li:not(:last-of-type)::after {
		content: '｜';
		margin-left: 1em;
	}
}
@media only screen and (max-width: 1024px) {
	.c-footer {
		display: block;
		text-align: center;
	}
	.c-footer__logo {
		width: 248px;
	}
	.c-footer__body {
		margin-bottom: 60px;
		text-align: center;
	}
	.c-footer-nav li {
		display: block;
		margin-bottom: 16px;
	}
}


.c-lineup {
	overflow: hidden;
	padding-top: 138px;
	padding-bottom: 154px;
	background: var(--primary-color);
	color: #fff;
}
.c-lineup__head {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1214px;
	padding: 0 25px;
	margin: 0 auto;
	gap: 20px;
	margin-bottom: 164px;
}
.c-lineup__head .title {
	display: inline-block;
	text-align: left;
}
.c-lineup__head .title .en {
	margin-bottom: 13px;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-style: italic;
	font-size: 88px;
	letter-spacing: 0.05em;
	line-height: 1;
}
.c-lineup__head .title .ja {
	margin-left: 10px;
	font-weight: 700;
	font-size: 26px;
	letter-spacing: 0.05em;
	line-height: 1;
}
.c-lineup__head .link-btn {
	display: block;
	position: relative;
	max-width: 310px;
	width: 100%;
	height: 67px;
	margin-top: 32px;
	padding: 23px 36px;
	border-radius: 11px;
	background: #fff;
	color: var(--primary-color);
	font-size: 15px;
	font-weight: 700;
}
.c-lineup__head .link-btn::after {
	content: '〉';
	position: absolute;
	right: 23px;
	top: 23px;
}
.c-lineup__slider .swiper {
	overflow: visible;
}
.c-lineup__slider .swiper-wrapper {
	-webkit-transition-timing-function: linear !important;
	transition-timing-function: linear !important;
}
.c-lineup__slider .swiper-slide {
	position: relative;
	width: 250px;
	text-align: center;
}
.c-lineup__slider .swiper-slide .caption {
	position: relative;
	padding-bottom: 27px;
	margin-bottom: 38px;
}
.c-lineup__slider .swiper-slide .caption::after {
	content: '▼';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	font-weight: 700;
	font-size: 13px;
	line-height: 1;
}
.c-lineup__slider .swiper-slide .caption .en {
	margin-bottom: 10px;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-style: italic;
	font-size: 29px;
	letter-spacing: 0.05em;
	line-height: 1;
}
.c-lineup__slider .swiper-slide .caption .ja {
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.025em;
	line-height: 1;
}
.c-lineup__slider .swiper-slide .img-box {
	width: 100%;
	height: 100%;
}
@media only screen and (max-width: 1024px) {
	.c-lineup {
		padding-top: 157px;
		padding-bottom: 160px;
	}
	.c-lineup__head {
		display: block;
		text-align: center;
		margin-bottom: 98px;
	}
	.c-lineup__head .title {
		margin-bottom: 55px;
	}
	.c-lineup__head .title .en {
		margin-bottom: 6px;
		font-size: 51px;
	}
	.c-lineup__head .title .ja {
		font-size: 15px;
	}
	.c-lineup__head .link-btn {
		margin: 0 auto;
		text-align: left;
	}
	.c-lineup__slider .swiper-slide {
		width: 223px;
	}
}

.c-contact {
	background: #fff;
}
.c-contact-inner {
	padding: 107px 170px 110px;
	max-width: 1500px;
}
.c-contact-btns {
	display: flex;
	justify-content: center;
	gap: 22px 26px;
}
.c-contact-btn {
	align-content: center;
	width: 570px;
	height: 155px;
	padding: 32px 10px;
	border-radius: 16px;
	background: #717071;
	color: #fff;
	box-shadow : 0px 0px 4px rgba(28, 73, 81, 0.15);
	text-align: center;
	font-weight: 700;
	transition: opacity 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.c-contact-btn.tel {
	background: var(--primary-color);
}
.c-contact-btn:hover {
	opacity: 0.6;
}
.c-contact-btn .heading {
	margin-bottom: 20px;
	font-size: 12px;
	letter-spacing: 0.1;
}
.c-contact-btn .title {
	display: block;
}
.c-contact-btn .icon {
	display: inline-block;
	margin-right: 15px;
	vertical-align: middle;
}
.c-contact-btn .num {
	display: inline-block;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 32px;
	line-height: 1;
	letter-spacing: 0.05em;
	vertical-align: middle;
}
.c-contact-btn .text {
	display: inline-block;
	font-weight: 700;
	font-size: 21px;
	line-height: 1;
	letter-spacing: 0.05em;
	vertical-align: middle;
}
.c-contact__cats {
	display: block;
	position: absolute;
	bottom: -73px;
	right: 0;
	width: 200px;
	z-index: 5;
}
@media only screen and (max-width: 1024px) {
	.c-contact-inner {
		padding: 80px 20px 245px;
	}
	.c-contact-btns {
		flex-wrap: wrap;
	}
	.c-contact-btn {
		align-content: center;
		width: 338px;
		height: 136px;
		padding: 32px 10px;
	}
	.c-contact-btn .heading {
		font-size: 11px;
	}
	.c-contact-btn .icon {
		transform: scale(0.9);
	}
	.c-contact-btn .num {
		font-size: 28px;
	}
	.c-contact-btn .text {
		font-size: 19px;
	}
	.c-contact__cats {
		bottom: -84px;
		left: 0;
		margin: auto;
	}
}


.c-strength {
	background: #f3f4f8;
}
.c-strength .l-inner {
	max-width: 1600px;
	padding: 25px;
	padding-top: 140px;
	padding-bottom: 162px;
}
.c-strength .title {
	margin-bottom: 75px;
	text-align: center;
}
.c-strength .title .ja {
	margin-bottom: 18px;
	color: var(--primary-color);
	font-weight: 700;
	font-size: 29px;
	letter-spacing: 0.1em;
	line-height: 1;
}
.c-strength .title .en {
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	letter-spacing: 0.075em;
	line-height: 1;
}
.c-strength__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 25px 33px;
	max-width: 1170px;
	margin: 0 auto;
}
.c-strength__item {
	flex: 1 1 40%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 52px;
	min-height: 270px;
	padding: 35px;
	padding-top: 57px;
	padding-left: 10px;
	background: #fff;
	box-shadow : 0px 0px 4px rgba(28, 73, 81, 0.15);
	border-radius: 19px;
}
.c-strength__item .img-cont {
	width: 130px;
}
.c-strength__item .text-cont {
	width: 220px;
}
.c-strength__item .heading {
	margin-bottom: 10px;
	color: var(--primary-color);
	font-size: 21px;
	font-weight: 700;
	letter-spacing: 0.005em;
	line-height: 1.2381;
}
.c-strength__item .text {
	font-size: 13px;
	line-height: 1.7692;
	text-align: justify;
}
.c-strength__cat {
	position: absolute;
	left: 0;
	bottom: -30px;
	width: 197px;
}
@media only screen and (max-width: 1024px) {
	.c-strength .l-inner {
		padding-top: 140px;
		padding-bottom: 220px;
	}
	.c-strength .title .ja {
		margin-bottom: 15px;
		color: var(--primary-color);
		font-weight: 700;
		font-size: 29px;
		letter-spacing: 0.1em;
		line-height: 1;
	}
	.c-strength__item {
		display: block;
		flex: 0 0 320px;
		min-height: 355px;
		padding: 35px;
		text-align: center;
	}
	.c-strength__item .img-cont {
		margin: 0 auto 15px;
	}
	.c-strength__item .text-cont {
		margin: 0 auto;
	}
	.c-strength__cat {
		left: -8px;
		right: 0;
		bottom: -42px;
		width: 166px;
		margin: 0 auto;
	}
}


.c-terms {
	padding-bottom: 200px;
}
.c-terms .l-inner {
	max-width: 1000px;
	padding: 0 25px;
	margin: 0 auto;
}
.c-terms__cont {
	width: 100%;
	background: #fff;
	padding: 80px 80px 70px;
	border-radius: 28px;
	box-shadow : 0px 0px 4px rgba(28, 73, 81, 0.15);
	text-align: center;
}
.c-terms__cont .title {
	margin-bottom: 35px;
	color: var(--primary-color);
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.025em;
	line-height: 1;
}
.c-terms__cont .text {
	margin-bottom: 30px;
	font-size: 16px;
}
.c-terms__cont .pdf-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 500px;
	height: 75px;
	padding: 0 45px 0 50px;
	margin: 0 auto;
	border-radius: 50px;
	background: #f1f1f1;
	font-weight: 500;
	font-size: 17px;
	letter-spacing: 0.02em;
	line-height: 1;
	transition: opacity 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.c-terms__cont .pdf-link:hover {
	opacity: 0.6;
}
.c-terms__cont .pdf-link span {
	flex: 1 1;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
}
.c-terms__cont .pdf-link::before {
	flex: 0 0;
	display: inline-block;
	content: url('../images/common/icon-pdf.svg');
	margin-right: 15px;
}
.c-terms__cont .pdf-link::after {
	flex: 0 0;
	display: inline-block;
	content: url('../images/common/icon-arrow.svg');
}
@media only screen and (max-width: 1024px) {
	.c-terms {
		padding-bottom: 115px;
	}
	.c-terms__cont {
		padding: 55px 20px 45px;
		border-radius: 22px;
	}
	.c-terms__cont .title {
		margin-bottom: 30px;
	}
	.c-terms__cont .pdf-link {
		height: 65px;
		padding: 0 30px;
		font-size: 11px;
	}
	.c-terms__cont .pdf-link::before {
		width: 18px;
	}
	.c-terms__cont .pdf-link::after {
		width: 7px;
	}
}
/* #endregion components -------------------------------- */

/* #region top =================================== */
@media only screen and (min-width: 1367px) {
	.l-header.top {
		display: none;
	}
}

.top-hero {
	height: 1090px;
}
.top-hero .l-inner {
	display: flex;
	justify-content: center;
	column-gap: 82px;
	max-width: 1650px;
	padding: 0 25px;
	padding-top: 90px;
}
@media only screen and (max-width: 1366px) {
	.top-hero .l-inner {
		padding-top: 15px;
	}
}
@media only screen and (max-width: 767px) {
	.top-hero {
		height: 787px;
	}
}

.top-hero__aside {
	position: relative;
	flex: 0 0 310px;
	padding-top: 20px;
	text-align: center;
}
.top-hero__aside .logo {
	max-width: 281px;
	margin-bottom: 75px;
	margin-left: 5px;
}
.top-hero__aside .menu-list {
	margin-bottom: 38px;
}
.top-hero__aside .menu-list li {
	margin-bottom: 18px;
}
.top-hero__aside .menu-list a {
	display: flex;
	align-items: center;
	width: 100%;
	height: 99px;
	margin-bottom: 18px;
	padding-left: 50px;
	border-radius: 11px;
	background: #fff;
	box-shadow : 0px 0px 8px rgba(28, 73, 81, 0.15);
	white-space: nowrap;
	transition: background 0.3s cubic-bezier(0.4, 0.6, 0.6, 1), box-shadow 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.top-hero__aside .menu-list a:hover {
	background: #eee;
	box-shadow : 0px 0px 0px rgba(28, 73, 81, 0.15);
}
.top-hero__aside .menu-list a .icon {
	display: inline-block;
	width: 38px;
	margin-bottom: 4px;
	margin-right: 45px;
	vertical-align: middle;
}
.top-hero__aside .menu-list a .text {
	display: inline-block;
	vertical-align: middle;
	font-size: 14px;
	font-weight: 700;
}
.top-hero__aside .tel a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 67px;
	margin-bottom: 14px;
	padding: 0 min(50px, 3vw);
	border-radius: 11px;
	background: var(--primary-color);
	box-shadow : 0px 0px 4px rgba(28, 73, 81, 0.15);
	color: #fff;
	white-space: nowrap;
	transition: opacity 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.top-hero__aside .tel a:hover {
	opacity: 0.6;
}
.top-hero__aside .tel a .icon {
	display: inline-block;
	width: 15px;
	margin-right: 10px;
	margin-bottom: 2px;
	vertical-align: middle;
}
.top-hero__aside .tel a .num {
	display: inline-block;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 23px;
	letter-spacing: 0.05em;
	vertical-align: middle;
}
.top-hero__aside .tel .hour {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 1;
}
@media only screen and (max-width: 1366px) {
	.top-hero__aside {
		display: none;
	}
}

.top-hero__main {
	position: relative;
	flex: 0 1 1207px;
	height: 824px;
}
.top-hero__main .img-box {
	width: 100%;
	height: 100%;
	border-radius: 279px 0 0 0;
}
.top-hero__main .heading {
	position: absolute;
	top: 65px;
	right: 78px;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1;
	writing-mode: vertical-rl;
}
.top-hero__main .heading span {
	display: inline-block;
	padding: 0.25em;
	margin-left: 0.5em;
	background: #fff;
}
.top-hero__main::after {
	content: 'KYUSHU MIRAI';
	position: absolute;
	left: 65px;
	bottom: -45px;
	color: transparent;
	-webkit-text-stroke: 1px var(--primary-color);
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-style: italic;
	font-size: 114px;
	letter-spacing: 0.025em;
	line-height: 1;
}
.top-hero__main .insta-btn {
	position: absolute;
	right: 38px;
	bottom: -42px;
	width: 206px;
	z-index: 5;
	transition: transform 0.3s cubic-bezier(0.4, 0.6, 0.6, 1),  opacity 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.top-hero__main .insta-btn:hover {
	transform: scale(0.9);
	opacity: 0.8;
}
@media only screen and (max-width: 1366px) {
	.top-hero__main {
		flex-grow: 1;
	}
}
@media only screen and (max-width: 767px) {
	.top-hero__main {
		height: 654px;
	}
	.top-hero__main::after {
		left: 0px;
		bottom: -17px;
		font-size: 44px;
	}
	.top-hero__main .img-box {
		border-radius: 167px 0 0 0;
	}
	.top-hero__main .heading {
		top: auto;
		right: auto;
		left: 8px;
		bottom: 105px;
	}
	.top-hero__main .insta-btn {
		width: 162px;
		right: 10px;
		bottom: 36px;
	}
}

/* #endregion top -------------------------------- */

/* #region about =================================== */
.p-about .l-sub-header {
	background-image: url('../images/about/header-pc.jpg');
}
@media only screen and (max-width: 1024px) {
	.p-about .l-sub-header {
		background-image: url('../images/about/header-mb.jpg');
	}
}

.about-catch {
	margin-bottom: 140px;
}
.about-catch .l-inner {
	padding: 115px 25px 0;
	color: var(--primary-color);
	letter-spacing: 0.05em;
	line-height: 1.3;
	text-align: center;
}
.about-catch__title {
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 33px;
	line-height: 1.4348;
	letter-spacing: 0.05em;
}
.about-catch__text {
	font-weight: 700;
	font-size: 18px;
	line-height: 1.6429;
}
@media only screen and (max-width: 1024px) {
	.about-catch {
		margin-bottom: 110px;
	}
	.about-catch .l-inner {
		padding-top: 80px;
	}
	.about-catch__title {
		font-size: 23px;
	}
	.about-catch__text {
		font-size: 14px;
	}
}

.about-block {
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	padding: 0 25px;
	margin: 0 auto;
	margin-bottom: 110px;
}
.about-block__title {
	flex: 0 0 274px;
	margin-bottom: 10px;
	font-weight: 700;
	font-size: 19px;
	letter-spacing: 0.1em;
	line-height: 1.3;
}
.about-block__content {
	position: relative;
	flex-grow: 1;
}
@media only screen and (max-width: 1024px) {
	.about-block {
		display: block;
		max-width: 600px;
		margin-bottom: 110px;
	}
}

.company-table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid rgba(0, 0, 0, 0.25);
}
.company-table tr {
	border-bottom: 1px solid rgba(0, 0, 0, 0.25);
	font-size: 14px;
	line-height: 2.2857;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: left;
}
.company-table th, .company-table td {
	padding: 16px 0;
	font-weight: inherit;
}
.company-table th {
	width: 200px;
}
@media only screen and (max-width: 1024px) {
	.company-table th {
		width: 115px;
	}
}

.about-map {
	margin-bottom: 250px;
}
.about-map .map {
	position: relative;
	width: 100%;
	height: 400px;
}
.about-map .map iframe {
	width: 100%;
	height: 100%;
	border: 0;
}
@media only screen and (max-width: 1024px) {
	.about-map {
		margin-bottom: 180px;
	}
	.about-map .map {
		height: 280px;
	}
}
/* #endregion about -------------------------------- */

/* #region lineup =================================== */
.p-lineup .l-sub-header {
	background-image: url('../images/lineup/header-pc.jpg');
}
@media only screen and (max-width: 1024px) {
	.p-lineup .l-sub-header {
		background-image: url('../images/lineup/header-mb.jpg');
	}
}

.lineup-bg {
	background: var(--primary-color);
}
.lineup-cars {
	padding-top: 180px;
	margin-bottom: 245px;
	color: #fff;
}
.lineup-cars .l-inner {
	max-width: 1100px;
}
.lineup-cars__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 135px 130px;
	max-width: 1100px;
	margin: 0 auto;
}
.lineup-cars__card {
	width: 280px;
	text-align: center;
}
.lineup-cars__card .title {
	position: relative;
	padding-bottom: 30px;
	margin-bottom: 45px;
}
.lineup-cars__card .title .en {
	margin-bottom: 10px;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-style: italic;
	font-size: 35px;
	letter-spacing: 0.05em;
	line-height: 1;
}
.lineup-cars__card .title .ja {
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 1;
}
.lineup-cars__card .title::after {
	content: '▼';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
}
.lineup-cars__card .car-img {
	width: 271px;
	margin-bottom: 15px;
}
.lineup-cars__card .info {
	width: 230px;
	margin: 0 auto;
	text-align: left;
}
.lineup-cars__card .cat {
	margin-bottom: 15px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.075em;
	line-height: 1;
}
.lineup-cars__card .cat::before {
	content: '■';
}
.lineup-cars__card .price-list {
	margin-bottom: 20px;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.1em;
	line-height: 1;
}
.lineup-cars__card .price-list > div {
	display: flex;
	justify-content: space-between;
	padding-bottom: 3px;
	margin-bottom: 9px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.lineup-cars__card .note {
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.1em;
	line-height: 1;
	text-align: right;
}
@media only screen and (max-width: 1024px) {
	.lineup-cars {
		padding-top: 115px;
		margin-bottom: 245px;
	}
}

.lineup-delivery {
	margin-bottom: 90px;
}
.lineup-delivery .l-inner {
	max-width: 1000px;
	padding: 0 25px;
	margin: 0 auto;
}
.lineup-delivery__title {
	margin-bottom: 25px;
	color: #fff;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
}
.lineup-delivery__cont {
	width: 100%;
	background: #fff;
	padding: 60px 80px 45px;
	border-radius: 28px;
	box-shadow : 0px 0px 4px rgba(28, 73, 81, 0.15);
}
.lineup-delivery__cont .condition {
	margin-bottom: 20px;
}
.lineup-delivery__cont .condition li {
	padding-left: 1em;
	text-indent: -1em;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.7857;
	letter-spacing: 0.025em;
	text-align: justify;
}
.lineup-delivery__cont .condition li::before {
	content: '■';
	color: var(--primary-color);
}
.lineup-delivery__cont table {
	width: 100%;
	margin-bottom: 25px;
	border-collapse: collapse;
}
.lineup-delivery__cont th, .lineup-delivery__cont td {
	padding: 15px 2em;
	border: 1px solid var(--primary-color);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.075em;
	text-align: center;
}
.lineup-delivery__cont th {
	background: #fce5e7;
}
.lineup-delivery__cont .notes {
	font-size: 14px;
	letter-spacing: 0.075em;
	line-height: 1.5;
}
.lineup-delivery__cont .notes .title {
	margin-bottom: 10px;
	color: var(--primary-color);
	font-weight: 700;
}
.lineup-delivery__cont .notes li {
	padding-left: 1em;
	text-indent: -1em;
	font-weight: 500;
	line-height: 1.5;
	text-align: justify;
}
@media only screen and (max-width: 1024px) {
	.lineup-delivery {
		margin-bottom: 54px;
	}
	.lineup-delivery__cont {
		padding: 45px 35px 35px;
		border-radius: 22px;
	}
	.lineup-delivery__cont tr, .lineup-delivery__cont th, .lineup-delivery__cont td {
		display: block;
		border: none;
	}
	.lineup-delivery__cont tr {
		margin-bottom: 15px;
		border: 1px solid var(--primary-color);
	}
	.lineup-delivery__cont td {
		border-top: 1px dotted var(--primary-color);
	}
}
/* #endregion lineup -------------------------------- */

/* #region contact =================================== */
.p-contact .l-sub-header {
	background-image: url('../images/contact/header-pc.jpg');
}
@media only screen and (max-width: 1024px) {
	.p-contact .l-sub-header {
		background-image: url('../images/contact/header-mb.jpg');
	}
}
.contact-bg {
	background: #f3f4f8;
}

.contact-intro {
	padding-top: 120px;
	margin-bottom: 135px;
	text-align: center;
}
.contact-intro .l-inner {
	padding: 0 25px;
}
.contact-intro .intro-text {
	margin-bottom: 70px;
	font-size: 16px;
	line-height: 1.6429;
}
.contact-intro .tel-box {
	margin-bottom: 75px;
}
.contact-intro .tel-box .title {
	margin-bottom: 10px;
	color: var(--primary-color);
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.025em;
	line-height: 1;
}
.contact-intro .tel-box .tel-link {
	display: inline-block;
	margin-bottom: 5px;
	color: var(--primary-color);
	transition: opacity 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.contact-intro .tel-box .tel-link:hover {
	opacity: 0.6;
}
.contact-intro .tel-box .tel-link .icon {
	display: inline-block;
	width: 32px;
	margin-right: 15px;
	vertical-align: middle;
}
.contact-intro .tel-box .tel-link .num {
	display: inline-block;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 50px;
	letter-spacing: 0.025em;
	vertical-align: middle;
}
.contact-intro .tel-box .hour {
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 1;
}
.contact-intro .note .text {
	margin-bottom: 15px;
	font-size: 16px;
	line-height: 1.4375;
}
.contact-intro .pdf-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 500px;
	height: 75px;
	padding: 0 45px 0 50px;
	margin: 0 auto;
	border-radius: 50px;
	background: #fff;
	font-weight: 500;
	font-size: 17px;
	letter-spacing: 0.02em;
	line-height: 1;
	transition: opacity 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.contact-intro .pdf-link:hover {
	opacity: 0.6;
}
.contact-intro .pdf-link span {
	flex: 1 1;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
}
.contact-intro .pdf-link::before {
	flex: 0 0;
	display: inline-block;
	content: url('../images/common/icon-pdf.svg');
	margin-right: 15px;
}
.contact-intro .pdf-link::after {
	flex: 0 0;
	display: inline-block;
	content: url('../images/common/icon-arrow.svg');
}
@media only screen and (max-width: 1024px) {
	.contact-intro {
		padding-top: 75px;
		margin-bottom: 75px;
	}
	.contact-intro .intro-text {
		margin-bottom: 50px;
		font-size: 14px;
	}
	.contact-intro .tel-box {
		margin-bottom: 80px;
	}
	.contact-intro .tel-box .title {
		margin-bottom: 15px;
	}
	.contact-intro .tel-box .tel-link {
		margin-bottom: 5px;
	}
	.contact-intro .tel-box .tel-link .icon {
		width: 22px;
		margin-right: 10px;
	}
	.contact-intro .tel-box .tel-link .num {
		font-size: 35px;
	}
	.contact-intro .pdf-link {
		max-width: 284px;
		height: 65px;
		padding: 0 30px;
		font-size: 11px;
	}
	.contact-intro .pdf-link::before {
		width: 18px;
	}
	.contact-intro .pdf-link::after {
		width: 7px;
	}
}
.contact-form {
	margin-bottom: 110px;
}
.contact-form .l-inner {
	padding: 0 25px;
    max-width: 1100px;
}
.contact-form__cont {
	width: 100%;
	background: #fff;
	padding: 95px 95px 140px;
	border-radius: 28px;
	box-shadow : 0px 0px 4px rgba(28, 73, 81, 0.15);
}
.contact-form__title {
	margin-bottom: 15px;
	color: var(--primary-color);
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.025em;
	line-height: 1;
	text-align: center;
}
@media only screen and (max-width: 1024px) {
	.contact-form {
		margin-bottom: 45px;
	}
	.contact-form__cont {
		padding: 70px 20px 50px;
		border-radius: 22px;
	}
	.contact-form__title {
		margin-bottom: 10px;
	}
}

.p-contact .c-terms .l-inner {
	max-width: 1100px;
}
/* #endregion contact -------------------------------- */