@charset "UTF-8";
/* ------------ font ------------ */
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap);
/* ------------ css reset ------------ */
body {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%; }

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent; }

ins {
  text-decoration: none; }

mark {
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

hr {
  width: 100%;
  display: block;
  height: 1px;
  border: 0;
  margin: 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* ------------ SP ------------ */
@media screen and (max-width: 768px) {
  /* ------------ body ------------ */
  html, body {
    color: #333;
    font-feature-settings: "palt"; }

  /* ------------ spmaterial-i ------------ */
  .spmaterial-i, #footer-box .wrap-box .text-box ul li:nth-child(1)::before, #footer-box .wrap-box .text-box ul li:nth-child(2)::before, #page-top a::before {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    vertical-align: middle; }

  /* ------------ common ------------ */
  p {
    font: normal 1.6rem/2 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: clamp(0.875rem, 0.586rem + 0.6vw, 1rem);
    font-weight: 700; }
    p.jp-text {
      display: inline;
      font-size: clamp(0.875rem, 0.297rem + 1.2vw, 1.125rem);
      border-bottom: 1px solid #333;
      padding: 0 0 5px 0; }

  h2 {
    font: normal 8.6rem/1.1 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 700;
    font-size: clamp(2.813rem, -3.694rem + 13.55vw, 5.625rem); }

  /* ------------ splash-box ------------ */
  #splash-box {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: #2F387D;
    text-align: center; }
    #splash-box #splash-logo {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      #splash-box #splash-logo img {
        width: 120px;
        vertical-align: bottom; }
        #splash-box #splash-logo img.fadeUp {
          animation-name: fadeUpAnime;
          animation-duration: 0.5s;
          animation-fill-mode: forwards;
          opacity: 0; }

  @keyframes fadeUpAnime {
    from {
      opacity: 0;
      transform: translateY(100px); }
    to {
      opacity: 1;
      transform: translateY(0); } }
  /* ------------ header-box ------------ */
  #header-box {
    padding: 15px 0;
    display: flex;
    justify-content: center; }
    #header-box h1 {
      text-indent: -9999px;
      background: url(../img/11.png) no-repeat;
      background-size: contain;
      width: 109px;
      height: 26.5px; } }
  @media only screen and (max-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
    #header-box h1 {
      background-image: url(../img/11@2x.png); } }

