@charset "UTF-8";
/**背景位置とサイズ******************************/
/**PCmin-width1225**/
/**PHmax-width1224**/
/**PHmax-width415**/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*--------------------------------------------------------------------------
 CSS Reset
---------------------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
html, body, div, h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, hr, table, tr, th, td, tbody, tfoot, thead, img, iframe, span, object, pre, blockquote, abbr, a, address, cite, code, del, dfn, em, sup, sub, ins, kbd, q, samp, small, var, b, i, fieldset, form, label, legend, caption, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, button, input {
  margin: 0;
  padding: 0;
  outline: 0;
  vertical-align: baseline;
  border: none;
  /*font: inherit;*/
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  list-style: none; }

ul[role="list"], ol[role="list"] {
  list-style: none; }

html:focus-within {
  scroll-behavior: smooth; }

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5; }

a:not([class]) {
  text-decoration-skip-ink: auto; }

a {
  text-decoration: none; }

img, picture {
  max-width: 100%;
  /*display:block;*/ }

input, button, textarea, select {
  font: inherit; }

*, *::before, *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

/*--------------------------------------------------------------------------
 common
---------------------------------------------------------------------------*/
html {
  width: 100%;
  height: 100%; }

body {
  overflow-x: hidden;
  width: 100%;
  min-width: 320px;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  background: #FFF;
  font-feature-settings: "palt";
  line-height: 1.9;
  font-weight: 500;
  color: #131313;
  letter-spacing: 0.1em;
  height: 100%; }

body, input[type="button"], input[type="text"], input[type="submit"], select {
  font-family: 'Segoe UI', 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }

/* IE8-11 */
@media screen\0  {
  body, input[type="button"], input[type="text"], input[type="submit"], select {
    font-family: 'Segoe UI', Meiryo UI, Meiryo UI, Meiryo, "メイリオ", sans-serif; } }
img, video {
  max-width: 100%;
  vertical-align: middle;
  height: auto; }

video {
  cursor: pointer; }

sub {
  vertical-align: baseline;
  line-height: 0;
  font: inherit;
  font-size: 70%; }

sup {
  vertical-align: super;
  padding-top: 0.2em;
  line-height: 0;
  font: inherit;
  font-size: 70%; }

hr, hr.line, hr.line-dot {
  clear: both;
  margin: 3em 0 1em 0;
  height: 1px;
  border-top: 1px solid transparent;
  background: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important; }

hr.line {
  margin: 1em 0 1em 0;
  border-top: 1px solid #c1c1c1; }

hr.line-dot {
  margin: 1em 0 1em 0;
  border-top: 1px dotted #cccccc; }

input[type="button"], input[type="text"], input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0; }

@media all and (min-width: 1225px) {
  .onlyPc-txtC {
    text-align: center; } }
@media all and (min-width: 769px) {
  .onlySpTb {
    display: none; }

  .onlySp {
    display: none; } }
@media all and (max-width: 768px) {
  .onlySpTb {
    display: block; }

  .onlySp {
    display: none; } }
@media all and (max-width: 415px) {
  .onlySpTb {
    display: block; }

  .onlySp {
    display: block; } }
.error-message {
  color: #df0000;
  margin-bottom: 20px; }

/*--------------------------------------------------------------------------
  contents
---------------------------------------------------------------------------*/
body.is-fixed {
  overflow: hidden; }

#wrap {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column; }

article {
  flex: 1;
  display: flex;
  flex-direction: column; }

/*--------------------------------------------------------------------------
  window size
---------------------------------------------------------------------------*/
._inner {
  width: 1225px !important;
  margin: 0 auto;
  /*padding: 0 10px 0 5px;*/ }

@media all and (max-width: 1324px) {
  ._inner {
    width: calc(100% - 60px) !important; } }
@media all and (max-width: 1224px) {
  ._inner {
    width: 100% !important;
    padding: 0; }

  ._innerph {
    padding: 0 5px; } }
/*----------------------------------------------------------------------------
    header (header.scss)
-----------------------------------------------------------------------------*/
header {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1001;
  width: 100%;
  display: block; }
  header .header {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

@media all and (min-width: 1225px) {
  .header {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 70px;
    padding: 0 15px 0 15px; }

  .menuBtn {
    display: none; }

  .header {
    position: relative; }
    .header #logo img {
      width: auto;
      height: 40px; }
    .header #logo-group {
      position: absolute;
      right: 15px;
      top: 15px; }
      .header #logo-group img {
        width: 70px;
        height: auto; }
    .header nav {
      display: -webkit-flex;
      display: flex;
      padding-right: 90px;
      /*20+70*/
      align-items: flex-end; }
    .header nav > ul {
      display: -webkit-flex;
      display: flex;
      margin-left: 30px;
      justify-content: center; }
    .header nav > ul > li {
      height: 70px;
      line-height: 1.3; }
    .header nav > ul > li > a {
      display: flex;
      align-items: center;
      height: 100%;
      position: relative;
      color: #000;
      font-weight: 500;
      padding: 0 0 3px 0;
      height: 70px;
      cursor: pointer; }
    .header a.window {
      background: url("../img/ico/ico-windowPoint.svg") right 6px no-repeat; }
    .header nav > ul > li:hover > a {
      color: #005396; }
    .header nav > ul#gNav > li {
      margin-left: 30px; }
    .header nav > #gNav > li > a::after {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 20px;
      content: "";
      background: #005396;
      height: 1px;
      margin: auto;
      transform: scale(0, 1);
      transform-origin: center center;
      transition: all 1s cubic-bezier(0.19, 1, 0.22, 1); }
    .header nav > #gNav > li:hover > a::after {
      transform: scale(1, 1); }
    .header #gNavBtns #download a {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      color: #005396;
      font-size: 12px;
      letter-spacing: 0;
      line-height: 1;
      text-decoration: none;
      width: 90px;
      height: 70px;
      padding: 8px 0 8px 0;
      transition: .2s ease-in-out;
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
      background: #f2f9ff; }
      .header #gNavBtns #download a:before {
        display: block;
        content: '';
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: contain;
        height: 2.3rem;
        margin-bottom: 8px;
        background-image: url("/assets/img/nav/ico-dl-b.svg");
        width: 3.07rem; }
      .header #gNavBtns #download a:hover {
        background: #138dba;
        color: #fff; }
        .header #gNavBtns #download a:hover:before {
          background-image: url("/assets/img/nav/ico-dl-w.svg"); }
    .header #gNavBtns #office a {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      color: #005396;
      font-size: 12px;
      letter-spacing: 0;
      line-height: 1;
      text-decoration: none;
      width: 90px;
      height: 70px;
      padding: 10px 0 10px 0;
      transition: .2s ease-in-out;
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
      background: #dcf0ff; }
      .header #gNavBtns #office a:before {
        display: block;
        content: '';
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: contain;
        height: 20px;
        margin-bottom: 15px;
        background-image: url("/assets/img/nav/ico-office-b.svg");
        width: 3.07rem; }
      .header #gNavBtns #office a:hover {
        background: #138dba;
        color: #fff; }
        .header #gNavBtns #office a:hover:before {
          background-image: url("/assets/img/nav/ico-office-w.svg"); }
    .header #gNavBtns #contact a {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      color: #fff;
      font-size: 12px;
      letter-spacing: 0;
      line-height: 1;
      text-decoration: none;
      width: 90px;
      height: 70px;
      padding: 10px 0 10px 0;
      transition: .2s ease-in-out;
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
      background: #005396; }
      .header #gNavBtns #contact a:before {
        display: block;
        content: '';
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: contain;
        height: 22px;
        margin-bottom: 15px;
        background-image: url(/assets/img/nav/ico-contact-w.svg);
        width: 3.07rem; }
      .header #gNavBtns #contact a:hover {
        background: #138dba; }

  #services nav > #gNav > li:nth-child(1) > a,
  #corporate nav > #gNav > li:nth-child(2) > a,
  #sustainability nav > #gNav > li:nth-child(3) > a,
  #recruit nav > #gNav > li:nth-child(4) > a,
  #contact nav > #gNav > li:nth-child(5) > a {
    color: #005396; }

  #services nav > #gNav > li:nth-child(1) > a::after,
  #corporate nav > #gNav > li:nth-child(2) > a::after,
  #sustainability nav > #gNav > li:nth-child(3) > a::after,
  #recruit nav > #gNav > li:nth-child(4) > a::after,
  #contact nav > #gNav > li:nth-child(5) > a::after {
    position: absolute;
    /*top: -35px;*/
    left: 0;
    right: 0;
    bottom: 20px;
    content: "";
    background: #005396;
    height: 1px;
    margin: auto;
    transform: scale(1, 1); }

  /*--gNavLow---*/
  nav > ul#gNav li.gNavLowWrap {
    position: relative; }
    nav > ul#gNav li.gNavLowWrap .gNavLow {
      width: 100%;
      position: fixed;
      left: 0;
      top: 70px;
      visibility: hidden;
      opacity: 0;
      z-index: 1;
      background: #f1f3f4;
      -webkit-transition: 0.4s ease-in-out;
      transition: 0.4s ease-in-out; }
      nav > ul#gNav li.gNavLowWrap .gNavLow ul {
        display: none;
        width: 1140px;
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto; }
        nav > ul#gNav li.gNavLowWrap .gNavLow ul li {
          margin: 0 14px 0 14px;
          border-bottom: 1px solid #005396;
          font-size: 15px;
          width: calc(25% - 28px); }
          nav > ul#gNav li.gNavLowWrap .gNavLow ul li a {
            display: -webkit-flex;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            color: #005396;
            background: #f1f3f4;
            font-weight: 500; }
          nav > ul#gNav li.gNavLowWrap .gNavLow ul li a:hover {
            background: rgba(242, 249, 255, 0.9);
            color: #138dba; }
        nav > ul#gNav li.gNavLowWrap .gNavLow ul li#port, nav > ul#gNav li.gNavLowWrap .gNavLow ul li#logistics {
          border-bottom: none;
          width: 45%; }
        nav > ul#gNav li.gNavLowWrap .gNavLow ul li#port > a, nav > ul#gNav li.gNavLowWrap .gNavLow ul li#logistics > a {
          border-bottom: 1px solid #005396; }
        nav > ul#gNav li.gNavLowWrap .gNavLow ul li:last-child a {
          border-bottom: none; }
    nav > ul#gNav li.gNavLowWrap .gNavLow2 {
      display: flex; }
      nav > ul#gNav li.gNavLowWrap .gNavLow2 ul {
        display: flex; }
        nav > ul#gNav li.gNavLowWrap .gNavLow2 ul li {
          width: calc(25% - 16px);
          margin: 0;
          font-size: 14px; }
          nav > ul#gNav li.gNavLowWrap .gNavLow2 ul li a {
            padding-left: 23px;
            height: 35px;
            position: relative; }
    nav > ul#gNav li.gNavLowWrap .gNavLow > ul > li:first-child {
      /*midashi*/
      width: 100% !important;
      height: 53px;
      font-weight: 700;
      font-size: 26px;
      border-bottom: none;
      margin-bottom: 20px; }
      nav > ul#gNav li.gNavLowWrap .gNavLow > ul > li:first-child a {
        width: 250px;
        height: 53px; }
        nav > ul#gNav li.gNavLowWrap .gNavLow > ul > li:first-child a:after {
          display: none; }
    nav > ul#gNav li.gNavLowWrap .gNavLow > ul > li > a {
      position: relative;
      width: 100%;
      padding: 5px 18px 5px 4px;
      height: 53px; }
      nav > ul#gNav li.gNavLowWrap .gNavLow > ul > li > a:after {
        position: absolute;
        top: 40%;
        bottom: auto;
        right: 6px;
        display: block;
        width: 6px;
        height: 6px;
        margin: auto;
        content: "";
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        border-top: 1px solid #005396;
        border-right: 1px solid #005396; }
    nav > ul#gNav li.gNavLowWrap .gNavLowTtl {
      display: none; }

  nav > ul#gNav li.gNavLowWrap:hover .gNavLow {
    visibility: visible;
    opacity: 1;
    z-index: 999;
    display: flex;
    justify-content: center;
    padding: 40px 0 60px 0; }
    nav > ul#gNav li.gNavLowWrap:hover .gNavLow ul {
      display: block;
      display: flex;
      flex-wrap: wrap; }
      nav > ul#gNav li.gNavLowWrap:hover .gNavLow ul li {
        margin: 0 14px 0 14px; }
  nav > ul#gNav li.gNavLowWrap:hover .gNavLow2 ul {
    display: block;
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px; }
    nav > ul#gNav li.gNavLowWrap:hover .gNavLow2 ul li {
      margin: 0 8px 0 8px;
      border-bottom: none; }
      nav > ul#gNav li.gNavLowWrap:hover .gNavLow2 ul li a {
        padding-left: 23px;
        height: 35px;
        position: relative; }
        nav > ul#gNav li.gNavLowWrap:hover .gNavLow2 ul li a:after {
          position: absolute;
          top: 40%;
          right: auto;
          bottom: auto;
          left: 6px;
          display: block;
          width: 6px;
          height: 6px;
          margin: auto;
          content: "";
          -ms-transform: rotate(45deg);
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
          border-top: 1px solid #8b8b8b;
          border-right: 1px solid #8b8b8b; }

  nav > ul#gNav #gNavLowSer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    nav > ul#gNav #gNavLowSer li .gNavLow2 ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      nav > ul#gNav #gNavLowSer li .gNavLow2 ul li {
        width: calc(50% - 4px);
        margin: 0;
        font-size: 14px; }

  .pcNone {
    display: none; }

  /*スクロール時*/
  .headerFixBefore {
    position: fixed;
    top: -100px;
    display: none;
    -webkit-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out; }

  .headerFixBlock {
    display: block; }

  .headerFix {
    top: 0; }

  .headerFixBefore {
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(56, 56, 56, 0.4); }
    .headerFixBefore img.logo-w {
      opacity: 0; }
    .headerFixBefore .header {
      height: 70px; }
      .headerFixBefore .header #logo {
        width: auto;
        height: 40px; }
        .headerFixBefore .header #logo img {
          width: auto;
          height: 40px; }
        .headerFixBefore .header #logo a {
          display: block;
          width: auto;
          height: 40px; }
      .headerFixBefore .header a.window {
        background: url("../img/ico/ico-windowPoint.svg") right 6px no-repeat; }
      .headerFixBefore .header nav > ul > li > a {
        color: #000; }
      .headerFixBefore .header nav > ul > li:hover > a {
        color: #00a0dc; }
      .headerFixBefore .header nav > ul#gNav li.gNavLowWrap .gNavLow {
        top: 70px; }
      .headerFixBefore .header nav > ul#gNav li.gNavLowWrap::after {
        border-top: 2px solid #00a0dc;
        border-right: 2px solid #00a0dc; }
      .headerFixBefore .header nav > ul#gNav li:hover.gNavLowWrap::after {
        border-top: 2px solid #00a0dc;
        border-right: 2px solid #00a0dc; } }
@media all and (max-width: 1280px) {
  header .header nav > ul > li > a {
    font-size: 15px; } }
/*ハンバーガーメニュー*/
@media all and (max-width: 1224px) {
  .header {
    height: 70px; }
    .header #logo {
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin-left: 10px;
      margin-top: 0;
      height: 70px; }
      .header #logo img {
        width: auto;
        height: 40px; }
    .header .menuBtn {
      margin-right: 0;
      margin-top: 5px;
      width: 56px;
      height: 56px;
      cursor: pointer;
      position: relative; }
      .header .menuBtn .menuLines {
        position: absolute;
        background: #00a0dc;
        top: 27px;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 26px;
        height: 2px;
        -webkit-transition: 0.4s ease-in-out;
        transition: 0.4s ease-in-out; }
      .header .menuBtn .menuLines::before, .header .menuBtn .menuLines::after {
        position: absolute;
        left: 0;
        width: 26px;
        height: 2px;
        background: #00a0dc;
        content: "";
        -webkit-transition: 0.4s ease-in-out;
        transition: 0.4s ease-in-out; }
      .header .menuBtn .menuLines::before {
        top: 8px; }
      .header .menuBtn .menuLines::after {
        top: -8px; }
    .header .menuBtnActive .menuLines {
      background: none; }
    .header .menuBtnActive .menuLines::before {
      -webkit-transform: translateY(12px) rotate(-315deg);
      transform: translateY(12px) rotate(-315deg);
      top: -13px; }
    .header .menuBtnActive .menuLines::after {
      -webkit-transform: translateY(-12px) rotate(315deg);
      transform: translateY(-12px) rotate(315deg);
      top: 11px; }
    .header #logo-group {
      display: none; }
    .header nav {
      /*display: none; noneにするとふんわり開くが解除される*/
      position: absolute;
      left: 0;
      top: 70px;
      width: 100%;
      height: calc(100vh - 70px);
      overflow-y: auto;
      visibility: hidden;
      opacity: 0;
      /*@include txtHover(0.3s);*/
      /*SP　gNavLow*/ }
      .header nav ul#gNav {
        border-top: 1px solid #005396; }
        .header nav ul#gNav li a {
          display: -webkit-flex;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          width: 100%;
          height: 55px;
          padding: 5px 10px;
          color: #005396;
          border-bottom: 1px solid #005396;
          position: relative;
          font-weight: 500; }
        .header nav ul#gNav li.gNavLowWrap a.gNavLowTtl {
          padding-right: 65px;
          position: relative; }
        .header nav ul#gNav li.gNavLowWrap a.gNavLowTtl::before, .header nav ul#gNav li.gNavLowWrap a.gNavLowTtl::after {
          position: absolute;
          content: "";
          width: 18px;
          height: 2px;
          top: 26px;
          right: 20px;
          background-color: #005396;
          -webkit-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
        .header nav ul#gNav li.gNavLowWrap a.gNavLowTtl::before {
          -webkit-transform: rotate(90deg);
          transform: rotate(90deg); }
        .header nav ul#gNav li.gNavLowWrap a.gNavLowTtlOpen {
          border-bottom: 1px solid #ccc;
          transition: .2s ease-in-out; }
          .header nav ul#gNav li.gNavLowWrap a.gNavLowTtlOpen::before {
            -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
          .header nav ul#gNav li.gNavLowWrap a.gNavLowTtlOpen::after {
            background: none; }
        .header nav ul#gNav li.gNavLowWrap .gNavLow {
          display: none; }
        .header nav ul#gNav li.gNavLowWrap .gNavLow.gNavLowActive {
          display: block; }
        .header nav ul#gNav li.gNavLowWrap .phNone {
          display: none; }
      .header nav ul#gNav .gNavLow > ul > li:first-child a {
        /*midashi*/ }
        .header nav ul#gNav .gNavLow > ul > li:first-child a:after {
          content: "TOP";
          padding-left: 5px; }
      .header nav ul#gNav .gNavLow ul li a {
        height: 50px;
        background: #fff;
        color: #005396;
        border-bottom: 1px solid #ccc;
        padding: 5px 5px 5px 25px;
        font-size: 14px; }
      .header nav ul#gNav .gNavLow ul li:last-child a {
        border-bottom: 1px solid #005396; }
      .header nav ul#gNav .gNavLow ul li#port {
        padding-bottom: 10px;
        background: #fff; }
        .header nav ul#gNav .gNavLow ul li#port a {
          border-bottom: 1px solid #fff; }
      .header nav ul#gNav .gNavLow ul li#logistics {
        border-top: 1px solid #ccc;
        border-bottom: 1px solid #005396;
        padding-bottom: 10px;
        background: #fff; }
        .header nav ul#gNav .gNavLow ul li#logistics a {
          border-bottom: 1px solid #fff; }
      .header nav ul#gNav .gNavLow2 ul li {
        position: relative; }
        .header nav ul#gNav .gNavLow2 ul li a {
          height: 30px;
          border-bottom: none !important;
          padding-left: 40px; }
        .header nav ul#gNav .gNavLow2 ul li:after {
          position: absolute;
          top: 40%;
          right: auto;
          bottom: auto;
          left: 25px;
          display: block;
          width: 6px;
          height: 6px;
          margin: auto;
          content: "";
          -ms-transform: rotate(45deg);
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
          border-top: 1px solid #4d4d4d;
          border-right: 1px solid #4d4d4d; }

  /*ハンバーガーメニューアクティブ*/
  header.headerActive .header {
    width: 100%;
    height: 100vh;
    background: #f1f3f4;
    transition: all 0.6s; }
    header.headerActive .header .nav-content nav {
      display: block;
      visibility: visible;
      opacity: 1; }
      header.headerActive .header .nav-content nav #logo-group {
        display: block;
        width: 90px;
        height: auto;
        margin: 25px auto 0 auto; }
    header.headerActive .header .window {
      background: none !important; }
    header.headerActive .header #gNavBtns {
      display: flex;
      margin: 25px auto;
      justify-content: center;
      width: calc(100% - 50px);
      max-width: 500px; }
      header.headerActive .header #gNavBtns #download {
        width: 33%; }
        header.headerActive .header #gNavBtns #download a {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          color: #005396;
          font-size: 12px;
          letter-spacing: 0;
          line-height: 1;
          text-decoration: none;
          height: 70px;
          padding: 8px 0 8px 0;
          transition: .2s ease-in-out;
          -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
          background: #f2f9ff;
          border: 1px solid #005396; }
          header.headerActive .header #gNavBtns #download a:before {
            display: block;
            content: '';
            background-repeat: no-repeat;
            background-position: center bottom;
            background-size: contain;
            height: 2.3rem;
            margin-bottom: 8px;
            background-image: url(/assets/img/nav/ico-dl-b.svg);
            width: 3.07rem; }
          header.headerActive .header #gNavBtns #download a:hover {
            background: #0daae3;
            color: #fff; }
            header.headerActive .header #gNavBtns #download a:hover:before {
              background-image: url(/assets/img/nav/ico-dl-w.svg); }
      header.headerActive .header #gNavBtns #office {
        width: 33%; }
        header.headerActive .header #gNavBtns #office a {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          color: #005396;
          font-size: 12px;
          letter-spacing: 0;
          line-height: 1;
          text-decoration: none;
          height: 70px;
          padding: 10px 0 10px 0;
          transition: .2s ease-in-out;
          -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
          background: #dcf0ff;
          border-top: 1px solid #005396;
          border-bottom: 1px solid #005396; }
          header.headerActive .header #gNavBtns #office a:before {
            display: block;
            content: '';
            background-repeat: no-repeat;
            background-position: center bottom;
            background-size: contain;
            height: 20px;
            margin-bottom: 15px;
            background-image: url(/assets/img/nav/ico-office-b.svg);
            width: 3.07rem; }
          header.headerActive .header #gNavBtns #office a:hover {
            background: #0daae3;
            color: #fff; }
            header.headerActive .header #gNavBtns #office a:hover:before {
              background-image: url("/assets/img/nav/ico-office-w.svg"); }
      header.headerActive .header #gNavBtns #contact {
        width: 33%; }
        header.headerActive .header #gNavBtns #contact a {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          color: #fff;
          font-size: 12px;
          letter-spacing: 0;
          line-height: 1;
          text-decoration: none;
          height: 70px;
          padding: 10px 0 10px 0;
          transition: .2s ease-in-out;
          -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
          background: #005396;
          border: 1px solid #005396; }
          header.headerActive .header #gNavBtns #contact a:before {
            display: block;
            content: '';
            background-repeat: no-repeat;
            background-position: center bottom;
            background-size: contain;
            height: 22px;
            margin-bottom: 15px;
            background-image: url(/assets/img/nav/ico-contact-w.svg);
            width: 3.07rem; }
          header.headerActive .header #gNavBtns #contact a:hover {
            background: #0daae3;
            color: #fff; }

  /*スクロール時*/
  .headerFixBefore {
    position: fixed;
    top: -70px;
    display: none;
    -webkit-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out; }

  .headerFixBlock {
    display: block; }

  .headerFix {
    top: 0; }

  .headerFixBefore .header {
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(56, 56, 56, 0.6); }
    .headerFixBefore .header img.logo-w {
      opacity: 0; }
    .headerFixBefore .header #logo a {
      display: block; }
    .headerFixBefore .header #logo-group {
      display: none; }
    .headerFixBefore .header .menuBtn .menuLines,
    .headerFixBefore .header .menuBtn .menuLines::before,
    .headerFixBefore .header .menuBtn .menuLines::after {
      background: #00a0dc; }
    .headerFixBefore .header .menuBtnActive .menuLines {
      background: none; }
    .headerFixBefore .header .menuBtnActive .menuLines::before {
      background: #00a0dc; }
    .headerFixBefore .header .menuBtnActive .menuLines::after {
      background: #00a0dc; } }
@media all and (max-width: 415px) {
  .header {
    height: 70px; }

  header.headerActive .header {
    width: 100%;
    height: 100vh;
    background: #f1f3f4;
    transition: all 0.6s; }
    header.headerActive .header nav {
      display: block;
      visibility: visible;
      opacity: 1; }
    header.headerActive .header .window {
      background: none !important; }

  .headerFixBefore .header img.logo-w {
    opacity: 0; }

  .header #logo a,
  .headerFixBefore .header #logo a {
    display: block; } }
header.headerActive .header #logo a {
  display: block; }
header.headerActive .header img.logo-w {
  opacity: 1; }
header.headerActive .header img.logo-b {
  opacity: 0; }

/**背景位置とサイズ******************************/
/**PCmin-width1225**/
/**PHmax-width1224**/
/**PHmax-width415**/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
footer {
  width: 100%;
  height: 76px;
  background: #333333;
  color: #FFF; }

.footer a {
  color: #FFF; }
.footer .addNav address span {
  display: block; }
.footer .addNav address .cName {
  font-weight: bold; }
.footer .addNav address .cAdd {
  margin: 10px 0;
  font-size: 90%;
  line-height: 1.5; }
.footer .addNav .fNavOthers ul li a {
  position: relative;
  padding-left: 18px; }
.footer .addNav .fNavOthers ul li a::before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  width: 8px;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5); }
.footer .fNavWrap .fNavLow {
  font-size: 85%; }
  .footer .fNavWrap .fNavLow ul li a {
    position: relative;
    padding-left: 18px; }
  .footer .fNavWrap .fNavLow ul li a::before {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 8px;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5); }
