@charset "UTF-8";
/* 全体設定 */
@font-face{
	font-family: 'Ferrari-Sans';
	src: url(../font/Ferrari-SansLight.woff) format('woff');
	font-weight: 300;
	font-style: normal;
}
@font-face{
	font-family: 'Ferrari-Sans';
	src: url(../font/Ferrari-SansRegular.woff) format('woff');
	font-weight: 400;
	font-style: normal;
}
@font-face{
	font-family: 'Ferrari-Sans';
	src: url(../font/Ferrari-SansBold.woff) format('woff');
	font-weight: 700;
	font-style: normal;
}
@font-face{
	font-family: 'Ferrari-Sans';
	src: url(../font/Ferrari-SansBoldItalic.woff) format('woff');
	font-weight: 700;
	font-style: italic;
}
:root{
	--color-black: #000;
	--color-red: #ED1C24;
	--color-white: #fff;
	--size-8px: clamp(.5rem, 2.133vw, 1.25rem);
	--size-10px: clamp(.625rem, 2.667vw, 1.625rem);
	--size-12px: clamp(.75rem, 3.2vw, 2rem);
	--size-16px: clamp(1rem, 4.267vw, 2.625rem);
	--size-20px: clamp(1.25rem, 5.333vw, 3.25rem);
	--size-24px: clamp(1.5rem, 6.4vw, 4rem);
	--size-30px: clamp(1.875rem, 8vw, 5rem);
	--size-32px: clamp(2rem, 8.533vw, 5.25rem);
	--size-42px: clamp(2.625rem, 11.2vw, 7rem);
	--size-44px: clamp(2.75rem, 11.733vw, 7.125rem);
	--size-62px: clamp(3.875rem, 16.533vw, 10.25rem);
	--size-64px: clamp(4rem, 17.067vw, 10.375rem);
	--size-80px: clamp(5rem, 21.33vw, 13.25rem);
	--size-84px: clamp(5.25rem, 22.4vw, 13.5rem);
	--size-90px: clamp(5.625rem, 24vw, 15rem);
	--size-100px: clamp(6.25rem, 26.667vw, 16.625rem);
	--fs-6px: clamp(.375rem, 1.6vw, .75rem);
	--fs-8px: clamp(.5rem, 2.133vw, .875rem);
	--fs-10px: clamp(.625rem, 2.667vw, 1rem);
	--fs-12px: clamp(.75rem, 3.2vw, 1.125rem);
	--fs-14px: clamp(.875rem, 3.733vw, 1.25rem);
	--fs-16px: clamp(1rem, 4.267vw, 1.375rem);
	--fs-20px: clamp(1.25rem, 5.333vw, 1.625rem);
	--fs-22px: clamp(1.375rem, 5.867vw, 1.75rem);
	--fs-36px: clamp(2.25rem, 9.6vw, 1.75rem);
	--header-height-sp: var(--size-64px);
	--header-height-pc: 80px;
}

@media screen and (min-width: 1001px){

}

*{
	color: var(--color-black);
	font-family: 'Ferrari-Sans', 'Noto Sans JP', sans-serif;
	font-style: normal;
	font-weight: 400;
	word-wrap: break-word;
	box-sizing: border-box;
	line-height: 1.625;
	margin: 0;
	padding: 0;
}
body{
	font-family: 'Ferrari-Sans', sans-serif;
	background-color: var(--color-white);
}
ul{
	list-style: none;
}
a{
	text-decoration: none;
}
img{
	width: 100%;
	max-width: max-content;
	vertical-align: bottom;
}
.sp{
	display: none;
}

@media screen and (max-width: 768px){
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
.b_12_05 img , .b_12_06 img{
	width:70%;
}
}




