@charset "UTF-8";
/* CSS Document */
/* ======================================

フォント

====================================== */
/* ======================================

リセット・調整

====================================== */
html, body, div, p, span, ul, ol, li, table, th, td, h1, h2, h3, h4, h5, h6, a, form, input, textarea, dl, dt, dd, iframe, figure {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

* {
  box-sizing: border-box; }

body {
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  color: #333; }

a {
  text-decoration: none;
  cursor: pointer; }

a[href=""] {
  pointer-events: none; }

p {
  text-align: justify; }

img {
  display: block;
  max-width: 100%;
  border: 0; }

ol, ul {
  list-style: none; }

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

table th {
  font-weight: 700; }

#spMenu {
  display: none; }
  @media (max-width: 1200px) {
    #spMenu {
      display: block; } }
  #spMenu .menu-btn {
    position: fixed;
    top: -3px;
    right: 0px;
    width: 55px;
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1200; }
  #spMenu .menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1100;
    width: 100vw;
    height: auto;
    background: rgba(6, 10, 146, 0.9);
    backdrop-filter: blur(3px);
    transform: translateX(100vw);
    transition: transform 0.3s linear;
    padding-bottom: 30px; }
    #spMenu .menu ul#lang-sp {
      padding-top: 70px;
      display: flex;
      justify-content: center;
      gap: 1em; }
    #spMenu .menu.is-active {
      transform: translateX(0); }
    #spMenu .menu > .menu-2col {
      width: 100vw;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      font-size: 16px;
      padding: 20px 15px 30px;
      text-align: left;
      color: #fff;
      gap: 30px; }
      #spMenu .menu > .menu-2col > div h3 {
        font-size: 16px; }
        #spMenu .menu > .menu-2col > div h3 a {
          color: #fff; }
          #spMenu .menu > .menu-2col > div h3 a:hover {
            text-decoration: underline; }
      #spMenu .menu > .menu-2col > div ul {
        font-size: 14px;
        margin-bottom: 0.5em; }
        #spMenu .menu > .menu-2col > div ul li::before {
          content: "- "; }
        #spMenu .menu > .menu-2col > div ul li a {
          color: #fff; }
          #spMenu .menu > .menu-2col > div ul li a:hover {
            text-decoration: underline; }
    #spMenu .menu ul#header-func-sp {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      flex-wrap: wrap;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 2em; }
      #spMenu .menu ul#header-func-sp li {
        font-size: 15px; }
        #spMenu .menu ul#header-func-sp li a {
          color: #fff; }
          #spMenu .menu ul#header-func-sp li a img {
            display: initial;
            vertical-align: middle;
            margin-right: 0.5em;
            height: 20px;
            filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(74deg) brightness(108%) contrast(103%); }
        #spMenu .menu ul#header-func-sp li:last-child {
          font-size: 20px;
          text-align: center;
          color: #fff; }
          #spMenu .menu ul#header-func-sp li:last-child a {
            background: #fff;
            padding: 0.5em 1em;
            border-radius: 9999px;
            color: #060a92; }
            #spMenu .menu ul#header-func-sp li:last-child a img {
              height: 16px; }
          #spMenu .menu ul#header-func-sp li:last-child span {
            display: block;
            font-size: 11px;
            margin-top: 0.25em; }
  #spMenu .menu-item {
    width: 100%;
    height: auto;
    color: #333;
    box-sizing: border-box;
    border-bottom: 1px solid #000; }
    #spMenu .menu-item img {
      width: 40px;
      margin-left: auto; }
  #spMenu .fa {
    font-size: 24px; }
    #spMenu .fa.fa-times {
      color: #fff; }
  #spMenu a {
    color: #fff;
    text-decoration: none;
    text-align: center; }
    #spMenu a.current {
      font-weight: 700; }
    #spMenu a.btn-mail {
      background: #B56262;
      color: #fff;
      border-radius: 100px;
      padding: .5em 1.5em;
      border-bottom: 0;
      transition: .2s;
      margin-bottom: 10px; }
      #spMenu a.btn-mail:hover {
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }
      #spMenu a.btn-mail i {
        margin-right: 10px; }
    #spMenu a.btn-tel {
      background: #627FB2;
      color: #fff;
      border-radius: 100px;
      padding: .5em 1.5em;
      border-bottom: 0;
      transition: .2s; }
      #spMenu a.btn-tel:hover {
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }

.more {
  background: #060a92;
  color: #fff;
  font-size: 20px;
  display: block;
  line-height: 1.2;
  padding: 1em 3em;
  border-radius: 9999px;
  width: fit-content;
  margin: 2em auto 0;
  transition: 0.5s;
  border: 0;
  cursor: pointer; }
  @media screen and (max-width: 1000px) {
    .more {
      font-size: 15px;
      padding: 1em 2em; } }
  .more:hover {
    background: #080dc3;
    box-shadow: 0 0 5px rgba(51, 51, 51, 0.5); }

@media screen and (max-width: 1000px) {
  #container {
    padding: 0 15px; } }

