@charset "UTF-8";
html, body {
  font-family: YuGothic,'Yu Gothic',sans-serif;
  font-size: 62.5%;
  /*10px*/
  font-weight: normal;
    height: 100%;
}

body {
  position: relative;
  z-index: 1;
}
main {
    min-height: calc(100% - 129.55px);
}
@media screen and (max-width: 559px) {
    main {
        min-height: calc(100% - 91px);
    }
}

p, a {
  line-height: 1.6em;
}

h1, h2, h3, h4, h5 {
  line-height: 1.2em;
}

img {
  width: 100%;
}

.noto-serif {
  font-family: 'Noto Serif JP', serif;
}

.container {
  min-width: 1300px;
  /*artboard size*/
  width: calc(100% - 200px);
  margin-left: 200px;
}

.wrapper {
  width: 960px;
  margin: 0 auto;
}

@media screen and (max-width: 559px) {
  .container {
    width: 100%;
    min-width: 100%;
    margin-left: 0;
  }

  .wrapper {
    width: 90%;
  }
}
/*左サイドバー*/
.sub_container {
  width: 201px;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5000;
  background-color: #004591;
  text-align: center;
  padding-top: 36px;
}

.head_logo {
  margin-bottom: 34px;
}
.head_logo img {
  width: 160px;
  height: auto;
}

.main_nav ul {
  margin-bottom: 76px;
}
.main_nav ul li {
  margin-bottom: 28px;
}

.main_nav a {
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.2em;
  font-weight: 600;
}
.main_nav a span {
  font-size: 1.2rem;
  color: #ff9;
  font-family: YuGothic,'Yu Gothic',sans-serif;
  font-weight: normal;
}

.phone {
  width: 100%;
  background-color: #fff033;
  padding-top: 20px;
  padding-bottom: 18px;
}
.phone p {
  font-size: 1.4rem;
  font-weight: bold;
  color: #004591;
}
.phone p span {
  font-size: 2rem;
}
@media screen and (min-width: 600px) and (max-height: 836px) {
    .sub_container {
        padding-top: 4.3vh;
    }

    .head_logo {
        margin-bottom: 4vh;
    }
    .head_logo img {
        width: 19vh;
        height: auto;
    }

    .main_nav ul {
        margin-bottom: 0.9vh;
    }
    .main_nav ul li {
        margin-bottom: 3.35vh;
    }

    .main_nav a {
        font-size: 2.15vh;
    }
    .main_nav a span {
        font-size: 1.44vh;
    }

    .phone {
        padding-top: 2.4vh;
        padding-bottom: 2.1vh;
    }
    .phone p {
        font-size: 1.67vh;
        font-weight: bold;
        color: #004591;
    }
    .phone p span {
        font-size: 2.4vh;
    } 
}

/*スマホ用ナビ*/
.sp_head {
  display: none;
}

@media screen and (max-width: 559px) {
  .sub_container {
    display: none;
  }

  .sp_head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 60px;
    background-color: #003e92;
  }
  .sp_head .head_logo {
    margin-bottom: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 30vw;
            flex: 0 0 30vw;
  }
  .sp_head .head_logo img {
    width: 30vw;
  }

  .sp_phone {
    padding-left: 2em;
  }
  .sp_phone a {
    color: #fff033;
    font-size: 4.2vw;
  }

  #hidden_nav {
    position: relative;
  }

  #hidden_nav p {
    font-size: 14px;
    font-weight: bold;
    margin: 10px 0 0;
    color: #003e92;
    text-align: center;
  }

  .nav-unshown {
    display: none;
  }

  #nav-open {
    display: inline-block;
    width: 30px;
    height: 23px;
    vertical-align: middle;
  }

  /*ハンバーガーアイコン*/
  #nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 3px;
    /*線の太さ*/
    width: 30px;
    /*長さ*/
    border-radius: 3px;
    background: #fff;
    display: block;
    content: '';
    cursor: pointer;
  }

  #nav-open span:before {
    bottom: -10px;
  }

  #nav-open span:after {
    bottom: -20px;
  }

  /*ハンバーガーアイコンここまで*/
  #nav-close {
    display: none;
    /*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;
    /*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
  }

  #nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    /*最前面に*/
    width: 60%;
    /*左側に隙間を作る（閉じるカバーを表示）*/
    max-width: 300px;
    /*最大幅*/
    height: 100%;
    background: #003e92;
    /*背景色*/
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    /*滑らかに表示*/
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    /*右に隠しておく*/
  }

  #nav-input:checked ~ #nav-close {
    display: block;
    /*カバーを表示*/
    opacity: .5;
  }

  #nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    /*中身を表示（左へスライド）*/
    -webkit-box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
            box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
  }

  .main_nav {
    padding: 40px 20px;
    text-align: center;
  }
  .main_nav a {
    font-size: 1.6rem;
  }
}
/*メインコンテンツ共通*/
.for_sp {
  display: none;
}