/* 横幅指定 */
main, header, footer{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
main .inner,
header .inner{
	padding: 0 clamp(var(--size-16px), var(--size-16px), 42px);
}

.sp_none{
	
}
/* header */
header{
	position: fixed;
	top: 0;
	left: 50%;
	transform: translate(-50%);
	background: var(--color-white);
	z-index: 999;
}
header:has(.active){
	background: #203864;
	z-index: 999;
}
.con_none:has(.active){
	display:none;
}
header .inner{
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: var(--header-height-sp);
}
.site-title{
	font-size: var(--fs-12px);
	line-height: 1;
	max-width:350px;
	width:38%;
}
.site-title img{
	width:100%;
}


.fr_fl_1{
	display: flex;
	justify-content: space-between;
	align-items: center;
	
}
.fr_fl_1_l{
	
}
.fr_fl_1_l img{
	width: clamp(20px, 0.662rem + 2.94vw, 40px);
}

.fr_fl_1_r{
	font-size: clamp(0.9rem, 0.173rem + 3.64vw, 2.5rem);
}

.fr_f_01{
	white-space: nowrap;
	line-height:1.2;
	padding-left:40%;
}
.fr_f_01 span{
	line-height:1.2;
}


header:has(.active) .fr_fl_1{
	color: var(--color-white);
	display:none;
}
#menu-btn{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--fs-10px);
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	background: transparent;
	font-size: var(--fs-10px);
	padding: 0 var(--size-16px);
	border: none;
}
#menu-btn .close{
	display: none;
	color: var(--color-white);
}
#menu-btn.active .menu{
	display: none;
}
#menu-btn.active .close{
	display: block;
}
#menu-btn div{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 6px;
}
#menu-btn div span{
	background: var(--color-black);
	width: var(--fs-36px);
	height: 2px;
}
#menu-btn.active div span{
	background: var(--color-white);
}
#menu-btn.active div span{
	transform: rotate(30deg) translate(-5%, -150%);
}
#menu-btn.active div span:nth-child(1){
	transform: rotate(-30deg) translate(-5%, 200%);
}
#menu-content{
	display: none;
	min-height: calc(100vh - var(--header-height-sp));
	background: var(--color-black);
	padding: 50px var(--size-32px);
	transition: .3s;
	z-index:99;
}
#menu-content.open{
	display: block;
}
#menu-content ul{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
#menu-content ul li a{
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	line-height: 1;
	color: var(--color-white);
	font-size: var(--fs-22px);
	font-weight: 700;
	width: 100%;
	height: 100px;
	padding-right: var(--fs-12px);
	border-top: 1px solid var(--color-white);
	transition: .3s;
}
#menu-content ul li:nth-child(1) a{
	border-top: none;
}
#menu-content ul li a::after{
	content: '';
	position: absolute;
	top: 50%;
	right: -5px;
	transform: translate(0, -50%) rotate(-90deg);
	width: var(--fs-16px);
	height: var(--fs-8px);
	background: transparent url(../img/arrow.svg) no-repeat center center / contain;
}
#menu-content .contact{
	padding-top: var(--size-42px);
}

/* footer */
footer p{
	font-size: var(--fs-6px);
	line-height: 1;
	text-align: right;
	padding: 2px 2px 4px;
}

/* 共通 */
.bg-bk{
	background: var(--color-black);
//	margin-bottom: var(--size-80px);
}
.bg-bk *{
	color: var(--color-white);
}
h2{
	font-size: var(--fs-22px);
	font-weight: 700;
	line-height: 1.3;
}
h3{
	font-size: var(--fs-16px);
}
p{
	font-size: var(--fs-10px);
}
p span{
	font-weight: 300;
}
.btn{
	position: relative;
	display: block;
	width: 65%;
	max-width:462px;
	background: #58778d;
	font-size: clamp(1rem, -1.571rem + 5.71vw, 2rem);
	font-weight: 700;
	text-align: center;
	padding: 1%;
	border: 1px solid var(--color-white);
}
.btn::after{
	content: '';
	position: absolute;
	top: 50%;
	right: var(--size-16px);
	transform: translate(0, -50%) rotate(-90deg);
	width: var(--fs-16px);
	height: var(--fs-8px);
	background: transparent url(../img/arrow.svg) no-repeat center center / contain;
}


