@charset "UTF-8";
/* =======================================

    style.css

 -----------------------------------------
    INDEX
 -----------------------------------------
    1.common
    2.header
    3.nav
    4.contents
    5.footer
========================================== */

/* 1.common
========================================== */
* {
    margin: 0px;
    padding: 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1;
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 100;
    src: url('../fonts/NotoSansCJKjp-Thin.woff2') format('woff2'),
       url('../fonts/NotoSansCJKjp-Thin.woff') format('woff'),
       url('../fonts/NotoSansCJKjp-Thin.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Thin.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 200;
    src: url('../fonts/NotoSansCJKjp-Light.woff2') format('woff2'),
       url('../fonts/NotoSansCJKjp-Light.woff') format('woff'),
       url('../fonts/NotoSansCJKjp-Light.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Light.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/NotoSansCJKjp-DemiLight.woff2') format('woff2'),
       url('../fonts/NotoSansCJKjp-DemiLight.woff') format('woff'),
       url('../fonts/NotoSansCJKjp-DemiLight.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-DemiLight.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/NotoSansCJKjp-Regular.woff2') format('woff2'),
       url('../fonts/NotoSansCJKjp-Regular.woff') format('woff'),
       url('../fonts/NotoSansCJKjp-Regular.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Regular.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/NotoSansCJKjp-Medium.woff2') format('woff2'),
       url('../fonts/NotoSansCJKjp-Medium.woff') format('woff'),
       url('../fonts/NotoSansCJKjp-Medium.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Medium.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/NotoSansCJKjp-Bold.woff2') format('woff2'),
       url('../fonts/NotoSansCJKjp-Bold.woff') format('woff'),
       url('../fonts/NotoSansCJKjp-Bold.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Bold.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/NotoSansCJKjp-Black.woff2') format('woff2'),
       url('../fonts/NotoSansCJKjp-Black.woff') format('woff'),
       url('../fonts/NotoSansCJKjp-Black.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Black.eot') format('embedded-opentype');
}

ul {
    list-style-type: none;
    letter-spacing: -0.5em;
}
ul li {
    letter-spacing: normal;
}
a {
  color: #000;
  text-decoration: none;
}
img {
    border: none;
}
body {
    position: relative;
    font-size: 16px;
    font-family: 'Noto Sans Japanese', serif;
    line-height: 1.786;
}
body:not(.page):before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background: url(../img/bg.jpg) center no-repeat;
    background-size: cover;
}
br.sp_br {
    display: none;
}
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
.sec_head {
  display: flex;
  justify-content: center;
  padding: 80px 0;
}
.sec_head h2 {
  text-align: center;
}
.sec_head h2 p.large {
  color: #003c82;
  font-size: 48px;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 12px;
  font-family: 'Teko', serif;
}
.sec_head h2 p.small {
  color: #003c82;
  font-size: 16px;
  line-height: 1;
  font-weight: 400;
}
.sp_only {
  display: none;
}
@media screen and (max-width: 767px) {
  br.sp_br {
      display: block;
  }
  br.pc_br {
      display: none;
  }
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
  .sec_head {
    padding: 50px 0;
  }
  .sec_head h2 p.large {
    margin-bottom: 6px;
  }
}

/* 2.header
========================================== */
header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 40px;
    z-index: 4;
}
header .logo {
    flex-basis: 240px;
}
header .logo img {
    width: 100%;
    height: auto;
}
nav {
  height: 86px;
  background-color: #003c82;
  transition: .3s;
}
nav .nav_inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
nav .nav_inner .logo {
  display: none;
}
nav .nav_inner ul.menu {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0;
}
nav .nav_inner ul.menu li a {
  display: block;
  text-align: center;
  padding: 6px 40px;
  border-right: 1px solid #002754;
}
nav .nav_inner ul.menu li:last-child a {
  border-right: none;
}
nav .nav_inner ul.menu li a:hover {
  opacity: .8;
}
nav .nav_inner ul.menu li a p.large {
  color: #fff;
  margin-bottom: 12px;
}
nav .nav_inner ul.menu li a p.small {
  color: #fff;
  font-size: 14px;
  font-family: 'Teko', serif;
}
nav.hide {
  transform: translateY(-100%);
  transition: .3s;
}

