@charset 'UTF-8';
/*
*{
    outline: 2px red solid;
}
*/
/*
Reset
================================================ */
body, section, div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, table, th, td, figure {
    margin: 0;
    padding: 0;
}
a{ text-decoration: none;}

/*
COLORS
================================================ */
:root {
    --pink: #f9e3dc;
    --beige: #fff5e1;
    --orane: orange;
    --red: #e8355d;
    --pure_red: #fe0104;
    --blue: #0b92c9;
    --green: #019946;
    --yellow: #fff001;
    --white: #fff;
}

/*
GENERAL STYLING
================================================ */
html {
    font-size: 100%;
    scroll-behavior: smooth;
}
body {
	font-family: sans-serif;
    margin: 0;
    padding: 0;
    font-feature-settings: "palt";
}
img{ width: 100%;}
ul{
    margin: 0;
    padding:0;
    list-style: none;
}
a{ color: var(--white);}

/*
COMMON
================================================ */
img {
    width: 100%;
}
/* Layout */
.wrapper {
    max-width: 1200px;
    width: 92%;
    margin: 0 auto;
    padding: 1rem 4%;
}

button{
    border: none;
    outline: none;
    background: transparent;
    margin: 0 auto 2rem;
    padding: 0;
    transition: all 1s ease;
    width: 80%;
}
button:hover{
    cursor: pointer;
    transform: scale(0.9);
}

/*
HEADER
================================================ */
#header {
    background: url(../img/header_pct.jpg) no-repeat top center / cover;
    background-size: 100% auto;
    background-color: var(--pink);
    width: 100%;
    margin: 0;
    padding-top: 56%;
    text-align: center;
}
#header button{
    margin: 0;
    padding: 0;
}
/*
present
================================================ */
#present{
    padding: 1rem 0;
    background-color: var(--beige);
}
#present .wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
}

/*
box
================================================ */
.box dl{
    margin: 1rem 1rem 2rem 0;
}
.box dd{
    padding-bottom: .4rem;
    border-bottom: var(--orane) solid 1px;
}
.box dd span{
    font-size: 1.5rem;
    font-weight: 700;
}


/*
book
================================================ */
#book{
    background-size: auto auto;
    background-color: rgba(207, 236, 250, 1);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 4px, rgba(194, 230, 250, 1) 4px, rgba(194, 230, 250, 1) 8px );
}
#book .wrapper{
    display: flex;
    justify-content: space-between;
    margin-top: -2rem;
    padding: 2rem 0;
}
#book .wrapper img{
    width: 100%;
}
#book .wrapper .book_contents{
    display: flex;
    flex-direction: column;
}
#book ul{
    flex-direction: column;
}
#book li{
    margin-top: .4rem;
    padding-bottom: .8rem;
    border-bottom: var(--red) dotted 2px;
}
#book li .asr{
    font-weight: 700;
    text-indent: -1em;
    padding-left: 1em;
}
#book li .asr span{
    color: var(--red);
}
#book li:last-child{
    border-bottom: none;
}
#book .s_txt{
    font-size: .75rem;
}
#book .price{
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

/*
feat
================================================ */
#feat{
    background-color: var(--beige);
    text-align: center;
}
#feat h2{
    transform: scale(0.7);
}
#feat .catch_txt{
    margin: 0 auto 1rem;
    font-size: 1.5rem;
    font-weight: 700;
}

#feat .box_g{
    margin: 1rem auto 2rem;
    background-color: var(--white);
    border: var(--green) solid 5px;
    border-radius: 15px;
    color:   var(--green);
    font-weight: bold;
}
#feat .box_g .box_feat_ttl{
    padding: .4rem;
    background-color: var(--green);
    color: var(--white);
    font-size: 1.25rem;
    font-weight: 700;
}

#feat .box_b{
    margin: 1rem auto 2rem;
    background-color: var(--white);
    border: var(--blue) solid 5px;
    border-radius: 15px;
    font-weight: bold;
}
#feat .box_b .box_feat_ttl{
    padding: .4rem;
    background-color: var(--blue);
    color: var(--white);
    font-feature-settings: "palt";
    font-size: 1.25rem;
    font-weight: 700;
}

#feat .box_g .box_feat_ttl .ttl_SP{
    display: block;
}
#feat .box_g .box_feat_contents,
#feat .box_b .box_feat_contents div{
    padding: 1rem;
    display: flex;
    gap: 1rem;
    text-align: left;
}
#feat .box_b .box_feat_contents dl{
    width: calc(100% / 2);
}
#feat .box_b .box_feat_contents dt{
    margin-bottom: 1rem;
    border: var(--blue) 1px solid;
    color: var(--blue);
    font-size: 90%;
    text-align: center;
}
#feat .box_b .box_feat_contents dd{
    text-align: center;
}
#feat .box_b .box_feat_contents dd #b_pct02{
    width: 80%;
}
#feat .box_g .box_feat_contents p,
#feat .box_b .box_feat_contents p{
    text-align: left;
    margin-bottom: 1rem;
}
#feat .box_b .box_feat_contents p{
    padding: 1rem;
}
#feat .box_g .box_feat_contents span{
    background-color: var(--yellow);
    color: var(--red);
}
#feat .box_b .box_feat_contents span{
    color: var(--pure_red);
    font-size: 120%;
}