.btn2{
	display: block;
	width: 100%;
	height: 100%;
	background: #cb001d;
	font-size: clamp(0.7rem, 0.088rem + 3.06vw, 2rem);
	font-weight: 700;
	text-align: center;
	padding: var(--fs-10px);
//	border: 1px solid var(--color-white);
	border-radius:1vw;
	color:#fff;
}

.btn3{
//	display: block;
	width: 100%;
	height: 100%;
	background: #536a95;
	font-size: clamp(0.7rem, 0.088rem + 3.06vw, 2rem);
	font-weight: 700;
	text-align: center;
	padding: var(--fs-10px);
//	border: 1px solid var(--color-white);
	border-radius:1vw;
	display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color:#fff;
}

/* main */
main{
	padding-top: var(--header-height-sp);
	font-feature-settings: "palt";
}

.header_b{
	position: relative;
	width:100%;
}

.header_title{
	position: absolute;
	top: 6%;
	left: 50%;
	transform: translate(-50%, 10%);
	-webkit-transform: translateY(10%) translateX(-50%);
	white-space: nowrap;
	box-sizing:  border-box; 
	font-size: clamp(1.6rem, 0.471rem + 5.65vw, 4rem);
	line-height: 1.2;
	letter-spacing: .05rem;
	color:#000;
	font-weight:700;
	text-align:center;
}
.header_t_img{
	max-width:700px;
	width:70%;
	margin:0 auto;
}
.header_t_in{
	margin-top:2%;
	font-weight:700;
	font-size: clamp(1.1rem, 0.206rem + 4.47vw, 3rem);
	color:#fff;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.58);
}

.header_date span{
	font-size: clamp(1rem, 0.435rem + 2.82vw, 2.2rem);
	letter-spacing: .05rem;
	color:#fff;
	font-weight:700;
	margin-top:0%;
//	border-bottom:0.25vw solid #fff;
	padding-bottom:1%;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.58);
}


/* #mv */
#mv{
//	position: relative;
	background: #203864;
//	min-height: calc(100vh - var(--header-height-sp));
}
#mv h1{
//	position: relative;
//	height: 0;
//	padding-top: 199.467%;
}

#mv h1 img{
//	position: absolute;
//	top: 0;
//	left: 0;
//	height: 100%;
//	overflow: hidden;
}
#mv .mv-bottom{
//	position: absolute;
//	bottom: 0;
//	left: 0;
	width: 100%;
	padding-top:5%;
	padding-bottom:5%;
	text-align:center;
}
#mv .mv-bottom p,#mv .mv-bottom p span{
	color: var(--color-white);
	font-size: clamp(0.9rem, -1.414rem + 5.14vw, 1.8rem);
	line-height: 1.8;
	letter-spacing: .05rem;
}
#mv .mv-bottom .arrow{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin: var(--size-32px) auto var(--size-24px);
}
#mv .mv-bottom .arrow p{
	font-size: clamp(1rem, -1.057rem + 4.57vw, 1.8rem);
	margin-bottom: 0%;
	font-weight:400;
}
#mv .mv-bottom .arrow img{
	max-width: var(--size-32px);
}

.con1{
	position: relative;
}

.con1 .con1_in{
	position: absolute;
	top: 20%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	white-space: nowrap;
	box-sizing:  border-box; 
	color:#fff;
	width: 100%;
	text-align:center;
}
.con1 .text-top{
	margin-top:20%;
	font-size: clamp(1rem, -0.035rem + 5.18vw, 3.2rem);
	font-weight:700;
	color:#fff;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.69), 0px 0px 3px rgba(0, 0, 0, 0.69);
}
.con1 .text-top2{
	margin-top:10%;
	font-size: clamp(0.5rem, -0.065rem + 2.82vw, 1.7rem);
	font-weight:700;
	color:#fff;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.69), 0px 0px 3px rgba(0, 0, 0, 0.69);
}
.con1 .text-top2 span{
	color:#fff;
	font-weight:700;
}




