@charset "UTF-8";
:root{
    --default-font:--default-font:'游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', sans-serif;
    --link-color:#007bff;
}
body::before{
    content:'';
    background-image: url(../img/orange.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    aspect-ratio:300/55;
    width:100%;
    height:auto;
    top:0;
    left:0;
}
*{
    box-sizing: border-box;
}
.container{
    position: relative;
    width:100%;
}
.index01 .container{
    min-height:100%;
}
.index01 .container::before{
    width:400px;
}
.index01 .container::after{
    width:400px;
}
.container::before{
    content:'';
    background-image: url(../img/leaves02-left.png);
    background-size: cover;
    background-repeat:no-repeat;
    background-position: left top;
    aspect-ratio: 300/4048;
    width:auto;
    height:100%;
    position: absolute;
    top:0;
    left:0;
}
.container::after{
    content:'';
    background-image: url(../img/leaves02-right.png);
    background-size: cover;
    background-position: right top;
    background-repeat:no-repeat;
    aspect-ratio: 295/4019;
    width:auto;
    height:100%;
    position: absolute;
    top:0;
    right:0;
}
.billboard-container{
    padding:0 calc((100% - 750px)/2);
    position: relative;
    z-index:100;
}

.billboard-container .billboard figure{
   margin:0px auto 50px;
   padding-top:5vh;
}
.billboard-container a.daihatsu-button{
    background-color:#e60012;
    color:#fff;
    font-size:1.6em;
    font-weight:900;
    padding:0.6em 1.8em;
    display: block;
    width:550px;
    border-radius: 30px;
    margin:60px auto;
    border: 2px solid #231815;
	box-shadow: 6px 6px #231815;
	transition: 0.2s ease-in-out;
    position:relative ;
}
.billboard-container a.daihatsu-button::after{
    font-family:"Material Symbols Outlined";
    content:"\e5cc";
    color:#fff;
    font-size:2em;
    position:absolute;
    top:54%; right:20px;
    transform: translateY(-50%);
}
.billboard-container a.daihatsu-button:hover {
	box-shadow: none;
	transform: translate(5px, 5px);
    text-decoration: none;
}
figure.date img{
width:600px;
display: inline-block;
}
.billboard-container a.partner-button{
    background-color:#e60012;
    color:#fff;
    font-size:1.4em;
    font-weight:900;
    padding:0.6em 1.8em;
    display: block;
    width:550px;
    border-radius: 30px;
    margin:50px auto 60px;
    border: 2px solid #231815;
	box-shadow: 6px 6px #231815;
	transition: 0.2s ease-in-out;
    position:relative ;
}
.billboard-container a.partner-button::after{
    font-family:"Material Symbols Outlined";
    content:"\e5cc";
    color:#fff;
    font-size:2em;
    position:absolute;
    top:50%; right:10px;
    transform: translateY(-50%);
}
.billboard-container a.partner-button:hover {
	box-shadow: none;
	transform: translate(5px, 5px);
    text-decoration: none;
}
.logo-container{
    display: flex;
    justify-content: center;
    gap:1.4em;
   padding-bottom:20px;
}
.logo-container .light-logo img{
    width:150px;
}
.logo-container .daihatsu-logo img{
    width:160px;
}
/*index02*/
.present-box{
    margin:60px auto 100px;
}
.present-box figure:first-of-type{
    margin-bottom:30px;
}
.special-package figure:first-of-type{
    margin-bottom:100px;
}
.special-package figure:nth-of-type(2){
    position: relative;
    margin-bottom:100px;
}

p{
    text-align: left;
    font-size:0.75em;
    font-weight: 700;
    margin-top:10px;
    margin-bottom:80px;
}
h2{
font-weight: 900;
font-size:1.6em;
line-height:1.4;
margin-bottom:30px;
letter-spacing: 0.08em;
}
.course-box{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap:4.2em;
    margin-bottom:80px;
}
.course-box > figure{
width:210px;
}
.course-box > figure> a > img{
    transition:  all 0.2s ;
}
.course-box > figure > a:hover img{
    transform:scale(1.05);
}
span.flyer-button a{
    width:100%;
    margin:0 auto;
    color:#fff;
    font-weight:900;
    font-size:2.2em;
    letter-spacing: 0.1em;
    line-height:1.6;
    background:#cf111b;
    border:2px solid #fff;
    box-shadow: 8px 8px 10px 0px rgba(25,25,25,0.3);
    display: block;
    padding:0.6em 2em;
    position: relative;
    z-index:10;
}
span.flyer-button a:hover{
   text-decoration: none;
}
span.flyer-button a::before{
    content:'';
    display: inline-block;
    width: 98%;
    height: 65px;
    border-radius: 50% / 0 0 100% 100%;
    background: #e60012;
    position: absolute;
    left:50%;
    transform: translate(-50%);
    top:0px;
    z-index:-10;
}
span.flyer-button{
    position: relative;
    padding-top:40px;
    margin:0 auto;
    display: block;
}
span.flyer-button::before{
    content:'';
    display: inline-block;
    vertical-align: middle;
    background-color: #fff;
    line-height: 1;
    position:absolute;
    right:25px;
    top:65%;
    transform: translateY(-50%);
    width: 28px;
    height:28px;
    border-radius: 50%;
    z-index: 20;
}
span.flyer-button::after{
    content: '\e5df';
    font-family:"Material Symbols Outlined";
    color: #cf111b;
    transform: translateX(15%);
    position: absolute;
    right:20px;
    top:65%;
    transform: translateY(-50%);
    z-index: 20;
    font-size:2.2em;
  }
.store-list h2{
    color:#fff;
    background-color:#e60012;
    padding:0.4em 1.6em;
    line-height:1;
    font-size:2.2em;
    border-radius: 999px;
    overflow:hidden;
    display: inline-block;
    margin-top:100px;
    margin-bottom:60px;
}
.store-list ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap:25px 0;
}
.store-list ul li{
    width:31%;
    background-color:#fff;
    padding:20px 0 25px;
    border:1px solid #999;
    border-radius:20px;
}
.store-list ul a{
    font-size:1.1em;
    color:var(--link-color);
    font-weight: 600;
}
.store-list ul li p{
text-align: center;
font-weight: 500;
font-size:0.8em;
margin-bottom:0;
margin-top:5px;
}
.container iframe{
    height:400px;
    margin:80px auto 60px;
    position: relative;
    z-index:100;
}
a.fair-info-button{
    background-color:#e60012;
    color:#fff;
    font-size:1.4em;
    font-weight:900;
    padding:0.6em 1.8em;
    display: block;
    width:450px;
    border-radius: 25px;
    margin:0 auto 100px;
    border: 2px solid #231815;
	box-shadow: 6px 6px #231815;
	transition: 0.2s ease-in-out;
    position:relative ;
}
a.fair-info-button::after{
    font-family:"Material Symbols Outlined";
    content:"\e5cc";
    color:#fff;
    font-size:2em;
    position:absolute;
    top:54%; right:10px;
    transform: translateY(-50%);
}
 a.fair-info-button:hover {
	box-shadow: none;
	transform: translate(5px, 5px);
    text-decoration: none;
}

