@charset "UTF-8";
@import url(reset.css);
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond&family=Josefin+Sans:wght@400;700&family=Noto+Sans+JP:wght@400;500;700&family=Yuji+Syuku&display=swap");
/* break point ------------------------------ */
/* colors ------------------------------ */
/* text ------------------------------ */
/* Basic ------------------------------ */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

html {
  scroll-behavior: smooth; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  font-weight: normal;
  color: #ffffff;
  line-height: 2; }

@media screen and (min-width: 769px) {
  #wrap {
    width: 100%;
    overflow: hidden;
    min-width: 1000px;
    transition: all .3s; } }
@media screen and (min-width: 769px) {
  #wrap {
    padding-top: 178px; }

  body.scroll #wrap {
    padding-top: 140px; } }
@media screen and (max-width: 768px) {
  #wrap {
    padding-top: 84px; } }
img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast; }

.serif {
  font-family: Georgia,'Times New Roman','ヒラギノ明朝 ProN W3','Hiragino Mincho ProN','ヒラギノ明朝 Pro','Hiragino Mincho Pro','游明朝','Yu Mincho',HG明朝B,'ＭＳ Ｐ明朝','ＭＳ 明朝',serif; }

.en {
  font-family: 'Josefin Sans', sans-serif;
  letter-spacing: .02em; }

li {
  list-style-type: none; }

.tCenter {
  text-align: center; }

.bold {
  font-weight: bold; }

.red {
  color: #D83300; }

@media screen and (min-width: 769px) {
  .sp, .tb {
    display: none; }

  .hvEx img {
    transition: .25s; } }
@media screen and (max-width: 768px) {
  html {
    height: -webkit-fill-available; }

  #wrap {
    min-width: 0; }

  .tb, .pc {
    display: none; } }
/* link */
a {
  color: white; }
  a:hover {
    color: #2E97BC;
    text-decoration: none; }

@media screen and (min-width: 769px) {
  a {
    transition: all .3s; }
    a:hover {
      opacity: .7; } }
/* Space ------------------------------ */
.mt0 {
  margin-top: 0px !important; }