.con2{
	position: relative;
}
.con2 .con2_in{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	white-space: nowrap;
	box-sizing:  border-box; 
	color:#fff;
	width: 100%;
	text-align:center;
	padding-top:5%;
	padding-bottom:5%;
}
.con2 .con2_tx_01{
//	margin-top:20%;
	font-size: clamp(1.1rem, 0.488rem + 3.06vw, 2.4rem);
	font-weight:700;
	color:#ffff9a;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.69), 0px 0px 3px rgba(0, 0, 0, 0.69);
}
.con2 .con2_tx_01 span{
	color:#fff;
}
.con2 .con2_tx_02{
	margin-top:4%;
	font-size: clamp(0.6rem, 0.224rem + 1.88vw, 1.4rem);
	font-weight:700;
	color:#fff;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.69), 0px 0px 3px rgba(0, 0, 0, 0.69);
}
.con2 .con2_tx_02 span{
	font-weight:700;
	color:#fff;
}
.con2 .btn{
	color:#ffff9a;
	margin: 3% auto 0;
}

.con3{
	background: #203864;
	padding-top:4%;
	padding-bottom:4%;
}
.con3_in{
	margin:0 auto;
	width:90%;
}
.con3_fl{
	display: flex;
	justify-content: space-between;
}
.con3_fl_l{
	width:50%;

}
.con3_fl_r{
	width:50%;
}
.con3_img img{
	max-width:460px;
	width:100%;
}

.con3_tx_01{
	font-size: clamp(0.7rem, 0.276rem + 2.12vw, 1.6rem);
	font-weight:700;
	color:#fff;
}
.con3_tx_02{
	margin-top:24%;
	font-size: clamp(0.6rem, 0.224rem + 1.88vw, 1.4rem);
//	font-weight:700;
	color:#fff;
	line-height:1.2;
}
.con3_tx_02 span{
	color:#fff;
}

.con3_tx_03{
	margin-top:4%;
	font-size: clamp(0.6rem, 0.224rem + 1.88vw, 1.4rem);
//	font-weight:700;
	color:#fff;
}
.con3_tx_03 span{
	color:#fff;
}

.con3_tx_03 a{
	color:#fff;
}
.con3_tx_04{
	margin:3% auto;
	text-align:center;
	font-weight:700;
	color:#fff;
	font-size: clamp(0.7rem, 0.276rem + 2.12vw, 1.6rem);

}
.con3 .btn{
	color:#ffff9a;
	margin: 3% auto 0;
	font-size: clamp(0.7rem, 0.276rem + 2.12vw, 1.6rem);
	font-weight:700;
}
.con3_tx_05{
	margin:3% auto;
	text-align:center;
	font-weight:700;
	color:#fff;
	font-size: clamp(0.6rem, 0.224rem + 1.88vw, 1.4rem);

}
.con3_tx_05 span{
	color:#fff;
	font-weight:700;
}