header {
  padding-top: 50px; }
  @media screen and (max-width: 1000px) {
    header {
      padding-top: 10px; } }
  header .header-01 {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 1200px;
    margin: 0 auto 35px; }
    @media screen and (max-width: 1000px) {
      header .header-01 {
        width: 100%; } }
    header .header-01 a#logo {
      width: fit-content; }
      @media screen and (max-width: 1000px) {
        header .header-01 a#logo {
          margin: 0 auto; } }
      header .header-01 a#logo img {
        width: 265px; }
        @media screen and (max-width: 1000px) {
          header .header-01 a#logo img {
            width: 180px; } }
    header .header-01 ul#lang {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      justify-content: flex-end;
      gap: 1em;
      margin-bottom: 1em; }
      @media screen and (max-width: 1000px) {
        header .header-01 ul#lang {
          display: none; } }
      header .header-01 ul#lang li a {
        color: #333;
        transition: 0.5s; }
        header .header-01 ul#lang li a:hover {
          color: #060a92; }
    header .header-01 ul#header-func {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      align-items: baseline;
      gap: 2em; }
      @media screen and (max-width: 1000px) {
        header .header-01 ul#header-func {
          display: none; } }
      header .header-01 ul#header-func li {
        font-size: 15px; }
        header .header-01 ul#header-func li a {
          color: #333;
          transition: 0.5s; }
          header .header-01 ul#header-func li a:hover {
            color: #060a92; }
          header .header-01 ul#header-func li a img {
            display: initial;
            vertical-align: middle;
            margin-right: 0.5em;
            height: 20px; }
        header .header-01 ul#header-func li:last-child {
          font-size: 20px;
          text-align: center; }
          header .header-01 ul#header-func li:last-child a {
            background: #060a92;
            padding: 0.5em 1em;
            border-radius: 9999px;
            color: #fff; }
            header .header-01 ul#header-func li:last-child a img {
              height: 16px; }
          header .header-01 ul#header-func li:last-child span {
            display: block;
            font-size: 11px;
            margin-top: 0.25em; }
  header .header-02 {
    position: relative; }
    @media screen and (max-width: 1000px) {
      header .header-02 {
        display: none; } }
    header .header-02 ul#gNav {
      width: 1200px;
      margin: 0 auto;
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      height: 50px; }
      header .header-02 ul#gNav > li {
        width: 148px;
        font-size: 18px;
        transition: 0.5s;
        border-bottom: 4px solid #ccc;
        height: 40px; }
        header .header-02 ul#gNav > li:hover {
          border-bottom-color: #060a92; }
        header .header-02 ul#gNav > li > a {
          display: block;
          text-align: center;
          color: #333;
          transition: 0.5s; }
        header .header-02 ul#gNav > li .child {
          display: none;
          width: 100vw;
          background: #060a92;
          position: absolute;
          top: 40px;
          left: 0;
          padding: 3em 0;
          z-index: 5; }
          header .header-02 ul#gNav > li .child > .inner {
            width: 1200px;
            margin: 0 auto;
            display: flex;
            flex-wrap: nowrap;
            justify-content: space-between;
            justify-content: flex-start;
            align-items: center; }
            header .header-02 ul#gNav > li .child > .inner span.parent-name {
              font-size: 22px;
              padding-right: 3em;
              border-right: 1px solid #fff;
              color: #fff; }
            header .header-02 ul#gNav > li .child > .inner ul {
              font-size: 17px;
              display: flex;
              flex-wrap: nowrap;
              justify-content: space-between;
              padding: 0 3em 0;
              gap: 3em; }
              header .header-02 ul#gNav > li .child > .inner ul li a {
                display: flex;
                align-items: center;
                color: #fff; }
                header .header-02 ul#gNav > li .child > .inner ul li a::after {
                  content: "";
                  background-image: url("../images/circle-arrow-right-orange.svg");
                  background-repeat: no-repeat;
                  background-position: center;
                  background-size: cover;
                  margin-left: 0.5em;
                  width: 16px;
                  height: 16px; }

#important {
  width: 1200px;
  margin: 35px auto 50px; }
  @media screen and (max-width: 1000px) {
    #important {
      width: 100%;
      margin: 15px auto 15px; } }
  #important a {
    color: #333;
    text-decoration: underline; }
  #important table {
    width: 100%;
    display: block;
    border: 2px solid #c1272d; }
    @media screen and (max-width: 1000px) {
      #important table tr th, #important table tr td {
        display: block; } }
    #important table tr th {
      background: #c1272d;
      font-size: 20px;
      color: #fff;
      padding: 1em 3em; }
      @media screen and (max-width: 1000px) {
        #important table tr th {
          font-size: 14px;
          padding: 0.5em 1em; } }
    #important table tr td {
      font-size: 16px;
      padding: 1em 2em; }
      @media screen and (max-width: 1000px) {
        #important table tr td {
          font-size: 13px;
          padding: 0.5em 1em; } }

#slideshow {
  background: white;
  background: linear-gradient(0deg, white 0%, white 15%, #cceaff 15%, #cceaff 50%, #cceaff 85%, white 85%, white 100%);
  margin-bottom: 140px; }
  @media screen and (max-width: 1000px) {
    #slideshow {
      margin-bottom: 30px;
      margin-left: calc(-50vw + 50%);
      margin-right: calc(-50vw + 50%); } }
  #slideshow #slider {
    width: 1200px;
    margin: 0 auto; }
    @media screen and (max-width: 1000px) {
      #slideshow #slider {
        width: 100%; } }
    #slideshow #slider img {
      width: auto;
      height: auto;
      object-fit: cover;
      aspect-ratio: 2/1;
      border-radius: 20px; }
      @media screen and (max-width: 1000px) {
        #slideshow #slider img {
          border-radius: 0; } }

.slick-dots li button:before {
  font-size: 14px !important; }

#home-status {
  width: 1200px;
  margin: 0 auto;
  padding-bottom: 100px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between; }
  @media screen and (max-width: 1000px) {
    #home-status {
      width: 100%;
      flex-direction: column;
      gap: 30px;
      padding-bottom: 30px; } }
  #home-status #home-status-01 {
    width: 550px; }
    @media screen and (max-width: 1000px) {
      #home-status #home-status-01 {
        width: 100%; } }
    #home-status #home-status-01 h2 {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      align-items: baseline;
      font-size: 26px;
      color: #060a92;
      border-bottom: 2px solid #060a92;
      padding-bottom: 0.25em;
      margin-bottom: 1em; }
      @media screen and (max-width: 1000px) {
        #home-status #home-status-01 h2 {
          font-size: 18px; } }
      #home-status #home-status-01 h2 span {
        font-size: 16px;
        color: #333; }
        @media screen and (max-width: 1000px) {
          #home-status #home-status-01 h2 span {
            font-size: 12px; } }
    #home-status #home-status-01 p {
      font-size: 18px; }
      @media screen and (max-width: 1000px) {
        #home-status #home-status-01 p {
          font-size: 13px; } }
  #home-status #home-status-02 {
    width: 550px; }
    @media screen and (max-width: 1000px) {
      #home-status #home-status-02 {
        width: 100%; } }
    #home-status #home-status-02 ul {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      flex-direction: column;
      gap: 20px; }
      #home-status #home-status-02 ul li a {
        display: flex;
        height: 100px;
        color: #333;
        border-radius: 15px; }
        @media screen and (max-width: 1000px) {
          #home-status #home-status-02 ul li a {
            height: 60px; } }
        #home-status #home-status-02 ul li a span {
          font-size: 21px;
          align-self: center;
          padding-left: 2em; }
          @media screen and (max-width: 1000px) {
            #home-status #home-status-02 ul li a span {
              font-size: 15px;
              padding-left: 1.5em; } }
        #home-status #home-status-02 ul li a::before {
          background-position: center center;
          background-repeat: no-repeat;
          background-size: 58px 35px;
          width: 100px;
          border-radius: 15px 0 0 15px; }
          @media screen and (max-width: 1000px) {
            #home-status #home-status-02 ul li a::before {
              width: 60px;
              background-size: calc(58px * 0.6) calc(35px * 0.6); } }
      #home-status #home-status-02 ul li.home-status-btn-01 a {
        background: rgba(244, 5, 0, 0.2);
        transition: 0.5s; }
        #home-status #home-status-02 ul li.home-status-btn-01 a:hover {
          background: #f40500;
          color: #fff; }
        #home-status #home-status-02 ul li.home-status-btn-01 a:before {
          content: "";
          background-color: #f40500;
          background-image: url("../images/icon-ship.svg"); }
      #home-status #home-status-02 ul li.home-status-btn-02 a {
        background: rgba(112, 178, 77, 0.2);
        transition: 0.5s; }
        #home-status #home-status-02 ul li.home-status-btn-02 a:hover {
          background: #70b24d;
          color: #fff; }
        #home-status #home-status-02 ul li.home-status-btn-02 a:before {
          content: "";
          background-color: #70b24d;
          background-image: url("../images/icon-elevator.svg"); }

