@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap');
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-style: normal;
}
ul,li {
list-style: none;
}

a,
a hover,
a visit{
color:#000;
text-decoration:none;
}

img{max-width:100%;vertical-align:top;}


/*■PC******************************************************/
@media screen and (min-width: 897px) {

body {
font-family: "vw-head", "Noto Sans JP","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS PGothic", Arial, Helvetica, "Helvetica Neue", sans-serif;
font-weight:400;
  overflow-x: hidden;
}

@font-face {
font-family: 'vw-head';
font-weight: 200;
font-display: swap;
src: url('../fonts/VWHeadWeb-Light.woff') format('woff');
}

@font-face {
font-family: 'vw-head';
font-weight: 400;
font-display: swap;
src: url('../fonts/VWHeadWeb-Regular.woff') format('woff');
}

@font-face {
font-family: 'vw-head';
font-weight: 700;
font-display: swap;
src: url('../fonts/VWHeadWeb-Bold.woff') format('woff');
}

@font-face {
font-family: 'vw-head';
font-weight: 900;
font-display: swap;
src: url('../fonts/VWHeadWeb-ExtraBold.woff') format('woff');
}

@font-face {
font-family: 'vw-head';
font-weight: 200;
font-display: swap;
src: url('../fonts/VWHeadWeb-Light.woff') format('woff');
}

@font-face {
font-family: 'vw-text';
font-weight: 400;
font-display: swap;
src: url('../fonts/VWTextWeb-Regular.woff') format('woff');
}

@font-face {
font-family: 'vw-text';
font-weight: 700;
font-display: swap;
src: url('../fonts/VWTextWeb-Bold.woff') format('woff');
}

.onsp{display:none;}

header{
  position: absolute;
  top: 50px;
  width: 100%;
  height: 120px;
  z-index: 10;
}

.logo{
  position: absolute;
  left: 70vw;
  transform: translateX(-50%);
  width: 120px;
  height: 120px;
  padding: 32px;
  box-sizing: border-box;
  background: url(../images/vw.png) no-repeat center / contain;
  color: transparent;
}

.line{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 5px;
  background: #fff;
}

.line.left{
  left: 0;
  width: max(0px, calc(70vw - 60px - 32px));
}

.line.right{
  left: calc(70vw + 60px + 32px);
  width: max(0px, calc(30vw - 60px - 32px));
}
section {
width: 100%;
margin: 0 auto;
max-width: 1920px;
min-width: 1280px;
}

section.main {
position: relative;
background: url(../images/main-image.jpg) no-repeat center center /cover;
aspect-ratio: 8/7
}

section.main p {
font-size: 14px;
line-height: 1em;
color: #fff;
position: absolute;
left: 40px;
bottom: 40px;
}
section.main p span{
font-weight:700;
}
section.main p span,
section.main p em{
font-size:17px;
}

section.lineup,
section.fair {
max-width: 1280px;
padding: 150px 105px;
}

section.lineup {
padding-top:0;
}


section.fair h1 {
font-size: 78px;
line-height: 110px;
}

section.fair h1 span{
display:block;
font-size: 88px;
font-weight:400;
font-feature-settings: "palt";
}

section.fair h1 span em{
font-size: 78px;
}


section.fair h2 {
font-size: 70px;
line-height: 1.5em;
border-bottom:1px solid #000;
margin-top:120px;
}

section.fair h2+p{
font-weight:700;
padding-top:20px;
font-size: 74px;
line-height: 1.25em;
font-feature-settings: "palt";
letter-spacing:0.025em;
}

section.fair h2+p em{
font-size:78px;
}

section.fair h2+p.mp{
font-size: 64px;
}

section.fair h2+p.mp+img{
margin-top:40px;
}

section.fair h2+p span{
font-size: 48px;
font-weight:400;
display:block;
line-height: 110px;
}

section.fair .vpoint{
text-align:center;
border:1px solid #000;
margin-top:50px;
padding:36px;
}
section.fair .vpoint img{
width:380px;
height:auto;
}

section.lineup h2{
font-size:110px;line-height:1em;
text-align:center;
}

section.lineup ul li{
margin-top:126px;
}

section.lineup h3{
font-size:30px;
line-height:1.5em;
}

section.lineup h3 em{
font-size:48px;
}

section.lineup h3 span{
font-size:80px;
line-height:1em;
display:block;
}

section.lineup figure{
position:relative;
margin-top:30px;
}

section.lineup figure figcaption{
position:absolute;
left:20px;
bottom:14px;
font-size:11px;line-height:1em;
color: #fff;
}
section.lineup figure figcaption em,
section.lineup figure figcaption span{
font-size:13px;
}
section.lineup figure figcaption span{
font-weight:700;
}

section.lineup figure figcaption.bk{
color: #000;
}

section.lineup figure+p{
font-size:24px;
line-height:1.75em;
margin-top:0.5em;
font-weight:700;
}
section.lineup figure+p em{
font-size:28px;
}

section.lineup figure+p span{
font-size:14px;
}

section.lineup figure+p+p{
font-size:14px;
line-height:1.75em;
}

section.lineup figure+p+p em{
font-size:17px;
}

section.lineup figure+p+p+p{
text-align:center;
display:block;
margin-top:50px;
}

section.lineup figure+p+p+p a{
display:block;
font-size:30px;
font-weight:700;
width:100%;
color:#fff;
line-height:3em;
border-radius:2em;
background-color:#001e50;
text-decoration:none;
}

section.lineup figure+p+p+p a em{
font-size:34px;
}

section.lineup ul+p+p,
section.lineup ul+p{
font-feature-settings: "palt";
font-size:14px;
line-height:1.75em;
margin:130px auto 0 1em;
text-indent:-1em;
text-decoration:underline;
}

section.lineup ul+p+p em,
section.lineup ul+p em{
font-size:16px;
}

section.lineup ul+p+p{
margin:0 auto 0px 1em;
text-decoration:none;
}

footer{
border-top:1px solid #000;
max-width: 1280px;
padding: 120px 105px 20px;
margin:0 auto;
min-width:1280px;
}

footer ul{
display:flex;
justify-content: center;
gap:40px;
padding:0 20px;
}

footer ul li{
width:calc(50% - 0px);
}

footer ul li h2{
font-size:50px;
line-height:1em;
font-feature-settings: "palt";
font-weight:900;
}

footer ul li h2 span{
font-size:26px;
line-height:1.75em;
}
footer ul li h2 em{
font-size:58px;
display:inline-block;
padding-right:0.25em;
}

footer ul li p{
font-size:24px;
line-height:1.5em;
padding:10px 0;
}

footer ul li p em{
font-size:26px;
}


footer ul+p{
font-size:20px;
line-height:1.5em;
padding:65px 0;
display:flex;
justify-content: center;
gap:1em;
font-feature-settings: "palt";
}

footer ul+p em{
font-size:22px;
}

}/**■END PC***************************/
/*■SP******************************************************/
@media screen and (max-width: 896px) {


body {
font-family: "vw-head", "Noto Sans JP","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS PGothic", Arial, Helvetica, "Helvetica Neue", sans-serif;
font-weight:400;
width:100%;
}

@font-face {
font-family: 'vw-head';
font-weight: 200;
font-display: swap;
src: url('../fonts/VWHeadWeb-Light.woff') format('woff');
}

@font-face {
font-family: 'vw-head';
font-weight: 400;
font-display: swap;
src: url('../fonts/VWHeadWeb-Regular.woff') format('woff');
}

@font-face {
font-family: 'vw-head';
font-weight: 700;
font-display: swap;
src: url('../fonts/VWHeadWeb-Bold.woff') format('woff');
}

@font-face {
font-family: 'vw-head';
font-weight: 900;
font-display: swap;
src: url('../fonts/VWHeadWeb-ExtraBold.woff') format('woff');
}

@font-face {
font-family: 'vw-head';
font-weight: 200;
font-display: swap;
src: url('../fonts/VWHeadWeb-Light.woff') format('woff');
}

@font-face {
font-family: 'vw-text';
font-weight: 400;
font-display: swap;
src: url('../fonts/VWTextWeb-Regular.woff') format('woff');
}

@font-face {
font-family: 'vw-text';
font-weight: 700;
font-display: swap;
src: url('../fonts/VWTextWeb-Bold.woff') format('woff');
}

.onpc{display:none;}


header{
  position: absolute;
  top: 25px;
  width: 100%;
  height: 60px;
  z-index:10;
}

.logo{
  position: absolute;
  left: 50vw;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  padding: 16px;
  box-sizing: border-box;
  background: url(../images/vw.png) no-repeat center / contain;
  color: transparent;
}

.line{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 3px;
  background: #fff;
}

.line.left{
  left: 0;
  width: max(0px, calc(50vw - 30px - 16px));
}

.line.right{
  left: calc(50vw + 30px + 16px);
  width: max(0px, calc(50vw - 30px - 16px));
}

section {
width: 100%;
margin: 0 auto;
}

section.main {
position: relative;
background: url(../images/main-image.jpg) no-repeat center center /cover;
aspect-ratio: 8/7
}

section.main p {
font-size: 10px;
line-height: 1.35em;
color: #fff;
position: absolute;
left: 20px;
bottom: 20px;
margin-right:20px;
}
section.main p span{
font-weight:700;
}
section.main p span,
section.main p em{
font-size:12px;
}

section.lineup,
section.fair {
width:100%;
padding: 5% 28px;
}

section.lineup {
padding-top:25px;
}


section.fair h1 {
font-size: 26px;
line-height: 1.8em;
font-feature-settings: "palt";
}

section.fair h1 span{
display:block;
font-size: 30px;
font-weight:400;
font-feature-settings: "palt";
}

section.fair h1 span em{
font-size: 28px;
}


section.fair h2 {
font-size: 26px;
line-height: 2em;
border-bottom:2px solid #000;
margin-top:30px;
}

section.fair h2+p{
font-weight:700;
padding-top:10px;
font-size: 26px;
line-height: 1.25em;
font-feature-settings: "palt";
letter-spacing:0.025em;
}

section.fair h2+p em{
font-size:30px;
}

section.fair h2+p.mp{
font-size: 28px;
}

section.fair h2+p.mp+img{
margin-top:20px;
}

section.fair h2+p span{
font-size: 4vw;
font-weight:400;
display:block;
line-height: 2.5em;
}

section.fair .vpoint{
text-align:center;
border:2px solid #000;
margin-top:18px;
padding:18px;
}
section.fair .vpoint img{
width:40%;
height:auto;
}

section.lineup h2{
font-size:9vw;line-height:1em;
text-align:center;
}

section.lineup ul li{
margin-top:30px;
}

section.lineup h3{
font-size:13px;
line-height:1.5em;
}

section.lineup h3 em{
font-size:20px;
}

section.lineup h3 span{
font-size:30px;
line-height:1em;
display:block;
}

section.lineup figure{
position:relative;
margin-top:15px;
}

section.lineup figure figcaption{
position:absolute;
left:10px;
bottom:7px;
font-size:6px;line-height:1.25em;
color: #fff;
}
section.lineup figure figcaption em,
section.lineup figure figcaption span{
font-size:7px;
}
section.lineup figure figcaption span{
font-weight:700;
}

section.lineup figure figcaption.bk{
color: #000;
}

section.lineup figure+p{
font-size:14px;
line-height:1.5em;
margin:0.75em 0 0.25em;
font-weight:700;
}
section.lineup figure+p em{
font-size:17px;
}

section.lineup figure+p span{
font-size:10px;
}

section.lineup figure+p+p{
font-size:10px;
line-height:1.75em;
}

section.lineup figure+p+p em{
font-size:11px;
}

section.lineup figure+p+p+p{
text-align:center;
display:block;
margin-top:25px;
}

section.lineup figure+p+p+p a{
display:block;
font-size:15px;
font-weight:700;
width:100%;
color:#fff;
line-height:3em;
border-radius:2em;
background-color:#001e50;
text-decoration:none;
}

section.lineup figure+p+p+p a em{
font-size:17px;
}

section.lineup ul+p+p,
section.lineup ul+p{
font-feature-settings: "palt";
font-size:10px;
line-height:1.75em;
margin:75px auto 0 1em;
text-indent:-1em;
text-decoration:underline;
}

section.lineup ul+p+p em,
section.lineup ul+p em{
font-size:12px;
}

section.lineup ul+p+p{
margin:0 auto 0px 1em;
text-decoration:none;
}

footer{
border-top:1px solid #000;
padding-top:30px;
padding-bottom:5px;
margin:0 auto;
text-align:center;
display:flex;
align-items:center;
flex-direction: column;
}
footer ul{
display:inline-block;
}

footer ul li{
display:block;
text-align:left;
}

footer ul li h2{
font-size:25px;
line-height:1em;
font-feature-settings: "palt";
font-weight:900;
}


footer ul li h2 span{
display:block;
font-size:13px;
line-height:1.75em;
}
footer ul li h2 em{
font-size:29px;
display:inline-block;
padding-right:0.25em;
}

footer ul li p{
font-size:12px;
line-height:1.5em;
padding:10px 0;
}

footer ul li p em{
font-size:13px;
}

footer ul li p a{
color:#000;
text-decoration:none;
}


footer ul+p{
font-size:12px;
line-height:1.5em;
padding:32px 0;
display:inline-block;
text-align:left;
font-feature-settings: "palt";
}

footer ul+p span{
display:block;
}

footer ul+p em{
font-size:12px;
}

}/**■END SP***************************/