.con4{
	position: relative;
}
.con4 .con4_in{
	position: absolute;
	top: 20%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	white-space: nowrap;
	box-sizing:  border-box; 
	color:#fff;
	width: 100%;
	text-align:center;
}
.con4 .con4_tx_01{
//	margin-top:20%;
	font-size: clamp(1.2rem, -1.886rem + 6.86vw, 2.4rem);
	font-weight:700;
	color:#fff;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.69), 0px 0px 3px rgba(0, 0, 0, 0.69);
}
.con4 .con4_tx_02{
//	margin-top:20%;
	font-size: clamp(1.2rem, -1.886rem + 6.86vw, 2.4rem);
	font-weight:700;
	color:#fff;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.69), 0px 0px 3px rgba(0, 0, 0, 0.69);
}
.con5{
	background: #203864;
	color:#fff;
	text-align:center;
	padding-top:5%;
	padding-bottom:5%;
}
.con5_in{
	margin:0 auto;
	width:90%;
}
.con5_tx_01{
	color:#fff;
	font-size: clamp(0.8rem, 0.329rem + 2.35vw, 1.8rem);
	font-weight:700;
}
.con5_tx_02{
	margin-top:4%;
	color:#fff;
	font-size: clamp(0.8rem, 0.329rem + 2.35vw, 1.8rem);
	font-weight:700;
}
.con5_tx_02 span{
	color:#fff;
	font-weight:700;
}

.con5_tx_03{
	margin-top:4%;
	color:#ffff9a;
	font-size: clamp(0.8rem, 0.329rem + 2.35vw, 1.8rem);
	font-weight:700;
}
.con5_tx_04{
	margin-top:2%;
	color:#fff;
	font-size: clamp(0.8rem, 0.329rem + 2.35vw, 1.8rem);
	font-weight:700;
}
.con5_tx_04 span{
	color:#fff;
	font-weight:700;
}

.con5_tx_04 {
  align-items: center; /* 横線を上下中央 */
  display: flex; /* 文字と横線を横並び */
  width:80%;
  margin:0 auto;
}
.con5_tx_04::before,
.con5_tx_04::after {
  background-color: #fff; /* 横線の色 */
  border-radius: 5px; /* 横線の両端を丸く */
  content: "";
  flex-grow: 1; /* 横幅いっぱい */
  height: 1px; /* 横線の高さ */
}
.con5_tx_04::before {
  margin-right: 1%; /* 文字との余白 */
}
.con5_tx_04::after {
  margin-left: 1%; /* 文字との余白 */
}
.con5_img{
	width:80%;
	margin:4% auto 0;
}
.con5_img img{
	width:100%;
}

.con5_tx_05{
	margin-top:2%;
	color:#fff;
	font-size: clamp(0.5rem, 0.076rem + 2.12vw, 1.4rem);
	font-weight:700;
}
.con5_tx_06{
	margin-top:2%;
	color:#ffff9a;
	font-size: clamp(0.6rem, 0.318rem + 1.41vw, 1.2rem);
	font-weight:700;
}
.con5_fl{
	margin:5% auto;
	display: flex;
	justify-content: space-between;
//	align-items: center;
}

.con5_fl_l,.con5_fl_r{
	width:49%;
//	height:100%;
}


















/* #intro */
#intro{
//	padding: var(--size-64px) var(--size-16px);
	margin-top:6%;
}
#intro .text-top{
	font-size: clamp(1rem, -3.629rem + 10.29vw, 2.8rem);
	margin-bottom: var(--size-32px);
	font-weight: 700;
}
#intro p{
	font-size: clamp(0.8rem, -2.286rem + 6.86vw, 2rem);
	margin-bottom: var(--size-24px);
}


#b_12_c{
	margin-top:10%;
	background:#a50011;
	padding-top:10%;
	position: relative;
	padding-bottom:50%;
}
#b_12_c .b_12_01{
	text-align:center;
	background:#e60012;
	color:#fff;
	width:100%;
	font-size: clamp(1.3rem, -2.557rem + 8.57vw, 2.8rem);
	font-weight:600;
	padding-top:1.5%;
	padding-bottom:1.5%;
}
#b_12_c .b_12_02{
	margin-top:2%;
	text-align:center;
	color:#fff;
	font-size: clamp(1rem, -2.6rem + 8vw, 2.4rem);
	font-weight:600;
}
#b_12_c .b_12_03{
	text-align:center;
	color:#fff;
	font-size: clamp(0.7rem, -1.357rem + 4.57vw, 1.5rem);
	font-weight:600;
}
.b_12_04{
	margin-top:6%;
}
.b_12_05{
	text-align:left;
	margin-top:5%;
}
.b_12_06{
	text-align:right;
	margin-top:5%;
}


