@charset "UTF-8";
html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
address,
code,
em,
span.strong,
img,
q,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
hr {
  padding: 0;
  margin: 0;
  /*zoom: 1;*/
  font-style: normal;
  font-weight: normal;
  line-height: 100%;
  word-break: break-all; }

/* ------------------------------------------------------------ body reset */
body {
  font-family: "ヒラギノ角ゴ Pro w3","Hiragino Kaku Gothic Pro","Meiryo","メイリオ","Osaka","ＭＳ Ｐゴシック","MS P Gothic","Arial",sans-serif;
  font-size: 16px;
  background-color: #fff; }

table {
  font-size: 100%; }

strong {
  font-weight: normal; }

/* ------------------------------------------------------------ Table Elements */
table,
th,
td {
  border-collapse: collapse;
  border-spacing: 0; }

/* ------------------------------------------------------------ Form Elements */
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit; }

button {
  border: 0; }

button:hover {
  cursor: pointer; }

label {
  cursor: pointer; }

/* ------------------------------------------------------------ etc */
a,
fieldset,
img {
  border: 0; }

ol li,
ul li {
  list-style-type: none; }

/* ------------------------------------------------------------ img */
*:first-child + html img {
  vertical-align: bottom; }

* html img {
  vertical-align: bottom; }

img {
  margin-bottom: 0;
  font-size: 0;
  line-height: 0;
  vertical-align: middle;
  border: none; }

/* ------------------------------------------------------------ input */
input {
  vertical-align: middle;
  display: inline; }

*:first-child + html input {
  vertical-align: middle; }

* html input {
  vertical-align: middle; }

/* ------------------------------------------------------------ select */
select {
  vertical-align: middle; }

*:first-child + html select {
  vertical-align: middle; }

* html select {
  vertical-align: middle; }

/* ------------------------------------------------------------ clear Fix */
.cfx:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden; }

.cfx {
  min-height: 1px; }

*, *:before, *:after {
  box-sizing: border-box; }

/* ------------------------------------------------------------ iphone */
@media screen and (max-device-width: 480px) {
  body {
    -webkit-text-size-adjust: none;
    /* iPhone */ } }
/* ------------------------------------------------------------ common */
html {
  font-size: 62.5%;
  width: 100%;
  height: 100%; }

body {
  height: 100%;
  width: 100%;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; }

a:link {
  color: #111;
  text-decoration: none; }

a:visited {
  color: #111;
  text-decoration: none; }

a:hover,
a:hover img,
input[type="submit"]:hover {
  color: #111;
  text-decoration: none;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8; }

input[type="text"],
select,
textaera {
  border: 1px solid #b5b5b5;
  border-radius: inherit;
  outline: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

img {
  max-width: 100%;
  height: auto; }

input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
  padding: 0;
  border: none; }

.only_pc {
  display: none; }

.only_sp_inline {
  display: none; }

p {
  line-height: 2;
  font-size: 1.4rem; }