.footer .fNavOthers {
  margin-left: 50px; }
  .footer .fNavOthers ul {
    display: flex;
    line-height: 1; }
    .footer .fNavOthers ul li + li {
      padding-left: 12px;
      margin-left: 10px;
      border-left: 1px solid #005396; }
    .footer .fNavOthers ul li a {
      font-size: 13px; }

#copyright {
  display: block;
  font-size: 70%;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Arial", "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  padding-right: 100px; }

@media all and (min-width: 1225px) {
  .footer {
    height: 76px;
    padding: 30px 0 0 0;
    display: flex;
    justify-content: space-between;
    display: -webkit-flex;
    display: flex; }
    .footer a:hover {
      color: #138dba; }
    .footer .addNav {
      width: 450px; }
      .footer .addNav .fNavOthers {
        margin-top: 85px; }
        .footer .addNav .fNavOthers ul li {
          line-height: 2; }
    .footer .fNavWrap {
      width: calc(100% - 450px); }
      .footer .fNavWrap .fNav > li {
        margin-bottom: 40px; }
      .footer .fNavWrap .fNav > li > a {
        display: block;
        border-bottom: 1px solid rgba(255, 255, 255, 0.5);
        padding-bottom: 20px;
        margin-bottom: 20px;
        /*color: $colorLink;*/ }
      .footer .fNavWrap .fNavLow ul {
        display: -webkit-flex;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        .footer .fNavWrap .fNavLow ul li {
          width: 50%;
          padding-right: 10px;
          line-height: 1.5; }
        .footer .fNavWrap .fNavLow ul li:first-child {
          display: none; }
      .footer .fNavWrap .fNav > li > a.fNavLowTtl {
        display: none; }

  .fBnr {
    width: 450px;
    position: relative; }
    .fBnr ul {
      display: -webkit-flex;
      display: flex;
      position: absolute;
      left: 0;
      bottom: 130px; }
      .fBnr ul li {
        width: 160px;
        margin-right: 10px; }
        .fBnr ul li img {
          width: 100%; } }
@media all and (max-width: 1224px) {
  footer {
    padding: 1em 0 1em 0;
    background-position: left bottom -100px, right -350px top, left top;
    height: auto; }

  .footer .fNavOthers {
    margin: 0 0 15px 15px;
    font-size: 85%; }
    .footer .fNavOthers ul {
      flex-direction: column; }
      .footer .fNavOthers ul li {
        line-height: 2; }
      .footer .fNavOthers ul li + li {
        padding-left: 0;
        margin-left: 0;
        border-left: none; }
      .footer .fNavOthers ul li a {
        position: relative;
        padding-left: 18px; }
      .footer .fNavOthers ul li a::before {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        content: "";
        width: 8px;
        height: 1px;
        background-color: #138dba; }
  .footer .fNavWrap {
    margin-bottom: 30px; }
    .footer .fNavWrap ul.fNav {
      border-top: 1px solid rgba(255, 255, 255, 0.4); }
      .footer .fNavWrap ul.fNav li a {
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        height: 55px;
        padding: 5px;
        color: #FFF;
        border-bottom: 1px solid rgba(255, 255, 255, 0.4); }
      .footer .fNavWrap ul.fNav li.fNavLowWrap a.fNavLowTtl {
        padding-right: 65px;
        position: relative; }
      .footer .fNavWrap ul.fNav li.fNavLowWrap a.fNavLowTtl::before, .footer .fNavWrap ul.fNav li.fNavLowWrap a.fNavLowTtl::after {
        position: absolute;
        content: "";
        width: 18px;
        height: 2px;
        top: 26px;
        right: 24px;
        background-color: #FFF;
        -webkit-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
      .footer .fNavWrap ul.fNav li.fNavLowWrap a.fNavLowTtl::before {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg); }
      .footer .fNavWrap ul.fNav li.fNavLowWrap a.fNavLowTtlOpen::before {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg); }
      .footer .fNavWrap ul.fNav li.fNavLowWrap a.fNavLowTtlOpen::after {
        background: none; }
      .footer .fNavWrap ul.fNav li.fNavLowWrap .fNavLow {
        display: none; }
      .footer .fNavWrap ul.fNav li.fNavLowWrap .fNavLow.fNavLowActive {
        display: block; }
      .footer .fNavWrap ul.fNav li.fNavLowWrap .phNone {
        display: none; }
    .footer .fNavWrap .fNavLow ul li a {
      height: 50px;
      padding-left: 23px;
      padding-right: 5px;
      background: rgba(94, 129, 219, 0.3);
      color: #FFF; }
    .footer .fNavWrap .fNavLow ul li a::before {
      left: 5px;
      top: 0;
      bottom: 0;
      margin: auto; }

  .fBnr {
    margin-bottom: 30px; }
    .fBnr ul {
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      .fBnr ul li {
        width: 40%;
        max-width: 160px;
        margin-right: 10px; }
        .fBnr ul li img {
          width: 100%; }

  #copyright {
    text-align: left;
    letter-spacing: 0;
    padding-left: 15px; } }
/*--------------------------------------------------------------------------
  pagetop
---------------------------------------------------------------------------*/
#pagetop {
  position: fixed;
  z-index: 1000;
  font-size: 0; }
  #pagetop a {
    display: block;
    background: #00a0dc;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    position: relative; }
  #pagetop a::before {
    position: absolute;
    top: 5px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    /*position: absolute;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;*/
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    /*border-top: 2px solid #000;
    border-right: 2px solid #000;*/
    content: "";
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 14px;
    height: 14px; }
  #pagetop a:hover {
    background: #005396; }

@media all and (min-width: 1225px) {
  #pagetop {
    bottom: 0;
    right: 0; }
    #pagetop a {
      width: 76px;
      height: 76px; } }
@media all and (max-width: 1224px) {
  #pagetop {
    bottom: 0;
    right: 0; }
    #pagetop a {
      width: 50px;
      height: 50px; } }
/**背景位置とサイズ******************************/
/**PCmin-width1225**/
/**PHmax-width1224**/
/**PHmax-width415**/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
header .header {
  /*background: url("../img/bg/bgR.svg"), $colorNavy;*/
  background: white; }

@media all and (max-width: 1224px) {
  header .header {
    background: white; } }
@media all and (max-width: 415px) {
  header .header {
    background-position: right -350px top -80px; } }