.b_12_07{
	text-align:center;
	color:#fff;
	font-size: clamp(1rem, -1.571rem + 5.71vw, 2rem);
	font-weight:600;
	margin-top:5%;
	line-height:2.0;
}

.b_12_08{
	text-align:center;
	color:#fff;
	font-size: clamp(0.6rem, -1.971rem + 5.71vw, 1.6rem);
	margin-top:5%;
	line-height:2.0;
}

#b_12_c .place{
	position: absolute;
	bottom: -24%;
	right: 0;
	left: 0;
	width:90%;
	max-width:869px;
	margin:0 auto;
}
#b_12_c .place-detail{
	padding: 0 var(--size-16px) var(--size-32px);
	background: var(--color-black);
	padding-top:5%;
}
#b_12_c .place img{
//	margin-bottom: var(--size-8px);
	
}
#b_12_c .place p,
#b_12_c .place span,
#b_12_c .place a{
	color: var(--color-white);
}
#b_12_c .place-title{
	font-size: clamp(.75rem, 3.2vw, 1.5rem);
	font-weight: 700;
}
#b_12_c .place-title,
#b_12_c .place-name,
#b_12_c .place-address{
	font-weight: 700;
	line-height: 1.65;
	margin-bottom: var(--size-8px);
}
#b_12_c .place-title{
	font-size: clamp(1rem, -1.571rem + 5.71vw, 2rem);
}
#b_12_c .place-name{
	font-size: clamp(1rem, -1.571rem + 5.71vw, 2rem);
}
#b_12_c .place-address{
	font-size: clamp(0.6rem, -1.714rem + 5.14vw, 1.5rem);
	font-weight: 400;
}
#b_12_c .place-address span{
	font-weight: 300;
}

/* #experience-collection */
#experience-collection{
	margin-top:10%;
	padding: 8% 0;
}
#experience-collection h2{
//	margin-bottom: var(--size-64px);
	font-size: clamp(1.2rem, -3.429rem + 10.29vw, 3rem);
	padding: 0% 5%;
}
#experience-collection .text-top{
	font-size: clamp(0.7rem, -2.129rem + 6.29vw, 1.8rem);
	font-weight: 600;
//	margin-bottom: var(--size-64px);
	margin-top:5%;
	padding: 0% 5%;
}
#experience-collection .collection{
//	margin-bottom: var(--size-64px);
	margin-top:5%;
}
#experience-collection .collection-item{
	margin-bottom: var(--size-32px);
}
#experience-collection .collection-item img{
	display: block;
	width: 66.666%;
	margin-left: auto;
}
#experience-collection .collection-item:nth-child(2n+1) img{
	margin-right: auto;
	margin-left: 0;
}
#experience-collection .collection-item .collection-text{
	background: var(--color-white);
	width: calc(100% - var(--size-62px));
	max-width: 600px;
	clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
	margin-top: calc(-1 * var(--fs-20px));
	margin-right: auto;
}
#experience-collection .collection-item:nth-child(2n+1) .collection-text{
	clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
	margin-right: 0;
	margin-left: auto;
}
#experience-collection .collection-item .collection-text div{
	color: var(--color-black);
	font-weight: 700;
}
#experience-collection .collection-item .collection-text .name{
	font-size: clamp(1.2rem, -3.429rem + 10.29vw, 3rem);
	font-style: italic;
	padding-left: var(--size-16px);
}
#experience-collection .collection-item:nth-child(2n+1) .collection-text .name{
	padding-left: var(--size-30px);
}
#experience-collection .collection-item .collection-text .price{
	position: relative;
	font-size: clamp(1.1rem, -1.729rem + 6.29vw, 2.2rem);
	text-align: right;
	padding-right: var(--size-30px);
}
#experience-collection .collection-item:nth-child(2n+1) .collection-text .price{
	padding-right: var(--size-16px);
}
#experience-collection .collection-item .collection-text .price::after{
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 1px;
background: var(--color-black);
}
#experience-collection .note{
	font-size: clamp(.75rem, 3.2vw, 1.5rem);
	text-align: center;
}