.header {
  width: 120px;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 10;
  background: #ffffff; }
  .header .logo {
    display: block;
    height: 218px;
    width: 35px;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    transform: translateY(-50%); }
    .header .logo .sp {
      display: none; }

.nav {
  width: 100%;
  height: 80px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 20; }
  .nav.top .menu li a {
    color: #ffffff; }
  .nav p {
    display: none;
    padding-top: 20%;
    text-align: center; }
    .nav p span {
      color: #ffffff;
      font-family: ten-mincho,serif;
      font-weight: 400;
      font-style: normal;
      font-size: 2rem;
      position: relative; }
      .nav p span:before, .nav p span:after {
        content: '';
        display: block;
        width: 46px;
        height: 1px;
        background: #ffffff;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto; }
      .nav p span:before {
        left: -54px; }
      .nav p span:after {
        right: -54px; }

.menu {
  max-width: 900px;
  display: flex;
  justify-content: space-evenly;
  align-items: flex-end;
  margin: 60px auto 0; }
  .menu li a {
    font-size: 1.4rem;
    color: #000000;
    font-family: ten-mincho,serif;
    font-weight: 400;
    font-style: normal; }

.left-bar {
  width: 120px;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background: #ffffff; }
  .left-bar .arrow {
    position: relative;
    display: block;
    height: 32px;
    width: 42px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .left-bar .arrow::before {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      content: "";
      vertical-align: middle; }
    .left-bar .arrow::before {
      left: 7px;
      width: 20px;
      height: 20px;
      border-top: 1px solid #707070;
      border-right: 1px solid #707070;
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }

.main {
  padding: 200px 120px 0; }

.footer {
  padding: 50px 0;
  margin: 50px auto 0;
  text-align: center; }
  .footer small {
    font-size: 1.2rem;
    font-family: ten-mincho,serif;
    font-weight: 400;
    font-style: normal; }

@media only screen and (max-width: 1260px) {
  .header {
    width: 90px; }
    .header .logo {
      width: 28px;
      height: 175px; }

  .left-bar {
    width: 90px; }
    .left-bar .arrow {
      width: 38px;
      height: 20px; } }
.open-menu {
  display: none;
  position: absolute;
  right: 20px;
  top: 24px;
  z-index: 100; }
  .open-menu span {
    display: block;
    background: #000000;
    height: 1px;
    width: 24px;
    margin-bottom: 8px; }
  .open-menu span:nth-child(2) {
    width: 18px; }

.close-btn {
  display: none;
  margin-top: 16%; }
  .close-btn span {
    padding-right: 5px;
    width: 78px;
    margin: 0 auto;
    display: block;
    position: relative; }
    .close-btn span:before, .close-btn span:after {
      content: '';
      display: block;
      width: 64px;
      height: 1px;
      background: #ffffff;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto; }
    .close-btn span:before {
      transform: rotate(45deg); }
    .close-btn span:after {
      transform: rotate(-45deg); }

/* ------------------------------------------------------------ ipad ------------------------------------------------------------- */
@media only screen and (max-width: 900px) {
  .header {
    width: 100%;
    height: 70px; }
    .header .logo {
      height: auto;
      width: 126px; }
      .header .logo .sp {
        display: inline; }
      .header .logo .pc {
        display: none; }

  .left-bar {
    width: 50px;
    height: 50px;
    top: auto; }
    .left-bar .arrow::before {
      left: 8px;
      top: 12px; }

  .nav {
    position: fixed;
    background: rgba(0, 0, 0, 0.8);
    z-index: 1000;
    height: 100%;
    display: none; }
    .nav p {
      display: block; }

  .close-btn {
    display: block; }

  .open-menu {
    display: block; }

  .menu {
    display: block;
    margin: 10% auto 0; }
    .menu li {
      text-align: center;
      margin-bottom: 10%; }
      .menu li a {
        color: #ffffff;
        font-size: 2rem; }

  .main {
    padding: 120px 0px 0; } }
@media (max-height: 900px) {
  .footer {
    padding: 24px 0; } }
@media (max-width: 768px) {
  .only_sp_inline {
    display: inline; }

  .footer {
    margin: 0;
    padding: 40px 0; }
    .footer small {
      line-height: 1.5; } }
/* --------------------------------- mobile --------------------------------- */
.inner {
  max-width: 1200px;
  margin: 0 auto; }

.contents {
  max-width: 1020px;
  padding: 0 60px;
  margin: 0 auto; }

.border-ttl {
  font-size: 2.2rem;
  line-height: 1.5;
  padding: 26px 0;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  margin: 80px 0;
  font-family: ten-mincho,serif;
  font-weight: 400;
  font-style: normal; }

.h1-ttl {
  margin-bottom: 120px;
  font-size: 1.2rem;
  padding-bottom: 30px;
  position: relative; }
  .h1-ttl:after {
    content: '';
    display: inline-block;
    width: 100px;
    height: 1px;
    background: #A38918;
    position: absolute;
    left: 0;
    bottom: 0; }
  .h1-ttl span {
    font-family: ten-mincho,serif;
    font-weight: 400;
    font-style: normal;
    font-size: 3.2rem;
    margin-right: 16px; }

.h2-ttl {
  font-family: ten-mincho,serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4.2rem;
  text-align: center;
  line-height: 1.4; }

@media (max-width: 768px) {
  .contents {
    padding: 0 20px; }

  .ttl {
    font-size: 2rem;
    margin: 60px 0 40px; }

  .h1-ttl {
    margin-bottom: 30px;
    padding: 0 20px 20px 20px; }
    .h1-ttl:after {
      left: 20px; }
    .h1-ttl span {
      font-size: 2.4rem; }

  .border-ttl {
    margin: 40px 0;
    font-size: 2rem; }

  .h2-ttl {
    font-size: 2.4rem; } }
.index {
  height: 100%;
  width: calc(100% - 240px);
  margin: 0 120px;
  position: fixed;
  top: 0;
  bottom: 0;
  min-height: 900px; }
  .index .footer {
    position: fixed;
    z-index: 10;
    bottom: 0;
    left: 0;
    right: 0; }
    .index .footer small {
      color: #ffffff; }
  .index .intro {
    font-family: ten-mincho,serif;
    font-weight: 400;
    font-style: normal;
    color: #ffffff;
    font-size: 4.2rem; }

.bg-video {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0; }
  .bg-video video {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.index-fv {
  position: absolute;
  top: 23%;
  left: 0;
  right: 0;
  text-align: center;
  margin: auto; }
  .index-fv h1 {
    text-align: center;
    margin-bottom: 36px; }
  .index-fv .partner {
    display: flex;
    justify-content: space-between;
    width: 468px;
    margin: 24px auto 0; }

.index-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0; }
  .index-bottom small {
    color: #ffffff; }

@media only screen and (max-width: 1260px) {
  .index {
    width: calc(100% - 180px);
    margin: 0 90px; } }
@media only screen and (max-height: 1100px) {
  .index .intro {
    font-size: 3.2rem; }

  .index-fv {
    top: 20%; }
    .index-fv h1 {
      margin-bottom: 20px; }
      .index-fv h1 img {
        width: 320px; }
    .index-fv .partner {
      margin: 16px auto 0;
      width: 400px; }
      .index-fv .partner p img {
        height: 60px;
        width: auto; } }
@media only screen and (max-height: 800px) {
  .index .intro {
    font-size: 2.2rem; }

  .index-fv {
    top: 18%; }
    .index-fv h1 {
      margin-bottom: 16px; }
      .index-fv h1 img {
        width: 250px; }
    .index-fv .partner {
      margin: 16px auto 0;
      width: 320px; }
      .index-fv .partner p img {
        height: 50px;
        width: auto; } }
@media only screen and (max-width: 800px) {
  .index {
    width: 100%;
    margin: 0; } }
@media only screen and (max-width: 767px) {
  .index .footer {
    padding: 20px 0; }
  .index .intro {
    font-size: 2.4rem; }

  .index-fv h1 img {
    width: 210px; }
  .index-fv .partner {
    margin: 6% auto 0;
    width: 340px; }
    .index-fv .partner p img {
      height: 54px; } }
@media only screen and (max-width: 380px) {
  .index .intro {
    font-size: 2rem; }

  .index-fv h1 img {
    width: 190px; }
  .index-fv .partner {
    margin: 5% auto 0; } }
@media only screen and (max-width: 370px) {
  .index .intro {
    font-size: 1.8rem; }

  .index-fv h1 img {
    width: 160px; }
  .index-fv .partner {
    margin: 5% auto 0;
    width: 280px; }
    .index-fv .partner p img {
      height: 44px; } }
.about .mv {
  margin: 74px 0 78px; }
.about .company-dl {
  margin-top: 24px; }
  .about .company-dl dt, .about .company-dl dd {
    float: left;
    font-size: 1.4rem;
    line-height: 1.5; }
  .about .company-dl dt {
    color: #A38918;
    width: 142px;
    font-weight: bold; }
.about .map {
  position: relative;
  padding-top: 67%;
  margin-top: 80px; }
  .about .map iframe {
    position: absolute;
    width: 100% !important;
    height: 100% !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10; }

@media (max-width: 767px) {
  .about .mv {
    margin: 34px -20px 38px; }
  .about .company-dl {
    margin-top: 24px; }
    .about .company-dl dt {
      margin-bottom: 10px; }
    .about .company-dl dt, .about .company-dl dd {
      float: none;
      font-size: 1.4rem; }
  .about .map {
    margin: 50px -20px 0; } }
.service .partners {
  margin: 60px -30px 100px; }
  .service .partners li {
    width: 50%;
    float: left;
    padding: 0 30px; }
  .service .partners h3 {
    color: #A38918;
    font-size: 2rem;
    font-weight: bold;
    margin: 30px 0 8px; }
.service .companies {
  margin: 0 -30px; }
  .service .companies li {
    margin-bottom: 80px;
    width: 50%;
    float: left;
    padding: 0 30px; }
  .service .companies h3 {
    margin: 50px 0 30px;
    padding: 20px 0 20px 28px;
    border-left: 3px solid #CDBD7A;
    font-size: 2rem;
    font-weight: bold; }
    .service .companies h3 span {
      margin-top: 20px;
      display: block;
      font-size: 1.4rem;
      font-weight: normal; }
  .service .companies p {
    line-height: 1.8; }
.service .frame {
  height: 300px;
  border: 1px solid #707070;
  position: relative;
  text-align: center; }
  .service .frame img {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    margin: auto; }

@media (max-width: 768px) {
  .service .partners {
    margin: 40px -20px 60px; }
    .service .partners li {
      padding: 0 20px; }
  .service .companies {
    margin: 0 -20px; }
    .service .companies li {
      padding: 0 20px;
      margin-bottom: 40px; }
    .service .companies h3 {
      margin: 40px 0 20px;
      padding: 20px 0 20px 20px;
      font-size: 1.6rem; } }
@media (max-width: 767px) {
  .service .partners li {
    width: 100%;
    float: none;
    margin-top: 40px; }
  .service .companies li {
    width: 100%;
    float: none;
    margin: 40px 0 0; }
  .service .frame {
    width: 280px;
    height: 200px;
    margin: 0 auto; }
  .service .img1 {
    width: 152px; }
  .service .img2 {
    width: 216px; }
  .service .img3 {
    width: 184px; }
  .service .img4 {
    width: 152px; } }
.contact .intro {
  margin-bottom: 60px; }
.contact .thy-txt {
  text-align: center;
  margin-bottom: 100px; }
.contact input, .contact textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #F7F7F7;
  outline: none;
  border: none;
  width: 100%;
  font-size: 1.6rem;
  padding: 16px; }
.contact textarea {
  background: #F7F7F7;
  height: 400px; }
.contact .input-group {
  display: flex;
  margin-top: 30px; }
  .contact .input-group p {
    padding-top: 16px;
    font-weight: bold;
    color: #A38918;
    width: 170px; }
.contact .input-wrap {
  position: relative;
  width: calc(100% - 170px); }
  .contact .input-wrap span {
    margin-top: 20px;
    color: #CE0000;
    font-size: 1.6rem;
    display: none; }
    .contact .input-wrap span.show {
      display: block; }
.contact .privacy-box {
  margin: 80px 0 95px;
  border: 1px solid #969696;
  padding: 30px;
  height: 400px;
  overflow-y: scroll; }
.contact .bk-button {
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  border: none;
  display: block;
  background: #000000;
  color: #ffffff;
  width: 560px;
  line-height: 100px;
  font-size: 2.4rem;
  margin: 0 auto;
  transition: all 0.3s ease; }
  .contact .bk-button:hover {
    border: 1px solid #000000;
    background: #ffffff;
    color: #000000; }

@media (max-width: 768px) {
  .contact .intro {
    margin-bottom: 60px; }
  .contact .thy-txt {
    text-align: left;
    margin-bottom: 40px; }
  .contact .input-group {
    margin: 38px 0 0;
    display: block; }
    .contact .input-group p {
      padding: 0 0 18px; }
  .contact .input-wrap {
    width: 100%; }
  .contact .privacy-box {
    margin: 40px 0; }
  .contact .bk-button {
    font-size: 1.4rem;
    line-height: 60px;
    width: 100%; } }

/*# sourceMappingURL=style.css.map */