@media screen and (max-width: 768px) {
  /* ------------ eyecatch-box ------------ */
  #eyecatch-box {
    background: url(../img/01.jpg) no-repeat center center;
    width: 100%;
    height: calc(100vh - 20vh);
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; }
    #eyecatch-box figure {
      width: 70%;
      background: rgba(0, 0, 0, 0.15);
      padding: 10px 20px; }
      #eyecatch-box figure img {
        width: 100%;
        vertical-align: bottom; }
    #eyecatch-box .scroll-down {
      position: absolute;
      bottom: 20px;
      transform: translateX(-50%);
      z-index: 10; }
      #eyecatch-box .scroll-down span {
        position: absolute;
        left: 10px;
        bottom: 10px;
        color: #333;
        font-size: 0.7rem;
        letter-spacing: 0.05em;
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
        writing-mode: vertical-rl; }
      #eyecatch-box .scroll-down::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: -4px;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #eee;
        animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite; }
      #eyecatch-box .scroll-down::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 2px;
        height: 50px;
        background: #eee; }
  @keyframes circlemove {
    0% {
      bottom: 45px; }
    100% {
      bottom: -5px; } }
  @keyframes cirlemovehide {
    0% {
      opacity: 0; }
    50% {
      opacity: 1; }
    80% {
      opacity: 0.9; }
    100% {
      opacity: 0; } }
  /* ------------ who-box ------------ */
  #who-box {
    padding: 120px 0 0 0; }
    #who-box .wrap-box {
      width: 90%;
      margin: 0 auto; }
      #who-box .wrap-box .text-box img {
        width: 20px;
        vertical-align: bottom; }
      #who-box .wrap-box figure {
        width: 100%;
        margin: 50px auto 0; }
        #who-box .wrap-box figure img {
          width: 100%;
          vertical-align: bottom; }
    #who-box p.copy {
      width: 90%;
      margin: 50px auto 0; }
    #who-box ul {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 50px 0 0 0; }
      #who-box ul li {
        width: calc(100% / 3);
        list-style: none; }
        #who-box ul li img {
          width: 100%;
          vertical-align: bottom; }

  /* ------------ our-box ------------ */
  #our-box {
    padding: 120px 5%;
    margin: 0 auto;
    background: #f5f5f5; }
    #our-box .wrap-box .text-box img {
      width: 20px;
      vertical-align: bottom; }
    #our-box .wrap-box .services-box {
      margin: 20px 0 0 0; }
      #our-box .wrap-box .services-box dl {
        padding: 15px 0;
        align-items: flex-start; }
        #our-box .wrap-box .services-box dl dt {
          background: #2F387D;
          font: normal 0.9rem/1.5 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
          font-weight: 700;
          color: #fff;
          padding: 10px 5px;
          box-sizing: border-box;
          text-align: center; }
          #our-box .wrap-box .services-box dl dt br {
            display: none; }
        #our-box .wrap-box .services-box dl dd {
          margin: 20px 0 0 0;
          font: normal 0.9rem/2 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
          font-weight: 700; }
        #our-box .wrap-box .services-box dl:first-of-type {
          margin: 35px 0 0 0; }

  /* ------------ term-box ------------ */
  #term-box {
    width: 90%;
    margin: 0 auto;
    padding: 120px 0; }
    #term-box figure img {
      width: 20px;
      vertical-align: bottom; }
    #term-box ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin: 50px auto 0; }
      #term-box ul li {
        list-style: none;
        width: 50%; }
        #term-box ul li:nth-child(1) {
          width: 100%;
          display: flex; }
          #term-box ul li:nth-child(1) img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            vertical-align: bottom; }
        #term-box ul li:nth-child(2) {
          width: 100%;
          margin: 30px 0 0 0; }
          #term-box ul li:nth-child(2) p {
            line-height: 2; }
            #term-box ul li:nth-child(2) p.name {
              font-size: clamp(1.25rem, 0.977rem + 1.36vw, 2rem); }
            #term-box ul li:nth-child(2) p.en-name {
              font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
              font-weight: 500; }
            #term-box ul li:nth-child(2) p.title {
              margin: 20px 0; }
        #term-box ul li:nth-child(3), #term-box ul li:nth-child(5), #term-box ul li:nth-child(8), #term-box ul li:nth-child(10), #term-box ul li:nth-child(11) {
          align-items: stretch;
          margin: 20px 0 0 0; }
          #term-box ul li:nth-child(3) img, #term-box ul li:nth-child(5) img, #term-box ul li:nth-child(8) img, #term-box ul li:nth-child(10) img, #term-box ul li:nth-child(11) img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            vertical-align: bottom; }
        #term-box ul li:nth-child(4), #term-box ul li:nth-child(6), #term-box ul li:nth-child(7), #term-box ul li:nth-child(9), #term-box ul li:nth-child(12) {
          background: #2F387D;
          color: #fff;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-wrap: wrap;
          margin: 20px 0 0 0; }
          #term-box ul li:nth-child(4) p, #term-box ul li:nth-child(6) p, #term-box ul li:nth-child(7) p, #term-box ul li:nth-child(9) p, #term-box ul li:nth-child(12) p {
            text-align: center; }
            #term-box ul li:nth-child(4) p.name, #term-box ul li:nth-child(6) p.name, #term-box ul li:nth-child(7) p.name, #term-box ul li:nth-child(9) p.name, #term-box ul li:nth-child(12) p.name {
              font-size: clamp(1rem, 0.8rem + 1.36vw, 1.4rem);
              line-height: 1.5; }
            #term-box ul li:nth-child(4) p.en-name, #term-box ul li:nth-child(6) p.en-name, #term-box ul li:nth-child(7) p.en-name, #term-box ul li:nth-child(9) p.en-name, #term-box ul li:nth-child(12) p.en-name {
              font-size: clamp(0.7rem, 0.6rem + 0.23vw, 0.9rem);
              font-weight: 500; }
            #term-box ul li:nth-child(4) p.title, #term-box ul li:nth-child(6) p.title, #term-box ul li:nth-child(7) p.title, #term-box ul li:nth-child(9) p.title, #term-box ul li:nth-child(12) p.title {
              margin: 10px 0 0 0; }
        #term-box ul li:nth-child(4), #term-box ul li:nth-child(6), #term-box ul li:nth-child(12) {
          position: relative;
          z-index: 2; }
          #term-box ul li:nth-child(4)::before, #term-box ul li:nth-child(6)::before, #term-box ul li:nth-child(12)::before {
            content: "";
            position: absolute;
            top: 50%;
            left: -12px;
            margin-top: -6px;
            border: 6px solid transparent;
            border-right: 6px solid #2F387D;
            z-index: 2; }
        #term-box ul li:nth-child(7), #term-box ul li:nth-child(9) {
          position: relative;
          z-index: 2; }
          #term-box ul li:nth-child(7)::before, #term-box ul li:nth-child(9)::before {
            content: "";
            position: absolute;
            top: 50%;
            right: -12px;
            margin-top: -6px;
            border: 6px solid transparent;
            border-left: 6px solid #2F387D;
            z-index: 2; }
        #term-box ul li:nth-child(3), #term-box ul li:nth-child(4) {
          margin: 50px 0 0 0; }

  /* ------------ company-box ------------ */
  #company-box {
    background: #2F387D;
    padding: 120px 5%; }
    #company-box figure img {
      width: 20px;
      vertical-align: bottom; }
    #company-box h2 {
      color: #fff; }
    #company-box p.jp-text {
      color: #fff;
      border-bottom: 1px solid #fff; }
    #company-box dl {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      color: #fff;
      border-bottom: 1px solid rgba(255, 255, 255, 0.4);
      padding: 20px 0;
      font: normal 1.4rem/2 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-size: clamp(0.875rem, 0.586rem + 0.6vw, 1rem);
      font-weight: 700; }
      #company-box dl dt {
        width: 25%; }
      #company-box dl dd {
        flex: 1; }
      #company-box dl:first-of-type {
        margin: 50px 0 0 auto; }

  /* ------------ footer-box ------------ */
  #footer-box .wrap-box .logo-box {
    padding: 50px 0; }
    #footer-box .wrap-box .logo-box figure {
      max-width: 160px;
      width: 60%;
      margin: 0 auto; }
      #footer-box .wrap-box .logo-box figure img {
        width: 100%;
        vertical-align: bottom; }
  #footer-box .wrap-box .text-box {
    padding: 0 0 50px 0;
    text-align: center; }
    #footer-box .wrap-box .text-box h3 {
      font: normal 4.4rem/1.1 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-weight: 700;
      font-size: clamp(1.375rem, 0.875rem + 2.5vw, 2.75rem); }
    #footer-box .wrap-box .text-box .bar {
      border-bottom: 2px solid #333;
      width: 15px;
      height: 3px;
      margin: 10px auto 0; }
    #footer-box .wrap-box .text-box ul {
      margin: 30px 0 0 0; }
      #footer-box .wrap-box .text-box ul li {
        list-style: none;
        font: normal 1.2rem/1 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-weight: 700;
        position: relative; }
        #footer-box .wrap-box .text-box ul li:nth-child(1)::before {
          content: 'call'; }
        #footer-box .wrap-box .text-box ul li:nth-child(2) {
          margin: 20px 0 0 0; }
          #footer-box .wrap-box .text-box ul li:nth-child(2) a {
            transition: all 0.5s;
            -moz-transition: all 0.5s;
            -webkit-transition: all 0.5s;
            -ms-transition: all 0.5s;
            -o-transition: all 0.5s; }
            #footer-box .wrap-box .text-box ul li:nth-child(2) a:link, #footer-box .wrap-box .text-box ul li:nth-child(2) a:visited, #footer-box .wrap-box .text-box ul li:nth-child(2) a:active {
              text-decoration: none;
              color: #333; }
            #footer-box .wrap-box .text-box ul li:nth-child(2) a:hover {
              opacity: 0.7;
              filter: alpha(opacity=70); }
          #footer-box .wrap-box .text-box ul li:nth-child(2)::before {
            content: 'mail'; }
          #footer-box .wrap-box .text-box ul li:nth-child(2)::after {
            content: '@minatoworks.co.jp'; }
  #footer-box .copy-box {
    background: #000;
    padding: 10px 0; }
    #footer-box .copy-box p {
      color: #666;
      line-height: 1;
      text-align: center; }

  /* ------------ page-top ------------ */
  #page-top {
    width: 25px;
    height: 25px;
    position: fixed;
    right: -50px;
    bottom: 50px;
    background: #2F387D;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    z-index: 800; }
    #page-top a {
      position: relative;
      display: block;
      width: 25px;
      height: 25px;
      text-decoration: none;
      transition: all 0.5s;
      -moz-transition: all 0.5s;
      -webkit-transition: all 0.5s;
      -ms-transition: all 0.5s;
      -o-transition: all 0.5s; }
      #page-top a:hover {
        opacity: 0.8;
        filter: alpha(opacity=80); }
      #page-top a::before {
        content: 'arrow_drop_up';
        font-size: 25px;
        color: #fff;
        position: absolute;
        width: 25px;
        height: 25px;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        z-index: 2000;
        text-align: center; }

  /* ------------ scrolltrigger ------------ */
  .visible, .invisible {
    opacity: 0;
    filter: alpha(opacity=0);
    transition: all 0.3s;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s; }

  .visible {
    opacity: 1;
    filter: alpha(opacity=100); }

  .invisible.translate-01 {
    transform: translateY(20px);
    -moz-transform: translateY(20px);
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px); }

  .visible.translate-01 {
    transform: translateY(0);
    -moz-transform: translateY(0);
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0); }

  .invisible.translate-02 {
    transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px); }

  .visible.translate-02 {
    transform: translateX(0);
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0); } }
/* ------------ //SP ------------ */
/* ------------ PC ------------ */
@media screen and (min-width: 769px) {
  /* ------------ body ------------ */
  html, body {
    color: #333;
    font-feature-settings: "palt"; }

  /* ------------ material-i ------------ */
  .material-i, #footer-box .wrap-box .text-box ul li:nth-child(1)::before, #footer-box .wrap-box .text-box ul li:nth-child(2)::before, #page-top a::before {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    vertical-align: middle; }

  /* ------------ common ------------ */
  p {
    font: normal 1.6rem/2 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: clamp(0.875rem, 0.586rem + 0.6vw, 1rem);
    font-weight: 700; }
    p.jp-text {
      display: inline;
      font-size: clamp(0.875rem, 0.297rem + 1.2vw, 1.125rem);
      border-bottom: 2px solid #333;
      padding: 0 0 5px 0; }

  h2 {
    font: normal 8.6rem/1.1 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 700;
    font-size: clamp(2.813rem, -3.694rem + 13.55vw, 5.625rem);
    margin: -5px 0 0 0; }

  /* ------------ splash-box ------------ */
  #splash-box {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: #2F387D;
    text-align: center; }
    #splash-box #splash-logo {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      #splash-box #splash-logo img {
        width: 200px;
        vertical-align: bottom; }
        #splash-box #splash-logo img.fadeUp {
          animation-name: fadeUpAnime;
          animation-duration: 0.5s;
          animation-fill-mode: forwards;
          opacity: 0; }

  @keyframes fadeUpAnime {
    from {
      opacity: 0;
      transform: translateY(100px); }
    to {
      opacity: 1;
      transform: translateY(0); } }
  /* ------------ header-box ------------ */
  #header-box {
    padding: 25px 0;
    display: flex;
    justify-content: center; }
    #header-box h1 {
      text-indent: -9999px;
      background: url(../img/11.png) no-repeat;
      background-size: contain;
      width: 218px;
      height: 53px; } }
  @media only screen and (min-width: 769px) and (-webkit-min-device-pixel-ratio: 2) {
    #header-box h1 {
      background-image: url(../img/11@2x.png); } }