@media screen and (max-width: 559px) {
  .for_sp {
    display: inherit;
  }
}
.main_lead p {
  text-align: center;
  font-size: 1.6rem;
  color: #004591;
  margin-top: 26px;
  margin-bottom: 20px;
}

@media screen and (max-width: 559px) {
  .main_lead p {
    font-size: 1.4rem;
  }
}
.section_header {
  text-align: center;
  margin-bottom: 40px;
  color: #004591;
  font-family: 'Noto Serif JP', serif;
}
.section_header span {
  font-size: 1.4rem;
  font-weight: 600;
  padding-left: .8em;
  padding-right: .8em;
  border-bottom: 4px solid #fff033;
}
.section_header h2 {
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 1.8em;
}

.area_header {
  margin-bottom: 20px;
}
.area_header h3 {
  background-color: #004591;
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  padding-left: 16px;
  line-height: 2.5em;
}

.caution {
  font-size: 1.4rem;
}

@media screen and (max-width: 559px) {
  .section_header {
    margin-bottom: 20px;
  }
  .section_header h2 {
    font-size: 2.2rem;
    line-height: 2.6em;
  }

  .area_header h3 {
    padding: 10px;
    font-size: 1.8rem;
    line-height: 1.6em;
    text-align: center;
  }
}
/*キービジュアル*/
#top {
  margin-top: 0;
}

.hero_wrap {
  position: relative;
  width: 100%;
  height: auto;
}
.hero_wrap::before {
  content: "";
  display: block;
  padding-top: 56.24%;
}
.hero_wrap video {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}
.hero_wrap img {
  width: 46%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 559px) {
  #top {
    margin-top: 60px;
  }
}
/*ページ内リンクボタン*/
.jump_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 80px;
}

.jump_btn_wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 225px;
          flex: 0 0 225px;
}
.jump_btn_wrap a {
  width: 225px;
  height: 130px;
  display: block;
  background-color: #def1fe;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  border-radius: 10px;
  -webkit-box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.3);
  line-height: 2em;
}
.jump_btn_wrap a span {
  background-color: #004591;
  width: 100%;
  height: 44px;
  display: block;
  border-radius: 10px 10px 0 0;
  padding-left: 1em;
}
.jump_btn_wrap a span::after {
  content: "▼";
  color: #fff;
  font-size: 1.2rem;
  display: inline-block;
  margin-left: 8px;
  vertical-align: middle;
}
.jump_btn_wrap a:hover {
  opacity: .8;
}
.jump_btn_wrap .jump_btn_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 86px;
}
.jump_btn_wrap .jump_btn_img img {
  width: 55px;
  height: 51px;
  -o-object-fit: contain;
     object-fit: contain;
}
.jump_btn_wrap:nth-of-type(even) a {
  background-color: #ffffe1;
}