.mr0 {
  margin-right: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.ml0 {
  margin-left: 0px !important; }

.pt0 {
  padding-top: 0px !important; }

.pr0 {
  padding-right: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.pl0 {
  padding-left: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mr5 {
  margin-right: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.ml5 {
  margin-left: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mr15 {
  margin-right: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.ml15 {
  margin-left: 15px !important; }

.pt15 {
  padding-top: 15px !important; }

.pr15 {
  padding-right: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pl15 {
  padding-left: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mr25 {
  margin-right: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.ml25 {
  margin-left: 25px !important; }

.pt25 {
  padding-top: 25px !important; }

.pr25 {
  padding-right: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pl25 {
  padding-left: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.pt30 {
  padding-top: 30px !important; }

.pr30 {
  padding-right: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pl30 {
  padding-left: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mr35 {
  margin-right: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.ml35 {
  margin-left: 35px !important; }

.pt35 {
  padding-top: 35px !important; }

.pr35 {
  padding-right: 35px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pl35 {
  padding-left: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mr40 {
  margin-right: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.ml40 {
  margin-left: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pr40 {
  padding-right: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mr45 {
  margin-right: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.ml45 {
  margin-left: 45px !important; }

.pt45 {
  padding-top: 45px !important; }

.pr45 {
  padding-right: 45px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pl45 {
  padding-left: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.ml50 {
  margin-left: 50px !important; }

.pt50 {
  padding-top: 50px !important; }

.pr50 {
  padding-right: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pl50 {
  padding-left: 50px !important; }

/* -------------------------------
   common
------------------------------- */
.lang {
  display: flex;
  align-items: center; }
  .lang li {
    line-height: 1; }
    .lang li:not(:last-child) {
      margin-right: 12px;
      padding-right: 12px;
      border-right: 1px solid #4B5563; }
    .lang li a {
      text-decoration: none;
      color: #BEBEBE !important; }
      .lang li a:hover {
        text-decoration: underline;
        color: #2E97BC !important; }

.btn {
  text-align: center;
  font-weight: bold; }
  .btn.en {
    font-weight: normal; }
  .btn > a,
  .btn > button,
  .btn > span {
    display: inline-block;
    border: none;
    width: 320px;
    max-width: 100%;
    background: linear-gradient(to right bottom, #3457A5, #2BB5C7);
    border-radius: 50px;
    color: #FFF;
    padding: 13px;
    text-decoration: none;
    position: relative;
    transition: all .3s; }
    .btn > a:after,
    .btn > button:after,
    .btn > span:after {
      content: "";
      background: url("../img/common/arrow_white.svg");
      background-size: 100% 100%;
      width: 8px;
      height: 14px;
      position: absolute;
      right: 15px;
      top: 50%;
      transform: translateY(-50%);
      transition: all .3s; }
    .btn > a.btnTel img,
    .btn > button.btnTel img,
    .btn > span.btnTel img {
      width: 17px;
      vertical-align: middle;
      margin-top: -3px;
      margin-right: 10px; }
    .btn > a.btnMail img,
    .btn > button.btnMail img,
    .btn > span.btnMail img {
      width: 20px;
      vertical-align: middle;
      margin-top: -3px;
      margin-right: 10px; }
  .btn > button {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold; }
  .btn.btnWhite {
    font-weight: normal;
    font-size: 16px; }
    .btn.btnWhite > a,
    .btn.btnWhite > span {
      border: 1px solid #FFF;
      background: none; }
      .btn.btnWhite > a:after,
      .btn.btnWhite > span:after {
        content: none; }

@media screen and (min-width: 769px) {
  .btn {
    margin-top: 40px; }
    .btn > a,
    .btn > button {
      position: relative;
      z-index: 2;
      overflow: hidden; }
      .btn > a:not(:first-child),
      .btn > button:not(:first-child) {
        margin-left: 20px; }
    .btn:not(.btnWhite) > a:before,
    .btn:not(.btnWhite) > button:before {
      content: "";
      z-index: -1;
      position: absolute;
      right: 100%;
      top: 0;
      width: 200%;
      height: 100%;
      background: #3457A5;
      transition: all .3s; }
    .btn:not(.btnWhite) > a:hover,
    .btn:not(.btnWhite) > button:hover {
      opacity: 1; }
      .btn:not(.btnWhite) > a:hover:before,
      .btn:not(.btnWhite) > button:hover:before {
        right: 0; }
    .btn.btnWhite a:before {
      content: "";
      z-index: -1;
      position: absolute;
      right: 100%;
      top: 0;
      width: 200%;
      height: 100%;
      background: rgba(0, 0, 0, 0.3);
      transition: all .3s; }
    .btn.btnWhite a:hover {
      opacity: 1; }
      .btn.btnWhite a:hover:before {
        right: 0; } }
@media screen and (max-width: 768px) {
  .btn {
    margin-top: 20px; }
    .btn a:not(:first-child) {
      margin-top: 10px; } }
.sec .tit {
  text-align: center;
  line-height: 1.6; }
.sec:nth-child(2n) {
  background: url("../img/common/bg1.png"); }

@media screen and (min-width: 769px) {
  .sec {
    padding: 2px 5%; }
    .sec .tit {
      margin-bottom: 50px; }
      .sec .tit.noEn {
        font-size: 36px; }
      .sec .tit:not(.noEn) {
        line-height: 1.4;
        font-size: 18px; }
        .sec .tit:not(.noEn) .en {
          font-size: 60px;
          display: block; }
    .sec .txtUnderTit {
      text-align: center;
      margin-bottom: 40px; }

  .btn a:hover:after {
    right: 10px; }
  .btn.btnWhite a:hover {
    background: rgba(0, 0, 0, 0.2); } }
@media screen and (max-width: 768px) {
  .sec {
    padding: 40px 20px; }
    .sec .tit {
      margin-bottom: 30px; }
      .sec .tit.noEn {
        font-size: 24px; }
      .sec .tit:not(.noEn) {
        line-height: 1.4;
        font-size: 14px; }
        .sec .tit:not(.noEn) .en {
          font-size: 36px;
          display: block; }
    .sec .txtUnderTit {
      margin-bottom: 30px; } }
.mapLinks {
  display: flex;
  margin-top: 10px; }
  .mapLinks li {
    display: flex;
    align-items: center; }
    .mapLinks li:not(:last-child) {
      margin-right: 25px; }
    .mapLinks li:before {
      content: "";
      margin-right: 15px;
      background-size: 100% 100%;
      display: inline-block; }
    .mapLinks li.gmap:before {
      width: 18px;
      height: 25px;
      background-image: url("../img/common/icon_pin.svg"); }
    .mapLinks li.pdf:before {
      width: 20px;
      height: 25px;
      background-image: url("../img/common/icon_file.svg"); }
    .mapLinks li a {
      color: #4B5563; }

#pageTit {
  background-size: cover;
  background-position: center center;
  text-align: center; }
  #pageTit h1 {
    background: url("../img/common/dot.png");
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    font-weight: bold; }

#path {
  background: #F7F7F7;
  display: flex;
  flex-wrap: wrap; }
  #path li:not(:last-child):after {
    content: ">";
    margin: 0 10px; }
  #path li a {
    color: #2E97BC; }
  #path li:last-child a {
    color: #4B5563;
    text-decoration: none;
    pointer-events: none; }

@media screen and (min-width: 769px) {
  #pageTit h1 {
    height: 240px;
    font-size: 42px; }

  #path {
    padding: 10px 5%; } }
@media screen and (max-width: 768px) {
  #pageTit h1 {
    height: 160px;
    font-size: 28px; }

  #path {
    padding: 10px 20px; } }
.secondSec .secondTit {
  background: #F7F7F7; }

.sec:nth-child(2n) .secondSec .secondTit {
  background: #FFF;
  border: 1px solid #DDD; }

@media screen and (min-width: 769px) {
  .secondSec:not(:first-child) {
    margin-top: 40px; }
  .secondSec .secondTit {
    font-size: 20px;
    padding: 10px 20px;
    margin-bottom: 20px; } }
@media screen and (max-width: 768px) {
  .secondSec:not(:first-child) {
    margin-top: 30px; }
  .secondSec .secondTit {
    font-size: 18px;
    padding: 10px 20px;
    margin-bottom: 20px; } }
.thirdSec .thirdTit {
  position: relative; }
  .thirdSec .thirdTit:before {
    content: "";
    display: block;
    border-radius: 50%;
    position: absolute;
    left: 0;
    border: 3px solid #2E97BC;
    box-sizing: border-box; }

@media screen and (min-width: 769px) {
  .thirdSec:not(:first-child) {
    margin-top: 30px; }
  .thirdSec .thirdTit {
    font-size: 18px;
    padding-left: 24px; }
    .thirdSec .thirdTit:before {
      width: 18px;
      height: 18px;
      top: 10px; } }
@media screen and (max-width: 768px) {
  .thirdSec:not(:first-child) {
    margin-top: 20px; }
  .thirdSec .thirdTit {
    font-size: 16px;
    padding-left: 22px; }
    .thirdSec .thirdTit:before {
      width: 16px;
      height: 16px;
      top: 9px; } }
#related .businessList li:not(.simple):nth-child(1):before {
  background-image: url("../img/common/related01_bg.jpg"); }
#related .businessList li:not(.simple):nth-child(2):before {
  background-image: url("../img/common/related02_bg.jpg"); }
#related .businessList li.thin.certificate:before {
  background-image: url("../img/common/related_certificate_bg.jpg"); }
#related .businessList li.simple {
  text-align: center;
  background-size: cover;
  background-position: center center;
  font-weight: bold;
  box-shadow: 10px 10px 0 rgba(45, 147, 183, 0.8); }
  #related .businessList li.simple.company:before {
    background-image: url("../img/common/related_comapny_bg.jpg"); }
  #related .businessList li.simple.access:before {
    background-image: url("../img/common/related_access_bg.jpg"); }
  #related .businessList li.simple.group:before {
    background-image: url("../img/common/related_group_bg.jpg"); }
  #related .businessList li.simple a {
    background: url("../img/common/dot.png");
    color: #FFF;
    text-decoration: none; }

@media screen and (min-width: 769px) {
  #related .businessList li:not(.simple) {
    width: 50%; }
    #related .businessList li:not(.simple) a h3 {
      margin-bottom: 10px; }
    #related .businessList li:not(.simple) a .btn {
      margin-top: 20px; }
  #related .businessList li.thin {
    width: 100%; }
  #related .businessList li.simple {
    width: calc((100% - 60px) / 3); } }
@media screen and (max-width: 1200px) {
  #related .businessList li.simple {
    font-size: 24px; } }
@media screen and (min-width: 769px) {
  .opening .txt {
    text-align: center;
	color: white;
	} }
.anchorNav li {
  font-weight: bold;
  text-align: center; }
  .anchorNav li a {
    display: block;
    background: #F7F7F7;
    color: #4B5563;
    padding: 15px 10px;
    text-decoration: none;
    position: relative; }
    .anchorNav li a:after {
      content: "";
      width: 8px;
      height: 14px;
      display: block;
      background: url("../images/arrow.svg");
      background-size: 100% 100%;
      position: absolute;
      right: 10px;
      top: 50%;
      transform: translateY(-50%) rotate(90deg); }

.sec:nth-child(2n) .anchorNav li a {
  background: #FFF;
  border: 1px solid #DDD; }
  .sec:nth-child(2n) .anchorNav li a:after {
    transform: translateY(-50%); }

@media screen and (min-width: 769px) {
  .anchorNav {
    display: flex;
    flex-wrap: wrap; }
    .anchorNav:not(:first-child) {
      margin-top: 20px; }
    .anchorNav:first-child {
      margin-top: -20px; }
    .anchorNav.center {
      justify-content: center; }
    .anchorNav li {
      width: calc((100% - 60px) / 4);
      margin-right: 20px;
      margin-top: 20px; }
      .anchorNav li:nth-child(4n), .anchorNav li:last-child {
        margin-right: 0; } }
@media screen and (max-width: 768px) {
  .anchorNav {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px; }
    .anchorNav li {
      width: auto;
      margin-top: 10px;
      margin-left: 10px; }
      .anchorNav li a {
        padding: 10px 30px 10px 10px; } }
.subSec {
  background: #FFF;
  border-radius: 20px; }
  .subSec .subTit {
    text-align: center;
    margin-bottom: 20px; }

@media screen and (min-width: 769px) {
  .subSec {
    padding: 40px; }
    .subSec:not(:first-child) {
      margin-top: 40px; }
    .subSec .subTit {
      font-size: 32px; } }
@media screen and (max-width: 768px) {
  .subSec {
    padding: 20px; }
    .subSec:not(:first-child) {
      margin-top: 20px; }
    .subSec .subTit {
      font-size: 20px; } }
.baseTable {
  width: 100%; }
  .baseTable th {
    background: #F7F7F7;
    border: 1px solid #DDDDDD;
    vertical-align: middle; }
  .baseTable td {
    border: 1px solid #DDDDDD; }
    .baseTable td p:not(:first-child) {
      margin-top: 20px; }

@media screen and (min-width: 769px) {
  .baseTable th {
    max-width: 285px;
    width: 25%;
    padding: 20px; }
  .baseTable td {
    padding: 20px; } }
@media screen and (max-width: 768px) {
  .baseTable th {
    padding: 10px;
    white-space: nowrap; }
  .baseTable td {
    padding: 10px; } }
/* -------------------------------
   header
------------------------------- */
#hTel {
  text-align: center;
  position: relative;
  padding-left: 31px;
  line-height: 1; }
  #hTel:before {
    content: "";
    width: 31px;
    height: 31px;
    display: block;
    background-image: url("../img/common/icon_tel.svg");
    background-size: 100% 100%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); }
  #hTel .num {
    font-size: 28px;
    display: block;
    text-decoration: none; }
  #hTel .time .en {
    font-size: 16px; }

#header {
  position: fixed;
  width: 100%;
  top: 0;
  background: #FFF;
  z-index: 9999; }
  #header #hTop {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    #header #hTop #logo {
      line-height: 1; }
    #header #hTop .lang {
      flex-grow: 1; }
  #header #gNav {
    background: linear-gradient(to right bottom, #3457A5, #2BB5C7); }

@media screen and (min-width: 769px) {
  body.scroll #header #hTop {
    height: 80px; }
  body.scroll #header #gNav ul {
    height: 60px; }

  #header {
    min-width: 1000px; }
    #header a {
      color: #4B5563; }
    #header #hTop {
      padding: 0 30px;
      height: 106px;
      transition: all .3s; }
      #header #hTop #logo img {
        width: 256px; }
      #header #hTop .lang {
        margin-left: 36px;
        display: flex !important; }
      #header #hTop #hNav {
        display: flex; }
        #header #hTop #hNav li {
          text-align: center;
          line-height: 1.5;
          margin-left: 30px; }
          #header #hTop #hNav li a {
            text-decoration: none;
            display: block; }
            #header #hTop #hNav li a:hover {
              text-decoration: underline; }
            #header #hTop #hNav li a img {
              height: 20px;
              width: auto; }

  #gNav {
    display: block !important; }
    #gNav ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      height: 72px;
      transition: all .3s; }
      #gNav ul li {
        margin: 0 20px;
        font-weight: bold;
        font-size: 16px; }
        #gNav ul li a {
          color: #FFF;
          text-decoration: none; } }
