@charset "UTF-8";

/*----------------------------
  Reset
----------------------------*/
html,
body,
div,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
p,
a,
span,
input,
select {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

ul,
ol {
  list-style: none;
}

a {
  color: #000 !important;
  text-decoration: none !important;
  transition-duration: .4s;
}

a:hover {
  opacity: .6;
}

img {
  display: block;
  max-width: 100%;
  width: 100%;
}

sup {
  font-size: 80%;
}

html {
  overflow-x: hidden;
  font-size: 62.5%;
}

body {
  overflow-x: hidden;
  color: #000;
  font-size: 1.6rem;
  line-height: 1.6;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-weight: 100;
  /* font-weight: 700; */
  font-feature-settings: 'palt';
}

/*----------------------------
  Layout
----------------------------*/
.full-width {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

#container .contents {
  margin-top: 63px;
}

#container .inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 40px;
}

#container .inner.wide {
  max-width: 1400px;
}

#container .ff_zenkaku {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-weight: 500;
}

#container .btn_more_w {
  display: inline-block;
  color: #fff !important;
  font-size: 1.8rem;
  letter-spacing: .2em;
  padding: 1rem 5rem 1rem 3rem;
  background: #1e1f22 url(../img/arrow_wr01.png) no-repeat center right 1.5rem / 2rem;
}

#container .btn_more_w:hover {
  background-color: #d8a001;
  opacity: 1;
}

#container .btn_more_b {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: .2em;
  padding: .5rem 5rem;
  border: 1px solid #000;
  position: relative;
}

#container .btn_more_b::before {
  content: '';
  width: 55%;
  height: auto;
  aspect-ratio: 171 / 10;
  background: url(../img/arrow_br01.png) no-repeat center / contain;
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translate(100%, -100%);
}

#container .btn_more_b:hover {
  font-weight: normal;
  color: #fff !important;
  background-color: #1e1f22;
  opacity: 1;
}

#container .btn_blank {
  display: inline-block;
  color: #fff !important;
  font-size: 1.8rem;
  letter-spacing: .2em;
  padding: 1rem 5rem 1rem 3rem;
  background: #2a518e url(../img/blank_icon.png) no-repeat center right 1.5rem / 1.8rem;
}

#container .btn_blank:hover {
  background-color: #d8a001;
  opacity: 1;
}

/* header */
#header {
  width: 100%;
  height: 63px;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

#header .header_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#header .logo {
  max-width: 218px;
  margin-left: 6rem;
  padding-top: 1.5rem;
}

#header .menu_list {
  padding-top: 1.5rem;
  display: flex;
  align-items: flex-start;
}

#header .menu_list li {
  margin-right: 1.8rem;
}

#header .menu_list li:not(:last-child) {
  padding-right: 1.8rem;
  border-right: 1px solid #000;
}

#header .header_btn {
  width: 22rem;
}

#header .btn_sharp span {
  width: 100%;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

#header .btn_sharp span img {
  max-width: 131px;
}

/* #header .btn_store a { width: 100%; height: 4.6rem; padding: .4rem 0 0 3.2rem; background: #1e1f22 url(../img/online_icon_w.png) no-repeat top 1.1rem left 1rem / 28px; display: flex; justify-content: center; align-items: center; } */
#header .btn_store a {
  width: 100%;
  height: 4.6rem;
  background-color: #1e1f22;
  display: flex;
  justify-content: center;
  align-items: center;
}

#header .btn_store a:hover {
  background-color: #d8a001;
  opacity: 1;
}

#header .btn_store a img {
  max-width: 100%;
}

/* onlinestore */
#header.onlinestore {
  height: 90px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d6d6d7;
}

#header.onlinestore .header_wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
}

#header.onlinestore .header_btn {
  width: 15rem;
}

#header.onlinestore .logo {
  margin: 0;
}

#header.onlinestore .menu_list li:not(:last-child) {
  padding-right: 0;
  border-right: none;
}

#header .btn_regist a {
  color: #fff;
  width: 100%;
  height: 4.6rem;
  background-color: #1e1f22;
  display: flex;
  justify-content: center;
  align-items: center;
}

#header .btn_regist a:hover {
  background-color: #d8a001;
  opacity: 1;
}

#header .btn_cart {
  position: absolute;
  bottom: .5rem;
  right: 21rem;
}

#header .btn_cart a {
  width: 3.8rem;
  font-size: 1.2rem;
  line-height: 1;
  height: auto;
  aspect-ratio: 1 / 1;
  background: url(../img/online_icon_b.png) no-repeat left 30% top / 60%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

