@charset "UTF-8";
/*リセットCSS（sanitize.css）の読み込み
---------------------------------------------------------------------------*/
@import url("https://unpkg.com/sanitize.css");
/*slick.cssの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");
/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");
/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&display=swap");
/*テンプレート専用cssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("animation.css");
@import url("inview.css");
/*メニュー、装飾ライン、グラデ明るい色*/
/**/
/*グラデ暗い色*/
/*重要項目*/
/*全体の設定
---------------------------------------------------------------------------*/
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-size: 10px; /*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
}

body {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, sans-serif; /*フォント種類*/
  -webkit-text-size-adjust: none;
  background: #fff; /*背景色*/
  color: #555; /*全体の文字色*/
  line-height: 2.0; /*行間*/
  overflow-x: hidden;
  overflow-y: scroll;
  text-align: justify;
}
.sp {display: none;}
/*リセット*/
figure {
  margin: 0;
}

dd {
  margin: 0;
}

nav {
  margin: 0;
  padding: 0;
}

/*table全般の設定*/
table {
  border-collapse: collapse;
}

/*画像全般の設定*/
img {
  border: none;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/*videoタグ*/
video {
  max-width: 100%;
}

/*iframeタグ*/
iframe {
  width: 100%;
}

/*ul,olタグ*/
ul, ol {
  margin-bottom: 30px;
}

/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
  color: #57524b; /*文字色*/
  transition: 0.3s;
}

a:hover {
  opacity: 0.8; /*マウスオン時に80%の透明度にする*/
}

.link {
  font-weight: 600;
  color: rgb(230, 0, 18);
}
.link:hover {
  color: rgb(141, 147, 200);
}

/*sectionタグと、詳細ページの共通設定
---------------------------------------------------------------------------*/
section,
main > article {
  margin: 0 auto;
  max-width: 1180px; /*最大幅。これ以上広がらない。*/
  padding: 5% 5%; /*ボックス内の余白*/
}

/*containerブロック
---------------------------------------------------------------------------*/
#container {
  height: 100%;
  display: flex; /*flexボックスを使う指定*/
  flex-direction: column; /*子要素を縦並びにする*/
  justify-content: space-between; /*並びかたの種類の指定*/
}

/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
  display: flex; /*flexボックスを使う指定*/
  align-items: center; /*垂直揃えの指定。上下中央に配置されるように。*/
  justify-content: flex-end; /*並びかたの種類の指定*/
  background: #ffffff; /*背景色*/
  color: rgb(0, 104, 183); /*文字色*/
  position: relative;
  z-index: 1;
}

/*ヘッダーのリンクテキストの文字色*/
header a {
  color: rgb(0, 104, 183);
}

header a:hover {
  color: #555;
}

/*menubarブロック初期設定
---------------------------------------------------------------------------*/
#menubar ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*メニューを非表示にしておく*/
#menubar {
  display: none;
}

/*開閉用のスタイル*/
#menubar.db {
  display: block;
}

#menubar.dn {
  display: none;
}

/*メニュー１個あたりの設定*/
#menubar a {
  display: block;
  text-decoration: none;
  text-align: center; /*テキストを中央に*/
  letter-spacing: 0.1em; /*文字間隔を少しだけ広くする指定*/
}

/*小さな端末時にアイコン類だけ横並びにする
---------------------------------------------------------------------------*/
.s #menubar.db li.inline,
.s #menubar.db li.inline a {
  display: inline-block;
}

/*ドロップダウンメニュー
---------------------------------------------------------------------------*/
/*ドロップダウンを非表示にしておく*/
#menubar .ddmenu_parent ul {
  display: none;
}

/*ドロップダウンメニューを持つ親に矢印アイコンをつける設定*/
a.ddmenu::before {
  font-family: "Font Awesome 5 Free"; /*Font Awesomeを使う指定*/
  content: "\f103"; /*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
  font-weight: bold; /*この手の設定がないとアイコンが出ない場合があります*/
  margin-right: 0.5em; /*アイコンとテキストとの間に空けるスペース*/
}

/*ドロップダウンを持つ親のマウスオン時にリンク用のカーソルでなくデフォルトの矢印を出す*/
a.ddmenu {
  cursor: default;
}

