@charset "utf-8";
header{

  --inset: 2vw;

	position: absolute;
	z-index: 1000;
  width: 100%;
  box-sizing: border-box;
  top: 0;
}
header .area{
  width: 100%;
  box-sizing: border-box;
  padding: 2em 2em;
  transition: padding .4s;
  transition: background-color .6s;
}
@media screen and (max-width: 520px){
  header{
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    transition: padding .3s ease-out;
  }
	header .area{
    padding: 3vw;
    border-radius: 1em;
    overflow: hidden;
	}
}

/**********************************************************************/
/* インフォ
/**********************************************************************/

header .info{

  --w_logo: clamp(220px, 19vw, 400px);

  gap: 2em;
}
header .logo{
  max-width: var(--w_logo);
}
header .headline{
  transform: translate(0, 5%);
}
@media screen and (max-width: 1120px){
  header .info{
    flex-direction: column;
    align-items: stretch;
    gap: .5em;
  }
}
@media screen and (max-width: 860px){
  header .headline{
    display: none;
  }
}

/**********************************************************************/
/* スクロールド
/**********************************************************************/

header._scrolled{
  position: fixed;
}
header._scrolled .area{
  background-color: rgba(38, 42, 25, .8);
  background-color: rgba(38, 42, 25, .8);
  backdrop-filter: blur(5px);
}
header._scrolled:hover{
  opacity: 1;
  transition: opacity .3s ease-out;
}
header._scrolled .area{
  padding: .6em 1em;
}
header._scrolled .logo{
  width: calc(var(--w_logo) * .8)
}
header._scrolled._scroll_up{
  transform: translate(0, 0%);
  transition: transform .3s ease-out;
}
@media screen and (max-width: 520px){
  header._scrolled{
    padding: var(--inset, 3vw);
  }
}

/**********************************************************************/
/* メニューボタン
/**********************************************************************/