#header .btn_entry {
  position: absolute;
  bottom: .5rem;
  right: 26rem;
  padding-right: 1.5rem;
  border-right: 1px solid #d6d6d7;
}

#header .btn_entry a {
  width: 4.8rem;
  font-size: 1.2rem;
  line-height: 1;
  height: auto;
  aspect-ratio: 1.2 / 1;
  background: url(../img/entry_icon_b.png) no-repeat center top / 60%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

#header .btn_brandsite {
  position: absolute;
  top: .5rem;
  right: 25rem;
}

#header .btn_brandsite a.btn_more_w {
  color: #000;
  font-size: 1.4rem;
  padding: .5rem 3.5rem .5rem 1rem;
  background: #fff url(../../../assets/img/arrow_br01.png) no-repeat center right 1rem / 1.6rem;
  border: 1px solid #000;
}

#header .btn_brandsite a:hover {
  color: #fff;
  background-color: #000;
  background-image: url(../img/arrow_wr01.png);
  opacity: 1;
}

#header .logo_wrap {
  display: flex;
  align-items: flex-end;
}

#header .logo_wrap .link {
  margin-left: 2rem;
  line-height: 1;
}

/* footer */
#footer {
  background-color: #fff;
  padding: 0 0 3rem;
  position: relative;
}

#footer .footer_wrap {
  position: relative;
}

#footer .btn_cocorostore {
  max-width: 300px;
  margin: 0 0 0 auto;
}

#footer .footer_link_sub li {
  margin: 0 !important;
}

#footer .footer_link {
  margin-top: 4rem;
  display: flex;
  justify-content: center;
}

#footer .footer_link li {
  margin-right: 1.8rem;
}

#footer .footer_link li:not(:last-child) {
  padding-right: 1.8rem;
  position: relative;
}

#footer .footer_link li:not(:last-child)::after {
  content: '';
  width: 1px;
  height: 60%;
  background-color: #000;
  position: absolute;
  top: 20%;
  right: 0;
}

#footer .footer_link a {
  font-size: 1.6rem;
}

#footer .copy {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 3rem;
}

#footer .footer_top {
  background-color: #e9eaec;
  padding: 3rem 0;
}

#footer .footer_top .footer_wrap {
  display: flex;
  justify-content: space-between;
}

#footer .footer_top .footer_link_sub {
  width: calc(100% / 3);
  padding: 1rem 3rem 0;
  border-right: 1px solid #d2d1cf;
}

#footer .footer_top .footer_link_sub:first-of-type {
  border-left: 1px solid #d2d1cf;
}

#footer .footer_top .footer_link_sub span {
  display: inline-block;
  padding: 1rem 0 1rem 1.5rem;
  position: relative;
}

#footer .footer_top .footer_link_sub span::before {
  content: '■';
  font-size: 80%;
  position: absolute;
  top: .8rem;
  left: -0.5rem;
}

#footer .footer_top .footer_link_sub a {
  display: inline-block;
  padding: 1rem 0 1rem 1.5rem;
  background: url(../img/icon_br01.png) no-repeat center left / 5px;
}

#footer .footer_top .footer_link_sub img {
  width: auto;
  max-height: 13px;
}

/* btn_pagetop */
#btn_pagetop {
  position: absolute;
  top: -5rem;
  right: 0;
  z-index: 50;
}

#btn_pagetop.fix {
  position: fixed;
  top: auto;
  bottom: 5rem;
}

#btn_pagetop a {
  display: block;
  width: 5rem;
  height: auto;
  aspect-ratio: 1 / 1;
  background: #1e1f22 url(../img/arrow_wt01.png) no-repeat center / 20%;
}

#btn_pagetop a:hover {
  background-color: #d8a001;
  opacity: 1;
}

/* lower */
#headline {
  position: relative;
}

#headline .main_ttl {
  width: auto;
  height: 36px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#headline .main_ttl img {
  width: auto;
  height: 100%;
}

.breadcrumb {
  padding: 1.8rem 0;
  position: relative;
}

.breadcrumb::before {
  content: '';
  width: 17rem;
  height: .5rem;
  background-color: #575f6b;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.breadcrumb .breadcrumb_list {
  font-size: 1.4rem;
  font-weight: 100;
  display: flex;
}

.breadcrumb .breadcrumb_list li:not(:last-child) {
  margin-right: .5rem;
}

