@charset "utf-8";

/* =================================================================
		Base Setting
================================================================= */

@import url(https://fonts.googleapis.com/css?family=Oswald:400,300,700);
@import url(https://fonts.googleapis.com/css?family=Marck+Script);
html {
  overflow: auto;
}

body {
  text-align: center;
  font-size: 62.5%;
  line-height: 1.8;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  font-weight: 500;
  background-color: #fff;
  color: #000;
  overflow: hidden;
}

div,
ul {
  text-align: left;
}

ul li {
  list-style: none;
}

table {
  border-collapse: collapse;
  border: none;
  border-spacing: 0;
}

th,
td {
  vertical-align: top;
  text-align: left;
}

h1,
h2,
h3,
h4 {
  font-weight: bold;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

p {
  line-height: 1.8;
  letter-spacing: .05em;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

em {
  font-weight: bold;
  font-style: normal;
}


/* Base for pc */

@media screen and (min-width: 768px) {
  body {
    min-width: 1000px;
  }
}


/* =================================================================
		Layout
================================================================= */

/* Layout for tablet */

body.tablet,
body.tablet #wrap {
  min-width: 1040px;
}

body.tablet #wrap {
  opacity: 1;
}

body.tablet #key .inner {
  padding-top: 60%;
}


/* Layout for pc */

@media screen and (min-width: 768px) {
  #wrap {
    opacity: 0;
    margin: 0 auto;
    position: relative;
  }
  #container {
    font-size: 1.3em;
    margin: 0 auto 80px;
    position: relative;
  }
}


/* Layout for mobile */

@media screen and (max-width: 767px) {
  #wrap {
    margin: 0 auto;
    position: relative;
  }
  #container {
    font-size: 1.2em;
    margin: 0 auto;
    position: relative;
  }
}


/* =================================================================
		Header
================================================================= */

/* Header for pc */

@media screen and (min-width: 768px) {
  #site-header {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
  }
  #site-header .inner {
    width: 1000px;
    margin: 30px auto 0;
  }
  #site-header .logo {
    width: 220px;
    float: left;
    margin: 6px 0 0;
    -webkit-transition: 0.6s;
    transition: 0.6s;
  }
  #site-header .logo:hover {
    opacity: 0.7;
  }
  #gnav {
    width: 600px;
    float: right;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  #gnav li {
    font-size: 1.8em;
    line-height: 1.4;
    font-family: 'Oswald', sans-serif;
    text-align: center;
    background: url(../img/header/dot.png) right center no-repeat;
    padding: 0 .7em 0 0;
  }
  #gnav li:last-child {
    background: none;
  }
  #gnav li a {
    color: #000;
    text-decoration: none;
    display: block;
    width: 100%;
    padding: .4em .7em;
  }
  body.contact #gnav li a {
    text-shadow: 0 0 5px rgba(255, 255, 255, .7);
  }
  #gnav li a:hover {
    color: #0a42a2;
  }
  #site-header.fixed {
    height: 58px;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, .7);
  }
  #site-header.fixed .inner {
    margin: 8px auto 0;
  }
}


/* Header for mobile */

@media screen and (max-width: 767px) {
  #site-header {
    width: 100%;
    top: 0;
    position: fixed;
    padding: 1.5em 1.7em;
    z-index: 999;
  }
  #site-header .logo {
    width: 44%;
  }
  #site-header .logo img {
    width: 100%;
  }
}


/* =================================================================
		Footer
================================================================= */

/* Footer for pc */

@media screen and (min-width: 768px) {
  #site-footer {
    padding: 3em 0 10em;
  }
  #site-footer .logo {
    text-align: center;
    margin: 0 0 2.6em;
  }
  .foot-nav {
    font-size: 1.3em;
    text-align: center;
    margin: 0 0 1.8em;
  }
  .foot-nav li {
    color: #777;
    line-height: 1.2;
    display: inline-block;
    margin: 0 .8em;
  }
  .foot-nav a {
    color: #000;
    text-decoration: none;
  }
  .copyright {
    text-align: center;
    letter-spacing: .1em;
  }
}


/* Footer for mobile */

@media screen and (max-width: 767px) {
  #site-footer {
    padding: 3em 0;
  }
  #site-footer .logo {
    text-align: center;
    margin: 0 0 2.2em;
  }
  #site-footer .logo img {
    width: 52%;
    max-width: 257px;
    height: auto;
  }
  .foot-nav {
    font-size: 1.35em;
    text-align: center;
    margin: 0 0 1.8em;
  }
  .foot-nav li {
    color: #777;
    line-height: 2.2;
    display: inline-block;
    margin: 0 .8em;
  }
  .foot-nav a {
    color: #000;
    text-decoration: none;
  }
  .copyright {
    text-align: center;
    letter-spacing: .1em;
  }
}