@media screen and (min-width: 769px) and (max-width: 1160px) {
  #header #gNav li {
    font-size: 15px;
    margin: 0 10px; } }
@media screen and (max-width: 768px) {
  html.is-fixed,
  html.is-fixed body {
    height: 100%;
    overflow: hidden; }

  #header #hTop {
    padding: 0 20px;
    height: 84px;
    position: relative; }
    #header #hTop #logo img {
      width: 240px; }
    #header #hTop .lang {
      display: none; }
    #header #hTop #hTel {
      display: none; }
    #header #hTop #hNav {
      display: none; }
    #header #hTop #btnSpNav {
      position: absolute;
      right: 20px;
      top: 50%;
      transform: translateY(-50%);
      width: 32px;
      height: 23px; }
      #header #hTop #btnSpNav span, #header #hTop #btnSpNav:before, #header #hTop #btnSpNav:after {
        content: "";
        width: 100%;
        height: 1px;
        background: #4B5563;
        position: absolute;
        display: block;
        left: 0;
        transition: all .3s; }
      #header #hTop #btnSpNav span {
        top: 50%; }
      #header #hTop #btnSpNav:before {
        top: 0; }
      #header #hTop #btnSpNav:after {
        bottom: 0; }
  #header #gNav {
    display: none;
    padding-top: 20px;
    text-align: center;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 99999; }
    #header #gNav .lang {
      justify-content: center;
      margin-bottom: 20px; }
      #header #gNav .lang li {
        color: #FFF; }
        #header #gNav .lang li:not(:last-child) {
          border-right: 1px solid #FFF; }
    #header #gNav .nav {
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
      width: 100%; }
      #header #gNav .nav li {
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        text-align: center;
        font-weight: bold; }
        #header #gNav .nav li a {
          display: block;
          color: #FFF;
          padding: 10px;
          text-decoration: none; }
    #header #gNav #hTel {
      display: inline-block;
      color: #FFF;
      margin: 20px 0; }
      #header #gNav #hTel:before {
        background-image: url("../img/common/icon_tel_white.svg"); }
      #header #gNav #hTel a {
        color: #FFF; }

  body.navOpen #header #hTop #btnSpNav {
    z-index: 100000;
    position: fixed;
    transform: none;
    top: 30px; }
    body.navOpen #header #hTop #btnSpNav span, body.navOpen #header #hTop #btnSpNav:before, body.navOpen #header #hTop #btnSpNav:after {
      background: #FFF; }
    body.navOpen #header #hTop #btnSpNav span {
      opacity: 0; }
    body.navOpen #header #hTop #btnSpNav:before {
      transform: rotate(45deg);
      top: 50%; }
    body.navOpen #header #hTop #btnSpNav:after {
      transform: rotate(-45deg);
      bottom: 50%; } }
/* -------------------------------
   footer
------------------------------- */
#bottomContact {
  background: linear-gradient(to right bottom, #3457A5, #2BB5C7);
  color: #FFF; }
  #bottomContact > section {
    text-align: center;
    position: relative; }
    #bottomContact > section h2 {
      text-align: center; }
      #bottomContact > section h2 .en {
        opacity: .1;
        position: absolute;
        left: 50%;
        transform: translateX(-50%) translateY(-35%); }

@media screen and (min-width: 769px) {
  #bottomContact {
    display: flex; }
    #bottomContact > section {
      width: 50%;
      padding: 80px 0; }
      #bottomContact > section h2 {
        font-size: 28px;
        margin-bottom: 15px; }
        #bottomContact > section h2 .en {
          font-size: 60px; }
      #bottomContact > section .btn a {
        width: 240px; } }
@media screen and (max-width: 768px) {
  #bottomContact > section {
    padding: 60px 20px 40px; }
    #bottomContact > section:not(:first-child) {
      border-top: 1px solid rgba(255, 255, 255, 0.2); }
    #bottomContact > section h2 {
      font-size: 22px;
      margin-bottom: 10px; }
      #bottomContact > section h2 .en {
        font-size: 50px; }
    #bottomContact > section .btn {
      margin-top: 30px; } }
#footer #fTop #fAbout .officeList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  #footer #fTop #fAbout .officeList dl {
    border-top: 1px solid rgba(75, 85, 99, 0.5);
    padding-top: 10px; }
    #footer #fTop #fAbout .officeList dl dt {
      font-weight: bold; }
    #footer #fTop #fAbout .officeList dl dd {
      line-height: 1.5; }
#footer #fTop #fNav ul li {
  font-weight: bold;
  line-height: 1.6; }
  #footer #fTop #fNav ul li a {
    text-decoration: none;
    color: #4B5563; }
  #footer #fTop #fNav ul li .children {
    margin-top: 5px; }
    #footer #fTop #fNav ul li .children ul {
      display: flex;
      flex-wrap: wrap;
      width: auto; }
      #footer #fTop #fNav ul li .children ul li {
        font-weight: normal;
        margin-bottom: 0; }
        #footer #fTop #fNav ul li .children ul li:before {
          content: "- "; }
#footer #fBottom {
  position: relative; }
  #footer #fBottom #pagetop {
    position: fixed;
    right: 10px;
    bottom: 10px;
    display: none; }
    #footer #fBottom #pagetop a {
      display: block; }
      #footer #fBottom #pagetop a img {
        width: 38px; }

@media screen and (min-width: 769px) {
  #footer #fTop {
    display: flex;
    justify-content: space-between;
    padding: 80px 5%; }
    #footer #fTop #fAbout {
      width: 39%; }
      #footer #fTop #fAbout .logo {
        width: 276px; }
      #footer #fTop #fAbout .officeList dl {
        margin-top: 30px;
        width: calc((100% - 40px) / 2); }
    #footer #fTop #fNav {
      display: flex;
      width: 52%; }
      #footer #fTop #fNav ul {
        white-space: nowrap; }
        #footer #fTop #fNav ul:nth-child(1) {
          width: 60%; }
        #footer #fTop #fNav ul:nth-child(2) {
          width: 40%; }
        #footer #fTop #fNav ul li {
          margin-bottom: 20px; }
          #footer #fTop #fNav ul li a:hover {
            text-decoration: underline; }
          #footer #fTop #fNav ul li .children {
            display: block !important; }
            #footer #fTop #fNav ul li .children ul li {
              width: 50%; }
  #footer #fBottom {
    border-top: 1px solid #DDDDDD;
    display: flex;
    justify-content: space-between;
    padding: 20px 5%; }
    #footer #fBottom #copyright {
      text-align: right; } }
@media screen and (max-width: 768px) {
  #footer #fTop {
    padding: 40px 20px 30px; }
    #footer #fTop #fAbout .logo {
      text-align: center; }
      #footer #fTop #fAbout .logo img {
        width: 240px; }
    #footer #fTop #fAbout .officeList dl {
      margin-top: 20px;
      width: calc((100% - 20px) / 2); }
    #footer #fTop #fNav {
      border-bottom: 1px solid #EEE;
      margin: 40px -20px 0; }
      #footer #fTop #fNav ul li {
        border-top: 1px solid #EEE;
        padding: 10px 20px; }
        #footer #fTop #fNav ul li.parent {
          position: relative; }
          #footer #fTop #fNav ul li.parent .btnOpen {
            width: 21px;
            height: 21px;
            position: absolute;
            right: 10px;
            top: 11px; }
            #footer #fTop #fNav ul li.parent .btnOpen:before {
              content: "";
              width: 21px;
              height: 1px;
              background: #4B5563;
              display: block;
              position: absolute;
              right: 0;
              top: 10px; }
            #footer #fTop #fNav ul li.parent .btnOpen:after {
              content: "";
              width: 1px;
              height: 21px;
              background: #4B5563;
              display: block;
              position: absolute;
              right: 10px;
              top: 0;
              transition: all .3s; }
            #footer #fTop #fNav ul li.parent .btnOpen.open:after {
              opacity: 0; }
          #footer #fTop #fNav ul li.parent .children {
            display: none; }
            #footer #fTop #fNav ul li.parent .children ul li {
              margin-right: 20px;
              padding: 0;
              border: none; }
  #footer #fBottom {
    padding-bottom: 20px; }
    #footer #fBottom .lang {
      justify-content: center;
      margin-bottom: 20px; }
    #footer #fBottom #copyright {
      text-align: center;
      font-size: 12px; } }