.fixed_nav {
  height: 86px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  transform: translateY(-100%);
  background-color: #fff;
  transition: .3s;
  box-shadow: 0 1px 6px 0 rgba(32,33,36,0.28);
}
.fixed_nav.show {
  transform: translateY(0);
}
.fixed_nav .nav_inner {
  display: flex;
  align-items: center;
  max-width: 1120px;
  margin: 0 auto;
  justify-content: space-between;
}
.fixed_nav .nav_inner .logo {
  flex-basis: 240px;
}
.fixed_nav .nav_inner .logo img {
  width: 100%;
  height: auto;
}
.fixed_nav .nav_inner ul.menu {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0;
}
.fixed_nav .nav_inner ul.menu li a {
  display: block;
  text-align: center;
  padding: 6px 30px;
}
.fixed_nav .nav_inner ul.menu li a:hover {
  opacity: .8;
}
.fixed_nav .nav_inner ul.menu li a p.large {
  color: #000;
  margin-bottom: 12px;
  font-size: 15px;
}
.fixed_nav .nav_inner ul.menu li a p.small {
  color: #000;
  font-size: 14px;
  font-family: 'Teko', serif;
}

@media screen and (max-width: 1023px) {
  nav .nav_inner ul.menu li a {
    padding: 6px 20px;
  }
  nav.scroll .nav_inner ul.menu li a {
    padding: 6px 16px;
  }
  nav.scroll .nav_inner ul.menu li a p.large {
    font-size: 13px;
  }
}
@media screen and (max-width: 768px) {
  .fixed_nav .nav_inner {
    padding: 0 24px;
  }
  .fixed_nav .nav_inner ul.menu li a {
    padding: 6px 14px 6px 0;
  }
}
@media screen and (max-width: 767px) {
  header {
    position: static;
    height: 75px;
    padding: 20px;
    justify-content: center;
    background-color: #fff;
  }
  header .logo {
    flex-basis: 220px;
  }
    header .hamburger {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        width: 75px;
        height: 75px;
        background-color: rgba(255,255,255,.7);
        z-index: 9999;
        transition: background-color .2s linear;
    }
    header .menu-trigger,
    .menu-trigger span {
      display: inline-block;
      transition: all .4s;
      box-sizing: border-box;
    }
    .menu-trigger {
      position: fixed;
      top: 26px;
      right: 20px;
      width: 35px;
      height: 23px;
    }
    .menu-trigger span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: #003c82;
    }
    .menu-trigger span:nth-of-type(1) {
      top: 0;
    }
    .menu-trigger span:nth-of-type(2) {
      top: 11px;
    }
    .menu-trigger span:nth-of-type(3) {
      bottom: 0;
    }
    .menu-trigger.active span {

    }
    .menu-trigger.active span:nth-of-type(1) {
      -webkit-transform: translateY(11px) rotate(-45deg);
      transform: translateY(11px) rotate(-45deg);
    }
    .menu-trigger.active span:nth-of-type(2) {
      opacity: 0;
    }
    .menu-trigger.active span:nth-of-type(3) {
      -webkit-transform: translateY(-11px) rotate(45deg);
      transform: translateY(-11px) rotate(45deg);
    }
    nav {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: calc(100vw);
      min-height: calc(100vh);
      background-color: #fff;
      z-index: 9998;
      padding: 100px 45px 0;
      overflow-y: scroll;
    }
    nav.open {
        display: block;
        animation: open .3s linear 0s;
    }
    @keyframes open {
        from{
            opacity: 0;
        }
        to{
            opacity: 1;
        }
    }
    nav .nav_inner {
      flex-wrap: wrap;
    }
    nav .nav_inner ul.menu {
      width: 100%;
      flex-wrap: wrap;
      padding: 0;
      justify-content: flex-start;
      margin-bottom: 60px;
    }
    nav .nav_inner ul.menu li {
      flex-basis: 100%;
      margin-bottom: 30px;
    }
    nav .nav_inner ul.menu li:last-child {
      margin-bottom: 0;
    }
    nav .nav_inner ul.menu li a {
      display: inline;
      text-align: left;
      padding: 0;
      border-right: none;
    }
    nav .nav_inner ul.menu li a p.large {
      color: #003c82;
      font-size: 18px;
      margin-bottom: 0;
    }
    nav .nav_inner ul.menu li a p.small {
      display: none;
    }
    .fixed_nav {
      display: none;
    }
}
/* 4.contents
========================================== */
.mv {
  position: relative;
  font-size: 0;
}