/* #ferrari-approved-world */
#ferrari-approved-world h2,
#ferrari-approved-world h3,
#ferrari-approved-world p{
	text-align: center;
}
#ferrari-approved-world{
	margin-top:5%;
	padding: var(--size-64px) 0;
}
#ferrari-approved-world h2{
	font-size: clamp(1.2rem, -4.457rem + 12.57vw, 3.4rem);
	margin-bottom: var(--size-8px);
}
#ferrari-approved-world h3{
	font-size: clamp(1.1rem, -2.243rem + 7.43vw, 2.4rem);
	font-weight: 700;
	margin-bottom: var(--size-20px);
}
#ferrari-approved-world p{
	font-size: clamp(.75rem, 3.2vw, 1.5rem);
	line-height: 1.8;
}
#ferrari-approved-world .bg-img{
	position: relative;
	background: transparent url(../img/04_Ferrari_F8_Tributo_Interni_36509.jpg) no-repeat center center / cover;
	margin-top: var(--size-84px);
	padding-top: var(--size-44px);
}
#ferrari-approved-world .bg-img::before,
#ferrari-approved-world .bg-img::after{
content: '';
position: absolute;
left: 0;
width: 100%;
height: var(--size-90px);
}
#ferrari-approved-world .bg-img::before{
	top: 0;
	background: linear-gradient(0deg, rgba(0,0,0,0), rgba(0,0,0,1));
}
#ferrari-approved-world .bg-img::after{
	bottom: 0;
	background: linear-gradient(0deg, rgba(0,0,0,1), rgba(0,0,0,0));
}
#ferrari-approved-world .bg-img *{
	position: relative;
	z-index: 1;
}
#ferrari-approved-world .bg-img p{
	margin-bottom: var(--size-100px);
}

/* #ferrari-financial-services */
#ferrari-financial-services{
	padding-bottom: var(--size-64px);
	margin-top:7%;
}
#ferrari-financial-services .top-img{
	position: relative;
}
#ferrari-financial-services .top-img h2{
	position: absolute;
	top: var(--size-16px);
	left: var(--size-16px);
	font-size: clamp(1.2rem, -3.429rem + 10.29vw, 3rem);
}
#ferrari-financial-services h3{
	position: relative;
//	background: linear-gradient(90deg, rgba(0,0,0,1), rgba(0,0,0,0));
	line-height: 1;
	margin-top: calc(-1 * var(--size-64px));
	margin-bottom: var(--size-16px);
	padding-left:5%;

}
#ferrari-financial-services h3 span{
	color: var(--color-white);
	font-size: clamp(1.1rem, -2.243rem + 7.43vw, 2.4rem);
	border-bottom:0.25vw solid #fff;
	padding-bottom:1%;
}

#ferrari-financial-services .inner{
	position: relative;
}
#ferrari-financial-services .card-bk{
	background: var(--color-black);
	margin-bottom: var(--size-16px);
	padding: var(--size-16px);
}
#ferrari-financial-services .card-bk *{
	color: var(--color-white);
	font-weight:700;
}
#ferrari-financial-services .card-bk dl>div{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: var(--size-10px);
	width:100%;

}
#ferrari-financial-services .card-bk dt,
#ferrari-financial-services .card-bk dd{
	font-size: clamp(0.9rem, -1.671rem + 5.71vw, 1.9rem);
}
#ferrari-financial-services .card-bk dt{
	width:30%;

}
#ferrari-financial-services .card-bk dd{
	width:70%;

}
#ferrari-financial-services .card-bk dd span{
	font-size: clamp(0.6rem, -1.2rem + 4vw, 1.3rem);
}
#ferrari-financial-services .note{
	font-size: clamp(0.6rem, -1.2rem + 4vw, 1.3rem);
	letter-spacing: .05rem;
}
#ferrari-financial-services .inner>p{
	margin-bottom: var(--size-10px);
	font-size: clamp(0.7rem, -1.357rem + 4.57vw, 1.5rem);
}
#ferrari-financial-services .note2{
	font-size: clamp(0.6rem, -1.2rem + 4vw, 1.3rem);
}