/*----------------------------------------------------------------------------
    mainとarticleにはpadding-topとmargin-topの設定はNG（背景絵柄が合わなくなる）
-----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    h1Wrap
-----------------------------------------------------------------------------*/
.pNav {
  height: 45px;
  font-size: 12px;
  margin-top: 70px;
  padding-left: 15px;
  letter-spacing: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #f2f3f5;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc; }
  .pNav li {
    display: inline;
    padding: 0 20px 0 10px;
    position: relative;
    white-space: nowrap; }
    .pNav li a {
      color: #005396; }
      .pNav li a:visited {
        color: #005396; }
      .pNav li a:hover {
        color: #138dba; }
  .pNav li::after {
    position: absolute;
    right: 0;
    top: auto;
    bottom: auto;
    margin: auto;
    content: ">"; }
  .pNav li:last-child::after {
    content: ""; }
  .pNav li:last-child {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }

.h1ImgWrap {
  width: 100%;
  height: 300px;
  object-fit: cover;
  padding-top: 115px;
  /*70+45*/
  background: #fff;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden; }

#corporate .h1ImgWrap {
  background-image: url("/assets/img/bg/bg-h1-corporate.jpg"); }

#services .h1ImgWrap {
  background-image: linear-gradient(135deg, rgba(14, 14, 14, 0.5), rgba(14, 14, 14, 0.2)), url("/assets/img/bg/bg-h1-services.jpg"); }

#sustainability .h1ImgWrap {
  background-image: linear-gradient(135deg, rgba(14, 14, 14, 0.5), rgba(14, 14, 14, 0.2)), url("/assets/img/bg/bg-h1-sustainability.jpg"); }

#recruit .h1ImgWrap {
  background-image: linear-gradient(135deg, rgba(27, 103, 147, 0.2), rgba(27, 103, 147, 0.5)), url("/assets/img/bg/bg-h1-recruit.jpg"); }

.h1ImgWrap h1 {
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative; }
  .h1ImgWrap h1 .ttlSub, .h1ImgWrap h1 .ttl {
    display: block;
    text-align: center; }
  .h1ImgWrap h1 .ttlSub {
    color: #00a0dc;
    font-size: 16px;
    margin-bottom: 14px; }
  .h1ImgWrap h1 .ttl {
    font-size: 50px;
    padding-bottom: 50px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.1em; }

/*下層2*/
.h1Wrap {
  width: 100%;
  margin-top: 20px;
  background: #fff;
  color: #333; }

.h1Wrap h1 {
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  border-bottom: 1px solid #333; }
  .h1Wrap h1 .ttlSub, .h1Wrap h1 .ttl {
    display: block;
    text-align: left; }
  .h1Wrap h1 .ttlSub {
    color: #00a0dc;
    font-size: 16px;
    margin-bottom: 14px; }
  .h1Wrap h1 .ttl {
    font-size: 35px;
    padding-top: 15px;
    padding-bottom: 20px;
    color: #333;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.3; }

@media all and (max-width: 1224px) {
  .pNav {
    height: 40px;
    font-size: 10px;
    padding-left: 30px; }
    .pNav li {
      padding: 0 10px 0 5px; }
      .pNav li a:hover {
        color: #005396; }

  .h1ImgWrap {
    min-height: 350px;
    padding-top: 70px;
    background-position: center bottom; }

  .h1ImgWrap h1 .ttlSub {
    color: #00a0dc;
    font-size: 14px; }
  .h1ImgWrap h1 .ttl {
    font-size: 30px;
    padding-bottom: 0; }

  .h1Wrap {
    padding-top: 0;
    margin-top: 0; }

  .h1Wrap h1 .ttlSub {
    color: #00a0dc;
    font-size: 14px; }
  .h1Wrap h1 .ttl {
    font-size: 30px;
    padding-left: 28px; } }
@media all and (max-width: 810px) {
  .pNav {
    padding-left: 12px; }

  .h1Wrap h1 .ttl {
    padding-left: 10px; } }
@media all and (max-width: 768px) {
  .h1ImgWrap {
    min-height: 200px;
    height: 200px;
    background-position: center center; }
    .h1ImgWrap h1 {
      min-height: 80px; }
      .h1ImgWrap h1 .ttl {
        font-size: 26px;
        padding-bottom: 0; } }
@media all and (max-width: 450px) {
  .pNav {
    padding-left: 8px; }

  .h1Wrap {
    padding-top: 0;
    margin-top: 0; }
    .h1Wrap h1 {
      min-height: 70px; }
      .h1Wrap h1 .ttl {
        font-size: 23px;
        padding-left: 8px;
        padding-bottom: 10px; } }
@media all and (max-width: 415px) {
  .h1ImgWrap {
    min-height: 200px;
    height: 200px;
    background-position: center center; }
    .h1ImgWrap h1 {
      min-height: 80px; }
      .h1ImgWrap h1 .ttl {
        font-size: 26px;
        padding-bottom: 0; } }
/*------------------------------
  IE hack
-------------------------------*/
@media all and (-ms-high-contrast: none) {
  .h1ImgWrap h1 {
    height: 180px; } }
/*----------------------------------------------------------------------------
    cwrap contents
-----------------------------------------------------------------------------*/
.cwrap {
  width: 100%;
  padding: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  font-size: 108%; }
  .cwrap .contents {
    flex: 1;
    padding: 60px 0;
    /*a:visited {
        color: $colorDarkGray;
    }*/ }
    .cwrap .contents p, .cwrap .contents table, .cwrap .contents ul, .cwrap .contents ol, .cwrap .contents iframe, .cwrap .contents form, .cwrap .contents dt, .cwrap .contents dd, .cwrap .contents h3, .cwrap .contents h4, .cwrap .contents h5, .cwrap .contents h6 {
      margin-bottom: 1em; }
    .cwrap .contents table:last-child, .cwrap .contents ul:last-child, .cwrap .contents ol:last-child, .cwrap .contents iframe:last-child, .cwrap .contents form:last-child, .cwrap .contents dd:last-child {
      margin-bottom: 0 !important; }
    .cwrap .contents p:last-child {
      margin-bottom: 0; }
    .cwrap .contents a, .cwrap .contents a figcaption {
      vertical-align: top;
      color: #138dba; }
    .cwrap .contents a:hover, .cwrap .contents a:hover figcaption {
      color: #4ad0dd;
      text-decoration: underline; }
    .cwrap .contents a, .cwrap .contents span {
      font: inherit; }
    .cwrap .contents a.linkOff {
      pointer-events: none; }
    .cwrap .contents h2 {
      font-size: 26px;
      letter-spacing: 0.1em;
      padding: 0 0 0.4em 0;
      margin-bottom: 1em;
      position: relative;
      font-weight: bold;
      border-bottom: 1px solid #ccc;
      line-height: 1.4;
      color: #005396; }
    .cwrap .contents h2::after {
      position: absolute;
      bottom: -1px;
      left: 0;
      z-index: 2;
      content: '';
      width: 20%;
      height: 1px;
      background-color: #005396; }
    .cwrap .contents h2:not(:first-child) {
      padding: 2em 0 0.4em 0;
      margin-bottom: 1em; }
    .cwrap .contents h2.txtC {
      text-align: center;
      border-bottom: none; }
    .cwrap .contents h2.txtC:after {
      content: '';
      display: block;
      background: #138dba;
      margin-left: auto;
      margin-right: auto;
      margin-top: 20px;
      width: 50px;
      height: 4px;
      position: static; }
    .cwrap .contents h2.noBorder {
      font-size: 40px;
      letter-spacing: 0.1em;
      padding: 0;
      margin-bottom: 1.5em;
      position: relative;
      font-weight: bold;
      border-bottom: none;
      line-height: 1.4;
      color: #30468c; }
    .cwrap .contents h2.noBorder::after {
      display: none; }
    .cwrap .contents h3 {
      margin-top: 1.5em;
      font-size: 24px;
      font-weight: bold;
      position: relative;
      padding: .2em 0 .1em 0;
      /* border-left: 5px solid #ccc;*/
      color: #005396; }
    .cwrap .contents h3::before {
      /*position: absolute;
      left: -5px;
      bottom: 0;
      content: '';
      width: 5px;
      height: 50%;
      background-color: $colorLink;*/ }
    .cwrap .contents h3::after {
      position: absolute;
      left: 0;
      bottom: 0;
      content: '';
      width: 100%;
      height: 0;
      border-bottom: 1px solid #ccc; }
    .cwrap .contents h4 {
      font-size: 24px;
      font-weight: bold;
      padding: 0 0 0 .75em;
      border-left: 6px solid #ccc; }
    .cwrap .contents .ttlGray {
      font-weight: bold;
      padding: 0 0 0 .75em;
      border-left: 4px solid #ccc; }
    .cwrap .contents .ttlBlue {
      font-weight: bold;
      padding: 0 0 0 .75em;
      border-left: 4px solid #138dba; }
    .cwrap .contents h2 a:hover, .cwrap .contents h3 a:hover {
      text-decoration: none; }
    .cwrap .contents .txtLead {
      font-size: 30px;
      letter-spacing: 0.1em;
      line-height: 1.6;
      padding: 0;
      margin-bottom: 1em;
      font-weight: bold; }

@media all and (min-width: 1225px) {
  .cwrap .contents a:hover, .cwrap .contents a:hover figcaption {
    text-decoration: underline; } }
@media all and (max-width: 1224px) {
  .cwrap {
    padding: 0; }
    .cwrap .contents {
      padding: 50px 30px; }
    .cwrap .contents a:hover {
      text-decoration: none; }
    .cwrap .contents h2 {
      font-size: 24px; }
    .cwrap .contents h2::before {
      width: 24px; }
    .cwrap .contents h2.noBorder {
      font-size: 26px; }
    .cwrap .contents .txtLead {
      font-size: 2.5vw; } }
@media all and (max-width: 810px) {
  .cwrap {
    font-size: 100%;
    letter-spacing: 0.03em;
    padding: 0; }
    .cwrap .contents {
      padding: 30px 20px; }
      .cwrap .contents h2 {
        font-size: 22px; }
      .cwrap .contents h2.noBorder {
        font-size: 30px; }
      .cwrap .contents h3 {
        font-size: 18px;
        padding-left: 15px; }
      .cwrap .contents h4 {
        font-size: 18px; }
      .cwrap .contents .txtLead {
        font-size: 20px; } }
@media all and (max-width: 799px) {
  .cwrap {
    font-size: 100%;
    letter-spacing: 0.03em;
    padding: 0; }
    .cwrap .contents {
      padding: 30px 20px; }
      .cwrap .contents h2 {
        font-size: 20px; }
      .cwrap .contents h2.noBorder {
        font-size: 24px; }
      .cwrap .contents h3 {
        font-size: 18px;
        padding-left: 15px; }
      .cwrap .contents h4 {
        font-size: 18px; }
      .cwrap .contents .txtLead {
        font-size: 20px; } }
@media all and (max-width: 450px) {
  .cwrap {
    padding: 0; }
    .cwrap .contents {
      padding: 10px 10px 20px 10px; }
      .cwrap .contents h2 {
        font-size: 20px; }
      .cwrap .contents h2.noBorder {
        font-size: 22px;
        margin-top: 1em; }
      .cwrap .contents .txtLead {
        font-size: 20px; } }
/*--------------------------------------------------------------------------
  clerfix
---------------------------------------------------------------------------*/
.contents {
  min-height: 1%; }

.contents:after {
  content: "";
  height: 0;
  clear: both;
  visibility: hidden;
  display: table;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0; }

* html .contents {
  height: 1%; }

.contents {
  display: block;
  zoom: 1; }

/**背景位置とサイズ******************************/
/**PCmin-width1225**/
/**PHmax-width1224**/
/**PHmax-width415**/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*--------------------------------------------------------------------------
 ico
---------------------------------------------------------------------------*/
img.ico {
  vertical-align: middle;
  margin: -1px 4px 0 4px;
  width: auto !important; }

.pdf {
  background: url(../img/ico/ico-pdf.svg) right 3px no-repeat;
  padding: 0 22px 0 0;
  margin-right: 5px;
  image-rendering: pixelated; }

figcaption .pdf {
  background: url(../img/ico/ico-pdf.svg) right 2px no-repeat; }

.xls {
  background: url(../img/ico/ico-xls.png) right 3px no-repeat;
  padding: 0 22px 0 0;
  margin-right: 5px;
  image-rendering: pixelated; }

a span.pdf {
  background-position: left 3px;
  padding: 0 0 0 20px;
  margin: 0 0 0 5px; }

a span.xls {
  background-position: left 3px;
  padding: 0 0 0 20px;
  margin: 0 0 0 5px; }

li.pdf,
ul.pdflist li,
p.pdf {
  background: url(../img/ico/ico-pdf.svg) left 3px no-repeat;
  padding: 0 0 0 20px; }

li.xls,
ul.xlslist li,
p.xls {
  background: url("../img/ico/ico-xls.png") left 3px no-repeat;
  padding: 0 0 0 20px; }

.ico-doc {
  background: url("../img/ico/ico-doc.png") right 4px no-repeat;
  padding: 0 22px 0 0;
  margin-right: 5px;
  image-rendering: pixelated; }

a span.ico-doc {
  background-position: left 4px;
  padding: 0 0 0 20px;
  margin: 0 0 0 5px; }

li.ico-doc,
ul.ico-doclist li,
p.ico-doc {
  background: url("../img/ico/ico-doc.png") left 3px no-repeat;
  padding: 0 0 0 20px; }

.window, a span.window {
  background: url(../img/ico/ico-windowPoint.svg) right 6px no-repeat;
  padding: 0 16px 0 0;
  margin-right: 3px;
  image-rendering: pixelated; }

.window.window-white, a span.window.window-white {
  background: url("../img/ico/ico-windowWhite.svg") right 6px no-repeat; }

li.window,
ul.windowlist li,
p.window {
  background: url(../img/ico/ico-windowPoint.svg) left 6px no-repeat;
  padding: 0 0 0 20px; }

.arrow {
  padding-left: 20px;
  position: relative; }

ul.arrowlist > li {
  padding-left: 24px;
  position: relative; }

.arrow::after,
ul.arrowlist > li::after {
  position: absolute;
  top: 0.7em;
  right: auto;
  bottom: auto;
  left: 0;
  /*position: absolute;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;*/
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  /*border-top: 2px solid #000;
  border-right: 2px solid #000;*/
  content: "";
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 1px solid #8f8f8f;
  border-right: 1px solid #8f8f8f; }

.arrow.arrow-white::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff; }

.pdf a:hover, li.pdf a:hover, ul.pdflist li a:hover, p.pdf a:hover,
.window a:hover, li.window a:hover, ul.windowlist li a:hover, p.window a:hover,
.xls a:hover, li.xls a:hover, ul.xlslist li a:hover, p.xls a:hover,
.arrow a:hover, ul.arrowlist > li a:hover {
  text-decoration: none !important; }

.mail {
  background: url(../img/ico/ico-mail.svg) right 5px no-repeat;
  padding: 0 22px 0 0;
  margin-right: 5px;
  background-size: 18px auto; }

@media all and (max-width: 1224px) {
  .pdf {
    padding: 0 18px 0 0;
    background-position: right 3px;
    background-size: 15px auto; }

  a span.pdf {
    background-position: left 3px;
    padding: 0 0 0 18px;
    background-size: 15px auto; }

  li.pdf,
  ul.pdflist li,
  p.pdf {
    background-size: 15px auto; }

  .window, a span.window {
    background-position: right 4px; }

  li.window,
  ul.windowlist li,
  p.window {
    background-position: left 5px; }

  .xls {
    padding: 0 18px 0 0;
    background-position: right 3px;
    background-size: 15px auto; }

  a span.xls {
    background-position: left 3px;
    padding: 0 0 0 18px;
    background-size: 15px auto; }

  li.xls,
  ul.xlslist li,
  p.xls {
    background-size: 15px auto; } }
@media all and (max-width: 760px) {
  figcaption .pdf {
    background: url(../img/ico/ico-pdf.svg) right 1px no-repeat; } }
/*--------------------------------------------------------------------------
 Tab
---------------------------------------------------------------------------*/
.tabBox,
.tabBox2,
.tabBox3,
.tabBox4 {
  display: none;
  margin-bottom: 1em; }

#displayTab,
#displayTab2,
#displayTab3 {
  display: block; }

.tab,
.tab-multiple {
  min-height: 1%; }

.tab li a,
.tab-multiple li a {
  display: block;
  height: 45px;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  line-height: 45px;
  text-decoration: none;
  letter-spacing: 0.09em; }

.tab li.tab-2line a,
.tab-multiple li.tab-2line a {
  line-height: 1.4;
  padding-top: 5px;
  height: 40px; }

/*----------------------------------------------------------------------------
    Information
-----------------------------------------------------------------------------*/
/*tab4*/
.tab4-news.tab {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
  border-bottom: 1px solid #ccc;
  justify-content: space-between; }

.tab4-news.tab > li {
  width: 24.8%;
  text-align: center;
  padding: 0;
  margin-bottom: 0; }

.tab4-news.tab > li a {
  color: #ccc;
  text-decoration: none;
  padding: 0.25em 0 0 0;
  display: block;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  transition: .2s ease-in-out; }

.tab4-news.tab > li:hover a,
.tab4-news.tab > li.select a {
  /*background: #6b6b6b;*/
  color: #005396;
  border-bottom: 3px solid #005396;
  text-decoration: none; }

@media screen and (max-width: 768px) {
  .tab4-news.tab > li a {
    letter-spacing: 0;
    font-weight: normal;
    padding: 0; } }
.infolist ul li {
  border-bottom: 1px solid #eaeaea;
  font-size: 16px; }
  .infolist ul li a {
    padding: 14px 10px 14px 10px;
    font-weight: 500;
    display: flex;
    align-items: start;
    text-decoration: none;
    color: #212121;
    font-weight: 500; }
    .infolist ul li a time {
      display: inline-block;
      letter-spacing: 0.05em;
      font-weight: 500;
      width: 120px;
      font-size: 17px; }
    .infolist ul li a .news-category {
      background: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 12px;
      letter-spacing: 0.05em;
      line-height: 1.0;
      font-weight: 500;
      width: 105px;
      height: 22px;
      /*border: 1px solid #005396;*/
      border-radius: 1px;
      margin-right: 20px;
      margin-top: 4px; }
    .infolist ul li a .category-kict {
      letter-spacing: 0.1em;
      color: #fff;
      background: #7986CB; }
    .infolist ul li a .category-oict {
      letter-spacing: 0.1em;
      color: #fff;
      background: #64B5F6; }
    .infolist ul li a .category-log {
      letter-spacing: 0.1em;
      color: #fff;
      background: #80CBC4; }
    .infolist ul li a .category-nr {
      letter-spacing: 0;
      font-size: 11px;
      border: 1px solid #212121;
      color: #212121; }
    .infolist ul li a .ttl {
      display: block;
      letter-spacing: 0.03em;
      font-weight: 500; }
    .infolist ul li a:hover {
      background: #f7f7f7;
      color: #00a0dc !important;
      text-decoration: none; }
    .infolist ul li a:visited {
      color: #212121; }

#infoWrap .infolist ul li a {
  color: #212121; }

body#news .infolist ul li a:hover {
  text-decoration: none; }

@media all and (min-width: 1225px) {
  .infolist {
    padding: 0; }
    .infolist ul {
      margin-bottom: 50px; }
      .infolist ul li a {
        display: -webkit-flex;
        display: flex;
        -webkit-transition: 0.2s ease-in-out;
        transition: 0.2s ease-in-out; }
        .infolist ul li a .ttl {
          width: calc(100% - 225px);
          /*120+105*/ }
      .infolist ul li:first-child {
        /*border-top: 1px solid $colorBeigeLine;*/ }

  body.information #infoWrap .infolist {
    padding: 0px; } }
@media all and (max-width: 1224px) {
  .infolist {
    padding: 0px 5px 30px 5px; }
    .infolist ul {
      margin-bottom: 30px; }
      .infolist ul li a .ttl {
        line-height: 1.4;
        width: calc(100% - 225px);
        /*120+105*/ }
      .infolist ul li a:visited {
        color: #1d1d1d; }
      .infolist ul li a:hover {
        color: #c1007a; }

  body.information #infoWrap .infolist {
    background: #FFF;
    padding: 0px; } }
@media all and (max-width: 768px) {
  .infolist {
    background: #fff;
    padding: 0px 5px 30px 5px; }
    .infolist ul {
      margin-bottom: 30px; }
      .infolist ul li a {
        flex-wrap: wrap; }
        .infolist ul li a time {
          width: 90px;
          font-weight: normal;
          font-size: 15px; }
        .infolist ul li a .news-category {
          font-size: 11px;
          width: 110px;
          height: 20px;
          margin-right: 4rem; }
        .infolist ul li a .ttl {
          line-height: 1.4;
          font-size: 16px;
          width: 100%;
          margin-top: 5px;
          letter-spacing: 0.05em;
          color: #212121;
          font-weight: 500; }
        .infolist ul li a:visited {
          color: #1d1d1d; }
        .infolist ul li a:hover {
          color: #c1007a; }

  body.information #infoWrap .infolist {
    background: #FFF;
    padding: 0px; } }
@media all and (max-width: 450px) {
  .infolist ul li a .ttl {
    font-size: 15px; } }
/*----------------------------------------------------------------------------
    newsWrap
-----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
 linkBtn
---------------------------------------------------------------------------*/
.linkBtn {
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }
  .linkBtn a, .linkBtn p {
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-width: 300px;
    min-height: 45px;
    padding: 10px 10px;
    border: 1px solid #138dba;
    color: #005396 !important;
    text-align: center;
    border-radius: 3px;
    font-size: 100% !important;
    font-weight: bold; }
  .linkBtn .btnArrow {
    position: relative;
    display: block;
    width: 100%;
    font-weight: 700; }
  .linkBtn .btnArrow:after {
    position: absolute;
    right: 3px;
    top: calc(50% - 6px);
    content: "";
    width: 6px;
    height: 6px;
    background-size: 15px auto;
    transform: rotate(45deg);
    border-top: 1px solid #005396;
    border-right: 1px solid #005396; }
  .linkBtn .btnArrow:hover:after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff; }

.linkBtn._wl {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }

.linkBtn._wc {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

@media all and (min-width: 1225px) {
  .linkBtn a, .linkBtn p {
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out; }
    .linkBtn a .btnArrow:after, .linkBtn p .btnArrow:after {
      -webkit-transition: 0.2s ease-in-out;
      transition: 0.2s ease-in-out; }
  .linkBtn a:hover {
    background: #2b88ca;
    text-decoration: none !important;
    color: #fff !important; }
  .linkBtn a.btnArrow:hover::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff; } }
@media all and (max-width: 1224px) {
  .linkBtn {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; } }
/*--------------------------------------------------------------------------
  scroll animation
---------------------------------------------------------------------------*/
/* fade zoom */
.fade-type-zoom.show {
  transition: 8s;
  transform: scale(1.06); }

/* fade up */
.fade-type-up {
  transform: translateY(50px);
  opacity: 0; }

.fade-type-up.show {
  transition: .6s;
  transform: translateY(0);
  opacity: 1; }

.show .fade-type-up {
  transition: .6s;
  transform: translateY(0);
  opacity: 1; }

.show .fade-type-up:nth-child(2) {
  transition-delay: .4s; }

.show .fade-type-up:nth-child(3) {
  transition-delay: .8s; }

.show .fade-type-up:nth-child(4) {
  transition-delay: 1.2s; }

.show .fade-type-up:nth-child(5) {
  transition-delay: 1.6s; }

.show .fade-type-up:nth-child(6) {
  transition-delay: 2s; }

.show .fade-type-up:nth-child(7) {
  transition-delay: 2.4s; }

/* fade left */
.fade-type-left {
  transform: translateX(50px);
  opacity: 0; }

.fade-type-left.show {
  transition: .8s;
  transform: translateX(0);
  opacity: 1; }

.show .fade-type-left {
  transition: .8s;
  transform: translateX(0);
  opacity: 1; }

.show .fade-type-left:nth-child(2) {
  transition-delay: .2s; }

.show .fade-type-left:nth-child(3) {
  transition-delay: .4s; }

.show .fade-type-left:nth-child(4) {
  transition-delay: .6s; }

.show .fade-type-left:nth-child(5) {
  transition-delay: .8s; }

.show .fade-type-left:nth-child(6) {
  transition-delay: 1s; }

.show .fade-type-left:nth-child(7) {
  transition-delay: 1.2s; }

/* fade right */
.fade-type-right {
  transform: translateX(-50px);
  opacity: 0; }

.fade-type-right.show {
  transition: .8s;
  transform: translateX(0);
  opacity: 1; }

.show .fade-type-right {
  transition: .8s;
  transform: translateX(0);
  opacity: 1; }

.show .fade-type-right:nth-child(2) {
  transition-delay: .2s; }

.show .fade-type-right:nth-child(3) {
  transition-delay: .4s; }

.show .fade-type-right:nth-child(4) {
  transition-delay: .6s; }

.show .fade-type-right:nth-child(5) {
  transition-delay: .8s; }

/* img right*/
.fade-type-slide {
  position: relative; }

.fade-type-slide::after {
  content: '';
  display: block;
  width: 100%;
  transform: scaleX(1);
  transform-origin: 100% 0;
  height: 100%;
  background-color: #30468c;
  position: absolute;
  top: 0;
  right: 0; }

.fade-type-slide.show::after {
  transition: .6s;
  transform: scaleX(0); }

/* single marker */
.fade-type-marker {
  background: linear-gradient(to right, transparent 50%, rgba(255, 165, 0, 0.3) 50%);
  background: linear-gradient(to right, transparent 50%, rgba(255, 165, 0, 0.3) 50%);
  background-repeat: repeat-x;
  background-size: 200% .6em;
  background-position: 0 .6em;
  padding-bottom: .6em; }

.fade-type-marker.show {
  transition: all 1.2s ease;
  background-position: -100% .6em; }

/* bgextendTxt */
.bgextend {
  animation-name: bgextendBgAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
  opacity: 0; }

@keyframes bgextendBgAnime {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
.bgappear.show {
  animation-name: bgextendTxtAnime;
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes bgextendTxtAnime {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.bgLRextend.show::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #30468c; }

@keyframes bgLRextendAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0); }
  50% {
    transform-origin: left;
    transform: scaleX(1); }
  50.001% {
    transform-origin: right; }
  100% {
    transform-origin: right;
    transform: scaleX(0); } }
.bgappear,
.bgLRextend {
  opacity: 0; }

@media all and (max-width: 749px) {
  .bgLRextend.show::before {
    display: none; }

  .bgappear.show {
    animation-name: blurAnime;
    animation-delay: 0.1s;
    animation-duration: 1s;
    animation-fill-mode: forwards; }

  @keyframes blurAnime {
    from {
      filter: blur(10px);
      transform: scale(1.02);
      opacity: 0; }
    to {
      filter: blur(0);
      transform: scale(1);
      opacity: 1; } } }
/*--------------------------------------------------------------------------
  width margin padding
---------------------------------------------------------------------------*/
.w-auto {
  width: auto !important; }

.w1 {
  width: 1% !important;
  white-space: nowrap; }

.w5 {
  width: 5% !important; }

.w10 {
  width: 10% !important; }

.w15 {
  width: 15% !important; }

.w20 {
  width: 20% !important; }

.w25 {
  width: 25% !important; }

.w30 {
  width: 30% !important; }

.w35 {
  width: 35% !important; }

.w40 {
  width: 40% !important; }

.w45 {
  width: 45% !important; }

.w50 {
  width: 50% !important; }

.w56 {
  width: 56% !important; }

.w60 {
  width: 60% !important; }

.w65 {
  width: 65% !important; }

.w70 {
  width: 70% !important; }

.w75 {
  width: 75% !important; }

.w80 {
  width: 80% !important; }

.w85 {
  width: 85% !important; }

.w90 {
  width: 90% !important; }

.w95 {
  width: 95% !important; }

.w100 {
  width: 100% !important; }

.w100px {
  width: 100px !important; }

.w150px {
  width: 150px !important; }

.w200px {
  width: 200px !important; }

.w250px {
  width: 250px !important; }

.w300px {
  width: 300px !important; }

.w400px {
  width: 400px !important; }

.w650px {
  width: 650px !important; }

.w100-20px {
  width: calc(100% - 20px); }

.mar0t {
  margin-top: 0 !important; }

.mar5t {
  margin-top: 5px !important; }

.mar10t {
  margin-top: 10px !important; }

.mar15t {
  margin-top: 15px !important; }

.mar20t {
  margin-top: 20px !important; }

.mar30t {
  margin-top: 30px !important; }

.mar50t {
  margin-top: 50px !important; }

.mar0b {
  margin-bottom: 0 !important; }

.mar1b {
  margin-bottom: 1px !important; }

.mar5b {
  margin-bottom: 5px !important; }

.mar10b {
  margin-bottom: 10px !important; }

.mar15b {
  margin-bottom: 15px !important; }

.mar20b {
  margin-bottom: 20px !important; }

.mar30b {
  margin-bottom: 30px !important; }

.mar50b {
  margin-bottom: 50px !important; }

.mar150b {
  margin-bottom: 150px !important; }

.mar0l {
  margin-left: 0 !important; }

.mar5l {
  margin-left: 5px !important; }

.mar10l {
  margin-left: 10px !important; }

.mar15l {
  margin-left: 15px !important; }

.mar20l {
  margin-left: 20px !important; }

.mar30l {
  margin-left: 30px !important; }

.mar50l {
  margin-left: 50px !important; }

.mar0r {
  margin-right: 0 !important; }

.mar5r {
  margin-right: 5px !important; }

.mar10r {
  margin-right: 10px !important; }

.mar15r {
  margin-right: 15px !important; }

.mar20r {
  margin-right: 20px !important; }

.mar30r {
  margin-right: 30px !important; }

.mar50r {
  margin-right: 50px !important; }

.mar0 {
  margin: 0 !important; }

.mar10 {
  margin: 10px !important; }

.mar20 {
  margin: 20px !important; }

.mar30 {
  margin: 30px !important; }

.mar50 {
  margin: 50px !important; }

.pad0t {
  padding-top: 0 !important; }

.pad5t {
  padding-top: 5px !important; }

.pad10t {
  padding-top: 10px !important; }

.pad20t {
  padding-top: 20px !important; }

.pad30t {
  padding-top: 30px !important; }

.pad50t {
  padding-top: 30px !important; }

.pad0b {
  padding-bottom: 0 !important; }

.pad5b {
  padding-bottom: 5px !important; }

.pad10b {
  padding-bottom: 10px !important; }

.pad20b {
  padding-bottom: 20px !important; }

.pad30b {
  padding-bottom: 30px !important; }

.pad50b {
  padding-bottom: 50px !important; }

.pad0l {
  padding-left: 0 !important; }

.pad5l {
  padding-left: 5px !important; }

.pad10l {
  padding-left: 10px !important; }

.pad20l {
  padding-left: 20px !important; }

.pad30l {
  padding-left: 30px !important; }

.pad50l {
  padding-left: 50px !important; }

.pad0r {
  padding-right: 0 !important; }

.pad5r {
  padding-right: 5px !important; }

.pad10r {
  padding-right: 10px !important; }

.pad20r {
  padding-right: 20px !important; }

.pad30r {
  padding-right: 30px !important; }

.pad50r {
  padding-right: 50px !important; }

.pad0lr {
  padding-left: 0 !important;
  padding-right: 0 !important; }

.pad10lr {
  padding-left: 10px !important;
  padding-right: 10px !important; }

.pad20lr {
  padding-left: 20px !important;
  padding-right: 20px !important; }

.pad30lr {
  padding-left: 30px !important;
  padding-right: 30px !important; }

.pad50lr {
  padding-left: 50px !important;
  padding-right: 50px !important; }

.pad0 {
  padding: 0 !important; }

.pad10 {
  padding: 10px !important; }

.pad20 {
  padding: 20px !important; }

.pad30 {
  padding: 30px !important; }

.pad50 {
  padding: 50px !important; }

.mb {
  margin-bottom: 1em !important; }

@media all and (max-width: 840px) {
  .ph-mar0 {
    margin: 0 !important; }

  .ph-mar0b {
    margin-bottom: 0 !important; }

  .ph-pad0 {
    padding: 0 !important; }

  .ph-pad0b {
    padding-bottom: 0 !important; }

  .ph-w100 {
    width: 100% !important; }

  .ph-maxw100 {
    max-width: 100% !important; }

  .w1 {
    width: auto !important;
    white-space: normal; }

  .w100-20px {
    width: 100%; }

  .ph-l-txt {
    text-align: left !important; } }
@media all and (max-width: 670px) {
  .w650px {
    width: 100% !important; } }
/*--------------------------------------------------------------------------
  none
---------------------------------------------------------------------------*/
@media all and (min-width: 1225px) {
  .pcNone {
    display: none; } }
@media all and (max-width: 1224px) {
  .phNone {
    display: none; } }
@media all and (min-width: 750px) {
  .phNone2 {
    display: block; } }
@media all and (max-width: 749px) {
  .phNone2 {
    display: none; } }
/*----------------------------------------------------------------------------
    service
-----------------------------------------------------------------------------*/
.servicelist {
  letter-spacing: 0.1em; }
  .servicelist .servicesNav dl {
    background: #FFF;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .servicelist .servicesNav dl dd .read {
      font-size: 90%; }
    .servicelist .servicesNav dl dd ul li {
      font-size: 90%; }
      .servicelist .servicesNav dl dd ul li a {
        display: block;
        color: #000;
        position: relative; }
      .servicelist .servicesNav dl dd ul li a::after {
        display: block;
        position: absolute;
        /*top: 7px;*/
        border-top: 2px solid #00a0dc;
        border-right: 2px solid #00a0dc;
        /*position: absolute;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;*/
        display: block;
        width: 8px;
        height: 8px;
        margin: auto;
        /*border-top: 2px solid #000;
        border-right: 2px solid #000;*/
        content: "";
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
    .servicelist .servicesNav dl dd ul li.w-100 {
      width: 100%; }

@media all and (min-width: 1225px) {
  #serviceWrap .h2ttl {
    padding-bottom: 0; }
  #serviceWrap .h2Wrap.servicelist {
    width: 100%;
    padding-top: 30px 0; }

  .servicelist .servicesNav {
    position: relative;
    min-height: 420px;
    margin-bottom: 80px; }
    .servicelist .servicesNav figure {
      position: absolute;
      /*right: 0;
      top: 0;*/
      z-index: 1;
      width: 370px;
      height: 340px; }
    .servicelist .servicesNav dl {
      position: absolute;
      z-index: 2;
      width: 730px;
      height: 440px;
      padding: 0 20px 0 20px; }
      .servicelist .servicesNav dl dt {
        font-size: 28px;
        margin-bottom: 30px; }
      .servicelist .servicesNav dl dd .read {
        margin-bottom: 20px; }
      .servicelist .servicesNav dl dd ul {
        display: -webkit-flex;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 25px; }
        .servicelist .servicesNav dl dd ul li {
          line-height: 1.7;
          width: 50%; }
          .servicelist .servicesNav dl dd ul li a {
            padding-right: 40px;
            -webkit-transition: 0.2s ease-in-out;
            transition: 0.2s ease-in-out; }
          .servicelist .servicesNav dl dd ul li a::after {
            top: 9px;
            right: 20px;
            -webkit-transition: 0.2s ease-in-out;
            transition: 0.2s ease-in-out; }
          .servicelist .servicesNav dl dd ul li a:hover {
            color: #00a0dc;
            text-decoration: none; }
          .servicelist .servicesNav dl dd ul li a.txt-small {
            letter-spacing: 0;
            font-size: 90%;
            margin-top: 2px; }
      .servicelist .servicesNav dl dd .linkBtn {
        margin-right: 10px; } }
@media all and (max-width: 1224px) {
  .servicelist {
    padding-bottom: 10px; }
    .servicelist .servicesNav {
      margin-bottom: 50px; }
      .servicelist .servicesNav figure {
        position: relative;
        z-index: 1;
        width: 100%; }
      .servicelist .servicesNav dl {
        position: relative;
        z-index: 2;
        width: calc(100% - 30px);
        min-height: 200px;
        margin: -40px auto 0 auto;
        background: #FFF;
        padding: 25px 20px 30px 20px; }
        .servicelist .servicesNav dl dt {
          font-size: 22px;
          text-align: center;
          margin-bottom: 15px; }
        .servicelist .servicesNav dl dd .read {
          margin-bottom: 15px; }
        .servicelist .servicesNav dl dd ul {
          margin-bottom: 15px; }
          .servicelist .servicesNav dl dd ul li {
            width: 100%;
            line-height: 1.5; }
            .servicelist .servicesNav dl dd ul li a {
              display: block;
              color: #000;
              /*padding-right: 20px;*/
              padding-left: 20px;
              position: relative;
              -webkit-transition: 0.2s ease-in-out;
              transition: 0.2s ease-in-out; }
            .servicelist .servicesNav dl dd ul li a::after {
              top: 7px;
              left: 0;
              right: auto; }
            .servicelist .servicesNav dl dd ul li a.txt-small {
              letter-spacing: 0.05em; }
        .servicelist .servicesNav dl dd .linkBtn {
          margin-top: 25px; } }
/*----------------------------------------------------------------------------
    principle
-----------------------------------------------------------------------------*/
.principle > li {
  position: relative;
  margin-bottom: 1em;
  width: calc(100% - 200px);
  margin-left: 200px; }

.principle > li:last-of-type {
  margin-top: 3em;
  margin-bottom: 0; }

.principle li .num {
  color: #eff5fc;
  display: block;
  font-size: 130px;
  line-height: 1;
  width: 180px;
  position: absolute;
  top: -30px;
  left: -180px; }

.principle > li:last-of-type > .num {
  top: -50px; }

.principle li .txtLead {
  display: inline-block;
  z-index: 2;
  color: #30468c;
  z-index: 1; }

.principle li .box {
  font-size: 18px;
  margin-bottom: 1.5em;
  padding: 0 0 1em 2em; }

.principle li .box.bgLightBlue li {
  margin-bottom: 0.5em;
  font-weight: bold; }

@media all and (max-width: 1024px) {
  .principle > li {
    position: relative;
    margin-bottom: 1em;
    width: calc(100% - 70px);
    margin-left: 70px; }

  .principle > li:last-of-type {
    margin-top: 1em; }

  .principle li .num {
    font-size: 50px;
    line-height: 1;
    width: 70px;
    position: absolute;
    top: 0;
    left: -70px; }

  .principle > li:last-of-type > .num {
    top: 0; }

  .principle li .txtLead {
    z-index: 2;
    color: #30468c;
    z-index: 1; }

  .principle li .box {
    font-size: 16px;
    margin-top: 1.5em;
    padding: 0 1em 0.75em 1em; }

  .principle li .box li {
    margin-bottom: 0.5em; } }
@media all and (max-width: 490px) {
  .principle > li {
    width: 100%;
    margin-left: 0;
    margin-top: 50px; }

  .principle > li:last-of-type {
    margin-top: 50px; }

  .principle li .num {
    font-size: 50px;
    line-height: 1;
    width: 70px;
    position: absolute;
    top: -50px;
    left: 0; }

  .principle > li:last-of-type > .num {
    top: -50px; }

  .principle li .box {
    font-size: 16px;
    margin-top: 0;
    padding: 0 0 20px 0; } }
/*----------------------------------------------------------------------------
    FAQ
-----------------------------------------------------------------------------*/
.cwrap .contents .faq-list {
  margin-top: 40px;
  padding: 0;
  margin: 0;
  text-align: left; }
.cwrap .contents .faq-list dt {
  font-size: 20px;
  color: #171717;
  padding-bottom: 10px;
  text-indent: -48px;
  padding: 30px 0 0 40px;
  font-weight: 700;
  margin-bottom: 10px; }
.cwrap .contents .faq-list dt > .qa-icon {
  display: inline-block;
  background-color: #005396;
  border-radius: 50%;
  color: #fff;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  padding-left: 2px;
  margin-right: 1.0em;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: normal;
  text-indent: 0; }
.cwrap .contents .faq-list dd {
  font-size: 16px;
  color: #171717;
  text-indent: -48px;
  padding: 0 0 30px 40px;
  font-weight: normal;
  margin-bottom: 0;
  border-bottom: 1px solid #ccc; }
.cwrap .contents .faq-list dd > .qa-icon {
  display: inline-block;
  background-color: #dcf0ff;
  border-radius: 50%;
  color: #005396;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  padding-left: 2px;
  margin-right: 1.0em;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: normal;
  text-indent: 0; }

@media screen and (min-width: 960px) {
  /*pc*/ }
/*----------------------------------------------------------------------------
    camera
-----------------------------------------------------------------------------*/
#camera .attentionBox {
  width: 760px;
  text-align: center;
  line-height: 1.7;
  background: #fff0f3;
  margin: 10px auto; }

@media screen and (max-width: 800px) {
  #camera .attentionBox {
    width: 100%;
    max-width: 100%;
    text-align: left; } }
/*----------------------------------------------------------------------------
    cafeteria
-----------------------------------------------------------------------------*/
#cafeteria .colL._col5 figure img {
  border: 1px solid #ccc; }

/*----------------------------------------------------------------------------
    order
-----------------------------------------------------------------------------*/
.tbl-order th {
  width: 300px; }

@media screen and (max-width: 840px) {
  .tbl-order th {
    width: 100% !important; } }
/*----------------------------------------------------------------------------
    okinawa schedule
-----------------------------------------------------------------------------*/
.iconstar img {
  width: 20px;
  height: 20px;
  margin-bottom: 5px; }

.icon01 img {
  width: 20px;
  height: 20px; }

.icon03 img {
  width: 20px;
  height: 20px; }

table#okinawaSchedule td {
  padding: 0;
  border-right: none;
  border-left: none;
  width: 20px; }
table#okinawaSchedule .icon01 {
  width: 20px; }
table#okinawaSchedule .icon02 {
  background: url("/services/port/okinawa/schedule/img/icon-line.svg") repeat-x;
  background-position: center center;
  background-size: 16px auto;
  width: 20px; }
table#okinawaSchedule .icon02end {
  text-align: left;
  width: 20px; }
table#okinawaSchedule .icon03 {
  width: 20px; }
table#okinawaSchedule .borderL {
  border-left: 1px solid #ccc; }
table#okinawaSchedule .borderR {
  border-right: 1px solid #ccc; }
table#okinawaSchedule img.icon-end {
  width: 12px;
  height: 15px; }

.twoBtns .col._col3 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center; }
  .twoBtns .col._col3 .linkBtn {
    margin: 0 10px 20px 10px; }

@media screen and (max-width: 600px) {
  /*sp*/
  .twoBtns .col._col3 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center; } }
/**背景位置とサイズ******************************/
/**PCmin-width1225**/
/**PHmax-width1224**/
/**PHmax-width415**/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*--------------------------------------------------------------------------
 pagelink
---------------------------------------------------------------------------*/
.anc {
  clear: both;
  padding: 20px 20px 20px 30px;
  font-size: 12px;
  line-height: 1.2;
  background: #f2f3f5; }
  .anc li {
    padding-left: 18px;
    margin-bottom: 0.3em;
    position: relative; }
  .anc li::after {
    position: absolute;
    top: 2px;
    left: 0;
    border-top: 2px solid #cccccc;
    border-right: 2px solid #cccccc;
    /*position: absolute;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;*/
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    /*border-top: 2px solid #000;
    border-right: 2px solid #000;*/
    content: "";
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg); }
  .anc a, .anc a:visited {
    color: #4d4d4d;
    text-decoration: none !important; }
  .anc a:hover {
    color: #00a0dc; }

._colList, ._col2List, ._col3List {
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  ._colList li, ._col2List li, ._col3List li {
    margin-right: 10px; }

._col2List li {
  width: calc(50% - 20px); }

._col3List li {
  width: calc(33% - 20px); }

.disc._colList li, .disc._col2List li, .disc._col3List li, .num._colList li, .num._col2List li, .num._col3List li {
  padding-right: 15px; }

.disc._col2List li, .num._col2List li {
  width: calc(50% - 18px); }

.disc._col3List li, .num._col3List li {
  width: calc(33% - 18px); }

@media all and (max-width: 1224px) {
  .anc {
    padding: 20px 20px 20px 30px;
    margin-bottom: 20px; }

  ._col2List li, ._col3List li,
  .disc._colList li, .disc._col2List li, .disc._col3List li, .num._colList li, .num._col2List li, .num._col3List li {
    width: 100%;
    margin-right: 0;
    padding-right: 0; }

  ._phCol2list {
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    ._phCol2list li {
      width: calc(50% - 20px); }
    ._phCol2list li:nth-child(even) {
      margin-left: 10px; } }
@media all and (max-width: 799px) {
  .anc {
    padding: 15px 5px 15px 15px; } }
@media all and (max-width: 450px) {
  .anc {
    padding: 10px;
    margin-bottom: 10px; } }
/*--------------------------------------------------------------------------
  list
---------------------------------------------------------------------------*/
.li1m > li {
  margin-bottom: 1em; }

.li1m > li:last-child {
  margin-bottom: 0 !important; }

ul.disc,
ul.txt,
ul.num,
ul.alpha {
  margin-left: 17px; }

/*num*/
ul.disc li ul.num li,
ul.txt li ul.num li,
ul.alpha li ul.num li,
ul.num li {
  list-style: decimal;
  margin-left: 8px;
  padding-left: 0;
  text-indent: 0; }

/*alpha*/
ul.num li ul.alpha li,
ul.disc li ul.alpha li,
ul.txt li ul.alpha li,
ul.alpha li {
  list-style: lower-alpha;
  margin-left: 8px;
  padding-left: 0;
  text-indent: 0; }

/*txt*/
ul.num li ul.txt > li,
ul.disc li ul.txt > li,
ul.disc li ul.txt > li:before,
ul.alpha li ul.txt > li,
ul.txt > li {
  list-style: none;
  padding-left: 1em;
  text-indent: -1.6em; }

/*disc*/
ul.disc {
  margin-left: 0.8em; }

ul.disc > li {
  margin-left: 0;
  text-indent: -0.5em;
  padding-left: 0.5em; }

ul.disc > li:before {
  content: '';
  width: 6px;
  height: 6px;
  display: inline-block;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #aaaaaa;
  position: relative;
  left: -8px;
  top: -3px; }

ul.none li {
  list-style: none; }

/*--------------------------------------------------------------------------
  column, block
---------------------------------------------------------------------------*/
.l-block, .l-block-ph {
  float: left; }

.r-block, .r-block-ph {
  float: right; }

.center {
  margin-left: auto;
  margin-right: auto; }

.block {
  display: block !important; }

@media all and (max-width: 1224px) {
  .l-block, .r-block {
    float: none; } }
.flex {
  display: -webkit-flex;
  display: flex; }

._flexHC {
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important; }

._flexWC {
  -webkit-box-pack: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important; }

._flexWL {
  -webkit-box-pack: start !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important; }

._flexWR {
  -webkit-box-pack: end !important;
  -ms-flex-pack: end !important;
  justify-content: flex-end !important; }

.flexHcWc {
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%; }

._flexWrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

._flexNowrap {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }

/*--------------------------------------------------------------------------
  photo
---------------------------------------------------------------------------*/
figure {
  margin-bottom: 1em; }

figcaption, .cap {
  display: block;
  margin-top: 8px;
  font-size: 80% !important;
  color: #4d4d4d;
  text-align: center;
  line-height: 1.4; }

#cafeteria figcaption {
  display: block;
  margin-top: 8px;
  font-size: 78% !important;
  color: #4d4d4d;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.1px; }

figcaption a.window, .cap a.window, a figcaption .window {
  background-size: 11px auto;
  background-position: right 4px; }

figcaption a.pdf, .cap a.pdf, a figcaption .pdf {
  background-size: 12px auto;
  padding: 0 14px 0 0; }

figcaption a.xls, .cap a.xls, a figcaption .xls {
  background-size: 12px auto;
  padding: 0 14px 0 0; }

.photo, .photo800, .photo600, .photo500 {
  display: table;
  text-align: center;
  margin: 0 auto 1em auto;
  padding-top: 10px; }

.photo800 {
  width: 100%;
  max-width: 800px; }

.photo600 {
  width: 100%;
  max-width: 600px; }

.photo500 {
  width: 100%;
  max-width: 500px; }

.photo img {
  width: 100%; }

.rPhoto, .rPhoto-m, .rPhoto-s, .rPhoto-ss, .rPhoto-auto {
  float: right;
  margin: 0 0 8px 60px;
  display: table;
  text-align: center; }

.lPhoto, .lPhoto-m, .lPhoto-s, .lPhoto-ss, .lPhoto-auto {
  float: left;
  margin: 0 60px 8px 0;
  display: table;
  text-align: center; }

.rPhoto, .lPhoto {
  width: calc(50% - 20px); }

.rPhoto-m {
  max-width: 380px;
  width: calc(50% - 20px);
  margin-left: 60px;
  margin-bottom: 60px; }

.lPhoto-m {
  max-width: 380px;
  width: calc(50% - 20px);
  margin-right: 60px;
  margin-bottom: 60px; }

.rPhoto-s, .lPhoto-s {
  max-width: 250px;
  width: calc(50% - 20px); }

.rPhoto-ss, .lPhoto-ss {
  max-width: 150px;
  width: 40%; }

.rPhoto img, .lPhoto img, .rPhoto-m img, .lPhoto-m img, .rPhoto-s img, .lPhoto-s img, .rPhoto-ss img, .lPhoto-ss img, .rPhoto-auto img, .lPhoto-auto img,
.photo800 img, .photo600 img {
  width: 100%;
  height: auto; }

img.img-auto {
  width: auto !important; }

.col {
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
  padding-top: 10px; }

.col._col2 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.col._col2 figure, .col._col2 li {
  width: calc(50% - 20px);
  /*margin-bottom: 20px;*/
  margin: 0 auto 20px auto; }

.col._col3 figure, .col._col3 li {
  width: calc(33.3% - 20px);
  margin: 0 10px 20px 10px; }

.col._col4 figure, .col._col4 li {
  width: calc(25% - 20px);
  margin: 0 10px 6px 10px; }

.col._col5 figure, .col._col5 li {
  width: calc(20% - 20px);
  margin: 0 10px 6px 10px; }

.col-auto {
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 10px; }

.col-auto figure, .col-auto li {
  margin: 0 5px 10px 5px; }

.col-auto img {
  width: 100%; }

.colL {
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
  padding-top: 10px; }

.colL._col2 figure, .col._col2 li {
  width: calc(50% - 20px);
  /*margin-bottom: 20px;*/
  margin: 0 10px 20px 10px; }

.colL._col3 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.colL._col3 figure, .col._col3 li {
  width: calc(33.3% - 20px);
  margin: 0 0 20px 0; }

.colL._col3::after {
  content: "";
  display: block;
  width: calc(33.3% - 20px); }

.colL._col4 figure, .col._col4 li {
  width: calc(25% - 20px);
  margin: 0 10px 6px 10px; }

.colL._col5 figure, .col._col5 li {
  width: calc(20% - 20px);
  margin: 0 10px 16px 10px; }

.img-zoom {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  display: block; }

a.img-zoom img {
  opacity: 1.0;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out; }

.img-zoom::before {
  position: absolute;
  background: url(../img/ico/ico-zoom.svg) no-repeat;
  bottom: 3px;
  right: 3px;
  content: "";
  width: 17px;
  height: 17px;
  z-index: 2; }

a:hover .img-zoom::before,
a.img-zoom:hover::before,
a.img-zoom:hover img {
  opacity: 0.6; }

.fnone {
  margin-bottom: 0 !important; }

.cap-photo {
  display: table !important;
  width: 200px;
  *width: auto; }

.cap-photo img {
  max-width: 1224px; }

@media all and (max-width: 1224px) {
  figcaption, .cap {
    text-align: left; }

  .rPhoto, .lPhoto {
    width: calc(50% - 20px); }

  .rPhoto, .rPhoto-m, .rPhoto-s, .rPhoto-ss, .rPhoto-auto {
    margin: 0 0 10px 24px; }

  .lPhoto, .lPhoto-m, .lPhoto-s, .lPhoto-ss, .lPhoto-auto {
    margin: 0 24px 10px 0; }

  .col._col3 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .col._col2 figure, .col._col2 li, .col._col3 figure, .col._col3 li {
    width: calc(50% - 20px);
    /*margin: 0 0 10px 0;*/
    margin: 0 auto 10px auto; }

  .col._col4 figure, .col._col4 li, .col._col5 figure, .col._col5 li {
    width: calc(33% - 20px);
    margin: 0 10px 10px 10px; }

  .colL._col3 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .colL._col3:after {
    width: calc(50% - 20px);
    margin: 0 auto 10px auto; }

  .colL._col2 figure, .colL._col2 li, .colL._col3 figure, .colL._col3 li {
    width: calc(50% - 20px);
    /*margin: 0 0 10px 0;*/
    margin: 0 auto 10px auto; }

  .colL._col4 figure, .colL._col4 li {
    width: calc(33% - 20px);
    margin: 0 10px 10px 10px; }

  .colL._col5 figure, .colL._col5 li {
    width: calc(20% - 20px);
    margin: 0 10px 16px 10px; }

  a:hover .img-zoom::before,
  a.img-zoom:hover::before,
  a.img-zoom:hover img {
    opacity: 1.0; }

  .cap-photo figcaption {
    text-align: left; }

  .cap-photo img {
    max-width: 700px; } }
@media all and (max-width: 799px) {
  .col._col4, .col._col5 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .col._col2 figure, .col._col2 li, .col._col3 figure, .col._col3 li,
  .col._col4 figure, .col._col4 li, .col._col5 figure, .col._col5 li {
    width: calc(50% - 20px);
    /*margin: 0 0 10px 0;*/
    margin: 0 auto 10px auto; }

  .colL._col4, .colL._col5 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .colL._col2 figure, .colL._col2 li, .colL._col3 figure, .colL._col3 li,
  .colL._col4 figure, .colL._col4 li {
    width: calc(50% - 20px);
    /*margin: 0 0 10px 0;*/
    margin: 0 auto 10px auto; }

  .colL._col5 figure, .colL._col5 li {
    width: calc(33% - 20px);
    /*margin: 0 0 10px 0;*/
    margin: 0 auto 16px auto; }

  .colL._col5::after {
    content: "";
    display: block;
    width: 33%; }

  .img-zoom::before {
    background-size: 12px auto;
    bottom: 1px;
    right: 1px;
    width: 13px;
    height: 13px; }

  .cap-photo img {
    max-width: 450px; }

  .fnone {
    float: none !important;
    display: block;
    width: 100%;
    height: auto;
    padding: 0 0 1em 0;
    margin: 0 auto !important; }

  .col._col2.fnone {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .col._col2.fnone figure, .col._col2.fnone li {
      width: 100%;
      margin: 0 auto 6px auto !important; }

  .colL._col2.fnone {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .colL._col2.fnone figure, .colL._col2.fnone li {
      width: 100%;
      margin: 0 auto 6px auto !important; } }
@media all and (max-width: 450px) {
  .cap-photo {
    width: 100%; }

  .cap-photo img {
    max-width: 450px;
    width: 100%; }

  .colL._col5 figure, .colL._col5 li {
    width: calc(50% - 20px);
    /*margin: 0 0 10px 0;*/
    margin: 0 auto 16px auto; } }
/*--------------------------------------------------------------------------
  box
---------------------------------------------------------------------------*/
.box {
  clear: both;
  padding: 15px;
  margin-bottom: 1em; }

.box p:last-child, .box ul:last-child {
  margin-bottom: 0; }

.boxCol1 {
  padding: 25px; }

.boxCol2,
.boxCol3 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.boxCol2-Lphoto33,
.boxCol2-Rphoto33 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.boxCol2, .boxCol2-Lphoto33, .boxCol2-Rphoto33, .boxCol3 {
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.boxCol2 > dl,
.boxCol2 > div,
.boxCol2 > li,
.boxCol2 ._col2Inner {
  width: calc(50% - 20px);
  margin: 0 0 16px 0; }

.boxCol2-Lphoto33 > dl,
.boxCol2-Lphoto33 > div,
.boxCol2-Lphoto33 > li,
.boxCol2-Lphoto33 ._col2Inner {
  width: calc(67% - 60px);
  margin: 0 0 16px 0;
  order: 2; }

.boxCol2-Lphoto33 > .Lphoto33 {
  width: 33%;
  margin-right: 60px;
  order: 1; }

.boxCol2-Rphoto33 > dl,
.boxCol2-Rphoto33 > div,
.boxCol2-Rphoto33 > li,
.boxCol2-Rphoto33 ._col2Inner {
  width: calc(67% - 60px);
  margin: 0 0 16px 0;
  order: 1; }

.boxCol2-Rphoto33 > .Rphoto33 {
  width: 33%;
  margin-left: 60px;
  order: 2; }

.boxCol3 > dl, .boxCol3 > div, .boxCol3 > li, .boxCol3 ._col3Inner {
  width: calc(33.3% - 20px);
  margin: 0 0 16px 0; }

.boxCol3::after {
  content: "";
  display: block;
  width: calc(33.3% - 20px); }

@media all and (max-width: 1224px) {
  .box {
    padding: 10px;
    margin-bottom: 0.5em; }

  .boxCol1 {
    padding: 15px;
    margin-bottom: 1em; } }
@media all and (max-width: 799px) {
  .boxCol1 {
    padding: 10px; }

  .boxCol2, .boxCol2-Lphoto33, .boxCol2-Rphoto33, .boxCol3 {
    display: block; }

  .boxCol2-Lphoto33 > dl, .boxCol2-Lphoto33 > div, .boxCol2-Lphoto33 > li, .boxCol2-Lphoto33 ._col2Inner,
  .boxCol2-Rphoto33 > dl, .boxCol2-Rphoto33 > div, .boxCol2-Rphoto33 > li, .boxCol2-Rphoto33 ._col2Inner,
  .boxCol2-Lphoto33 > .Lphoto33,
  .boxCol2-Rphoto33 > .Rphoto33,
  .boxCol2 > dl, .boxCol2 > div, .boxCol2 > li, .boxCol2 ._col2Inner,
  .boxCol3 > dl, .boxCol3 > div, .boxCol3 > li, .boxCol3 ._col3Inner {
    width: 100%;
    margin: 0 0 5px 0; }

  .boxCol2-Lphoto33 > .Lphoto33,
  .boxCol2-Rphoto33 > .Rphoto33 {
    text-align: center; }

  .boxCol2 > ._col2Inner > figure,
  .boxCol2-Lphoto33 > .Lphoto33 > figure,
  .boxCol2-Rphoto33 > .Rphoto33 > figure {
    margin-bottom: 20px;
    text-align: center; }

  .boxCol2._phCol2,
  .boxCol3._phCol2,
  .boxCol2-Lphoto33._phCol2,
  .boxCol2-Rphoto33._phCol2 {
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }
/*--------------------------------------------------------------------------
  table
---------------------------------------------------------------------------*/
table {
  border-collapse: collapse;
  width: 100%; }

table th {
  padding: 15px 20px;
  border: 1px solid #c1c1c1;
  background: #f6f6f6;
  text-align: left;
  white-space: nowrap;
  line-height: 1.4; }

table thead th {
  text-align: center; }

table td {
  padding: 10px 10px 10px 15px;
  border: 1px solid #c1c1c1;
  background: #FFF; }

table.tbl-transparent {
  border: none !important;
  width: auto; }
  table.tbl-transparent th, table.tbl-transparent td {
    padding: 0.2em 1em 0.2em 0;
    font-weight: normal;
    background: none;
    border: none !important;
    text-align: left; }

td p:last-child, td ul:last-child, td figure:last-child {
  margin-bottom: 0; }

table.thC th, table.tdC td {
  text-align: center; }

table.thR th, table.tdR td {
  text-align: right; }

table.alignC th, table.alignC td {
  vertical-align: middle !important; }

table.th-wrap th, table th.th-wrap {
  white-space: normal; }

@media all and (max-width: 840px) {
  div.scrollWrap table th, div.scrollWrap table td {
    width: auto !important;
    border: 1px solid #c1c1c1;
    display: table-cell; }

  table {
    border: 1px solid #c1c1c1; }
    table th, table td {
      width: 100%;
      padding: 5px;
      white-space: normal;
      display: block;
      border-left: none;
      border-right: none;
      border-bottom: none; }
    table tr th {
      border-top: none; }
    table tr td {
      border-bottom: 1px solid #c1c1c1; }
    table tr td:first-child {
      border-top: none; }
    table tr td:last-child {
      /*border: 1px solid $colorLightGray;*/ }
    table tr:last-child td {
      border-bottom: none; }

  .tbl-normal {
    width: auto; }
    .tbl-normal th, .tbl-normal td {
      width: auto;
      display: table-cell;
      border: 1px solid #c1c1c1; }
    .tbl-normal tr th {
      border: 1px solid #c1c1c1; }
    .tbl-normal tr td {
      border: 1px solid #c1c1c1; }

  table.tbl-transparent {
    width: auto; }
    table.tbl-transparent th {
      padding: 0 0; }
    table.tbl-transparent td {
      padding: 0 0 0.3em 0; } }
/*--------------------------------------------------------------------------
  スクロールバー
---------------------------------------------------------------------------*/
@media all and (max-width: 840px) {
  div.scrollWrap {
    overflow-x: scroll;
    margin-bottom: 1em;
    padding: 0 1px; }

  div.scrollWrap > div, div.scrollWrap > table, div.scrollWrap > dl {
    width: 750px; }

  div.scrollWrap::-webkit-scrollbar {
    height: 6px; }

  div.scrollWrap::-webkit-scrollbar-track {
    background: #f6f6f6; }

  div.scrollWrap::-webkit-scrollbar-thumb {
    background: #c1c1c1; }

  div.scrollWrap::-webkit-overflow-scrolling:touch {
    background: #c1c1c1; } }
/*--------------------------------------------------------------------------
 ボタン
---------------------------------------------------------------------------*/
.btnLink {
  /*@include flex;
  @include flex-he;*/ }
  .btnLink a {
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 160px;
    padding: 10px;
    border: 1px solid #e2e0df;
    color: #000 !important;
    text-align: center;
    -moz-border-radius: 40px;
    -webkit-border-radius: 40px;
    border-radius: 40px;
    font-size: 90% !important;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out; }
  .btnLink a:hover {
    text-decoration: none !important;
    background-color: #e2e0df;
    color: #000 !important; }
  .btnLink a.window {
    background: url("../img/ico/ico-windowPoint.svg") no-repeat;
    background-position: right 20px center;
    padding-right: 20px; }

/* ボタンL */
.btnLarge01 {
  display: inline-block;
  position: relative;
  background-color: #0874c6;
  border: 1px solid #0874c6;
  color: #fff;
  text-decoration: none;
  line-height: 1;
  text-align: center;
  padding: 19px 31px;
  box-sizing: border-box;
  font-size: 17px;
  font-size: 1.7rem;
  letter-spacing: 0;
  border-radius: 3px;
  -webkit-transition: 0.3s;
  transition: 0.3s; }

.btnLarge01:hover {
  border-color: #10569a;
  background-color: #10569a;
  text-decoration: none; }

.btnLarge01 .linkInfo01 {
  color: #fff; }

.btnLarge01.btnBorderWhite01 {
  border: 1px solid rgba(255, 255, 255, 0.75); }

/* ボタンM */
.btnMedium01 {
  display: inline-block;
  position: relative;
  background-color: #0874c6;
  border: 1px solid #0874c6;
  color: #fff;
  text-decoration: none;
  line-height: 1;
  text-align: center;
  padding: 14px 20px;
  box-sizing: border-box;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0;
  border-radius: 3px;
  -webkit-transition: 0.3s;
  transition: 0.3s; }

.btnMedium01:hover {
  border-color: #10569a;
  background-color: #10569a;
  text-decoration: none; }

.btnMedium01 .linkInfo01 {
  color: #fff; }

.btnMedium01.btnBorderWhite01 {
  border: 1px solid rgba(255, 255, 255, 0.75); }

/* ボタンS */
.btnSmall01 {
  display: inline-block;
  position: relative;
  background-color: #0874c6;
  border: 1px solid #0874c6;
  color: #fff;
  text-decoration: none;
  line-height: 1;
  text-align: center;
  padding: 5px 11px;
  box-sizing: border-box;
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0;
  border-radius: 3px;
  -webkit-transition: 0.3s;
  transition: 0.3s; }

.btnSmall01:hover {
  border-color: #10569a;
  background-color: #10569a;
  text-decoration: none; }

/* 地図ボタン */
.cwrap .contents .btnMap {
  display: inline-block;
  position: relative;
  border-color: #005396;
  background-color: #005396;
  color: #fff;
  text-decoration: none;
  line-height: 1;
  text-align: center;
  padding: 6px 10px 6px 14px;
  box-sizing: border-box;
  font-size: 15px;
  letter-spacing: 0;
  border-radius: 3px;
  -webkit-transition: 0.3s;
  transition: 0.3s; }
  .cwrap .contents .btnMap a {
    color: #fff;
    text-decoration: none;
    font-size: 15px; }
    .cwrap .contents .btnMap a .window {
      background: url(../img/ico/ico-windowWhite.svg) right 6px no-repeat;
      padding: 0 16px 0 0;
      margin-left: 2px;
      margin-right: 0;
      image-rendering: pixelated; }
  .cwrap .contents .btnMap:hover {
    background-color: #138dba;
    text-decoration: none; }

/* 外部リンクボタン */
.btnWindow:after {
  content: "";
  position: absolute;
  top: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background: url(../img/ico/ico-windowPoint.svg) right 6px no-repeat; }

/* PDFリンクボタン */
.btnPdf:after {
  content: "";
  position: absolute;
  top: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/ico/ico-pdf.svg); }

/* Excelリンクボタン */
.btnXls:after {
  content: "";
  position: absolute;
  top: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/ico/ico-xls.png); }

/* ボタン（ライン＋矢印） */
.btnLine01 {
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: normal;
  letter-spacing: 0;
  color: #2c2c38;
  line-height: 1;
  text-align: left;
  text-decoration: none;
  padding: 20px 35px 20px 22px;
  border: 1px solid #bbbabf;
  border-radius: 3px;
  background-color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: block;
  position: relative; }

.btnLine01:before {
  content: "";
  width: 10px;
  height: 10px;
  background: url(/common/img/ico_arrow04.svg) 0 0/10px 10px no-repeat;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px; }

.btnLine01:hover {
  background-color: #f7f7f7;
  text-decoration: none; }

.btnLine01.btnMedium01 {
  font-size: 15px;
  font-size: 1.5rem;
  padding: 15px 35px 15px 22px; }

.btnLine01.btnMedium01:hover {
  border-color: #bbbabf; }

/* ボタン 背景色装飾 */
.btnAccentYellow {
  background-color: #f3bf47;
  border: 1px solid #f3bf47;
  color: #2c2c38; }

.btnAccentYellow:hover {
  background-color: #c89d3a;
  border: 1px solid #c89d3a; }

/*--------------------------------------------------------------------------
 記述リスト
---------------------------------------------------------------------------*/
dl.definition {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 1em; }
  dl.definition dt {
    width: 280px;
    padding: 10px;
    background: #eff5fc;
    margin: 0 1px 1px 0 !important; }
  dl.definition dd {
    width: calc(100% - 281px);
    padding: 10px;
    background: #f6f6f6;
    margin: 0 0 1px 0 !important; }

dl.definition.bgWhite dt, dl.definition.bgWhite dd {
  background: #FFF; }

dl.definition._w150px dt {
  width: 150px; }
dl.definition._w150px dd {
  width: calc(100% - 151px); }

dl.nowrapBlock {
  margin-bottom: 1em; }
  dl.nowrapBlock dt {
    float: left;
    padding-right: 10px; }
  dl.nowrapBlock dd {
    overflow: hidden;
    zoom: 1; }

.nowrapBlock {
  overflow: hidden; }

dl.expColon dd {
  text-indent: -1em;
  padding-left: 1.3em; }

dl.expColon dd::before {
  content: "："; }

dl.dl-line {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 1em; }
  dl.dl-line dt:first-of-type {
    border-top: 1px solid #005396; }
  dl.dl-line dt {
    width: 13em;
    padding: 20px 15px;
    margin: 0 !important;
    border-bottom: 1px solid #005396;
    color: #005396; }
  dl.dl-line dd:first-of-type {
    border-top: 1px solid #cccccc; }
  dl.dl-line dd {
    width: calc(100% - 13em);
    padding: 20px 15px;
    margin: 0 !important;
    border-bottom: 1px solid #cccccc; }

dl.dl-line._phCol2 dt {
  width: 13em;
  padding: 25px 15px; }
dl.dl-line._phCol2 dd {
  width: calc(100% - 13em);
  padding: 25px 15px; }

@media all and (max-width: 1224px) {
  dl.definition dt, dl.definition dd, dl.definition._w150px dt, dl.definition._w150px dd {
    width: 100%;
    margin: 0 0 1px 0 !important; }

  dl.nowrapBlock {
    width: 100%; }
    dl.nowrapBlock dt {
      float: none;
      padding-right: 0;
      margin-bottom: 5px !important;
      width: 100% !important; }

  dl.expColon dd {
    text-indent: 0;
    padding-left: 5px; }

  dl.expColon dd::before {
    content: ""; } }
dl.definition.withFrame dt {
  padding: 15px;
  border: 1px solid #c1c1c1;
  background: #eff5fc; }
dl.definition.withFrame dd {
  padding: 15px;
  border: 1px solid #c1c1c1;
  background: #FFF; }

.addmap li {
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  /*padding: 15px;*/
  border-bottom: 1px dotted #c1c1c1;
  min-height: 100px; }
  .addmap li .add {
    width: calc(100% - 120px); }
  .addmap li .map {
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end; }
    .addmap li .map a {
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 100px;
      height: 40px;
      border: 1px solid #e2e0df;
      color: #000 !important;
      text-align: center;
      -moz-border-radius: 40px;
      -webkit-border-radius: 40px;
      border-radius: 40px;
      font-size: 90% !important;
      -webkit-transition: 0.2s ease-in-out;
      transition: 0.2s ease-in-out;
      background: url("../img/ico/ico-windowPoint.svg") no-repeat;
      background-position: right 20px center;
      padding-right: 20px; }
    .addmap li .map a:hover {
      text-decoration: none;
      background-color: #e2e0df;
      color: #000 !important; }
  .addmap li .map.mapImg a {
    width: auto;
    min-width: 100px;
    background: none;
    padding-right: 5px;
    padding-left: 5px;
    white-space: nowrap; }
  .addmap li .map.mapImg a:hover {
    text-decoration: none;
    background-color: #e2e0df;
    color: #000 !important; }
.addmap li:last-child {
  margin-bottom: 0;
  border-bottom: none; }

@media all and (min-width: 1225px) {
  dl.definition.withFrame dt {
    margin: -1px 0 0 0 !important; }
  dl.definition.withFrame dd {
    margin: -1px 0 0 -1px !important; }

  .addmap li {
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    /*padding: 15px;*/
    padding: 15px 0; } }
@media all and (max-width: 1224px) {
  dl.definition.withFrame dt {
    border-bottom: none;
    margin: -1px 0 0 0 !important; }
  dl.definition.withFrame dd {
    border-top: none;
    margin: -1px 0 0 0 !important; } }
@media all and (max-width: 799px) {
  dl.definition.withFrame dt {
    padding: 10px; }
  dl.definition.withFrame dd {
    padding: 10px; }

  .addmap li {
    display: block;
    /*padding: 10px;*/
    padding: 10px 0; }
    .addmap li .add {
      width: 100%; }
    .addmap li .map {
      margin-top: 10px; }

  dl.dl-line dt {
    width: 100%;
    padding: 4px 5px 4px 5px;
    margin: 0 !important;
    border-bottom: none;
    background: #f4f8fc;
    font-weight: bold;
    font-size: 90%;
    color: #333; }
  dl.dl-line dt:first-of-type {
    border-top: 1px solid #cccccc; }
  dl.dl-line dd {
    width: 100%;
    padding: 0.75em 5px 1em 5px;
    margin: 0 !important;
    border-bottom: 1px solid #cccccc;
    line-height: 1.5; }
  dl.dl-line dd:first-of-type {
    border-top: none; }

  dl.dl-line._phCol2 dt {
    width: 10em;
    padding: 0.75em 5px;
    border-bottom: 1px solid #138dba;
    font-weight: normal;
    color: #000;
    font-size: 16px !important;
    background: none; }
  dl.dl-line._phCol2 dt:first-of-type {
    border-top: 1px solid #138dba; }
  dl.dl-line._phCol2 dd {
    width: calc(100% - 10em);
    padding: 0.75em 5px;
    font-size: 16px !important; }
  dl.dl-line._phCol2 dd:first-of-type {
    border-top: 1px solid #858585; } }
/*--------------------------------------------------------------------------
 flow-arrow（右向き）
---------------------------------------------------------------------------*/
.col._col2._arrowFlow > figure {
  width: calc(50% - 25px);
  position: relative; }

.boxCol3._arrowFlow > dl, .boxCol3._arrowFlow > div {
  width: calc(33% - 25px);
  margin: 0 0 8px 0;
  padding: 10px;
  position: relative; }

.boxCol3._arrowFlow > dl:nth-child(3n+2), .boxCol3._arrowFlow > div:nth-child(3n+2) {
  margin: 0 35px 8px 35px; }

.col._col2._arrowFlow > figure::after,
.boxCol3._arrowFlow > dl::after, .boxCol3._arrowFlow > div::after {
  position: absolute;
  bottom: auto;
  left: auto;
  /*position: absolute;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;*/
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  /*border-top: 2px solid #000;
  border-right: 2px solid #000;*/
  content: "";
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 20px;
  height: 20px;
  border-top: 3px solid #c1c1c1;
  border-right: 3px solid #c1c1c1; }

.col._col2._arrowFlow > figure::after {
  top: calc(50% - 20px);
  right: -26px; }

.boxCol3._arrowFlow > dl::after, .boxCol3._arrowFlow > div::after {
  top: calc(50% - 20px);
  right: -22px; }

.col._col2._arrowFlow > figure:last-child::after,
.boxCol3._arrowFlow > dl:last-child::after, .boxCol3._arrowFlow > div:last-child::after {
  position: static;
  display: block;
  width: auto;
  height: auto;
  margin: auto;
  border-top: none;
  border-right: none;
  content: "";
  -ms-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg); }

@media all and (max-width: 799px) {
  .boxCol3._arrowFlow > dl, .boxCol3._arrowFlow > div,
  .boxCol3._arrowFlow > dl:nth-child(3n+2), .boxCol3._arrowFlow > div:nth-child(3n+2) {
    width: 100%;
    margin: 0 0 35px 0; }

  .boxCol3._arrowFlow > dl::after, .boxCol3._arrowFlow > div::after {
    top: auto;
    right: auto;
    bottom: -22px;
    left: calc(50% - 20px);
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg); } }
/*--------------------------------------------------------------------------
 flow-arrowBtm（下向き）
---------------------------------------------------------------------------*/
.flow-arrowBtm {
  position: relative;
  padding-bottom: 45px;
  margin-bottom: 10px !important; }

.flow-arrowBtm::after {
  position: absolute;
  left: calc(50% - 40px);
  top: auto;
  right: auto;
  bottom: 0;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 35px 40px 0 40px;
  border-color: #c1c1c1 transparent transparent transparent;
  content: "";
  margin: auto; }

/*--------------------------------------------------------------------------
 background / border color
---------------------------------------------------------------------------*/
.bgGray, tr.bgGray th, tr.bgGray td {
  background: #f6f6f6 !important; }

.bgPoint, tr.bgPoint th, tr.bgPoint td {
  background: #eff5fc !important; }

.bgWhite, tr.bgWhite th, tr.bgWhite td {
  background: #ffffff !important; }

.bgLightBlue, tr.bgLightBlue th, tr.bgLightBlue td {
  background: #eff5fc !important; }

.bgLightGreen, tr.bgLightGreen th, tr.bgLightGreen td {
  background: #f4faf2 !important; }

.bgColorLink, tr.bgColorLink th, tr.bgColorLink td {
  background: #138dba !important; }

.bgMOLBlue, tr.bgMOLBlue th, tr.bgMOLBlue td {
  background: #005396 !important; }

.bgLightPink, tr.bgLightPink th, tr.bgLightPink td {
  background: #fef9ff !important; }

.bgYellow, tr.bgYellow th, tr.bgYellow td {
  background: #fffed5 !important; }

.bdGray {
  border: 1px solid #c1c1c1; }

.bdLightBlue {
  border: 1px solid #b2e6f9; }

.bdMOLBlue {
  border: 1px solid #005396; }

.bdGray-dot {
  border: 1px dotted #c1c1c1; }

._bdBold {
  border-width: 3px; }

/*--------------------------------------------------------------------------
  txt
---------------------------------------------------------------------------*/
.txt-normal {
  font-weight: normal !important;
  font-size: 100% !important;
  color: #000; }

.txtWhite {
  color: #FFF !important; }

.txtRed {
  color: #CF0000 !important; }

.txtPoint {
  color: #00a0dc !important; }

.txtGray {
  color: #cccccc !important; }

.txtNavy {
  color: #30468c !important; }

.txtColorLink {
  color: #138dba !important; }

.txt-bold {
  font-weight: bold !important; }

small, .txtSmall {
  font: inherit;
  font-size: 85% !important; }

.txtSmall02 {
  font: inherit;
  font-size: 70% !important; }

.txtSmall span.pdf {
  background-size: 12px auto; }

.txtSmall span.xls {
  background-size: 12px auto; }

.txtBig {
  font: inherit;
  font-size: 130% !important; }

.txtBig2 {
  font: inherit;
  font-size: 140% !important; }

.txtR {
  text-align: right !important; }

.txtL {
  text-align: left !important; }

.txtC {
  text-align: center !important; }

.txt-rl {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl; }

.exp01 {
  text-indent: -1em;
  padding-left: 1em; }

.exp01b {
  text-indent: -1.5em;
  padding-left: 1.5em; }

.exp02 {
  text-indent: -2.1em;
  padding-left: 2em; }

.exp02b {
  text-indent: -2.6em;
  padding-left: 2.5em; }

.exp03 {
  text-indent: -3.1em;
  padding-left: 3em; }

.exp04 {
  text-indent: -4.1em;
  padding-left: 4em; }

.txt-spacing0 {
  letter-spacing: 0 !important; }

.txt-oblique, em {
  font-style: oblique !important;
  font: inherit; }

.txt-underline {
  text-decoration: underline; }

.nowrap {
  white-space: nowrap; }

.break {
  word-break: break-all; }

.alignC {
  vertical-align: middle; }

._align-hc {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

/*--------------------------------------------------------------------------
  line
---------------------------------------------------------------------------*/
.line {
  border-bottom: 1px solid #c1c1c1; }

.line-dot {
  position: relative; }

.line-dot::after {
  position: absolute;
  left: 0;
  bottom: -6px;
  content: "";
  width: 100%;
  height: 1px;
  background-image: -webkit-linear-gradient(left, #4d4d4d 20%, transparent 21%);
  background-image: -o-linear-gradient(left, #4d4d4d 20%, transparent 21%);
  background-image: linear-gradient(to right, #4d4d4d 20%, transparent 21%);
  background-size: 5px 1px; }

/*--------------------------------------------------------------------------
 項目見出し（cIndex）
---------------------------------------------------------------------------*/
.cwrap .contents .boxCol2.cIndex > li a:hover figcaption {
  text-decoration: none; }

.boxCol2.cIndex {
  margin-top: 1em; }
  .boxCol2.cIndex li a {
    color: #000;
    display: block; }
    .boxCol2.cIndex li a figure {
      overflow: hidden;
      position: relative;
      margin-bottom: 10px; }
      .boxCol2.cIndex li a figure img {
        width: 100%; }
      .boxCol2.cIndex li a figure .linkBg {
        position: absolute;
        left: 0;
        top: 0;
        background: #001c59;
        opacity: 0.2; }
      .boxCol2.cIndex li a figure .linkBg::after {
        position: absolute;
        left: 10px;
        top: 10px;
        content: "";
        border: 1px solid #ccc; }
      .boxCol2.cIndex li a figure figcaption {
        position: absolute;
        opacity: 1;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
        .boxCol2.cIndex li a figure figcaption p {
          min-width: 10em;
          min-height: 50px;
          border: none;
          color: #fff;
          font-weight: bold; }
          .boxCol2.cIndex li a figure figcaption p:hover {
            color: #dddfc5; }
  .boxCol2.cIndex li .ttl {
    text-align: center; }
  .boxCol2.cIndex li dl dt {
    text-align: center;
    margin-bottom: 6px; }
  .boxCol2.cIndex li dl dd {
    font-size: 80%;
    text-align: center; }

@media all and (min-width: 1225px) {
  .boxCol2.cIndex li {
    width: calc(50% - 20px);
    margin-bottom: 20px; }
    .boxCol2.cIndex li a figure {
      width: 100%;
      height: 220px; }
      .boxCol2.cIndex li a figure img {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
      .boxCol2.cIndex li a figure .linkBg {
        width: 100%;
        height: 220px;
        -webkit-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
      .boxCol2.cIndex li a figure .linkBg::after {
        width: calc(100% - 20px);
        height: calc(100% - 20px); }
      .boxCol2.cIndex li a figure figcaption {
        -webkit-transition: 0.2s ease-in-out;
        transition: 0.2s ease-in-out; }
        .boxCol2.cIndex li a figure figcaption p {
          font-size: 35px; }
    .boxCol2.cIndex li a:hover {
      text-decoration: none !important;
      color: #000; }
      .boxCol2.cIndex li a:hover figure img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1); }
      .boxCol2.cIndex li a:hover figure .linkBg {
        opacity: .5; }
      .boxCol2.cIndex li a:hover figure figcaption {
        text-align: center;
        text-decoration: none; } }
@media all and (max-width: 1224px) {
  .boxCol2.cIndex li {
    width: calc(50% - 20px);
    margin-bottom: 20px; }
    .boxCol2.cIndex li a figure {
      width: 100%;
      height: 160px; }
      .boxCol2.cIndex li a figure .linkBg {
        width: 100%;
        height: 160px; }
      .boxCol2.cIndex li a figure .linkBg::after {
        position: absolute;
        left: 10px;
        top: 10px;
        content: "";
        width: calc(100% - 20px);
        height: calc(100% - 20px); }
      .boxCol2.cIndex li a figure figcaption {
        text-align: center; }
        .boxCol2.cIndex li a figure figcaption p {
          font-size: 22px; }
    .boxCol2.cIndex li a:hover {
      text-decoration: none;
      color: #000; } }
@media all and (max-width: 799px) {
  .boxCol2.cIndex {
    display: flex; }
    .boxCol2.cIndex li {
      width: calc(50% - 20px);
      margin: 0 0 20px 0; }
      .boxCol2.cIndex li a figure {
        width: 100%;
        max-height: 130px; }
        .boxCol2.cIndex li a figure .linkBg {
          width: 100%;
          height: 100%; }
        .boxCol2.cIndex li a figure .linkBg::after {
          position: absolute;
          left: 5px;
          top: 5px;
          content: "";
          width: calc(100% - 10px);
          height: calc(100% - 10px); }
        .boxCol2.cIndex li a figure figcaption {
          margin: 0;
          line-height: 1; }
          .boxCol2.cIndex li a figure figcaption p {
            min-height: 1em;
            font-size: 30px;
            line-height: 1; } }
@media all and (max-width: 600px) {
  .boxCol2.cIndex li {
    width: 100%;
    margin: 0 auto 15px auto; }
    .boxCol2.cIndex li a figure {
      width: 100%;
      max-height: 100px; }
      .boxCol2.cIndex li a figure figcaption p {
        font-size: 24px; } }
@media all and (max-width: 499px) {
  .boxCol2.cIndex {
    display: flex;
    justify-content: space-between;
    text-align: center; }
    .boxCol2.cIndex li {
      width: 100%;
      margin: 0 auto 15px auto; }
      .boxCol2.cIndex li a figure {
        width: 100%;
        max-height: 120px; }
        .boxCol2.cIndex li a figure figcaption p {
          font-size: 24px; } }
/*--------------------------------------------------------------------------
 項目見出し（cIndexTitleBox）
---------------------------------------------------------------------------*/
.cwrap .contents .boxCol2.cIndexTitleBox > li a:hover figcaption {
  text-decoration: none; }

.boxCol2.cIndexTitleBox {
  margin-top: 1em; }
  .boxCol2.cIndexTitleBox li a {
    color: #000;
    display: block; }
    .boxCol2.cIndexTitleBox li a figure {
      overflow: hidden;
      position: relative;
      margin-bottom: 10px; }
      .boxCol2.cIndexTitleBox li a figure img {
        width: 100%; }
      .boxCol2.cIndexTitleBox li a figure .linkBg {
        position: absolute;
        left: 0;
        top: 0;
        background: #001c59;
        opacity: 0.01; }
      .boxCol2.cIndexTitleBox li a figure .linkBg::after {
        position: absolute;
        left: 10px;
        top: 10px;
        content: "";
        border: 1px solid #ccc; }
      .boxCol2.cIndexTitleBox li a figure figcaption {
        display: block;
        width: 100%;
        position: absolute;
        opacity: 1;
        bottom: 0;
        left: 0;
        text-align: left;
        background: rgba(0, 0, 0, 0.6);
        opacity: 0.9; }
        .boxCol2.cIndexTitleBox li a figure figcaption p {
          min-width: 10em;
          min-height: 30px;
          border: none;
          color: #fff;
          padding: 0.25em 0.25em 0.25em 0.5em;
          font-weight: bold; }
          .boxCol2.cIndexTitleBox li a figure figcaption p:hover {
            color: #dddfc5; }
  .boxCol2.cIndexTitleBox li .ttl {
    text-align: center; }
  .boxCol2.cIndexTitleBox li dl dt {
    text-align: center;
    margin-bottom: 6px; }
  .boxCol2.cIndexTitleBox li dl dd {
    font-size: 80%;
    text-align: center; }

.boxCol3.cIndexTitleBox {
  margin-top: 1em;
  justify-content: space-between; }
  .boxCol3.cIndexTitleBox > li a {
    color: #000;
    display: block; }
    .boxCol3.cIndexTitleBox > li a figure {
      overflow: hidden;
      position: relative;
      margin-bottom: 10px; }
      .boxCol3.cIndexTitleBox > li a figure img {
        width: 100%; }
      .boxCol3.cIndexTitleBox > li a figure .linkBg {
        position: absolute;
        left: 0;
        top: 0;
        background: #001c59;
        opacity: 0.01; }
      .boxCol3.cIndexTitleBox > li a figure .linkBg::after {
        position: absolute;
        left: 10px;
        top: 10px;
        content: "";
        border: 1px solid #ccc; }
      .boxCol3.cIndexTitleBox > li a figure figcaption {
        display: block;
        width: 100%;
        position: absolute;
        opacity: 1;
        bottom: 0;
        left: 0;
        text-align: left;
        background: rgba(0, 0, 0, 0.6);
        opacity: 0.9; }
        .boxCol3.cIndexTitleBox > li a figure figcaption p {
          min-width: 10em;
          min-height: 30px;
          border: none;
          color: #fff;
          padding: 0.25em 0.25em 0.25em 0.5em;
          font-weight: bold; }
          .boxCol3.cIndexTitleBox > li a figure figcaption p:hover {
            color: #dddfc5; }
  .boxCol3.cIndexTitleBox > li .additionalExp {
    text-align: left; }
    .boxCol3.cIndexTitleBox > li .additionalExp ul > li {
      font-size: 14px;
      line-height: 1.7;
      letter-spacing: 0; }
  .boxCol3.cIndexTitleBox > li .ttl {
    text-align: center; }
  .boxCol3.cIndexTitleBox > li dl dt {
    text-align: center;
    margin-bottom: 6px; }
  .boxCol3.cIndexTitleBox > li dl dd {
    font-size: 80%;
    text-align: center; }

@media all and (min-width: 1225px) {
  .boxCol2.cIndexTitleBox > li {
    width: calc(50% - 20px);
    /*col2*/
    margin-bottom: 20px; }
    .boxCol2.cIndexTitleBox > li a figure {
      width: 100%;
      height: 220px; }
      .boxCol2.cIndexTitleBox > li a figure img {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
      .boxCol2.cIndexTitleBox > li a figure .linkBg {
        width: 100%;
        height: 220px;
        -webkit-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
      .boxCol2.cIndexTitleBox > li a figure .linkBg::after {
        width: calc(100% - 20px);
        height: calc(100% - 20px); }
      .boxCol2.cIndexTitleBox > li a figure figcaption {
        -webkit-transition: 0.2s ease-in-out;
        transition: 0.2s ease-in-out; }
        .boxCol2.cIndexTitleBox > li a figure figcaption p {
          font-size: 18px; }
    .boxCol2.cIndexTitleBox > li a:hover {
      text-decoration: none !important;
      color: #000; }
      .boxCol2.cIndexTitleBox > li a:hover figure img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1); }
      .boxCol2.cIndexTitleBox > li a:hover figure .linkBg {
        opacity: .5; }
      .boxCol2.cIndexTitleBox > li a:hover figure figcaption {
        text-align: left;
        text-decoration: none; }

  .boxCol3.cIndexTitleBox::after {
    content: "";
    display: block;
    width: calc(33% - 20px); }
  .boxCol3.cIndexTitleBox::before {
    content: "";
    display: block;
    width: calc(33% - 20px);
    order: 1; }
  .boxCol3.cIndexTitleBox > li {
    width: calc(33% - 20px);
    margin-bottom: 20px; }
    .boxCol3.cIndexTitleBox > li a figure {
      width: 100%;
      height: 220px; }
      .boxCol3.cIndexTitleBox > li a figure img {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
      .boxCol3.cIndexTitleBox > li a figure .linkBg {
        width: 100%;
        height: 220px;
        -webkit-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
      .boxCol3.cIndexTitleBox > li a figure .linkBg::after {
        width: calc(100% - 20px);
        height: calc(100% - 20px); }
      .boxCol3.cIndexTitleBox > li a figure figcaption {
        -webkit-transition: 0.2s ease-in-out;
        transition: 0.2s ease-in-out; }
        .boxCol3.cIndexTitleBox > li a figure figcaption p {
          font-size: 18px; }
    .boxCol3.cIndexTitleBox > li a:hover {
      text-decoration: none !important;
      color: #000; }
      .boxCol3.cIndexTitleBox > li a:hover figure img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1); }
      .boxCol3.cIndexTitleBox > li a:hover figure .linkBg {
        opacity: .5; }
      .boxCol3.cIndexTitleBox > li a:hover figure figcaption {
        text-align: left;
        text-decoration: none; } }
@media all and (max-width: 1224px) {
  .boxCol2.cIndexTitleBox li {
    width: calc(50% - 20px);
    margin-bottom: 20px; }
    .boxCol2.cIndexTitleBox li a figure {
      width: 100%;
      height: 200px; }
      .boxCol2.cIndexTitleBox li a figure .linkBg {
        width: 100%;
        height: 200px;
        /*opacity: 0.2;*/ }
      .boxCol2.cIndexTitleBox li a figure .linkBg::after {
        position: absolute;
        left: 10px;
        top: 10px;
        content: "";
        width: calc(100% - 20px);
        height: calc(100% - 20px); }
      .boxCol2.cIndexTitleBox li a figure figcaption {
        text-align: left; }
        .boxCol2.cIndexTitleBox li a figure figcaption p {
          font-size: 22px;
          padding: 0.5em 0.25em 0.25em 0.5em; }
    .boxCol2.cIndexTitleBox li a:hover {
      text-decoration: none;
      color: #000; }

  .boxCol3.cIndexTitleBox > li {
    width: calc(50% - 20px);
    margin-bottom: 20px; }
    .boxCol3.cIndexTitleBox > li a figure {
      width: 100%;
      height: 200px; }
      .boxCol3.cIndexTitleBox > li a figure .linkBg {
        width: 100%;
        height: 200px;
        /*opacity: 0.2;*/ }
      .boxCol3.cIndexTitleBox > li a figure .linkBg::after {
        position: absolute;
        left: 10px;
        top: 10px;
        content: "";
        width: calc(100% - 20px);
        height: calc(100% - 20px); }
      .boxCol3.cIndexTitleBox > li a figure figcaption {
        text-align: left; }
        .boxCol3.cIndexTitleBox > li a figure figcaption p {
          font-size: 22px;
          padding: 0.5em 0.25em 0.5em 0.5em; }
    .boxCol3.cIndexTitleBox > li a:hover {
      text-decoration: none;
      color: #000; } }
@media all and (max-width: 799px) {
  .boxCol2.cIndexTitleBox {
    display: flex; }
    .boxCol2.cIndexTitleBox li {
      width: calc(50% - 20px);
      margin: 0 0 20px 0; }
      .boxCol2.cIndexTitleBox li a figure {
        width: 100%;
        height: 130px; }
        .boxCol2.cIndexTitleBox li a figure .linkBg {
          width: 100%;
          height: 100%; }
        .boxCol2.cIndexTitleBox li a figure .linkBg::after {
          position: absolute;
          left: 5px;
          top: 5px;
          content: "";
          width: calc(100% - 10px);
          height: calc(100% - 10px); }
        .boxCol2.cIndexTitleBox li a figure figcaption {
          margin: 0;
          line-height: 1; }
          .boxCol2.cIndexTitleBox li a figure figcaption p {
            min-height: 1em;
            font-size: 20px;
            line-height: 1; }

  .boxCol3.cIndexTitleBox {
    display: flex; }
    .boxCol3.cIndexTitleBox > li {
      width: calc(50% - 20px);
      margin: 0 0 20px 0; }
      .boxCol3.cIndexTitleBox > li a figure {
        width: 100%;
        height: 130px; }
        .boxCol3.cIndexTitleBox > li a figure .linkBg {
          width: 100%;
          height: 100%; }
        .boxCol3.cIndexTitleBox > li a figure .linkBg::after {
          position: absolute;
          left: 5px;
          top: 5px;
          content: "";
          width: calc(100% - 10px);
          height: calc(100% - 10px); }
        .boxCol3.cIndexTitleBox > li a figure figcaption {
          margin: 0;
          line-height: 1; }
          .boxCol3.cIndexTitleBox > li a figure figcaption p {
            min-height: 1em;
            font-size: 20px;
            line-height: 1; } }
@media all and (max-width: 600px) {
  .boxCol2.cIndexTitleBox li {
    width: 100%;
    margin: 0 auto 15px auto; }
    .boxCol2.cIndexTitleBox li a figure {
      width: 100%;
      height: 180px; }
      .boxCol2.cIndexTitleBox li a figure figcaption p {
        font-size: 18px; }

  .boxCol3.cIndexTitleBox > li {
    width: 100%;
    margin: 0 auto 15px auto; }
    .boxCol3.cIndexTitleBox > li a figure {
      width: 100%;
      height: 180px; }
      .boxCol3.cIndexTitleBox > li a figure figcaption p {
        font-size: 18px; } }
@media all and (max-width: 499px) {
  .boxCol2.cIndexTitleBox {
    display: flex;
    justify-content: space-between;
    text-align: center; }
    .boxCol2.cIndexTitleBox li {
      width: 100%;
      margin: 0 auto 15px auto; }
      .boxCol2.cIndexTitleBox li a figure {
        width: 100%;
        height: 150px; }
        .boxCol2.cIndexTitleBox li a figure figcaption {
          padding: 5px 0 5px 0; }
          .boxCol2.cIndexTitleBox li a figure figcaption p {
            font-size: 17px; }

  .boxCol3.cIndexTitleBox {
    display: flex;
    justify-content: space-between;
    text-align: center; }
    .boxCol3.cIndexTitleBox > li {
      width: 100%;
      margin: 0 auto 10px auto; }
      .boxCol3.cIndexTitleBox > li a figure {
        width: 100%;
        height: 190px; }
        .boxCol3.cIndexTitleBox > li a figure figcaption {
          padding: 5px 0 5px 0; }
          .boxCol3.cIndexTitleBox > li a figure figcaption p {
            font-size: 17px; } }
/*--------------------------------------------------------------------------
 imgBox
---------------------------------------------------------------------------*/
.imgBox li a {
  display: block;
  padding: 10px;
  background: #f6f6f6;
  display: -webkit-flex;
  display: flex;
  color: #000 !important;
  letter-spacing: 0.03em;
  /*font-family: $fontEn !important;*/
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out; }
  .imgBox li a figure {
    width: 100px;
    height: 135px;
    margin: 0 10px 0 0; }
  .imgBox li a .imgBoxTxt {
    width: calc(100% - 100px);
    margin-bottom: 0; }
    .imgBox li a .imgBoxTxt dt {
      padding-bottom: 5px;
      margin-bottom: 18px;
      position: relative;
      font-size: 90%; }
    .imgBox li a .imgBoxTxt dd {
      padding-bottom: 5px;
      margin-bottom: 18px;
      position: relative;
      font-size: 90%; }
    .imgBox li a .imgBoxTxt dd:last-child {
      margin-bottom: 0; }
    .imgBox li a .imgBoxTxt dt::after, .imgBox li a .imgBoxTxt dd::after {
      position: absolute;
      left: 0;
      bottom: -6px;
      content: "";
      width: 100%;
      height: 1px;
      background-image: -webkit-linear-gradient(left, #4d4d4d 20%, transparent 21%);
      background-image: -o-linear-gradient(left, #4d4d4d 20%, transparent 21%);
      background-image: linear-gradient(to right, #4d4d4d 20%, transparent 21%);
      background-size: 5px 1px; }
    .imgBox li a .imgBoxTxt dd:last-child::after {
      position: static;
      border: none; }
.imgBox li a:hover {
  background: #e2e0df;
  text-decoration: none !important; }

/*--------------------------------------------------------------------------
  iframe
---------------------------------------------------------------------------*/
.iframeBox {
  margin: 0 0 1em 0;
  width: 100%;
  padding-top: 56.25%;
  position: relative; }

.iframeBox iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important; }

/*--------------------------------------------------------------------------
 ギャラリー（slick）
---------------------------------------------------------------------------*/
/*画像の横幅を100%にしてレスポンシブ化*/
.gallery {
  margin: 0 0 5px 0; }
  .gallery li img {
    width: 100%;
    height: auto;
    vertical-align: bottom; }

/*矢印の設定*/
.slick-prev,
.slick-next {
  position: absolute;
  z-index: 3;
  top: 42%;
  cursor: pointer;
  outline: none;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  height: 25px;
  width: 25px; }

.slick-prev {
  left: 2%;
  transform: rotate(-135deg); }

.slick-next {
  right: 2%;
  transform: rotate(45deg); }

/*選択するサムネイル画像の設定*/
.slick-thumbnail {
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100% !important; }
  .slick-thumbnail li {
    cursor: pointer;
    background: #000;
    outline: none;
    width: 20% !important; }
    .slick-thumbnail li img {
      width: 100%;
      opacity: 0.5; }
  .slick-thumbnail li.slick-current img {
    opacity: 1; }

/*--------------------------------------------------------------------------
 timeline（沿革）
---------------------------------------------------------------------------*/
.timeline {
  margin: 30px 0 0 0;
  padding: 0;
  list-style: none;
  position: relative; }

.timeline:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #c9e4ff;
  left: 21px;
  margin-left: -10px; }

.timeline > li.breaktime:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10px;
  background: #c9e4ff;
  left: 95px;
  margin-left: -10px; }

.timeline > li.breaktime .tmlabel p.tm-span,
.timeline > li.breaktime .tmlabel p.tm-just {
  color: #888; }

.timeline > li.breaktime .tmlabel p.tm-span > span,
.timeline > li.breaktime .tmlabel p.tm-just > span {
  color: #333; }

.timeline > li {
  position: relative;
  margin-bottom: 0; }

.timeline > li .tmtime {
  display: block;
  width: 150px;
  padding-right: 50px;
  position: absolute;
  top: -8px; }

.timeline > li .tmtime-end {
  display: block;
  width: 150px;
  padding-right: 50px;
  position: absolute;
  bottom: -8px; }

.timeline > li .tmtime span {
  display: block; }

.timeline > li .tmtime span, .timeline > li .tmtime-end span {
  font-size: 90%;
  color: #ef7a00; }

.timeline > li .tmlabel {
  margin: 0 0 0 20px;
  padding: 2em 0 2em 2em;
  font-weight: 300;
  position: relative; }

#timeline {
  position: relative; }

.photoTate {
  width: 210px;
  height: 254px;
  margin: 0.5em 0 0.25em 0; }

#timeline > .timelinePhoto {
  position: absolute;
  top: 20em;
  right: 0;
  width: 319px;
  height: auto; }

#timeline > .timelinePhoto img {
  width: 319px;
  height: 190px;
  margin-bottom: 1.0em; }

.timeline > li .tmlabel p.tm-span {
  margin-bottom: 0;
  font-size: 85%;
  /*width: 50em;*/ }

.timeline > li .tmlabel p.tm-just {
  margin: -45px 0 2em -0.5em;
  line-height: 1.6; }

.timeline > li .tmlabel p.tm-just > .txt-year {
  font-weight: bold;
  font-size: 100%;
  color: #005396;
  letter-spacing: 0; }

.timeline > li .tmlabel p.tm-comment {
  margin-bottom: 2em;
  font-size: 100%;
  /*width: 50em;*/
  padding: 0 20px 20px 0;
  line-height: 1.7;
  position: absolute;
  top: -10px;
  left: 160px; }

.timeline > li .tmicon {
  width: 12px;
  height: 12px;
  line-height: 40px;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  color: #fff;
  /*background: $colorLink;*/
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 4px #c9e4ff;
  text-align: center;
  left: 7px;
  top: -2px;
  margin: 0 0 0 0; }

.timeline > li .tmicon-end {
  width: 14px;
  height: 14px;
  line-height: 40px;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  color: #fff;
  background: #ffab54;
  border-radius: 50%;
  box-shadow: 0 0 0 8px #c9e4ff;
  text-align: center;
  left: 107px;
  bottom: 0;
  margin: 0 0 0 -40px; }

@media screen and (max-width: 799px) {
  /*sp*/
  .timeline:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 6px;
    left: 15px;
    margin-left: -10px; }

  .timeline > li.breaktime:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 6px;
    background: #ecebeb;
    left: 60px;
    margin-left: -10px; }

  .timeline > li .tmtime span, .timeline > li .tmtime-end span {
    font-size: 95%; }

  .timeline > li .tmicon {
    width: 8px;
    height: 8px;
    position: absolute;
    left: 4px;
    top: 0;
    margin: 0 0 0 0;
    box-shadow: 0 0 0 5px #c9e4ff; }

  .timeline > li .tmicon-end {
    width: 8px;
    height: 8px;
    position: absolute;
    left: 88px;
    bottom: 0;
    margin: 0 0 0 -25px;
    box-shadow: 0 0 0 5px #c9e4ff; }

  .timeline > li .tmlabel {
    margin: 0 0 0 5px;
    padding: 2em 0 2em 2em;
    font-weight: 300;
    position: relative; }

  .timeline > li .tmlabel p.tm-just > .txt-year {
    font-size: 18px !important; }

  .timeline > li .tmlabel p.tm-span {
    font-size: 85%;
    width: 100%; }

  .timeline > li .tmlabel p.tm-just {
    font-size: 85%;
    margin: -42px 0 0.25em 0;
    width: 100%; }

  .timeline > li .tmtime {
    top: -10px; }

  .photoTate {
    width: 180px;
    height: 218px;
    margin: 0.5em 0 0.25em 0; }

  .timeline > li .tmlabel p.tm-comment {
    margin-bottom: 0;
    padding: 0 0 1em 0;
    /*background: #fff6e6;*/
    border-radius: 5px;
    position: static; }

  #timeline > .timelinePhoto {
    position: static;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-top: 2em; }

  #timeline > .timelinePhoto img {
    width: 48%;
    height: 100%;
    margin-bottom: 1.0em; }

  #interview .r-photo-m, .l-photo-m {
    float: none;
    width: 100%;
    height: auto;
    max-width: 100%;
    margin: 0 auto; } }
/*sp*/
@media screen and (max-width: 450px) {
  /*sp*/
  .timeline:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 6px;
    left: 15px;
    margin-left: -10px; }

  .timeline > li.breaktime:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 6px;
    background: #ecebeb;
    left: 60px;
    margin-left: -10px; }

  .timeline > li .tmtime span, .timeline > li .tmtime-end span {
    font-size: 95%; }

  .timeline > li .tmicon {
    width: 8px;
    height: 8px;
    position: absolute;
    left: 4px;
    top: 0;
    margin: 0 0 0 0;
    box-shadow: 0 0 0 5px #c9e4ff; }

  .timeline > li .tmicon-end {
    width: 8px;
    height: 8px;
    position: absolute;
    left: 88px;
    bottom: 0;
    margin: 0 0 0 -25px;
    box-shadow: 0 0 0 5px #c9e4ff; }

  .timeline > li .tmlabel {
    margin: 0 0 0 5px;
    padding: 2em 0 1em 2em;
    font-weight: 300;
    position: relative; }

  .timeline > li .tmlabel p.tm-just > .txt-year {
    font-size: 18px !important; }

  .timeline > li .tmlabel p.tm-span {
    font-size: 85%;
    width: 100%; }

  .timeline > li .tmlabel p.tm-just {
    font-size: 85%;
    margin: -42px 0 0.25em 0;
    width: 100%; }

  .timeline > li .tmtime {
    top: -10px; }

  .photoTate {
    width: 180px;
    height: 218px;
    margin: 0.5em 0 0.25em 0; }

  .timeline > li .tmlabel p.tm-comment {
    margin-bottom: 0;
    padding: 0 0 1em 0;
    /*background: #fff6e6;*/
    border-radius: 5px;
    position: static; }

  #timeline > .timelinePhoto {
    position: static;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-top: 2em; }

  #timeline > .timelinePhoto img {
    width: 48%;
    height: 100%;
    margin-bottom: 1.0em; }

  #interview .r-photo-m, .l-photo-m {
    float: none;
    width: 100%;
    height: auto;
    max-width: 100%;
    margin: 0 auto; } }
/*sp*/
/*--------------------------------------------------------------------------
 bnrBox
---------------------------------------------------------------------------*/
.bnrBox {
  padding: 30px;
  margin: 0 0 2em 0;
  border: 1px dotted #cccccc; }
  .bnrBox a {
    opacity: 1.0; }
    .bnrBox a img {
      margin-top: 15px; }

@media all and (min-width: 1225px) {
  .bnrBox a {
    opacity: 1.0;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out; }
  .bnrBox a:hover {
    opacity: 0.7; } }
@media all and (max-width: 799px) {
  .bnrBox {
    padding: 15px; }
    .bnrBox a img {
      max-width: 200px; } }
/*--------------------------------------------------------------------------
 contact
---------------------------------------------------------------------------*/
div.contactForm {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 1px; }
  div.contactForm dt {
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 1px 0 0 !important; }
  div.contactForm dd {
    background: #f6f6f6 !important; }
  div.contactForm .boxCol2 ._col2Inner {
    margin-bottom: 0; }
  div.contactForm .boxCol2-Lphoto33 ._col2Inner {
    margin-bottom: 0; }
  div.contactForm .boxCol2-Rphoto33 ._col2Inner {
    margin-bottom: 0; }

@media all and (max-width: 799px) {
  div.contactForm dt {
    width: 100%;
    margin: 0 0 1px 0 !important; }
  div.contactForm .boxCol2 ._col2Inner:nth-child(2) {
    margin-top: 5px; }
  div.contactForm .boxCol2-Lphoto33 ._col2Inner:nth-child(2) {
    margin-top: 5px; }
  div.contactForm .boxCol2-Rphoto33 ._col2Inner:nth-child(2) {
    margin-top: 5px; } }
form.contact input, form.contact select, form.contact textarea {
  font-family: 'Segoe UI', 'NotoSans-Regular', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  padding: 5px;
  margin: 2px 0;
  width: 100%;
  border: none;
  outline: none;
  border: 1px solid #f6f6f6; }
form.contact label {
  white-space: nowrap; }
form.contact input[type=button], form.contact input[type=submit], form.contact input[type=reset] {
  cursor: pointer;
  width: 200px;
  height: 60px;
  margin-right: 5px;
  margin-left: 5px;
  background: -webkit-linear-gradient(white, #efefef);
  background: -o-linear-gradient(white, #efefef);
  background: linear-gradient(white, #efefef);
  border: 1px solid #FFF;
  outline: 1px solid #c1c1c1; }
form.contact input:focus, form.contact textarea:focus {
  border: 1px solid #00a0dc; }
form.contact input::placeholder {
  color: #c1c1c1; }
form.contact input::focus::placeholder {
  color: transparent; }
form.contact input[type=checkbox]#agree {
  width: 15px;
  height: 15px;
  margin: 2px 5px 0 0; }
form.contact input[type=submit]#confirm {
  background: #FFF;
  cursor: default; }
form.contact input[type=submit]#confirm.active {
  background: -webkit-linear-gradient(white, #efefef);
  background: -o-linear-gradient(white, #efefef);
  background: linear-gradient(white, #efefef);
  cursor: pointer; }

@media all and (min-width: 799px) {
  form.contact input[type=button]:hover, form.contact input[type=submit]:hover, form.contact input[type=reset]:hover {
    background: #FFF; }
  form.contact input[type=submit]#confirm.active:hover {
    background: #FFF; } }
@media all and (max-width: 799px) {
  form.contact input[type=button], form.contact input[type=submit], form.contact input[type=reset] {
    width: 40%; } }
/* IE8-11 */
@media screen\0  {
  form.contact input, form.contact select, form.contact textarea, form.contact dl.definition dd {
    font-family: 'Segoe UI', Meiryo UI, Meiryo UI, Meiryo, "メイリオ", sans-serif; } }
/*--------------------------------------------------------------------------
 callApi
---------------------------------------------------------------------------*/
div.callApiForm {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 1px; }
  div.callApiForm dt {
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 1px 0 0 !important; }
  div.callApiForm dd {
    background: #f6f6f6 !important; }
  div.callApiForm .boxCol2 ._col2Inner {
    margin-bottom: 0; }
  div.callApiForm .boxCol2-Lphoto33 ._col2Inner {
    margin-bottom: 0; }
  div.callApiForm .boxCol2-Rphoto33 ._col2Inner {
    margin-bottom: 0; }

@media all and (max-width: 799px) {
  div.callApiForm dt {
    width: 100%;
    margin: 0 0 1px 0 !important; }
  div.callApiForm .boxCol2 ._col2Inner:nth-child(2) {
    margin-top: 5px; }
  div.callApiForm .boxCol2-Lphoto33 ._col2Inner:nth-child(2) {
    margin-top: 5px; }
  div.callApiForm .boxCol2-Rphoto33 ._col2Inner:nth-child(2) {
    margin-top: 5px; } }
form.callApi table th {
  min-height: 40px; }
form.callApi table td {
  min-height: 40px; }
form.callApi input, form.callApi select, form.callApi textarea {
  font-family: 'Segoe UI', 'NotoSans-Regular', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  padding: 5px;
  margin: 2px 0;
  width: 100%;
  border: none;
  outline: none; }
form.callApi input[type="text"] {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 38px;
  padding: 6px;
  font-size: 16px;
  line-height: 32px;
  text-indent: 5px;
  transition: all .2s ease; }
form.callApi textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  padding: 6px;
  font-size: 16px;
  line-height: 32px;
  text-indent: 5px;
  transition: all .2s ease; }
form.callApi label {
  white-space: nowrap; }
form.callApi input[type=button], form.callApi input[type=submit], form.callApi input[type=reset] {
  cursor: pointer;
  width: 200px;
  height: 60px;
  margin-right: 5px;
  margin-left: 5px;
  background: -webkit-linear-gradient(white, #efefef);
  background: -o-linear-gradient(white, #efefef);
  background: linear-gradient(white, #efefef);
  border: 1px solid #FFF;
  outline: 1px solid #c1c1c1;
  color: #000; }
form.callApi input::placeholder {
  color: #c1c1c1; }
form.callApi input::focus::placeholder {
  color: transparent; }
form.callApi input[type=checkbox]#agree {
  width: 15px;
  height: 15px;
  margin: 2px 5px 0 0; }
form.callApi input[type=submit]#confirm {
  background: #FFF;
  cursor: default; }
form.callApi input[type=submit]#confirm.active {
  background: -webkit-linear-gradient(white, #efefef);
  background: -o-linear-gradient(white, #efefef);
  background: linear-gradient(white, #efefef);
  cursor: pointer; }

@media all and (min-width: 799px) {
  form.callApi input[type=button]:hover, form.callApi input[type=submit]:hover, form.callApi input[type=reset]:hover {
    background: #FFF; }
  form.callApi input[type=submit]#confirm.active:hover {
    background: #FFF; } }
@media all and (max-width: 799px) {
  form.callApi input[type=button], form.callApi input[type=submit], form.callApi input[type=reset] {
    width: 40%;
    color: #000; } }
/* IE8-11 */
@media screen\0  {
  form.callApi input, form.callApi select, form.callApi textarea, form.callApi dl.definition dd {
    font-family: 'Segoe UI', Meiryo UI, Meiryo UI, Meiryo, "メイリオ", sans-serif; } }
/*--------------------------------------------------------------------------
  clerfix
---------------------------------------------------------------------------*/
.clearNone {
  clear: none; }

.clear {
  clear: both; }

.cf,
.flexslider,
.tab,
.tab-nojs,
.aLinkBox,
.aLinkBox ._cIndexBox {
  min-height: 1%; }

.cf:after,
.flexslider:after,
.tab:after,
.tab-nojs:after,
.aLinkBox:after,
.aLinkBox ._cIndexBox:after {
  content: "";
  height: 0;
  clear: both;
  visibility: hidden;
  display: table;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0; }

* html .cf,
* html .flexslider,
* html .tab,
* html .tab-nojs,
* html .aLinkBox,
* html .aLinkBox ._cIndexBox {
  height: 1%; }

.cf,
.flexslider,
.tab,
.tab-nojs,
.aLinkBox,
.aLinkBox ._cIndexBox {
  display: block;
  zoom: 1; }

pre {
  font-size: 65% !important;
  width: 100% !important;
  border-radius: 2px !important;
  clear: both; }