.mv figure {
  width: 100%;
  height: calc(100vh - 86px);
  background: url(../img/mv.jpg) no-repeat center center;
  background-size: cover;
}
.mv .dotted {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/dot.png);
  z-index: 2;
}
.mv .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.4);
  z-index: 3;
}
.mv .text_wrap {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  z-index: 4;
}
.mv .text_wrap .txt01 {
  color: #fff;
  font-size: 20px;
  text-align: center;
  margin-bottom: 20px;
  letter-spacing: .25em;
}
.mv .text_wrap .txt02 {
  color: #fff;
  font-size: 142px;
  font-family: 'Teko', serif;
  text-align: center;
  margin-bottom: 16px;
}
.mv .text_wrap .txt02 span {
  margin: 0 24px;
}
.mv .text_wrap .txt03 {
  color: #fff;
  font-size: 22px;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .mv .text_wrap .txt02 {
    font-size: 100px;
  }
  .mv .text_wrap .txt02 span {
    display: block;
    margin: 0;
    line-height: .666;
  }
  .mv .text_wrap .txt03 {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .mv figure {
    height: calc(100vh - 75px);
  }
  .mv .dotted {
    display: none;
  }
  .mv .text_wrap .txt02 {
    font-size: 80px;
  }
}

section.information {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 0;
  background-color: #fff;
}
section.information .info_block {
  border: 4px solid red;
  padding: 40px;
}
section.information .info_block h2 {
  text-align: center;
  margin-bottom: 1em;
}
section.information .info_block p {
  line-height: 1.8;
  text-align: center;
}
section.information .info_block p.date {
  float: right;
}
@media screen and (max-width: 767px) {
  section.information .info_block p.date {
    float: none;
    text-align: left;
    margin-bottom: 16px;
  }
  section.information .info_block p {
    text-align: left;
  }
}

section.handling {
  background-color: #fff;
  padding-bottom: 80px;
}
section.handling ul.handling_list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  max-width: 960px;
  margin: 0 auto;
}
section.handling ul.handling_list li {
  flex-basis: 28%;
  margin-right: 8%;
  margin-bottom: 6%;
}
section.handling ul.handling_list li:nth-child(3n){
  margin-right: 0;
}
section.handling ul.handling_list li img {
  width: 100%;
  height: auto;
}
section.handling .block_wrap {
  display: flex;
  flex-wrap: wrap;
}
section.handling .block_wrap .block {
  flex-basis: 50%;
  position: relative;
}
section.handling .block_wrap .block figure {
  position: relative;
  padding-top: 55.714%;
  min-height: 390px;
  font-size: 0;
}
section.handling .block_wrap .block figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.handling .block_wrap .block .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.5);
}
section.handling .block_wrap .block .inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
section.handling .block_wrap .block .inner .contents {
  padding: 0 20%;
}
section.handling .block_wrap .block .inner .contents p.head {
  font-size: 24px;
  text-align: center;
  color: #fff;
  margin-bottom: 1rem;
}
section.handling .block_wrap .block .inner .contents p.desc {
  color: #fff;
  font-size: 14px;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  section.handling {
    padding-bottom: 50px;
  }
  section.handling ul.handling_list {
    justify-content: flex-start;
    padding: 0 25px;
  }
  section.handling ul.handling_list li,
  section.handling ul.handling_list li:nth-child(3n),
  section.handling ul.handling_list li:nth-child(n+4),
  section.handling ul.handling_list li:nth-child(5) {
    flex-basis: 45%;
    margin-right: 10%;
    margin-bottom: 10%;
  }
  section.handling ul.handling_list li:nth-child(2n) {
    margin-right: 0;
  }
}
section.company {
  background-image: url(../img/company_bg.jpg);
  background-size: cover;
  background-position: center center;
  padding-bottom: 80px;
}
section.company .sec_head {
  padding: 80px 0 40px;
}
section.company .inner {
  max-width: 940px;
  margin: 0 auto;
}
section.company .inner .block {
  margin-bottom: 30px;
}
section.company .inner .block:last-of-type {
  margin-bottom: 0;
}
section.company .inner dl {
  clear: both;
}
section.company .inner dl dt {
  float: left;
  line-height: 2;
  font-size: 14px;
}
section.company .inner dl dd {
  margin-left: 150px;
  line-height: 2;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  section.company {
    padding: 0 24px 80px;
  }
}
@media screen and (max-width: 767px) {
  section.company {
    background-image: url(../img/company_bg_sp.png);
    height: auto;
    padding-bottom: 40px;
  }
  section.company .sec_head {
    padding: 50px 0 32px;
  }
  section.company .inner {
  }
  section.company .inner .block {
    border-bottom: 1px solid #7d7d7d;
    margin-bottom: 12px;
    padding-bottom: 12px;
  }
  section.company .inner .block:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  section.company .inner dl dt {
    float: none;
    color: #313131;
  }
  section.company .inner dl dd {
    margin-left: 0;
    color: #313131;
  }
}
section.greeting {
  background-image: url(../img/greeting_bg.png);
  background-size: cover;
  background-position: center center;
  padding-bottom: 80px;
}
section.greeting .sec_head {
  padding: 80px 0 54px;
}
section.greeting .sec_head h2 p {
  color: #fff;
}
section.greeting .txt_block {
  text-align: center;
  margin-bottom: 60px;
}
section.greeting .txt_block p {
  font-size: 16px;
  color: #fff;
  line-height: 1.8;
}
section.greeting .sign_block {
  max-width: 980px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
section.greeting .sign_block figure {
  width: 100%;
  max-width: 300px;
}
section.greeting .sign_block figure img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  section.greeting {
    padding: 0 24px 80px;
  }
}
@media screen and (max-width: 767px) {
  section.greeting {
    background-image: url(../img/greeting_bg_sp.png);
    height: auto;
    padding: 0 25px 50px;
  }
  section.greeting .sec_head {
    padding: 50px 0 40px;
  }
  section.greeting .txt_block {
    text-align: left;
    margin-bottom: 24px;
  }
  section.greeting .txt_block p {
    font-size: 13px;
  }
  section.greeting .tel_block p.tel {
    width: 100%;
    font-size: 42px;
    line-height: 65px;
  }
  section.greeting .sign_block {
    justify-content: flex-end;
  }
  section.greeting .sign_block figure {
    max-width: 200px;
  }
}
section.contact {
  background-image: url(../img/dot_bg.png);
  padding-bottom: 80px;
}
section.contact .sec_head {
  padding: 80px 0 60px;
}
section.contact .block_wrap {
  max-width: 1100px;
  margin: 0 auto;
}
section.contact .contact_form {
  border-top: 6px solid #003c82;
  background-color: #fff;
  padding: 50px 70px 60px;
}
section.contact .contact_form p.form_head {
  text-align: center;
  color: #535353;
  font-size: 15px;
  margin-bottom: 50px;
  line-height: 1.666;
}
.contact--confirm--msg {
  display: none;
}
.mw_wp_form_confirm .contact--msg {
  display: none;
}
.mw_wp_form_confirm .contact--confirm--msg {
  display: block;
}