/* -------------------------------
   home
------------------------------- */
@media screen and (max-width: 1480px) and (min-width: 1000px) {
  #mv .slider .slick-slide img {
    width: 100vw; } }
#mv .slider .slick-dots {
  bottom: -30px; }
  #mv .slider .slick-dots li {
    width: 16px;
    height: 16px;
    margin: 0 10px; }
    #mv .slider .slick-dots li button {
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: #DDD; }
      #mv .slider .slick-dots li button:before {
        content: none; }
    #mv .slider .slick-dots li.slick-active button {
      background: #3B9DC0; }

@media screen and (max-width: 999px) and (min-width: 769px) {
  #mv .slider .slick-slide img {
    width: 1000px; } }
@media screen and (max-width: 768px) {
  #mv .slider .slick-slide img {
    width: 100vw; } }
#openingSec .tit .line {
  color: #3B9DC0;
  background: linear-gradient(transparent 70%, #FFF700 70%); }
#openingSec .itemList .slick-arrow {
  background-size: 100% 100%;
  z-index: 1001;
  transition: all .3s; }
  #openingSec .itemList .slick-arrow.slick-prev {
    background-image: url("../img/home/btn_prev.png"); }
  #openingSec .itemList .slick-arrow.slick-next {
    background-image: url("../img/home/btn_next.png"); }
  #openingSec .itemList .slick-arrow:before {
    content: none; }
#openingSec .itemList .slick-track .slick-slide {
  position: relative; }
  #openingSec .itemList .slick-track .slick-slide.up:before {
    content: "";
    background: url("../img/kaitori/up.png");
    background-size: auto;
    width: 55px;
    height: 28px;
    background-size: 100% 100%;
    position: absolute;
    left: -10px;
    top: 10px;
    z-index: 1; }
  #openingSec .itemList .slick-track .slick-slide a {
    display: block;
    position: relative; }
    #openingSec .itemList .slick-track .slick-slide a .img {
      height: 0;
      padding-top: 66.6%; }
      #openingSec .itemList .slick-track .slick-slide a .img img {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateX(-50%) translateY(-50%);
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: all .3s; }
    #openingSec .itemList .slick-track .slick-slide a .txt {
      position: absolute;
      width: 100%;
      left: 0;
      bottom: 0;
      background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      padding: 10px 10px 10px 20px;
      height: 100px; }
      #openingSec .itemList .slick-track .slick-slide a .txt .name {
        font-weight: bold;
        color: #FFF;
        font-size: 18px; }
      #openingSec .itemList .slick-track .slick-slide a .txt .price {
        background: #B91D37;
        color: #FFF;
        padding: 0 10px;
        font-size: 14px; }
        #openingSec .itemList .slick-track .slick-slide a .txt .price .num {
          font-size: 18px; }
#openingSec .catList {
  display: flex;
  flex-wrap: wrap; }
  #openingSec .catList li {
    font-weight: bold; }
    #openingSec .catList li a {
      display: flex;
      align-items: center;
      border: 2px solid #EBEBEB;
      text-decoration: none;
      position: relative;
      color: #4B5563; }
      #openingSec .catList li a:after {
        content: "";
        background: url("../images/arrow.svg");
        background-size: 100% 100%;
        width: 8px;
        height: 14px;
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        transition: all .3s; }
      #openingSec .catList li a .img img {
        width: 100%;
        height: 100%;
        object-fit: cover; }

@media screen and (min-width: 769px) {
  #openingSec .tit {
    font-size: 36px;
    margin-bottom: 30px; }
    #openingSec .tit .line {
      font-size: 46px; }
  #openingSec .itemList {
    margin: 0 -5.555% 40px; }
    #openingSec .itemList .slick-arrow {
      width: 58px;
      height: 58px; }
      #openingSec .itemList .slick-arrow.slick-prev {
        left: 30px; }
      #openingSec .itemList .slick-arrow.slick-next {
        right: 30px; }
      #openingSec .itemList .slick-arrow:hover {
        opacity: .7; }
    #openingSec .itemList .slick-track .slick-slide {
      margin: 0 10px; }
      #openingSec .itemList .slick-track .slick-slide a {
        overflow: hidden; }
        #openingSec .itemList .slick-track .slick-slide a .img {
          width: 400px; }
          #openingSec .itemList .slick-track .slick-slide a .img img {
            transform: all .3s; }
        #openingSec .itemList .slick-track .slick-slide a:hover .img img {
          transform: translateX(-50%) translateY(-50%) scale(1.1);
          max-width: none; }
        #openingSec .itemList .slick-track .slick-slide a .txt .name {
          font-weight: bold;
          color: #FFF; }
        #openingSec .itemList .slick-track .slick-slide a .txt .price {
          background: #B91D37;
          color: #FFF;
          padding: 0 10px; }
  #openingSec .catList {
    margin: -20px 0 0 0; }
    #openingSec .catList li {
      width: calc((100% - 60px) / 4);
      margin: 20px 20px 0 0; }
      #openingSec .catList li:nth-child(4n) {
        margin-right: 0; }
      #openingSec .catList li a {
        padding: 10px 20px 10px 10px;
        position: relative;
        overflow: hidden;
        z-index: 2; }
        #openingSec .catList li a:before {
          content: "";
          background: #EBEBEB;
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          right: 100%;
          display: block;
          z-index: -1;
          transition: all .3s; }
        #openingSec .catList li a:hover {
          opacity: 1;
          color: #3B9DC0; }
          #openingSec .catList li a:hover:after {
            right: 10px; }
          #openingSec .catList li a:hover:before {
            right: 0; }
        #openingSec .catList li a .img {
          width: 60px;
          height: 60px;
          margin-right: 10px; } }
@media screen and (max-width: 768px) {
  #openingSec .tit {
    font-size: 16px; }
    #openingSec .tit .line {
      font-size: 22px; }
  #openingSec .itemList {
    margin: 0 -20px 30px; }
    #openingSec .itemList .slick-arrow {
      width: 40px;
      height: 40px; }
      #openingSec .itemList .slick-arrow.slick-prev {
        left: 10px; }
      #openingSec .itemList .slick-arrow.slick-next {
        right: 10px; }
    #openingSec .itemList .slick-track .slick-slide {
      margin: 0 5px; }
      #openingSec .itemList .slick-track .slick-slide a .img {
        width: 80vw;
        max-width: 300px; }
      #openingSec .itemList .slick-track .slick-slide a .txt .name {
        font-size: 16px; }
      #openingSec .itemList .slick-track .slick-slide a .txt .price .num {
        font-size: 16px; }
  #openingSec .catList {
    margin: -10px 0 0 0; }
    #openingSec .catList li {
      width: calc((100% - 20px) / 2);
      margin: 10px 10px 0 0;
      line-height: 1.3;
      font-size: 14px; }
      #openingSec .catList li:nth-child(2n) {
        margin-right: 0; }
      #openingSec .catList li a {
        padding: 5px 20px 5px 5px; }
        #openingSec .catList li a:after {
          right: 10px; }
        #openingSec .catList li a .img {
          width: 40px;
          height: 40px;
          margin-right: 5px; }
        #openingSec .catList li a .txt {
          flex: 1;
          font-size: 1; }
    #openingSec .catList + .btn {
      margin-top: 20px; } }
.businessList li {
  background-size: cover;
  position: relative;
  color: #FFF;
  text-align: center;
  box-shadow: 10px 10px 0 rgba(45, 147, 183, 0.8);
  transition: all .3s;
  overflow: hidden; }
  .businessList li:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    background-size: cover;
    transition: all .3s; }
  .businessList li:after {
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    content: "";
    width: 100%;
    height: 100%;
    background: url("../img/common/dot.png");
    position: absolute;
    left: 0;
    top: 0;
    transition: all .3s; }
  .businessList li > * {
    position: relative; }
  .businessList li h3 {
    text-align: center;
    font-weight: bold; }
  .businessList li a {
    display: block;
    color: #FFF;
    text-decoration: none;
    position: relative;
    z-index: 1; }
    .businessList li a:hover {
      opacity: 1; }
  .businessList li.simple {
    font-weight: bold; }
    .businessList li.simple a {
      padding: 20px; }