@media screen and (max-width: 559px) {
  .jump_btn_wrap {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20vw;
            flex: 0 0 20vw;
  }
  .jump_btn_wrap a {
    width: 20vw;
    height: 22vw;
    font-size: 3vw;
    -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);
            box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);
    line-height: 2.2em;
  }
  .jump_btn_wrap a span {
    background-color: #004591;
    width: 100%;
    height: 7vw;
    display: block;
    padding-left: 0;
  }
  .jump_btn_wrap a span::after {
    display: none;
  }
  .jump_btn_wrap .jump_btn_img {
    height: 15vw;
  }
  .jump_btn_wrap .jump_btn_img img {
    width: 11vw;
    height: 10vw;
  }
}
/*お知らせ*/
.news_wrap {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.news_headlines {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 598px;
          flex: 0 0 598px;
}
.news_headlines .news_headlines_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.news_headlines h2 {
  font-size: 3rem;
  font-weight: 500;
  margin-bottom: 20px;
  color: #004591;
  display: block;
}
.news_headlines h2 span {
  font-size: 1.4rem;
  font-weight: 600;
  border-bottom: 4px solid #fff033;
  margin-left: 1em;
  vertical-align: middle;
}
.news_headlines h2 + a {
  font-size: 1.6rem;
  font-weight: bold;
  color: #003e92;
  text-align: right;
  display: block;
}
.news_headlines h2 + a span {
  font-size: 1.2rem;
  margin-right: 4px;
  vertical-align: 1px;
}
.news_headlines ul li,
.newslist_inner ul li {
  font-size: 1.6rem;
  border-top: 1px solid #ccc;
  line-height: 3.8em;
}
.news_headlines ul li span.news_date,
.newslist_inner ul li span.news_date {
  color: #979797;
  margin-right: 2em;
}
.news_headlines ul li:last-of-type,
.newslist_inner ul li:last-of-type {
  border-bottom: 1px solid #ccc;
}

.twitter_timeline {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 286px;
          flex: 0 0 286px;
  width: 286px;
}

@media screen and (max-width: 559px) {
  .news_wrap {
    display: block;
  }

  .news_headlines {
    margin-bottom: 40px;
  }
  .news_headlines h2 {
    font-size: 2.2rem;
  }
  .news_headlines h2 + a {
    font-size: 1.4rem;
  }
  .news_headlines h2 + a span {
    font-size: 1rem;
  }
  .news_headlines ul li,.newslist_inner ul li {
    font-size: 1.4rem;
    line-height: 2em;
  }
  .news_headlines ul li span.news_date,
	.newslist_inner ul li span.news_date {
    display: block;
  }

  .twitter_timeline {
    width: 100%;
  }
}
/*プロモーション動画*/
.movie_wrap,.newslist_wrap,.newsdetail_wrap {
  background-image: url(../../images/wave_bg.jpg);
  background-size: cover;
  background-position: top;
  padding-top: 160px;
  margin-bottom: 100px;
}

.movie_inner {
  width: 640px;
  height: 360px;
  margin: 0 auto;
}

.newslist_inner,.newsdetail_inner {
	width: 960px;
	margin: 0 auto;
}

.newsdetail_inner h3 {
	font-size: 2.4rem;
	border-bottom: 1px solid #ccc;
	padding: 10px 0;
	margin-bottom: 10px;
}

.newsdetail_inner p {
	font-size: 1.6rem;
	margin-bottom: 1.5em;
}

@media screen and (max-width: 559px) {
  .movie_wrap,.newslist_wrap,.newsdetail_wrap {
    padding-top: 100px;
  }

  .movie_inner {
    width: 100%;
    height: auto;
  }
    .newslist_inner,.newsdetail_inner {
        width: 100%;
    }
}
/*-----共通table-----*/
.table {
  display: table;
  text-align: center;
  border-collapse: collapse;
}

.tr {
  display: table-row;
  height: 40px;
  font-size: 1.6rem;
}
.tr:first-of-type {
  font-weight: bold;
}

.tc {
  display: table-cell;
  border: 1px solid #cacaca;
  vertical-align: middle;
}
.tc img {
  width: 14px;
  display: block;
  margin: auto;
}

.tc_gray {
  background-color: #f1f1f1;
}

.tc_blue {
  background-color: #d8f3ff;
}

.tc_yellow {
  background-color: #ffffcc;
}
.tc_green {
    background-color: #d8f3e6;
}
.tc_orange {
    background-color: #fbedcb;
}

@media screen and (max-width: 559px) {
  .tr {
    font-size: 1.4rem;
  }
}
/*時刻表*/
#schedule {
  margin-bottom: 70px;
}

.schedule_table_wrap {
    width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 20px;
}
.schedule_table_wrap h4 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
  color: #004591;
}
.schedule_table_wrap h4 span {
  font-size: 1.4rem;
}
.schedule_table01, .schedule_table02 {
    margin-bottom: 40px;
}
.schedule_table01 .tc, .schedule_table02 .tc {
  width: 75px;
}
.schedule_table03 .table {
    width: 960px;
}
.schedule_table03 .tc {
    width: 106.6px;
}
.schedule_table03 .tc span {
    font-weight: normal;
    font-size: 1.4rem;
}

.schedule_table01 .tr:first-of-type, .schedule_table04 .tr:first-of-type {
  background-color: #d8f3e6;
}

.schedule_table02 .tr:first-of-type {
/*  background-color: #d8f3ff;*/
}

.schedule_table03 .tr:first-of-type {
/*  background-color: #fbedcb;*/
}

.schedule_table03 .tc.tc_fixer {
    width: 2px;
}