section.contact .contact_form .form_items {
  margin-bottom: 40px;
}
section.contact .contact_form .form_items .item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
section.contact .contact_form .form_items .item:last-of-type {
  margin-bottom: 0;
}
section.contact .contact_form .form_items .item .head {
  flex-basis: 200px;
  color: #535353;
  font-size: 15px;
}
section.contact .contact_form .form_items .item .head span {
  font-size: 13px;
  color: #ff0000;
  margin-left: 4px;
}
section.contact .contact_form .form_items .item .input_wrap {
  flex-basis: calc(100% - 200px);
}
section.contact .contact_form .form_items .item .input_wrap input {
  width: 100%;
  line-height: 50px;
  height: 50px;
  border-radius: 6px;
  background-color: #eee;
  border: none;
  font-size: 16px;
  padding: 0 1rem;
  font-family: 'Noto Sans Japanese', serif;
}
section.contact .contact_form .form_items .item .input_wrap span.error {
  padding-top: .5rem;
  color: #ff0000;
  font-size: 15px;
}
section.contact .contact_form .form_items .item .input_wrap textarea {
  width: 100%;
  height: 200px;
  padding: 1rem;
  border-radius: 6px;
  background-color: #eee;
  border: none;
  font-size: 16px;
  resize: none;
  font-family: 'Noto Sans Japanese', serif;
}
section.contact .contact_form .btn_area {
  display: flex;
  align-items: center;
  justify-content: center;
}
section.contact .contact_form .btn_area .submit_check {
  flex-basis: 280px;
}
section.contact .contact_form .btn_area .submit_check input {
  width: 100%;
  background-color: transparent;
  border: 1px solid #003c82;
  line-height: 53px;
  text-align: center;
  color: #003c82;
  font-size: 18px;
}
section.contact .contact_form .btn_area .submit_check input:hover {
  background-color: #003c82;
  color: #fff;
}
@media screen and (max-width: 767px) {
  section.contact {
    padding-bottom: 15px;
  }
  section.contact .sec_head {
    padding: 50px 0 45px;
  }
  section.contact .block_wrap {
    padding: 0 15px;
  }
  section.contact .contact_form {
    padding: 30px 16px;
  }
  section.contact .contact_form p.form_head {
    text-align: left;
    padding-left: 15px;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 25px;
  }
  section.contact .contact_form .form_items .item {
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
  section.contact .contact_form .form_items .item .head {
    flex-basis: 100%;
    margin-bottom: 15px;
  }
  section.contact .contact_form .form_items .item .input_wrap {
    flex-basis: 100%;
  }
}
#recruitment {
  background-color: #fff;
  padding-bottom: 60px;
  margin-bottom: 240px;
}
#privacy {
  background-color: #fff;
  padding-bottom: 60px;
}
section.policy .block_wrap {
  max-width: 960px;
  margin: 0 auto;
}
section.policy .block_wrap .block {
  border-bottom: 1px solid #d2d2d2;
  padding: 16px 0;
}
section.policy .block_wrap .block .head {
  font-size: 13px;
  font-weight: bold;
  line-height: 2;
}
section.policy .block_wrap .block ul.desc li {
  font-size: 13px;
  line-height: 2;
  text-indent: -1em;
  margin-left: 1em;
}
section.policy .block_wrap .block p.desc {
  font-size: 13px;
  line-height: 2;
}
section.policy .block .desc__sentence__item {
    margin: .5rem 0 0 .5rem;
    line-height: 1.5;
    font-size: 13px;
}
@media screen and (max-width: 768px) {
  section.policy .block_wrap {
    padding: 0 24px;
  }
}
@media screen and (max-width: 480px) {
  section.policy .sec_head {
    padding: 50px 0 40px;
  }
  section.policy .block_wrap {
    padding: 0 25px;
  }
  section.policy .block_wrap .block {
    padding: 12px 0;
  }
}
.parallax {
    position: relative;
    font-size: 0;
    height: 330px;
    overflow: hidden;
}
.parallax img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
footer {
  padding: 40px 0;
  background-color: #003c82;
}
footer .inner {
  max-width: 1100px;
  margin: 0 auto;
}
footer .inner .top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
  flex-wrap: wrap;
}
footer .inner .top .logo {
  flex-basis: 240px;
}
footer .inner .top .logo img {
  width: 100%;
  height: auto;
}
footer .inner .top ul.menu li {
  display: inline-block;
}
footer .inner .top ul.menu li:after {
  content: "|";
  color: #fff;
  margin: 0 16px;
}
footer .inner .top ul.menu li:last-child:after {
  content: "";
  margin: 0;
}
footer .inner .top ul.menu li a {
  color: #fff;
  line-height: 1.8;
  font-size: 13px;
}
footer .inner .top ul.menu li a:hover {
  opacity: .8;
}
footer .inner .bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
footer .inner .bottom .address p {
  color: #fff;
  line-height: 1.8;
  font-size: 13px;
}
footer .inner .bottom p.copy {
  color: #fff;
  font-size: 11px;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  footer .inner .top ul.menu {
    margin-top: 12px;
  }
  footer .inner {
    padding: 0 24px;
  }
}
@media screen and (max-width: 767px) {
  footer {
    padding: 36px 0;
  }
  footer .inner .top .logo {
    flex-basis: 240px;
  }
  footer .inner .top ul.menu,
  footer .inner .bottom .address {
    display: none;
  }
  footer .inner .top {
    justify-content: center;
    margin-bottom: 20px;
  }
  footer .inner .bottom {
    justify-content: center;
  }

}