#businessSec .businessList li {
  box-shadow: 5px 5px 0 rgba(45, 147, 183, 0.8); }
  #businessSec .businessList li:after {
    background: rgba(0, 0, 0, 0.3); }
  #businessSec .businessList li:nth-child(1):before {
    background-image: url("../img/home/business01.jpg"); }
  #businessSec .businessList li:nth-child(2):before {
    background-image: url("../img/home/business02.jpg"); }
  #businessSec .businessList li:nth-child(3):before {
    background-image: url("../img/home/business03.jpg"); }
  #businessSec .businessList li:nth-child(4):before {
    background-image: url("../img/home/business04.jpg"); }
  #businessSec .businessList li:nth-child(5):before {
    background-image: url("../img/home/business05.jpg"); }
  #businessSec .businessList li:nth-child(6):before {
    background-image: url("../img/home/business06.jpg"); }

@media screen and (min-width: 769px) {
  .businessList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .businessList li:not(.simple):not(.thin) {
      width: calc(100% / 3);
      margin-bottom: 40px; }
      .businessList li:not(.simple):not(.thin) a {
        padding: 60px 0; }
      .businessList li:not(.simple):not(.thin) h3 {
        font-size: 28px;
        margin-bottom: 30px; }
      .businessList li:not(.simple):not(.thin) .btn > a,
      .businessList li:not(.simple):not(.thin) .btn > span {
        width: 240px; }
      .businessList li:not(.simple):not(.thin) .btn span {
        position: relative;
        z-index: 2;
        overflow: hidden; }
        .businessList li:not(.simple):not(.thin) .btn span:before {
          content: "";
          position: absolute;
          right: 100%;
          top: 0;
          width: 100%;
          height: 100%;
          background: rgba(0, 0, 0, 0.3);
          transition: all .3s; }
      .businessList li:not(.simple):not(.thin):hover .btn span:before {
        right: 0; }
    .businessList li.thin {
      width: 100%;
      margin-bottom: 40px; }
      .businessList li.thin a {
        padding: 50px 0; }
      .businessList li.thin h3 {
        font-size: 28px;
        margin-bottom: 15px; }
    .businessList li.simple {
      font-size: 28px; }
    .businessList li:hover:before {
      transform: translateY(-50%) translateX(-50%) scale(1.1, 1.1); }
    .businessList li:hover:after {
      backdrop-filter: blur(6px);
      background: url("../img/common/dot.png") rgba(0, 0, 0, 0.2); }

  #businessSec .businessList li.simple {
    width: calc((100% - 40px) / 2); } }
@media screen and (max-width: 768px) {
  .businessList li {
    margin-top: 20px; }
    .businessList li:not(.simple) {
      padding: 40px 20px; }
      .businessList li:not(.simple) h3 {
        font-size: 22px;
        margin-bottom: 20px; }
      .businessList li:not(.simple) .btn {
        margin-top: 20px; }
    .businessList li.simple {
      font-size: 22px; } }
@media screen and (min-width: 769px) {
  #accessSec .accessList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #accessSec .accessList > section {
      width: calc((100% - 40px) / 2);
      display: flex;
      align-items: center; }
      #accessSec .accessList > section:nth-child(n+3) {
        margin-top: 50px; }
      #accessSec .accessList > section .img {
        width: 50%;
        margin-right: 20px; }
      #accessSec .accessList > section .content {
        flex: 1;
        max-width: 50%; }
        #accessSec .accessList > section .content h3 {
          font-size: 18px; }
        #accessSec .accessList > section .content .btn {
          margin-top: 20px;
          text-align: left; }
          #accessSec .accessList > section .content .btn a {
            text-align: center;
            width: 280px; } }
@media screen and (max-width: 768px) {
  #accessSec .accessList > section:not(:first-child) {
    margin-top: 40px; }
  #accessSec .accessList > section .img {
    margin-bottom: 10px; }
  #accessSec .accessList > section .content {
    text-align: center; }
    #accessSec .accessList > section .content .mapLinks {
      justify-content: center; }
    #accessSec .accessList > section .content h3 {
      font-size: 16px; }
    #accessSec .accessList > section .content .btn {
      margin-top: 20px; } }
#sdgsSec {
  position: relative;
  color: #FFF; }
  #sdgsSec:before {
    content: "";
    background: url("../img/common/dot.png");
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0; }
  #sdgsSec > * {
    position: relative; }
  #sdgsSec .txt p:not(:first-child) {
    margin-top: 2em; }

@media screen and (min-width: 769px) {
  #sdgsSec {
    background: url("../img/home/sdgs_bg.jpg") center center/cover; }
    #sdgsSec .txt {
      text-align: center;
      font-size: 16px; }
    #sdgsSec .btn {
      margin-top: 50px; } }
@media screen and (max-width: 768px) {
  #sdgsSec {
    background: url("../img/home/sdgs_bg_sp.jpg") center center/cover; }
    #sdgsSec .btn {
      margin-top: 30px; } }
#newsSec .newsList {
  overflow: auto; }
  #newsSec .newsList ul li .postTit {
    font-weight: bold; }
    #newsSec .newsList ul li .postTit a {
      color: #4B5563; }

@media screen and (min-width: 769px) {
  #newsSec {
    display: flex;
    padding: 0; }
    #newsSec .tit {
      background: url("../img/common/bg1.png");
      width: 330px;
      text-align: left;
      margin: 0;
      padding: 80px 70px; }
    #newsSec .newsList {
      flex: 1;
      padding: 80px 70px;
      max-height: 600px; }
      #newsSec .newsList ul li {
        display: flex;
        border-bottom: 1px solid #E3E3E3;
        padding-bottom: 20px; }
        #newsSec .newsList ul li:not(:last-child) {
          margin-bottom: 20px; }
        #newsSec .newsList ul li time {
          margin-right: 30px; }
        #newsSec .newsList ul li .content {
          flex: 1; } }
@media screen and (max-width: 768px) {
  #newsSec .newsList {
    height: 300px; }
    #newsSec .newsList li {
      border-bottom: 1px solid #E3E3E3;
      padding-bottom: 20px; }
      #newsSec .newsList li:not(:last-child) {
        margin-bottom: 20px; } }
/* about */
.imgRightSec .content h3:after,
.imgLeftSec .content h3:after {
  content: "";
  width: 20px;
  height: 1px;
  background: #4B5563;
  display: block; }
.imgRightSec .content p:not(:first-child),
.imgLeftSec .content p:not(:first-child) {
  margin-top: 1.6em; }
.imgRightSec.sImg .content h3, .imgRightSec.sImg .content h4,
.imgLeftSec.sImg .content h3,
.imgLeftSec.sImg .content h4 {
  margin-bottom: 10px; }
  .imgRightSec.sImg .content h3:after, .imgRightSec.sImg .content h4:after,
  .imgLeftSec.sImg .content h3:after,
  .imgLeftSec.sImg .content h4:after {
    content: none; }

.signature {
  font-family: 'Yuji Syuku', serif;
  font-size: 170%;
  margin-left: 20px; }

@media screen and (min-width: 769px) {
  .imgRightSec,
  .imgLeftSec {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .imgRightSec:not(:first-child),
    .imgLeftSec:not(:first-child) {
      margin-top: 60px; }
    .imgRightSec .img,
    .imgLeftSec .img {
      width: 600px;
      max-width: 45%; }
    .imgRightSec .content,
    .imgLeftSec .content {
      flex: 1; }
      .imgRightSec .content h3,
      .imgLeftSec .content h3 {
        font-size: 24px; }
        .imgRightSec .content h3:after,
        .imgLeftSec .content h3:after {
          margin: 20px 0 25px; }
      .imgRightSec .content .btn,
      .imgLeftSec .content .btn {
        text-align: left; }
        .imgRightSec .content .btn a,
        .imgLeftSec .content .btn a {
          text-align: center; }
    .imgRightSec.sImg .img,
    .imgLeftSec.sImg .img {
      width: 400px; }
    .imgRightSec.sImg .content h3,
    .imgRightSec.sImg .content h4,
    .imgLeftSec.sImg .content h3,
    .imgLeftSec.sImg .content h4 {
      font-size: 18px; }

  .imgRightSec {
    flex-direction: row-reverse; }
    .imgRightSec .content {
      margin-right: 60px; }
    .imgRightSec.sImg .content {
      margin-right: 50px; }

  .imgLeftSec .content {
    margin-left: 60px; }
  .imgLeftSec.sImg .content {
    margin-left: 50px; } }
@media screen and (max-width: 768px) {
  .imgRightSec:not(:first-child),
  .imgLeftSec:not(:first-child) {
    margin-top: 40px; }
  .imgRightSec .img,
  .imgLeftSec .img {
    margin: 0 0 20px; }
  .imgRightSec .content,
  .imgLeftSec .content {
    flex: 1; }
    .imgRightSec .content h3,
    .imgLeftSec .content h3 {
      font-size: 18px; }
      .imgRightSec .content h3:after,
      .imgLeftSec .content h3:after {
        margin: 10px 0 15px; }
  .imgRightSec.sImg .content h3,
  .imgRightSec.sImg .content h4,
  .imgLeftSec.sImg .content h3,
  .imgLeftSec.sImg .content h4 {
    font-size: 16px; } }
#sdgs .sdgsMain .lead {
  font-weight: bold;
  text-align: center; }