@media screen and (min-width: 861px){
  header .menu{
    display: none;
  }
}
@media screen and (max-width: 860px){
  header .menu{
    position: relative;
    align-items: stretch;
    border-radius: 3px;
    display: inline-block;
    z-index: 3;
    margin-left: auto;
  }
  header .menu .button{
    position: relative;
    z-index: 1100;
    width: 14px;
    height: 14px;
    margin: 10px;
  }
  header .menu .button .line{
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 4px;
    transition: all .3s;
  }
  header .menu .button .line:nth-of-type(1){
    top:0;
  }
  header .menu .button .line:nth-of-type(2){
    top: 0;
    bottom: 0;
  }
  header .menu .button .line:nth-of-type(3){
    bottom: 0;
  }
  header.active .menu .button .line:nth-of-type(1){
    top: 0;
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  header.active .menu .button .line:nth-of-type(2){
    opacity: 0;
  }
  header.active .menu .button .line:nth-of-type(3){
    top: 0;
    bottom: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

/**********************************************************************/
/* PC用ナビゲーション
/**********************************************************************/

.global_navigation[data-navigation-type="heading"] nav ul li{
  margin-inline: .75em;
}
.global_navigation[data-navigation-type="heading"] nav ul li a{
  padding: .25em .5em;
}
.global_navigation[data-navigation-type="heading"] nav ul.contact li a{
  background-color: var(--c_olive);
  padding: .5em 1.5em;
  border-radius: 10em;
}
@media screen and (max-width: 860px){
  .global_navigation[data-navigation-type="heading"]{
    display: none;
  }
}

/**********************************************************************/
/* SP用ナビゲーション
/**********************************************************************/

.global_navigation[data-navigation-type="overlay"]{
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  z-index: 999;
  isolation: isolate;
}
.global_navigation[data-navigation-type="overlay"] .bg{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  display: grid;
  grid-template-columns: 1fr;
}
.global_navigation[data-navigation-type="overlay"] .bg .panel{
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 3%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 3%);

  width: 100%;
  height: 110%;
  background-color: var(--c_darkolive);
  transform: translate(0, 10%);
  opacity: 0;
  transition: transform .2s ease-out, opacity .3s ease-out;
  contain: layout style paint;
}
.global_navigation[data-navigation-type="overlay"] .wrapper{
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: auto;
  -webkit-mask-image: linear-gradient(to bottom, transparent 2em, black 6em);
  mask-image: linear-gradient(to bottom, transparent 2em, black 6em);
}
.global_navigation[data-navigation-type="overlay"] .wrapper .inner{
  padding: 4em 6vw 4em 6vw;
}

/*link*/
.global_navigation[data-navigation-type="overlay"] .wrapper .reveal{
  opacity: 0;
  transform: translate(0, 1em);
}
.global_navigation[data-navigation-type="overlay"] .wrapper .links{
  opacity: 0;
}
.global_navigation[data-navigation-type="overlay"] .wrapper .reach{
  opacity: 0;
}
.global_navigation[data-navigation-type="overlay"] .wrapper .textpages{
  opacity: 0;
}

/*--------------------------------------------------------------------*/
/* layouts */

.global_navigation[data-navigation-type="overlay"] .wrapper .inner .links{
  --gap: 1.5em;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap) calc(var(--gap) * 2);
  margin-bottom: 3em;
}
.global_navigation[data-navigation-type="overlay"] .wrapper .inner .links nav{
  position: relative;
}
.global_navigation[data-navigation-type="overlay"] .wrapper .inner .links nav:nth-of-type(even)::before{
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: rgba(255,255,255,.2);
  position: absolute;
  left: -1.5em;
  top: 0;
}
.global_navigation[data-navigation-type="overlay"] .wrapper .inner .links a{
  line-height: 1.5;
}
.global_navigation[data-navigation-type="overlay"] .wrapper .inner .links .parent{
  margin-bottom: .5em;
}
.global_navigation[data-navigation-type="overlay"] .wrapper .inner .links .parent a{
  font-size: clamp(12px, 3.8vw, 16px);
  white-space: nowrap;
  display: block;
  padding-right: 3em;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='23.57'%20height='14.015'%20viewBox='0%200%2023.57%2014.015'%3E%3Cg%20transform='translate(-129.344%20-121.485)'%3E%3Crect%20width='23.57'%20height='14.015'%20rx='7.007'%20transform='translate(129.344%20121.485)'%20fill='%23fff'/%3E%3Cpath%20d='M681.291,1590.849H688.7l-3.263-3.263'%20transform='translate(-544.118%20-1461.323)'%20fill='none'%20stroke='%23262a19'%20stroke-width='1'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: auto;
}
.global_navigation[data-navigation-type="overlay"] .wrapper .inner .links .children li{
  padding-block: .25em;
}
.global_navigation[data-navigation-type="overlay"] .wrapper .inner .links .children a{
  font-size: clamp(10px, 3.3vw, 14px);
  white-space: nowrap;
  padding-left: 1em;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='6'%20height='1'%20viewBox='0%200%206%201'%3E%3Cline%20x1='6'%20transform='translate(0%200.5)'%20fill='none'%20stroke='%23fff'%20stroke-width='1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto;
}

/*contact*/
.global_navigation[data-navigation-type="overlay"] .wrapper .inner .reach{
  background-color: rgba(255,255,255,.05);
  border-radius: 1em;
  padding: 1.5em;
}
.global_navigation[data-navigation-type="overlay"] .wrapper .inner .reach .contact a{
  background-color: var(--c_olive);
  border-radius: 10em;
  display: block;
  text-align: center;
  padding: .75em 1em;
}
.global_navigation[data-navigation-type="overlay"] .wrapper .inner .reach .address{
  font-size: 90%;
  margin-top: 1em;
}

/*textpages*/
.global_navigation[data-navigation-type="overlay"] .wrapper .inner .textpages{
  padding: 1.5em 0;
  border-top: 1px solid rgba(255,255,255,.2);;
  margin-top: 2.5em;
  gap: 3em; 
  font-size: 90%;
  justify-content: center;
}

/**********************************************************************/
/* active
/**********************************************************************/

header.active + .global_navigation[data-navigation-type="overlay"]{
  pointer-events: all;
}
header.active + .global_navigation[data-navigation-type="overlay"] .bg .panel{
  opacity: 1;
  transform: translate(0, -8%);
}
header.active + .global_navigation[data-navigation-type="overlay"] .wrapper .reveal{
  opacity: 1;
  transform: translate(0, 0);
  transition: opacity .6s ease-out, transform .6s ease-out;
}
header.active + .global_navigation[data-navigation-type="overlay"] .wrapper .links{
  opacity: 1;
}
header.active + .global_navigation[data-navigation-type="overlay"] .wrapper .reach{
  opacity: 1;
}
header.active + .global_navigation[data-navigation-type="overlay"] .wrapper .textpages{
  opacity: 1;
}

/*reveal*/

header.active + .global_navigation[data-navigation-type="overlay"] .wrapper .reveal._d1{
  transition-delay: .1s;
}
header.active + .global_navigation[data-navigation-type="overlay"] .wrapper .reveal._d2{
  transition-delay: .2s;
}
header.active + .global_navigation[data-navigation-type="overlay"] .wrapper .reveal._d3{
  transition-delay: .3s;
}
header.active + .global_navigation[data-navigation-type="overlay"] .wrapper .reveal._d4{
  transition-delay: .4s;
}
header.active + .global_navigation[data-navigation-type="overlay"] .wrapper .reveal._d5{
  transition-delay: .5s;
}
header.active + .global_navigation[data-navigation-type="overlay"] .wrapper .reveal._d6{
  transition-delay: .6s;
}
header.active + .global_navigation[data-navigation-type="overlay"] .wrapper .reveal._d7{
  transition-delay: .7s;
}

/*bg*/

header.active + .global_navigation[data-navigation-type="overlay"] .bg .panel:nth-of-type(1){
  transition-delay: .1s;
}
header.active + .global_navigation[data-navigation-type="overlay"] .bg .panel:nth-of-type(2){
  transition-delay: .1s;
}
header.active + .global_navigation[data-navigation-type="overlay"] .bg .panel:nth-of-type(3){
  transition-delay: .1s;
}
header.active + .global_navigation[data-navigation-type="overlay"] .bg .panel:nth-of-type(4){
  transition-delay: .1s;
}