#ferrari-financial-services .note2 span{
	font-weight:300;
}

#ferrari-financial-services .text-bottom{
	font-size: clamp(0.9rem, -1.671rem + 5.71vw, 1.9rem);
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.25rem;
	margin-top: var(--size-32px);
}

/* #benefit */
#benefit{
	position: relative;
}
#benefit .text{
	position: absolute;
	top: var(--size-42px);
	left: 0;
	width: 100%;
}
#benefit .bg{
	display: flex;
	justify-content: center;
	align-items: center;
	background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%);
	margin-top: var(--size-32px);
	padding: var(--size-32px) 0;
}
#benefit p{
	color: var(--color-white);
	font-size: clamp(0.8rem, -1.514rem + 5.14vw, 1.7rem);
	text-align: center;
}

.map-wrap{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 30%;
    margin-top:8%;
    border:1px solid #000;

}
 iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	border: none;
}

#summer_v{
	margin-top:120%;
	text-align: center;
}

.sm_title{
	font-size: clamp(2rem, -8.636rem + 21.82vw, 5rem);
	font-weight: bold;
	margin-top: var(--size-32px);
}

.sm_title_2{
	font-size: clamp(1.6rem, -6.909rem + 17.45vw, 4rem);
	font-weight: bold;
	margin-top:5%;
}

.sm_day{
	font-size: clamp(1.6rem, -6.909rem + 17.45vw, 4rem);
}
.sm_day span{
	font-weight:300;
}
.sm_day_tx{
	font-size: clamp(0.8rem, -3.455rem + 8.73vw, 2rem);
}

.sm_day_tx span{
	font-weight:300;
}

.sm_day_at{
	font-size: clamp(0.8rem, -3.455rem + 8.73vw, 2rem);
	margin-top:5%;
	text-align:left;
	display:inline-block;
}
.sm_sname{
	font-size: clamp(0.9rem, -3.355rem + 8.73vw, 2.1rem);
	font-weight:700;
	margin-top:5%;
}
.sm_tel{
	font-size: clamp(1.6rem, -6.909rem + 17.45vw, 4rem);
	font-weight:900;
}




#support{
	margin-top:10%;
	padding-top:4%;
	padding-bottom:4%;
}



.contact .btn{
	max-width:600px;
}
.contact p{
	color: var(--color-white);
	text-align: center;
	font-size: clamp(0.8rem, -1.514rem + 5.14vw, 1.7rem);
}
.contact .contact-title{
	font-size: clamp(0.8rem, -1.514rem + 5.14vw, 1.7rem);
	letter-spacing: .05rem;
}
.contact p span{
	color: var(--color-white);
}
.contact .btn{
	color: var(--color-white);
	font-size: clamp(1rem, -1.571rem + 5.71vw, 2rem);
	text-decoration: underline;
	margin-top: var(--size-8px);
	margin-bottom: var(--size-12px);
}

@media screen and (min-width: 501px){
	header .inner{
		height: var(--header-height-pc);
	}
	#menu-content{
		min-height: calc(100vh - var(--header-height-pc));
	}
	main{
		padding-top: var(--header-height-pc);
	}
	#mv{
//		min-height: calc(100vh - var(--header-height-pc));
	}
}

@media screen and (max-width: 768px) {


}