@media screen and (min-width: 769px) {
  #sdgs .sdgsMain {
    text-align: center; }
    #sdgs .sdgsMain .lead {
      font-size: 24px; }
    #sdgs .sdgsMain .img {
      margin: 30px 0; }
  #sdgs .sdgsList {
    display: flex;
    justify-content: space-between;
    margin-top: 50px; }
    #sdgs .sdgsList > section {
      width: calc((100% - 100px) / 3);
      margin-top: 0 !important; }
      #sdgs .sdgsList > section .img {
        text-align: center;
        margin-bottom: 20px; } }
@media screen and (max-width: 768px) {
  #sdgs .sdgsMain .lead {
    font-size: 18px; }
  #sdgs .sdgsMain .img {
    margin: 20px 0; }
  #sdgs .sdgsList > section {
    margin-top: 30px; }
    #sdgs .sdgsList > section .img {
      text-align: center;
      margin-bottom: 20px; } }
#service .trade {
  margin-top: 20px; }
  #service .trade dt:before {
    content: "■"; }
  #service .trade dd {
    display: inline-block; }
    #service .trade dd:not(:last-child):after {
      content: "、"; }

/* company */
#aboutUs .list {
  display: flex;
  flex-wrap: wrap; }
  #aboutUs .list > dl > dt {
    font-weight: bold; }
  #aboutUs .list > dl dd {
    color: #818891; }
    #aboutUs .list > dl dd.office dt {
      font-weight: bold; }

@media screen and (min-width: 769px) {
  #aboutUs {
    position: relative;
    padding: 80px 5% 80px 37%; }
    #aboutUs:before {
      content: "";
      width: 31%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      background: url("../img/company/about_bg.jpg") center center/cover; }
    #aboutUs .tit {
      text-align: left;
      margin-left: -30px; }
    #aboutUs .list {
      margin-top: -50px; }
      #aboutUs .list > dl:nth-child(-n+6) {
        width: 30%; }
      #aboutUs .list > dl > dt {
        margin-top: 50px; }
      #aboutUs .list > dl dd.office {
        display: flex;
        flex-wrap: wrap;
        margin-top: -20px; }
        #aboutUs .list > dl dd.office dl {
          margin-top: 20px; }
          #aboutUs .list > dl dd.office dl:not(:last-child) {
            margin-right: 30px; } }
@media screen and (max-width: 768px) {
  #aboutUs .list {
    margin-top: -30px; }
    #aboutUs .list > dl {
      margin-top: 30px; }
      #aboutUs .list > dl:nth-child(-n+6) {
        width: 50%; }
      #aboutUs .list > dl dd.office {
        margin-left: 1em;
        margin-top: -20px; }
        #aboutUs .list > dl dd.office dl {
          margin-top: 20px; } }
#history .list dl {
  border-left: 3px solid #2E97BC;
  padding-top: 1px; }
  #history .list dl dt {
    font-weight: bold;
    font-size: 24px;
    line-height: 1.2;
    margin-top: -.6em;
    padding-left: 20px;
    position: relative; }
    #history .list dl dt:before {
      content: "";
      width: 9px;
      height: 9px;
      border: 3px solid #2E97BC;
      border-radius: 50%;
      display: block;
      position: absolute;
      background: #FFF;
      left: -9px;
      top: 50%;
      transform: translateY(-40%); }
  #history .list dl dd {
    padding-bottom: 30px;
    padding-left: 20px;
    color: #818891; }

@media screen and (min-width: 769px) {
  #history {
    display: flex;
    align-items: center; }
    #history .tit {
      margin-right: 10%; }
    #history .list {
      display: flex;
      align-items: flex-start; }
      #history .list dl:last-child {
        padding-top: 50px;
        margin-left: 100px; } }
#licence .list {
  display: flex;
  flex-wrap: wrap; }
  #licence .list li {
    text-align: center; }

@media screen and (min-width: 769px) {
  #licence {
    margin: 0 5%; }
    #licence .list {
      margin-top: -40px; }
      #licence .list li {
        width: 25%;
        margin-top: 40px; }
        #licence .list li img {
          height: 200px;
          width: auto; } }
@media screen and (max-width: 768px) {
  #licence .list {
    margin-top: -30px;
    justify-content: space-between; }
    #licence .list li {
      width: calc(50% - 10px);
      margin-top: 30px;
      font-size: 12px; }
      #licence .list li img {
        height: 120px;
        width: auto; } }
/* recruit */
@media screen and (min-width: 769px) {
  #recruitOpening .tit {
    font-size: 24px;
    margin-bottom: 20px; } }
@media screen and (max-width: 768px) {
  #recruitOpening .tit {
    font-size: 20px;
    margin-bottom: 20px; } }
/* contact */
#contactTel .txt {
  text-align: center; }
#contactTel .list li {
  margin-top: 20px;
  padding: 20px;
  text-align: center;
  background: #F6FBFD;
  border-radius: 20px; }
  #contactTel .list li .name {
    font-weight: bold;
    font-size: 16px; }
  #contactTel .list li .num {
    margin: 10px 0;
    color: #2E97BC;
    font-size: 24px;
    line-height: 1.2; }
    #contactTel .list li .num a {
      text-decoration: none; }

@media screen and (min-width: 769px) {
  #contactTel .list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 20px; }
    #contactTel .list li {
      width: calc((100% - 40px) / 3);
      margin-right: 20px; }
      #contactTel .list li:nth-child(3n), #contactTel .list li:last-child {
        margin-right: 0; }
      #contactTel .list li .num a {
        pointer-events: none; } }
#contact .contactForm {
  background: #FFF;
  border-radius: 20px; }
  #contact .contactForm table th .required {
    background: #CB1736;
    color: #FFF;
    font-weight: bold;
    float: right;
    padding: 2px 10px; }
  #contact .contactForm table td input,
  #contact .contactForm table td select,
  #contact .contactForm table td textarea {
    width: 100%;
    border-radius: 5px;
    padding: 5px;
    border: none;
    background: #EEE; }
    #contact .contactForm table td input.required,
    #contact .contactForm table td select.required,
    #contact .contactForm table td textarea.required {
      background: #FAE7EA; }
    #contact .contactForm table td input.zipCode,
    #contact .contactForm table td select.zipCode,
    #contact .contactForm table td textarea.zipCode {
      width: 100px; }
  #contact .contactForm table td select {
    width: auto; }
  #contact .contactForm .privacy {
    height: 150px;
    border: 1px solid #E5E5E5;
    padding: 0 20px;
    overflow: auto;
    margin: 20px 0; }
    #contact .contactForm .privacy p {
      margin: 20px 0; }
  #contact .contactForm .agree {
    text-align: center; }

@media screen and (min-width: 769px) {
  #contact .txt {
    text-align: center; }
  #contact .contactForm {
    margin-top: 40px;
    padding: 40px; }
    #contact .contactForm table {
      width: 100%; }
      #contact .contactForm table th {
        min-width: 230px;
        width: 25%;
        padding: 15px 30px 15px 0; }
      #contact .contactForm table td {
        padding: 15px 0; }
        #contact .contactForm table td input,
        #contact .contactForm table td select,
        #contact .contactForm table td textarea {
          height: 50px; }
          #contact .contactForm table td input.zipCode,
          #contact .contactForm table td select.zipCode,
          #contact .contactForm table td textarea.zipCode {
            width: 100px; }
        #contact .contactForm table td textarea {
          height: 200px; } }
@media screen and (max-width: 768px) {
  #contact .contactForm {
    margin-top: 20px;
    padding: 20px; }
    #contact .contactForm table,
    #contact .contactForm tbody,
    #contact .contactForm tr,
    #contact .contactForm th,
    #contact .contactForm td {
      display: block; }
    #contact .contactForm table th {
      margin-bottom: 5px; }
      #contact .contactForm table th .required {
        float: none;
        margin-left: 10px; }
    #contact .contactForm table td {
      margin-bottom: 20px; }
      #contact .contactForm table td input,
      #contact .contactForm table td select,
      #contact .contactForm table td textarea {
        height: 40px; }
        #contact .contactForm table td input.zipCode,
        #contact .contactForm table td select.zipCode,
        #contact .contactForm table td textarea.zipCode {
          width: 100px; }
      #contact .contactForm table td textarea {
        height: 160px; } }
