@charset "utf-8";


/******birthday***************/
.header-top{
  position: relative;
  width: 100%;
  height: auto;
  background-color: #ffce39;
  z-index: 101;
}
.header-top-wrap{
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 10px 20px;
  font-weight: bold;
  font-size: 0.875rem;
  color: #FFF;
  text-align: center;

  text-overflow: ellipsis;
}

@media(max-width:768px){
  .header-top-wrap{
     /*768:360=14:13*/
     font-size: calc(0.8125rem + ((1vw - 3.6px) * 0.2451));
  }
}

/*************************/

#headerArea{
  position: -webkit-sticky;
  position: sticky;
  width: 100%;
  min-width: 1240px;
  height: 82px;

  background-color: #ffce39;
  background: rgb(255,206,57); /* Old browsers */
  background: rgb(255,206,57); /* Old browsers */
  background: -moz-linear-gradient(top, rgba(255,206,57,1) 40%, rgba(255,216,112,1) 99%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(255,206,57,1) 40%,rgba(255,216,112,1) 99%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(255,206,57,1) 40%,rgba(255,216,112,1) 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

  z-index: 100;

  box-shadow: 0 0 10px 0 rgba(0,0,0,.16);
}

.header-wrap{
  width: 100%;
  max-width: 1240px;
  height: 82px;

  margin: 0 auto;
  padding: 0 20px;

  display: flex;
  flex-direction: row;/*可変*/
}
/***************************/

@media(max-width:768px){
  #headerArea{
    top: 0;
    min-width: auto;
    height: 52px;

    background: rgb(255,206,57); /* Old browsers */
  }
  .header-wrap{
    height: 52px;
    padding: 0 0px;
    
    flex-direction:column;/*可変*/
  }
}

/***************************/
.header-wrap h1{
  display: block;
  margin: 0;
  padding: 0;
}
.header-wrap h1 a{
  display: block;
  padding-top: 16px;

  transform: translate(0px, 0px);
  transition: all ease 0.2s;
}
.header-wrap h1 a:hover{
  transform: translate(0px, 2px);
  opacity: 0.6;
}
/*==navigation==*/
.header-nav{
  width: calc(100% - 270px);
  margin: 0 0 0 auto;
}



/***************************/
@media(max-width:768px){

  .header-wrap h1{
    width: 100px;
    height: 52px;

    padding: 10px 0px 6px 15px;
    text-align: left;
  }
  .header-wrap h1 a{
    padding-top: 0px;
  }
  .header-wrap h1 a img {
    width: auto;
    height: 36px;
  }
  /*==navigation==*/
  .header-nav{
    position: absolute;
    top:52px;
    left: -100%;/*アニメーション設定*/

    width: 100%;
    height: 100%;
    /*height: calc(100% - 52px);*/
    margin:0;
    padding: 20px 0px;
    z-index: 100;

    opacity: 0;/*アニメーション設定*/

    background: rgb(255,206,57); /* Old browsers */
    background: rgb(255,206,57); /* Old browsers */
    background: -moz-linear-gradient(top, rgba(255,206,57,1) 40%, rgba(255,216,112,1) 99%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(255,206,57,1) 40%,rgba(255,216,112,1) 99%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(255,206,57,1) 40%,rgba(255,216,112,1) 99%);

    transition: all cubic-bezier(0.22, 1, 0.36, 1) 0.4s;
  }
  /*==アニメーションアクティブ==*/
  .nav-active{
    left: 0%;
    opacity: 1;
  }

}

.heightSize{
  position: absolute;
  height: calc(100vh - 52px);
}

/* Safari用のハックは、Chromeに適用されないようにする */
@supports (-webkit-touch-callout: none) {
  body {
    /* Safari用のハック */
    height: -webkit-fill-available;
  }
}
/*****END 768px*****************/

.header-nav ul{
  display: flex;
  flex-direction: row;/*可変*/
}

.header-navlist{
  margin: 0 20px;
  height: 82px;/*可変*/

  font-weight:bold;
  font-size: 0.9375rem;/*15px*/
  letter-spacing: 0.08em;
}
.header-navlist a{
  height: 25px;

  margin-top: 30px;/*可変*/
  color: #666666;

  position: relative;
  display: inline-block;
  text-decoration: none;

  background-image: url(../img/nav.png);
  background-size: 120px ;
  background-repeat: no-repeat;
  font-size: 0;
}
.item1{
  width: 60px;
  background-position: 3px 0px;
}
.item2{
  width: 60px;
  background-position: 3px -25px;
}
.item3{
  width: 78px;
  background-position: 3px -50px;
}
.item4{
  width: 120px;
  background-position: 3px -75px;
}
.item5{
  width: 78px;
  background-position: 3px -100px;
}
.item6{
  width: 78px;
  background-position: 3px -125px;
}

.header-navlist a:hover{
  color: #000;
}
.header-navlist a:active{
  opacity: 0.6;
  transform: translate(0px, 1px);
}
.header-navlist a::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
.header-navlist a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.nav-active a{
  color: #000;
}
.nav-active a::after{
  transform: scale(1, 1);
}

/***************************/
@media(max-width:768px){
  .header-nav ul{
    flex-direction:column;
  }

  .header-navlist{
    height: 45px;/*可変*/
    margin-bottom: 1em;
  }
  .header-navlist a{
    margin-top: 0px;/*可変*/

  }
}
/****END 768px***********************/
.social{
  margin-left: auto;
  height: 100%;
  display: flex;
  line-height: 84px;/*可変*/
  padding: 0 10px 0 10px;
}

.social-txt{
  color: #FFF;
  font-size: 0.6875rem;/*11px*/
  letter-spacing: 0.06em;
  font-weight: bold;
  font-family: 'Roboto','Noto Sans JP', sans-serif;
}
.icon{
  padding-top: 4px;
}
.icon path{
  fill: #FFF;
}
/***************************/
@media(max-width:768px){
  .social{
    height: 45px;
    line-height: 45px;
    margin-top: 1em;
    margin-left: 14px;
  }
}
/***************************/
/*-------------------------------------------------------------
		button
-------------------------------------------------------------*/
.header-btn{
  position: absolute;
  right: 0px;
  width: 60px;
  height: 52px;
}
#sp-menubutton{
  width: 60px;
  height: 52px;
  position: absolute;
  z-index: 100;
}
#sp-menubutton span,#sp-menubutton::before,#sp-menubutton::after{display:block;position:absolute;top:0;bottom:0;left:0;right:0;width:26px;height:2px;margin:auto;background:#272727}
#sp-menubutton span{overflow:hidden;z-index:1;color:#272727}
#sp-menubutton::before{z-index:2;transform:translate(0,-8px);content:""}
#sp-menubutton::after{z-index:2;transform:translate(0,8px);content:""}
#sp-menubutton span{opacity:1;transition:opacity 150ms 50ms}
#sp-menubutton::before,#sp-menubutton::after{transition:transform 200ms}
#sp-menubutton.btn-active span{opacity:0;transition:opacity 150ms}
#sp-menubutton.btn-active::before{transform:rotate(45deg)}
#sp-menubutton.btn-active::after{transform:rotate(-45deg)}
