@charset "utf-8";
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('../font/noto-sans-jp-v42-japanese-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  src: local(''),
       url('../font/noto-sans-jp-v42-japanese-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('../font/noto-sans-jp-v42-japanese-700.woff2') format('woff2');
}

/* all
---------------------------------------------------------------------------*/
body {
  font-family: 'Noto Sans JP', sans-serif; }

@media screen and (max-width: 1200px) {
  body {
    flex-direction: column; }
}

/* header
---------------------------------------------------------------------------*/
@media screen and (min-width: 1024px) {
  header.is-animation .g-nav {
    width: 100%;
    max-width: 100%;
    height: 48px;
    position: fixed;
    top: 0;
    z-index: 888; }
  header.is-animation + div.wrapper {
    margin-top: 46px; }
}

.g-nav {
  height: 48px;
  background: none; }
.g-nav ol {
  display: block;
  height: 48px;
  font-size: 1.68rem; }
.g-nav ol li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
	padding-left: 1.5em;
	padding-right: 1.5em;
	width: 100%; }

.g-nav ol li.logo {
  display: none; }
.trigger {
  display: none; }
.g-nav + address {
  margin-top: 40px;
  font-style: normal; }
address p {
  font-size: 1.44rem;
  line-height: 1.6; }
address h3 + p,
address p + p {
  margin-top: 0.64em; }

@media screen and (max-width: 1024px) {
  header {
    width: 100%; }
  header h1 img {
    max-width: 320px; }

  .wrapper {
    width: 100%; }

  .g-nav {
    height: 0!important; }
  header.is-animation + div.wrapper {
    margin-top: 0; }

  .g-nav ol {
    display: none; }
  .open .g-nav ol {
    width: 100%;
    height: 100%;
    display: block;
    text-align: left;
    position: fixed;
    top: 0;
    left: 0;
    padding-top: 40px;
    background: #fff;
    z-index: 8888; }
  .open .g-nav ol li {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.84rem;
    height: auto; }
  .open .g-nav ol li a {
    color: #5590EE; }
  .open .g-nav ol li.logo {
    display: block;
    margin-top: 32px;
    padding: 0; }
  .open .g-nav ol li.logo img {
    width: 100%; }
  .open .g-nav ol li.logo + li {
    margin-top: 24px; }

  .trigger {
    width: 88px;
    height: 88px;
    background: #5590EE;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  	position: fixed;
    top: 0;
    right: 0;
    z-index: 8889; }
  .trigger span {
    position: relative; }
  .trigger span,
  .trigger span::before,
  .trigger span::after {
    width: 40px;
    height: 1px;
    background: #fff;
    border-radius: 2px;
    animation-timing-function: cubic-bezier(.5,.12,1,.44);
    transition: .64s;
    transition-delay: .48s; }
  .trigger span::before,
  .trigger span::after,
  .trigger span i::before {
    content: '';
    position: absolute;
    transition: .64s; }
  .trigger span {
    top: -10px; }
  .trigger span::before {
    top: -10px; }
  .trigger span::after {
    bottom: -10px; }
  .trigger span i {
    display: flex;
    justify-content: center; }
  .trigger span i::before {
    content: "MENU";
    font-size: 1.2rem;
    color: #fff;
    white-space: nowrap;
    letter-spacing: 0.064em;
    bottom: -32px;
    transition: .64s; }
  
  .open .trigger {
    background: none; }
  .open .trigger span {
    background: transparent;
    animation-timing-function: cubic-bezier(.5,.12,1,.44);
    transition: .16s; }
  .open .trigger span::before,
  .open .trigger span::after {
    background: #5590EE;
    transition: .64s; }
  .open .trigger span::before {
    transform: translateY(10px) rotateZ(135deg); }
  .open .trigger span::after {
    transform: translateY(-10px) rotateZ(-135deg); }
  .open .trigger span i::before {
    content: "CLOSE";
    font-size: 1rem;
    color: #5590EE;
    transition: .64s; }
}

/* one-column
---------------------------------------------------------------------------*/
header h1 img {
  max-height: 64px; }

.g-nav {
  margin-top: 0;
  background: #5590EE; }
.g-nav ol {
  display: flex;
  justify-content: center;
  align-items: center; }
.g-nav ol li a {
  color: #fff; }

@media screen and (max-width: 1024px) {
  .g-nav ol {
    display: none; }
}

/* two-column
---------------------------------------------------------------------------*/
/*body {
  display: flex; }

header {
  width: 320px;
  background: #f8f8f8; }
.wrapper {
  width: calc(100% - 320px); }

@media screen and (max-width: 1200px) {
  body {
    flex-direction: column; }
  header,
  .wrapper {
    width: 100%; }
}*/

/* sp-only
---------------------------------------------------------------------------*/
.sp-only {
  display: none; }

@media screen and (max-width: 1200px) {
  .pc-only2 {
    display: none; }
}
@media screen and (max-width: 640px) {
.pc-only {
  display: none; }
.sp-only {
  display: block; }
}