@media screen and (max-width: 559px) {
  .schedule_table_wrap {
      display: block;
/*      width: 960px;*/
  }
}
/*運賃*/
#price .table {
  width: 100%;
}
#price .tc {
  width: 160.6px;
}

.red-txt {
  text-align: center;
  font-size: 1.6rem;
  color: #f00;
  margin-bottom: 14px;
  margin-top: -20px;
}

.price01 .table {
  margin-bottom: 23px;
}

.price-option {
  margin-bottom: 52px;
}
.price-option h4 {
  font-size: 1.8rem;
  font-weight: bold;
  color: #004591;
  margin-bottom: 8px;
}
.price-option ol {
  list-style-type: decimal;
  padding-left: 3rem;
}
.price-option ol li {
  font-size: 1.6rem;
  margin-bottom: .8em;
}

.price02 .table {
  margin-bottom: 52px;
}

.price03 .table {
  margin-bottom: 23px;
}
.price03 .tr:first-of-type .tc:first-of-type {
  font-weight: normal;
}
.price03 .tr:last-of-type {
  height: 74px;
}

.price-bike {
  width: 400px;
  margin-bottom: 70px;
}
.price-bike .table .tc:first-of-type {
  width: 240px;
}
.price-bike .tr:first-of-type .tc:first-of-type {
  font-weight: normal;
}

@media screen and (max-width: 559px) {
  #price .table {
    width: 600px;
  }
  #price .tc {
    width: auto;
  }
  #price .price-bike .table {
    width: 100%;
  }

  .price-bike {
    width: 100%;
  }
  .price-bike .table .tc:first-of-type {
    width: 50%;
  }

  .price-option h4 {
    font-size: 1.6rem;
  }
  .price-option ol {
    padding-left: 3rem;
  }
  .price-option ol li {
    font-size: 1.4rem;
  }
}
/*航路図*/
#routemap {
  background-image: url(../../images/wave_bg.jpg);
  background-size: cover;
  background-position: top;
  padding-top: 200px;
  margin-bottom: 100px;
}

@media screen and (max-width: 559px) {
  #routemap {
    padding-top: 100px;
  }
}
/*乗り場案内*/
#port {
  margin-bottom: 50px;
}

.port_wrap01_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 20px;
}
.port_wrap01_inner div {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}

.port_txt {
  font-size: 1.6rem;
  margin-bottom: 40px;
}

.port_wrap02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.port_wrap02 > div {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 457px;
          flex: 0 0 457px;
  width: 457px;
}
.port_wrap02 > div .port_map {
  width: 457px;
  margin-bottom: 20px;
}

@media screen and (max-width: 559px) {
  .port_wrap01_inner {
    display: block;
  }
  .port_wrap01_inner div {
    width: 100%;
    margin-bottom: 20px;
  }
  .port_wrap01_inner div iframe {
    width: 100%;
  }

  .port_txt {
    font-size: 1.4rem;
  }

  .port_wrap02 {
    display: block;
  }
  .port_wrap02 > div {
    width: 100%;
  }
  .port_wrap02 > div .port_map {
    width: 100%;
  }
  .port_wrap02 > div .port_map iframe {
    width: 100%;
  }
}
/*船の紹介*/
#aboutship {
  background-image: url(../../images/wave_bg.jpg);
  background-size: cover;
  background-position: top;
  padding-top: 200px;
  margin-bottom: 110px;
}
#aboutship p {
  font-size: 1.6rem;
}

.aboutship_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 24px;
}
.aboutship_wrap .aboutship_img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 506px;
          flex: 0 0 506px;
}
.aboutship_wrap .aboutship_img img {
  width: 506px;
  height: 320px;
    -o-object-fit: cover;
    object-fit: cover;
}
.aboutship_wrap .aboutship_table {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 10px 20px;
  background-color: #fff;
  height: 320px;
}
.aboutship_wrap .table {
  width: 414px;
  border-collapse: separate;
  border-spacing: 14px;
}
.aboutship_wrap .table .tr {
  height: auto;
}
.aboutship_wrap .table .tc {
  border: none;
  text-align: left;
  vertical-align: top;
}
.aboutship_wrap .table .tc:first-of-type {
  font-size: 1.6rem;
  font-weight: bold;
  color: #004591;
  width: 156px;
}
.aboutship_wrap .table .tc:last-of-type {
  font-size: 1.6rem;
  font-weight: normal;
}
.aboutship_wrap .colspanfixer {
  font-size: 1.4rem;
  padding-left: 14px;
  padding-right: 14px;
    width: 414px;
}

