@charset "UTF-8";
/***********************************************************************
media queries setting
**********************************************************************/
/***********************************************************************
menu
**********************************************************************/
header {
  background: #fff;
  padding: min(1.9708029197vw, 27px) 0 min(0.9489051095vw, 13px);
  overflow: clip;
  /*ul*/ }
  @media (max-width: 750px) {
    header {
      padding: 0;
      height: 43px; } }
  header .inner {
    display: flex;
    justify-content: space-between;
    margin: auto;
    max-width: 1370px;
    width: 95%; }
  header .logo {
    line-height: 1;
    width: min(38.9051094891vw, 533px); }
    @media (max-width: 750px) {
      header .logo {
        line-height: 0;
        margin-top: 12px;
        width: 266px; } }
  header ul {
    display: flex;
    /*contact*/ }
    @media (max-width: 750px) {
      header ul {
        display: none; } }
    header ul li:not(.contact) a {
      color: #000;
      font-size: min(1.3138686131vw, 18px);
      transition: .2s; }
      @media (hover: hover) and (pointer: fine) {
        header ul li:not(.contact) a:hover {
          color: #007eb2; } }
    header ul li + li {
      margin-left: min(2.700729927vw, 37px); }
    header ul .contact a {
      background: #ff9a8b;
      color: #000;
      padding: min(2.0437956204vw, 28px) min(3.0656934307vw, 42px) min(1.9708029197vw, 27px);
      transition: .2s; }
      @media (hover: hover) and (pointer: fine) {
        header ul .contact a:hover {
          background: #ff4c31;
          color: #fff; } }
      header ul .contact a span {
        position: relative; }
        header ul .contact a span::before {
          content: "";
          background: url("../images/common/fukidashi.svg") no-repeat 0 0;
          background-size: contain;
          height: 24px;
          width: 27px;
          position: absolute;
          top: min(-1.0218978102vw, -14px);
          left: min(-1.7518248175vw, -24px); }
          @media (max-width: 750px) {
            header ul .contact a span::before {
              height: 24px;
              width: 27px; } }

/*header*/
.fixed-menu {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9; }
  @media (max-width: 750px) {
    .fixed-menu {
      display: block; } }

#nav-toggle {
  position: relative;
  z-index: 99999; }

#nav-toggle {
  background: #ff9a8b;
  height: 43px;
  width: 43px;
  padding-top: 12px;
  cursor: pointer;
  transition: .5s; }
  #nav-toggle .text {
    font-size: 9px;
    font-weight: 400;
    margin-top: 2px;
    text-align: center; }
  #nav-toggle > .bar {
    position: relative;
    margin: 0 auto 0;
    height: 12px;
    width: 20px; }
  #nav-toggle span {
    width: 100%;
    height: 1px;
    left: 0;
    display: block;
    background: #000;
    position: absolute;
    transition: transform .6s ease-in-out, top .5s ease; }
    #nav-toggle span:nth-child(1) {
      top: 0; }
    #nav-toggle span:nth-child(2) {
      top: 5px; }
    #nav-toggle span:nth-child(3) {
      top: 12px; }
  @media (hover: hover) and (pointer: fine) {
    #nav-toggle:hover span:nth-child(1) {
      top: -4px; } }
  @media (hover: hover) and (pointer: fine) and (max-width: 750px) {
    #nav-toggle:hover span:nth-child(1) {
      top: 0; } }
  @media (hover: hover) and (pointer: fine) {
    #nav-toggle:hover span:nth-child(2) {
      top: 7px; }
    #nav-toggle:hover span:nth-child(3) {
      top: 18px; } }
  @media (hover: hover) and (pointer: fine) and (max-width: 750px) {
    #nav-toggle:hover span:nth-child(3) {
      top: 14px; } }

  #nav-toggle .menu {
    line-height: 0; }

.open #nav-toggle.nav-toggle-bg {
  background: transparent;
  border-color: #ffd1e2; }
.open #nav-toggle span:nth-child(1) {
  top: 8px;
  transform: rotate(24deg); }
  @media (max-width: 750px) {
    .open #nav-toggle span:nth-child(1) {
      top: 4px; } }
.open #nav-toggle span:nth-child(2) {
  display: none; }
.open #nav-toggle span:nth-child(3) {
  top: 8px;
  transform: rotate(-24deg); }
  @media (max-width: 750px) {
    .open #nav-toggle span:nth-child(3) {
      top: 4px; } }

/************展開メニュー外側******************/
#gloval-nav {
  background: #007eb2;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9;
  min-height: 760px;
  visibility: hidden;
  opacity: 0;
  /*visibility: visible;
  opacity: 1;*/
  transition: opacity .6s ease, visibility .6s ease; }
  @media (max-width: 750px) {
    #gloval-nav {
      overflow-y: auto;
      padding: 6em 0em 1em;
      min-height: inherit; } }

.open #gloval-nav {
  visibility: visible;
  opacity: 1; }

