/* メニューOPEN時 背景固定 */
body.is-fixed {
  overflow: hidden; /* スクロールを禁止 */
}

/* iOS (iPhone/Safari) で確実に止めたい場合 */
@media (max-width: 768px) {
  body.is-fixed {
    position: fixed;
    width: 100%;
    height: 100vh;
  }
}




/* header
============================================================ */
header{
width: 100%;
height: 8.6rem;
}

header > .inner{
height: 6rem;
background-image: none;
padding-top: 1rem;
}
header > .inner {
display: flex;
justify-content: space-between;
align-items: center;
}


@media screen and (max-width:779px) {
/*ハンバーガーメニュー アイコン*/
.nav-button {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1000;
  width: 48px;
  height: 48px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}
.nav-button.active {
background: transparent !important;
}
.nav-button span{
  position: absolute;
  left: 11px;
  width: 28px;
  height: 4px;
  background-color: #00a5bf;
  transition: all .6s;
}
.nav-button span:nth-of-type(1) { top: 14px; }
.nav-button span:nth-of-type(2) { top: 23px; }
.nav-button span:nth-of-type(3) { top: 32px; }

.nav-button.active span {
  background-color: #00a5bf;
}
.nav-button.active span:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.nav-button.active span:nth-of-type(2) {
  opacity: 0;
}
.nav-button.active span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

/*pc版メニュー 非表示*/
.nav-pc{
display: none;
}

/*mobile版メニュー*/
.nav-mobile {
display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  z-index: 999;
  clip-path: circle(0% at calc(100% - 44px) 44px);
  transition: clip-path 0.7s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 900;
  background: transparent !important;
  overflow-y: auto; 
  -webkit-overflow-scrolling: touch; /* iOSでのスクロールを滑らかにする */
  
  /*スクロールバー非表示（IE・Edge）*/
  -ms-overflow-style: none;
  /*スクロールバー非表示（Firefox）*/
  scrollbar-width: none;
  /*スクロールバー非表示（Chrome・Safari）*/
::-webkit-scrollbar { display: none; }
  }

.nav-mobile.active {
  clip-path: circle(150% at calc(100% - 44px) 44px);
}

.nav-mobile__wrapper {
  width: 100%;
  min-height: calc(100dvh - 8.6rem);
  background: #00a5bf;
  color: #fff;
  border-top: 2px solid #fff;
  margin-top: 8.6rem;
  padding: 2rem 3rem 10rem;
  box-sizing: border-box;
}


/* グローバルナビ */
ul.mainnav-mob {
font-size: 0;
margin-top: 10px;
}
ul.mainnav-mob li.gnav {
padding-left: 0;
font-size: 1.4rem;
line-height: 1.8;
font-weight: bold;
border-bottom: 0.2rem solid #fff;
margin-bottom: 2.5rem;
padding-bottom: 2.5rem;
}

ul.mainnav-mob li.gnav h3 {
color: #fff;
font-size: 2.4rem;
line-height: 1;
margin-bottom: 1.5rem;
}
ul.mainnav-mob li.gnav .gnav-item {
color: #fff;
font-size: 1.6rem;
font-weight: normal;
margin-left: 1.5rem;
display: flex;
flex-direction: column;
}
ul.mainnav-mob li.gnav .gnav-item li {
display: inline-flex;
align-items: center;
}
ul.mainnav-mob li.gnav .gnav-item li::after {
content: "";
display: inline-block;
background-image:
-webkit-mask: url("../fontawesome/f105.svg") no-repeat center center / contain;
mask-image: url("../fontawesome/f105.svg");
background-repeat: no-repeat;
background-position: center center;
background-size: contain;
width: 1.1rem;
height: 1.4rem;
margin-left: 1rem;
background-color: #fff;
}

ul.mainnav-mob li.gnav .gnav-item a {
color: #fff;
line-height: 2.2;
transition: 0.1s;
display: flex;
align-items: center;
}
ul.mainnav-mob li.gnav .gnav-item a:hover{
opacity: 0.7;
}

ul.mainnav-mob li.gnav .gnav-item a.etr-link::after{
content:"";
display: inline-block;
-webkit-mask: url("../fontawesome/f35d.svg") no-repeat center center / contain;
mask-image: url("../fontawesome/f35d.svg");
mask-repeat: no-repeat;
mask-position: center center;
mask-size: contain;
width: 1.2rem;
height:	1.2rem;
margin-left: 0.6rem;
background-color: #fff;
}
}/*@media screen and (max-width:779px)*/


@media screen and (min-width:780px) {
/*ハンバーガーメニュー非表示*/
header section{
display: none;
}
.nav-mobile{
display: none;
}

/*pc版メニュー*/
.nav-pc{
display: block;
}
.nav-pc.active {
background: transparent !important;
}

/* グローバルナビ */
ul.mainnav-pc {
font-size: 0;
margin-top: 10px;
display: flex;
justify-content: space-between;
}
ul.mainnav-pc li.gnav {
padding-left: 0;
font-size: 1.4rem;
line-height: 1.8;
font-weight: bold;
}
ul.mainnav-pc li.gnav a{
position: relative;
padding: 5px 15px;
text-decoration: none;
/*transition: all 0.3s ease-in-out;*/
border-radius: 4px;
}
ul.mainnav-pc li.gnav a.current {
transition: 0s;
}
ul.mainnav-pc li.gnav a::before{
position: absolute;
content: "";
background-color: #00a5bf;
height: 0.2rem;
width: 0;
left: 0;
right: 0;
bottom: 0.2rem;
margin: auto;
transition: width 0.3s ease-out;
}
ul.mainnav-pc li.gnav a:hover::before{
width: 80%;
}
ul.mainnav-pc li.gnav a.current::before {
width: 80% !important;
/*transition: none !important;*/
}

}/*@media screen and (min-width:780px)*/





/* chatch
============================================================ */
div.chatch{
background-color: #00a5bf;
height: 2.6rem;
text-align: center;
padding: 0.7rem 0;
}
div.chatch p{
color: #fff;
font-size: 1.3rem;
font-family: "source-sans-pro", sans-serif;
font-weight: 600;
font-style: italic;
letter-spacing: 0.2em;
}




/* ============================================================
media queries
============================================================ */

/*@media only screen and (max-width: 949px) {

#header .inner {
 width: 99%;
}
}

@media screen and (max-width:639px) {
#inbound-header{
background-image: none;
}
#header .inner { background: none; }
}*/