/*ドロップダウンメニュー１個あたりの設定*/
.ddmenu_parent ul a {
  background: rgba(0, 0, 0, 0.8); /*背景色。0,0,0は黒の事で0.8は色が80%出た状態の事。*/
}

/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*開閉用のスタイル*/
#menubar_hdr.db {
  display: flex;
}

#menubar_hdr.dn {
  display: none;
}

/*３本バーを囲むブロック*/
#menubar_hdr {
  position: fixed;
  z-index: 101;
  cursor: pointer;
  right: 3%; /*左からの配置場所指定*/
  top: 0px; /*上からの配置場所指定*/
  padding: 16px 14px; /*上下、左右への余白*/
  width: 52px; /*幅（３本バーが出ている場合の幅になります）*/
  height: 52px; /*高さ*/
  display: flex; /*flexボックスを使う指定*/
  flex-direction: column; /*子要素（３本バー）を縦並びにする*/
  justify-content: space-between; /*並びかたの種類の指定*/
  order: 0; /*表示させる順番。「#menubar_hdr」「#logo」「#header-icon」それぞれに指定しており、数字の「小さな順」に左から並びます。*/
  background: rgba(0, 0, 0, 0.5); /*背景色*/
}

/*バー１本あたりの設定*/
#menubar_hdr span {
  display: block;
  transition: 0.3s; /*アニメーションにかける時間。0.3秒。*/
  border-top: 2px solid #fff; /*線の幅、線種、色*/
}

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
  transform-origin: center center; /*変形の起点。センターに。*/
  width: 26px; /*バーの幅*/
}

/*×印が出ている状態の設定。※１本目のバー。*/
#menubar_hdr.ham span:nth-of-type(1) {
  transform: rotate(45deg) translate(6px, 7px); /*回転45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※３本目のバー。*/
#menubar_hdr.ham span:nth-of-type(3) {
  transform: rotate(-45deg) translate(6px, -7px); /*回転-45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※２本目のバー。*/
#menubar_hdr.ham span:nth-of-type(2) {
  display: none; /*２本目は使わないので非表示にする*/
}

/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {
  flex: 1;
}

/*トップページ以外のページのmain上部に余白をとる*/
body:not(.home) main {
  padding-top: 80px;
}

/*mainブロック内のh2タグ*/
main h2 {
  margin-bottom: 30px; /*下に空けるスペース*/
  position: relative; /*アニメーションに必要な設定*/
  letter-spacing: 0.1em; /*文字間隔を少しだけ広くとる設定*/
  border-bottom: 3px solid #f5f5f5; /*デフォルトのラインの色。下の「bottom」と「height」の３ヶ所の数字部分を合わせる*/
}

/*下線スタイル*/
main h2 .uline {
  display: inline-block;
  position: relative;
  padding: 10px 20px; /*h2タグ内の余白。上下、左右への順番。*/
  bottom: -3px; /*上の「border-bottom」と下の「height」の３ヶ所の数字部分を合わせる。※この行だけマイナスをつけるように。*/
}

main h2 .uline::before {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 3px; /*ラインの高さ。上の「border-bottom」と「bottom」の３ヶ所の数字部分を合わせる*/
  background: rgb(0, 104, 183); /*アニメーション時のラインの色*/
  transition: 1s 0.5s; /*1sはアニメーションの実行時間は1秒。0.5秒遅れてスタートする指定。*/
  transform: scaleX(0); /*幅。最初は0にして見えなくしておく。*/
  transform-origin: left top; /*線の出現起点が左からになるように。中央からの出現がよければこの１行削除。*/
}

main h2.linestyle .uline::before {
  transform: scaleX(1);
}


/*フッター設定
---------------------------------------------------------------------------*/
footer small {
  font-size: 140%;
}

footer {
  font-size: 0.7rem; /*文字サイズ*/
  text-align: center; /*内容をセンタリング*/
  padding: 20px; /*ボックス内の余白*/
  background: #111; /*背景色*/
  color: #fff; /*文字色*/
}

/*リンクテキスト*/
footer a {
  text-decoration: none;
  color: #fff;
}

/*著作部分*/
footer .pr {
  display: block;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#footermenu {
  margin: 0;
  padding: 0;
  margin-bottom: 30px; /*下に空けるスペース*/
}