#home-information {
  padding: 100px 15px;
  background: rgba(186, 186, 186, 0.1); }
  @media screen and (max-width: 1000px) {
    #home-information {
      padding: 30px 15px;
      margin-left: calc(-50vw + 50%);
      margin-right: calc(-50vw + 50%); } }
  #home-information h2 {
    font-size: 26px;
    color: #060a92;
    text-align: center;
    margin-bottom: 2em; }
    @media screen and (max-width: 1000px) {
      #home-information h2 {
        font-size: 18px; } }
  #home-information #newslist {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    flex-direction: column;
    gap: 2em; }
    @media screen and (max-width: 1000px) {
      #home-information #newslist {
        width: 100%; } }
    #home-information #newslist li {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 2em; }
      @media screen and (max-width: 1000px) {
        #home-information #newslist li {
          flex-wrap: wrap;
          gap: 0.25em 1em; } }
      #home-information #newslist li span {
        font-size: 18px; }
        @media screen and (max-width: 1000px) {
          #home-information #newslist li span {
            font-size: 14px; } }
      #home-information #newslist li .date {
        width: fit-content; }
      #home-information #newslist li .cat {
        color: #fff;
        width: 7em;
        text-align: center;
        border-radius: 5px; }
        #home-information #newslist li .cat.cat-news {
          background: #f281c4; }
        #home-information #newslist li .cat.cat-campaign {
          background: #81b9ef; }
        #home-information #newslist li .cat.cat-topics {
          background: #81D328; }
      #home-information #newslist li .title {
        flex: 1; }
        @media screen and (max-width: 1000px) {
          #home-information #newslist li .title {
            flex: initial;
            width: 100%; } }
        #home-information #newslist li .title a {
          color: #333;
          text-decoration: underline;
          transition: 0.5s; }
          #home-information #newslist li .title a:hover {
            color: #666; }

#home-topics {
  padding: 100px 15px; }
  @media screen and (max-width: 1000px) {
    #home-topics {
      padding: 30px 0; } }
  #home-topics ul {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 60px; }
    @media screen and (max-width: 1000px) {
      #home-topics ul {
        width: 100%;
        gap: 20px; } }
    #home-topics ul::after {
      width: 360px;
      content: ""; }
    #home-topics ul li {
      width: 360px; }
      @media screen and (max-width: 1000px) {
        #home-topics ul li {
          width: 100%; } }
      #home-topics ul li img {
        border-radius: 20px; }
      #home-topics ul li span {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        font-size: 18px;
        margin-top: 0.5em; }
        @media screen and (max-width: 1000px) {
          #home-topics ul li span {
            font-size: 14px; } }
        #home-topics ul li span::after {
          content: "";
          background-image: url("../images/circle-arrow-right-orange.svg");
          background-repeat: no-repeat;
          background-position: center;
          background-size: cover;
          margin-left: 1em;
          width: 16px;
          height: 16px; }
      #home-topics ul li a {
        color: #333; }

#home-sns {
  padding: 100px 15px;
  background: url("../images/home-sns-bg.png") no-repeat center center;
  background-size: cover; }
  @media screen and (max-width: 1000px) {
    #home-sns {
      margin-left: calc(-50vw + 50%);
      margin-right: calc(-50vw + 50%);
      padding: 30px 15px; } }
  #home-sns h2 {
    color: #fff;
    text-align: center;
    font-size: 26px;
    margin-bottom: 2em;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 1000px) {
      #home-sns h2 {
        font-size: 18px;
        margin-bottom: 1em; } }
  #home-sns .inner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 700px;
    padding: 35px;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.7);
    margin: 0 auto; }
    @media screen and (max-width: 1000px) {
      #home-sns .inner {
        width: 100%;
        flex-direction: column;
        padding: 15px; } }
    #home-sns .inner .home-sns-01 {
      width: 303px; }
      @media screen and (max-width: 1000px) {
        #home-sns .inner .home-sns-01 {
          width: 100%;
          display: flex;
          flex-direction: column; } }
      #home-sns .inner .home-sns-01 a {
        display: block;
        margin-bottom: 15px; }
        @media screen and (max-width: 1000px) {
          #home-sns .inner .home-sns-01 a {
            width: fit-content;
            margin: 0 auto 15px; } }
        @media screen and (max-width: 1000px) {
          #home-sns .inner .home-sns-01 a img {
            max-width: 303px; } }
      #home-sns .inner .home-sns-01 p {
        font-size: 16px;
        line-height: 1.8; }
        @media screen and (max-width: 1000px) {
          #home-sns .inner .home-sns-01 p {
            order: -1;
            margin-bottom: 15px; } }
    #home-sns .inner .home-sns-02 {
      width: 303px; }
      @media screen and (max-width: 1000px) {
        #home-sns .inner .home-sns-02 {
          width: 100%; } }
      #home-sns .inner .home-sns-02 iframe {
        width: 303px;
        height: 500px;
        border-radius: 15px; }
        @media screen and (max-width: 1000px) {
          #home-sns .inner .home-sns-02 iframe {
            display: block;
            margin: 0 auto;
            height: 400px; } }

