/* 海外版 */
/* =========================
   GLOBAL HEADER RESET
========================= */
body{
  margin:0;
  padding:0;
}
.header{
  padding:0 !important;
  margin:0 !important;

  background:#fff !important;

  border-bottom:3px solid #d6001c;
}

.header .inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;

  max-width:1200px;
  margin:0 auto;

  height:56px;

  padding:0 24px;
}
.logo_box{
  margin:0 !important;
  padding:0 !important;
  width:auto !important;

  flex-shrink:0;
}

.logo_box a{
  display:block;
}

.logo_box,
.gnav ul,
.gnav li,
.gnav a{
  margin:0;
  padding:0;
}

.logo_box{
  margin:0 !important;

  line-height:1;
}

.logo_box img{
  height:30px;

  width:auto;

  display:block;
}

/* =========================
   PC MENU
========================= */

/* 旧 */
/*
.gnav{
  background:none !important;
  margin:0 auto;
  width:auto !important;
}
*/

/* 新 */
.gnav{
  background:none !important;

  margin-left:auto;

  width:auto !important;
}


/* 旧 */
/*
.gnav ul{
  display:flex !important;
  align-items:center;
  gap:40px;
  margin:0;
  padding:0;
}
*/

/* 新 */
.gnav ul{
  display:flex !important;

  align-items:center;
  justify-content:flex-end;

  gap:48px;

  margin:0;
  padding:0;
}


.gnav li{
  list-style:none;

  position:relative;
}


.gnav a{
  color:#222 !important;

  text-decoration:none;

  font-weight:600;

  font-size:16px;

  line-height:1;
}


.gnav .menu{
  display:none;
}


/* =========================
   LANGUAGE
========================= */

.language{
  position:relative;
}

.language > a{
  display:block;
  line-height:1;
}


/* =========================
   LANGUAGE DROPDOWN
========================= */

.language .menu{
  display:none !important;

  position:absolute;
  top:52px !important;

  left:50%;
  right:auto;

  transform:translateX(-50%);

  width:180px;

  margin:0;
  padding:0;

  background:#fff !important;
  border:1px solid #ddd;

  box-shadow:0 5px 15px rgba(0,0,0,0.08);

  z-index:999;
}

.language:hover .menu{
  display:block !important;
}

.language .menu_inner{
  display:block !important;

  margin:0 !important;
  padding:0 !important;

  background:#fff !important;
}

.language .menu_inner li{
  width:100%;

  margin:0 !important;
  padding:0 !important;

  list-style:none;

  border-bottom:1px solid #eee;

  background:#fff !important;

  white-space:nowrap;
}

.language .menu_inner li:last-child{
  border-bottom:none;
}

.language .menu_inner li a{
  display:block;

  height:auto !important;

  padding:14px 16px !important;

  color:#222 !important;
  background:#fff !important;

  font-size:14px;
  line-height:1.4;

  text-decoration:none;
}

.language .menu_inner li a:hover{
  background:#f5f5f5 !important;
  color:#d6001c !important;
}


/* =========================
   SP
========================= */

.sp_menu{
  display:none;
}

.sp_menu.open{
  display:block;
}


@media screen and (max-width:768px){

  .pc{
    display:none !important;
  }

  .header .inner{
    height:64px;

    padding:0 20px;
  }

}


@media screen and (min-width:769px){

  .sp{
    display:none !important;
  }

}


/* =========================================
   GLOBAL FOOTER
========================================= */

.footer_global{
  padding:40px 0;
  background:#fff;

  border-top:3px solid #d6001c;
}

.footer_inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 40px;
}

.footer_top{
  display:flex;
  align-items:center;
  justify-content:space-between;

  padding-bottom:30px;

  border-bottom:1px solid #ddd;
}

.footer_nav{
  display:flex !important;

  align-items:center;
  justify-content:flex-end;

  gap:48px;

  margin:0;
  padding:0;
}

.footer_nav a{
  color:#222 !important;

  text-decoration:none;

  font-weight:600;

  font-size:16px;

  line-height:1;
}

.footer_copy{
  padding-top:20px;

  text-align:center;

  font-size:13px;
  color:#777;
}


.footer_like{
  position:relative;
}

.footer_like .header{
  position:relative !important;
  top:auto !important;
}

.copy{
  padding:20px 0 40px;

  text-align:center;

  font-size:13px;

  color:#777;
}


/* =========================================
   PRODUCT SECTION
========================================= */

.product_section{
  max-width:1200px;

  margin:48px auto 80px;

  padding:0 60px 40px;

  background:linear-gradient(
    to bottom,
    #f9f9f9,
    #f3f3f3
  );

  border-radius:8px;
}

/* =========================================
   MAIN TITLE
========================================= */

.main_title{
  max-width:1200px;

  margin:0 auto 100px;

  font-size:56px;
  font-weight:800;
  line-height:1.3;

  color:#111;
}


/* =========================================
   PRODUCT BLOCK
========================================= */

.product_block{
  margin-bottom:80px;
}
/* =========================================
   SECTION TITLE
========================================= */

.product_group_title{
  position:relative;

  margin:80px 0 48px;

  text-align:center;

  font-size:42px;
  font-weight:700;

  color:#111;
}

.product_group_title:first-of-type{
  margin-top:0;
}

.product_group_title::after{
  content:"";

  display:block;

  width:60px;
  height:3px;

  margin:16px auto 0;

  background:#d6001c;
}


/* =========================================
   CARD LAYOUT
========================================= */

.card-container{
  display:grid;

  grid-template-columns:repeat(5, 1fr);

  gap:24px;
}


/* =========================================
   CARD
========================================= */