/*メニュー１個あたり*/
#footermenu li {
  display: inline-block; /*横並びにする*/
  padding: 0 10px; /*上下、左右への余白*/
  font-size: 1.2em;
}

/*スライドショー（slickを使用）
---------------------------------------------------------------------------*/
.mainimg {
  position: relative;
}

/*丸いページナビボタン全体を囲むブロック*/
ul.slick-dots {
  margin: 0;
  padding: 0;
  line-height: 1;
  width: 100%;
  text-align: center;
  position: absolute;
  bottom: 10px; /*下からの配置場所指定*/
}

/*丸いページナビボタン１個あたりの設定*/
ul.slick-dots li {
  display: inline-block;
  margin: 0 10px;
  cursor: pointer;
}

/*buttonタグ*/
ul.slick-dots li button {
  border: none;
  padding: 0;
  display: block;
  text-indent: -9999px; /*デフォルトで文字が出るので画面の外に追い出す指定*/
  width: 12px; /*ボタンの幅*/
  height: 12px; /*ボタンの高さ*/
  border-radius: 50%; /*丸くする指定*/
  cursor: pointer; /*クリックで画像へジャンプするので、わかりやすいようhover時にpointerになるように。*/
  background: #fff; /*背景色。白。*/
}

/*buttonのアクティブ時（現在表示されている画像を示すボタン）*/
ul.slick-dots li.slick-active button {
  background: rgb(0, 104, 183); /*色*/
}

.slick-slide img {
  display: block;
  width: 100vw;
  -o-object-fit: cover;
     object-fit: cover;
  height: 680px;
}

/*FAQ
---------------------------------------------------------------------------*/
/*FAQボックス全体*/
.faq {
  padding: 0 5px; /*上下、左右へのボックス内の余白*/
}

/*質問*/
.faq dt {
  border-radius: 3px; /*枠を角丸にする指定*/
  margin-bottom: 20px; /*下に空けるスペース*/
  background: linear-gradient(#fff, #f7f7f7); /*背景グラデーション*/
  text-indent: -2em; /*テキストのインデント。質問が複数行になった際に、テキストの冒頭を揃える為に設定しています。*/
  padding: 5px 1em 5px 3em; /*ボックス内の余白。ここを変更する場合、上のtext-indentも調整します。*/
  border: 1px solid #e4e2d7; /*枠線の幅、線種、色*/
}

/*アイコン（Font Awesome）*/
.faq dt::before {
  font-family: "Font Awesome 5 Free"; /*Font Awesomeを使う指定*/
  content: "\f059"; /*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
  color: rgb(0, 104, 183); /*アイコンの色*/
  padding-right: 1em; /*アイコンとテキストの間の余白*/
}

/*回答*/
.faq dd {
  padding: 5px 1em 30px 3em; /*ボックス内の余白**/
}

/*opencloseを適用した要素のカーソル*/
.openclose {
  cursor: pointer; /*カーソルの形状。リンクと同じスタイルにしてクリックできると認識してもらう。*/
}

.faq dt span {
  text-indent: 0;
}

/*btnの設定
---------------------------------------------------------------------------*/
p.btn {
  margin: 0;
}

/*ボタンを囲むブロック*/
.btn {
  text-align: center; /*内容をセンタリング*/
}

/*ボタン*/
.btn a,
.btn input {
  display: inline-block;
  text-decoration: none;
  border: none;
  font-size: 1em;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); /*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.2は色が20%出た状態。*/
  background: linear-gradient(150deg, rgb(0, 104, 183), rgb(0, 54, 122)); /*背景グラデーション。#logoと合わせています。*/
  letter-spacing: 0.1em; /*文字間隔を少し広くする指定*/
  color: #fff; /*文字色*/
  transition: 0.3s; /*hoverまでにかける時間。0.3秒。*/
  padding: 0.66em 2em; /*余白*/
  margin: 0 auto 30px; /*ボタンの外側に空けるスペース。上、左右、下への順番。*/
}

