@charset "UTF-8";
body {
	background: url(./images/bg_content.webp) repeat-y center top / 100% auto;
}
.fadetext {
    position: relative;
    font-size: 24px;
    color: black;
    display: block;
     /* 適度な余白を追加 */
}

.fadetext > span {
    position: relative;
    display: block;
    overflow: hidden; /* レイアウト崩れ防止 */
    white-space: nowrap; /* 改行を防ぐ */
    line-height: inherit;
    letter-spacing: inherit;
}

.fadetext > span > span {
    position: absolute;
    top: 0;
    left: 0;
    width: 0%; /* 初期状態では非表示 */
    color: white;
    overflow: hidden;
    white-space: nowrap;
    transition: width 0.4s ease-out; /* スムーズな変化 */
    line-height: inherit;
    display: block;
    letter-spacing: inherit;
}

a.bt_more {
	display: flex;
	width: 174px;
	height: 174px;
	border: 1px solid #fff;
	border-radius: 100px;
	justify-content: center;
	align-items: center;
	background: #17314d;
	position: relative;
}
a.bt_more:hover {
	opacity: 1;
	background: #fff;
	color: #17314d;
}
a.bt_more span {
	font-size: 12px;
	letter-spacing: 0.05em;
}
.btbox {
	display: flex;
	justify-content: center;
	gap: 20px;
}
.btbox a {
	font-size: 15px;
	width: 300px;
	border: 1px solid #fff;
	display: block;
	background: #B8A957;
	padding: 22px 0;
	text-align: center;
}
.main .visual {padding: 10px;height: 720px;}
.main .visual>.inner {
    height: 100%;
    width: 100%;
    position: relative;
}
.main .visual .video {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.main .visual .video video#v_visual {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.main .visual .slider {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: 2s ease all;
}
.main .visual.videoend .slider {
	opacity: 1;
}
.main .visual .slider .slide {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	transition: all ease 3s;
	opacity: 0;
}
.main .visual .slider .slide.active {
	opacity: 1;
}
.main .visual .slider .slide img {
	transform: scale(1.2);
	transition: all ease 3s;
}
.main .visual .slider .slide.active img {
	transform: scale(1);
}
.main .visual .slider .slide img {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.main .visual .slider .slide p {position: absolute;left: 0;top: 50%;text-align: center;transform: translate(0, -50%);width: 100%;font-size: 48px;letter-spacing: 0.1em;line-height: 1.7em;}
.main .visual .slider .slide .timer {
	position: absolute;
	bottom: 80px;
	left: 121px;
}
.main .visual .slider .slide .timer .num {position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);font-size: 12px;letter-spacing: 0.5em;line-height: 1em;margin: -5px 0 0px 3px;}
.main .visual .slider .slide .timer .num span {font-size: 22px;letter-spacing: 0.3em;line-height: 1em;}
.main .visual .slider .circle-svg {
  transform: rotate(90deg); /* 下からスタートするように調整 */
}

.main .visual .slider .circle-path {
  fill: none;
  stroke: #fff;
  stroke-width: 1;
  stroke-dasharray: 339.3;  /* 円の長さ (2πr = 2 * 3.14 * 54) */
  stroke-dashoffset: 339.3; /* 最初は円を非表示 */
  transition: stroke-dashoffset 8s linear;
}

.main .visual .slider .slide.active .circle-svg .circle-path {
  stroke-dashoffset: 0; /* アニメーションで円を描く */
}

.main .visual .scroll {
	position: absolute;
	left: 80px;
	bottom: 20px;
	width: 3px;
	height: 250px;
	z-index: 100;
	overflow: hidden;
}
.main .visual .scroll::before {
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	background: #fff;
	position: absolute;
	left: 1px;
	top: 0;
}
.main .visual .scroll::after {
	content: "";
	display: block;
	width: 3px;
	height: 120px;
	position: absolute;
	left: 0;
	top: -120px;
	background: #fff;
	transition: all ease 1s;
	animation: a_scroll 5s linear infinite;
}
@keyframes a_scroll {
	0% { top: -120px; }
	20% { top: calc(100% + 120px); }
	99.9999% { top: calc(100% + 120px); }
	100% { top: -120px; }
}