.card{
  background:rgba(255,255,255,0.92);

  border:1px solid rgba(255,255,255,0.7);

  backdrop-filter:blur(10px);

  box-shadow:
    0 10px 30px rgba(0,0,0,0.05),
    0 1px 0 rgba(255,255,255,0.8) inset;

  padding:20px 22px 18px;

  text-align:center;

  min-height:260px;
  min-width:0;

  border-radius:14px;

transition:
  transform 0.3s ease,
  box-shadow 0.3s ease,
  filter 0.3s ease;
}

.card:hover{
  transform:translateY(-8px);

  box-shadow:
    0 28px 60px rgba(0,0,0,0.16),
    0 8px 20px rgba(0,0,0,0.08);

  border:1px solid rgba(255,255,255,1);

  filter:brightness(1.02);
}


.card_img{
  width:100%;

  height:120px;

  margin:0 0 10px;

  display:flex;
  align-items:center;
  justify-content:center;

}


.card_img img{
  width:120px;
  height:100px;

  object-fit:contain;

  display:block;

  margin:0 auto;
}

.card h3{
  margin:0 0 14px;

  font-size:17px;
  font-weight:700;

  line-height:1.3;
}


.card h3 a{
  color:#111;

  text-decoration:none;
}


.card h3 a:hover{
  color:#d6001c;
}


.card p{
  margin:0;

  font-size:15px;
  line-height:1.9;

  color:#444;
}

/* =========================================
   TABLET
========================================= */

@media screen and (max-width:1024px){

  .card-container{
    grid-template-columns:repeat(2, 1fr);
  }

}


/* =========================================
   SP
========================================= */

@media screen and (max-width:768px){

  .card-container{
    grid-template-columns:1fr;
  }

}


/* =========================================
   SP
========================================= */

@media screen and (max-width:768px){

  .card{
    width:100%;

    flex-direction:column;

    align-items:flex-start;
  }

  .card_img{
    width:100%;

    margin:30px 0 0;

    text-align:center;
  }

  .main_title{
    font-size:34px;
  }

.product_group_title{
  position:relative;

  margin:80px 0 48px;

  text-align:center;

  font-size:42px;
  font-weight:700;

  color:#111;
}

}


/* =========================================
   HERO
========================================= */

.hero{
  width:1200px;

  height:460px;

  margin:-50px auto 0;

  background:url("https://myway-gb.com/dev/img/top_banner.jpg")
  center center / cover no-repeat;

  overflow:hidden;

  border-radius:8px;
}

.main_top{
  padding-top:0 !important;
}

.container{
  padding-top:0 !important;
  margin-top:0 !important;
}
.header{
  margin-bottom:0 !important;
}
.hero_inner{
  max-width:1200px;

  height:100%;

  margin:0 auto;

  padding:0 60px;

  display:flex;
  align-items:center;
}


.hero_text{
  max-width:560px;

  padding:40px;

  background:rgba(255,255,255,0.72);

  backdrop-filter:blur(2px);
}


.hero_sub{
  margin:0 0 20px;

  color:#d6001c;

  font-size:16px;
  font-weight:700;

  letter-spacing:0.08em;
}


.hero_title{
  margin:0 0 28px;

  font-size:58px;
  font-weight:800;

  line-height:1.1;

  color:#111;
}


.hero_desc{
  margin:0;

  font-size:18px;
  line-height:1.9;

  color:#555;
}


/* =========================================
   SP
========================================= */

@media screen and (max-width:768px){

  .hero{
    height:520px;

    background:url("https://myway-gb.com/dev/img/top-banner.png")
    center right -240px / cover no-repeat;
  }

  .hero_inner{
    padding:0 20px;
  }

  .hero_text{
    max-width:100%;

    padding:24px;

    background:rgba(255,255,255,0.82);
  }

  .hero_sub{
    margin:0 0 14px;

    font-size:11px;

    letter-spacing:0.08em;
  }

  .hero_title{
    margin:0 0 20px;

    font-size:36px;

    line-height:1.12;
  }

  .hero_desc{
    font-size:14px;

    line-height:1.8;
  }

}

/* =========================================
   CATEGORY BANNER
========================================= */

.category_banner{
  margin:0 -60px 40px;

  overflow:hidden;

  border-radius:16px 16px 0 0;
}

.category_banner img{
  width:100%;

  display:block;
}


.header.nav-fixed{
  position:relative !important;

  min-height:0 !important;
  height:auto !important;

  padding:0 !important;
  margin:0 !important;
}

.header.nav-fixed .inner{
  height:56px !important;

  min-height:0 !important;

  padding:0 24px !important;
}

.wrapper,
.main_top,
.container,
article{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* =========================================
   COOKIE BANNER
========================================= */

#cookie_banner{

    position:fixed;

    left:20px;
    right:20px;
    bottom:20px;

    background:#111;

    color:#fff;

    padding:20px 24px;

    border-radius:10px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    z-index:9999;

    box-shadow:0 10px 30px rgba(0,0,0,0.2);
}

#cookie_banner p{

    margin:0;

    font-size:14px;

    line-height:1.7;
}

#cookie_accept{

    background:#d6001c;

    color:#fff;

    border:none;

    padding:12px 24px;

    border-radius:6px;

    cursor:pointer;

    font-weight:700;

    white-space:nowrap;
}

#cookie_accept:hover{

    opacity:0.85;
}


/* SP */

@media screen and (max-width:768px){

#cookie_banner{

    flex-direction:column;

    align-items:flex-start;

    left:12px;
    right:12px;
    bottom:12px;
}

#cookie_accept{

    width:100%;
}

}