/*ボタンのマウスオン時*/
.btn a:hover,
.btn input:hover {
  cursor: pointer; /*inputタグを使う場合に「手」のマークになるように。リンクと同じ表示になるようにという事です。*/
  opacity: 0.8; /*冒頭のリンクテキストのhoverと合わせました*/
  transform: scale(1.02); /*実寸の102%に拡大*/
}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
  font-weight: bold; /*太字に*/
  padding: 10px 5px; /*上下、左右へのボックス内の余白。基本的に数行下の「.ta1 th, .ta1 td」のpaddingと揃えておけばOKです。*/
  background: #eee; /*背景色*/
  margin-bottom: 15px; /*下に空けるスペース*/
}

/*ta1テーブルブロック設定*/
.ta1, .ta_contact {
  border-top: 1px solid #ccc; /*テーブルの一番上の線。幅、線種、色*/
  width: 100%;
  margin: 0 auto 30px; /*最後の「30px」がテーブルの下に空けるスペースです*/
}
.ta_contact {
  width: 85%;
}

/*tr（１行分）タグ設定*/
.ta1 tr, .ta_contact tr {
  border-bottom: 1px solid #ccc; /*テーブルの下線。幅、線種、色*/
}
.ta1 tr:nth-child(2) {
  border-bottom: none;
}
/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td, .ta_contact th, .ta_contact td {
  padding: 10px 5px; /*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
  word-break: break-all; /*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}

/*th（左側）のみの設定*/
.ta1 th, .ta_contact th {
  width: 30%; /*幅*/
  text-align: left; /*左よせにする*/
}

/*背景色パターン
---------------------------------------------------------------------------*/
.bg1 {
  background: #eee;
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {
  display: block;
}

/*ボタンの設定*/
.pagetop a {
  display: block;
  text-decoration: none;
  text-align: center;
  z-index: 99;
  position: fixed; /*スクロールに追従しない(固定で表示)為の設定*/
  right: 20px; /*右からの配置場所指定*/
  bottom: 20px; /*下からの配置場所指定*/
  color: #fff; /*文字色*/
  font-size: 1.5em; /*文字サイズ*/
  background: rgb(141, 147, 200); /*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
  width: 60px; /*幅*/
  line-height: 60px; /*高さ*/
  border-radius: 50%; /*円形にする*/
}

/*その他
---------------------------------------------------------------------------*/
a {
  text-decoration: none;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.color-theme, .color-theme a {
  color: rgb(0, 104, 183) !important;
}

.color-check, .color-check a {
  color: rgb(230, 0, 18) !important;
}

.c {
  text-align: center !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.look {
  display: inline-block;
  padding: 0px 10px;
  background: #666;
  color: #fff;
  border-radius: 3px;
  margin: 5px 0;
  word-break: break-all;
}

.look .color-check {
  color: #ffcc00 !important;
}

.small {
  font-size: 0.6em;
}

/*.ws {
  height: 56px;
}*/
.ws,
.wl {
  font-size: 0.93rem;
  width: 98%;
}

.tab_top_border_none {
  border-top: none;
}

input, textarea {
  background: #f8f8f8;
  border: #999 1px solid;
}

/*メニュー、装飾ライン、グラデ明るい色*/
/**/
/*グラデ暗い色*/
/*重要項目*/
/*---------------------------------------------------------------------------
ここから下は画面幅756px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width: 756px) {
  /*全体の設定
  ---------------------------------------------------------------------------*/
  html, body {
    font-size: 1.03em; /*基準となるフォントサイズの上書き*/
  }
  /*header（ロゴなどが入った最上段のブロック）
  ---------------------------------------------------------------------------*/
  /*ヘッダーブロック*/
  header {
    position: fixed; /*スクロールしても一緒に移動しない為の設定。画面上に固定表示されます。*/
    width: 100%;
    padding-right: 18px;
  }
  header #logo {
    margin: 0;
    /*background: linear-gradient(150deg, $blue, $dark_blue);/*背景グラデーションdegは角度。*/
    background: #ffffff;
    width: 281px; /*ロゴの幅*/
    padding: 22px 20px; /*ロゴ内の余白。ロゴ画像と背景グラデーションの余白です。*/
    position: absolute;
    left: 3%; /*ヘッダーの左からの配置場所の指定*/
    top: 0px; /*ヘッダーの上からの配置場所の指定*/
    box-shadow: 0px 0px 30px rgba(119, 0, 0, 0.2); /*ボックスの影。右へ、下へ、ぼかし幅の順番。rgbaの数字は、最初の３つがRGBでの色指定で最後の小数点が透明度の指定。*/
  }
  /*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/
  /*menubarブロック設定
  ---------------------------------------------------------------------------*/
  /*メニューブロックの設定*/
  #menubar {
    font-size: 1em; /*文字サイズを少し小さくする*/
  }
  #menubar ul {
    display: flex; /*flexボックスを使う指定*/
  }
  /*メニュー１個あたりの設定*/
  #menubar a {
    padding: 10px 15px; /*上下、左右への余白*/
  }
  #menubar  .sp_menu {
    display: none;
  }
  /*ドロップダウンメニュー
  ---------------------------------------------------------------------------*/
  #menubar .ddmenu_parent ul {
    position: absolute;
  }
  /*３本バー（ハンバーガー）アイコン設定
  ---------------------------------------------------------------------------*/
  /*ハンバーガーメニューを非表示にする*/
  #menubar_hdr {
    display: none;
  }
  /*「お知らせ」ブロック
  ---------------------------------------------------------------------------*/
  /*お知らせブロック*/
  #new {
    margin: 0;
    display: flex; /*flexボックスを使う指定*/
    flex-wrap: wrap; /*折り返す指定*/
    padding: 0 20px; /*上下、左右へのボックス内の余白*/
  }
  /*日付(dt)、記事(dd)共通設定*/
  #new dt,