#home-sightseeing {
  padding: 100px 15px;
  background-size: auto auto;
  background-color: #cceaff;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 50px, #ebf6ff 50px, #ebf6ff 100px); }
  @media screen and (max-width: 1000px) {
    #home-sightseeing {
      background-image: repeating-linear-gradient(90deg, transparent, transparent 20px, #ebf6ff 20px, #ebf6ff 40px);
      margin-left: calc(-50vw + 50%);
      margin-right: calc(-50vw + 50%);
      padding: 30px 15px; } }
  #home-sightseeing .inner {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between; }
    @media screen and (max-width: 1000px) {
      #home-sightseeing .inner {
        width: 100%;
        flex-direction: column;
        gap: 30px; } }
  #home-sightseeing .home-spots {
    width: 550px; }
    @media screen and (max-width: 1000px) {
      #home-sightseeing .home-spots {
        width: 100%; } }
    #home-sightseeing .home-spots.home-spots-nagasaki h2 {
      color: #078b91;
      text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff; }
    #home-sightseeing .home-spots.home-spots-kumamoto h2 {
      color: #915607;
      text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff; }
    #home-sightseeing .home-spots h2 {
      position: relative;
      z-index: 2;
      font-family: ab-mayuminwalk, sans-serif;
      font-weight: 400;
      font-style: normal;
      font-size: 22px;
      font-weight: 700;
      margin-bottom: -1.7em;
      display: flex;
      align-items: center;
      letter-spacing: 0.2em;
      padding-left: 0.5em; }
      @media screen and (max-width: 1000px) {
        #home-sightseeing .home-spots h2 {
          font-size: 20px; } }
      #home-sightseeing .home-spots h2 span {
        font-size: 44px; }
        @media screen and (max-width: 1000px) {
          #home-sightseeing .home-spots h2 span {
            font-size: 36px; } }
    #home-sightseeing .home-spots ul {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 2em 2px; }
      @media screen and (max-width: 1000px) {
        #home-sightseeing .home-spots ul {
          gap: 1em 1px; } }
      #home-sightseeing .home-spots ul li {
        width: 274px;
        cursor: zoom-in; }
        @media screen and (max-width: 1000px) {
          #home-sightseeing .home-spots ul li {
            width: calc(50% - 1px); } }
        #home-sightseeing .home-spots ul li:nth-of-type(odd) img {
          border-radius: 10px 0 0 10px; }
        #home-sightseeing .home-spots ul li:nth-of-type(even) img {
          border-radius: 0 10px 10px 0; }
        #home-sightseeing .home-spots ul li img {
          aspect-ratio: 274/160;
          object-fit: cover; }
        #home-sightseeing .home-spots ul li span {
          font-size: 16px; }
          @media screen and (max-width: 1000px) {
            #home-sightseeing .home-spots ul li span {
              font-size: 13px; } }
        #home-sightseeing .home-spots ul li a {
          cursor: zoom-in; }
    #home-sightseeing .home-spots .more.more-nagasaki {
      background: #078b91; }
    #home-sightseeing .home-spots .more.more-kumamoto {
      background: #915607; }

#home-banners {
  padding: 100px 15px; }
  @media screen and (max-width: 1000px) {
    #home-banners {
      padding: 30px 15px; } }
  #home-banners ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 900px;
    margin: 0 auto;
    gap: 10px; }
    @media screen and (max-width: 1000px) {
      #home-banners ul {
        width: 100%; } }
    #home-banners ul li {
      width: calc((100% - 30px)/4); }
      @media screen and (max-width: 1000px) {
        #home-banners ul li {
          width: calc((100% - 10px)/2); } }
    #home-banners ul::before {
      width: calc((100% - 30px)/4);
      content: "";
      order: 1; }
    #home-banners ul::after {
      width: calc((100% - 30px)/4);
      content: "";
      order: 2; }

footer {
  background: #060a92;
  color: #fff;
  padding: 50px 15px; }
  @media screen and (max-width: 1000px) {
    footer {
      padding: 30px 15px;
      margin-left: calc(-50vw + 50%);
      margin-right: calc(-50vw + 50%); } }
  footer .inner {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    justify-content: flex-start;
    gap: 150px; }
    @media screen and (max-width: 1000px) {
      footer .inner {
        width: 100%;
        flex-direction: column;
        gap: 30px; } }
  footer .footer-01 {
    width: 500px; }
    @media screen and (max-width: 1000px) {
      footer .footer-01 {
        width: 100%; } }
    footer .footer-01 h2 {
      font-size: 20px;
      margin-bottom: 1em; }
      @media screen and (max-width: 1000px) {
        footer .footer-01 h2 {
          text-align: center;
          font-size: 16px; } }
    footer .footer-01 .terminals {
      width: 500px;
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between; }
      @media screen and (max-width: 1000px) {
        footer .footer-01 .terminals {
          width: 100%;
          gap: 10px; } }
      footer .footer-01 .terminals div {
        width: 237px; }
        footer .footer-01 .terminals div img {
          border-radius: 10px;
          margin-bottom: 1em;
          aspect-ratio: 3/2;
          object-fit: cover; }
        footer .footer-01 .terminals div h3 {
          font-size: 16px;
          line-height: 1.2;
          margin-bottom: 0.5em; }
          @media screen and (max-width: 1000px) {
            footer .footer-01 .terminals div h3 {
              font-size: 14px; } }
        footer .footer-01 .terminals div span {
          display: block;
          font-size: 12px;
          line-height: 1.5; }
          @media screen and (max-width: 1000px) {
            footer .footer-01 .terminals div span {
              font-size: 10px; } }
  footer .footer-02 {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 100px; }
    @media screen and (max-width: 1000px) {
      footer .footer-02 {
        display: none; } }
    footer .footer-02 div h3 {
      font-size: 16px; }
      footer .footer-02 div h3 a {
        color: #fff; }
        footer .footer-02 div h3 a:hover {
          text-decoration: underline; }
    footer .footer-02 div ul {
      font-size: 14px;
      margin-bottom: 0.5em; }
      footer .footer-02 div ul li::before {
        content: "- "; }
      footer .footer-02 div ul li a {
        color: #fff; }
        footer .footer-02 div ul li a:hover {
          text-decoration: underline; }

#copyright {
  padding: 1em 15px;
  text-align: center; }
  #copyright span {
    font-size: 12px;
    color: #666; }
    @media screen and (max-width: 1000px) {
      #copyright span {
        font-size: 10px; } }

.tooltip {
  position: absolute;
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 10px;
  border-radius: 5px;
  display: none;
  max-width: 200px;
  font-size: 14px;
  z-index: 1000; }

.tooltip span {
  word-wrap: break-word; }

#sub #title {
  padding: 60px 15px;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 1000px) {
    #sub #title {
      padding: 30px 15px;
      margin-left: calc(-50vw + 50%);
      margin-right: calc(-50vw + 50%); } }
  #sub #title::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    /* 半透明の黒 */
    filter: blur(0); }
  #sub #title::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    filter: blur(0px); }
  #sub #title.title-flow::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title.title-route::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title.title-fee::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title.title-terminal-taira::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title.title-terminal-nagasu::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title.title-sightseeing-nagasaki::before {
    background: url("https://www.ariake-ferry.com/wp-content/uploads/2015/05/96abba0e280763d8f64e65c32a55f9d9.jpg") no-repeat center center/cover; }
  #sub #title.title-sightseeing-kumamoto::before {
    background: url("https://www.ariake-ferry.com/wp-content/uploads/2015/05/8c894d9e549b8acecf87c2f6e6f97c0f1.jpg") no-repeat center center/cover; }
  #sub #title.title-faq::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title.title-ships::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title.title-miryoku::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title.title-recruit::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title.title-information::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title.title-outline::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title.title-contact::before {
    background: url("../images/mainimg.png") no-repeat center center/cover; }
  #sub #title h1 {
    position: relative;
    z-index: 3;
    color: #fff;
    text-align: center;
    font-size: 50px;
    line-height: 1.5; }
    @media screen and (max-width: 1000px) {
      #sub #title h1 {
        font-size: 25px; } }
    #sub #title h1 span {
      display: block;
      font-size: 24px; }
      @media screen and (max-width: 1000px) {
        #sub #title h1 span {
          font-size: 16px; } }
