﻿@charset "UTF-8";

/**************************
header
**************************/
#s-header{
 position: relative;
  z-index: 1000;
}



@media screen and (min-width: 992px) {
  .s-header{
    height: var(--headerHight); 
  }
}

.s-header-wrap{
  gap: 1rem 3rem;
  padding: 0 5rem;
  background: #FFFFFF;
  border-bottom: none;
  position: absolute;
}


@media screen and (min-width: 992px) {
  .s-header-wrap {
    height: var(--headerHight); 
  }
}

#s-header.fixed .s-header-wrap{
  position: fixed;
}

#s-header.fixed.shadow .s-header-wrap{
  position: fixed;
}

.s-header-wrap__logo{width: 16.949rem;}

.s-header-wrap__nav{}


.s-header-navBlok{
}

.s-header-navBlok__nav{
  background-color: inherit;
}


.s-header-contentsNavBlock{
  background-color: inherit;
  gap: 0 3rem;
  height: var(--headerHight); 
}


/*categoryNav ********/
@media screen and (min-width: 992px) {
  .s-header-categoryNav{
    display: block;
    padding: 0;
    border: none;
  }
  
  .s-header-categoryNav:hover{
    border: none;
  }
  
  .s-header-categoryNav:hover::after{
    display: none;
  }
  
  
  .s-header-categoryNav__head {
    display: none;
  }
  
  .s-header-categoryNav__body{
    display: block;
    height: var(--headerHight);
    padding: 0;
    background-color: inherit;
    overflow: hidden;
    position: static;
    top: inherit;
    left: inherit;
  }
    
  .s-header-categoryNav__navlist{
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    height: 100%;
    gap: 0 0;
  }
  
  .s-header-categoryNav__navLink{
    width: auto;
    box-sizing: border-box;
    padding-right: 3rem;
  }
  
  .s-header-categoryNav__navLink:hover::before{
    content: '';
    width: 100%;
    height: 4rem;
    position: absolute;
    left: 0;
    bottom: -1rem;
    z-index: 1001;
  }
  
  .s-header-categoryNav__navLink:has(ul):hover::after{
    content: '';
    width: 100%;
    height: calc(100dvh - var(--headerHight));
    background: rgba(44,44,44,.6);
    position: fixed;
    left: 0;
    top: var(--headerHight);
    z-index: -1;
    pointer-events: none;
  }
  
  .s-header-categoryNav__navLink > a{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
    padding-top: 6px;
    padding-bottom: 2px;
    color: #2C2C2C;
    font-size: 1.5rem;
    letter-spacing: 0.075em;
    font-weight: 500;
    text-align: left;
    position: relative;
  }
  
  .s-header-categoryNav__navLink > a::after{
    content: '';
    display: block;
    height: 2px;
    width: 0;
    background: #17448D;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: width var(--transition-default);
  }
  
  .s-header-categoryNav__navLink:hover > a{
    color: #17448D;
  }
  
  .s-header-categoryNav__navLink:hover > a::after{
    width: 100%;
  }
  
  
  .s-header-categoryNav__navLink > ul{
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 3.6rem 3.6rem;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    
    max-height: calc(100vh - var(--headerHight));
    padding: 4.5rem 13rem 5rem;
    background: rgba(255, 255, 255, 1);
    overflow-y: auto;
    position: absolute;
    left: 0;
    top: var(--headerHight);
    z-index: 2;
  }
  
  .s-header-categoryNav__navLink:hover > ul{
    opacity: 1;
    pointer-events: auto;
  }
  
  .s-header-categoryNav__navLink:hover > ul::before{
    content: '';
    display: block;
    width: 100%;
    height: 2rem;
    background: #333333;
    position: absolute;
    top: -2rem;
    left: 0;
  }

  
  .s-header-categoryNav__navLink:hover > ul > li{}
  .s-header-categoryNav__navLink:hover > ul > li > a{
    font-size: 1.5rem;
    font-weight: 400;
    text-align: left;
    letter-spacing: 0.075em;
    line-height: 1.4;
    color: #2C2C2C;
  }

  .s-header-categoryNav__navLink:hover > ul > li > a:hover{
    color: #17448D;
    transition: color var(--transition-default);
  }
  
}/*categoryNav ********/