# new dd {
    padding: 5px 0; /*上下、左右へのボックス内の余白*/
  }
  /*記事(dd)設定*/
  #new dd {
    width: calc(100% - 8em); /*「8em」は上の「#new dt」のwidthの値です。※下の「900px以上」の端末用の設定に再設定があります。*/
  }
  /*日付(dt)設定*/
  #new dt {
    width: 7em; /*幅。14文字(em)分。*/
    display: flex; /*flexボックスを使う指定*/
    justify-content: space-between; /*日付とアイコンをそれぞれ端に寄せる*/
  }
  /*日付の横のマーク（共通設定）*/
  #new dt span.recruit, #new dt span.ship, #new dt span.business {
    display: inline-block; /*表示させる*/
    width: 6em; /*幅。6文字(em)分。*/
    color: #fff; /*文字色*/
    font-size: 0.8em; /*文字サイズを80%に。*/
    text-align: center; /*文字をセンタリング*/
    margin-right: 1em; /*アイコンの右側に空けるスペース*/
    align-self: flex-start; /*高さを間延びさせない指定*/
    line-height: 1.8; /*行間を少し狭く*/
    position: relative;
    top: 0.4em; /*上下の配置バランスの微調整*/
  }
  /*bg1設定。サンプルテンプレートでは「サービス」と書いてあるマーク*/
  #new dt span.recruit {
    background: rgb(230, 0, 18); /*背景色*/
  }
  #new dt span.ship {
    background: rgb(0, 104, 183); /*背景色*/
  }
  #new dt span.business {
    background: rgb(66, 66, 66); /*背景色*/
  }
  /*記事(dd)設定*/
  #new dd {
    width: calc(100% - 14em); /*「14em」は上の「#new dt」のwidthの値です。*/
  }
  /*listブロック
  ---------------------------------------------------------------------------*/
  .list {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 20px; /*ボックス内の余白*/
    background: #fff; /*背景色*/
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1); /*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
    position: relative;
  }
  .row-reverse {
    flex-direction: row-reverse;
  }
  /*ボックス内のfigure画像*/
  .list .photo,
  .list .text {
    width: 47.5%;
  }
  .list .photo figure img {
    width: 100%;
    height: 246px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  /*ボックス内のh4タグ*/
  .list h4 {
    margin: 0;
    color: rgb(0, 104, 183); /*文字色*/
    font-size: 1.1em;
    margin-bottom: 10px;
  }
  /*ボックス内のpタグ*/
  .list p {
    margin: 0;
    font-size: 1.05em; /*文字サイズを80%に*/
  }
  /*list内でのbtn*/
  .list .btn {
    margin-top: 1em; /*ボタンの上に１文字分のスペースを空ける*/
  }
  /*listブロック内のボタン*/
  .list .btn a {
    margin: 0;
  }
  /*テーブル
  ---------------------------------------------------------------------------*/
  /*テーブル１行目に入った見出し部分（※caption）*/
  .ta1 caption, .ta_contact caption  {
    padding: 5px 15px; /*上下、左右へのボックス内の余白*/
  }
  /*th（左側）、td（右側）の共通設定*/
  .ta1 th, .ta1 td,, .ta_contact th, .ta_contact td {
    padding: 20px 15px; /*上下、左右へのボックス内の余白*/
  }
  /*th（左側）のみの設定*/
  .ta1 th, .ta_contact th {
    width: 20%; /*幅*/
  }
  /*その他
  ---------------------------------------------------------------------------*/
  .company {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  table.company_info {
    width: 47.5%;
    border-collapse: collapse;
    border-spacing: 0;
  }
  table.company_info tr {
    width: 100%;
    border-top: 1px solid #555;
    border-bottom: 1px solid #555;
  }
  table.company_info th {
    width: 17%;
    padding: 4px 12px;
    font-size: 0.85em;
    font-weight: bold;
  }
  table.company_info td {
    width: 75%;
    padding-left: 4px 12px;
    font-size: 1.02em;
  }
  .top_gmap {
    width: 47.5%;
  }
  /*メインタイトル
  ---------------------------------------------------------------------------*/
  .main_ttl {
    position: relative;
    background: url(../images/image_001.jpg) center center/cover no-repeat;
    max-width: 100vw;
    height: 380px;
    -o-object-fit: cover;
       object-fit: cover;
    margin-top: 63px;
  }
  .main_ttl::after {
    content: "";
    background-color: rgba(0, 14, 104, 0.4);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
  }
  .main_ttl h1 {
    font-size: 2.4em;
    font-weight: 600;
    letter-spacing: 0.15em;
    color: #fff;
    position: relative;
    top: 46%;
    text-align: center;
    z-index: 1;
  }
  /*会社概要
  ---------------------------------------------------------------------------*/
  .message_content {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
  }
  .message_content_text {
    width: 55%;
  }
  .message_content_text p {
    margin-left: 0px;
    margin-bottom: 18px;
  }
  .message_content_text p.name {
    font-weight: 600;
    font-size: 1.02em;
    text-align: right;
  }
  .message_content_photo {
    width: 40%;
  }
  .message_content_photo img {
    height: 424px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 100% 60%;
       object-position: 100% 60%;
  }
  .company_detail {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
  }
  .company_detail table {
    width: 47.5%;
    margin: 0;
  }
  .company_detail table th {
    width: 28%;
  }
  .map_tab {
    width: 10%;
  }
  .timeline {
    list-style: none;
    padding-left: 0px;
  }
  .timeline > li {
    margin-bottom: 60px;
  }
  
  /* for Desktop */
  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  .timeline-date {
    width: 110px;
    float: left;
    margin-top: 20px;
  }
  .timeline-content {
    width: 75%;
    float: left;
    border-left: 3px #e5e5d1 solid;
    padding-left: 30px;
  }
  .timeline-content > h3.timeline-taitle {
    font-size: 1.07rem;
    padding-top: 25px;
    padding-bottom: 12px;
  }
  .timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #6fc173;
    position: absolute;
    left: 106px;
    top: 31px;
    border-radius: 100%;
  }
  
  table.ta1 ul.business-list {
    margin-bottom: 0px;
  }
  table.ta1 ul.business-list li {
    line-height: 1.33;
  }
  table.ta1 ul.business-list li:nth-child(n) {
    padding-bottom: 12px;
  }
  table.ta1 ul.business-list li:last-child {
    padding-bottom: 0px;
  }
  
  .aisatsu_text {
    width: 65%;
  }
  .aisatsu_photo {
    width: 30%;
  }

  /*事業内容
  ---------------------------------------------------------------------------*/
  /*.service_content */

  .service_content_block, .service_content_3block  {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .service_content_block p, .service_content_block figure {
    width: 47.5%;
    height: 260px;
    margin-bottom: 18px;
  }
  .service_content_block p {
    margin: 0;
  }
  .service_content_block h4 {
    width: 100%;
  }
  .service_content_3block p, .service_content_3block h4 {
    display: block;
    width: 100%;
  }
  .service_content_3block figure {
    width: 31.6%;
    height: 260px;
    margin-bottom: 18px;
  }
  .service_content_block figure img,
  .service_content_3block figure img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 260px;
  }

  /*所有船舶
  ---------------------------------------------------------------------------*/
  .shiplist-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .shiplist {
    flex-direction: column;
    width: 32%;
    margin-bottom: 30px;
    padding: 20px;
    background: #fff;
    color: #999;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
    position: relative;
  }
  .shiplist img {
    width: 100%;
    height: 180px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .shiplist h4, .shiplist p {
    text-align: center;
  }
  .shiplist h4 {
    color: rgb(0, 104, 183);
    font-size: 1.15em;
    font-weight: 600;
    margin-bottom: 0px;
  }
  .shiplist p {
    margin-bottom: 16px;
  }
  .shiplist .btn a {
    display: block;
    margin: 0;
  }
  .shiplist-none {
    width: 32%;
  }
  .rental-container {
    width: 100%;
    margin-bottom: 36px;
  }
  .rentalimg {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
  }
  .rentalimg figure {
    width: 31.3%;
  }
  .rentalimg figure img {
    width: 100%;
    height: 260px;
    margin-bottom: 18px;
    object-fit: cover;
  }
  /*求人情報
  ---------------------------------------------------------------------------*/
  .recruit_tab th {
    background: #eee;
    text-align: center;
  }
}
/*メニュー、装飾ライン、グラデ明るい色*/
/**/
/*グラデ暗い色*/
/*重要項目*/
/*---------------------------------------------------------------------------
ここから下は画面幅755px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width: 755px) {
  /*全体の設定
  ---------------------------------------------------------------------------*/
  body {
    font-size: 1.5em;
  }
  .sp {
    line-height: 1.4;
    display: block;
  }
  .pc {
    display: none;
  }
  .sp-space {
    display: inline;
  }
  /*ロゴ画像*/
  header #logo img {
    display: block;
  }
  header #logo {
    margin: 0;
    /*background: linear-gradient(150deg, $blue, $dark_blue);/*背景グラデーションdegは角度。*/
    background: #ffffff;
    width: 55vw; /*ロゴの幅*/
    padding: 8px 20px; /*ロゴ内の余白。ロゴ画像と背景グラデーションの余白です。*/
    position: absolute;
    left: 3%; /*ヘッダーの左からの配置場所の指定*/
    top: 0px; /*ヘッダーの上からの配置場所の指定*/
    box-shadow: 0px 0px 30px rgba(119, 0, 0, 0.2); /*ボックスの影。右へ、下へ、ぼかし幅の順番。rgbaの数字は、最初の３つがRGBでの色指定で最後の小数点が透明度の指定。*/
  }
  .slick-slide img {
    height: 38vh;
  }
  #footermenu {
    display: none;
  }
  main p {
    margin: 0 0px 30px;
  }
  .ws, .wl {
    font-size: 1.5rem;
  }
  /*.ws {
    height: 36px;
  }*/
  .ta_contact {
    width: 100%;
  }
  .ta_contact th {
    padding-bottom: 0px;
  }
  .ta_contact th, .ta_contact td {
    width: 100%;
    display: block;
  }
  /*メインタイトル
  ---------------------------------------------------------------------------*/
  .main_ttl {
    position: relative;
    background: url(../images/image_001.jpg) center center/cover no-repeat;
    max-width: 100vw;
    height: 33vh;
    -o-object-fit: cover;
       object-fit: cover;
    margin-top: -4vh;
    margin-bottom: 4vh;
    z-index: 0;
  }
  .main_ttl::after {
    content: "";
    background-color: rgba(0, 14, 104, 0.4);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
  }
  .main_ttl h1 {
    font-size: 2.4em;
    font-weight: 600;
    letter-spacing: 0.15em;
    color: #fff;
    position: relative;
    top: 44%;
    left: 3%;
    text-align: center;
    z-index: 1;
  }
  .list .photo figure img {
    width: 100%;
    height: 260px;
    -o-object-fit: cover;
       object-fit: cover;
    margin-bottom: 24px;
  }
  main h2 {
    text-align: center;
  }
  /*小さな端末用の開閉ブロック設定
  ---------------------------------------------------------------------------*/
  /*メニューブロック設定*/
  .s #menubar.db {
    position: fixed;
    overflow: auto;
    z-index: 100;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    padding: 70px 0; /*上下、左右へのブロック内の余白*/
    background: rgb(255, 255, 255); /*背景色。0,0,0は黒の事で0.9は色が90%出た状態の事。*/
    color: rgb(0, 104, 183); /*文字色*/
    -webkit-animation: animation1 0.2s both;
            animation: animation1 0.2s both; /*animation.cssの、animation1を実行する。0.2sは0.2秒の事。*/
    text-align: center;
  }

  /*メニュー１個あたりの設定*/
  .s #menubar.db a {
    color: rgb(0, 104, 183); /*文字色*/
    padding: 20px; /*メニュー内の余白*/
    font-size: 1.6rem;
  }
  .s #menubar.db ul {
    z-index: 100;
  }

  /*TOPページ
  ---------------------------------------------------------------------------*/
  .company_info {
    width: 100%;
    margin: auto auto 30px;
  }
  .company_info th,.company_info td {
    text-align: center;
    display: block;
    width: 100%;
  }
  .company_info th {
    background: rgba(200, 200, 183, 0.3);
  }
  .company_info th p, .company_info td p {
    font-size: 1.6rem;
    margin-bottom: 0px;
    padding: 4px;
  }
  .company_info th p {
    font-size: 1.5rem;
    line-height: 1;
    display: inline;
  }
  .company_info tr {
    margin-bottom: 8px;
  }
  .block_content {
    padding: 10% 6%;
  }
  /*会社概要
  ---------------------------------------------------------------------------*/
  .message_content_text p, .timeline p,
  .ta1 td {
    font-size: 1.7rem;
  }
  .message_content_text p.name {
    font-weight: 600;
    text-align: right;
  }
  .timeline-date {
    background: linear-gradient(transparent 70% , rgb(0, 104, 183, 0.3)30%);
    display: inline;
    padding: 0 10px 0;
  }
  .timeline-taitle {
    margin-bottom: 8px;
  }
  .timeline-content p {
    line-height: 1.4;
  }
  table.ta1, table.ta1 tr {
    border: none;
  }
  table.ta1 th, table.ta1 td {
    width: 100%;
    display: inline-block;
    text-align: center;
    padding: 6px 0 6px;
  }
  table.ta1 th {
    background: rgba(200, 200, 183, 0.3);
  }
  .ta1 td ul {
    padding-left: -12px;
  }
  .map_tab {
    display: block;
    width: 100%;
  }
  .map_display {
    display: block;
    width: 100%;
  }
  .business-list {
    margin-bottom: 0px;
  }
  .business-list li:last-child {
    line-height: 1.4;
  }
  .ta1 th {
    width: 32%;
  }
  /*事業内容
  ---------------------------------------------------------------------------*/
  .service_content_block figure img,
  .service_content_3block figure img {
    margin-bottom: 24px;
    width: 100%;
    height: 220px;
    -o-object-fit: cover;
    object-fit: cover;
  }
  /*所有船舶
  ---------------------------------------------------------------------------*/
  .shiplist-container {
    display: flex;
    flex-direction: column;
  }
  .shiplist {
    flex-direction: column;
    width: 100%;
    margin-bottom: 30px;
    padding: 20px;
    background: #fff;
    color: #999;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
    position: relative;
  }
  .shiplist img {
    width: 100%;
    height: 220px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .shiplist h4, .shiplist p {
    text-align: center;
  }
  .shiplist h4 {
    color: rgb(0, 104, 183);
    font-size: 1.15em;
    font-weight: 600;
    margin-bottom: 0px;
  }
  .shiplist p {
    margin-bottom: 16px;
  }
  .shiplist .btn a, .list .btn a {
    display: block;
    margin: 0;
  }
  .shiplist-none {
    width: 100%;
  }
  .rentalimg {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
  }
  .rentalimg figure {
    width: 100%;
  }
  .rentalimg figure img {
    width: 100%;
    height: 260px;
    margin-bottom: 18px;
    object-fit: cover;
    padding-bottom: 12px;
  }
}
/*# sourceMappingURL=style.css.map */