/* kaitori */
.kaitoriList > section h3 a {
  display: block;
  background: #F7F7F7;
  color: #4B5563;
  text-decoration: none;
  position: relative; }
  .kaitoriList > section h3 a:after {
    content: "";
    width: 8px;
    height: 14px;
    display: block;
    position: absolute;
    background: url("../images/arrow.svg");
    background-size: 100% 100%;
    right: 20px;
    top: 50%;
    transform: translateY(-50%); }
  .kaitoriList > section h3 a:hover {
    text-decoration: underline; }
.kaitoriList > section ul {
  display: flex;
  flex-wrap: wrap; }
  .kaitoriList > section ul li {
    margin: 20px 20px 0 0;
    border-bottom: 1px solid #EEEFF0; }
    .kaitoriList > section ul li a {
      display: block;
      padding-bottom: 5px;
      position: relative; }
      .kaitoriList > section ul li a:after {
        content: "";
        width: 8px;
        height: 14px;
        display: block;
        position: absolute;
        background: url("../images/arrow.svg");
        background-size: 100% 100%;
        right: 0;
        top: 50%;
        transform: translateY(-50%); }

@media screen and (min-width: 769px) {
  .kaitoriList {
    margin-top: 60px; }
    .kaitoriList > section {
      display: flex;
      flex-wrap: wrap;
      margin-top: 40px; }
      .kaitoriList > section .img {
        width: 300px; }
      .kaitoriList > section .content {
        flex: 1;
        margin-left: 40px; }
        .kaitoriList > section .content h3 {
          font-size: 20px; }
          .kaitoriList > section .content h3 a {
            padding: 10px 20px;
            display: block;
            background: #F7F7F7;
            color: #4B5563;
            text-decoration: none;
            position: relative; }
            .kaitoriList > section .content h3 a:after {
              content: "";
              width: 8px;
              height: 14px;
              display: block;
              position: absolute;
              background: url("../images/arrow.svg");
              background-size: 100% 100%;
              right: 20px;
              top: 50%;
              transform: translateY(-50%); }
            .kaitoriList > section .content h3 a:hover {
              text-decoration: underline; }
        .kaitoriList > section .content ul li {
          width: calc((100% - 60px) / 4); }
          .kaitoriList > section .content ul li:nth-child(4n) {
            margin-right: 0; }
          .kaitoriList > section .content ul li a {
            padding-right: 20px; } }
@media screen and (max-width: 768px) {
  .kaitoriList > section {
    margin-top: 40px; }
    .kaitoriList > section .content {
      margin-top: 20px; }
      .kaitoriList > section .content h3 {
        font-size: 18px; }
        .kaitoriList > section .content h3 a {
          padding: 5px 10px; }
          .kaitoriList > section .content h3 a:after {
            right: 10px; }
      .kaitoriList > section .content ul li a {
        padding-right: 30px; } }
/* kairoti - detail */
.kaitoriDetailTop .txt {
  text-align: left; }
  .kaitoriDetailTop .txt p:not(:first-child) {
    margin-top: 20px; }
  .kaitoriDetailTop .txt .caution {
    margin-top: 20px;
    background: #FCEEF1;
    border-radius: 5px;
    padding: 20px; }
    .kaitoriDetailTop .txt .caution p {
      font-weight: bold;
      text-indent: -1em;
      margin-left: 1em; }
.kaitoriDetailTop .tel {
  padding: 20px;
  text-align: center;
  background: #F6FBFD;
  border-radius: 20px; }
  .kaitoriDetailTop .tel .name {
    font-weight: bold;
    font-size: 16px; }
  .kaitoriDetailTop .tel .num {
    font-size: 24px;
    color: #2E97BC;
    line-height: 1.2;
    margin: 10px 0; }
    .kaitoriDetailTop .tel .num a {
      text-decoration: none; }

@media screen and (min-width: 769px) {
  .kaitoriDetailTop {
    display: flex;
    justify-content: center; }
    .kaitoriDetailTop .tel {
      width: 380px;
      margin-left: 60px; } }
@media screen and (max-width: 768px) {
  .kaitoriDetailTop .tel {
    margin-top: 20px; } }
.kaitoriDetailList > section {
  border-radius: 20px;
  background: #F7F7F7; }
  .kaitoriDetailList > section .head {
    padding: 0 10px;
    position: relative;
    background: #2E97BC;
    height: 40px;
    display: flex;
    align-items: center;
    margin-bottom: 20px; }
    .kaitoriDetailList > section .head h3 {
      font-size: 18px;
      color: #FFF; }
    .kaitoriDetailList > section .head .logo {
      position: absolute;
      background: rgba(0, 0, 0, 0.1);
      right: 0;
      top: 0;
      height: 100%;
      display: flex;
      align-items: center;
      padding: 0 10px; }
      .kaitoriDetailList > section .head .logo:before {
        content: "";
        display: block;
        position: absolute;
        border-right: 40px solid rgba(0, 0, 0, 0.1);
        border-bottom: 40px solid transparent;
        right: 100%;
        top: 0; }
      .kaitoriDetailList > section .head .logo img {
        width: 130px; }
  .kaitoriDetailList > section .img {
    position: relative; }
  .kaitoriDetailList > section .content .time {
    text-align: right;
    margin-bottom: 10px; }
  .kaitoriDetailList > section .content .price {
    line-height: 1.2; }
    .kaitoriDetailList > section .content .price em {
      font-size: 30px;
      font-style: normal; }
    .kaitoriDetailList > section .content .price .kara {
      font-size: 30px;
      margin-left: 5px; }
  .kaitoriDetailList > section .content .txt {
    margin-top: 20px;
    line-height: 1.6; }
  .kaitoriDetailList > section .content .popupLink {
    color: #2E97BC;
    text-decoration: underline;
    cursor: pointer; }
  .kaitoriDetailList > section.up .img:before {
    content: "";
    background: url("../img/kaitori/up.png");
    width: 55px;
    height: 28px;
    background-size: 100% 100%;
    position: absolute;
    left: -10px;
    top: 10px; }
  .kaitoriDetailList > section.up .content .price {
    color: #CB1736; }

@media screen and (min-width: 769px) {
  .update {
    text-align: right;
    margin: 40px 0 -50px; }

  .kaitoriDetailList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 20px; }
    .kaitoriDetailList > section {
      padding: 40px;
      width: calc(50% - 20px);
      margin-top: 40px; }
      .kaitoriDetailList > section .in {
        display: flex;
        justify-content: space-between; }
      .kaitoriDetailList > section .popupLink:hover {
        text-decoration: none;
        opacity: .7; }
      .kaitoriDetailList > section.lBox {
        width: 100%;
        position: relative; }
        .kaitoriDetailList > section.lBox .in {
          align-items: center; }
          .kaitoriDetailList > section.lBox .in .img {
            width: 460px;
            margin-right: 40px; }
          .kaitoriDetailList > section.lBox .in .content {
            flex: 1; }
            .kaitoriDetailList > section.lBox .in .content .price em {
              font-size: 42px; }
      .kaitoriDetailList > section:not(.lBox) .in {
        display: flex; }
        .kaitoriDetailList > section:not(.lBox) .in .img {
          width: 240px;
          margin-right: 25px;
          max-width: 42%; }
        .kaitoriDetailList > section:not(.lBox) .in .content {
          flex: 1; }
          .kaitoriDetailList > section:not(.lBox) .in .content .txt {
            margin-top: 10px; } }
@media screen and (max-width: 768px) {
  .update {
    text-align: right;
    margin: 40px 0 -30px; }

  .kaitoriDetailList {
    margin-top: 40px; }
    .kaitoriDetailList > section {
      padding: 20px;
      margin-top: 20px; }
      .kaitoriDetailList > section .img {
        margin-bottom: 20px; }
      .kaitoriDetailList > section .content .txt {
        margin-top: 10px; } }
.popupWrap {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: none; }
  .popupWrap .popupBg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.8); }
  .popupWrap .popup {
    background: #FFF;
    border-radius: 10px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    max-width: 90%;
    margin: 0 auto; }
    .popupWrap .popup .close:before, .popupWrap .popup .close:after {
      content: "";
      width: 30px;
      height: 4px;
      display: block;
      background: #FFF;
      position: absolute;
      right: 0;
      top: calc(100% + 20px); }
    .popupWrap .popup .close:before {
      transform: rotate(45deg); }
    .popupWrap .popup .close:after {
      transform: rotate(-45deg); }
    .popupWrap .popup h3 {
      text-align: center;
      padding: 10px;
      background: linear-gradient(to right bottom, #3457A5, #2BB5C7);
      color: #FFF; }

@media screen and (min-width: 769px) {
  .popupWrap .popup {
    width: 1100px;
    padding: 40px; }
    .popupWrap .popup h3 {
      font-size: 24px;
      margin-bottom: 20px; }
    .popupWrap .popup .list {
      display: flex;
      margin-left: -20px; }
      .popupWrap .popup .list li {
        width: calc((100% - 40px) / 3);
        margin-left: 20px; }
        .popupWrap .popup .list li .img {
          margin-bottom: 10px; } }
@media screen and (max-width: 768px) {
  .popupWrap .popup {
    padding: 20px;
    width: 90%; }
    .popupWrap .popup h3 {
      font-size: 18px;
      padding: 10px;
      margin-bottom: 20px; }
    .popupWrap .popup .list li {
      display: flex; }
      .popupWrap .popup .list li:not(:first-child) {
        margin-top: 20px; }
      .popupWrap .popup .list li .img {
        margin-right: 10px;
        width: 40%; }
      .popupWrap .popup .list li .txt {
        flex: 1;
        line-height: 1.5;
        font-size: 12px; } }
/* hikitori */
.flow li {
  color: #FFF;
  text-align: center;
  position: relative; }
  .flow li:nth-child(1) {
    background: #325BA6; }
    .flow li:nth-child(1) .step {
      border: 1px solid #325BA6;
      color: #325BA6; }
  .flow li:nth-child(2) {
    background: #3173AF; }
    .flow li:nth-child(2) .step {
      border: 1px solid #3173AF;
      color: #3173AF; }
  .flow li:nth-child(3) {
    background: #2D98BC; }
    .flow li:nth-child(3) .step {
      border: 1px solid #2D98BC;
      color: #2D98BC; }
  .flow li:nth-child(4) {
    background: #2BB1C6; }
    .flow li:nth-child(4) .step {
      border: 1px solid #2BB1C6;
      color: #2BB1C6; }
  .flow li .step {
    width: 90px;
    height: 90px;
    border-radius: 50px;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-weight: bold;
    background: #FFF;
    position: absolute;
    left: 50%;
    top: -45px;
    transform: translateX(-50%);
    line-height: 1.2; }
    .flow li .step .num {
      display: flex;
      font-size: 200%;
      font-weight: normal; }
  .flow li .img img {
    width: 85px; }
  .flow li .flowTit {
    font-size: 20px;
    font-weight: bold;
    margin: 10px 0; }
  .flow li .txt {
    text-align: left;
    line-height: 1.8; }

@media screen and (min-width: 769px) {
  .flow {
    display: flex;
    justify-content: space-between;
    padding-top: 45px; }
    .flow li {
      width: calc((100% - 60px) / 4);
      padding: 65px 20px 20px; } }
@media screen and (max-width: 768px) {
  .flow li {
    margin-top: 55px;
    padding: 55px 20px 20px;
    display: flex;
    align-items: center; }
    .flow li .img {
      width: 70px;
      margin-right: 20px; }
    .flow li .content {
      text-align: left;
      flex: 1; }
      .flow li .content .flowTit {
        margin: 0; } }
.kouritsuList li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 5px; }
  .kouritsuList li:before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0; }

@media screen and (min-width: 769px) {
  .kouritsuList {
    display: flex;
    flex-wrap: wrap; }
    .kouritsuList li {
      width: 50%; } }
.machineList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .machineList > section {
    margin-top: 40px;
    width: calc((100% - 100px) / 3); }
    .machineList > section h3 {
      background: #F7F7F7; }

@media screen and (min-width: 769px) {
  .machineList > section {
    margin-top: 40px;
    width: calc((100% - 100px) / 3); }
    .machineList > section h3 {
      padding: 10px 20px;
      font-size: 20px;
      margin-bottom: 20px; }
    .machineList > section .img {
      margin-bottom: 20px; } }
@media screen and (max-width: 768px) {
  .machineList > section {
    margin-top: 30px;
    width: calc((100% - 20px) / 2); }
    .machineList > section h3 {
      padding: 10px;
      font-size: 16px;
      margin-bottom: 10px; }
    .machineList > section .img {
      margin-bottom: 10px; }
    .machineList > section .txt {
      line-height: 1.5; } }
/* group */
.groupSec {
  position: relative; }
  .groupSec .in {
    background: rgba(255, 255, 255, 0.9);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%); }
    .groupSec .in .subTit {
      text-align: center; }
    .groupSec .in .groupTit {
      font-weight: bold;
      text-align: center; }
    .groupSec .in .list {
      margin-top: 15px; }
      .groupSec .in .list ul li {
        padding-left: 1em;
        position: relative; }
        .groupSec .in .list ul li:before {
          content: "・";
          position: absolute;
          left: 0;
          top: 0; }

@media screen and (min-width: 769px) {
  .groupSec:not(:first-child) {
    margin-top: 40px; }
  .groupSec .in {
    width: 700px;
    padding: 40px; }
    .groupSec .in .subTit {
      font-size: 32px; }
    .groupSec .in .list {
      display: flex;
      justify-content: center; }
  .groupSec .img {
    display: flex;
    align-items: flex-start; }
    .groupSec .img img {
      width: 50%; }
      .groupSec .img img:first-child {
        border-radius: 20px 0 0 20px; }
      .groupSec .img img:last-child {
        border-radius: 0 20px 20px 0; } }
@media screen and (max-width: 768px) {
  .groupSec:not(:first-child) {
    margin-top: 30px; }
  .groupSec .in {
    width: calc(100% - 40px);
    padding: 20px; }
    .groupSec .in .subTit {
      font-size: 20px; } }
/* アクセス */
.accessSec .access .in .photo .imgs {
  height: 0;
  padding-top: 74.257%;
  position: relative;
  margin-bottom: 20px; }
  .accessSec .access .in .photo .imgs .main {
    position: absolute;
    width: 100%;
    top: 0;
    height: 0;
    padding-top: 58.58%; }
    .accessSec .access .in .photo .imgs .main img {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 50%;
      top: 50%;
      object-fit: cover;
      transform: translateX(-50%) translateY(-50%); }
  .accessSec .access .in .photo .imgs .thumbnail {
    position: absolute;
    bottom: 0;
    width: 100%;
    display: flex;
    justify-content: space-between; }
    .accessSec .access .in .photo .imgs .thumbnail li {
      width: 22.772%;
      position: relative;
      height: 0;
      padding-top: 13.34%; }
      .accessSec .access .in .photo .imgs .thumbnail li:not(.active) {
        opacity: .5; }
      .accessSec .access .in .photo .imgs .thumbnail li img {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 50%;
        top: 50%;
        object-fit: cover;
        transform: translateX(-50%) translateY(-50%); }
.accessSec .access .in .photo .accessInfo {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap; }
.accessSec .access .in .map .gMap {
  height: 0;
  padding-top: 66.176%;
  position: relative; }
  .accessSec .access .in .map .gMap iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }
.accessSec .access .in .map .route {
  margin-top: 20px; }
  .accessSec .access .in .map .route .list dt {
    margin-top: 10px; }

@media screen and (min-width: 769px) {
  .accessSec .access .in {
    display: flex;
    justify-content: space-between; }
    .accessSec .access .in .photo {
      width: 45.495%; }
    .accessSec .access .in .map {
      width: 51.051%; } }
@media screen and (max-width: 768px) {
  .accessSec .access .in .map {
    margin-top: 20px; } }
.accessMachine .in > section {
  margin-top: 0 !important; }
  .accessMachine .in > section .list {
    margin: 20px 40px 0; }
    .accessMachine .in > section .list li {
      margin: 0 10px; }
    .accessMachine .in > section .list .slick-arrow {
      width: 18px;
      height: 30px;
      background: url("../images/arrow.svg");
      background-size: 100% 100%;
      margin-top: -10px; }
      .accessMachine .in > section .list .slick-arrow.slick-prev {
        transform: scale(-1, 1) translateY(-50%); }
      .accessMachine .in > section .list .slick-arrow:before {
        content: none; }

@media screen and (min-width: 769px) {
  .accessMachine .in > section .list li {
    width: 300px; }
  .accessMachine.col2 .in {
    display: flex;
    justify-content: space-between; }
    .accessMachine.col2 .in > section {
      width: calc(50% - 20px); } }
@media screen and (max-width: 768px) {
  .accessMachine .in > section .list {
    margin: 20px 30px 0; }
    .accessMachine .in > section .list li {
      width: 200px;
      margin: 0 5px; } }