header.contact_header {
  display: none;
}
.mv.scroll {
  margin-bottom: 85px;
}
.contact_container {
  padding-top: 85px;
  min-height: calc(100vh - 286px);
  background-color: #fff;
}
nav.contact_nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9998;
  background-color: #fff;
  box-shadow: 0 1px 6px 0 rgba(32,33,36,0.28);
}
nav.contact_nav .nav_inner {
  max-width: 1120px;
  margin: 0 auto;
  justify-content: space-between;
}
nav.contact_nav .nav_inner .logo {
  display: block;
  flex-basis: 240px;
}
nav.contact_nav .nav_inner .logo img {
  width: 100%;
  height: auto;
}
nav.contact_nav .nav_inner ul.menu li a {
  padding: 6px 30px;
  border-right: none;
}
nav.contact_nav .nav_inner ul.menu li a p.large {
  font-size: 15px;
  color: #000;
}
nav.contact_nav .nav_inner ul.menu li a p.small {
  color: #000;
}
.contact_container section.contact .contact_form .form_items .item .input_wrap {
  padding: 18px 0;
}
.contact_container section.contact.contact_confirm .contact_form .btn_area .submit_back {
  flex-basis: 280px;
  margin-right: 20px;
}
.contact_container section.contact .contact_form .btn_area .submit_back input {
  width: 100%;
  background-color: transparent;
  border: 1px solid #003c82;
  line-height: 53px;
  text-align: center;
  color: #003c82;
  font-size: 18px;
}
.contact_container section.contact .contact_form .btn_area .submit_back input:hover {
  background-color: #003c82;
  color: #fff;
}
section.contact .contact_form .btn_area a {
  flex-basis: 280px;
  background-color: transparent;
  border: 1px solid #003c82;
  line-height: 53px;
  text-align: center;
  color: #003c82;
  font-size: 18px;
}
section.contact .contact_form .btn_area a:hover {
  background-color: #003c82;
  color: #fff;
}
section.contact_complete {
  min-height: calc(100vh - 285px);
}
@media screen and (max-width: 767px) {
  header.contact_header {
    display: flex;
  }
  nav.contact_nav .nav_inner .logo {
    display: none;
  }
  nav.contact_nav .nav_inner {
    flex-wrap: wrap;
  }
  nav.contact_nav .nav_inner ul.menu {
    width: 100%;
    flex-wrap: wrap;
    padding: 0;
    justify-content: flex-start;
    margin-bottom: 60px;
  }
  nav.contact_nav .nav_inner ul.menu li {
    flex-basis: 100%;
    margin-bottom: 30px;
  }
  nav.contact_nav .nav_inner ul.menu li:last-child {
    margin-bottom: 0;
  }
  nav.contact_nav .nav_inner ul.menu li a {
    display: inline;
    text-align: left;
    padding: 0;
    border-right: none;
  }
  nav.contact_nav .nav_inner ul.menu li a p.large {
    color: #003c82;
    font-size: 18px;
    margin-bottom: 0;
  }
  nav.contact_nav .nav_inner ul.menu li a p.small {
    display: none;
  }
  .contact_container {
      padding-top: 0;
    }
  .contact_container section.contact .contact_form .form_items .item .input_wrap {
    padding: 0;
  }
  .contact_container section.contact .contact_form .btn_area {
    flex-wrap: wrap;
  }
  .contact_container section.contact .contact_form .btn_area .submit_back,
  .contact_container section.contact .contact_form .btn_area .submit_check {
    flex-basis: 100%;
  }
  .contact_container section.contact .contact_form .btn_area .submit_back {
    order: 2;
    margin-right: 0;
    margin-top: 20px;
  }
  .contact_container section.contact .contact_form .btn_area .submit_check {
    order: 1;
  }
  section.contact_complete {
    min-height: calc(100vh - 230px);
  }
}