@media screen and (max-width: 559px) {
  #aboutship {
    padding-top: 100px;
  }

  .aboutship_wrap {
    display: block;
  }
  .aboutship_wrap .aboutship_img img {
    width: 100%;
    height: auto;
  }
  .aboutship_wrap .aboutship_table {
    height: auto;
    padding: 10px;
  }
  .aboutship_wrap .table {
    width: auto;
  }
    .aboutship_wrap .colspanfixer {
        width: 100%;
    }
}
/*観光情報*/
#sightseeing h3 {
  background-color: #70b7f2;
  font-size: 2.8rem;
  font-family: 'Noto Serif JP', serif;
  color: #fff;
  line-height: 1.8em;
  padding-left: 10px;
  margin-bottom: 20px;
}
#sightseeing img {
  width: 302px;
  height: auto;
  margin-bottom: 12px;
}
#sightseeing p {
  font-size: 1.6rem;
  text-align: center;
}

.sightseeing_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 70px;
}

.sightseeing_wrap02 {
  width: 638px;
  margin-left: auto;
  margin-right: auto;
}

.sightseeing_wrap03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.sightseeing_wrap03 .sightseeing_wrap03_left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 634px;
          flex: 0 0 634px;
}

@media screen and (max-width: 559px) {
  #sightseeing {
    padding-bottom: 60px;
  }
  #sightseeing h3 {
    font-size: 2rem;
  }
  #sightseeing img {
    width: 100%;
  }
  #sightseeing p {
    font-size: 1.4rem;
  }

  .sightseeing_inner {
    display: block;
  }
  .sightseeing_inner > div {
    margin-bottom: 40px;
  }

  .sightseeing_wrap02 {
    width: 100%;
  }

  .sightseeing_wrap03 {
    display: block;
  }
  .sightseeing_wrap03 .sightseeing_wrap03_left {
    width: 100%;
  }
}
/*会社概要*/
#company {
  background-color: #eaf4fc;
  padding-top: 94px;
  padding-bottom: 72px;
}

.company_table .table {
  width: 100%;
  background-color: #fff;
  text-align: left;
  margin-bottom: 80px;
}
.company_table .table .tr {
  height: 60px;
}
.company_table .table .tc {
  padding-left: 1em;
}
.company_table .table .tc:first-of-type {
  font-size: 1.6rem;
  font-weight: bold;
  color: #004591;
}
.company_table .table .tc:last-of-type {
  font-weight: normal;
}

@media screen and (max-width: 559px) {
  #company {
    padding-top: 40px;
  }

  .company_table .table {
    margin-bottom: 40px;
  }
  .company_table .table .tc {
    padding-left: .5em;
    padding-right: .5em;
  }
  .company_table .table .tc:first-of-type {
    font-size: 1.4rem;
    width: 7em;
  }
}
.link-group {
  width: 766px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.link-group a {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 173px;
          flex: 0 0 173px;
}
.link-group a img {
  width: 173px;
}
.link-group a:hover {
  opacity: .8;
}

@media screen and (max-width: 559px) {
  .link-group {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
  .link-group a {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 44vw;
            flex: 0 0 44vw;
    margin-bottom: 2vw;
  }
  .link-group a img {
    width: 44vw;
  }
}
/*フッター*/
.footer_container {
  background-color: #004591;
  color: #fff;
  text-align: center;
  padding-top: 34px;
  padding-bottom: 22px;
}
.footer_container img {
  width: 160px;
  display: block;
  margin: 0 auto 20px;
}
.footer_container small {
  font-size: 1.2rem;
  display: block;
}

@media screen and (max-width: 559px) {
  .footer_container {
    padding-top: 16px;
    padding-bottom: 10px;
  }
  .footer_container img {
    width: 34vw;
  }
}
/*トップへ戻るボタン*/
.linktotop {
  position: fixed;
  bottom: 0;
  right: 0;
}
.linktotop a {
  width: 60px;
  height: 60px;
  background-color: #70b7f2;
  display: block;
  padding-top: 17px;
}
.linktotop a img {
  width: 23px;
  margin: auto;
  display: block;
}

@media screen and (max-width: 559px) {
  .linktotop {
    bottom: 26px;
    right: 10px;
    z-index: 500;
  }
  .linktotop a {
    width: 40px;
    height: 40px;
    padding-top: 8px;
    background-color: rgba(112, 183, 242, 0.8);
  }
}
/*スクロールの調整*/
.js-scrollable {
  z-index: 100;
}