.index02 footer{
    background-color:#f8f8f8;
    padding:25px 0;
    position: relative;
    z-index:200;
}
footer p{
    margin-bottom:0;
    text-align: center;
    font-weight: 400;    
}
footer .link-container{
    display:flex;
    justify-content: center;
    gap:1.8em;
    margin:0 auto;
    padding-bottom:40px;
}
footer .link-container a{
font-weight: 600;
font-size:0.875em;
color:#333;
}
.index02 footer .link-container{
    margin:0 auto;
    padding-bottom:5px;
}


@media screen and (max-width: 768px) {
    .pc-none{
        display: block;
    }
    .sp-none{
        display: none;
    }
    .index01 .container{
        height:100dvh;
    }
    .index01 .container::before{
        height:100dvh;
    }
    .index01 .container::after{
   height:100dvh;
    }
    .index01 .billboard-container{
        padding-right:1.4em;
        padding-left:1.4em;
        top:50%; left:50%;
        transform: translate(-50%,-50%);
    }
    .billboard-container .billboard figure {
        margin: 0px auto 30px;
    }
    .billboard-container .billboard figure img{
       max-width:650px;
       margin: 0 auto;
    }
    .index01 .container::before{
        width:auto;
    }
    .index01 .container::after{
        width:auto;
    }
    .billboard-container a.daihatsu-button{
        font-size:1em;
        font-weight: 700;
        line-height:1.4;
        padding:0.6em 1em;
        max-width:500px;
        width:90%;
        border-radius: 15px;
        box-shadow: 4px 4px #231815;
        margin:40px auto 30px;
        transition: 0.2s ease-in-out;
    }
    .billboard-container a.daihatsu-button::after{
        font-size:1.4em;
        top:54%; right:0;
        transform: translateY(-50%);
    }
    figure.date img{
        max-width:550px;
        width:90%;
        }
    .billboard-container a.partner-button{
            font-size:0.85em;
            font-weight: 700;
            padding:0.6em 1em;
            line-height:1.5;
            max-width:500px;
            width:90%;
            margin:20px auto 30px;
            border-radius: 15px;
            border: 2px solid #231815;
            box-shadow: 4px 4px #231815;
            transition: 0.2s ease-in-out;
        }
        .billboard-container a.partner-button::after{
            font-size:1.55em;
            top:54%; right:10px;
            transform: translateY(-50%);
        }
        .logo-container{
            gap:1.6em;
           padding:0 3em 10px;
           position: relative;
           z-index:100;
        }
        .logo-container .light-logo img{
            max-width:160px;
            width:100%
        }
        .logo-container .daihatsu-logo img{
            max-width:160px;
            width:100%;
        }
        .link-container{
            font-weight: 600;
            font-size:0.875em;
            margin-bottom:30px;
        }
        .index02 .billboard-container{
            padding:0;
            width:85%;
            margin:0 auto;
        }
        .index02 .billboard{
            margin-bottom:30px;
        }
        .index02 .billboard-container .billboard figure {
            padding-top: 30px;
        }
        p {
            line-height:1.7;
            font-size: 0.7em;
            font-weight: 600;
            margin:5px auto 40px;
        }
        h2 {
            font-weight: 700;
            font-size: 1.3em;
            line-height: 1.6;
            margin:0 auto 30px;
            letter-spacing: 0.08em;
        }
        .present-box{
            margin: 30px auto 60px;
        }
        .present-box figure:first-of-type {
            margin-bottom: 20px;
        }
        .special-package figure:first-of-type {
            margin-bottom: 40px;
        }
        .special-package figure:nth-of-type(2) {
            margin-bottom: 40px;
        }
        .course-box {
            flex-wrap:nowrap;
            gap:1.4em;
            margin:0 auto 80px;
        }
        .course-box > figure{
            max-width:210px;
            width:80%;
            margin:0;
            }
        .container iframe{
            width:100%;
            height:350px;
            margin:50px auto 60px;
        }
        a.fair-info-button{
            font-size:1.1em;
            font-weight:700;
            padding:0.6em 1.4em;
            max-width:450px;
            width:100%;
            border-radius: 15px;
            margin:0 auto 100px;
            box-shadow: 4px 4px #231815;
            transition: 0.2s ease-in-out;
        }
        .store-list h2 {
            font-size: 1.2em;
            line-height:1.8;
            margin-top: 60px;
            margin-bottom: 25px;
        }
        .index02 .container::before{
            position: fixed;
            background-size: contain;
            background-position: left top;
            height:100vh;
        }
        .index02 .container::after{
            position: fixed;
            background-size: contain;
            background-position: right top;
            height:100vh;
        }
        span.flyer-button a{
            width:100%;
            margin:0 auto;
            color:#fff;
            font-weight:900;
            font-size:1.25em;
            letter-spacing: 0.08em;
            line-height:1.4;
            background:#cf111b;
            border:2px solid #fff;
            box-shadow: 8px 8px 10px 0px rgba(25,25,25,0.3);
            padding:1em 1em;
            position: relative;
            z-index:10;
        }
        span.flyer-button a:hover{
           text-decoration: none;
        }
        span.flyer-button a::before{
            content:'';
            display: inline-block;
            max-width: 485px;
            width:100%;
            height: 45px;
            border-radius: 50% / 0 0 100% 100%;
            background: #e60012;
            position: absolute;
            left:50%;
            transform: translate(-50%);
            top:0px;
            z-index:-10;
        }
        span.flyer-button{
            padding-top:30px;
            margin:0 auto;
        }
        span.flyer-button::before{
            content:'';
            display: inline-block;
            vertical-align: middle;
            background-color: #fff;
            line-height: 1;
            position:absolute;
            right:20px;
            top:65%;
            transform: translateY(-50%);
            width: 20px;
            height:20px;
            border-radius: 50%;
            z-index: 20;
        }
        span.flyer-button::after{
            content: '\e5df';
            font-family:"Material Symbols Outlined";
            color: #cf111b;
            transform: translateX(15%);
            position: absolute;
            right:15px;
            top:65%;
            transform: translateY(-50%);
            z-index: 20;
            font-size:1.8em;
          }
        .store-list ul{
            margin:0 auto;
            gap:15px 0;
        }
        .store-list ul li{
        width:calc((100% - 15px) / 2);
        padding:10px 12px 13px;
        border-radius:10px;
        text-align: left;
        }
        .store-list ul a{
            font-size:1em;
            color:var(--link-color);
            font-weight: 600;
        }
        .store-list ul li p{
        text-align: left;
        font-weight: 500;
        font-size:0.8em;
        margin:5px 0 0;
        }
        a.fair-info-button::after{
            font-size:1.4em;
            top:54%; right:8px;
            transform: translateY(-50%);
        }
        .index02 footer {
            padding: 20px 0 30px;
        }
        footer .link-container{
            margin:0 auto;
            padding-bottom:5px;
        }
        footer .link-container a{
        font-weight: 500;
        font-size:0.875em;
        color: #333;
        }
        
}