#sub #sub-content {
  padding: 100px 15px;
  margin: 0 auto;
  font-size: 16px; }
  @media screen and (max-width: 1000px) {
    #sub #sub-content {
      padding: 30px 0px; } }
  #sub #sub-content.sub-1100 {
    width: 1100px; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content.sub-1100 {
        width: 100%; } }
  #sub #sub-content.sub-800 {
    width: 800px; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content.sub-800 {
        width: 100%; } }
  #sub #sub-content .sub-2col {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 50px; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content .sub-2col {
        flex-direction: column;
        gap: 30px; } }
    #sub #sub-content .sub-2col .col {
      flex: 1; }
      #sub #sub-content .sub-2col .col h3:not(:first-of-type) {
        margin-top: 50px; }
        @media screen and (max-width: 1000px) {
          #sub #sub-content .sub-2col .col h3:not(:first-of-type) {
            margin-top: 20px; } }
  #sub #sub-content .sub-3col {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 50px; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content .sub-3col {
        flex-direction: column;
        gap: 30px; } }
    #sub #sub-content .sub-3col .col {
      flex: 1; }
      #sub #sub-content .sub-3col .col h2 {
        font-size: 20px;
        margin-bottom: 1em; }
      #sub #sub-content .sub-3col .col h3 {
        font-size: 16px; }
      #sub #sub-content .sub-3col .col h3:not(:first-of-type) {
        margin-top: 50px; }
        @media screen and (max-width: 1000px) {
          #sub #sub-content .sub-3col .col h3:not(:first-of-type) {
            margin-top: 20px; } }
      #sub #sub-content .sub-3col .col h4 {
        font-size: 16px; }
  #sub #sub-content .sub-2col-terminal {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 50px; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content .sub-2col-terminal {
        flex-direction: column;
        gap: 30px; } }
    #sub #sub-content .sub-2col-terminal .col.col-1 {
      width: 300px; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content .sub-2col-terminal .col.col-1 {
          width: 100%; } }
    #sub #sub-content .sub-2col-terminal .col.col-2 {
      flex: 1; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content .sub-2col-terminal .col.col-2 {
          flex: initial;
          width: 100%; } }
  #sub #sub-content .sub-cols-marginTop {
    margin-top: 50px; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content .sub-cols-marginTop {
        margin-top: 30px; } }
  #sub #sub-content .col *:first-child {
    margin-top: 0; }
  #sub #sub-content h2 {
    font-size: 26px;
    background: #cceaff;
    border-left: 10px solid #060a92;
    border-radius: 10px;
    padding: 0.5em 1em 0.5em 1em;
    margin-bottom: 50px; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content h2 {
        font-size: 18px;
        margin-bottom: 15px;
        line-height: 1.2; } }
    #sub #sub-content h2.marginTop {
      margin-top: 50px; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content h2.marginTop {
          margin-top: 50px; } }
    #sub #sub-content h2 span {
      color: #c1272d;
      font-size: 16px; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content h2 span {
          font-size: 12px; } }
    #sub #sub-content h2#time-30m {
      border-left-color: #73a800;
      background: rgba(115, 168, 0, 0.15); }
    #sub #sub-content h2#time-1h {
      border-left-color: #41a5c4;
      background: rgba(65, 165, 196, 0.15); }
    #sub #sub-content h2#time-2h {
      border-left-color: #276191;
      background: rgba(39, 97, 145, 0.15); }
    #sub #sub-content h2#time-3h {
      border-left-color: #6d326d;
      background: rgba(109, 50, 109, 0.15); }
    #sub #sub-content h2 + h3 {
      margin-top: 0; }
  #sub #sub-content h3 {
    font-size: 20px;
    background: #dddddd;
    border-radius: 10px;
    margin-bottom: 1em;
    padding: 0.5em 1em 0.5em 1em; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content h3 {
        font-size: 16px;
        margin-top: 20px; } }
    #sub #sub-content h3.marginTop {
      margin-top: 50px; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content h3.marginTop {
          margin-top: 20px; } }
  #sub #sub-content h4 {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    font-size: 18px;
    margin-bottom: 1em; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content h4 {
        font-size: 14px; } }
    #sub #sub-content h4::before {
      display: block;
      content: "";
      background: #ddd;
      width: 6px;
      margin-right: 12px;
      border-radius: 6px; }
    #sub #sub-content h4.marginTop {
      margin-top: 50px; }
  #sub #sub-content p {
    font-size: 100%;
    margin-bottom: 1em; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content p {
        font-size: 85%; } }
    #sub #sub-content p.red {
      color: #c1272d; }
    #sub #sub-content p.border {
      border: 1px solid #b3b3b3;
      border-radius: 2px;
      padding: 0.5em 1em; }
    #sub #sub-content p.redborder {
      border: 1px solid #c1272d;
      color: #c1272d;
      border-radius: 2px;
      padding: 2em 1em; }
    #sub #sub-content p.smaller {
      font-size: 85%; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content p.smaller {
          font-size: 70%; } }
    #sub #sub-content p.centering {
      text-align: center; }
    #sub #sub-content p.larger {
      font-size: 120%; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content p.larger {
          font-size: 105%; } }
    #sub #sub-content p.marginTop {
      margin-top: 50px; }
    #sub #sub-content p.terminal-name {
      font-size: 21px;
      margin-bottom: 0; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content p.terminal-name {
          font-size: 17px; } }
    #sub #sub-content p.terminal-info {
      font-size: 16px; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content p.terminal-info {
          font-size: 13px;
          margin-bottom: 0 !important; } }
    #sub #sub-content p.bg-gray {
      background: #eee;
      padding: 1.5em;
      border-radius: 10px; }
    #sub #sub-content p.postdate {
      border: 1px solid #333;
      padding: 0.25em 1em;
      width: fit-content;
      font-size: 90%;
      margin-bottom: 2em; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content p.postdate {
          font-size: 80%; } }
    #sub #sub-content p strong {
      color: #c1272d; }
    #sub #sub-content p a {
      color: #bb720a;
      text-decoration: underline; }
      #sub #sub-content p a::after {
        display: inline-block;
        content: "";
        background-image: url("../images/circle-arrow-right-orange.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        margin-left: 0.5em;
        vertical-align: text-top;
        width: 16px;
        height: 16px; }
  #sub #sub-content a.tel-btn {
    display: block;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.25em;
    font-size: 36px;
    color: #fff;
    background: #060a92;
    border-radius: 9999px;
    padding: 0 1.5em;
    justify-content: center;
    width: fit-content;
    margin: 2em auto 0.25em; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content a.tel-btn {
        font-size: 20px;
        margin-top: 1em; } }
    #sub #sub-content a.tel-btn img {
      height: 30px; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content a.tel-btn img {
          font-size: 20px; } }
  #sub #sub-content a.yoyaku {
    display: block;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    font-size: 21px;
    border-radius: 15px;
    padding: 10px 10px 10px 2em;
    color: #fff;
    background: #c1272d; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content a.yoyaku {
        font-size: 16px;
        padding-left: 1em; } }
    #sub #sub-content a.yoyaku img {
      width: 80px;
      aspect-ratio: 1/1; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content a.yoyaku img {
          width: 60px; } }
  #sub #sub-content a.back {
    display: block;
    width: fit-content;
    font-size: 21px;
    background: #060a92;
    color: #fff;
    text-align: center;
    padding: 0.5em 3em;
    border-radius: 9999px;
    margin: 100px auto 0; }
  #sub #sub-content ul {
    margin-top: 1em; }
    #sub #sub-content ul.noMarginTop {
      margin-top: 0; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content ul.links {
        font-size: 13px; } }
    #sub #sub-content ul.links li a {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      justify-content: flex-start;
      align-items: center;
      color: #d3810b;
      text-decoration: underline; }
      #sub #sub-content ul.links li a::after {
        content: "";
        background-image: url("../images/circle-arrow-right-orange.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        margin-left: 1em;
        width: 16px;
        height: 16px; }
        @media screen and (max-width: 1000px) {
          #sub #sub-content ul.links li a::after {
            width: 13px;
            height: 13px; } }
    #sub #sub-content ul.list-style {
      padding-left: 1em;
      list-style: disc; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content ul.list-style {
          font-size: 13px; } }
      #sub #sub-content ul.list-style li {
        margin-bottom: 1em; }
    #sub #sub-content ul.terminal-keiro {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between; }
      #sub #sub-content ul.terminal-keiro li {
        flex: 1; }
        #sub #sub-content ul.terminal-keiro li img {
          width: 100%;
          height: auto;
          aspect-ratio: 375/247;
          margin-bottom: 0.5em;
          object-fit: cover; }
        #sub #sub-content ul.terminal-keiro li span {
          display: block;
          font-size: 16px; }
          @media screen and (max-width: 1000px) {
            #sub #sub-content ul.terminal-keiro li span {
              font-size: 13px; } }
    #sub #sub-content ul.time {
      width: fit-content;
      margin: 0 auto;
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      gap: 25px; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content ul.time {
          gap: 10px; } }
      #sub #sub-content ul.time li {
        width: 150px; }
        @media screen and (max-width: 1000px) {
          #sub #sub-content ul.time li {
            width: 70px; } }
        #sub #sub-content ul.time li a {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          text-align: center;
          width: 100%;
          height: auto;
          aspect-ratio: 1;
          border-radius: 9999px;
          color: #fff; }
          #sub #sub-content ul.time li a.time-30m {
            background: #73a800; }
          #sub #sub-content ul.time li a.time-1h {
            background: #41a5c4; }
          #sub #sub-content ul.time li a.time-2h {
            background: #276191; }
          #sub #sub-content ul.time li a.time-3h {
            background: #6d326d; }
          #sub #sub-content ul.time li a span {
            line-height: 1.2; }
            #sub #sub-content ul.time li a span.num {
              font-size: 60px; }
              @media screen and (max-width: 1000px) {
                #sub #sub-content ul.time li a span.num {
                  font-size: 30px; } }
            #sub #sub-content ul.time li a span.unit {
              font-size: 16px; }
              @media screen and (max-width: 1000px) {
                #sub #sub-content ul.time li a span.unit {
                  font-size: 9px; } }
  #sub #sub-content img.route-map {
    width: 700px;
    margin: 0 auto; }
  #sub #sub-content img.terminal-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
    object-fit: cover;
    margin-bottom: 1em; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content img.terminal-photo {
        margin-bottom: 0.25em; } }
  #sub #sub-content img.border {
    width: 100%;
    border-radius: 10px;
    margin-bottom: 1em; }
  #sub #sub-content img.medium {
    width: 60%;
    margin: 1em auto 1em; }
  #sub #sub-content img.aligncenter {
    margin: 2em auto; }
  #sub #sub-content .num-flow {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    justify-content: flex-start;
    margin-bottom: 30px; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content .num-flow {
        margin-bottom: 15px; } }
    #sub #sub-content .num-flow span.num {
      font-size: 30px;
      background: #666;
      color: #fff;
      width: 60px;
      height: 60px;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 15px;
      margin-right: 30px; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content .num-flow span.num {
          font-size: 18px;
          width: 36px;
          height: 36px;
          border-radius: 10px;
          margin-right: 10px; } }
    @media screen and (max-width: 1000px) {
      #sub #sub-content .num-flow .flow-content {
        flex: 1; } }
    #sub #sub-content .num-flow .flow-content ul.photos-alignleft {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      justify-content: flex-start;
      gap: 30px; }
      #sub #sub-content .num-flow .flow-content ul.photos-alignleft li {
        width: fit-content; }
        #sub #sub-content .num-flow .flow-content ul.photos-alignleft li img {
          width: 220px; }
        #sub #sub-content .num-flow .flow-content ul.photos-alignleft li span {
          font-size: 12px; }
  #sub #sub-content div.border {
    border: 2px solid #333;
    padding: 1em 1.5em; }
    #sub #sub-content div.border p:last-of-type {
      margin-bottom: 0; }
  #sub #sub-content table {
    border-collapse: separate;
    border-spacing: 2px;
    width: 100%;
    margin-bottom: 0.5em; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content table {
        font-size: 13px; } }
    #sub #sub-content table tr th, #sub #sub-content table tr td {
      line-height: 1.3;
      padding: 10px;
      text-align: center; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content table tr th, #sub #sub-content table tr td {
          padding: 5px; } }
    #sub #sub-content table tr th {
      background: rgba(6, 10, 146, 0.1);
      color: #060a92; }
    #sub #sub-content table tr td {
      background: #eeeeee; }
    #sub #sub-content table.ships tr th {
      text-align: right; }
    #sub #sub-content table.ships tr td {
      text-align: left; }
    #sub #sub-content table.outline tr th {
      text-align: left; }
    #sub #sub-content table.outline tr td {
      text-align: left; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content table.outline tr td table tr th, #sub #sub-content table.outline tr td table tr td {
          vertical-align: top;
          white-space: nowrap; }
          #sub #sub-content table.outline tr td table tr th:last-child, #sub #sub-content table.outline tr td table tr td:last-child {
            white-space: initial; } }
    #sub #sub-content table.contact-form {
      border-collapse: collapse; }
      #sub #sub-content table.contact-form tr {
        border-bottom: 1px solid #ccc; }
        #sub #sub-content table.contact-form tr:first-of-type {
          border-top: 1px solid #ccc; }
        #sub #sub-content table.contact-form tr th, #sub #sub-content table.contact-form tr td {
          background: transparent;
          line-height: 1.5; }
          @media screen and (max-width: 1000px) {
            #sub #sub-content table.contact-form tr th, #sub #sub-content table.contact-form tr td {
              display: block;
              padding-left: 0;
              padding-right: 0; } }
        #sub #sub-content table.contact-form tr th {
          white-space: nowrap;
          text-align: left;
          padding-bottom: 0;
          vertical-align: top; }
          @media screen and (max-width: 1000px) {
            #sub #sub-content table.contact-form tr th {
              font-size: 14px; } }
          #sub #sub-content table.contact-form tr th span {
            color: #c1272d;
            font-size: 12px; }
            #sub #sub-content table.contact-form tr th span::before {
              content: "【"; }
            #sub #sub-content table.contact-form tr th span::after {
              content: "】"; }
        #sub #sub-content table.contact-form tr td {
          text-align: left; }
          #sub #sub-content table.contact-form tr td input {
            font-size: 16px;
            width: 30em;
            padding: 10px; }
            @media screen and (max-width: 1000px) {
              #sub #sub-content table.contact-form tr td input {
                width: 100%;
                padding: 3px;
                font-size: 14px; } }
          #sub #sub-content table.contact-form tr td textarea {
            font-size: 16px;
            padding: 10px;
            width: 30em;
            height: 8em; }
            @media screen and (max-width: 1000px) {
              #sub #sub-content table.contact-form tr td textarea {
                width: 100%;
                padding: 3px;
                font-size: 14px; } }
          #sub #sub-content table.contact-form tr td span {
            display: block;
            color: #999;
            font-size: 14px; }
            @media screen and (max-width: 1000px) {
              #sub #sub-content table.contact-form tr td span {
                font-size: 12px; } }
            #sub #sub-content table.contact-form tr td span.ex {
              margin-top: 0.5em; }
          #sub #sub-content table.contact-form tr td span[data-name="acceptance-98"] {
            display: inline-block; }
            #sub #sub-content table.contact-form tr td span[data-name="acceptance-98"] .wpcf7-list-item {
              margin-left: 0; }
            #sub #sub-content table.contact-form tr td span[data-name="acceptance-98"] input {
              width: auto; }
    #sub #sub-content table.simple-border {
      border-collapse: collapse;
      font-size: 80%; }
      #sub #sub-content table.simple-border tr {
        border-bottom: 1px solid #999; }
        #sub #sub-content table.simple-border tr:first-of-type {
          border-top: 1px solid #999; }
        #sub #sub-content table.simple-border tr th, #sub #sub-content table.simple-border tr td {
          padding: 1em;
          color: #333;
          background: transparent;
          text-align: left;
          vertical-align: top;
          line-height: 1.5; }
        #sub #sub-content table.simple-border tr th {
          white-space: nowrap; }
        #sub #sub-content table.simple-border tr td {
          color: #666; }
    #sub #sub-content table.terminal-access-info th {
      white-space: nowrap;
      text-align: left;
      font-size: 14px; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content table.terminal-access-info th {
          white-space: initial;
          font-size: 13px; } }
      #sub #sub-content table.terminal-access-info th a {
        display: flex;
        align-items: center;
        color: #bb720a; }
        #sub #sub-content table.terminal-access-info th a::after {
          content: "";
          background-image: url("../images/circle-arrow-right-orange.svg");
          background-repeat: no-repeat;
          background-position: center;
          background-size: cover;
          margin-left: 0.5em;
          width: 16px;
          height: 16px; }
          @media screen and (max-width: 1000px) {
            #sub #sub-content table.terminal-access-info th a::after {
              display: none; } }
    #sub #sub-content table.terminal-access-info td {
      text-align: left; }
      #sub #sub-content table.terminal-access-info td span {
        display: block; }
        #sub #sub-content table.terminal-access-info td span:last-of-type {
          font-size: 11px; }
          @media screen and (max-width: 1000px) {
            #sub #sub-content table.terminal-access-info td span:last-of-type {
              font-size: 9px; } }
        #sub #sub-content table.terminal-access-info td span:first-of-type {
          font-size: 14px; }
          @media screen and (max-width: 1000px) {
            #sub #sub-content table.terminal-access-info td span:first-of-type {
              font-size: 12px; } }
  #sub #sub-content iframe {
    display: block;
    border: 0;
    border-radius: 10px; }
    #sub #sub-content iframe.terminal-access-map {
      width: 100%;
      height: auto;
      aspect-ratio: 11/5; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content iframe.terminal-access-map {
          aspect-ratio: 1/1; } }
  #sub #sub-content .ss-group {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 50px 2%; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content .ss-group {
        gap: 30px 2%; } }
    #sub #sub-content .ss-group::before {
      content: "";
      width: 23%;
      order: 1; }
    #sub #sub-content .ss-group::after {
      content: "";
      width: 23%;
      order: 2; }
    #sub #sub-content .ss-group.ss-group-30m h3 {
      color: #73a800; }
    #sub #sub-content .ss-group.ss-group-1h h3 {
      color: #41a5c4; }
    #sub #sub-content .ss-group.ss-group-2h h3 {
      color: #276191; }
    #sub #sub-content .ss-group.ss-group-3h h3 {
      color: #6d326d; }
    #sub #sub-content .ss-group .ss-item {
      width: 23.5%;
      display: flex;
      flex-direction: column; }
      @media screen and (max-width: 1000px) {
        #sub #sub-content .ss-group .ss-item {
          width: 100%; } }
      #sub #sub-content .ss-group .ss-item img {
        border-radius: 10px;
        margin-bottom: 1em;
        width: 100%;
        height: auto;
        aspect-ratio: 3/2;
        object-fit: cover;
        cursor: zoom-in; }
      #sub #sub-content .ss-group .ss-item h3 {
        font-size: 19px;
        background: none;
        line-height: 1.2;
        padding: 0;
        margin-bottom: 0.2em; }
        @media screen and (max-width: 1000px) {
          #sub #sub-content .ss-group .ss-item h3 {
            margin-top: 0; } }
      #sub #sub-content .ss-group .ss-item p.time-and-map {
        font-size: 12px;
        margin-bottom: 2em; }
        @media screen and (max-width: 1000px) {
          #sub #sub-content .ss-group .ss-item p.time-and-map {
            margin-bottom: 1em; } }
        #sub #sub-content .ss-group .ss-item p.time-and-map a.map {
          background: #333;
          text-decoration: none;
          color: #fff;
          border-radius: 9999px;
          font-size: 10px;
          display: inline-block;
          padding: 0 1em;
          margin-left: 1em;
          vertical-align: baseline; }
          #sub #sub-content .ss-group .ss-item p.time-and-map a.map::after {
            display: none; }
      #sub #sub-content .ss-group .ss-item p.desc {
        font-size: 14px;
        margin-bottom: auto; }
      #sub #sub-content .ss-group .ss-item a.url {
        font-size: 12px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        color: #db679f;
        transition: 0.5s;
        border-bottom: 1px solid transparent;
        width: fit-content;
        margin-left: auto; }
        #sub #sub-content .ss-group .ss-item a.url:hover {
          border-bottom: 1px solid #db679f; }
        #sub #sub-content .ss-group .ss-item a.url::after {
          content: "";
          background-image: url("../images/icon-link.svg");
          background-repeat: no-repeat;
          background-position: center;
          background-size: cover;
          margin-left: 0.5em;
          width: 16px;
          height: 16px; }
      #sub #sub-content .ss-group .ss-item a.movie {
        font-size: 12px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        color: #db679f;
        transition: 0.5s;
        border-bottom: 1px solid transparent;
        width: fit-content;
        margin-left: auto; }
        #sub #sub-content .ss-group .ss-item a.movie:hover {
          border-bottom: 1px solid #db679f; }
        #sub #sub-content .ss-group .ss-item a.movie::after {
          content: "";
          background-image: url("../images/icon-movie.svg");
          background-repeat: no-repeat;
          background-position: center;
          background-size: cover;
          margin-left: 0.5em;
          width: 16px;
          height: 16px; }
  #sub #sub-content .faq-item {
    margin-bottom: 100px; }
    @media screen and (max-width: 1000px) {
      #sub #sub-content .faq-item {
        margin-bottom: 30px; } }
    #sub #sub-content .faq-item .faq-q {
      display: flex;
      justify-content: flex-start;
      gap: 20px;
      border-bottom: 5px dotted #060a92;
      padding-bottom: 1em;
      margin-bottom: 1em;
      align-items: baseline;
      line-height: 1; }
      #sub #sub-content .faq-item .faq-q img {
        height: 36px; }
        @media screen and (max-width: 1000px) {
          #sub #sub-content .faq-item .faq-q img {
            height: 20px; } }
      #sub #sub-content .faq-item .faq-q .faq-content {
        font-size: 20px;
        color: #060a92;
        flex: 1; }
        @media screen and (max-width: 1000px) {
          #sub #sub-content .faq-item .faq-q .faq-content {
            font-size: 15px; } }
    #sub #sub-content .faq-item .faq-a {
      display: flex;
      justify-content: flex-start;
      gap: 20px; }
      #sub #sub-content .faq-item .faq-a img {
        height: 36px; }
        @media screen and (max-width: 1000px) {
          #sub #sub-content .faq-item .faq-a img {
            height: 20px; } }
      #sub #sub-content .faq-item .faq-a .faq-content {
        font-size: 16px;
        flex: 1;
        padding-top: 1em;
        color: #666; }
        @media screen and (max-width: 1000px) {
          #sub #sub-content .faq-item .faq-a .faq-content {
            font-size: 13px;
            padding-top: 0; } }
  #sub #sub-content .main-cut {
    border-radius: 10px;
    margin-bottom: 10px;
    aspect-ratio: 4/3;
    object-fit: cover; }
  #sub #sub-content .thumbnails {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between; }
    #sub #sub-content .thumbnails img {
      flex: 1;
      width: 1%;
      aspect-ratio: 4/3; }
      #sub #sub-content .thumbnails img:first-of-type {
        border-radius: 10px 0 0 10px; }
      #sub #sub-content .thumbnails img:last-of-type {
        border-radius: 0 10px 10px 0; }