section.privacy {
  background-image: url(../img/dot_bg.png);
  padding-bottom: 80px;
}
section.privacy .sec_head {
  padding: 80px 0 60px;
}
section.privacy .block_wrap {
  max-width: 1100px;
  margin: 0 auto;
}
section.privacy .privacy_content {
  border-top: 6px solid #003c82;
  background-color: #fff;
  padding: 50px 70px 60px;
}
section.privacy .block {
  border-bottom: 1px solid #d2d2d2;
  padding: 16px 0;
}
section.privacy .block .head {
  font-size: 13px;
  font-weight: bold;
  line-height: 2;
}
section.privacy .block ul.desc li {
  font-size: 13px;
  line-height: 2;
  text-indent: -1em;
  margin-left: 1em;
}
section.privacy .block p.desc {
  font-size: 13px;
  line-height: 2;
}
section.privacy .block .desc__sentence__item {
    margin: .5rem 0 0 .5rem;
    line-height: 1.5;
    font-size: 13px;
}


section.law {
  background-image: url(../img/dot_bg.png);
  padding-bottom: 80px;
}
section.law .sec_head {
  padding: 80px 0 60px;
}
section.law .block_wrap {
  max-width: 1100px;
  margin: 0 auto;
}
section.law .law_content {
  border-top: 6px solid #003c82;
  background-color: #fff;
  padding: 50px 70px 60px;
}
.law_table {
    border-collapse: collapse;
    width: 100%;
    border-top: 1px solid #e2e2e2;
}
.law_table th {
    width: 240px;
    font-size: 14px;
    font-weight: 700;
    padding: 2rem 0;
    text-indent: 1rem;
    text-align: left;
    border-bottom: 1px solid #e2e2e2;
    vertical-align: top;
    line-height: 1.5;
}
.law_table td {
    font-size: 14px;
    padding: 2rem 0;
    border-bottom: 1px solid #e2e2e2;
    line-height: 1.5;
}
.law_table td .ggmap {
    position: relative;
    padding-bottom: 40%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    margin-top: 1rem;
}
.law_table td .ggmap iframe,
.law_table td .ggmap object,
.law_table td .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
