@charset "utf-8";

/*==================================================
PETIT RUBAN BRAND PAGE
==================================================*/

:root{
  --pink:#e9546b;
  --brown:#622d18;
  --text:#4a4a4a;
  --bg:#fffaf8;
  --line:#f2d8dd;
}

/*==============================
Reset
==============================*/

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  background:#fff;
  color:var(--text);
  font-size:16px;
  line-height:2;
  font-family:
  "Yu Gothic",
  "YuGothic",
  "Hiragino Kaku Gothic ProN",
  sans-serif;
  font-weight:500;
  -webkit-text-size-adjust:100%;
}

img{
  display:block;
  width:100%;
  height:auto;
}

a{
  color:inherit;
  text-decoration:none;
  transition:.3s;
}

ul{
  list-style:none;
}

/*==============================
Layout
==============================*/

.petit-brand{
  overflow:hidden;
}

.petit-brand section{
  padding:110px 0;
}

.inner{
  width:min(1100px,90%);
  margin:0 auto;
}

.narrow{
  width:min(820px,90%);
  margin:0 auto;
}

/*==============================
Section Title
==============================*/

.section-title{
  text-align:center;
  margin-bottom:70px;
}

.section-title span{
  display:block;
  color:var(--pink);
  font-size:14px;
  letter-spacing:.18em;
  font-weight:700;
  text-transform:uppercase;
}

.section-title h2{
  margin-top:12px;
  color:var(--brown);
  font-size:40px;
  line-height:1.4;
  font-weight:700;
}

.section-title h2::after{
  content:"";
  display:block;
  width:70px;
  height:3px;
  background:var(--pink);
  margin:22px auto 0;
  border-radius:10px;
}

.section-lead{
  max-width:720px;
  margin:28px auto 0;
  color:#666;
  font-size:17px;
}

/*==============================
Hero
==============================*/

.hero{
  padding-top:0!important;
  padding-bottom:100px;
}

.hero-image img{
  border-radius:0 0 24px 24px;
}

.hero-copy{
  max-width:900px;
  margin:70px auto 0;
  text-align:center;
}

.hero-copy h1{

  color:var(--pink);

  font-size:36px;

  line-height:1.55;

  font-family:
  "M PLUS Rounded 1c",
  "Hiragino Maru Gothic ProN",
  sans-serif;

  font-weight:700;

  letter-spacing:.02em;

  margin-bottom:36px;

}

.hero-copy p{

  max-width:760px;

  margin:0 auto 18px;

  font-size:18px;

  color:#555;

}
/*==================================================
ABOUT
==================================================*/

.about{
    background:var(--bg);
}

.about .brand-logo{
    width:360px;
    margin:0 auto 50px;
}

.about-text{
    max-width:760px;
    margin:0 auto;
    text-align:center;
}

.about-text p{
    margin-bottom:22px;
    font-size:17px;
    color:#555;
}

.about-text p:first-child{
    font-size:20px;
    color:var(--brown);
    font-weight:700;
}


/*==================================================
STORY
==================================================*/

.story{
    background:#fff;
}

.story-photo{

    max-width:900px;

    margin:0 auto 55px;

}

.story-photo img{

    width:100%;

    border-radius:20px;

    box-shadow:0 18px 50px rgba(0,0,0,.08);

}

.story-content{

    max-width:820px;

    margin:0 auto;

}

.story-content p{

    margin-bottom:24px;

    font-size:17px;

    color:#555;

    text-align:left;

}

.story-content p:last-child{

    margin-bottom:0;

}

/*==================================================
PRODUCTS
==================================================*/

.products{
    background:var(--bg);
}

.product-item{

    max-width:900px;

    margin:0 auto 120px;

}

.product-item:last-child{
    margin-bottom:0;
}

.product-image{

    margin-bottom:40px;

}

.product-image img{

    border-radius:22px;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

}

.product-text{

    max-width:760px;

    margin:0 auto;

    text-align:center;

}

.product-text h3{

    color:var(--brown);

    font-size:34px;

    margin-bottom:22px;

    font-weight:700;

}

.product-text p{

    color:#555;

    font-size:17px;

    margin-bottom:35px;

}

.btn-more{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:220px;

    height:56px;

    border:2px solid var(--pink);

    border-radius:999px;

    color:var(--pink);

    font-weight:700;

    transition:.3s;

}

.btn-more:hover{

    background:var(--pink);

    color:#fff;

}


/*==================================================
LINEUP
==================================================*/

.lineup{

    background:#fff;

}

.lineup-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:22px;

}

.lineup-card{

    display:flex;

    align-items:center;

    justify-content:center;

    min-height:90px;

    border:2px solid var(--pink);

    border-radius:16px;

    background:#fff;

    color:var(--brown);

    font-weight:700;

    transition:.3s;

}

.lineup-card:hover{

    background:var(--pink);

    color:#fff;

    transform:translateY(-4px);

    box-shadow:0 10px 25px rgba(233,84,107,.2);

}


/*==================================================
BRAND MESSAGE
==================================================*/

.brand-message{

    background:var(--bg);

    text-align:center;

}

.brand-message h2{

    color:var(--brown);

    font-size:42px;

    line-height:1.6;

    margin-bottom:35px;

    font-family:
    "M PLUS Rounded 1c",
    "Hiragino Maru Gothic ProN",
    sans-serif;

}

.brand-message p{

    max-width:760px;

    margin:0 auto 22px;

    font-size:17px;

    color:#555;

}


/*==================================================
BACK BUTTON
==================================================*/

.back-list{

    padding:80px 0;

    text-align:center;

}

.btn-back{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:260px;

    height:58px;

    border-radius:999px;

    background:var(--brown);

    color:#fff;

    font-weight:700;

    transition:.3s;

}

.btn-back:hover{

    background:var(--pink);

}


/*==================================================
PAGE TOP
==================================================*/

.pagetop{

    text-align:center;

    padding:50px 0 70px;

}

.pagetop a{

    color:var(--brown);

    font-weight:700;

}

.pagetop a:hover{

    color:var(--pink);

}


/*==================================================
FOOTER
==================================================*/

footer{

    border-top:1px solid #eee;

    padding:30px 20px;

}

footer .copyright{

    text-align:center;

    color:#888;

    font-size:13px;

}


/*==================================================
RESPONSIVE
==================================================*/

@media screen and (max-width:768px){

.petit-brand section{

    padding:70px 0;

}

.hero-copy{

    margin-top:45px;

    padding:0 20px;

}

.hero-copy h1{

    font-size:32px;

}

.hero-copy p{

    font-size:16px;

}

.section-title{

    margin-bottom:50px;

}

.section-title h2{

    font-size:30px;

}

.section-lead{

    font-size:15px;

}

.about .brand-logo{

    width:260px;

}

.about-text p,

.story-content p,

.product-text p,

.brand-message p{

    font-size:15px;

}

.story-photo{

    margin-bottom:35px;

}

.product-item{

    margin-bottom:80px;

}

.product-text h3{

    font-size:28px;

}

.btn-more{

    width:100%;

}

.lineup-grid{

    grid-template-columns:repeat(2,1fr);

    gap:14px;

}

.lineup-card{

    min-height:72px;

    font-size:15px;

}

.brand-message h2{

    font-size:30px;

}

.btn-back{

    width:100%;

}

}