#sub #newslist {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  flex-direction: column;
  gap: 1em; }
  @media screen and (max-width: 1000px) {
    #sub #newslist {
      width: 100%; } }
  #sub #newslist li {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2em; }
    @media screen and (max-width: 1000px) {
      #sub #newslist li {
        flex-wrap: wrap;
        gap: 0.25em 1em; } }
    #sub #newslist li span {
      font-size: 18px; }
      @media screen and (max-width: 1000px) {
        #sub #newslist li span {
          font-size: 14px; } }
    #sub #newslist li .date {
      width: fit-content; }
    #sub #newslist li .cat {
      color: #fff;
      width: 7em;
      text-align: center;
      border-radius: 5px; }
      #sub #newslist li .cat.cat-news {
        background: #f281c4; }
      #sub #newslist li .cat.cat-campaign {
        background: #81b9ef; }
      #sub #newslist li .cat.cat-topics {
        background: #81D328; }
    #sub #newslist li .title {
      flex: 1; }
      @media screen and (max-width: 1000px) {
        #sub #newslist li .title {
          flex: initial;
          width: 100%; } }
      #sub #newslist li .title a {
        color: #333;
        text-decoration: underline;
        transition: 0.5s; }
        #sub #newslist li .title a:hover {
          color: #666; }