/*contentsNav **********/
.s-header-contentsNav__navlist{
  gap: 0 4rem;
}

.s-header-contentsNav__navLink > a{
  font-size: 1.5rem;
  font-weight: 500;
  color: #2C2C2C;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

/* .s-header-utilityList*********/
.s-header-utilityList{
  align-items: stretch;
  gap: 0 2.5rem;
}

.s-header-utilityList__item{
  width: 2.5rem;
}

.s-header-utilityList__icon{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

/* cartCnt*********/
.s-header__cartCnt{
  width: 2rem;
  height: 2rem;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  border-radius: 50%;
  background: #FE534B;
  top: -0.5rem;
  right: -1rem;
}

@media screen and (max-width: 991px) {
  .pcHeadOnly{display: none;}
  
  /*nav***********/
  .s-header-navBlok__openBtn{
    height: 3.0rem;
    width: 3.8rem;
    position: relative;
    cursor: pointer;
  }

  .s-header-navBlok__openBtn > span{
    background: #2C2C2C;
    height: 0.1rem;
    left: 0.7rem;
  }
  
  .s-header-navBlok__openBtn::before, .s-header-navBlok__openBtn::after{
    height: 0.1rem;
    background-color: #2C2C2C;
    left: 0.7rem;
  }

  .s-header-navBlok__openBtn::before{
    top: 0.6rem;
  }

  .s-header-navBlok__openBtn::after{
    bottom: 0.6rem;
  }

  
  .s-header-navBlok__openBtn.active::before {
    transform: translateY(0.8rem) rotate(-45deg);
  }
  
  .s-header-navBlok__openBtn.active::after {
    transform: translateY(-0.8rem) rotate(45deg);
  }
  
  .s-header-navBlok__nav {
    height: calc(100vh - var(--headerNowHight));
    top: var(--headerNowHight);
    background: #FFFFFF;
    padding: 2rem 0;
  }
  
  .s-header-categoryNav{
    border-bottom: none!important;
  }
  
  /* user Nav****************/
  .s-header-userNav{
    padding: 0 1.5rem;
  }
  
  .s-header-userNav__head{
    padding: 0 0 1.25rem;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #292624;
    gap: 0 0.25rem;
  }
  
  .s-header-userNav__headIcon{
    width: 2.352rem;
  }
  
  .s-header-userNav__title{
    font-family: var(--font-jp);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.075em;
    line-height: 1.375;
    color: #191919;
  }
  
  .s-header-userNav:not(:nth-last-child(1)){
    margin-bottom: 0;
  }
  
  .s-header-userNav__navLink{
    border-bottom: 1px solid #E0DEDC;
  }
  .s-header-userNav__navLink:nth-last-of-type(1){
    border-bottom: none;
  }
  
  .s-header-userNav__navLink > a{
    display: block;
    padding: 1.6rem 0;
    color: #2C2C2C;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.075em;
    line-height: 1.4;
  }
  
  /********/
  .s-header-contentsNavBlock{
    height: auto;
  }
  
  .s-header-categoryNav__head,
  .s-header-contentsNav__head{
    padding: 1.5rem 1.5rem 1.5rem;
    margin-bottom: 0;
    background-color: #F5F5F5;
    border-bottom: none;
    color: #2C2C2C;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 0.075em;
    line-height: 1.4;
  }

  .s-header-categoryNav__head::after{
    display: none;
  }

  
  .s-header-categoryNav__body,
  .s-header-contentsNav__body{
    background-color: inherit;
    max-height: none;
    padding: 0 1.5rem;
  }
  
  .s-header-categoryNav__navLink,
  .s-header-contentsNav__navLink{
    width: 100%;
  }
  
  .s-header-categoryNav__navLink:not(:nth-last-of-type(1)),
  .s-header-contentsNav__navLink:not(:nth-last-of-type(1)){
    border-bottom: 1px solid #E0DEDC;
  }
  
  .s-header-contentsNav__navLink:nth-last-of-type(1){
    border-bottom: 1px solid #E0DEDC;
  }
  
  .s-header-categoryNav__navLink > a,
  .s-header-contentsNav__navLink > a{
    display: block;
    padding: 1.6rem 0;
    color: #2C2C2C;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.075em;
    line-height: 1.4;
  }
  
  .s-header-categoryNav__navLink > a[target="_blank"],
  .s-header-contentsNav__navLink > a[target="_blank"]{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0 0.4em;
  }

  .s-header-categoryNav__navLink > a[target="_blank"]::after,
  .s-header-contentsNav__navLink > a[target="_blank"]::after{
    content: '';
    display: inline-block;
    width: 1.3rem;
    height: 1.3rem;
    background: url(../img/common/custom/icon_blank.svg) center center no-repeat;
    background-size: 100% auto;
    transform: translateY(-0.1em);
  }

  
  .s-header-categoryNav__navLink > ul{display: none;}
  
}


/**************************
footer
**************************/
.s-footer{
  background: #17448D;
  padding-top: 7rem;
  padding-bottom: 4rem;
}

.footLogo {
  display: block;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}

.footLogo > a{
  display: block;
  width: 18.079rem;
  margin: 0 auto 3rem 0;
}


.s-footer__nav{
  margin-bottom: 3.1rem;
  align-items: flex-end;
}

.s-footer-guideNav{
  gap: 1.5rem 4rem;
}

.s-footer-guideNav > ul{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  border-bottom: none;
  gap: 1.1rem 4rem;
}


@media screen and (max-width: 991px) {
  .s-footer-guideNav > ul{
    display: block;
  }
  
  .s-footer-guideNav > ul > li + li{
    margin-top: 0.5rem;
  }
}
.s-footer-guideNav__item{
  font-size: 1.3rem;
  line-height: 1.538461538461538;
}

.s-footer-guideNav__item > a{
  display: inline-flex;
  justify-content: flex-start;
  gap: 0 0.4em;
  align-items: center;
  font-size: 1.3rem;
  color: #FFFFFF;
  letter-spacing: 0.075em;
}

.s-footer-guideNav__item > a[target="_blank"]::after{
  content: '';
  display: inline-block;
  width: 1.3rem;
  height: 1.3rem;
  background: url("../img/common/custom/icon_blank_white.svg") center center no-repeat;
  background-size: 100% auto;
  transform: translateY(-0.06em);
}


.s-footer-snsNav{
  padding-bottom: 0.4rem;
}

.s-footer-snsNav{
  gap: 0 1rem;
}

.s-footer-snsNav__item{
  width: 4rem;
}


.s-footer__copy{
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.075em;
  line-height: 1.633333333333333;
  color: #FFFFFF;
  text-align: right;
}




/**************************
linkSetting
**************************/
a.linkText{
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.075em;
  color: #2C2C2C;
  text-decoration: underline;
  line-height: 1.333333333333333;
  transition: opacity .3s ease;
}
a.linkText[target="_blank"]{
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 0.3em;
}

a.linkText[target="_blank"]::after{
  content: '';
  display: inline-block;
  width: 1.3rem;
  height: 1.3rem;
  background: url("../img/common/custom/icon_blank.svg") center center no-repeat;
  background-size: 100% auto;
  transform: translateY(-0.15em);
}


@media (hover: hover){
	a.linkText:hover {
		opacity: .6;
	}
}



/*******************
overRide
******************/
.spView{display: none!important;}