@media screen and (min-width: 769px) {
  /* ------------ eyecatch-box ------------ */
  #eyecatch-box {
    background: url(../img/01.jpg) no-repeat center center;
    width: 100%;
    height: calc(100vh - 103px);
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; }
    #eyecatch-box figure {
      max-width: 650px;
      width: 60%;
      background: rgba(0, 0, 0, 0.15);
      padding: 20px 40px; }
      #eyecatch-box figure img {
        width: 100%;
        vertical-align: bottom; }
    #eyecatch-box .scroll-down {
      position: absolute;
      bottom: 20px;
      transform: translateX(-50%);
      z-index: 10; }
      #eyecatch-box .scroll-down span {
        position: absolute;
        left: 10px;
        bottom: 10px;
        color: #333;
        font-size: 0.7rem;
        letter-spacing: 0.05em;
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
        writing-mode: vertical-rl; }
      #eyecatch-box .scroll-down::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: -4px;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #eee;
        animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite; }
      #eyecatch-box .scroll-down::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 2px;
        height: 50px;
        background: #eee; }
  @keyframes circlemove {
    0% {
      bottom: 45px; }
    100% {
      bottom: -5px; } }
  @keyframes cirlemovehide {
    0% {
      opacity: 0; }
    50% {
      opacity: 1; }
    80% {
      opacity: 0.9; }
    100% {
      opacity: 0; } }
  /* ------------ who-box ------------ */
  #who-box {
    padding: 320px 0 0 0; }
    #who-box .wrap-box {
      width: 90%;
      margin: 0 auto;
      display: flex;
      justify-content: space-between; }
      #who-box .wrap-box .text-box {
        flex: 1; }
        #who-box .wrap-box .text-box img {
          width: 28px;
          vertical-align: bottom; }
      #who-box .wrap-box figure {
        max-width: 527px;
        width: 100%;
        margin: 0 0 0 5%; }
        #who-box .wrap-box figure img {
          width: 100%;
          vertical-align: bottom;
          margin: -120px 0 0 0; }
    #who-box p.copy {
      margin: 70px 0 0 8%;
      width: 45%; }
    #who-box ul {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 60px 0 0 0; }
      #who-box ul li {
        width: calc(100% / 3);
        list-style: none; }
        #who-box ul li img {
          width: 100%;
          vertical-align: bottom; }

  /* ------------ our-box ------------ */
  #our-box {
    background: #f5f5f5;
    padding: 230px 0; }
    #our-box .wrap-box {
      width: 90%;
      display: flex;
      justify-content: space-between;
      margin: 30px auto 0; }
      #our-box .wrap-box .text-box {
        width: 45%; }
      #our-box .wrap-box .services-box {
        width: 50%;
        margin: 0 0 0 5%; }
        #our-box .wrap-box .services-box dl {
          display: flex;
          justify-content: space-between;
          border-bottom: 1px solid #dcdcdc;
          padding: 50px 0;
          align-items: flex-start; }
          #our-box .wrap-box .services-box dl dt {
            background: #2F387D;
            font: normal 1.4rem/1.5 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
            font-weight: 700;
            color: #fff;
            width: 40%;
            padding: 10px;
            box-sizing: border-box;
            text-align: center; }
          #our-box .wrap-box .services-box dl dd {
            width: 50%;
            margin: 0 0 0 10%;
            font: normal 1rem/2 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
            font-weight: 700; }

  /* ------------ term-box ------------ */
  #term-box {
    width: 90%;
    margin: 0 auto;
    padding: 230px 0; }
    #term-box ul {
      display: flex;
      justify-content: space-between;
      align-items: stretch;
      flex-wrap: wrap;
      margin: 200px auto 0;
      max-width: 1200px; }
      #term-box ul li {
        list-style: none;
        width: 25%; }
        #term-box ul li:nth-child(1) {
          width: 50%;
          display: flex;
          align-items: stretch; }
          #term-box ul li:nth-child(1) img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            vertical-align: bottom; }
        #term-box ul li:nth-child(2) {
          width: 50%;
          padding: 50px;
          box-sizing: border-box; }
          #term-box ul li:nth-child(2) p {
            line-height: 1.5; }
            #term-box ul li:nth-child(2) p.name {
              font-size: clamp(1.25rem, 0.977rem + 1.36vw, 2rem); }
            #term-box ul li:nth-child(2) p.en-name {
              font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
              font-weight: 500; }
            #term-box ul li:nth-child(2) p.title {
              margin: 20px 0; }
        #term-box ul li:nth-child(3), #term-box ul li:nth-child(5), #term-box ul li:nth-child(8), #term-box ul li:nth-child(10), #term-box ul li:nth-child(11) {
          align-items: stretch; }
          #term-box ul li:nth-child(3) img, #term-box ul li:nth-child(5) img, #term-box ul li:nth-child(8) img, #term-box ul li:nth-child(10) img, #term-box ul li:nth-child(11) img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            vertical-align: bottom; }
        #term-box ul li:nth-child(4), #term-box ul li:nth-child(6), #term-box ul li:nth-child(7), #term-box ul li:nth-child(9), #term-box ul li:nth-child(12) {
          background: #2F387D;
          color: #fff;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-wrap: wrap; }
          #term-box ul li:nth-child(4) p, #term-box ul li:nth-child(6) p, #term-box ul li:nth-child(7) p, #term-box ul li:nth-child(9) p, #term-box ul li:nth-child(12) p {
            text-align: center; }
            #term-box ul li:nth-child(4) p.name, #term-box ul li:nth-child(6) p.name, #term-box ul li:nth-child(7) p.name, #term-box ul li:nth-child(9) p.name, #term-box ul li:nth-child(12) p.name {
              font-size: clamp(1.25rem, 0.977rem + 1.36vw, 1.6rem);
              line-height: 1.5; }
            #term-box ul li:nth-child(4) p.en-name, #term-box ul li:nth-child(6) p.en-name, #term-box ul li:nth-child(7) p.en-name, #term-box ul li:nth-child(9) p.en-name, #term-box ul li:nth-child(12) p.en-name {
              font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
              font-weight: 500; }
            #term-box ul li:nth-child(4) p.title, #term-box ul li:nth-child(6) p.title, #term-box ul li:nth-child(7) p.title, #term-box ul li:nth-child(9) p.title, #term-box ul li:nth-child(12) p.title {
              margin: 20px 0 0 0; }
        #term-box ul li:nth-child(4), #term-box ul li:nth-child(6), #term-box ul li:nth-child(12) {
          position: relative; }
          #term-box ul li:nth-child(4)::before, #term-box ul li:nth-child(6)::before, #term-box ul li:nth-child(12)::before {
            content: "";
            position: absolute;
            top: 50%;
            left: -24px;
            margin-top: -12px;
            border: 12px solid transparent;
            border-right: 12px solid #2F387D;
            z-index: 2; }
        #term-box ul li:nth-child(7), #term-box ul li:nth-child(9) {
          position: relative;
          z-index: 2; }
          #term-box ul li:nth-child(7)::after, #term-box ul li:nth-child(9)::after {
            content: "";
            position: absolute;
            top: 50%;
            right: -24px;
            margin-top: -12px;
            border: 12px solid transparent;
            border-left: 12px solid #2F387D;
            z-index: 2; }

  /* ------------ company-box ------------ */
  #company-box {
    background: #2F387D;
    padding: 230px 5%; }
    #company-box h2 {
      color: #fff; }
    #company-box p.jp-text {
      color: #fff;
      border-bottom: 2px solid #fff; }
    #company-box dl {
      width: 75%;
      margin: 0 0 0 auto;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      color: #fff;
      border-bottom: 1px solid rgba(255, 255, 255, 0.4);
      padding: 40px 0;
      font: normal 1.6rem/2 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-size: clamp(0.875rem, 0.586rem + 0.6vw, 1rem);
      font-weight: 700; }
      #company-box dl dt {
        width: 20%; }
      #company-box dl dd {
        flex: 1; }
      #company-box dl:first-of-type {
        margin: 130px 0 0 auto; }

  /* ------------ footer-box ------------ */
  #footer-box .wrap-box {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    #footer-box .wrap-box .logo-box {
      flex: 1; }
      #footer-box .wrap-box .logo-box figure {
        max-width: 218px;
        width: 60%;
        margin: 0 auto; }
        #footer-box .wrap-box .logo-box figure img {
          width: 100%;
          vertical-align: bottom; }
    #footer-box .wrap-box .text-box {
      width: 65%;
      border-left: 1px solid #333;
      padding: 100px 0;
      text-align: center; }
      #footer-box .wrap-box .text-box h3 {
        font: normal 4.4rem/1.1 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-weight: 700;
        font-size: clamp(1.375rem, 0.875rem + 2.5vw, 2.75rem); }
      #footer-box .wrap-box .text-box .bar {
        border-bottom: 2px solid #333;
        width: 15px;
        height: 3px;
        margin: 10px auto 0; }
      #footer-box .wrap-box .text-box ul {
        display: flex;
        justify-content: center;
        margin: 45px 0 0 0; }
        #footer-box .wrap-box .text-box ul li {
          list-style: none;
          font: normal 3rem/1 "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
          font-weight: 700;
          font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
          position: relative; }
          #footer-box .wrap-box .text-box ul li:nth-child(1)::before {
            content: 'call'; }
          #footer-box .wrap-box .text-box ul li:nth-child(2) {
            margin: 0 0 0 25px; }
            #footer-box .wrap-box .text-box ul li:nth-child(2) a {
              transition: all 0.5s;
              -moz-transition: all 0.5s;
              -webkit-transition: all 0.5s;
              -ms-transition: all 0.5s;
              -o-transition: all 0.5s; }
              #footer-box .wrap-box .text-box ul li:nth-child(2) a:link, #footer-box .wrap-box .text-box ul li:nth-child(2) a:visited, #footer-box .wrap-box .text-box ul li:nth-child(2) a:active {
                text-decoration: none;
                color: #333; }
              #footer-box .wrap-box .text-box ul li:nth-child(2) a:hover {
                opacity: 0.7;
                filter: alpha(opacity=70); }
            #footer-box .wrap-box .text-box ul li:nth-child(2)::before {
              content: 'mail'; }
            #footer-box .wrap-box .text-box ul li:nth-child(2)::after {
              content: '@minatoworks.co.jp'; }
  #footer-box .copy-box {
    background: #000;
    padding: 15px 0; }
    #footer-box .copy-box p {
      color: #666;
      line-height: 1;
      text-align: center; }

  /* ------------ page-top ------------ */
  #page-top {
    width: 50px;
    height: 50px;
    position: fixed;
    right: -50px;
    bottom: 50px;
    background: #2F387D;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    z-index: 800; }
    #page-top a {
      position: relative;
      display: block;
      width: 50px;
      height: 50px;
      text-decoration: none;
      transition: all 0.5s;
      -moz-transition: all 0.5s;
      -webkit-transition: all 0.5s;
      -ms-transition: all 0.5s;
      -o-transition: all 0.5s; }
      #page-top a:hover {
        opacity: 0.8;
        filter: alpha(opacity=80); }
      #page-top a::before {
        content: 'arrow_drop_up';
        font-size: 50px;
        color: #fff;
        position: absolute;
        width: 50px;
        height: 50px;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        z-index: 2000;
        text-align: center; }

  /* ------------ scrolltrigger ------------ */
  .visible, .invisible {
    opacity: 0;
    filter: alpha(opacity=0);
    transition: all 0.3s;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s; }

  .visible {
    opacity: 1;
    filter: alpha(opacity=100); }

  .invisible.translate-01 {
    transform: translateY(20px);
    -moz-transform: translateY(20px);
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px); }

  .visible.translate-01 {
    transform: translateY(0);
    -moz-transform: translateY(0);
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0); }

  .invisible.translate-02 {
    transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px); }

  .visible.translate-02 {
    transform: translateX(0);
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0); } }
/* ------------ //PC ------------ */

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