/*
inquiry
================================================ */
#inq{ text-align: center;}
#inq h2{
    transform: scale(0.65);
}
#inq button{
    margin-bottom: -2rem;
    width: 85%;
}
#inq .txt01{
    margin: 2rem 0;
}
#inq .box_pdf{
    margin: 2rem 0;
    display: flex;
    gap: 1rem;
}
#inq ul{
    transform: scale(0.7);
}
#inq span{
    color: var(--blue);
}
#inq li.txt_b{
    font-size: 1.75rem;
    font-weight: 700;
}
#inq li:nth-child(3){
    margin-top: 1rem;
}

/*
lineup
================================================ */
#lineup{
    padding: 1rem 0;
    background-color: var(--beige);
    text-align: center;
}
#lineup h2{
    transform: scale(0.8);
}

#lineup .parent {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-template-rows: auto;
    grid-column-gap: 1.5rem;
    grid-row-gap: 1rem;
}
    
    .div1 { grid-area: 1 / 1 / 2 / 2; }
    .div2 { grid-area: 1 / 2 / 2 / 3; }
    .div3 { grid-area: 1 / 3 / 2 / 4; }
    .div4 { grid-area: 2 / 1 / 3 / 2; }
    .div5 { grid-area: 2 / 2 / 3 / 3; }
    .div6 { grid-area: 2 / 3 / 3 / 4; }

/*
#lineup .parent {
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(5, 1fr);
    grid-template-rows: auto;
    grid-column-gap: 1.5rem;
    grid-row-gap: 1rem;
    width: 100%;
     }
        
        .div1 { grid-area: 1 / 1 / 2 / 2; }
        .div2 { grid-area: 1 / 2 / 2 / 3; }
        .div3 { grid-area: 1 / 3 / 2 / 4; }
        .div4 { grid-area: 2 / 1 / 3 / 2; }
        .div5 { grid-area: 2 / 2 / 3 / 3; }
        .div6 { grid-area: 2 / 3 / 3 / 4; }
        .div7 { grid-area: 3 / 1 / 4 / 2; }
        .div8 { grid-area: 3 / 2 / 4 / 3; }
        .div9 { grid-area: 3 / 3 / 4 / 4; }
*/
#lineup p.date{
    color: black;
    text-align: left;
}            


/*
page_top
================================================ */
#page_top{
	width: 50px;
	height: 50px;
	position: fixed;
	right: 20px;
	bottom: 10PX;
	opacity: 0.6;
	border-radius: 50%;
	z-index: 100;
}
#page_top a{
	position: relative;
    align-items: flex-start;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}

#page_top a::before{
	position: absolute;
	width: 25px;
	height: 25px;
	top: -20px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}
#page_top a:hover{
      opacity:inherit;
      transform: translateY(-5px);
      cursor: pointer;
  }


/*
FOOTER
================================================ */
footer {
    background: var(--blue);
    color: var(--white);
    padding: 1rem 0;
    text-align: center;
    font-size: .75rem;
}
footer .wrapper{
    display: flex;
    justify-content: space-between;
}


/*
DESKTOP SIZE
================================================ */
@media (min-width: 600px) {
    body { font-size: 160%; }
    #header{
		background: url(../img/header_pct.jpg) no-repeat top center / cover;
        background-size: 100% auto;
        background-color: var(--pink);
	}
    button{ width: 100%;}
    #header button{
        margin: -2rem 0 4rem;
        
    }
    #book{ padding: 2rem 0;}
    #book .book_contents{ width: 60%;}
    #book figure{ width: 38%;}
    #book ul{ margin-top: -4rem;}
    #book li{ padding: 1rem 0;}
    #book .s_txt{
        font-size: 1rem;
    }
    .box dd span{
        font-size: 2rem;
    }

    #feat .feat_pct{
        margin: 0 auto;
        width: 85%;
        text-align: center;
    }
    #feat p img{ 
        width: 80%;
    }
    #feat .box_g,
    #feat .box_b{
        margin: 4rem auto;
        width: 60%;
        font-size: 120%;
    }
    #feat .box_g .box_feat_ttl,
    #feat .box_b .box_feat_ttl{
        font-size: 2rem;
    }
    #feat .box_g .box_feat_ttl .ttl_SP,
    #feat .box_b .box_feat_ttl .ttl_SP{
        display: none;
    }
    #feat .box_g .box_feat_contents,
    #feat .box_b .box_feat_contents{
        padding: 1rem 1.5rem;
    }
    #feat .box_b .box_feat_contents div{
        
        justify-content: space-between;
    }
    #feat .box_g .box_feat_contents p{
        margin-top: 1rem;
        font-size: 2.2rem;
    }
    #inq button{
        width: 75%;
    }
    #inq .box_pdf{
        margin: 0 auto;
        width: 80%;
    }
    #inq ul{
        font-size: 2rem;
    }
    #inq li.txt_b{
        font-size: 3.2rem;

    }
    #lineup{
        padding-top: 4rem;
    }
    #lineup .parent img{
        transform: scale(0.8);
    }
    #lineup p.date{
        margin-left: 2.8rem;

    }   
    footer{
        font-size: 1rem;
    }
}