.breadcrumb .breadcrumb_list li:not(:last-child)::after {
  content: '＞';
  padding-left: .5rem;
}

.lowermenu {
  background: linear-gradient(180deg, transparent 0%, transparent 50%, #e9eaec 50%, #e9eaec 100%);
}

.lowermenu .lowermenu_list {
  display: flex;
  justify-content: center;
}

.lowermenu .lowermenu_list li {
  width: calc((100% - 3px) / 4);
}

.lowermenu .lowermenu_list a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.lowermenu .lowermenu_list .lowermenu_img {
  filter: brightness(60%)saturate(0%);
  transition-duration: .5s;
}

.lowermenu .lowermenu_list .lowermenu_ttl {
  height: auto;
  color: transparent;
  position: absolute;
  top: 50%;
  left: 3rem;
  transform: translateY(-50%);
  transition-duration: .5s;
}

.lowermenu .lowermenu_list .lowermenu_ttl.ttl_lineup {
  width: 148px;
  aspect-ratio: 193 / 28;
  background: url(../img/lowermenu_lineup.png) no-repeat center / contain;
}

.lowermenu .lowermenu_list .lowermenu_ttl.ttl_project {
  width: 129px;
  aspect-ratio: 167 / 93;
  background: url(../img/lowermenu_project.png) no-repeat center / contain;
}

.lowermenu .lowermenu_list .lowermenu_ttl.ttl_concept {
  width: 97px;
  aspect-ratio: 126 / 26;
  background: url(../img/lowermenu_concept.png) no-repeat center / contain;
}

.lowermenu .lowermenu_list .lowermenu_ttl.ttl_products {
  width: 102px;
  aspect-ratio: 133 / 23;
  background: url(../img/lowermenu_products.png) no-repeat center / contain;
}

.lowermenu .lowermenu_list .lowermenu_ttl.ttl_column {
  width: 86px;
  aspect-ratio: 113 / 23;
  background: url(../img/lowermenu_column.png) no-repeat center / contain;
}

.lowermenu .lowermenu_list .lowermenu_ttl.ttl_project::before {
  content: '';
  width: 60%;
  height: auto;
  aspect-ratio: 220 / 162;
  background: url(../../assets/img/project_txt.png) no-repeat center / 100%;
  transform: translate(80%, 5%);
  position: absolute;
  bottom: 0;
  right: 0;
}

.lowermenu .lowermenu_list a:hover {
  opacity: 1;
}

.lowermenu .lowermenu_list a:hover .lowermenu_img {
  filter: brightness(100%)saturate(100%);
}

.lowermenu .lowermenu_list a:hover .lowermenu_ttl.ttl_lineup {
  background-image: url(../img/lowermenu_lineup_act.png);
}

.lowermenu .lowermenu_list a:hover .lowermenu_ttl.ttl_project {
  background-image: url(../img/lowermenu_project_act.png);
}

.lowermenu .lowermenu_list a:hover .lowermenu_ttl.ttl_concept {
  background-image: url(../img/lowermenu_concept_act.png);
}

.lowermenu .lowermenu_list a:hover .lowermenu_ttl.ttl_products {
  background-image: url(../img/lowermenu_products_act.png);
}

.lowermenu .lowermenu_list a:hover .lowermenu_ttl.ttl_column {
  background-image: url(../img/lowermenu_column_act.png);
}

#container .lowermenu .inner {
  padding: 0;
}

/*----------------------------
  PC
----------------------------*/
@media screen and (min-width: 768px) {
  .sp_display {
    display: none !important;
  }

  #header.onlinestore .menu_list li:nth-child(2) {
    padding-right: 0;
    border-right: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  #container .btn_more_w {
    font-size: 1.5vw;
  }

  #container .btn_more_b {
    font-size: 1.5vw;
  }

  #header .logo {
    margin-left: 5vw;
    padding-right: 1.6vw;
  }

  /* #header .btn_store a { background-size: 2.3vw; background-position: top 1.2rem left .9vw; } */
  #footer .footer_top .footer_link_sub a {
    padding: .8vw 0 .8vw 1.5rem;
  }

  #footer .footer_top .footer_link_sub img {
    max-height: 1vw;
  }

  #footer .footer_link li {
    margin-right: 1.5vw;
  }

  #footer .footer_link li:not(:last-child) {
    padding-right: 1.5vw;
  }

  #footer .footer_link a {
    font-size: 1.3vw;
  }

  #footer .copy {
    font-size: 1.16vw;
  }

  #headline .main_ttl {
    height: 3vw;
  }

  .breadcrumb::before {
    width: 14vw;
    height: .4vw;
  }

  .breadcrumb .breadcrumb_list {
    font-size: 1.16vw;
  }

  .lowermenu .lowermenu_list .lowermenu_ttl.ttl_lineup {
    width: 12.3vw;
  }

  .lowermenu .lowermenu_list .lowermenu_ttl.ttl_project {
    width: 10.75vw;
  }

  .lowermenu .lowermenu_list .lowermenu_ttl.ttl_concept {
    width: 8vw;
  }

  .lowermenu .lowermenu_list .lowermenu_ttl.ttl_products {
    width: 8.5vw;
  }

  .lowermenu .lowermenu_list .lowermenu_ttl.ttl_column {
    width: 7.1vw;
  }
}

