@charset "utf-8";

/* -----------------------------------------------------------------
.g_hd
----------------------------------------------------------------- */
@media screen and (max-width: 767px) {

}
@media print, screen and (min-width: 768px) {

}


/* -----------------------------------------------------------------
.box_hd_nav
----------------------------------------------------------------- */
.box_hd_nav {
/*
  background: red;
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
*/
/*  padding:  max(2vw, 1.6rem) calc((100vw - min(96vw, 1800px)) / 2) 0;*/
}
@media screen and (max-width: 767px) {

}
@media print, screen and (min-width: 768px) {

}

/* -----------------------------------------------------------------
.g_nav
----------------------------------------------------------------- */
.g_nav {
}
.g_nav,
.g_nav a{
  font-weight: 400;
  font-family: var(--font_serif_main);
}
.g_nav .go_index,
.g_nav .list_nav {
  z-index: 10000;
  position: fixed;
  top:max(2vw, 1.6rem);
}
.g_nav .go_index{
  left: calc((100vw - min(96vw, 1800px)) / 2);
}

.g_nav .list_nav {
  right: calc((100vw - min(84vw, 1640px)) / 2);
  display: flex;
  flex-direction: column;
  gap: 2em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

@media screen and (max-width: 767px) {
  .g_nav .go_index{
    font-size: 70%;
  }
  .g_nav .list_nav{
    font-size: 90%;
  }
}
@media print, screen and (min-width: 768px) {
  .g_nav .go_index{
    font-size: 77%;
  }
  .g_nav .list_nav{
    font-size: 111%;
  }
}

/*---------- js ----------*/
.g_hd .go_index,
.g_hd .list_nav{
  transition: .8s;
}
.g_hd.js_upmove .go_index,
.g_hd.js_upmove .list_nav{
  visibility:hidden;
  opacity: 0;
}
.g_hd.js_upmove .js_downmove,
.g_hd.js_upmove .js_downmove{
  visibility:visible;
  opacity: 1;
}
.g_hd.js_ft .go_index a,
.g_hd.js_ft .list_nav a{
  color: #fff;
}


/* -----------------------------------------------------------------
.g_hd .ttl_page
----------------------------------------------------------------- */
.g_hd .ttl_page {
  padding: 10rem calc((100vw - min(96vw, 1800px)) / 2) 0;
  letter-spacing: 0;
  line-height: 1;
  font-weight: 400;
}
.ttl_page_sub {
  padding: 0 calc((100vw - min(96vw, 1800px)) / 2) max(2vw, 1.6rem);
}

@media screen and (max-width: 767px) {
  .g_hd .ttl_page {
    font-size: 18vw;
  }
  .g_hd .ttl_page_sub {
    font-size: min(2rem,3vw);
  }
}
@media print, screen and (min-width: 768px) {
  .g_hd .ttl_page {
    font-size: 18vw;
  }
  .g_hd .ttl_page_sub {
    font-size: min(2rem,3vw);
  }
}

