@charset "UTF-8";

/* ========================================
   @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print {
.p-page__ttl {
	background: url(../images/common/formttl_bg.jpg) no-repeat top center/cover;
	margin-inline: auto;
	max-width: 1920px;
	padding-block: 180px 253px;
	width: 100%;
}

.p-page__ttl p {
	font-size: 78px;
	font-weight: 800;
	letter-spacing: 3.9px;
	line-height: 1.1;
	margin-bottom: 40px;
	text-align: center;
}

.p-page__ttl p span.dotted {
	background-image: radial-gradient(circle at center, #FFEC0A 20%, transparent 20%); /* 点の色とサイズ調整 */
	background-position: top right 4px; /* 点の位置 */
	background-repeat: repeat-x; /* 横方向に繰り返し */
	background-size: 1em 0.3em; /* 点の間隔とサイズ調整 */
	padding-top: 12px; /* 縦方向の位置調整 */
}

.p-page__ttl h2 {
	background: #1A1A1A;
	color: #ffffff;
	font-size: 30px;
	font-weight: 600;
	letter-spacing: 3px;
	line-height: 1;
	margin-inline: auto;
	padding: 15px 40px;
	width: -moz-fit-content;
	width: fit-content;
}

.p-mv {
	margin-bottom: -98px;
	position: relative;
	top: -179px;
}

.p-mv .l-inner.l-mv {
	margin-inline: auto;
	width: min(95%, 1280px);
}

.p-mv .p-mv__items {
	display: grid;
	gap: 0 40px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: -150px;
	padding-inline: 0 150px;
}

.p-mv .p-mv__item {
	background: url(../images/open/mv_item_bg.png) no-repeat top center/contain;
	font-size: 28px;
	font-weight: 800;
	letter-spacing: 3.08px;
	line-height: 1.4;
	margin-inline: auto;
	padding-block: 52px 80px;
	text-align: center;
	width: 100%;
	display: grid;
	place-items: center;
}

.p-mv .p-mv__img {
	margin-bottom: -35px;
	text-align: right;
}

.p-mv .p-mv__box-ttl {
	background: #1A1A1A;
	color: #FFEC0A;
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 2.4px;
	line-height: 1;
	margin-bottom: -18px;
	padding: 13px 38px;
	width: -moz-fit-content;
	width: fit-content;
}

.p-mv .p-mv__con {
	border: 6px solid #1A1A1A;
	display: grid;
	gap: 0 6.5%;
	grid-template-columns: 42.8% 52.6%;
	justify-content: center;
	padding-block: 73px;
	padding-inline: 80px;
}

.p-mv .p-mv__con-right p {
	font-size: 32px;
	font-weight: 800;
	letter-spacing: 0px;
	line-height: 1.6;
	margin-bottom: 22px;
}

.p-mv .p-mv__con-right .txt p {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.8px;
	line-height: 1.875;
	margin-bottom: 0;
}

}



/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
.p-page__ttl {
    background: url(../images/common/formttl_bg_sp.jpg) no-repeat top center/cover;
    margin-inline: auto;
    padding-block: 14.493vw 32.609vw;
    width: 100%;
}

.p-page__ttl p {
    font-size: 8.696vw;
    font-weight: 800;
    letter-spacing: 0.435vw;
    line-height: 1.5;
    margin-bottom: 0.483vw;
    text-align: center;
}

.p-page__ttl p span.dotted {
    background-image: radial-gradient(circle at center, #FFEC0A 20%, transparent 20%); /* 点の色とサイズ調整 */
    background-position: top right 4px; /* 点の位置 */
    background-repeat: repeat-x; /* 横方向に繰り返し */
    background-size: 1em 0.3em; /* 点の間隔とサイズ調整 */
    padding-top: 1.449vw; /* 縦方向の位置調整 */
}

.p-page__ttl h2 {
    background: #1A1A1A;
    color: #ffffff;
    font-size: 4.348vw;
    font-weight: 600;
    letter-spacing: 0.435vw;
    line-height: 1;
    margin-inline: auto;
    padding: 1.932vw 7.488vw;
    width: -moz-fit-content;
    width: fit-content;
}

.p-mv {
    margin-bottom: -11.111vw;
    position: relative;
    top: -25.845vw;
}

.p-mv .l-inner.l-mv {
    margin-inline: auto;
    width: min(95%, 91.7874396135vw);
}

.p-mv .p-mv__items {
    display: grid;
    gap: 0 2.415vw;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: -8.213vw;
    padding-inline: 0 7.246vw;
}

.p-mv .p-mv__item {
    background: url(../images/open/mv_item_bg_sp.png) no-repeat top center/contain;
    display: grid;
    font-size: 3.382vw;
    font-weight: 800;
    letter-spacing: 0px;
    line-height: 1.5;
    margin-inline: auto;
    padding-block: 5.797vw 9.903vw;
    padding-inline: 3.14vw;
    place-items: center;
    text-align: left;
    width: 100%;
}

.p-mv .p-mv__img {
    margin-bottom: -4.348vw;
    text-align: right;
}

.p-mv .p-mv__img img {
    height: auto;
    width: 25.362vw;
}

.p-mv .p-mv__box-ttl {
    background: #1A1A1A;
    color: #FFEC0A;
    font-size: 4.831vw;
    font-weight: 600;
    letter-spacing: 0.483vw;
    line-height: 1;
    margin-bottom: -5.072vw;
    padding: 1.932vw 4.831vw;
    width: -moz-fit-content;
    width: fit-content;
}

.p-mv .p-mv__con {
    border: 4px solid #1A1A1A;
    display: grid;
    gap: 5.314vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    padding-block: 8.454vw 11.111vw;
    padding-inline: 7.246vw;
}

.p-mv .p-mv__con-right p {
    font-size: 5.314vw;
    font-weight: 800;
    letter-spacing: 0px;
    line-height: 1.6;
    margin-bottom: 2.657vw;
}

.p-mv .p-mv__con-right .txt p {
    font-size: 3.865vw;
    font-weight: 400;
    letter-spacing: 0.193vw;
    line-height: 1.875;
    margin-bottom: 0;
}
}