/*----------------------------
  SP
----------------------------*/
@media screen and (max-width: 767px) {
  .pc_display {
    display: none !important;
  }

  #container .contents {
    margin-top: 44px;
  }

  #container .inner {
    padding: 0 2.5rem;
  }

  #container .btn_more_w {
    font-size: 1.6rem;
  }

  #container .btn_more_b {
    font-size: 1.6rem;
  }

  #container .btn_more_b::before {
    width: 40%;
  }

  #container .btn_blank {
    font-size: 1.6rem;
  }

  /* header */
  #header {
    height: 44px;
  }

  #header .header_wrap {
    height: 100%;
    justify-content: center;
    position: relative;
  }

  #header .logo {
    max-width: 109px;
    margin: 0;
    padding: 0;
  }

  #header .menu_list_area {
    width: 100%;
    padding: 3rem 5rem 5rem;
    background-color: #1e1f22;
    display: block;
    position: fixed;
    top: 44px;
    right: -100%;
    transition-duration: .5s;
    z-index: 10;
  }

  #header .menu_list_area.active {
    right: 0;
  }

  #header .menu_list_area .btn_store_in {
    margin-top: 2rem;
  }

  /* #header .menu_list_area .btn_store_in a { width: 80%; height: 4.6rem; margin: 0 auto; padding: .4rem 0 0 3.2rem; background: #d8a001 url(../img/online_icon_w.png) no-repeat top 1.1rem left 1rem / 28px; display: flex; justify-content: center; align-items: center; } */
  #header .menu_list_area .btn_store_in a {
    width: 80%;
    height: 4.6rem;
    margin: 0 auto;
    background-color: #d8a001;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #header .menu_list_area .btn_store_in a img {
    max-width: 100%;
  }

  #header .menu_list {
    display: block;
    padding: 0;
  }

  #header .menu_list li {
    margin: 0;
    border-bottom: 1px solid #fff;
  }

  #header .menu_list li:not(:last-child) {
    padding-right: 0;
    border-right: none;
  }

  #header .menu_list a {
    width: 100%;
    padding: 2rem 0;
    display: block;
  }

  /* #header .menu_list li:nth-child(1) img {
    max-width: 228.5px;
  }

  #header .menu_list li:nth-child(2) img {
    max-width: 83.5px;
  }

  #header .menu_list li:nth-child(3) img {
    max-width: 91.5px;
  }

  #header .menu_list li:nth-child(4) img {
    max-width: 74px;
  } */

  #header .menu_list li:nth-child(1) img {
    max-width: 83.5px;
  }

  #header .menu_list li:nth-child(2) img {
    max-width: 91.5px;
  }

  #header .header_btn {
    width: auto;
  }

  #header .btn_sharp {
    position: absolute;
    top: 0;
    left: 0;
  }

  #header .btn_sharp span {
    width: 100%;
    height: auto;
    padding: .5em;
  }

  #header .btn_sharp span img {
    max-width: 49px;
  }

  #header .btn_store {
    width: auto;
    height: 100%;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 0;
    right: 44px;
  }

  #header .btn_store a {
    width: auto;
    height: 100%;
    padding: 0;
    background: #fff url(../img/online_icon_b.png) no-repeat center / 60%;
  }

  #header .btn_store a img {
    display: none;
  }

  #header .menu_btn {
    width: auto;
    height: 100%;
    aspect-ratio: 1 / 1;
    background: url(../img/menu_open.png) no-repeat center / 21px;
    position: absolute;
    top: 0;
    right: 0;
  }

  #header .menu_btn.active {
    background-image: url(../img/menu_close.png);
    background-size: 20px auto;
  }

  /* onlinestore */
  #header.onlinestore {
    height: 60px;
    padding-bottom: 0;
  }

  #header.onlinestore .logo {
    margin-left: 1.5rem;
  }

  #header.onlinestore .menu_list_area {
    top: 60px;
    padding: 1rem 5rem 2rem;
  }

  #header.onlinestore .menu_list li:last-child {
    border-bottom: none;
  }

  #header.onlinestore .menu_list a {
    color: #fff;
    font-size: 1.4rem;
    padding: 1.5rem .5rem;
  }

  #header.onlinestore .header_wrap {
    padding: 0;
    justify-content: space-between;
  }

  #header.onlinestore .header_btn {
    width: auto;
  }

  #header.onlinestore .btn_sharp {
    left: auto;
    right: 0;
  }

  #header .btn_regist {
    display: none;
    position: absolute;
    right: 14.5rem;
    bottom: 10px;
  }

  #header .btn_regist a {
    font-size: 1.2rem;
    height: auto;
    padding: .5rem 1rem;
  }

  #header .btn_cart {
    top: auto;
    bottom: 10px;
    right: 5rem;
  }

  #header .btn_cart a {
    aspect-ratio: 1.2 / 1;
  }

  #header .btn_entry {
    top: auto;
    bottom: 10px;
    right: 10rem;
    padding-right: 1.5rem;
  }

  #header .btn_brandsite {
    position: static;
    padding: 1.5rem 0 0;
    text-align: right;
  }

  #header .btn_brandsite a.btn_more_w {
    display: inline-block;
    width: auto;
    padding: .5rem 3.5rem .5rem 1rem;
    color: #000;
  }

  #header.onlinestore .menu_btn {
    margin-top: 10px;
    height: calc(100% - 10px);
  }

  /* footer */
  #footer {
    padding: 0 0 1rem;
  }

  #footer .footer_wrap {
    padding: 0 1rem;
  }

  #footer .footer_link {
    margin-top: 3rem;
    flex-wrap: wrap;
  }

  #footer .footer_link li {
    margin-right: 1rem;
    margin-bottom: .5rem;
  }

  #footer .footer_link li:not(:last-child) {
    padding-right: 1rem;
  }

  #footer .footer_link li:not(:last-child)::after {
    height: 50%;
    top: 25%;
  }

  #footer .footer_link a {
    font-size: 1.2rem;
  }

  #footer .copy {
    font-size: 1.3rem;
    margin-top: 1.5rem;
  }

  #footer .footer_top {
    padding: 2.5rem 1.5rem;
  }

  #footer .footer_top .footer_wrap {
    display: block;
  }

  #footer .footer_top .footer_link_sub {
    width: 100%;
    padding: 0;
    border-right: none;
  }

  #footer .footer_top .footer_link_sub:first-of-type {
    border-left: none;
  }

  #footer .footer_top .footer_link_sub span::before {
    top: .6rem;
  }

  #footer .footer_top .footer_link_sub img {
    max-height: 10px;
  }

  /* btn_pagetop */
  #btn_pagetop {
    position: fixed;
    top: auto;
    bottom: 0;
  }

  #btn_pagetop.fix {
    bottom: 0;
  }

  #btn_pagetop a {
    width: 4.5rem;
  }

  /* lower */
  #headline .main_ttl {
    height: 18px;
  }

  .breadcrumb {
    padding: 1.2rem 0;
  }

  .breadcrumb::before {
    width: 8.5rem;
    height: .25rem;
  }

  .breadcrumb .breadcrumb_list {
    font-size: 1.2rem;
  }

  .lowermenu .lowermenu_list {
    flex-wrap: wrap;
  }

  .lowermenu .lowermenu_list li {
    width: calc((100% - 1px) / 2);
    margin-bottom: 1px;
  }

  .lowermenu .lowermenu_list .lowermenu_ttl.ttl_lineup {
    width: 96.5px;
  }

  .lowermenu .lowermenu_list .lowermenu_ttl.ttl_project {
    width: 83.5px;
  }

  .lowermenu .lowermenu_list .lowermenu_ttl.ttl_concept {
    width: 63px;
  }

  .lowermenu .lowermenu_list .lowermenu_ttl.ttl_products {
    width: 66.5px;
  }

  .lowermenu .lowermenu_list .lowermenu_ttl.ttl_column {
    width: 56.5px;
  }

  .lowermenu .lowermenu_list .lowermenu_ttl.ttl_project::before {
    width: 70%;
    transform: translate(80%, -10%);
  }

}