@media screen and (max-width: 1000px) {
  .remodal {
    padding: 30px 15px 15px !important; } }
.remodal h4 {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  font-size: 18px;
  margin-bottom: 1em;
  text-align: left; }
  @media screen and (max-width: 1000px) {
    .remodal h4 {
      font-size: 15px; } }
  .remodal h4::before {
    display: block;
    content: "";
    background: #ddd;
    width: 6px;
    margin-right: 12px;
    border-radius: 6px; }
.remodal p {
  font-size: 12px !important; }
.remodal iframe {
  display: block;
  border: 0;
  border-radius: 10px;
  margin-top: 2em;
  width: 100%;
  height: auto;
  aspect-ratio: 7/5; }
  @media screen and (max-width: 1000px) {
    .remodal iframe {
      aspect-ratio: 1/1; } }

.submitButton {
  display: block;
  background: #060a92;
  color: #fff;
  font-size: 20px;
  padding: 1em 3em;
  width: fit-content;
  border: 0;
  margin: 1em auto 0; }

/* 既定＝日本語のみ表示、英語は非表示 */
.nagasu-en {
  display: none !important; }

/* 日本語以外（翻訳時）で英語のみ表示 */
html:not(:lang(ja)) .nagasu-ja {
  display: none !important; }

html:not(:lang(ja)) .nagasu-en {
  display: inline !important;
  all: unset !important; }

/* ベース側だけリセット（英語側には当てない） */
.nagasu-ja.notranslate {
  all: unset !important;
  display: inline !important;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  white-space: inherit; }

/* （必要なら）フォールバック：
html.is-translated .nagasu-ja { display: none; }
html.is-translated .nagasu-en { display: inline; } */
html:not(:lang(ja)) ul#lang-sp {
  display: none !important; }

html:not(:lang(ja)) #spMenu .menu > .menu-2col {
  padding-top: 70px; }