.main .content {
    /* background: #182b1bc9; */
    position: relative;
    /* overflow: hidden; */
}
.main .sec_h2 {
	text-align: center;
	line-height: 1.5em;
	font-size: 14px;
	margin-bottom: 50px;
	top: 0;
}
.main .sec_h2 span {
	display: block;
	font-size: 32px;
	letter-spacing: 0.05em;
	line-height: 1em;
	margin-bottom: 18px;
	display: flex;
	justify-content: center;
}
.main .sec_h2 span strong {
	opacity: 0;
	transition: all ease 0.3s;
	display: block;
	transform: translate(-5px, 10px) rotate(5deg);
}
.main .sec_h2.active span strong {
	opacity: 1;
	transform: translate(0px, 0px) rotate(0deg);
}

.main .intro {}
.main .intro > .inner {display: flex;width: 1000px;margin: 0 auto;align-items: start;padding-top: 10px;justify-content: space-between;}
.main .intro .copy {position: relative;padding: 164px 0 158px 0;width: 580px;margin-top: -70px;}
.main .intro .copy::before {
	content: "";
	display: block;
	width: 100dvw;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: #16314D;
}
.main .intro .copy .text {position: relative;opacity: 0.6;font-size: 20px;}
.main .intro .copy .text2 {position: relative;font-size: 48px;line-height: 1.7em;margin-top: 24px;letter-spacing: 0.1em;}
.main .intro .copy .text3 {position: relative;opacity: 0.6;font-size: 12px;letter-spacing: 0.2em;margin-top: 17px;}
.main .intro .info {width: 320px;margin-top: 71px;}
.main .intro .info .box + .box {
	margin-top: 54px;
}
.main .intro .info .box .sub {position: relative;color: #3A3A3A;font-size: 18px;line-height: 1em;padding: 5px 0 7px 30px;}
.main .intro .info .box .sub span {
	letter-spacing: 0.2em;
}
.main .intro .info .box .sub > span span {color: #fff;}
.main .intro .info .box .title {position: relative;color: #3A3A3A;font-size: 43px;line-height: 1em;padding: 8px 0 8px 30px;}
.main .intro .info .box .title > span span {color: #B8A957;}
.main .intro .info .box .sub::before,
.main .intro .info .box .title::before {
	content: "";
	display: block;
	height: 0%;
	width: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	top: 0;
	transition: 0.3s ease all;
}
.main .intro .info .box .title::before {
	background: #B8A957;
}
.main .intro .info .box .sub.show::before,
.main .intro .info .box .title.show::before {
	height: 100%;
}
.main .intro .info .box .title strong {
	font-size: 54px;
	line-height: 0.7em;
}
.main .intro .info .box .title strong.mini {
	font-size: 26px;
}
.main .modelhouse {
	margin: 120px 0 0 0;
}
.main .modelhouse a {
		display: block;
		width: 900px;
		margin: 0 auto;
}
.main .voice {
	margin: 120px 0 0 0;
}
.main .voice a {
		display: block;
		width: 900px;
		margin: 0 auto;
}
.main .information {
	padding: 150px 0 160px 0;
}
.main .information .btbox {margin-top: 80px;}
.main .information_wrap {
	background: #272727;
	width: 900px;
	margin: 0 auto;
	padding: 30px;
	box-sizing: border-box;
	border: 1px solid #343434;
	border-radius: 10px;
}
.main .information_wrap .dl-horizontal {height: 260px;overflow: auto;font-size: 12px;display: flex;flex-wrap: wrap;font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;line-height: 1.8em; }
.main .information_wrap .dl-horizontal {
    overflow: auto; /* 常にスクロールバーを表示 */
    -webkit-overflow-scrolling: auto; /* スムーズスクロールを無効化（隠れないように） */
    scrollbar-width: auto; /* Firefox で通常のスクロールバー */
}

/* Webkit系ブラウザ（Chrome, Safari, Edge） */
.main .information_wrap .dl-horizontal::-webkit-scrollbar {
    width: 5px; /* スクロールバーの幅 */
    height: 12px; /* 横スクロール時の高さ */
}
.main .information_wrap .dl-horizontal::-webkit-scrollbar-thumb {
    background-color: #fff; /* スクロールバーのつまみの色 */
}
.main .information_wrap .dl-horizontal::-webkit-scrollbar-track {
	background: #575757;
}
/* Internet Explorer（古いEdge含む）用 */
.main .information_wrap .dl-horizontal {
    -ms-overflow-style: scrollbar; /* IE/Edgeで標準のスクロールバーを適用 */
}
.main .information_wrap .dl-horizontal dt {
	width: 100px;
	border-top: 1px solid #fff;
	padding: 16px 0;
}
.main .information_wrap .dl-horizontal dd {
	width: calc(100% - 130px);
	border-top: 1px solid #fff;
	padding: 16px 0;
}
.main .information_wrap .dl-horizontal dd a {
	color: #3687ff;
}

.main .pbox {
	padding: 150px 0;
	background: #16314D;
}
.main .pbox > .inner {position: relative;}
.main .pbox .img {
	height: 426px;
	background: url(./images/bg_gallery_p.webp) no-repeat center center / cover;
	background-attachment: fixed;
}
body.tablet .main .pbox .img {
	background-attachment: initial;
}

.main .pbox.model {
	padding: 220px 0 230px 0;
}
.main .pbox.model .img {
	background-image: url(./images/bg_model_p.webp?v=1);
}
.main .pbox .bt_more {position: absolute;right: 110px;bottom: -140px;}

.main .onsale {
	margin-top: 180px;
	padding: 0 10px;
}
.main .onsale > .inner {
	display: flex;
	height: 290px;
	align-items: center;
	justify-content: center;
	gap: 70px;
	background: url('./images/bg_onsale.webp?v=1') repeat-x 50% 50%;
	background-size: 2214px auto;
	animation: a_ambassador 60s linear infinite;
}
@keyframes a_ambassador {
	0% { background-position: 50% 50% }
	100% { background-position: calc(50% - 2214px) 50% }
}
.main .onsale h2,
.main .movie h2 {
	font-size: 38px;
	letter-spacing: 0.2em;
	text-align: left;
	margin: 0;
	position: relative;
	line-height: 1.3em;
}
.main .onsale h2 span,
.main .movie h2 span {
	font-size: 12px;
	letter-spacing: 0.1em;
	margin-bottom: 26px;
	display: block;
}
.main .movie {
	/*margin-top: 180px;*/
	padding: 0 10px;
}
.main .movie > .inner {
	display: flex;
	height: 520px;
	align-items: center;
	justify-content: center;
	gap: 70px;
	position: relative;
}
.main .movie .slider {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.main .movie .slider .slick-list {height: 100%;}
.main .movie .slider .slick-track {height: 100%;}
.main .movie .slider .slide {
	transform: scale(1);
	transition: 1s ease opacity, 10s ease transform !important;!i;!;
}
.main .movie .slider .slide.slick-active {
	transform: scale(1.2);
}
.main .movie .slider .slide img {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.main .campaign {
	padding: 170px 10px 220px 10px;
}
.main .campaign > .inner {
	overflow: hidden;
}
.main .campaign .slider {
	width: 555px;
	margin: 0 auto 0 auto;
	padding-bottom: 70px;
	position: relative;
}
.main .campaign .slider::before,
.main .campaign .slider::after {
	content: "";
	width: 100dvw;
	width: 100vw;
	display: block;
	height: 1;
}
.main .campaign .slider .slide {padding: 0 15px;opacity: 0.4; transition: all ease 0.3s;}
.main .campaign .slider .slide.slick-active {
	opacity: 1;
}
.main .campaign .slider .slick-list {overflow: visible;padding: 0 !important;}
.main .campaign .slider .slick-track {overflow: visible;}
.main .campaign .slider .slick-dots {
    bottom: 20px;
    z-index: 2000;
    display: flex;
    padding: 0;
    justify-content: center;
}
.main .campaign .slider .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0;
    display: block;
}
.main .campaign .slider .slick-dots li+li {
    margin-left: 20px;
}
.main .campaign .slider .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
}
.main .campaign .slider .slick-dots li button::before {
    width: 10px;
    height: 10px;
    content: "";
    border-radius: 100px;
    background: #fff;
    opacity: 1;
}
.main .campaign .slider .slick-dots li.slick-active button::before {
    opacity: 1;
    background: #214A76;
}
.main .campaign .slider .slick-prev,
.main .campaign .slider .slick-next {
	width: 70px;
	height: 70px;
	background: #fff;
	border-radius: 100px;
	z-index: 100;
	display: flex;
	justify-content: center;
	align-items: center;
	top: calc(50% - 35px);
}
.main .campaign .slider .slick-prev {
	left: -210px;
}
.main .campaign .slider .slick-next {
	right: -210px;
}
.main .campaign .slider .slick-prev::before,
.main .campaign .slider .slick-next::before {
	content: "←";
	display: block;
	width: 22px;
	height: 22px;
	position: relative;
	color: #000;
	font-size: 16px;
	line-height: 1em;
	margin: 8px 0 0 7px;
}
.main .campaign .slider .slick-next::before {
	content: "→";
}
.main .campaign .slider .slick-prev:hover {
	opacity: 1;
}
.main .campaign .slider.slick-next:hover {
	opacity: 1
}
.main .campaign .btbox {
	margin-top: 80px;
}
.main .concept {
	background: #16314D;
	padding: 220px 0;
}
.main .concept > .inner {
	width: 745px;
	margin: 0 auto;
}
.main .concept .text {
	font-size: 20px;
	letter-spacing: 0.1em;
	width: 110%;
	color: #fff;
}
.main .concept .lead {
	font-size: 42px;
	letter-spacing: 0.1em;
	width: 110%;
	line-height: 1.7em;
	margin-top: 53px;
	color: #fff;
}
.main .concept .copy {
	margin-top: 59px;
}
.main .concept .copy img {
	max-width: none;
	width: 745px;
}
.main .concept .copy > span span+ span {
	display: none;
}
.main .fullbox {
}
.main .fullbox .sec {
	/* height: 200vh; */
	/* height: 200dvh; */
	position: relative;
	box-sizing: border-box;
	padding-top: 100vh;
	padding-top: 100dvh;
	background: #17314d;
}
.main .fullbox .sec .bg {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	background: url(./images/bg_model.webp) no-repeat center center / cover;
	transition: 1s ease opacity;
}
.main .fullbox .sec.fixed .bg {
	position: fixed;
	opacity: 0.4;
}
.main .fullbox .sec.location .bg {
	background-image: url(./images/bg_location.webp);
}
.main .fullbox .sec.landplan .bg {
	background-image: url(./images/bg_landplan.webp);
}
.main .fullbox .sec > .inner {
	position: relative;
	padding: 150px 0px 200px 0px;
}
.main .fullbox .sec h2 {
	margin-bottom: 73px;
}
.main .fullbox .sec .lead {
	font-size: 22px;
	text-align: center;
	margin-bottom: 34px;
}
.main .fullbox .sec .text {
	text-align: center;
	font-size: 16px;
	line-height: 1.85em;
	letter-spacing: 0.1em;
}
.main .fullbox .sec .bt_more {
	margin: 65px auto 0 auto;
}
.main .btbox.bottom {
	padding: 120px 0;
	position: relative;
	z-index: 100;
	background: url(./images/bg_content.webp) repeat-y center top / 100% auto;
}

/**************************************************************/
/** SP ********************************************************/
/**************************************************************/
@media screen and (max-width: 767px) {

	body {
		background: url(./images/bg_content.webp) repeat-y center top / 200% auto;
	}
	.fadetext {
		position: relative;
		font-size: 24px;
		color: black;
		display: block;
		 /* 適度な余白を追加 */
	}

	.fadetext > span {
		position: relative;
		display: block;
		overflow: hidden; /* レイアウト崩れ防止 */
		white-space: nowrap; /* 改行を防ぐ */
		line-height: inherit;
		letter-spacing: inherit;
	}

	.fadetext > span > span {
		position: absolute;
		top: 0;
		left: 0;
		width: 0%; /* 初期状態では非表示 */
		color: white;
		overflow: hidden;
		white-space: nowrap;
		transition: width 0.4s ease-out; /* スムーズな変化 */
		line-height: inherit;
		letter-spacing: inherit;
		display: block;
	}

	a.bt_more {
		display: flex;
		width: 126px;
		height: 126px;
		border: 1px solid #fff;
		border-radius: 100px;
		justify-content: center;
		align-items: center;
		background: #17314d;
		position: relative;
	}
	a.bt_more:hover {
		opacity: 1;
		background: #17314d;
		color: #fff;
	}
	a.bt_more span {
		font-size: 11px;
		letter-spacing: 0.05em;
	}
	.btbox {
		display: flex;
		justify-content: center;
		gap: 16px;
		flex-wrap: wrap;
	}
	.btbox a {
		font-size: 12px;
		width: calc(100% / 2 - 40px);
		border: 1px solid #fff;
		display: block;
		background: #B8A957;
		padding: 9px 0;
		text-align: center;
		letter-spacing: 0.1em;
	}
	.main .visual {height: 700px;padding: 0;}
	.main .visual>.inner {
		height: 100%;
		width: 100%;
		position: relative;
	}
	.main .visual .video {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}
	.main .visual .video video#v_visual_sp {
		display: block;
		height: 100%;
		width: 100%;
		object-fit: cover;
	}
	.main .visual .slider {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		transition: 2s ease all;
	}
	.main .visual.videoend .slider {
		opacity: 1;
	}
	.main .visual .slider .slide {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		transition: all ease 3s;
		opacity: 0;
	}
	.main .visual .slider .slide.active {
		opacity: 1;
	}
	.main .visual .slider .slide img {
		transform: scale(1.2);
		transition: all ease 3s;
	}
	.main .visual .slider .slide.active img {
		transform: scale(1);
	}
	.main .visual .slider .slide img {
		display: block;
		height: 100%;
		width: 100%;
		object-fit: cover;
	}
	.main .visual .slider .slide p {position: absolute;left: 0;top: 50%;text-align: center;transform: translate(0, -50%);width: 100%;font-size: 28px;letter-spacing: 0.1em;line-height: 1.5em;}
	.main .visual .slider .slide .timer {
		position: absolute;
		bottom: 107px;
		left: 50%;
		transform: translate(-50%, 0) scale(0.85);
	}
	.main .visual .slider .slide .timer .num {position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);font-size: 12px;letter-spacing: 0.5em;line-height: 1em;margin: -5px 0 0px 3px;}
	.main .visual .slider .slide .timer .num span {font-size: 22px;letter-spacing: 0.3em;line-height: 1em;}
	.main .visual .slider .circle-svg {
	  transform: rotate(90deg); /* 下からスタートするように調整 */
	}

	.main .visual .slider .circle-path {
	  fill: none;
	  stroke: #fff;
	  stroke-width: 1;
	  stroke-dasharray: 339.3;  /* 円の長さ (2πr = 2 * 3.14 * 54) */
	  stroke-dashoffset: 339.3; /* 最初は円を非表示 */
	  transition: stroke-dashoffset 8s linear;
	}

	.main .visual .slider .slide.active .circle-svg .circle-path {
	  stroke-dashoffset: 0; /* アニメーションで円を描く */
	}

	.main .visual .scroll {
		position: absolute;
		left: 37px;
		bottom: 40px;
		width: 3px;
		height: 175px;
		z-index: 100;
		overflow: hidden;
	}
	.main .visual .scroll::before {
		content: "";
		display: block;
		width: 1px;
		height: 100%;
		background: #fff;
		position: absolute;
		left: 1px;
		top: 0;
	}
	.main .visual .scroll::after {
		content: "";
		display: block;
		width: 3px;
		height: 120px;
		position: absolute;
		left: 0;
		top: -120px;
		background: #fff;
		transition: all ease 1s;
		animation: a_scroll 5s linear infinite;
	}
	@keyframes a_scroll {
		0% { top: -120px; }
		20% { top: calc(100% + 120px); }
		99.9999% { top: calc(100% + 120px); }
		100% { top: -120px; }
	}

	.main .content {
		/* background: #182b1bc9; */
		position: relative;
		/* overflow: hidden; */
	}
	.main .sec_h2 {
		text-align: center;
		line-height: 1.5em;
		font-size: 14px;
		margin-bottom: 35px;
		top: 0;
	}
	.main .sec_h2 span {
		display: block;
		font-size: 24px;
		letter-spacing: 0.05em;
		line-height: 1em;
		margin-bottom: 12px;
		display: flex;
		justify-content: center;
	}
	.main .sec_h2 span strong {
		opacity: 0;
		transition: all ease 0.3s;
		display: block;
		transform: translate(-5px, 10px) rotate(5deg);
	}
	.main .sec_h2.active span strong {
		opacity: 1;
		transform: translate(0px, 0px) rotate(0deg);
	}

	.main .intro {}
	.main .intro > .inner {display: block;width: 92%;margin: 0 auto;align-items: start;padding-top: 10px;justify-content: space-between;}
	.main .intro .copy {position: relative;padding: 60px 0 63px 0;width: auto;margin-top: -110px;background: #16314D;display: flex;justify-content: center;}
	.main .intro .copy::before {
		content: "";
		display: block;
		width: 100dvw;
		width: 100vw;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		background: #16314D;
		display: none;
	}
	.main .intro .copy .text {position: relative;opacity: 0.6;font-size: 12px;}
	.main .intro .copy .text2 {position: relative;font-size: 24px;line-height: 1.7em;margin-top: 12px;letter-spacing: 0.1em;}
	.main .intro .copy .text3 {position: relative;opacity: 0.6;font-size: 6px;letter-spacing: 0.2em;margin-top: 8px;}
	.main .intro .info {width: 250px;margin: 61px auto 0 auto;padding-left: 26px;}
	.main .intro .info .box + .box {
		margin-top: 38px;
	}
	.main .intro .info .box .sub {position: relative;color: #3A3A3A;font-size: 13px;line-height: 1em;padding: 4px 0 6px 25px;}
	.main .intro .info .box .sub span {
		letter-spacing: 0.2em;
	}
	.main .intro .info .box .sub > span span {color: #fff;}
	.main .intro .info .box .title {position: relative;color: #3A3A3A;font-size: 28px;line-height: 1em;padding: 5px 0 5px 25px;}
	.main .intro .info .box .title > span span {color: #B8A957;}
	.main .intro .info .box .sub::before,
	.main .intro .info .box .title::before {
		content: "";
		display: block;
		height: 0%;
		width: 1px;
		background: #fff;
		position: absolute;
		left: 0;
		top: 0;
		transition: 0.3s ease all;
	}
	.main .intro .info .box .title::before {
		background: #B8A957;
	}
	.main .intro .info .box .sub.show::before,
	.main .intro .info .box .title.show::before {
		height: 100%;
	}
	.main .intro .info .box .title strong {
		font-size: 54px;
		line-height: 0.7em;
	}
	.main .intro .info .box .title strong.mini {
		font-size: 26px;
	}
	.main .modelhouse {
		margin: 70px 0 0 0;
	}
	.main .modelhouse a {
			display: block;
			width: 74%;
			margin: 0 auto;
	}
	.main .voice {
		margin: 30px 0 0 0;
	}
	.main .voice a {
			display: block;
			width: 74%;
			margin: 0 auto;
	}
	.main .information {
		padding: 70px 0 70px 0;
	}
	.main .information .btbox {margin-top: 60px;}
	.main .information_wrap {
		background: #272727;
		width: 74%;
		margin: 0 auto;
		padding: 15px;
		box-sizing: border-box;
		border: 1px solid #343434;
		border-radius: 8px;
	}
	.main .information_wrap .dl-horizontal {height: 300px;overflow: auto;font-size: 10px;display: block;flex-wrap: wrap;font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;line-height: 1.5em;}
	.main .information_wrap .dl-horizontal {
	    overflow: scroll-y; /* 常にスクロールバーを表示 */
	    -webkit-overflow-scrolling: touch; /* スマホのネイティブスクロールを有効化 */
	    scrollbar-width: auto; /* Firefox で通常のスクロールバー */
	    min-width: 100%; /* 横スクロールを確実に発生させる */
	    min-height: 200px; /* 縦スクロールが必要なら調整 */
	    display: block; /* スクロールを確実に適用するための調整 */
	    scrollbar-gutter: stable; /* スクロールバーのスペースを確保 */
	}
	
	/* Webkit系ブラウザ（Chrome, Safari, Edge） */
	.main .information_wrap .dl-horizontal::-webkit-scrollbar {
	    width: 5px; /* スクロールバーの幅 */
	    height: 12px; /* 横スクロール時の高さ */
	}
	
	.main .information_wrap .dl-horizontal::-webkit-scrollbar-thumb {
	    background-color: #fff; /* スクロールバーのつまみの色 */
	}
	
	.main .information_wrap .dl-horizontal::-webkit-scrollbar-track {
	    background: #575757;
	}
	
	/* Internet Explorer（古いEdge含む）用 */
	.main .information_wrap .dl-horizontal {
	    -ms-overflow-style: scrollbar; /* IE/Edgeで標準のスクロールバーを適用 */
	}

	.main .information_wrap .dl-horizontal dt {
		width: calc(100% - 15px);
		border-top: none;
		padding: 10px 0 3px 0;
		font-size: 8px;
	}
	.main .information_wrap .dl-horizontal dd {
		width: calc(100% - 15px);
		border-top: none;
		padding: 0 0 13px 0;
		border-bottom: 1px solid #fff;
	}
	.main .information_wrap .dl-horizontal dd a {
		color: #3687ff;
	}

	.main .pbox {
		padding: 80px 0 55px 0;
		background: #16314D;
	}
	.main .pbox > .inner {position: relative;}
	.main .pbox .img {
		height: 206px;
		background: url(./images/bg_gallery_p.webp) no-repeat center center / 250% auto;
		background-attachment: no;
	}
	.main .pbox.model {
		padding: 65px 0 75px 0;
	}
	.main .pbox.model .img {
		background-image: url(./images/bg_model_p.webp);
	}
	.main .pbox .bt_more {position: relative;right: auto;bottom: auto;margin: -40px auto 0 auto;}

	.main .onsale {
		margin-top: 90px;
		padding: 0 0 0 10px;
	}
	.main .onsale > .inner {
		display: flex;
		height: auto;
		align-items: end;
		justify-content: space-between;
		gap: 0;
		background: url('./images/bg_onsale.webp') repeat-x 50% top;
		background-size: 990px auto;
		animation: a_ambassador_sp 50s linear infinite;
		padding: 129px 20px 0 10px;
	}
	@keyframes a_ambassador_sp {
		0% { background-position: 50% top }
		100% { background-position: calc(50% - 990px) top }
	}
	.main .onsale h2,
	.main .movie h2 {
		font-size: 21px;
		letter-spacing: 0.1em;
		text-align: left;
		margin: 0;
		position: relative;
		line-height: 1.4em;
	}
	.main .onsale h2 span,
	.main .movie h2 span {
		font-size: 14px;
		letter-spacing: 0.1em;
		margin-bottom: 16px;
		display: block;
	}
	.main .movie .bt_more {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		margin-top: -20px;
	}
	.main .movie {
		margin-top: 85px;
	}
	.main .movie > .inner {
		display: flex;
		height: 440px;
		align-items: end;
		justify-content: left;
		gap: 70px;
		position: relative;
		padding: 27px 23px;
		box-sizing: border-box;
	}
	.main .movie .slider {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}
	.main .movie .slider .slick-list {height: 100%;}
	.main .movie .slider .slick-track {height: 100%;}
	.main .movie .slider .slide {
		transform: scale(1);
		transition: 1s ease opacity, 10s ease transform !important;!i;!;
	}
	.main .movie .slider .slide.slick-active {
		transform: scale(1.2);
	}
	.main .movie .slider .slide img {
		display: block;
		height: 100%;
		width: 100%;
		object-fit: cover;
	}

	.main .campaign {
		padding: 100px 0 100px 0;
	}
	.main .campaign > .inner {
		overflow: hidden;
	}
	.main .campaign .slider {
		width: calc(100% - 80px);
		margin: 0 auto 0 auto;
		padding-bottom: 52px;
		position: relative;
	}
	.main .campaign .slider::before,
	.main .campaign .slider::after {
		content: "";
		width: 100dvw;
		width: 100vw;
		display: block;
		height: 1;
	}
	.main .campaign .slider .slide {padding: 0 15px;opacity: 0.4; transition: all ease 0.3s;}
	.main .campaign .slider .slide.slick-active {
		opacity: 1;
	}
	.main .campaign .slider .slick-list {overflow: visible;padding: 0 !important;}
	.main .campaign .slider .slick-track {overflow: visible;}
	.main .campaign .slider .slick-dots {
		bottom: 20px;
		z-index: 2000;
		display: flex;
		padding: 0;
		justify-content: center;
	}
	.main .campaign .slider .slick-dots li {
		width: 6px;
		height: 6px;
		margin: 0;
		display: block;
	}
	.main .campaign .slider .slick-dots li+li {
		margin-left: 16px;
	}
	.main .campaign .slider .slick-dots li button {
		width: 6px;
		height: 6px;
		padding: 0;
	}
	.main .campaign .slider .slick-dots li button::before {
		width: 6px;
		height: 6px;
		content: "";
		border-radius: 100px;
		background: #fff;
		opacity: 1;
	}
	.main .campaign .slider .slick-dots li.slick-active button::before {
		opacity: 1;
		background: #214A76;
	}
	.main .campaign .slider .slick-prev,
	.main .campaign .slider .slick-next {
		width: 35px;
		height: 35px;
		background: #fff;
		border-radius: 100px;
		z-index: 100;
		display: flex;
		justify-content: center;
		align-items: center;
		top: calc(50% - 25px);
	}
	.main .campaign .slider .slick-prev {
		left: -32px;
	}
	.main .campaign .slider .slick-next {
		right: -32px;
	}
	.main .campaign .slider .slick-prev::before,
	.main .campaign .slider .slick-next::before {
		content: "←";
		display: block;
		width: auto;
		height: auto;
		position: relative;
		color: #000;
		font-size: 10px;
		line-height: 1em;
		margin: 1px 0 0 0;
	}
	.main .campaign .slider .slick-next::before {
		content: "→";
	}
	.main .campaign .slider .slick-prev:hover {
		opacity: 1;
	}
	.main .campaign .slider.slick-next:hover {
		opacity: 1
	}
	.main .campaign .btbox {
		margin-top: 28px;
	}
	.main .concept {
		background: #16314D;
		padding: 110px 0;
	}
	.main .concept > .inner {
		width: 84%;
		margin: 0 auto;
	}
	.main .concept .text {
		font-size: 13px;
		letter-spacing: 0.1em;
		width: 110%;
		/* color: #2d4671; */
	}
	.main .concept .lead {
		font-size: 21px;
		letter-spacing: 0.2em;
		width: auto;
		line-height: 1.7em;
		margin-top: 35px;
		/* color: #2d4671; */
	}
	.main .concept .copy {
		margin-top: 59px;
	}
	.main .concept .copy img {
		max-width: none;
		width: 84vw;
	}
	.main .concept .copy > span span+ span {
		display: none;
	}
	.main .fullbox {
	}
	.main .fullbox .sec {
		/* height: 200vh; */
		/* height: 200dvh; */
		position: relative;
		box-sizing: border-box;
		padding-top: 100vh;
		padding-top: 100dvh;
		background: #17314d;
	}
	.main .fullbox .sec .bg {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		background: url(./images/bg_model.webp) no-repeat center center / cover;
		transition: 1s ease opacity;
	}
	.main .fullbox .sec.fixed .bg {
		position: fixed;
		opacity: 0.4;
	}
	.main .fullbox .sec.location .bg {
		background-image: url(./images/bg_location.webp);
	}
	.main .fullbox .sec.landplan .bg {
		background-image: url(./images/bg_landplan.webp);
	}
	.main .fullbox .sec > .inner {
		position: relative;
		padding: 20px 0px 140px 0px;
	}
	.main .fullbox .sec h2 {
		margin-bottom: 46px;
	}
	.main .fullbox .sec .lead {
		font-size: 16px;
		text-align: center;
		margin-bottom: 22px;
	}
	.main .fullbox .sec .text {
		text-align: center;
		font-size: 12px;
		line-height: 1.85em;
		letter-spacing: 0.1em;
	}
	.main .fullbox .sec .bt_more {
		margin: 42px auto 0 auto;
	}
	.main .btbox.bottom {
		padding: 50px 0;
		position: relative;
		z-index: 100;
		background: url(./images/bg_content.webp) repeat-y center top / 200% auto;
	}
	.main .btbox.bottom .spwide {
	width: calc(100% - 40px - 22px);
	}

}