/************展開メニュー装飾******************/
#gloval-nav {
  /*nav-inner*/ }
  #gloval-nav .nav-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 1200px;
    width: 80%;
    /*ul*/ }
    @media (max-width: 560px) {
      #gloval-nav .nav-inner {
        width: 85%; } }
    #gloval-nav .nav-inner .nav-logo {
      margin: auto;
      width: min(33.3333333333vw, 250px); }
      @media (max-width: 560px) {
        #gloval-nav .nav-inner .nav-logo {
          width: 144px; } }
    #gloval-nav .nav-inner .nav-glasses {
      margin: min(6.9333333333vw, 52px) auto 0;
      width: min(40vw, 300px); }
      @media (max-width: 560px) {
        #gloval-nav .nav-inner .nav-glasses {
          margin-top: 46px;
          width: 160px; } }
    #gloval-nav .nav-inner ul {
      margin-top: min(8.2666666667vw, 62px);
      /*li*/
      /*contact*/ }
      @media (max-width: 560px) {
        #gloval-nav .nav-inner ul {
          margin-top: 54px; } }
      #gloval-nav .nav-inner ul li a {
        background: #fff url("../images/common/icon-arrow-more.svg") no-repeat 95% center;
        background-size: min(3.2vw, 24px) min(3.6vw, 27px);
        border-radius: 45px;
        color: #000;
        display: block;
        font-size: min(2.6666666667vw, 20px);
        padding: 1.5em 0;
        text-align: center; }
        @media (max-width: 560px) {
          #gloval-nav .nav-inner ul li a {
            background-size: 12px 13px;
            font-size: 16px;
            padding: 1.25em 0; } }
      #gloval-nav .nav-inner ul li + li {
        margin-top: min(3.2vw, 24px); }
        @media (max-width: 560px) {
          #gloval-nav .nav-inner ul li + li {
            margin-top: 20px; } }
      #gloval-nav .nav-inner ul .contact a {
        background: #ff9a8b;
        transition: .2s; }
        @media (hover: hover) and (pointer: fine) {
          #gloval-nav .nav-inner ul .contact a:hover {
            background: #ff4c31;
            color: #fff; } }
        #gloval-nav .nav-inner ul .contact a span {
          position: relative; }
          #gloval-nav .nav-inner ul .contact a span::before {
            content: "";
            background: url("../images/common/fukidashi.svg") no-repeat 0 0;
            background-size: contain;
            height: 24px;
            width: 27px;
            position: absolute;
            top: -0.55em;
            left: -1.75em; }

/*gloval-nav*/
/***********************************************************************
footer
**********************************************************************/
footer {
  background: #fff;
  padding: min(3.6496350365vw, 50px) 0;
  margin-top: min(5.9854014599vw, 82px);
  /*menu*/ }
  @media (max-width: 560px) {
    footer {
      margin-top: min(18.75vw, 105px);
      padding: 30px 0 68px; } }
  @media (max-width: 560px) {
    footer .pc-disp {
      display: none; } }
  footer .sp-disp {
    display: none; }
    @media (max-width: 560px) {
      footer .sp-disp {
        display: block; } }
  footer .inner {
    display: flex;
    gap: 0 5%;
    margin: auto;
    max-width: 960px;
    width: 90%; }
    @media (max-width: 560px) {
      footer .inner {
        display: inherit; } }
  footer .site-policy {
    font-size: 14px;
    font-weight: 400;
    margin-top: 1em; }
    footer .site-policy em {
      font-weight: 700;
      font-style: normal; }
  footer .logo {
    width: min(22.4817518248vw, 308px); }
    @media (max-width: 750px) {
      footer .logo {
        width: 270px; } }
  footer .corpo-logo {
    margin-top: min(2.7737226277vw, 38px);
    width: min(20.6569343066vw, 283px); }
    @media (max-width: 560px) {
      footer .corpo-logo {
        margin-top: 2.5em;
        width: 283px; } }
  footer address {
    font-size: 14px;
    font-weight: 400;
    margin-top: 1em; }
  @media (max-width: 560px) {
    footer .menu {
      margin-top: 1.5em; } }
  @media (max-width: 560px) {
    footer .menu ul {
      margin: auto;
      width: 90%; } }
  footer .menu li + li {
    margin-top: .5em; }
    @media (max-width: 560px) {
      footer .menu li + li {
        margin-top: .25em; } }
  footer .menu li a {
    color: #000;
    transition: .2s; }
    footer .menu li a::before {
      content: "ー";
      margin-right: .25em;
      font-weight: 400; }
    @media (hover: hover) and (pointer: fine) {
      footer .menu li a:hover {
        color: #007eb2; } }
  footer .corporate-website {
    margin-top: min(3.503649635vw, 48px);
    width: min(20vw, 274px);
    transition: .2s; }
    @media (hover: hover) and (pointer: fine) {
      footer .corporate-website:hover {
        opacity: .7; } }
    @media (max-width: 560px) {
      footer .corporate-website {
        margin: 2em auto 0;
        width: 90%; } }
  footer .copyright {
    font-size: 12px;
    font-weight: 400;
    margin-top: 2em;
    text-align: center; }

/*footer*/
@media (max-width: 560px) {
  #contact footer,
  #confirm footer,
  #thanks footer {
    padding-bottom: 0px; } }