/* =================================================================
		Common
================================================================= */

/* Common for pc */

@media screen and (min-width: 768px) {
  .btn-link a {
    font-size: 1.35em;
    text-decoration: none;
    color: #000;
    background: #f5f5f5 url(../img/parts/ico_arrow.png) right 10% center no-repeat;
    display: inline-block;
    border: 1px solid #f5f5f5;
    padding: .35em 3em .35em 1.9em;
    -webkit-transition: 0.1s;
    transition: 0.1s;
  }
  .btn-link a:hover {
    border: 1px solid #d1d1d1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .btn-externallink {
    text-align: center;
  }
  .btn-externallink a {
    width: 370px;
    font-size: 1.25em;
    text-decoration: none;
    color: #000;
    background: #f5f5f5 url(../img/parts/ico_blank.png) right 18px top .8em no-repeat;
    border: 1px solid #f5f5f5;
    display: block;
    margin: 0 auto 1.3em;
    padding: .5em 10px .5em 0;
    -webkit-transition: 0.1s;
    transition: 0.1s;
  }
  .btn-externallink a:hover {
    border: 1px solid #d1d1d1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .ico-new {
    background: url(../img/parts/ico_new.png) right 17px center / 34px auto no-repeat;
  }

  .btn-app h3 {
    font-weight: normal;
    text-align: center;
    margin: 0 0 .8em;
  }

  .btn-app {
    margin-bottom: 12px;
  }

  .list-app {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .list-app li {
    display: block;
    width: 196px;
    margin: 0 7px;
  }

  .list-app a img {
    width: 100%;
    opacity: 1;
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }

  .list-app a:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }

  .pc {
    display: inline;
  }

  .sp {
    display: none;
  }
}


/* Common for mobile */

@media screen and (max-width: 767px) {
  .btn-link {
    text-align: center
  }
  .btn-link a {
    font-size: 1.25em;
    text-decoration: none;
    color: #000;
    background: #f5f5f5 url(../img/parts/ico_arrow.png) right 10% center no-repeat;
    display: inline-block;
    padding: .45em 3em .45em 1.9em;
  }
  .btn-externallink {
    text-align: center;
  }
  .btn-externallink a {
    font-size: 1.25em;
    text-decoration: none;
    color: #000;
    background: #f5f5f5 url(../img/parts/ico_blank.png) right .9em top .9em no-repeat;
    display: inline-block;
    padding: .45em 2.4em .45em 1.3em;
  }
  .ico-new {
    background: url(../img/parts/ico_new.png) right 0 center / 25% auto no-repeat;
  }
  .btn-app {
    margin: 1.6em 0 1em;
  }
  .btn-app h3 {
    font-weight: normal;
    text-align: center;
    margin: 0 0 .6em;
  }

  .list-app {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .list-app li {
    display: block;
    width: 48%;
    margin: 0 1%;
  }
  .list-app a img {
    width: 100%;
  }

  .sp {
    display: inline;
  }
  .pc {
    display: none;
  }
}


/* gnav */

/* Fixed */

#site-header.fixed {
  height: 58px;
  background: rgba(255, 255, 255, .7);
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
  z-index: 999;
}


/* Toggle Button */

#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 12px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}

#nav-toggle div {
  position: relative;
}

#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #666;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 11px;
}

#nav-toggle span:nth-child(3) {
  top: 22px;
}

@media screen and (max-width: 767px) {
  #site-header {
    top: 0;
    position: fixed;
    background: rgba(255, 255, 255, 0);
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
  }
  #site-header.fixed {
    background: rgba(255, 255, 255, .5);
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
  }
  /* Fixed reset */
  #gnav {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 52px;
    left: 0;
    background: rgba(0, 0, 0, .7);
    width: 100%;
    -webkit-transition: .5s;
    transition: .5s;
  }
  #gnav ul {
    list-style: none;
    position: static;
    right: 0;
    bottom: 0;
    font-size: 14px;
  }
  #gnav li {
    font-family: 'Oswald', sans-serif;
    font-size: 1.6em;
    overflow: hidden;
    opacity: 0;
    height: 0;
    -webkit-transition: .6s;
    transition: .6s;
  }
  #site-header #gnav li a {
    width: 100%;
    display: block;
    color: #fff;
    text-decoration: none;
    text-align: center;
    padding: 16px 0;
  }
  #nav-toggle {
    display: block;
  }
  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }
  /* #gnav スライドアニメーション */
  .open #gnav {
    top: 100%;
    visibility: visible;
    opacity: 1;
  }
  .open #gnav li {
    opacity: 1;
    overflow: visible;
    height: 60px;
  }
}

/*
.home-concept,
.company-concept {
 display: none;
}
*/
