@charset "UTF-8";
/**************************************************
    sass
***************************************************/
/* font */
/* color */
/* width */
/* ---------- Media Query --------- */
/* ---------- Common --------- */
/**************************************************
	base
***************************************************/
/* -----------------------------------------------
	1. Body
-------------------------------------------------- */
body {
  color: #64737b;
  text-align: left;
  margin: 0; }

body, input, textarea, select, button {
  font-size: 16px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  line-height: 1.7; }

/* -----------------------------------------------
	2. Elements
-------------------------------------------------- */
/* ---------- base ---------- */
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
  margin: 0; }

img, video {
  border: 0;
  vertical-align: bottom; }

ol, ul {
  list-style: none;
  margin: 0;
  padding: 0; }

li {
  margin: 0;
  padding: 0; }

dl, dt, dd {
  margin: 0;
  padding: 0; }

/* ---------- text ---------- */
p {
  margin: 0 0 20px; }

a {
  color: #64737b;
  text-decoration: underline; }

a:hover {
  text-decoration: none; }

a[nohref] {
  color: inherit; }
  a[nohref]:hover {
    text-decoration: none; }

/* ---------- plain ---------- */
ul.plain, ol.plain, dl.plain {
  margin-left: 20px;
  margin-bottom: 20px; }

.plain ul, .plain ol {
  margin: 0 0 0 20px; }

ul.plain {
  list-style-type: disc; }
  ul.plain ul {
    list-style-type: circle; }
    ul.plain ul ul {
      list-style-type: square; }

ol.plain, ol.plain ol {
  list-style-type: decimal; }

/* -----------------------------------------------
	3. Helper Class
-------------------------------------------------- */
/* ---------- clear ---------- */
._clearfix {
  zoom: 1; }
  ._clearfix:after {
    content: '';
    display: block;
    clear: both;
    overflow: auto; }

._float-l {
  float: left; }

._float-r {
  float: right; }

._clear {
  clear: both; }

._hidden {
  display: none; }

/* ---------- text ---------- */
._small {
  font-size: 88% !important; }

._large {
  font-size: 113% !important; }

._valignt {
  vertical-align: top !important; }

._valignm {
  vertical-align: middle !important; }

._valignb {
  vertical-align: bottom !important; }

._txtc, ._txtc th, ._txtc td {
  text-align: center !important; }

._txtr, ._txtr th, ._txtr td {
  text-align: right !important; }

._txtl, ._txtl th, ._txtl td {
  text-align: left !important; }

._wordbreak {
  word-break: break-all !important; }

._nowrap {
  white-space: nowrap !important; }

/* ---------- margin ---------- */
._zero {
  margin-bottom: 0 !important; }

._half {
  margin-bottom: 10px !important; }

._default {
  margin-bottom: 20px !important; }

._double {
  margin-bottom: 40px !important; }

/**************************************************
	structure
***************************************************/
/* -----------------------------------------------
	1. Header
-------------------------------------------------- */
.skiptranslate + .site-header {
  top: 40px; }

.site-header {
  width: 100%;
  height: 80px;
  padding: 18px 0;
  background: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001; }
  .site-header .frame {
    width: 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 80px 0 0;
    position: fixed;
    top: 0;
    background: #fff;
    z-index: 998;
    text-align: center;
    height: calc(100vh - 60px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -ms-flex-line-pack: center;
    align-content: center; }
    .site-header .frame.-left {
      left: 0; }
      .site-header .frame.-left .inner {
        width: 100%; }
        .site-header .frame.-left .inner .logo {
          position: absolute;
          top: 80px;
          left: 0;
          right: 0; }
        .site-header .frame.-left .inner .origin {
          -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
          font-size: 15px;
          color: #64737b;
          margin: 0 auto 10px; }
        .site-header .frame.-left .inner .social-link li {
          margin-bottom: 10px; }
          .site-header .frame.-left .inner .social-link li a {
            width: 30px;
            height: 30px;
            display: block;
            margin: 0 auto;
            -webkit-transition: all .3s;
            -o-transition: all .3s;
            transition: all .3s; }
            .site-header .frame.-left .inner .social-link li a img {
              width: 100%;
              height: auto; }
            .site-header .frame.-left .inner .social-link li a:hover {
              opacity: 0.8;
              -webkit-transition: all .3s;
              -o-transition: all .3s;
              transition: all .3s; }
          .site-header .frame.-left .inner .social-link li:last-child {
            margin-bottom: 0; }
    .site-header .frame.-right {
      right: 0; }
      .site-header .frame.-right .inner {
        width: 100%;
        height: calc(100vh - 240px);
        position: relative;
        /* ---------- search --------- */
        /* ---------- language --------- */
        /* ---------- pagetop --------- */ }
        .site-header .frame.-right .inner .search-menu {
          cursor: pointer; }
          .site-header .frame.-right .inner .search-menu span {
            font-size: 14px;
            -webkit-writing-mode: vertical-rl;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; }
            .site-header .frame.-right .inner .search-menu span::after {
              content: attr(data-txt-menu);
              background: url(../images/icon_search_black.png) no-repeat top center;
              background-size: 15px;
              color: #000;
              padding: 30px 0 0; }
        .site-header .frame.-right .inner .search-overlay {
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: rgba(149, 174, 187, 0.9);
          -webkit-transition: all .5s;
          -o-transition: all .5s;
          transition: all .5s;
          visibility: hidden;
          opacity: 0;
          z-index: 1000;
          display: -webkit-box;
          display: -ms-flexbox;
          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;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; }
          .site-header .frame.-right .inner .search-overlay .search-form {
            width: calc(100vw - 160px);
            position: relative; }
            .site-header .frame.-right .inner .search-overlay .search-form .search-field {
              width: 100%;
              margin: 0 auto;
              height: 70px;
              padding: 0 0 0 30px;
              border: none;
              border-radius: 10px;
              outline: 0;
              background: #fff;
              font-size: 18px; }
            .site-header .frame.-right .inner .search-overlay .search-form .search-button {
              height: 50px;
              width: 110px;
              position: absolute;
              right: 10px;
              top: 10px;
              background: #9fb6c2;
              color: #fff;
              border: none;
              border-radius: 15px;
              line-height: 1;
              font-size: 16px;
              font-weight: bold; }
          .site-header .frame.-right .inner .search-overlay .search-close {
            background: #fff;
            border-radius: 25px;
            padding: 0.5em 0;
            margin: 30px auto 0;
            text-align: center;
            border: none;
            display: block;
            width: 170px;
            z-index: 1000;
            position: relative; }
        .site-header .frame.-right .inner .language-nav {
          width: 100%;
          top: calc(50% - 57px/2);
          position: absolute;
          right: 0; }
          .site-header .frame.-right .inner .language-nav .goog-te-gadget-simple {
            width: 100%; }
          .site-header .frame.-right .inner .language-nav .sub-menu {
            position: relative; }
            .site-header .frame.-right .inner .language-nav .sub-menu > a {
              position: relative;
              -webkit-transition: background-color .5s linear;
              -o-transition: background-color .5s linear;
              transition: background-color .5s linear;
              text-decoration: none;
              display: block;
              font-family: "Barlow Semi Condensed", sans-serif;
              font-size: 12px;
              color: #000;
              font-weight: bold;
              letter-spacing: 0; }
              .site-header .frame.-right .inner .language-nav .sub-menu > a span {
                position: relative;
                display: block;
                padding: 30px 0 0; }
                .site-header .frame.-right .inner .language-nav .sub-menu > a span::after {
                  content: "";
                  background: url(../images/icon_language_black.png) no-repeat top center;
                  background-size: 26px;
                  color: #000;
                  padding: 0;
                  position: absolute;
                  top: 0;
                  right: calc(50% - 26px/2);
                  -webkit-box-sizing: border-box;
                  box-sizing: border-box;
                  margin: 0 auto;
                  width: 26px;
                  height: 26px; }
            .site-header .frame.-right .inner .language-nav .sub-menu.-active > a {
              color: #fff;
              z-index: 999; }
              .site-header .frame.-right .inner .language-nav .sub-menu.-active > a span::after {
                content: "";
                background: url(../images/icon_language_white.png) no-repeat top center;
                background-size: 26px;
                color: #fff; }
            .site-header .frame.-right .inner .language-nav .sub-menu.-active .sub-menu-nav {
              right: 0;
              width: 140px;
              -webkit-transition: width .5s ease-out;
              -o-transition: width .5s ease-out;
              transition: width .5s ease-out; }
            .site-header .frame.-right .inner .language-nav .sub-menu.-active .language-close {
              right: 0; }
          .site-header .frame.-right .inner .language-nav .sub-menu-nav {
            position: fixed;
            background: rgba(149, 174, 187, 0.9);
            color: #fff;
            top: calc(50% - 120px/2);
            right: -140px;
            width: 0;
            overflow: hidden;
            padding: 25px 80px 25px 30px;
            -webkit-transition: width .5s ease-out;
            -o-transition: width .5s ease-out;
            transition: width .5s ease-out;
            border-radius: 15px 0 0 15px; }
            .site-header .frame.-right .inner .language-nav .sub-menu-nav > li {
              margin-bottom: 10px; }
              .site-header .frame.-right .inner .language-nav .sub-menu-nav > li:last-child {
                margin-bottom: 0; }
              .site-header .frame.-right .inner .language-nav .sub-menu-nav > li.ja {
                display: none; }
              .site-header .frame.-right .inner .language-nav .sub-menu-nav > li > a {
                -webkit-transition: background-color .5s linear;
                -o-transition: background-color .5s linear;
                transition: background-color .5s linear;
                text-decoration: none;
                display: block;
                width: 140px;
                color: #fff;
                font-size: 13px;
                color: #64737b;
                background: #fff;
                border-radius: 5px;
                padding: 8px 0; }
                .site-header .frame.-right .inner .language-nav .sub-menu-nav > li > a:hover {
                  color: #000; }
          .site-header .frame.-right .inner .language-nav .language-close {
            position: relative;
            right: -140px;
            -webkit-transition: all .5s ease-out;
            -o-transition: all .5s ease-out;
            transition: all .5s ease-out;
            background: transparent;
            border: 0;
            padding: 0.5em 0;
            color: #FFF;
            font-size: 12px;
            text-align: center; }
        .site-header .frame.-right .inner .pagetop {
          width: 100%;
          margin: 0 auto;
          position: absolute;
          bottom: 0;
          text-align: center;
          left: 0;
          right: 0; }
          .site-header .frame.-right .inner .pagetop a {
            width: 11px;
            display: block;
            text-align: center;
            margin: 0 auto;
            -webkit-transition: all .3s;
            -o-transition: all .3s;
            transition: all .3s; }
            .site-header .frame.-right .inner .pagetop a img {
              width: 100%;
              height: auto; }
            .site-header .frame.-right .inner .pagetop a:hover {
              opacity: 0.8;
              -webkit-transition: all .3s;
              -o-transition: all .3s;
              transition: all .3s; }
      .site-header .frame.-right.open .search-menu span::after {
        content: attr(data-txt-close);
        background: url(../images/icon_search_white.png) no-repeat top center;
        background-size: 18px;
        color: #fff;
        position: relative;
        z-index: 1001; }
      .site-header .frame.-right.open .search-overlay {
        -webkit-transition: all .5s;
        -o-transition: all .5s;
        transition: all .5s;
        visibility: visible;
        opacity: 1; }
  .site-header .global-nav {
    width: 1040px;
    margin: 0 auto; }
    .site-header .global-nav > ul {
      width: 100%;
      list-style: none;
      margin-left: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      .site-header .global-nav > ul > li {
        position: relative;
        overflow: hidden;
        display: block;
        text-align: center; }
        .site-header .global-nav > ul > li > a {
          font-size: 14px;
          color: #000;
          text-decoration: none;
          display: block;
          padding: 10px 2px;
          letter-spacing: 0;
          position: relative;
          -webkit-transition: background-color .3s linear;
          -o-transition: background-color .3s linear;
          transition: background-color .3s linear; }
          .site-header .global-nav > ul > li > a i {
            font-style: normal;
            display: inline-block; }
          .site-header .global-nav > ul > li > a.nav-news i {
            background: url(../images/icon_nav_news_black.png) no-repeat 0 50%;
            background-size: 18px 19px;
            padding-left: 22px; }
          .site-header .global-nav > ul > li > a.nav-about i {
            background: url(../images/icon_nav_about_black.png) no-repeat 0 50%;
            background-size: 22px 16px;
            padding-left: 28px; }
          .site-header .global-nav > ul > li > a.nav-course i {
            background: url(../images/icon_nav_course_black.png) no-repeat 0 50%;
            background-size: 18px 19px;
            padding-left: 26px; }
          .site-header .global-nav > ul > li > a.nav-access i {
            background: url(../images/icon_nav_access_black.png) no-repeat 0 50%;
            background-size: 22px 18px;
            padding-left: 30px; }
          .site-header .global-nav > ul > li > a.nav-info i {
            background: url(../images/icon_nav_info_black.png) no-repeat 0 50%;
            background-size: 13px 18px;
            padding-left: 22px; }
          .site-header .global-nav > ul > li > a.nav-iju i {
            background: url(../images/icon_nav_iju_black.png) no-repeat 0 50%;
            background-size: 22px 19px;
            padding-left: 30px; }
          .site-header .global-nav > ul > li > a.nav-faq i {
            background: url(../images/icon_nav_faq_black.png) no-repeat 0 50%;
            background-size: 20px 18px;
            padding-left: 28px; }
          .site-header .global-nav > ul > li > a.nav-contact i {
            background: url(../images/icon_nav_contact_black.png) no-repeat 0 50%;
            background-size: 17px 12px;
            padding-left: 25px; }
          .site-header .global-nav > ul > li > a:hover, .site-header .global-nav > ul > li > a.-active {
            color: #95aebb; }
            .site-header .global-nav > ul > li > a:hover::after, .site-header .global-nav > ul > li > a.-active::after {
              border-top: 1px solid #95aebb;
              border-right: 1px solid #95aebb; }
            .site-header .global-nav > ul > li > a:hover.nav-news i, .site-header .global-nav > ul > li > a.-active.nav-news i {
              background: url(../images/icon_nav_news_blue.png) no-repeat 0 50%;
              background-size: 18px 19px; }
            .site-header .global-nav > ul > li > a:hover.nav-about i, .site-header .global-nav > ul > li > a.-active.nav-about i {
              background: url(../images/icon_nav_about_blue.png) no-repeat 0 50%;
              background-size: 22px 16px; }
            .site-header .global-nav > ul > li > a:hover.nav-course i, .site-header .global-nav > ul > li > a.-active.nav-course i {
              background: url(../images/icon_nav_course_blue.png) no-repeat 0 50%;
              background-size: 18px 19px; }
            .site-header .global-nav > ul > li > a:hover.nav-access i, .site-header .global-nav > ul > li > a.-active.nav-access i {
              background: url(../images/icon_nav_access_blue.png) no-repeat 0 50%;
              background-size: 22px 18px; }
            .site-header .global-nav > ul > li > a:hover.nav-info i, .site-header .global-nav > ul > li > a.-active.nav-info i {
              background: url(../images/icon_nav_info_blue.png) no-repeat 0 50%;
              background-size: 13px 18px; }
            .site-header .global-nav > ul > li > a:hover.nav-iju i, .site-header .global-nav > ul > li > a.-active.nav-iju i {
              background: url(../images/icon_nav_iju_blue.png) no-repeat 0 50%;
              background-size: 22px 19px; }
            .site-header .global-nav > ul > li > a:hover.nav-faq i, .site-header .global-nav > ul > li > a.-active.nav-faq i {
              background: url(../images/icon_nav_faq_blue.png) no-repeat 0 50%;
              background-size: 20px 18px; }
            .site-header .global-nav > ul > li > a:hover.nav-contact i, .site-header .global-nav > ul > li > a.-active.nav-contact i {
              background: url(../images/icon_nav_contact_blue.png) no-repeat 0 50%;
              background-size: 17px 12px; }
        .site-header .global-nav > ul > li.sub-menu > a {
          position: relative;
          text-decoration: none; }
          .site-header .global-nav > ul > li.sub-menu > a::after {
            content: "";
            position: absolute;
            top: 0;
            bottom: -30px;
            right: 0;
            left: 0;
            margin: auto;
            vertical-align: middle;
            width: 6px;
            height: 6px;
            border-top: 1px solid #000;
            border-right: 1px solid #000;
            -webkit-transition: all .2s ease-out;
            -o-transition: all .2s ease-out;
            transition: all .2s ease-out;
            -webkit-transform: rotate(135deg);
            -ms-transform: rotate(135deg);
            transform: rotate(135deg); }
          .site-header .global-nav > ul > li.sub-menu > a.-active {
            color: #95aebb; }
            .site-header .global-nav > ul > li.sub-menu > a.-active::after {
              border-top: 1px solid #95aebb;
              border-right: 1px solid #95aebb; }
            .site-header .global-nav > ul > li.sub-menu > a.-active.nav-about i {
              background: url(../images/icon_nav_about_blue.png) no-repeat 0 50%;
              background-size: 22px 16px; }
          .site-header .global-nav > ul > li.sub-menu > a:hover {
            border-radius: 15px;
            color: #fff;
            background: #95aebb; }
            .site-header .global-nav > ul > li.sub-menu > a:hover.nav-about i {
              background: url(../images/icon_nav_about_white.png) no-repeat 0 50%;
              background-size: 22px 16px; }
        .site-header .global-nav > ul > li.sub-menu.-active > a {
          border-radius: 15px 15px 0 0;
          color: #fff;
          background: #95aebb; }
          .site-header .global-nav > ul > li.sub-menu.-active > a.about i {
            background: url(../images/icon_nav_about_white.png) no-repeat 0 50%;
            background-size: 22px 16px; }
          .site-header .global-nav > ul > li.sub-menu.-active > a::after {
            border-color: #fff; }
        .site-header .global-nav > ul > li.sub-menu .sub-menu-inner {
          display: none;
          background: #95aebb;
          padding: 10px;
          margin: -1px;
          border-radius: 0 0 15px 15px; }
          .site-header .global-nav > ul > li.sub-menu .sub-menu-inner > li {
            margin-bottom: 10px; }
            .site-header .global-nav > ul > li.sub-menu .sub-menu-inner > li:last-child {
              margin-bottom: 0; }
          .site-header .global-nav > ul > li.sub-menu .sub-menu-inner a {
            font-size: 13px;
            display: block;
            padding: 6px 0;
            color: #64737b;
            background: #fff;
            border-radius: 5px;
            text-decoration: none; }
            .site-header .global-nav > ul > li.sub-menu .sub-menu-inner a:hover {
              color: #000;
              text-decoration: none; }

/* -----------------------------------------------
	3. Footer
-------------------------------------------------- */
.site-footer {
  margin-top: 60px; }
  .site-footer .utility-nav {
    margin-bottom: 60px; }
    .site-footer .utility-nav > ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      .site-footer .utility-nav > ul li {
        margin: 0 25px; }
        .site-footer .utility-nav > ul li a {
          width: 280px;
          display: block;
          line-height: 1.2;
          text-align: center;
          position: relative;
          border: 2px solid #eff3f5;
          border-radius: 60px;
          padding: 2em 0 1.2em;
          color: #64737b;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          text-decoration: none; }
          .site-footer .utility-nav > ul li a span {
            display: block; }
            .site-footer .utility-nav > ul li a span.ja {
              font-size: 22px;
              font-weight: bold; }
            .site-footer .utility-nav > ul li a span.en {
              font-family: "Barlow Semi Condensed", sans-serif;
              font-size: 14px;
              font-weight: bold;
              letter-spacing: 0.1em;
              margin-bottom: 0.2em; }
          .site-footer .utility-nav > ul li a::after {
            content: "";
            padding: 0;
            position: absolute;
            top: -25px;
            margin: 0 auto; }
          .site-footer .utility-nav > ul li a:hover {
            text-decoration: none;
            background: #eff3f5; }
          .site-footer .utility-nav > ul li a.nav-iju::after {
            background: url(../images/icon_nav_iju_blue.png) no-repeat top center;
            background-size: 57px;
            right: calc(50% - 57px/2);
            width: 57px;
            height: 49px; }
          .site-footer .utility-nav > ul li a.nav-faq::after {
            background: url(../images/icon_nav_faq_blue.png) no-repeat top center;
            background-size: 55px;
            right: calc(50% - 55px/2);
            width: 55px;
            height: 50px; }
          .site-footer .utility-nav > ul li a.nav-access::after {
            background: url(../images/icon_nav_access_blue.png) no-repeat top center;
            background-size: 55px;
            right: calc(50% - 55px/2);
            width: 55px;
            height: 45px; }
  .site-footer .site-guide {
    width: 1233px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    padding: 0 80px 60px;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .site-footer .site-guide > li {
      border-right: 1px solid #eaeff1;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding-right: 30px;
      margin-right: 30px; }
      .site-footer .site-guide > li.information .logo-footer {
        width: 144px;
        margin-bottom: 20px; }
        .site-footer .site-guide > li.information .logo-footer img {
          width: 100%;
          height: auto; }
      .site-footer .site-guide > li.information .address {
        font-size: 13px;
        line-height: 1.6; }
        .site-footer .site-guide > li.information .address a {
          text-decoration: none; }
      .site-footer .site-guide > li.information .logo-marugame {
        margin-bottom: 14px; }
      .site-footer .site-guide > li.information .copyright {
        font-family: "Barlow Semi Condensed", sans-serif;
        font-size: 12px;
        font-weight: bold;
        letter-spacing: 0.1em; }
      .site-footer .site-guide > li.sitemap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch; }
        .site-footer .site-guide > li.sitemap > ul {
          width: 50%; }
          .site-footer .site-guide > li.sitemap > ul > li {
            margin-bottom: 25px; }
            .site-footer .site-guide > li.sitemap > ul > li > a {
              color: #64737b;
              font-weight: bold;
              text-decoration: none; }
              .site-footer .site-guide > li.sitemap > ul > li > a:hover {
                text-decoration: underline; }
            .site-footer .site-guide > li.sitemap > ul > li > ul {
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-orient: horizontal;
              -webkit-box-direction: normal;
              -ms-flex-direction: row;
              flex-direction: row;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              -webkit-box-pack: justify;
              -ms-flex-pack: justify;
              justify-content: space-between;
              -webkit-box-align: stretch;
              -ms-flex-align: stretch;
              align-items: stretch; }
              .site-footer .site-guide > li.sitemap > ul > li > ul > li {
                width: 50%;
                padding-left: 10px;
                margin-top: 5px;
                -webkit-box-sizing: border-box;
                box-sizing: border-box; }
                .site-footer .site-guide > li.sitemap > ul > li > ul > li a {
                  color: #64737b;
                  font-size: 14px;
                  text-decoration: none; }
                  .site-footer .site-guide > li.sitemap > ul > li > ul > li a:hover {
                    text-decoration: underline; }
            .site-footer .site-guide > li.sitemap > ul > li:last-child {
              margin-bottom: 0; }
      .site-footer .site-guide > li.banner {
        width: 30%; }
        .site-footer .site-guide > li.banner h5 {
          font-weight: bold;
          font-size: 14px;
          margin-bottom: 20px; }
        .site-footer .site-guide > li.banner .banner-list {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between;
			padding: 0 3px;}
          .site-footer .site-guide > li.banner .banner-list li {
            width: calc(50% - 10px);
            margin-bottom: 15px; }
            .site-footer .site-guide > li.banner .banner-list li a {
              -webkit-transition: all .3s;
              -o-transition: all .3s;
              transition: all .3s; }
              .site-footer .site-guide > li.banner .banner-list li a:hover {
                text-decoration: none;
                opacity: 0.5;
                -webkit-transition: all .3s;
                -o-transition: all .3s;
                transition: all .3s; }
              .site-footer .site-guide > li.banner .banner-list li a img {
                width: 100%;
                height: auto;
                border: 1px solid #dfe7eb; }
            .site-footer .site-guide > li.banner .banner-list li:last-child {
              margin-bottom: 0; }
      .site-footer .site-guide > li:last-child {
        border-right: none;
        padding-right: 0;
        margin-right: 0; }
	

.banner-slide .slick-prev{
    left: -25px;
  }
.banner-slide .slick-next{
    right: -25px;
}
.banner-slide .slick-next,
.banner-slide .slick-prev {
    webkit-appearance: none;
    position: absolute;
    top: calc(50% - 24px);
    display: inline-block;
    content: "";
    width: 30px;
    height: 48px;
    background: url(../images/banner_next.png) no-repeat 0 0;
    background-size: 30px 48px;
    vertical-align: middle;
    border: 0;
    text-indent: -9999px;
    z-index: 2;
}
.banner-slide .slick-prev {
    background-image: url(../images/banner_prev.png);
}
  @media screen and (max-width:480px) {
    .banner-slide .slick-prev,
	.banner-slide .slick-next{
        background: none;            
    }
}
.banner-slide .slick-dots{
  text-align: center;
}
.banner-slide .slick-dots li{
    display: inline-block;
    margin: 0 10px;
}
.banner-slide .slick-dots li button{
	position: relative;
	text-indent: -9999px; 
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
	color: #64737b;
}
	
.banner-slide .slick-dots li button:before {
        content: '○';
        font-size: 10px;
        text-indent: 0px;
        position: absolute;
        top: 0;
        left: 0;
      }
.banner-slide .slick-dots li.slick-active button:before{
        content: '●';
}

/* -----------------------------------------------
  4. Site Content
-------------------------------------------------- */
.site-content {
  margin: 80px 80px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #eff3f5;
  border-radius: 15px;
  padding: 50px 0; }
  .site-content > .inner {
    width: 100%;
    max-width: 1140px;
    padding: 50px;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    position: relative; }
    .site-content > .inner + .inner {
      padding-top: 0; }
    .site-content > .inner:last-child {
      padding-bottom: 0; }
    .site-content > .inner > .primary {
      float: left;
      width: calc(100% - 260px); }
    .site-content > .inner > .secondary {
      float: right;
      width: 220px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }

/* -----------------------------------------------
	5. Content
-------------------------------------------------- */
/* パンくず */
.breadcrumb {
  background: rgba(255, 255, 255, 0.6);
  position: relative;
  padding: 0.8em 40px;
  margin: 0 0 0;
  overflow: hidden; }
  .breadcrumb > li {
    float: left;
    font-size: 12px;
    color: #000; }
    .breadcrumb > li::after {
      content: "»";
      display: inline-block;
      margin: 0 1em; }
    .breadcrumb > li:last-child::after {
      display: none; }
    .breadcrumb > li a {
      color: #000;
      text-decoration: none; }
      .breadcrumb > li a:hover {
        text-decoration: underline; }

hr.white {
  height: 1px;
  border: 0;
  border-bottom: 1px solid #FFF;
  margin: 0; }

/* 記事一覧 */
#category .filter-wrap {
  margin-bottom: 40px; }
  #category .filter-wrap .filter-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    #category .filter-wrap .filter-inner.-kind {
      margin-top: 10px;
    }
    #category .filter-wrap .filter-inner .title {
      font-family: "Barlow Semi Condensed", sans-serif;
      font-weight: bold;
      letter-spacing: 0.1em;
      color: #64737b;
      width: 110px;
      text-align: left; }
    #category .filter-wrap .filter-inner .filter-nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      #category .filter-wrap .filter-inner .filter-nav li {
        text-align: center;
        width: 100px;
        padding: 0.4em 0 0.6em;
        margin-left: 10px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        color: #64737b;
        border-radius: 20px;
        background: #fff;
        line-height: 1;
        font-size: 14px;
        cursor: pointer; }
        #category .filter-wrap .filter-inner .filter-nav li:hover {
          text-decoration: none;
          background: #95aebb;
          color: #fff; }
        #category .filter-wrap .filter-inner .filter-nav li.mixitup-control-active {
          background: #95aebb;
          color: #fff; }
        #category .filter-wrap .filter-inner .filter-nav li:first-child {
          margin-left: 0; }
    #category .filter-wrap .filter-inner.-category .filter-nav {
      margin-bottom: 10px; }
    #category .filter-wrap .filter-inner.-area .title:not(.ja) {
      letter-spacing: 0.88em; }

#category .article {
  text-align: justify; }
  #category .article .mix, #category .article .gap {
    display: inline-block; }
  #category .article .gap {
    margin-bottom: 0 !important; }

.article-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-bottom: 20px; }
  .article-list > li {
    width: calc((100% - 30px - 30px - 30px) / 4);
    margin-bottom: 30px; }
    .article-list > li:nth-last-child(-n+4) {
      margin-bottom: 0; }
    .article-list > li .thumbnail {
      margin-bottom: 10px; }
      .article-list > li .thumbnail a {
        display: block;
        background: #95aebb;
        border-radius: 10px;
        position: relative; }
        .article-list > li .thumbnail a img {
          border-radius: 10px;
          width: 100%;
          height: 150px;
          -o-object-fit: cover;
          object-fit: cover; }
        @media (min-width: 769px) {
          .article-list > li .thumbnail a:hover img {
            opacity: 0.2; }
          .article-list > li .thumbnail a:hover::after {
            content: "詳しく見る";
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            color: #fff;
            font-size: 14px;
            font-weight: bold;
            display: block;
            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; } }
    .article-list > li .title {
      text-align: center;
      margin-bottom: 8px; }
      .article-list > li .title a {
        color: #64737b;
        font-weight: bold;
        text-decoration: none; }
    .article-list > li .tag {
      text-align: center;
      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; }
      .article-list > li .tag span {
        color: #64737b;
        font-size: 12px;
        text-decoration: none;
        background: #fff;
        padding: 0.2em 0.8em 0.3em;
        border-radius: 5px;
        margin: 0 2px; }
        .article-list > li .tag span:first-child {
          margin-left: 0; }
        .article-list > li .tag span:last-child {
          margin-right: 0; }

.search-list .item {
  border-bottom: 1px solid #CCC; }

.search-card {
  display: block;
  text-decoration: none;
  padding: 30px 0;
  min-height: 150px; }
  @media (min-width: 769px) {
    .search-card:hover {
      background: #F5F5F5; } }
  .search-card .thumbnail {
    float: left; }
  .search-card .meta, .search-card .title, .search-card .summary, .search-card .tag {
    margin-left: 268px; }
  .search-card .meta {
    margin-bottom: 0.5em; }
    .search-card .meta .category-label {
      display: inline-block;
      width: 10em;
      padding: 0.1em 0;
      font-size: 0.63em;
      text-align: center;
      background: #95aebb;
      color: #FFF; }
    .search-card .meta .date {
      margin-left: 10px;
      color: #999999;
      font-size: 0.75em;
      font-weight: normal; }
  .search-card .title {
    color: #64737b;
    font-weight: bold;
    margin-bottom: 0.5em; }
  .search-card .summary {
    font-size: 0.88em;
    margin-bottom: 1em; }
  .search-card .tag span {
    color: #64737b;
    font-size: 12px;
    text-decoration: none;
    background: #fff;
    padding: 0.2em 0.8em 0.3em;
    border-radius: 5px;
    margin: 0 2px; }
    .search-card .tag span:first-child {
      margin-left: 0; }
    .search-card .tag span:last-child {
      margin-right: 0; }

@media (max-width: 767px) {
  .search-card {
    min-height: 0;
    padding: 15px 0; }
    .search-card .thumbnail {
      width: 34vw; }
    .search-card .meta, .search-card .title, .search-card .summary, .search-card .tag {
      margin-left: 38vw; }
    .search-card .meta .date {
      white-space: nowrap; }
    .search-card .summary {
      position: relative;
      height: 3em;
      overflow: hidden; }
      .search-card .summary:after {
        position: absolute;
        right: 0;
        bottom: 0;
        content: "..."; }
    .search-card .tag span {
      background: #e7edf0; } }

/* 島一覧 */
.bnr-other-island {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }
  .bnr-other-island > li {
    width: calc((100% - 45px - 45px - 45px) / 4); }
    .bnr-other-island > li a {
      position: relative;
      display: block;
      background: #95aebb;
      border-radius: 15px;
      text-decoration: none; }
      .bnr-other-island > li a img {
        width: 100%;
        height: auto;
        opacity: 0.3;
        border-radius: 15px; }
      .bnr-other-island > li a::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        color: #fff;
        font-size: 18px;
        font-weight: bold;
        display: block;
        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; }
      .bnr-other-island > li a.honshima::after {
        content: "本島"; }
      .bnr-other-island > li a.ushijima::after {
        content: "牛島"; }
      .bnr-other-island > li a.hiroshima::after {
        content: "広島"; }
      .bnr-other-island > li a.teshima::after {
        content: "手島"; }
      .bnr-other-island > li a.oteshima::after {
        content: "小手島"; }
      .bnr-other-island > li a:hover {
        text-decoration: none; }
        .bnr-other-island > li a:hover img {
          opacity: 1; }

/* よくある質問 */
.accordion > ul > li {
  border-radius: 10px;
  margin-bottom: 20px;
  background: #fff; }
  .accordion > ul > li > a {
    display: block;
    padding: 30px 80px;
    text-decoration: none;
    font-size: 18px;
    cursor: pointer;
    -webkit-transition: all, 0.25s, linear;
    -o-transition: all, 0.25s, linear;
    transition: all, 0.25s, linear;
    position: relative; }
    .accordion > ul > li > a:hover, .accordion > ul > li > a.active {
      text-decoration: none; }
    .accordion > ul > li > a::before {
      content: "";
      background: url(../images/ico_q.png) no-repeat;
      background-size: 25px;
      width: 25px;
      height: 28px;
      position: absolute;
      top: 33px;
      left: 30px; }
  .accordion > ul > li .inner {
    zoom: 1;
    display: none;
    padding: 0 80px 40px;
    margin: 0;
    position: relative; }
    .accordion > ul > li .inner:after {
      content: '';
      display: block;
      clear: both;
      overflow: auto; }
    .accordion > ul > li .inner p {
      font-size: 15px;
      line-height: 2; }
      .accordion > ul > li .inner p:last-child {
        margin-bottom: 0; }
  .accordion > ul > li:last-child {
    margin-bottom: 0; }

.switch .menu {
  display: block;
  position: relative; }
  .switch .menu::after {
    content: "";
    background: url(../images/ico_plus.png) no-repeat;
    background-size: 32px;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 30px;
    right: 30px;
    -webkit-transition: all, 0.25s, linear;
    -o-transition: all, 0.25s, linear;
    transition: all, 0.25s, linear; }
  .switch .menu.active::after {
    background: url(../images/ico_minus.png) no-repeat;
    background-size: 32px; }

.switch > ul > li.open .menu::after {
  content: "";
  background: url(../images/ico_minus.png) no-repeat;
  background-size: 32px; }

.switch > ul > li.open .menu.active::after {
  background: url(../images/ico_plus.png) no-repeat;
  background-size: 32px; }

.switch > ul > li.open .inner {
  display: block; }

/* ニュース一覧 */
.news-list > li {
  border-bottom: 1px solid #ddd; }
  .news-list > li a {
    color: #64737b;
    display: block;
    text-decoration: none; }
    .news-list > li a dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      background: url(../images/ico_arrow_right_gray.png) no-repeat 98% 50%;
      background-size: 6px 10px; }
      .news-list > li a dl dt, .news-list > li a dl dt {
        color: #64737b;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 54px; }
      .news-list > li a dl dt {
        font-family: "Barlow Semi Condensed", sans-serif;
        padding: 0 30px; }
      .news-list > li a dl dd {
        white-space: nowrap;
        overflow: hidden;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        padding-right: 40px; }
    .news-list > li a:hover {
      background: #f9fafb;
      text-decoration: none; }
  .news-list > li:first-child {
    border-top: 1px solid #ddd; }

/* 移住者インタビュー */
.interview-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }
  .interview-list li {
    border-radius: 0 0 15px 15px; }
    .interview-list li a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      color: #64737b;
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s;
      text-decoration: none; }
      .interview-list li a .photo {
        position: relative; }
        .interview-list li a .photo img {
          border-radius: 15px 15px 0 0; }
        .interview-list li a .photo .text {
          background: #fff;
          width: 100%;
          height: 100%;
          display: block;
          padding: 20px 30px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          border-radius: 0 0 15px 15px;
          text-align: center; }
          .interview-list li a .photo .text .tag {
            border: 1px solid #bac3ca;
            display: inline-block;
            padding: 0.2em 1em;
            font-size: 14px; }
          .interview-list li a .photo .text .title {
            font-family: "Yu Mincho", "YuMincho", serif;
            font-size: 18px;
            line-height: 1.6;
            margin: 10px 0; }
          .interview-list li a .photo .text .name {
            font-size: 18px; }
            .interview-list li a .photo .text .name span {
              font-size: 14px; }
          .interview-list li a .photo .text .label {
            font-size: 12px; }
      .interview-list li a:hover {
        text-decoration: none;
        opacity: 0.7;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s; }
  .interview-list.-slide {
    margin-bottom: 40px; }
    .interview-list.-slide .slick-slide {
      width: 399px !important;
      position: relative;
      margin: 0 15px; }
      .interview-list.-slide .slick-slide .photo {
        width: 100%; }
        .interview-list.-slide .slick-slide .photo img {
          width: 100%;
          height: auto; }
        .interview-list.-slide .slick-slide .photo .text {
          width: auto;
          height: auto;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: start;
          -ms-flex-align: start;
          align-items: flex-start; }
    .interview-list.-slide .slick-next, .interview-list.-slide .slick-prev {
      webkit-appearance: none;
      position: absolute;
      top: calc(50% - 24px);
      display: inline-block;
      content: "";
      width: 48px;
      height: 48px;
      background: url(../images/hero_next.png) no-repeat 0 0;
      background-size: 48px 48px;
      vertical-align: middle;
      border: 0;
      text-indent: -9999px;
      z-index: 2; }
    .interview-list.-slide .slick-prev {
      left: calc(50% - 220px);
      background-image: url(../images/hero_prev.png); }
    .interview-list.-slide .slick-next {
      right: calc(50% - 220px);
      background-image: url(../images/hero_next.png); }
  .interview-list.-column2 {
    margin: 0 0 -20px -20px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    .interview-list.-column2 li {
      width: calc((100% - 20px - 20px - 20px) / 3);
      margin: 0 0 20px 20px;
      overflow: hidden; }
      .interview-list.-column2 li a .photo img {
        width: 100%;
        height: auto; }
      .interview-list.-column2 li a .photo .text {
        max-width: 100%;
        padding: 30px 20px; }
        .interview-list.-column2 li a .photo .text .tag {
          font-size: 12px; }
        .interview-list.-column2 li a .photo .text .title {
          font-size: 16px;
          line-height: 1.6;
          margin: 10px 0 15px;
          font-weight: bold; }
        .interview-list.-column2 li a .photo .text .name {
          font-size: 18px; }
          .interview-list.-column2 li a .photo .text .name span {
            font-size: 14px; }
        .interview-list.-column2 li a .photo .text .label {
          font-size: 12px; }
  .interview-list.-column3 {
    margin-bottom: -20px; }
    .interview-list.-column3::after {
      content: "";
      min-width: calc((100% - 20px - 20px - 20px - 20px) / 4); }
    .interview-list.-column3 li {
      width: calc((100% - 20px - 20px - 20px) / 4);
      margin-bottom: 20px; }
      .interview-list.-column3 li a .photo img {
        width: 100%;
        height: auto; }
      .interview-list.-column3 li a .photo .text {
        max-width: 100%;
        height: auto;
        padding: 30px 20px; }
        .interview-list.-column3 li a .photo .text .tag {
          font-size: 11px;
          margin-bottom: 10px; }
        .interview-list.-column3 li a .photo .text .title {
          display: none; }
        .interview-list.-column3 li a .photo .text .name {
          font-size: 18px; }
          .interview-list.-column3 li a .photo .text .name span {
            font-size: 12px; }

  .movie-list.-slide {
    margin-bottom: 40px; }
    .movie-list.-slide .slick-slide {
      width: 399px !important;
      position: relative;
      margin: 0 15px; }
      .movie-list.-slide .slick-slide .photo {
        width: 100%; }
        .movie-list.-slide .slick-slide .photo img {
          width: 100%;
          height: auto; }
        .movie-list.-slide .slick-slide .photo .text {
          width: auto;
          height: auto;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: start;
          -ms-flex-align: start;
          align-items: flex-start; }
    .movie-list.-slide .slick-next, .movie-list.-slide .slick-prev {
      webkit-appearance: none;
      position: absolute;
      top: calc(50% - 24px);
      display: inline-block;
      content: "";
      width: 48px;
      height: 48px;
      background: url(../images/hero_next.png) no-repeat 0 0;
      background-size: 48px 48px;
      vertical-align: middle;
      border: 0;
      text-indent: -9999px;
      z-index: 2; }
    .movie-list.-slide .slick-prev {
      left: calc(50% - 220px);
      background-image: url(../images/hero_prev.png); }
    .movie-list.-slide .slick-next {
      right: calc(50% - 220px);
      background-image: url(../images/hero_next.png); }
      .movie-list.-slide .js-modal-btn {
        transition: 0.3s;
        cursor: pointer;
      }
      .movie-list.-slide .js-modal-btn:hover {
        opacity: 0.7;
        transition: 0.3s;
      }
      .movie-list.-slide .ico-play {
        position: absolute;
        right: 10px;
        bottom: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        color: #333;
        background-color: #fff;
        border-radius: 100px;
        width: 70px;
        height: 70px;
        font-family: 'Barlow', sans-serif;
        font-weight: bold;
        transition: 0.3s;
        pointer-events: none;
        margin-bottom: 0;
      }
      .movie-list.-slide .ico-play::before {
        display: block;
        content: "";
          width: 0px;
          height: 0px;
          border: 6px solid transparent;
          border-left: 15px solid #333;
          box-sizing: border-box;
        content: "";
          margin: 5px 0 0 10px;
          transition: 0.3s;
      }
      
      .movie-list.-slide .img:hover .ico-play {
        color: #fff;
        background-color: #95aebb;
          transition: 0.3s;
      }
      
      .movie-list.-slide .img:hover .ico-play::before {
          border-left: 15px solid #fff;
          transition: 0.3s;
      }
/* -----------------------------------------------
  6. Entry
-------------------------------------------------- */
.entry-title {
  font-size: 25px;
  font-weight: bold;
  padding: 0.5em 20px;
  margin: 0 0 20px;
  border-top: 1px solid #95aebb;
  border-bottom: 1px solid #95aebb; }

.entry-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 30px; }
  .entry-meta > li {
    margin-right: 10px; }
    .entry-meta > li .date {
      display: inline-block;
      font-size: 14px; }
    .entry-meta > li .tag {
      color: #64737b;
      font-size: 12px;
      text-decoration: none;
      background: #fff;
      padding: 0.2em 0.8em 0.3em;
      border-radius: 5px; }

.entry-pager {
  margin: 40px auto 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .entry-pager li {
    margin: 0 1px; }
    .entry-pager li span {
      display: inline-block;
      padding: 0.4em 1em;
      color: #FFF;
      background: #95aebb;
      text-decoration: none; }
    .entry-pager li a {
      text-decoration: none; }
      .entry-pager li a span {
        color: #000;
        background: #fff; }
      .entry-pager li a:hover span {
        color: #fff;
        background: #95aebb; }

.entry-nav {
  position: relative;
  border-top: 1px solid #64737b;
  border-bottom: 1px solid #64737b;
  margin: 40px 0 0;
  padding: 10px 20px;
  font-size: 0.88em;
  overflow: hidden;
  min-height: 1.7em; }
  .entry-nav a {
    color: #666;
    text-decoration: none; }
    .entry-nav a:hover {
      text-decoration: underline; }
  .entry-nav .previous {
    float: right; }
    .entry-nav .previous a {
      color: #64737b; }
      .entry-nav .previous a::after {
        display: inline-block;
        content: "";
        width: 8px;
        height: 8px;
        background: url(../images/arrow_c.svg) no-repeat 0 0;
        background-size: 8px 8px;
        vertical-align: middle;
        margin-left: 10px; }
  .entry-nav .index {
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%);
    transform: translate(-50%); }
    .entry-nav .index a {
      color: #64737b; }
  .entry-nav .next {
    float: left; }
    .entry-nav .next a {
      color: #64737b; }
      .entry-nav .next a::before {
        display: inline-block;
        content: "";
        width: 8px;
        height: 8px;
        background: url(../images/arrow_c.svg) no-repeat 0 0;
        background-size: 8px 8px;
        vertical-align: middle;
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
        margin-right: 10px; }

.entry-social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 2em 0 0; }
  .entry-social > li {
    margin: 0 0.63em; }
    .entry-social > li a {
      display: inline-block;
      background: #DDD;
      width: 3em;
      height: 3em;
      border-radius: 50% 50%;
      text-indent: -9999px;
      -webkit-transition: all .2s;
      -o-transition: all .2s;
      transition: all .2s; }
      .entry-social > li a.facebook {
        background: transparent url(../images/ico_facebook.svg) no-repeat 50% 50%;
        background-size: 1.5em 1.5em;
        border: 1px solid #3b5998; }
        .entry-social > li a.facebook:hover {
          background-color: #3b5998;
          background-image: url(../images/ico_facebook_white.svg); }
      .entry-social > li a.twitter {
        background: transparent url(../images/ico_twitter.svg) no-repeat 50% 50%;
        background-size: 1.5em 1.5em;
        border: 1px solid #55acee; }
        .entry-social > li a.twitter:hover {
          background-color: #55acee;
          background-image: url(../images/ico_twitter_white.svg); }
      .entry-social > li a.line {
        background: transparent url(../images/ico_line.svg) no-repeat 50% 50%;
        background-size: 1.5em 1.5em;
        border: 1px solid #00B900; }
        .entry-social > li a.line:hover {
          background-color: #00B900;
          background-image: url(../images/ico_line_white.svg); }

.secondary .title {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 18px;
  font-weight: bold;
  color: #95aebb;
  margin-bottom: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase; }

/**************************************************
	components
***************************************************/
/* -----------------------------------------------
	Animation
-------------------------------------------------- */
@-webkit-keyframes bgscale {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5); } }
@keyframes bgscale {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5); } }

@-webkit-keyframes bgscale2 {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes bgscale2 {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.vegas-animation-zoomIn {
  -webkit-animation: zoomIn ease-out forwards;
  animation: zoomIn ease-out forwards; }

@-webkit-keyframes zoomIn {
  0% {
    -webkit-transform: scale(1) rotate(0.1deg);
    transform: scale(1) rotate(0.1deg); }
  100% {
    -webkit-transform: scale(1.1) rotate(0.1deg);
    transform: scale(1.1) rotate(0.1deg); } }

@keyframes zoomIn {
  0% {
    -webkit-transform: scale(1) rotate(0.1deg);
    transform: scale(1) rotate(0.1deg); }
  100% {
    -webkit-transform: scale(1.1) rotate(0.1deg);
    transform: scale(1.1) rotate(0.1deg); } }

@-webkit-keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/* -----------------------------------------------
	Heading
-------------------------------------------------- */
.h1-a {
  text-align: center;
  margin-bottom: 40px; }
  .h1-a span {
    color: #000;
    display: block; }
    .h1-a span.ja {
      font-size: 30px;
      font-weight: bold; }
    .h1-a span.en {
      font-family: "Barlow Semi Condensed", sans-serif;
      font-size: 16px;
      font-weight: bold;
      letter-spacing: 0.1em;
      text-transform: uppercase; }

.h3-a {
  font-size: 22px;
  font-weight: bold;
  background: #f7f9fa;
  border-radius: 8px;
  padding: 0.2em 0.6em 0.3em;
  margin: 40px 0 30px; }
  .h3-a:first-child {
    margin-top: 0; }

.h3-b {
  display: inline-block;
  line-height: 1.2;
  text-align: center;
  position: relative;
  width: 100%;
  padding: 0 55px;
  margin-bottom: 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .h3-b span {
    display: block;
    color: #000; }
    .h3-b span.ja {
      font-size: 20px;
      font-weight: bold; }
    .h3-b span.en {
      font-family: "Barlow Semi Condensed", sans-serif;
      font-size: 14px;
      font-weight: bold;
      letter-spacing: 0.1em;
      margin-bottom: 0.3em; }
  .h3-b::before, .h3-b::after {
    content: '';
    position: absolute;
    top: 75%;
    display: inline-block;
    width: 45%;
    height: 1px;
    background-color: #95aebb; }
  .h3-b::before {
    left: 0; }
  .h3-b::after {
    right: 0; }

.h4-a {
  font-size: 20px;
  font-weight: bold;
  margin: 30px 0 20px;
  position: relative; }
  .h4-a::after {
    content: "";
    border-bottom: 1px solid #95aebb;
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    z-index: 1; }
  .h4-a span {
    background: #eff3f5;
    position: relative;
    z-index: 2;
    padding-right: 20px; }

.h5-a {
  font-size: 18px;
  font-weight: bold;
  margin: 20px 0 20px; }

/* -----------------------------------------------
	Button
-------------------------------------------------- */
.read-more {
  margin: 0 auto;
  text-align: center;
  padding-bottom: 1px; }
  .read-more a {
    position: relative;
    display: inline-block;
    color: #000;
    border-radius: 25px;
    border: 1px solid #95aebb;
    background: transparent;
    padding: 1em 4em;
    line-height: 1;
    text-decoration: none; }
    .read-more a:hover {
      text-decoration: none;
      background: #95aebb;
      color: #fff; }
  .read-more.-small a {
    font-size: 14px;
    padding: 0.8em 2em; }

.button-a {
  text-align: center;
  color: #fff;
  text-decoration: none;
  border-radius: 10px;
  font-size: 14px;
  min-width: 330px;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 1em 0;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  border: none; }
  .button-a.-confirm, .button-a.-primary {
    background: #95aebb; }
    .button-a.-confirm:hover, .button-a.-primary:hover {
      background: #c2d0d8; }
  .button-a.-small {
    min-width: 0;
    padding: 0.5em 1em; }
  .button-a.-send {
    background: #95aebb; }
    .button-a.-send:hover {
      background: #c2d0d8; }
  .button-a.-back {
    background: #cdd1d2; }
    .button-a.-back:hover {
      background: #dee2e3; }
  .button-a:hover {
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s; }

/* -----------------------------------------------
	Table-a
-------------------------------------------------- */
.table-a, .column-table- table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  margin: 0 auto 30px; }
  .table-a thead th, .column-table- table thead th {
    background: #d8e2e6;
    text-align: center;
    border-bottom: 1px solid #eff3f5; }
  .table-a th, .table-a td, .column-table- table th, .column-table- table td {
    padding: 1em 1.5em;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid #eff3f5; }
  .table-a th, .column-table- table th {
    background: #dde5e9;
    font-weight: 500;
    vertical-align: middle;
    font-weight: bold;
    text-align: center; }
  .table-a td, .column-table- table td {
    background: #e6ecef;
    border-left: 1px solid #eff3f5; }
    .table-a td.highlight, .column-table- table td.highlight {
      background: #95aebb;
      color: #fff; }

/* -----------------------------------------------
	List
-------------------------------------------------- */
.list-a, .list-b, .list-c {
  margin: 0 auto 30px; }
  .list-a li, .list-b li, .list-c li {
    text-indent: -0.8em;
    padding-left: 0.8em;
    margin-bottom: 8px; }
    .list-a li a, .list-b li a, .list-c li a {
      text-decoration: none; }
      .list-a li a:hover, .list-b li a:hover, .list-c li a:hover {
        text-decoration: underline; }
    .list-a li::before, .list-b li::before, .list-c li::before {
      content: "■";
      color: #95aebb;
      vertical-align: baseline;
      margin-right: 0.8em;
      font-size: 10px; }
    .list-a li:last-child, .list-b li:last-child, .list-c li:last-child {
      margin-bottom: 0; }

.list-b li::before {
  content: "";
  background: url(../images/ico_arrow_right_blue.png) no-repeat 0 46%;
  background-size: 4px;
  width: 4px;
  height: 8px;
  display: inline-block; }

.list-c li::before {
  display: none; }

/* -----------------------------------------------
	Blockquote
-------------------------------------------------- */
.blockquote-a {
  width: 100%;
  padding: 40px 50px;
  margin: 50px auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  border: solid 3px #e7ecef;
  border-radius: 10px; }
  .blockquote-a::before {
    content: url(../images/ico_blockquote.png);
    width: 91px;
    height: 97px;
    position: absolute;
    top: -25px;
    left: 25px;
    display: block; }
  .blockquote-a p {
    font-size: 15px;
    position: relative;
    z-index: 3;
    color: #8a99a1;
    line-height: 2.4;
    font-style: italic; }
    .blockquote-a p:last-child {
      margin-bottom: 0; }

/* -----------------------------------------------
	Box
-------------------------------------------------- */
.box-a, .box-b, .box-c {
  zoom: 1;
  padding: 30px 30px 10px;
  margin-bottom: 30px; }
  .box-a:after, .box-b:after, .box-c:after {
    content: '';
    display: block;
    clear: both;
    overflow: auto; }

.box-a {
  background: #f7f9fa; }

.box-b {
  background: #dde5e9; }

.box-c {
  border: 1px solid #95aebb; }

/* -----------------------------------------------
	Form
-------------------------------------------------- */
.form-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  margin-bottom: 30px;
  overflow: hidden;
  background: #fff;
  font-size: 14px; }
  .form-step > li {
    position: relative;
    width: 33.3%;
    padding: 1em;
    text-align: center;
    white-space: nowrap; }
    .form-step > li:last-child {
      border-right: 0; }
    .form-step > li.-current, .form-step > li.-done {
      font-weight: bold;
      background: #d8e2e6; }
      .form-step > li.-current::after, .form-step > li.-done::after {
        content: "";
        position: absolute;
        top: 0;
        right: -20px;
        width: 50px;
        height: 50px;
        border-width: 1px 1px 0 0;
        background: #d8e2e6;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg); }

.required, .any {
  color: #FFF;
  font-size: 12px;
  background: #F29191;
  padding: 0.1em 0.5em;
  font-size: 12px;
  display: inline-block;
  margin-left: 0.8em; }

.any {
  background: #95aebb; }

.form-table {
  width: 100%;
  margin-bottom: 40px; }
  .form-table th {
    position: relative;
    font-size: 0.94em;
    vertical-align: middle;
    padding: 1em 2em 1em 0; }
    .form-table th .required, .form-table th .any {
      float: right;
      vertical-align: middle; }
  .form-table td {
    padding: 1em 0; }
  .form-table.-confirm th, .form-table.-confirm td {
    border-bottom: 1px solid #dddddd; }
  .form-table table {
    width: 100%; }
    .form-table table th, .form-table table td {
      padding: 0.5em 1em 0.5em 0;
      vertical-align: middle; }

.form-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .form-action > li {
    margin: 0 10px 20px; }

.error {
  display: block;
  color: #ff0000;
  font-size: 0.88em;
  padding-top: 0.5em; }

.form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 0.5em; }
  .form-row:last-child {
    margin-bottom: 0; }
  .form-row .form-col {
    white-space: nowrap;
    margin-right: 1em; }
    .form-row .form-col:last-child {
      margin-right: 0; }

.text-field, .text-area, .select-box {
  width: 100%;
  background: #f9f9f9;
  border: 1px solid #e8e8e8;
  border-radius: 5px;
  padding: 0.5em 1em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .text-field.-error, .text-area.-error, .select-box.-error {
    background: #fff0f0;
    border-color: #f4c2c2; }
  .text-field.-inline, .text-area.-inline, .select-box.-inline {
    width: 20%;
    margin-right: 1em; }
  .text-field[disabled], .text-field[readonly], .text-area[disabled], .text-area[readonly], .select-box[disabled], .select-box[readonly] {
    color: #999;
    background: #DDD;
    border: 1px solid #CCC; }
  .text-field[name="inquiry"], .text-area[name="inquiry"], .select-box[name="inquiry"] {
    height: 8em; }

/**************************************************
	a-blog cms
***************************************************/
/* -----------------------------------------------
	AdminBox
-------------------------------------------------- */
.entryFormColumn #more {
  display: none !important; }

#adminBox {
  margin: -50px 0 50px; }

.acms-entry + .acms-box-medium {
  margin-top: 20px; }

/* -----------------------------------------------
	Lite Editor
-------------------------------------------------- */
.color-red {
  font-weight: bold;
  color: #F00; }

.color-orange {
  font-weight: bold;
  color: #F60; }

.color-green {
  font-weight: bold;
  color: #096; }

.color-blue {
  font-weight: bold;
  color: #06C; }

.color-pink {
  font-weight: bold;
  color: #F06; }

.color-gray {
  font-weight: bold;
  color: #888; }

.lite-editor-toolbox span[class*="color-"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle; }

.lite-editor-toolbox .color-red {
  background-color: #F00; }

.lite-editor-toolbox .color-orange {
  background-color: #F60; }

.lite-editor-toolbox .color-green {
  background-color: #096; }

.lite-editor-toolbox .color-blue {
  background-color: #06C; }

.lite-editor-toolbox .color-pink {
  background-color: #F06; }

.lite-editor-toolbox .color-gray {
  background-color: #888; }

/* -----------------------------------------------
	Grid Custom
-------------------------------------------------- */
.acms-grid > .column-image-center {
  margin-bottom: 20px; }

.acms-grid > .column-image-left,
.box-a > .column-image-left,
.box-b > .column-image-left {
  padding-right: 25px; }

.acms-grid > .column-image-right,
.box-a > .column-image-right,
.box-b > .column-image-right {
  padding-left: 25px; }

.acms-grid > .list-a,
.acms-grid > .list-b,
.acms-grid > .plain {
  padding-left: 10px; }

.acms-grid > .box-a,
.acms-grid > .box-b,
.acms-grid > .box-c {
  margin-left: 10px;
  margin-right: 10px;
  padding: 30px 20px 10px; }

.caption {
  display: block;
  font-size: 88%;
  margin-top: 0.5em;
  text-align: center; }

/* -----------------------------------------------
	File Unit 
-------------------------------------------------- */
.ico-pdf::before {
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_pdf.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
  margin-right: 8px;
  vertical-align: middle; }

.ico-xls::before, .ico-xlsx::before {
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_xls.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
  margin-right: 8px;
  vertical-align: middle; }

.ico-doc::before, .ico-docx::before {
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_doc.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
  margin-right: 8px;
  vertical-align: middle; }

.ico-ppt::before, .ico-pptx::before {
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_ppt.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
  margin-right: 8px;
  vertical-align: middle; }

.ico-external::after {
  display: inline-block;
  content: "";
  background: url(../images/ico_external.svg) no-repeat;
  background-size: 10px;
  width: 10px;
  height: 10px;
  margin: 0 5px; }

/**************************************************
	unique
***************************************************/
/* -----------------------------------------------
	5. Migrant Information
-------------------------------------------------- */
.cover {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 50px; }
  .cover img {
    border-radius: 0 15px 15px 0;
    width: 60%;
    height: 60%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2; }
  .cover .text {
    background: rgba(255, 255, 255, 0.8);
    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;
    width: 40%;
    padding: 0 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 15px 0 0 15px;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    text-align: center; }
    .cover .text .tag {
      border: 1px solid #bac3ca;
      display: inline-block;
      padding: 0.2em 1em; }
    .cover .text .title {
      font-family: "Yu Mincho", "YuMincho", serif;
      font-size: 28px;
      line-height: 1.4;
      margin: 25px 0; }
    .cover .text .name {
      font-size: 24px; }
      .cover .text .name span {
        font-size: 16px; }
    .cover .text .label {
      font-size: 14px; }

/* -----------------------------------------------
	6. Information
-------------------------------------------------- */
#info .article-list {
  margin-bottom: 0; }

#info .read-more {
  margin-top: 30px; }

#info .gallery,
#emptyhouse .gallery {
  margin-bottom: 40px; }
  #info .gallery .slick-slide,
  #emptyhouse .gallery .slick-slide {
    margin: 0 0.5px;
    position: relative;
    overflow: hidden;
    height: 372px; }
    #info .gallery .slick-slide img,
    #emptyhouse .gallery .slick-slide img {
      width: auto;
      height: 100%;
      margin: 0 auto; }
      #emptyhouse dd.tag {
        margin-bottom: 10px;
      }

/* -----------------------------------------------
	7. Link
-------------------------------------------------- */
.link-list-a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }
  .link-list-a > li {
    width: 33.33%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .link-list-a > li a {
      text-decoration: none;
      background: #f7f9fa;
      display: block;
      padding: 10px 20px;
      margin: 0 1px 1px 0;
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s;
      position: relative; }
      .link-list-a > li a::after {
        display: block;
        content: "";
        background: url(../images/ico_external.svg) no-repeat;
        background-size: 10px;
        width: 10px;
        height: 10px;
        position: absolute;
        top: calc(50% - 5px);
        right: 10px; }
      .link-list-a > li a:hover {
        opacity: 0.5;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s; }

.link-list-b > li {
  border-bottom: 1px solid #e4e9eb;
  padding-bottom: 20px;
  margin-bottom: 20px; }
  .link-list-b > li a {
    display: block;
    text-decoration: none; }
    .link-list-b > li a dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .link-list-b > li a dl dt.thumbnail {
        background: #fff;
        min-width: 250px;
        min-height: 100px;
        padding: 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-right: 30px;
        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; }
        .link-list-b > li a dl dt.thumbnail img {
          width: auto;
          height: 30px; }
      .link-list-b > li a dl dd.title {
        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; }
        .link-list-b > li a dl dd.title .title-inner span {
          display: block; }
          .link-list-b > li a dl dd.title .title-inner span.site-name {
            font-weight: bold; }
          .link-list-b > li a dl dd.title .title-inner span.caption {
            font-size: 12px;
            margin-top: 0.2em; }
    .link-list-b > li a:hover {
      background: #f7f9fa; }
  .link-list-b > li.logo-love-marugame a dl, .link-list-b > li.logo-pref-kagawa a dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .link-list-b > li.logo-love-marugame a dl dt.thumbnail img, .link-list-b > li.logo-pref-kagawa a dl dt.thumbnail img {
      width: auto;
      height: 50px; }
  .link-list-b > li.logo-mhl a dl dt.thumbnail {
    background: #8fd9c7; }
  .link-list-b > li:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0; }

/**************************************************
  /top.html
***************************************************/
#top #adminBox {
  margin: 0; }

#top .site-header .frame.-left .inner .logo {
  display: none; }

#top .site-content {
  padding: 0; }

#top #keyvisual {
  position: relative;
  background: #FFF; }
  #top #keyvisual .logo-top {
    position: fixed;
    top: 30px;
    left: 50px;
    z-index: 1002; }
    #top #keyvisual .logo-top img {
      width: 60px; }
  #top #keyvisual .scroll {
    font-family: "Barlow Semi Condensed", sans-serif;
    color: #000;
    font-size: 14px;
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: center;
    position: relative;
    display: block;
    margin-top: 27px; }
    #top #keyvisual .scroll::after {
      content: "";
      position: absolute;
      background: #ddd;
      width: 3px;
      height: 40px;
      left: calc(50% - 3px);
      bottom: 31px; }
  #top #keyvisual .important-news {
    width: 100%;
    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;
    color: #fff;
    vertical-align: middle;
    margin-top: 30px; }
    #top #keyvisual .important-news dt, #top #keyvisual .important-news dd {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: 50px; }
    #top #keyvisual .important-news dt {
      background: #b57474;
      font-size: 14px;
      width: 170px;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
    #top #keyvisual .important-news dd {
      background: #d7acac;
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      padding: 0 20px;
      white-space: nowrap;
      overflow: hidden;
      -o-text-overflow: ellipsis;
      text-overflow: ellipsis; }
      #top #keyvisual .important-news dd .text {
        white-space: nowrap;
        overflow: hidden;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        color: #fff;
        text-decoration: none; }
        #top #keyvisual .important-news dd .text:hover {
          text-decoration: underline; }
  #top #keyvisual #hero {
    position: relative; }
    @media (-ms-high-contrast: none), (-ms-high-contrast: active) {
      #top #keyvisual #hero {
        -webkit-transform: rotate(0.1deg);
        -ms-transform: rotate(0.1deg);
        transform: rotate(0.1deg); } }
    #top #keyvisual #hero #slider {
      width: calc(100vw - 180px);
      height: calc(100vh - 140px);
      border-radius: 15px;
      overflow: hidden;
      position: relative; }
      #top #keyvisual #hero #slider img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translateY(-50%) translateX(-50%);
        -ms-transform: translateY(-50%) translateX(-50%);
        transform: translateY(-50%) translateX(-50%); }
      #top #keyvisual #hero #slider .vegas-wrapper {
        pointer-events: none; }
      #top #keyvisual #hero #slider .vegas-slide .vegas-slide-content {
        -webkit-animation: fade-in 1s ease;
        animation: fade-in 1s ease; }
        #top #keyvisual #hero #slider .vegas-slide .vegas-slide-content img {
          width: auto; }
    #top #keyvisual #hero .dots {
      position: absolute;
      right: 30px;
      bottom: 20px; }
      #top #keyvisual #hero .dots > li {
        margin: 10px 0; }
        #top #keyvisual #hero .dots > li:last-child {
          margin-bottom: 0; }
        #top #keyvisual #hero .dots > li a {
          -webkit-appearance: none;
          display: block;
          width: 10px;
          height: 10px;
          border: 1px solid #fff;
          padding: 0;
          text-indent: -9999px;
          border-radius: 50%;
          background: none; }
          #top #keyvisual #hero .dots > li a.-active {
            background: #fff; }

#top .news {
  padding-top: 1px;
  padding-bottom: 60px;
  background: #FFF; }
  #top .news .heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 30px 0 20px; }
    #top .news .heading .title {
      font-size: 22px;
      font-weight: bold;
      color: #333;
      margin: 0; }
    #top .news .heading .more {
      font-size: 14px;
      margin: 4px 0 0 20px; }
      #top .news .heading .more a {
        background: url(../images/ico_arrow_right_gray.png) no-repeat 0 50%;
        background-size: 6px 10px;
        padding-left: 10px;
        color: #666;
        text-decoration: none; }
  #top .news .news-list > li a:hover {
    background: #eff3f5; }

#top .about {
  background: #eff3f5;
  padding: 30px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  #top .about .inner {
    background: url(../images/bg_about_map.png) no-repeat 100% 0;
    width: 1040px;
    padding: 80px 0 45px;
    margin: -60px 80px 0; }
    #top .about .inner .title {
      background: -webkit-gradient(linear, left top, left bottom, color-stop(88%, transparent), color-stop(88%, #c5d3d9));
      background: -webkit-linear-gradient(transparent 88%, #c5d3d9 88%);
      background: -o-linear-gradient(transparent 88%, #c5d3d9 88%);
      background: linear-gradient(transparent 88%, #c5d3d9 88%);
      display: inline-block;
      line-height: 1.2;
      text-align: center;
      position: relative;
      margin-bottom: 20px; }
      #top .about .inner .title span {
        display: block;
        color: #000; }
        #top .about .inner .title span.ja {
          font-size: 22px;
          font-weight: bold; }
        #top .about .inner .title span.en {
          font-family: "Barlow Semi Condensed", sans-serif;
          font-size: 14px;
          font-weight: bold;
          letter-spacing: 0.1em;
          margin-bottom: 0.5em; }
      #top .about .inner .title::after {
        content: "";
        background: url(../images/icon_about_blue.png) no-repeat top center;
        background-size: 70px;
        padding: 0;
        position: absolute;
        top: -60px;
        right: calc(50% - 70px/2);
        margin: 0 auto;
        width: 70px;
        height: 50px; }
    #top .about .inner .lead {
      width: 490px;
      text-align: center;
      margin-bottom: 30px; }
      #top .about .inner .lead p {
        text-align: left;
        line-height: 2; }
  #top .about .island-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    #top .about .island-nav li {
      margin-left: 20px; }
      #top .about .island-nav li a {
        color: #64737b;
        border-radius: 20px;
        border: 1px solid #95aebb;
        background: #fff;
        padding: 0.3em 2em 0.4em;
        line-height: 1;
        text-decoration: none; }
        #top .about .island-nav li a:hover {
          text-decoration: none;
          background: #95aebb;
          color: #fff; }
      #top .about .island-nav li:first-child {
        margin-left: 0; }

#top .info {
  background: #eff3f5;
  text-align: center;
  padding: 0 0 60px; }

#top .info.course .h3-b::before,
#top .info.course .h3-b::after {
  width: 42%;
}
#top .course .interview-list.-column2 {
  margin: 0;
}
.course .interview-list.-column2 li {
  width: 100%;
  margin: 0 0 0 20px;
}
.course .interview-list.-column2 li a {
  display: block;
}

#top .people {
  width: 100%;
  max-width: 100%;
  background: #eff3f5;
  padding: 0 0 50px; }
  #top .people .h3-b {
    max-width: 1140px;
    margin: 0 auto 30px;
    display: block; }

/**************************************************
  /about/
***************************************************/
/* -----------------------------------------------
  Index
-------------------------------------------------- */
#about .inner.-about {
  background-image: url(../about/images/bg_about_map.png);
  background-repeat: no-repeat;
  background-position: right 30px top 30px;
  padding: 284px 50px 0;
  margin: -244px auto 0; }

#about .intro {
  position: relative;
  margin-bottom: 170px; }
  #about .intro .lead {
    position: relative;
    line-height: 2;
    z-index: 2; }
  #about .intro .map {
    position: absolute;
    right: -20px;
    top: -65px;
    z-index: 1; }

#about .island-info {
  margin-bottom: 50px; }
  #about .island-info a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    text-decoration: none; }
    #about .island-info a .photo {
      max-width: 470px;
      max-height: 300px;
      overflow: hidden;
      border-radius: 15px; }
      #about .island-info a .photo img {
        width: 100%;
        height: auto;
        border-radius: 15px;
        -webkit-transition: all 2s ease-out;
        -o-transition: all 2s ease-out;
        transition: all 2s ease-out; }
    #about .island-info a .text {
      background: rgba(255, 255, 255, 0.6);
      border-radius: 15px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
      position: relative;
      z-index: 2;
      max-width: 615px;
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s; }
      #about .island-info a .text .title {
        font-weight: bold;
        color: #000;
        font-size: 28px;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        padding: 0 0;
        text-align: center;
        letter-spacing: 0.2em;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s;
        line-height: 85px; }
      #about .island-info a .text .lead {
        font-size: 15px;
        color: #64737b;
        padding: 25px 30px 35px;
        margin-bottom: 0;
        line-height: 2;
        position: relative;
        width: 423px; }
        #about .island-info a .text .lead .name {
          background: url(../images/ico_arrow_triple_right_blue.png) no-repeat 0 56%;
          background-size: 18px 8px;
          padding-left: 25px;
          font-family: "Barlow Semi Condensed", sans-serif;
          position: absolute;
          top: -15px;
          left: 34px;
          color: #95aebb;
          font-size: 15px; }
      #about .island-info a .text .read-more {
        position: absolute;
        left: 0;
        right: 0;
        bottom: -18px;
        color: #000;
        background: #fff;
        border: 1px solid #95aebb;
        border-radius: 20px;
        font-size: 14px;
        display: inline;
        width: 8em;
        padding: 0.4em 0;
        margin-bottom: 0;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s; }
    #about .island-info a:hover {
      text-decoration: none; }
      #about .island-info a:hover figure.photo img {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1); }
      #about .island-info a:hover .text {
        background: #fff; }
        #about .island-info a:hover .text .title {
          background: #95aebb;
          color: #fff; }
        #about .island-info a:hover .text .read-more {
          color: #fff;
          background: #95aebb; }
  #about .island-info.-left a .photo {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2; }
  #about .island-info.-left a .text {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-right: -45px; }
    #about .island-info.-left a .text .title {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2; }
    #about .island-info.-left a .text .lead {
      border-right: 2px solid #eff3f5;
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1; }
    #about .island-info.-left a .text .read-more {
      left: -20px; }
  #about .island-info.-left a:hover .text .title {
    border-radius: 0 15px 15px 0; }
  #about .island-info.-right a .text {
    margin-left: -45px; }
    #about .island-info.-right a .text .lead {
      border-left: 2px solid #eff3f5; }
    #about .island-info.-right a .text .read-more {
      left: 20px; }
  #about .island-info.-right a:hover .text .title {
    border-radius: 15px 0 0 15px; }

/* -----------------------------------------------
  Lower
-------------------------------------------------- */
#about .keyvisual {
  margin: 0 auto 30px;
  border-radius: 15px;
  overflow: hidden; }
  #about .keyvisual img {
    width: 100%;
    height: auto; }

#about .catch-copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  #about .catch-copy .access-map {
    margin: -115px 0 0 60px; }
    #about .catch-copy .access-map .read-more {
      margin-top: -10px; }
      #about .catch-copy .access-map .read-more a {
        background: #FFF; }
        #about .catch-copy .access-map .read-more a:hover {
          background: #95aebb; }
  #about .catch-copy .text .title {
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 16px; }
  #about .catch-copy .text .lead {
    line-height: 2;
    margin-bottom: 25px; }
  #about .catch-copy .text .detail-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px; }
    #about .catch-copy .text .detail-list > li {
      width: calc(50% - 10px);
      background: #fff;
      padding: 10px 20px;
      border-radius: 8px;
      margin-right: 10px; }
      #about .catch-copy .text .detail-list > li dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        #about .catch-copy .text .detail-list > li dl dt {
          font-weight: bold;
          margin-right: 15px; }
  #about .catch-copy .text .option-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    #about .catch-copy .text .option-list > li {
      border: 1px solid #95aebb;
      padding: 2px 10px;}
	  #about .catch-copy .text .option-list > li a {
		  position: relative;
		  z-index: 999;}
	  #about .catch-copy .text .option-list > li .openwindow {
		position: relative;
        padding-right: 12px;}
	  #about .catch-copy .text .option-list > li .openwindow::after {
		display: block;
		content: "";
		background: url(../images/ico_external.svg) no-repeat;
		background-size: 10px;
		width: 10px;
		height: 10px;
		position: absolute;
		top: calc(50% - 4px);
		right: -3px; }
      #about .catch-copy .text .option-list > li span {
        font-size: 14px; }
      #about .catch-copy .text .option-list > li.cycle span {
        background: url(../images/icon_cycle_blue.png) no-repeat 0 50%;
        background-size: 32px 20px;
        padding-left: 40px; }
      #about .catch-copy .text .option-list > li.bus {
        margin-left: -1px; }
        #about .catch-copy .text .option-list > li.bus span {
          background: url(../images/icon_bus_blue.png) no-repeat 0 50%;
          background-size: 34px 15px;
          padding-left: 42px; }

#about .related-article {
  background: #FFF;
  padding: 30px 0 60px;
  text-align: center; }
  #about .related-article .related-article-inner {
    width: 1140px;
    margin: 0 auto; }
  #about .related-article #category .filter-wrap {
    text-align: center;
    display: inline-block;
    margin-bottom: 30px; }
    #about .related-article #category .filter-wrap .filter-inner .filter-nav li {
      background: #eff3f5; }
      #about .related-article #category .filter-wrap .filter-inner .filter-nav li:hover, #about .related-article #category .filter-wrap .filter-inner .filter-nav li.mixitup-control-active {
        text-decoration: none;
        background: #95aebb;
        color: #fff; }
    #about .related-article #category .filter-wrap .filter-inner.-category .filter-nav {
      margin-bottom: 0; }
  #about .related-article #category .article .article-list > li dl dd.tag span {
    background: #eff3f5; }

#about .access-info > .title {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px; }

#about .access-info .lead {
  font-size: 14px;
  text-align: center; }

#about .access-info .route-guide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }
  #about .access-info .route-guide .how {
    width: calc(50% - 40px/2);
    position: relative; }
    #about .access-info .route-guide .how.-full {
      width: 100%; }
    #about .access-info .route-guide .how .title {
      background: #95aebb;
      color: #fff;
      padding: 0.5em 0;
      margin-bottom: 20px;
      text-align: center;
      font-weight: bold; }
    #about .access-info .route-guide .how .ticket {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-bottom: 16px; }
      #about .access-info .route-guide .how .ticket > li {
        line-height: 1; }
        #about .access-info .route-guide .how .ticket > li:first-child {
          border-right: 1px solid #95aebb;
          padding-right: 30px; }
        #about .access-info .route-guide .how .ticket > li:last-child {
          padding-left: 30px; }
        #about .access-info .route-guide .how .ticket > li span {
          display: block; }
          #about .access-info .route-guide .how .ticket > li span:first-child {
            margin-bottom: 8px; }
          #about .access-info .route-guide .how .ticket > li span:nth-child(3) {
            margin-top: 8px; }
		  #about .access-info .route-guide .how .ticket > li .openwindow {
			position: relative; }
		  #about .access-info .route-guide .how .ticket > li .openwindow::after {
			display: block;
			content: "";
			background: url(../images/ico_external.svg) no-repeat;
			background-size: 10px;
			width: 10px;
			height: 10px;
			position: absolute;
			top: calc(50% - 4px);
			right: -15px; }
    #about .access-info .route-guide .how .notes {
      font-size: 14px;
      display: inline-block;
      margin-bottom: 20px; }
      #about .access-info .route-guide .how .notes em {
        font-style: normal;
        font-weight: bold;
        color: #d28431; }
    #about .access-info .route-guide .how .timetable {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      position: absolute;
      top: 210px; }
      #about .access-info .route-guide .how .timetable .table {
        width: 50%;
        border-collapse: collapse;
        font-size: 14px;
        margin: 0 auto 25px;
        border: 1px solid #c2d0d8; }
        #about .access-info .route-guide .how .timetable .table.-second {
          margin-left: -1px;
          border-left: none; }
        #about .access-info .route-guide .how .timetable .table th, #about .access-info .route-guide .how .timetable .table td {
          padding: 0.5em 1em;
          text-align: center;
          vertical-align: middle;
          border-bottom: 1px solid #c2d0d8; }
          #about .access-info .route-guide .how .timetable .table th em, #about .access-info .route-guide .how .timetable .table td em {
            font-style: normal;
            font-weight: bold;
            color: #d28431; }
          #about .access-info .route-guide .how .timetable .table th.highlight, #about .access-info .route-guide .how .timetable .table th .highlight, #about .access-info .route-guide .how .timetable .table td.highlight, #about .access-info .route-guide .how .timetable .table td .highlight {
            opacity: 0.5; }
        #about .access-info .route-guide .how .timetable .table th {
          background: #e0e8eb;
          vertical-align: middle;
          font-weight: normal;
          position: relative; }
          #about .access-info .route-guide .how .timetable .table th:after {
            content: "";
            background: url(../images/ico_arrow_right_blue.png) no-repeat 0 50%;
            background-size: 4px;
            width: 4px;
            height: 8px;
            display: inline-block;
            position: absolute;
            top: calc(50% - 4px);
            right: 0; }
          #about .access-info .route-guide .how .timetable .table th:last-child:after {
            display: none; }
        #about .access-info .route-guide .how .timetable .table.-en td {
          font-family: "Barlow Semi Condensed", sans-serif;
          font-size: 18px; }

#about .access-info .read-more {
  margin: 540px auto 0; }

#about .access-info.-ushijima .route-guide .how .timetable {
  top: 180px; }

#about .access-info.-ushijima .read-more {
  margin: 530px auto 0; }

#about .access-info.-hiroshima .route-guide .how .timetable, #about .access-info.-teshima .route-guide .how .timetable, #about .access-info.-oteshima .route-guide .how .timetable {
  position: relative;
  top: 0; }
  #about .access-info.-hiroshima .route-guide .how .timetable .timetable-column2, #about .access-info.-teshima .route-guide .how .timetable .timetable-column2, #about .access-info.-oteshima .route-guide .how .timetable .timetable-column2 {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #about .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li, #about .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li, #about .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li {
      width: calc((100% - 30px) / 2); }
      #about .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li .attention {
        font-size: 12px;
        margin-bottom: 30px; }
  #about .access-info.-hiroshima .route-guide .how .timetable .table, #about .access-info.-teshima .route-guide .how .timetable .table, #about .access-info.-oteshima .route-guide .how .timetable .table {
    width: 100%;
    margin-bottom: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    #about .access-info.-hiroshima .route-guide .how .timetable .table.-second, #about .access-info.-teshima .route-guide .how .timetable .table.-second, #about .access-info.-oteshima .route-guide .how .timetable .table.-second {
      border: 1px solid #c2d0d8; }
    #about .access-info.-hiroshima .route-guide .how .timetable .table th, #about .access-info.-hiroshima .route-guide .how .timetable .table td, #about .access-info.-teshima .route-guide .how .timetable .table th, #about .access-info.-teshima .route-guide .how .timetable .table td, #about .access-info.-oteshima .route-guide .how .timetable .table th, #about .access-info.-oteshima .route-guide .how .timetable .table td {
      padding: 0.5em 0.5em; }
      #about .access-info.-hiroshima .route-guide .how .timetable .table th sup, #about .access-info.-hiroshima .route-guide .how .timetable .table td sup, #about .access-info.-teshima .route-guide .how .timetable .table th sup, #about .access-info.-teshima .route-guide .how .timetable .table td sup, #about .access-info.-oteshima .route-guide .how .timetable .table th sup, #about .access-info.-oteshima .route-guide .how .timetable .table td sup {
        font-size: 10px; }
    #about .access-info.-hiroshima .route-guide .how .timetable .table th:nth-child(5):after, #about .access-info.-hiroshima .route-guide .how .timetable .table th:last-child:after, #about .access-info.-teshima .route-guide .how .timetable .table th:nth-child(5):after, #about .access-info.-teshima .route-guide .how .timetable .table th:last-child:after, #about .access-info.-oteshima .route-guide .how .timetable .table th:nth-child(5):after, #about .access-info.-oteshima .route-guide .how .timetable .table th:last-child:after {
      display: none; }
    #about .access-info.-hiroshima .route-guide .how .timetable .table td.double, #about .access-info.-teshima .route-guide .how .timetable .table td.double, #about .access-info.-oteshima .route-guide .how .timetable .table td.double {
      line-height: 1.5; }

#about .access-info.-hiroshima .read-more, #about .access-info.-teshima .read-more, #about .access-info.-oteshima .read-more {
  margin: 10px auto 0; }

#about .other-island > .title {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px; }

#about .area-map {
  text-align: center; }
  #about .area-map .title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #000; }
  #about .area-map .lead {
    color: #000;
    margin-bottom: 30px; }

#about .gallery .slick-slide {
  margin: 0 0.5px; }
  #about .gallery .slick-slide img {
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto; }

/**************************************************
  /access/
***************************************************/
#access .map {
  width: 1000px;
  margin: 0 auto; }

#access .lead {
  text-align: center;
  margin: -10px auto 40px;
  line-height: 2; }

#access .other-island {
  border-top: 1px solid #e7ecef;
  margin-top: 40px; }

#access .bnr-other-island > li {
  width: calc((100% - 20px - 20px - 20px - 20px) / 5); }

#access .h3-a {
  margin: 60px auto 30px; }

#access .route {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative; }
  #access .route > li {
    position: relative; }
    #access .route > li.area {
      min-height: 100px;
      border: 3px solid #e7ecef;
      border-radius: 10px;
      text-align: center;
      font-size: 14px;
      font-weight: bold;
      background: #f9fafb;
      z-index: 2;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      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;
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      padding: 0 20px; }
      #access .route > li.area small {
        font-size: 10px;
        font-weight: normal;
        display: block; }
    #access .route > li.area-column2 > ul > li {
      min-height: 50px;
      height: 50px;
      border: 3px solid #e7ecef;
      border-radius: 10px;
      text-align: center;
      font-size: 14px;
      font-weight: bold;
      background: #f9fafb;
      z-index: 2;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      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;
      padding: 0 20px; }
      #access .route > li.area-column2 > ul > li:first-child {
        margin-bottom: 10px; }
      #access .route > li.area-column2 > ul > li.none {
        background: none;
        border: none;
        font-size: 12px;
        font-weight: normal;
        position: relative; }
        #access .route > li.area-column2 > ul > li.none span {
          position: relative;
          z-index: 2;
          padding-top: 25px; }
        #access .route > li.area-column2 > ul > li.none::before {
          content: "";
          border-top: 5px solid #e7ecef;
          position: absolute;
          top: calc(50% - 5px);
          left: 0;
          width: 100%;
          z-index: 1; }
        #access .route > li.area-column2 > ul > li.none.-train:after {
          content: "";
          background: url(../images/ico_train.svg) no-repeat;
          background-size: 35px;
          width: 35px;
          height: 18px;
          top: 0;
          left: calc(50% - 35px/2);
          position: absolute;
          z-index: 3; }
    #access .route > li.time {
      text-align: center;
      padding: 60px 10px 0;
      font-size: 12px;
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      #access .route > li.time:before {
        content: "";
        position: absolute;
        z-index: 3; }
      #access .route > li.time:after {
        content: "";
        border-bottom: 5px solid #e7ecef;
        position: absolute;
        top: calc(50% - 5px);
        left: 0;
        width: 100%;
        z-index: 1; }
      #access .route > li.time.-bus:before {
        content: "";
        background: url(../images/ico_bus.svg) no-repeat;
        background-size: 30px;
        width: 30px;
        height: 17px;
        top: 40px;
        left: calc(50% - 30px/2); }
      #access .route > li.time.-train:before {
        content: "";
        background: url(../images/ico_train.svg) no-repeat;
        background-size: 35px;
        width: 35px;
        height: 18px;
        top: 38px;
        left: calc(50% - 35px/2); }
      #access .route > li.time.-car:before {
        content: "";
        background: url(../images/ico_car.svg) no-repeat;
        background-size: 29px;
        width: 29px;
        height: 18px;
        top: 38px;
        left: calc(50% - 29px/2); }
      #access .route > li.time.-walk:before {
        content: "";
        background: url(../images/ico_walk.svg) no-repeat;
        background-size: 20px;
        width: 20px;
        height: 28px;
        top: 32px;
        left: calc(50% - 20px/2); }
    #access .route > li.time-column2 {
      text-align: center;
      font-size: 12px;
      -webkit-box-flex: 2;
      -ms-flex-positive: 2;
      flex-grow: 2; }
      #access .route > li.time-column2 > ul li {
        position: relative;
        min-height: 50px;
        padding: 25px 10px 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        #access .route > li.time-column2 > ul li span {
          position: relative;
          z-index: 2; }
          #access .route > li.time-column2 > ul li span::before {
            content: "";
            position: absolute;
            z-index: 3; }
        #access .route > li.time-column2 > ul li:after {
          content: "";
          border-bottom: 5px solid #e7ecef;
          position: absolute;
          left: 0;
          width: 100%;
          z-index: 1; }
        #access .route > li.time-column2 > ul li:first-child {
          margin-bottom: 10px; }
          #access .route > li.time-column2 > ul li:first-child::after {
            top: calc(50% - 5px); }
        #access .route > li.time-column2 > ul li:last-child::after {
          top: calc(50% - 5px); }
        #access .route > li.time-column2 > ul li.-train:before {
          content: "";
          background: url(../images/ico_train.svg) no-repeat;
          background-size: 35px;
          width: 35px;
          height: 18px;
          top: 0;
          left: calc(50% - 35px/2);
          position: absolute;
          z-index: 3; }
      #access .route > li.time-column2.-airplane > ul li span::before {
        content: "";
        background: url(../images/ico_airplane.svg) no-repeat;
        background-size: 30px;
        width: 30px;
        height: 16px;
        top: -25px;
        left: calc(50% - 30px/2); }
      #access .route > li.time-column2.-shinkansen > ul li span::before {
        content: "";
        background: url(../images/ico_shinkansen.svg) no-repeat;
        background-size: 39px;
        width: 39px;
        height: 12px;
        top: -22px;
        left: calc(50% - 39px/2); }
      #access .route > li.time-column2.-car > ul li span::before {
        content: "";
        background: url(../images/ico_car.svg) no-repeat;
        background-size: 29px;
        width: 29px;
        height: 18px;
        top: -25px;
        left: calc(50% - 29px/2); }

/**************************************************
	base
***************************************************/
.pc-none {
  display: none; }

.sp-nav {
  display: none; }

.sp-nav-button {
  display: none; }

.sp-header {
  display: none; }

@media screen and (max-width: 768px) {
  /* -----------------------------------------------
	1. body
-------------------------------------------------- */
  body {
    font-size: 14px; }
  img {
    max-width: 100%;
    height: auto; }
  /* -----------------------------------------------
	helper
-------------------------------------------------- */
  .pc-none {
    display: block; }
  br.pc-none, span.pc-none {
    display: inline; }
  .sp-none {
    display: none; }
  .sp-txtc {
    text-align: center !important; }
  .sp-txtl {
    text-align: left !important; }
  ._double {
    margin-bottom: 20px !important; }
  ._small {
    font-size: 10px !important; } }

/**************************************************
	structure
***************************************************/
@media screen and (max-width: 768px) {
  /* -----------------------------------------------
  	1. Header
  -------------------------------------------------- */
  .skiptranslate + .site-header {
    top: 0; }
  .site-header {
    height: auto;
    padding: 0;
    position: relative;
    -webkit-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s; }
    .site-header .frame {
      padding: 0;
      height: calc(100vh - 101px);
      max-height: 520px; }
      .site-header .frame.-left {
        width: 50px;
        position: absolute;
        background: none; }
        .site-header .frame.-left .inner {
          width: 100%; }
          .site-header .frame.-left .inner .logo-secondary {
            display: none; }
          .site-header .frame.-left .inner .origin {
            display: none; }
          .site-header .frame.-left .inner .social-link li {
            margin-top: 8px;
            margin-bottom: 0; }
            .site-header .frame.-left .inner .social-link li a {
              width: 28px;
              height: 28px; }
      .site-header .frame.-right {
        display: none; }
    .site-header .global-nav {
      width: 100%;
      display: none; }
  .skiptranslate + .site-header + .sp-header .sp-nav-button-wrap {
    top: 71px; }
  .sp-header {
    display: block;
    position: relative; }
    .sp-header .logo {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      text-align: center;
      z-index: 1002;
      padding: 26px 20px 26px 0;
      background: transparent;
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
      .sp-header .logo img {
        width: 230px; }
      .sp-header .logo.is-fixed {
        padding: 15px 20px 15px 0;
        background: rgba(255, 255, 255, 0.9); }
    .sp-header .sp-nav-button-wrap {
      position: fixed;
      top: 31px;
      right: 0;
      width: 60px;
      height: 60px;
      display: inline-block;
      z-index: 9999;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-transition: all .4s;
      -o-transition: all .4s;
      transition: all .4s; }
      .sp-header .sp-nav-button-wrap .sp-nav-button,
      .sp-header .sp-nav-button-wrap .sp-nav-button span {
        display: inline-block;
        -webkit-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
      .sp-header .sp-nav-button-wrap .sp-nav-button {
        position: relative;
        width: 100%;
        height: 20px;
        z-index: 300; }
        .sp-header .sp-nav-button-wrap .sp-nav-button::after {
          position: absolute;
          bottom: -20px;
          left: 0;
          content: "";
          width: 100%;
          text-align: center;
          color: #000;
          font-size: 10px;
          font-weight: bold;
          letter-spacing: 0.1em;
          line-height: 1; }
        .sp-header .sp-nav-button-wrap .sp-nav-button span {
          position: absolute;
          left: 20%;
          width: 60%;
          height: 1px;
          background-color: #000; }
          .sp-header .sp-nav-button-wrap .sp-nav-button span:nth-of-type(1) {
            top: 0; }
          .sp-header .sp-nav-button-wrap .sp-nav-button span:nth-of-type(2) {
            top: calc(50% - 1px); }
          .sp-header .sp-nav-button-wrap .sp-nav-button span:nth-of-type(3) {
            bottom: 0; }
        .sp-header .sp-nav-button-wrap .sp-nav-button.-active::after {
          color: #000;
          content: ""; }
        .sp-header .sp-nav-button-wrap .sp-nav-button.-active span:nth-of-type(1) {
          -webkit-transform: translateY(9px) rotate(-45deg);
          -ms-transform: translateY(9px) rotate(-45deg);
          transform: translateY(9px) rotate(-45deg); }
        .sp-header .sp-nav-button-wrap .sp-nav-button.-active span:nth-of-type(2) {
          opacity: 0; }
        .sp-header .sp-nav-button-wrap .sp-nav-button.-active span:nth-of-type(3) {
          -webkit-transform: translateY(-9px) rotate(45deg);
          -ms-transform: translateY(-9px) rotate(45deg);
          transform: translateY(-9px) rotate(45deg); }
        .sp-header .sp-nav-button-wrap .sp-nav-button.-active span {
          background-color: #000; }
      .sp-header .sp-nav-button-wrap.is-fixed {
        position: fixed;
        top: 10px;
        right: 10px;
        height: 60px;
        background: #9fb6c2;
        padding: 20px 6px;
        -webkit-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
        border-radius: 50%; }
        .sp-header .sp-nav-button-wrap.is-fixed .sp-nav-button span {
          background-color: #fff; }
        .sp-header .sp-nav-button-wrap.is-fixed .sp-nav-button.-active::after {
          color: #fff; }
        .sp-header .sp-nav-button-wrap.is-fixed .sp-nav-button.-active span {
          background-color: #fff; }
  .skiptranslate + .site-header + .sp-header + .sp-nav {
    top: 40px; }
  .sp-nav {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    color: #000;
    z-index: 9998;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
    -webkit-transform: translateY(-150%);
    -ms-transform: translateY(-150%);
    transform: translateY(-150%); }
    .sp-nav.-active {
      -webkit-transform: translateY(0%);
      -ms-transform: translateY(0%);
      transform: translateY(0%); }
    .sp-nav .logo {
      margin: 5px 0 20px; }
      .sp-nav .logo img {
        width: 220px; }
    .sp-nav .search {
      position: relative; }
      .sp-nav .search .search-field {
        width: 100%;
        margin: 0 auto;
        height: 40px;
        padding: 0 20px 0 40px;
        border: none;
        border-radius: 10px;
        outline: 0;
        background: #eee;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 16px;
        line-height: 1.5;
        -webkit-appearance: none; }
      .sp-nav .search .search-button {
        -webkit-appearance: none;
        position: absolute;
        top: calc(50% - 10px);
        left: 10px;
        border: none;
        line-height: 1;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        text-indent: -9999px;
        z-index: 1;
        padding: 0;
        height: 20px;
        width: 20px;
        background: url("../images/icon_search_black.png") no-repeat 50% 50%;
        background-size: 17px 20px; }
    .sp-nav .sp-global-nav {
      margin: 20px 0; }
      .sp-nav .sp-global-nav > ul {
        border-top: 1px solid #ccc; }
        .sp-nav .sp-global-nav > ul > li {
          border-bottom: 1px solid #ccc;
          padding: 14px 10px; }
          .sp-nav .sp-global-nav > ul > li a {
            background: url(../images/ico_arrow_right_gray.png) no-repeat 100% 50%;
            background-size: 5px 10px;
            text-decoration: none;
            color: #000;
            font-size: 16px;
            display: block; }
            .sp-nav .sp-global-nav > ul > li a i {
              font-style: normal;
              padding-left: 30px; }
            .sp-nav .sp-global-nav > ul > li a.nav-home i {
              background: url(../images/icon_nav_home_black.png) no-repeat 0 50%;
              background-size: 18px 19px; }
            .sp-nav .sp-global-nav > ul > li a.nav-news i {
              background: url(../images/icon_nav_news_black.png) no-repeat 0 50%;
              background-size: 18px 19px; }
            .sp-nav .sp-global-nav > ul > li a.nav-about i {
              background: url(../images/icon_nav_about_black.png) no-repeat 0 50%;
              background-size: 22px 16px; }
            .sp-nav .sp-global-nav > ul > li a.nav-course i {
              background: url(../images/icon_nav_course_black.png) no-repeat 0 50%;
              background-size: 18px 19px; }
            .sp-nav .sp-global-nav > ul > li a.nav-access i {
              background: url(../images/icon_nav_access_black.png) no-repeat 0 50%;
              background-size: 22px 18px; }
            .sp-nav .sp-global-nav > ul > li a.nav-info i {
              background: url(../images/icon_nav_info_black.png) no-repeat 5% 60%;
              background-size: 13px 18px; }
            .sp-nav .sp-global-nav > ul > li a.nav-iju i {
              background: url(../images/icon_nav_iju_black.png) no-repeat 0 50%;
              background-size: 22px 19px; }
            .sp-nav .sp-global-nav > ul > li a.nav-faq i {
              background: url(../images/icon_nav_faq_black.png) no-repeat 0 50%;
              background-size: 20px 18px; }
            .sp-nav .sp-global-nav > ul > li a.nav-contact i {
              background: url(../images/icon_nav_contact_black.png) no-repeat 2% 50%;
              background-size: 17px 12px; }
          .sp-nav .sp-global-nav > ul > li.sp-menu .sp-menu-inner {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            margin-top: 10px; }
            .sp-nav .sp-global-nav > ul > li.sp-menu .sp-menu-inner li {
              width: calc((100% - 1px - 1px - 1px) / 3);
              margin: 0 1px 1px 0;
              text-align: center; }
              .sp-nav .sp-global-nav > ul > li.sp-menu .sp-menu-inner li a {
                background: #eff3f5;
                display: block;
                padding: 0.6em 0;
                font-size: 14px; }
    .sp-nav .accbox {
      border-radius: 25px;
      background: #eee; }
    .sp-nav .accbox label {
      display: block;
      margin: 1.5px 0;
      padding: 11px 30px;
      color: #000;
      font-weight: bold;
      cursor: pointer;
      position: relative; }
      .sp-nav .accbox label::after {
        content: "";
        background: url(../images/ico_arrow_right_gray.png) no-repeat 0 0;
        background-size: 5px 10px;
        width: 5px;
        height: 10px;
        display: inline-block;
        vertical-align: middle;
        position: absolute;
        top: calc(50% - 10px/2);
        right: 20px;
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg); }
      .sp-nav .accbox label::before {
        content: "";
        background: url(../images/icon_language_black.png) no-repeat 0 0;
        background-size: 16px 16px;
        width: 16px;
        height: 16px;
        display: inline-block;
        vertical-align: middle;
        margin: -2px 8px 0 0; }
    .sp-nav .accbox input {
      display: none; }
    .sp-nav .accbox .accshow {
      height: 0;
      padding: 0;
      overflow: hidden;
      opacity: 0;
      border-radius: 0 0 25px 25px; }
      .sp-nav .accbox .accshow .language-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 0 20px 20px;
        margin-bottom: -10px; }
        .sp-nav .accbox .accshow .language-list > li {
          width: calc((100% - 10px) / 2);
          text-align: center;
          margin-bottom: 10px; }
          .sp-nav .accbox .accshow .language-list > li > a {
            text-decoration: none;
            background: #fff;
            color: #64737b;
            display: block;
            border-radius: 20px;
            padding: 0.4em 0;
            font-size: 12px; }
    .sp-nav .cssacc:checked + .accshow {
      height: auto;
      padding: 0;
      background: #eee;
      opacity: 1; }
    .sp-nav .copyright {
      font-family: "Barlow Semi Condensed", sans-serif;
      font-size: 12px;
      font-weight: bold;
      letter-spacing: 0.15em;
      color: #64737b;
      text-align: center;
      margin: 20px auto 0;
      display: block; }
  /* -----------------------------------------------
  	4. Footer
  -------------------------------------------------- */
  .site-footer {
    margin-top: 30px; }
    .site-footer .utility-nav {
      padding: 0 20px;
      margin-bottom: 30px; }
      .site-footer .utility-nav > ul {
        display: block; }
        .site-footer .utility-nav > ul li {
          margin: 0 0 10px; }
          .site-footer .utility-nav > ul li a {
            width: 100%;
            padding: 18px 20px 20px 70px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: end;
            -ms-flex-pack: end;
            justify-content: flex-end;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center; }
            .site-footer .utility-nav > ul li a span.ja {
              font-size: 18px;
              -webkit-box-ordinal-group: 2;
              -ms-flex-order: 1;
              order: 1;
              margin-right: auto; }
            .site-footer .utility-nav > ul li a span.en {
              margin-bottom: 0;
              -webkit-box-ordinal-group: 3;
              -ms-flex-order: 2;
              order: 2; }
            .site-footer .utility-nav > ul li a::after {
              left: 20px;
              margin: 0; }
            .site-footer .utility-nav > ul li a.nav-iju::after {
              background-size: 35px;
              top: calc(50% - 30px/2);
              width: 35px;
              height: 30px; }
            .site-footer .utility-nav > ul li a.nav-faq::after {
              background-size: 35px;
              top: calc(50% - 32px/2);
              width: 35px;
              height: 32px; }
            .site-footer .utility-nav > ul li a.nav-access::after {
              background-size: 35px;
              top: calc(50% - 29px/2);
              width: 35px;
              height: 29px; }
          .site-footer .utility-nav > ul li:last-child {
            margin-bottom: 0; }
    .site-footer .site-guide {
      width: 100%;
      padding: 0 0 40px;
      margin: 0 auto;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      .site-footer .site-guide > li {
        width: 100%;
        border-right: none;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 0;
        margin-right: 0; }
        .site-footer .site-guide > li.information {
          padding: 0 20px;
          -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
          order: 2;
          text-align: center; }
          .site-footer .site-guide > li.information .logo-footer {
            width: 180px;
            margin: 0 auto 20px; }
          .site-footer .site-guide > li.information .address {
            line-height: 2; }
            .site-footer .site-guide > li.information .address a {
              text-decoration: underline; }
          .site-footer .site-guide > li.information .logo-marugame {
            margin-bottom: 20px; }
        .site-footer .site-guide > li.sitemap {
          display: none; }
        .site-footer .site-guide > li.banner {
          width: 100%;
          -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
          order: 1;
          margin-bottom: 40px; }
          .site-footer .site-guide > li.banner h5 {
            display: none; }
          .site-footer .site-guide > li.banner .banner-list li {
            width: 100%;
            margin-bottom: 0; }

  /* -----------------------------------------------
    2. Site Content
  -------------------------------------------------- */
  #news .site-header, #about .site-header, #access .site-header, #info .site-header, #emptyhouse .site-header, #iju .site-header, #faq .site-header, #contact .site-header, #privacy .site-header {
    width: 100%;
    padding: 40px 0 0 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative; }
    #news .site-header .frame.-left, #about .site-header .frame.-left, #access .site-header .frame.-left, #info .site-header .frame.-left, #emptyhouse .site-header .frame.-left, #iju .site-header .frame.-left, #faq .site-header .frame.-left, #contact .site-header .frame.-left, #privacy .site-header .frame.-left {
      background: #fff;
      width: 40px;
      height: 7em;
      top: 40px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start; }
      #news .site-header .frame.-left .inner .origin, #about .site-header .frame.-left .inner .origin, #access .site-header .frame.-left .inner .origin, #info .site-header .frame.-left .inner .origin, #emptyhouse .site-header .frame.-left .inner .origin, #iju .site-header .frame.-left .inner .origin, #faq .site-header .frame.-left .inner .origin, #contact .site-header .frame.-left .inner .origin, #privacy .site-header .frame.-left .inner .origin {
        display: block;
        margin: 0 auto; }
  #news .site-header .frame.-left .inner .logo,
  #news .site-header .frame.-left .inner .social-link, #about .site-header .frame.-left .inner .logo,
  #about .site-header .frame.-left .inner .social-link, #access .site-header .frame.-left .inner .logo,
  #access .site-header .frame.-left .inner .social-link, #info .site-header .frame.-left .inner .logo, #emptyhouse .site-header .frame.-left .inner .logo,
  #info .site-header .frame.-left .inner .social-link, #iju .site-header .frame.-left .inner .logo,
  #iju .site-header .frame.-left .inner .social-link, #faq .site-header .frame.-left .inner .logo,
  #faq .site-header .frame.-left .inner .social-link, #contact .site-header .frame.-left .inner .logo,
  #contact .site-header .frame.-left .inner .social-link, #privacy .site-header .frame.-left .inner .logo,
  #privacy .site-header .frame.-left .inner .social-link {
    display: none; }
  #news .site-content, #about .site-content, #access .site-content, #info .site-content, #emptyhouse .site-content, #iju .site-content, #faq .site-content, #contact .site-content, #privacy .site-content {
    padding: 0;
    border-radius: 15px 0 0 15px;
    background: #fff; }
    #news .site-content .h1-a, #about .site-content .h1-a, #access .site-content .h1-a, #info .site-content .h1-a, #emptyhouse .site-content .h1-a, #iju .site-content .h1-a, #faq .site-content .h1-a, #contact .site-content .h1-a, #privacy .site-content .h1-a {
      background: #eff3f5;
      padding: 20px 20px 20px 0;
      margin: 0 0 30px 40px;
      border-radius: 10px 0 0 10px; }
  .site-content {
    padding: 0;
    margin: 0;
    border-radius: 0; }
    .site-content > .inner {
      width: 100%;
      max-width: 100%;
      padding: 0 20px;
      margin: 0 auto;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .site-content > .inner + .inner {
        padding-top: 0; }
      .site-content > .inner:last-child {
        padding-bottom: 0; }
      .site-content > .inner > .primary {
        float: none;
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-bottom: 40px; }
      .site-content > .inner > .secondary {
        float: none;
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-bottom: -30px; }
  /* -----------------------------------------------
  	5. Content
  -------------------------------------------------- */
  /* パンくず */
  .breadcrumb {
    display: none; }
  /* 記事一覧 */
  #category .filter-wrap {
    margin-bottom: 15px; }
    #category .filter-wrap .filter-inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      #category .filter-wrap .filter-inner .title {
        width: 80px; }
      #category .filter-wrap .filter-inner .filter-nav {
        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: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1; }
        #category .filter-wrap .filter-inner .filter-nav li {
          width: calc((100% - 10px - 10px) / 3);
          padding: 0.4em 0 0.5em;
          margin: 0 0 5px 10px;
          font-size: 12px; }
          #category .filter-wrap .filter-inner .filter-nav li:nth-child(1), #category .filter-wrap .filter-inner .filter-nav li:nth-child(4), #category .filter-wrap .filter-inner .filter-nav li:nth-child(7) {
            margin-left: 0; }
      #category .filter-wrap .filter-inner.-category .filter-nav {
        margin-bottom: 10px; }
  .article-list {
    margin-bottom: 20px; }
    .article-list > li {
      width: calc((100% - 20px) / 2);
      margin-bottom: 20px; }
      .article-list > li dl dt.thumbnail a img {
        height: 100px; }
      .article-list > li dl dd.title {
        margin-bottom: 6px; }
      .article-list > li dl dd.tag span {
        font-size: 10px; }
  /* 島一覧 */
  .bnr-other-island {
    margin-top: -20px; }
    .bnr-other-island > li {
      width: calc((100% - 20px) / 2);
      margin-top: 20px; }
  /* ニュース一覧 */
  .news-list > li a dl dt {
    width: 5em;
    height: 100%;
    padding: 10px 20px 10px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .news-list > li a dl dt span {
      display: block;
      text-align: center;
      line-height: 1;
      margin: 0 auto; }
      .news-list > li a dl dt span.year {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        font-size: 12px; }
      .news-list > li a dl dt span.date {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        font-size: 16px; }
  .news-list > li a dl dd {
    width: 100%;
    padding-right: 20px; }
  /* 移住者インタビュー */
  .interview-list {
    margin-bottom: 20px; }
    .interview-list li a {
      text-decoration: none; }
      .interview-list li a .photo img {
        border-radius: 15px 15px 0 0; }
      .interview-list li a .photo .text {
        width: 100%;
        background: #fff;
        position: relative;
        padding: 20px;
        border-radius: 0 0 15px 15px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        .interview-list li a .photo .text dl dt.tag {
          font-size: 10px; }
        .interview-list li a .photo .text dl dd.title {
          font-size: 15px;
          margin: 10px 0; }
        .interview-list li a .photo .text dl dd.name {
          font-size: 14px; }
          .interview-list li a .photo .text dl dd.name span {
            font-size: 12px; }
        .interview-list li a .photo .text dl dd.label {
          font-size: 10px; }
    .interview-list.-slide .slick-slide {
      width: 80vw !important;
      margin: 0 5px; }
    .interview-list.-slide .slick-prev {
      left: 15px; }
    .interview-list.-slide .slick-next {
      right: 15px; }
    .interview-list.-slide li {
      border-radius: 0 0 15px 15px; }
      .interview-list.-slide li a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .interview-list.-slide li a .photo .text {
          border-radius: 0 0 15px 15px;
          display: block; }
    .interview-list.-column2 {
      margin: 0 0 -20px 0;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      .interview-list.-column2 li {
        width: calc((100% - 10px) / 2);
        margin: 0 0 20px 0;
        background: #f7f9fa;
        border-radius: 0 0 10px 10px; }
        .interview-list.-column2 li a .photo img {
          width: 100%;
          height: auto;
          border-radius: 10px 10px 0 0; }
        .interview-list.-column2 li a .photo .text {
          background: none;
          max-width: 100%;
          height: auto;
          display: block;
          padding: 20px 15px; }
          .interview-list.-column2 li a .photo .text .tag {
            font-size: 10px; }
          .interview-list.-column2 li a .photo .text .title {
            font-size: 14px;
            margin: 10px 0 10px; }
          .interview-list.-column2 li a .photo .text .name {
            font-size: 14px; }
            .interview-list.-column2 li a .photo .text .name span {
              font-size: 12px; }
          .interview-list.-column2 li a .photo .text .label {
            font-size: 10px; }
    .interview-list.-column3 {
      margin-bottom: -10px; }
      .interview-list.-column3::after {
        content: "";
        min-width: calc((100% - 10px) / 2); }
      .interview-list.-column3 li {
        width: calc((100% - 10px) / 2);
        margin-bottom: 10px; }
        .interview-list.-column3 li a .photo .text {
          background: #f7f9fa;
          padding: 20px 15px; }
          .interview-list.-column3 li a .photo .text .tag {
            font-size: 10px;
            margin-bottom: 8px; }
          .interview-list.-column3 li a .photo .text .name {
            font-size: 16px; }
            .interview-list.-column3 li a .photo .text .name span {
              font-size: 12px; }

.movie-list.-slide .slick-slide {
  width: 80vw !important;
  margin: 0 5px; }
.movie-list.-slide .slick-prev {
  left: 15px; }
.movie-list.-slide .slick-next {
  right: 15px; }
.movie-list.-slide li {
  border-radius: 0 0 15px 15px; }
  .movie-list.-slide li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .movie-list.-slide li a .photo .text {
      border-radius: 0 0 15px 15px;
      display: block; }
      .movie-list.-slide .ico-play {
        width: 50px;
        height: 50px;
        font-size: 14px;
      }
  /* よくある質問 */
  .accordion > ul > li {
    background: #eff3f5; }
    .accordion > ul > li > a {
      padding: 20px 60px;
      font-size: 16px; }
      .accordion > ul > li > a::before {
        top: 20px;
        left: 20px; }
    .accordion > ul > li .inner {
      padding: 0 20px 20px; }
      .accordion > ul > li .inner p {
        font-size: 14px;
        line-height: 1.8; }
  .switch .menu::after {
    top: 18px;
    right: 20px; }
  /* -----------------------------------------------
    6. Entry
  -------------------------------------------------- */
  .entry-title {
    font-size: 18px;
    padding: 0.5em 10px; }
  .entry-meta > li .date {
    font-size: 12px; }
  .entry-meta > li .tag {
    font-size: 10px;
    background: #eff3f5; }
  .entry-pager {
    margin: 20px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .entry-pager li {
      margin: 0 1px; }
      .entry-pager li span {
        display: inline-block;
        padding: 0.4em 1em;
        color: #FFF;
        background: #95aebb;
        text-decoration: none; }
      .entry-pager li a {
        text-decoration: none; }
        .entry-pager li a span {
          color: #000;
          background: #fff; }
        .entry-pager li a:hover span {
          color: #fff;
          background: #95aebb; }
  .entry-nav {
    margin: 30px 0 0;
    padding: 10px;
    font-size: 10px; }
  .secondary .title {
    font-family: "Barlow Semi Condensed", sans-serif;
    font-size: 18px;
    font-weight: bold;
    color: #95aebb;
    margin-bottom: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase; } }

/**************************************************
	components
***************************************************/
@media screen and (max-width: 768px) {
  .column-image-left,
  .column-image-right {
    padding: 0 10px !important; }
  /* -----------------------------------------------
  	Heading
  -------------------------------------------------- */
  .h1-a {
    margin-bottom: 30px; }
    .h1-a span.ja {
      font-size: 24px; }
    .h1-a span.en {
      font-size: 14px; }
  .h3-a {
    font-size: 18px;
    margin: 30px auto 20px; }
  .h3-b {
    padding: 0;
    margin-bottom: 20px; }
    .h3-b span.ja {
      background: #eff3f5;
      display: inline-block;
      padding: 0 20px;
      position: relative;
      z-index: 2; }
    .h3-b::before, .h3-b::after {
      width: 100%; }
  .h4-a {
    font-size: 18px;
    margin: 20px 0 12px; }
    .h4-a::after {
      display: none; }
    .h4-a span {
      display: block;
      padding: 0.4em 1em; }
  .h5-a {
    font-size: 16px;
    margin: 25px 0 16px; }
  /* -----------------------------------------------
  	Button
  -------------------------------------------------- */
  .read-more a {
    padding: 0.8em 3em 0.9em;
    display: inline-block; }
  .read-more.-small a {
    font-size: 14px;
    padding: 0.8em 2em; }
  /* -----------------------------------------------
  	Table-a
  -------------------------------------------------- */
  .table-a, .column-table- table {
    width: 100%;
    font-size: 12px;
    margin: 0 auto 20px; }
    .table-a th, .table-a td, .column-table- table th, .column-table- table td {
      padding: 1em; }
  /* -----------------------------------------------
  	List
  -------------------------------------------------- */
  /* -----------------------------------------------
  	Blockquote
  -------------------------------------------------- */
  /* -----------------------------------------------
  	Box
  -------------------------------------------------- */
  /* -----------------------------------------------
  	Form
  -------------------------------------------------- */
  .form-step {
    margin-bottom: 20px;
    background: #eff3f5;
    font-size: 10px; }
    .form-step > li > span {
      position: relative;
      z-index: 1; }
    .form-step > li.-current::after, .form-step > li.-done::after {
      width: 3.7em;
      height: 3.7em;
      right: -1em; }
    .form-step > li.-current + li {
      padding-left: 3em; }
  .required, .any {
    font-size: 10px;
    margin-left: 0; }
  .form-table {
    width: 100%;
    margin-bottom: 20px; }
    .form-table colgroup {
      display: none; }
    .form-table th, .form-table td {
      display: block; }
    .form-table th {
      padding: 0; }
    .form-table.-confirm th {
      background: #EFF3F5;
      padding: 1em 2em; }
  .form-action {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .form-action > li {
      width: calc((100% - 10px) / 2);
      margin: 0 0 20px; }
      .form-action > li button {
        min-width: 100%; } }

/**************************************************
	unique
***************************************************/
@media screen and (max-width: 768px) {
  /* -----------------------------------------------
  	/news/
  -------------------------------------------------- */
  #news .article-primary {
    width: 100%;
    padding: 0 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  /* -----------------------------------------------
  	/info/
  -------------------------------------------------- */
  #info #category .filter-wrap .filter-inner .filter-nav li {
    background: #eff3f5; }
  #info #category .filter-wrap .filter-inner .filter-nav li.mixitup-control-active {
    background: #95aebb; }
  #info .article-list > li .tag span {
    background: #eff3f5; }
  /* -----------------------------------------------
  	5. Migrant Information
  -------------------------------------------------- */
  .cover {
    display: block;
    margin-bottom: 30px; }
    .cover img {
      border-radius: 10px 10px 0 0;
      width: 100%;
      height: auto; }
    .cover .text {
      background: #f7f9fa;
      width: 100%;
      padding: 20px;
      border-radius: 0 0 10px 10px; }
      .cover .text .title {
        font-size: 21px;
        line-height: 1.6;
        margin: 15px 0; }
      .cover .text .name {
        font-size: 16px; }
        .cover .text .name span {
          font-size: 12px; }
      .cover .text .label {
        font-size: 12px; }
  /* -----------------------------------------------
  	6. Information
  -------------------------------------------------- */
  #info .article-list {
    margin-bottom: 0; }
  #info .gallery,
  #emptyhouse .gallery {
    margin-bottom: 20px; }
    #info .gallery .slick-slide,
    #emptyhouse .gallery .slick-slide {
      height: 180px; }
  #info .read-more {
    margin-top: 20px; }
  /* -----------------------------------------------
  	7. Link
  -------------------------------------------------- */
  .link-list-a {
    display: block;
    margin-bottom: 30px; }
    .link-list-a > li {
      width: 100%;
      margin: 0 0 1px 0; }
  .link-list-b > li {
    border-bottom: 1px solid #e4e9eb;
    padding-bottom: 20px;
    margin-bottom: 20px; }
    .link-list-b > li a {
      display: block;
      text-decoration: none; }
      .link-list-b > li a dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .link-list-b > li a dl dt.thumbnail {
          background: #fff;
          min-width: 250px;
          min-height: 100px;
          padding: 20px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          margin-right: 30px;
          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; }
          .link-list-b > li a dl dt.thumbnail img {
            width: auto;
            height: 30px; }
        .link-list-b > li a dl dd.title {
          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; }
          .link-list-b > li a dl dd.title .title-inner span {
            display: block; }
            .link-list-b > li a dl dd.title .title-inner span.site-name {
              font-weight: bold; }
            .link-list-b > li a dl dd.title .title-inner span.caption {
              font-size: 12px;
              margin-top: 0.2em; }
      .link-list-b > li a:hover {
        background: #f7f9fa; }
    .link-list-b > li.logo-love-marugame a dl, .link-list-b > li.logo-pref-kagawa a dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .link-list-b > li.logo-love-marugame a dl dt.thumbnail img, .link-list-b > li.logo-pref-kagawa a dl dt.thumbnail img {
        width: auto;
        height: 50px; }
    .link-list-b > li.logo-mhl a dl dt.thumbnail {
      background: #8fd9c7; }
    .link-list-b > li:last-child {
      border-bottom: none;
      padding-bottom: 0;
      margin-bottom: 0; }
  /* -----------------------------------------------
  	8. Iju
  -------------------------------------------------- */
  .interview.-other .h3-a {
    margin-top: 30px; } }

/**************************************************
  /top.html
***************************************************/
@media screen and (max-width: 768px) {
  #top .sp-header .logo {
    display: none; }
  #top .site-content {
    margin: 0; }
  #top #keyvisual .logo-top {
    position: absolute;
    top: 15px;
    left: 15px; }
    #top #keyvisual .logo-top img {
      width: 50px; }
  #top #keyvisual .scroll {
    font-size: 12px;
    margin-top: 21px; }
    #top #keyvisual .scroll::after {
      height: 30px;
      bottom: 26px; }
  #top #keyvisual .important-news {
    margin-top: 20px; }
    #top #keyvisual .important-news dt, #top #keyvisual .important-news dd {
      height: 40px; }
    #top #keyvisual .important-news dt {
      width: auto;
      padding: 0 20px; }
  #top #keyvisual #hero {
    width: 100%;
    padding: 40px 0 0 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    #top #keyvisual #hero #slider {
      width: calc(100vw - 50px);
      height: calc(100vh - 141px);
      max-height: 480px;
      border-radius: 15px 0 0 15px; }
      #top #keyvisual #hero #slider .vegas-slide .vegas-slide-inner {
        background-position: 30% center !important; }
    #top #keyvisual #hero .dots {
      right: 10px;
      bottom: 10px; }
  #top .news {
    padding: 1px 20px 40px;
    margin-bottom: 40px; }
    #top .news .heading {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      margin: 20px 0 10px; }
      #top .news .heading .title {
        font-size: 20px;
        margin-right: auto; }
      #top .news .heading .more {
        font-size: 14px;
        margin: 0; }
        #top .news .heading .more a {
          background: url(../images/ico_arrow_right_gray.png) no-repeat 100% 55%;
          background-size: 6px 10px;
          padding: 0 14px 0 0; }
  #top .about {
    padding: 1px 0 0 0;
    display: block; }
    #top .about .inner {
      background: url(../images/bg_about_map_sp.png) no-repeat 100% 0;
      background-size: contain;
      width: 100%;
      padding: 220px 0 0 0;
      margin: -60px 0 0 0;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      #top .about .inner .title {
        text-align: left;
        margin-bottom: 14px; }
        #top .about .inner .title span.ja {
          font-size: 21px; }
        #top .about .inner .title::after {
          background-size: 44px;
          top: -40px;
          left: 0;
          margin: 0;
          width: 44px;
          height: 31px; }
      #top .about .inner .lead {
        width: 100%;
        padding: 0 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        text-align: left;
        margin-bottom: 10px; }
        #top .about .inner .lead p {
          line-height: 1.8;
          margin-bottom: 0; }
    #top .about .island-nav {
      width: 100%;
      padding: 0 20px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start; }
      #top .about .island-nav li {
        width: calc((100% - 20px - 20px) / 3);
        margin: 10px 0 0 20px;
        text-align: center; }
        #top .about .island-nav li a {
          width: 100%;
          padding: 0.6em 0;
          display: block;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
        #top .about .island-nav li:nth-child(4) {
          margin-left: 0; }
  #top .info.course .interview-list {
    padding: 0 20px;
  }
  #top .info {
    text-align: center;
    padding: 30px 0; }
    #top .info #category {
      padding: 0 20px;
      margin-bottom: 20px; }
      #top .info #category .article .article-list {
        margin-bottom: 10px; }
  #top .people {
    padding: 0 0 30px; }
    #top .people .interview-list.-slide {
      margin-bottom: 20px; }
    #top .people .h3-b {
      max-width: 100%;
      margin: 0 auto 20px; } }

/**************************************************
	/about/
***************************************************/
@media screen and (max-width: 768px) {
  /* -----------------------------------------------
    Index
  -------------------------------------------------- */
  #about .site-content .h1-a {
    padding: 25px 0px 20px 0;
    margin-left: 40px; }
  #about .inner.-about {
    background: #fff;
    padding: 0px 0 0 40px;
    margin: -143px 0 0 0;
    border-radius: 15px 0 0 15px; }
    #about .inner.-about .intro-wrap {
      background-image: url(../about/images/bg_about_map.png);
      background-position: right -200px top -155px;
      background-color: #eff3f5;
      padding: 355px 0 0 0;
      margin: 0 auto;
      border-radius: 15px 0 0 15px; }
  #about .intro {
    margin-bottom: -80px; }
    #about .intro .lead {
      width: 100%;
      margin-left: -10px;
      line-height: 1.8; }
    #about .intro .map {
      top: -260px;
      right: -30px; }
      #about .intro .map img {
        max-width: 320px; }
  #about .island-info-wrap {
    background: #fff;
    padding-top: 90px;
    margin-left: -40px; }
  #about .island-info {
    margin-bottom: 30px; }
    #about .island-info a .photo {
      max-width: 100%;
      max-height: 100%; }
    #about .island-info a .text {
      background: #eff3f5;
      color: #95aebb;
      max-width: 50%;
      margin-top: -10px; }
      #about .island-info a .text .title {
        font-size: 21px;
        padding: 0 10px;
        color: #95aebb;
        line-height: 1.7; }
      #about .island-info a .text .lead {
        font-size: 12px;
        padding: 1px 15px;
        margin: 15px 0 35px;
        color: #95aebb;
        line-height: 1.8;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3; }
        #about .island-info a .text .lead .name {
          display: none; }
      #about .island-info a .text .read-more {
        bottom: -10px;
        color: #fff;
        background: #95aebb;
        font-size: 12px; }
    #about .island-info.-left a .photo {
      border-radius: 15px 0 0 15px; }
      #about .island-info.-left a .photo img {
        border-radius: 15px 0 0 15px; }
    #about .island-info.-left a .text {
      border-radius: 0 15px 15px 0;
      margin-right: -30px; }
      #about .island-info.-left a .text .lead {
        padding: 1px 0px 1px 15px; }
    #about .island-info.-right a .photo {
      border-radius: 0 15px 15px 0; }
      #about .island-info.-right a .photo img {
        border-radius: 0 15px 15px 0; }
    #about .island-info.-right a .text {
      border-radius: 15px 0 0 15px;
      margin-left: -30px; }
      #about .island-info.-right a .text .lead {
        padding: 1px 15px 1px 0; }
  /* -----------------------------------------------
    Lower
  -------------------------------------------------- */
  #about .-honshima, #about .-ushijima, #about .-hiroshima, #about .-teshima, #about .-oteshima {
    background: #fff;
    padding: 0 !important; }
    #about .-honshima .inner, #about .-ushijima .inner, #about .-hiroshima .inner, #about .-teshima .inner, #about .-oteshima .inner {
      overflow: visible; }
    #about .-honshima .h1-a, #about .-ushijima .h1-a, #about .-hiroshima .h1-a, #about .-teshima .h1-a, #about .-oteshima .h1-a {
      background: #eff3f5;
      padding: 25px 20px 45px 0;
      margin: 0 0 0 40px;
      border-radius: 10px 0 0 10px; }
    #about .-honshima .keyvisual, #about .-ushijima .keyvisual, #about .-hiroshima .keyvisual, #about .-teshima .keyvisual, #about .-oteshima .keyvisual {
      padding-right: 20px;
      margin: 0 0 0 -20px;
      border-radius: 0 10px 10px 0;
      position: absolute;
      top: -20px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      #about .-honshima .keyvisual img, #about .-ushijima .keyvisual img, #about .-hiroshima .keyvisual img, #about .-teshima .keyvisual img, #about .-oteshima .keyvisual img {
        border-radius: 0 10px 10px 0; }
    #about .-honshima .catch-copy, #about .-ushijima .catch-copy, #about .-hiroshima .catch-copy, #about .-teshima .catch-copy, #about .-oteshima .catch-copy {
      display: block;
      padding-top: 130px;
      margin-bottom: 100px; }
      #about .-honshima .catch-copy .access-map, #about .-ushijima .catch-copy .access-map, #about .-hiroshima .catch-copy .access-map, #about .-teshima .catch-copy .access-map, #about .-oteshima .catch-copy .access-map {
        padding-left: 135px;
        padding-bottom: 20px;
        margin: 0 0 0 0;
        position: absolute;
        bottom: -60px;
        right: 0px;
        overflow: hidden; }
        #about .-honshima .catch-copy .access-map img, #about .-ushijima .catch-copy .access-map img, #about .-hiroshima .catch-copy .access-map img, #about .-teshima .catch-copy .access-map img, #about .-oteshima .catch-copy .access-map img {
          max-width: 60vw;
          height: auto;
          margin-right: -20px; }
        #about .-honshima .catch-copy .access-map .read-more, #about .-ushijima .catch-copy .access-map .read-more, #about .-hiroshima .catch-copy .access-map .read-more, #about .-teshima .catch-copy .access-map .read-more, #about .-oteshima .catch-copy .access-map .read-more {
          position: absolute;
          bottom: 0;
          left: 0;
          margin-top: 0; }
          #about .-honshima .catch-copy .access-map .read-more a, #about .-ushijima .catch-copy .access-map .read-more a, #about .-hiroshima .catch-copy .access-map .read-more a, #about .-teshima .catch-copy .access-map .read-more a, #about .-oteshima .catch-copy .access-map .read-more a {
            min-width: 200px; }
      #about .-honshima .catch-copy .text .title, #about .-ushijima .catch-copy .text .title, #about .-hiroshima .catch-copy .text .title, #about .-teshima .catch-copy .text .title, #about .-oteshima .catch-copy .text .title {
        font-size: 18px;
        margin-bottom: 10px; }
      #about .-honshima .catch-copy .text .lead, #about .-ushijima .catch-copy .text .lead, #about .-hiroshima .catch-copy .text .lead, #about .-teshima .catch-copy .text .lead, #about .-oteshima .catch-copy .text .lead {
        line-height: 1.8;
        margin-bottom: 25px; }
      #about .-honshima .catch-copy .text .detail-list, #about .-ushijima .catch-copy .text .detail-list, #about .-hiroshima .catch-copy .text .detail-list, #about .-teshima .catch-copy .text .detail-list, #about .-oteshima .catch-copy .text .detail-list {
        display: block;
        margin: 0 0 20px -20px; }
        #about .-honshima .catch-copy .text .detail-list > li, #about .-ushijima .catch-copy .text .detail-list > li, #about .-hiroshima .catch-copy .text .detail-list > li, #about .-teshima .catch-copy .text .detail-list > li, #about .-oteshima .catch-copy .text .detail-list > li {
          background: #eff3f5;
          border-radius: 0 8px 8px 0;
          margin: 0 0 10px; }
          #about .-honshima .catch-copy .text .detail-list > li dl dt, #about .-ushijima .catch-copy .text .detail-list > li dl dt, #about .-hiroshima .catch-copy .text .detail-list > li dl dt, #about .-teshima .catch-copy .text .detail-list > li dl dt, #about .-oteshima .catch-copy .text .detail-list > li dl dt {
            margin-right: 10px; }
          #about .-honshima .catch-copy .text .detail-list > li:last-child, #about .-ushijima .catch-copy .text .detail-list > li:last-child, #about .-hiroshima .catch-copy .text .detail-list > li:last-child, #about .-teshima .catch-copy .text .detail-list > li:last-child, #about .-oteshima .catch-copy .text .detail-list > li:last-child {
            margin-bottom: 0; }
      #about .-honshima .catch-copy .text .option-list, #about .-ushijima .catch-copy .text .option-list, #about .-hiroshima .catch-copy .text .option-list, #about .-teshima .catch-copy .text .option-list, #about .-oteshima .catch-copy .text .option-list {
        display: block; }
        #about .-honshima .catch-copy .text .option-list > li, #about .-ushijima .catch-copy .text .option-list > li, #about .-hiroshima .catch-copy .text .option-list > li, #about .-teshima .catch-copy .text .option-list > li, #about .-oteshima .catch-copy .text .option-list > li {
          margin-top: -1px; }
          #about .-honshima .catch-copy .text .option-list > li span, #about .-ushijima .catch-copy .text .option-list > li span, #about .-hiroshima .catch-copy .text .option-list > li span, #about .-teshima .catch-copy .text .option-list > li span, #about .-oteshima .catch-copy .text .option-list > li span {
            font-size: 10px; }
          #about .-honshima .catch-copy .text .option-list > li.cycle span, #about .-ushijima .catch-copy .text .option-list > li.cycle span, #about .-hiroshima .catch-copy .text .option-list > li.cycle span, #about .-teshima .catch-copy .text .option-list > li.cycle span, #about .-oteshima .catch-copy .text .option-list > li.cycle span {
            background-size: 20px 13px;
            padding-left: 25px; }
          #about .-honshima .catch-copy .text .option-list > li.bus, #about .-ushijima .catch-copy .text .option-list > li.bus, #about .-hiroshima .catch-copy .text .option-list > li.bus, #about .-teshima .catch-copy .text .option-list > li.bus, #about .-oteshima .catch-copy .text .option-list > li.bus {
            margin-left: 0; }
            #about .-honshima .catch-copy .text .option-list > li.bus span, #about .-ushijima .catch-copy .text .option-list > li.bus span, #about .-hiroshima .catch-copy .text .option-list > li.bus span, #about .-teshima .catch-copy .text .option-list > li.bus span, #about .-oteshima .catch-copy .text .option-list > li.bus span {
              background-size: 20px 9px;
              padding-left: 25px; }
    #about .-honshima .related-article, #about .-ushijima .related-article, #about .-hiroshima .related-article, #about .-teshima .related-article, #about .-oteshima .related-article {
      padding: 30px 20px; }
      #about .-honshima .related-article .related-article-inner, #about .-ushijima .related-article .related-article-inner, #about .-hiroshima .related-article .related-article-inner, #about .-teshima .related-article .related-article-inner, #about .-oteshima .related-article .related-article-inner {
        width: 100%;
        margin: 0 auto; }
      #about .-honshima .related-article #category .filter-wrap, #about .-ushijima .related-article #category .filter-wrap, #about .-hiroshima .related-article #category .filter-wrap, #about .-teshima .related-article #category .filter-wrap, #about .-oteshima .related-article #category .filter-wrap {
        margin-bottom: 20px; }
    #about .-honshima .access-info, #about .-ushijima .access-info, #about .-hiroshima .access-info, #about .-teshima .access-info, #about .-oteshima .access-info {
      background: #eff3f5;
      padding: 25px 20px 30px !important; }
      #about .-honshima .access-info > .title, #about .-ushijima .access-info > .title, #about .-hiroshima .access-info > .title, #about .-teshima .access-info > .title, #about .-oteshima .access-info > .title {
        font-size: 20px;
        margin-bottom: 8px; }
      #about .-honshima .access-info .route-guide, #about .-ushijima .access-info .route-guide, #about .-hiroshima .access-info .route-guide, #about .-teshima .access-info .route-guide, #about .-oteshima .access-info .route-guide {
        display: block; }
        #about .-honshima .access-info .route-guide .how, #about .-ushijima .access-info .route-guide .how, #about .-hiroshima .access-info .route-guide .how, #about .-teshima .access-info .route-guide .how, #about .-oteshima .access-info .route-guide .how {
          width: 100%;
          position: relative; }
          #about .-honshima .access-info .route-guide .how .ticket, #about .-ushijima .access-info .route-guide .how .ticket, #about .-hiroshima .access-info .route-guide .how .ticket, #about .-teshima .access-info .route-guide .how .ticket, #about .-oteshima .access-info .route-guide .how .ticket {
            display: block;
            margin-bottom: 16px; }
            #about .-honshima .access-info .route-guide .how .ticket > li, #about .-ushijima .access-info .route-guide .how .ticket > li, #about .-hiroshima .access-info .route-guide .how .ticket > li, #about .-teshima .access-info .route-guide .how .ticket > li, #about .-oteshima .access-info .route-guide .how .ticket > li {
              margin-bottom: 14px; }
              #about .-honshima .access-info .route-guide .how .ticket > li:first-child, #about .-ushijima .access-info .route-guide .how .ticket > li:first-child, #about .-hiroshima .access-info .route-guide .how .ticket > li:first-child, #about .-teshima .access-info .route-guide .how .ticket > li:first-child, #about .-oteshima .access-info .route-guide .how .ticket > li:first-child {
                border-right: none;
                padding-right: 0; }
              #about .-honshima .access-info .route-guide .how .ticket > li:last-child, #about .-ushijima .access-info .route-guide .how .ticket > li:last-child, #about .-hiroshima .access-info .route-guide .how .ticket > li:last-child, #about .-teshima .access-info .route-guide .how .ticket > li:last-child, #about .-oteshima .access-info .route-guide .how .ticket > li:last-child {
                padding-left: 0;
                margin-bottom: 0; }
          #about .-honshima .access-info .route-guide .how .notes, #about .-ushijima .access-info .route-guide .how .notes, #about .-hiroshima .access-info .route-guide .how .notes, #about .-teshima .access-info .route-guide .how .notes, #about .-oteshima .access-info .route-guide .how .notes {
            font-size: 10px; }
          #about .-honshima .access-info .route-guide .how .timetable, #about .-ushijima .access-info .route-guide .how .timetable, #about .-hiroshima .access-info .route-guide .how .timetable, #about .-teshima .access-info .route-guide .how .timetable, #about .-oteshima .access-info .route-guide .how .timetable {
            width: 100%;
            display: block;
            position: relative;
            top: 0; }
            #about .-honshima .access-info .route-guide .how .timetable .table, #about .-ushijima .access-info .route-guide .how .timetable .table, #about .-hiroshima .access-info .route-guide .how .timetable .table, #about .-teshima .access-info .route-guide .how .timetable .table, #about .-oteshima .access-info .route-guide .how .timetable .table {
              width: 100%;
              font-size: 12px;
              margin: 0 auto 20px; }
              #about .-honshima .access-info .route-guide .how .timetable .table.-second, #about .-ushijima .access-info .route-guide .how .timetable .table.-second, #about .-hiroshima .access-info .route-guide .how .timetable .table.-second, #about .-teshima .access-info .route-guide .how .timetable .table.-second, #about .-oteshima .access-info .route-guide .how .timetable .table.-second {
                margin-left: 0;
                border-left: 1px solid #c2d0d8; }
              #about .-honshima .access-info .route-guide .how .timetable .table th, #about .-honshima .access-info .route-guide .how .timetable .table td, #about .-ushijima .access-info .route-guide .how .timetable .table th, #about .-ushijima .access-info .route-guide .how .timetable .table td, #about .-hiroshima .access-info .route-guide .how .timetable .table th, #about .-hiroshima .access-info .route-guide .how .timetable .table td, #about .-teshima .access-info .route-guide .how .timetable .table th, #about .-teshima .access-info .route-guide .how .timetable .table td, #about .-oteshima .access-info .route-guide .how .timetable .table th, #about .-oteshima .access-info .route-guide .how .timetable .table td {
                padding: 0.3em 0.8em; }
              #about .-honshima .access-info .route-guide .how .timetable .table.-en td, #about .-ushijima .access-info .route-guide .how .timetable .table.-en td, #about .-hiroshima .access-info .route-guide .how .timetable .table.-en td, #about .-teshima .access-info .route-guide .how .timetable .table.-en td, #about .-oteshima .access-info .route-guide .how .timetable .table.-en td {
                font-size: 16px; }
      #about .-honshima .access-info .read-more, #about .-ushijima .access-info .read-more, #about .-hiroshima .access-info .read-more, #about .-teshima .access-info .read-more, #about .-oteshima .access-info .read-more {
        margin: 0 auto; }
      #about .-honshima .access-info.-ushijima .route-guide .how .timetable, #about .-ushijima .access-info.-ushijima .route-guide .how .timetable, #about .-hiroshima .access-info.-ushijima .route-guide .how .timetable, #about .-teshima .access-info.-ushijima .route-guide .how .timetable, #about .-oteshima .access-info.-ushijima .route-guide .how .timetable {
        top: 0; }
      #about .-honshima .access-info.-ushijima .read-more, #about .-ushijima .access-info.-ushijima .read-more, #about .-hiroshima .access-info.-ushijima .read-more, #about .-teshima .access-info.-ushijima .read-more, #about .-oteshima .access-info.-ushijima .read-more {
        margin: 0 auto; }
      #about .-honshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2, #about .-honshima .access-info.-teshima .route-guide .how .timetable .timetable-column2, #about .-honshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2, #about .-ushijima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2, #about .-ushijima .access-info.-teshima .route-guide .how .timetable .timetable-column2, #about .-ushijima .access-info.-oteshima .route-guide .how .timetable .timetable-column2, #about .-hiroshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2, #about .-hiroshima .access-info.-teshima .route-guide .how .timetable .timetable-column2, #about .-hiroshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2, #about .-teshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2, #about .-teshima .access-info.-teshima .route-guide .how .timetable .timetable-column2, #about .-teshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2, #about .-oteshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2, #about .-oteshima .access-info.-teshima .route-guide .how .timetable .timetable-column2, #about .-oteshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2 {
        width: 100%;
        display: block; }
        #about .-honshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li, #about .-honshima .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li, #about .-honshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li, #about .-ushijima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li, #about .-ushijima .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li, #about .-ushijima .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li, #about .-hiroshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li, #about .-hiroshima .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li, #about .-hiroshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li, #about .-teshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li, #about .-teshima .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li, #about .-teshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li, #about .-oteshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li, #about .-oteshima .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li, #about .-oteshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li {
          width: 100%; }
          #about .-honshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-honshima .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-honshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-ushijima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-ushijima .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-ushijima .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-hiroshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-hiroshima .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-hiroshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-teshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-teshima .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-teshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-oteshima .access-info.-hiroshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-oteshima .access-info.-teshima .route-guide .how .timetable .timetable-column2 > li .attention, #about .-oteshima .access-info.-oteshima .route-guide .how .timetable .timetable-column2 > li .attention {
            font-size: 10px;
            margin-bottom: 20px; }
      #about .-honshima .access-info.-hiroshima .route-guide .how .timetable .table, #about .-honshima .access-info.-teshima .route-guide .how .timetable .table, #about .-honshima .access-info.-oteshima .route-guide .how .timetable .table, #about .-ushijima .access-info.-hiroshima .route-guide .how .timetable .table, #about .-ushijima .access-info.-teshima .route-guide .how .timetable .table, #about .-ushijima .access-info.-oteshima .route-guide .how .timetable .table, #about .-hiroshima .access-info.-hiroshima .route-guide .how .timetable .table, #about .-hiroshima .access-info.-teshima .route-guide .how .timetable .table, #about .-hiroshima .access-info.-oteshima .route-guide .how .timetable .table, #about .-teshima .access-info.-hiroshima .route-guide .how .timetable .table, #about .-teshima .access-info.-teshima .route-guide .how .timetable .table, #about .-teshima .access-info.-oteshima .route-guide .how .timetable .table, #about .-oteshima .access-info.-hiroshima .route-guide .how .timetable .table, #about .-oteshima .access-info.-teshima .route-guide .how .timetable .table, #about .-oteshima .access-info.-oteshima .route-guide .how .timetable .table {
        border-right: 1px solid #c2d0d8;
        margin-bottom: 10px; }
        #about .-honshima .access-info.-hiroshima .route-guide .how .timetable .table.-second, #about .-honshima .access-info.-teshima .route-guide .how .timetable .table.-second, #about .-honshima .access-info.-oteshima .route-guide .how .timetable .table.-second, #about .-ushijima .access-info.-hiroshima .route-guide .how .timetable .table.-second, #about .-ushijima .access-info.-teshima .route-guide .how .timetable .table.-second, #about .-ushijima .access-info.-oteshima .route-guide .how .timetable .table.-second, #about .-hiroshima .access-info.-hiroshima .route-guide .how .timetable .table.-second, #about .-hiroshima .access-info.-teshima .route-guide .how .timetable .table.-second, #about .-hiroshima .access-info.-oteshima .route-guide .how .timetable .table.-second, #about .-teshima .access-info.-hiroshima .route-guide .how .timetable .table.-second, #about .-teshima .access-info.-teshima .route-guide .how .timetable .table.-second, #about .-teshima .access-info.-oteshima .route-guide .how .timetable .table.-second, #about .-oteshima .access-info.-hiroshima .route-guide .how .timetable .table.-second, #about .-oteshima .access-info.-teshima .route-guide .how .timetable .table.-second, #about .-oteshima .access-info.-oteshima .route-guide .how .timetable .table.-second {
          border: 1px solid #c2d0d8; }
        #about .-honshima .access-info.-hiroshima .route-guide .how .timetable .table th, #about .-honshima .access-info.-hiroshima .route-guide .how .timetable .table td, #about .-honshima .access-info.-teshima .route-guide .how .timetable .table th, #about .-honshima .access-info.-teshima .route-guide .how .timetable .table td, #about .-honshima .access-info.-oteshima .route-guide .how .timetable .table th, #about .-honshima .access-info.-oteshima .route-guide .how .timetable .table td, #about .-ushijima .access-info.-hiroshima .route-guide .how .timetable .table th, #about .-ushijima .access-info.-hiroshima .route-guide .how .timetable .table td, #about .-ushijima .access-info.-teshima .route-guide .how .timetable .table th, #about .-ushijima .access-info.-teshima .route-guide .how .timetable .table td, #about .-ushijima .access-info.-oteshima .route-guide .how .timetable .table th, #about .-ushijima .access-info.-oteshima .route-guide .how .timetable .table td, #about .-hiroshima .access-info.-hiroshima .route-guide .how .timetable .table th, #about .-hiroshima .access-info.-hiroshima .route-guide .how .timetable .table td, #about .-hiroshima .access-info.-teshima .route-guide .how .timetable .table th, #about .-hiroshima .access-info.-teshima .route-guide .how .timetable .table td, #about .-hiroshima .access-info.-oteshima .route-guide .how .timetable .table th, #about .-hiroshima .access-info.-oteshima .route-guide .how .timetable .table td, #about .-teshima .access-info.-hiroshima .route-guide .how .timetable .table th, #about .-teshima .access-info.-hiroshima .route-guide .how .timetable .table td, #about .-teshima .access-info.-teshima .route-guide .how .timetable .table th, #about .-teshima .access-info.-teshima .route-guide .how .timetable .table td, #about .-teshima .access-info.-oteshima .route-guide .how .timetable .table th, #about .-teshima .access-info.-oteshima .route-guide .how .timetable .table td, #about .-oteshima .access-info.-hiroshima .route-guide .how .timetable .table th, #about .-oteshima .access-info.-hiroshima .route-guide .how .timetable .table td, #about .-oteshima .access-info.-teshima .route-guide .how .timetable .table th, #about .-oteshima .access-info.-teshima .route-guide .how .timetable .table td, #about .-oteshima .access-info.-oteshima .route-guide .how .timetable .table th, #about .-oteshima .access-info.-oteshima .route-guide .how .timetable .table td {
          padding: 0.5em 0.5em; }
        #about .-honshima .access-info.-hiroshima .route-guide .how .timetable .table td:last-child, #about .-honshima .access-info.-teshima .route-guide .how .timetable .table td:last-child, #about .-honshima .access-info.-oteshima .route-guide .how .timetable .table td:last-child, #about .-ushijima .access-info.-hiroshima .route-guide .how .timetable .table td:last-child, #about .-ushijima .access-info.-teshima .route-guide .how .timetable .table td:last-child, #about .-ushijima .access-info.-oteshima .route-guide .how .timetable .table td:last-child, #about .-hiroshima .access-info.-hiroshima .route-guide .how .timetable .table td:last-child, #about .-hiroshima .access-info.-teshima .route-guide .how .timetable .table td:last-child, #about .-hiroshima .access-info.-oteshima .route-guide .how .timetable .table td:last-child, #about .-teshima .access-info.-hiroshima .route-guide .how .timetable .table td:last-child, #about .-teshima .access-info.-teshima .route-guide .how .timetable .table td:last-child, #about .-teshima .access-info.-oteshima .route-guide .how .timetable .table td:last-child, #about .-oteshima .access-info.-hiroshima .route-guide .how .timetable .table td:last-child, #about .-oteshima .access-info.-teshima .route-guide .how .timetable .table td:last-child, #about .-oteshima .access-info.-oteshima .route-guide .how .timetable .table td:last-child {
          font-size: 10px; }
      #about .-honshima .access-info.-hiroshima .read-more, #about .-honshima .access-info.-teshima .read-more, #about .-honshima .access-info.-oteshima .read-more, #about .-ushijima .access-info.-hiroshima .read-more, #about .-ushijima .access-info.-teshima .read-more, #about .-ushijima .access-info.-oteshima .read-more, #about .-hiroshima .access-info.-hiroshima .read-more, #about .-hiroshima .access-info.-teshima .read-more, #about .-hiroshima .access-info.-oteshima .read-more, #about .-teshima .access-info.-hiroshima .read-more, #about .-teshima .access-info.-teshima .read-more, #about .-teshima .access-info.-oteshima .read-more, #about .-oteshima .access-info.-hiroshima .read-more, #about .-oteshima .access-info.-teshima .read-more, #about .-oteshima .access-info.-oteshima .read-more {
        margin: 0 auto; }
    #about .-honshima .other-island, #about .-ushijima .other-island, #about .-hiroshima .other-island, #about .-teshima .other-island, #about .-oteshima .other-island {
      padding-top: 20px; }
      #about .-honshima .other-island > .title, #about .-ushijima .other-island > .title, #about .-hiroshima .other-island > .title, #about .-teshima .other-island > .title, #about .-oteshima .other-island > .title {
        font-size: 20px;
        margin-bottom: 20px; }
  #about .-ushijima .catch-copy, #about .-teshima .catch-copy, #about .-oteshima .catch-copy {
    margin-bottom: 30px; }
    #about .-ushijima .catch-copy .text .detail-list, #about .-teshima .catch-copy .text .detail-list, #about .-oteshima .catch-copy .text .detail-list {
      padding: 40px 0 70px; }
    #about .-ushijima .catch-copy .access-map, #about .-teshima .catch-copy .access-map, #about .-oteshima .catch-copy .access-map {
      bottom: -20px; }
      #about .-ushijima .catch-copy .access-map .read-more, #about .-teshima .catch-copy .access-map .read-more, #about .-oteshima .catch-copy .access-map .read-more {
        bottom: 35px; } }
    /* モデルコース */
    .course .interview-list.-column2 li {
      margin-left: 0;
    }

/**************************************************
	/access/
***************************************************/
@media screen and (max-width: 768px) {
  #access .map {
    width: 100%;
    margin: 0 auto; }
    #access .map iframe {
      width: 100%;
      height: 67vw; }
  #access .lead {
    margin: 0 auto 20px; }
  #access .other-island {
    margin-top: 40px; }
  #access .bnr-other-island {
    margin: -10px 0 0 -10px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    #access .bnr-other-island > li {
      width: calc((100% - 10px - 10px - 10px) / 3);
      margin: 10px 0 0 10px; }
  #access .h3-a {
    margin: 30px auto 20px; }
  #access .route {
    display: block; }
    #access .route > li {
      position: relative; }
      #access .route > li.area {
        min-height: 50px;
        padding: 10px 20px; }
        #access .route > li.area small br {
          display: none; }
      #access .route > li.area-column2 > ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        #access .route > li.area-column2 > ul > li {
          width: calc((100% - 10px) / 2);
          min-height: 50px;
          padding: 0 0; }
          #access .route > li.area-column2 > ul > li:first-child {
            margin-bottom: 0; }
          #access .route > li.area-column2 > ul > li.none::before {
            content: "";
            border-top: none;
            background: #e7ecef;
            top: 0;
            left: calc((100% - 5px)/2);
            width: 5px;
            height: 100%;
            z-index: 1; }
      #access .route > li.time {
        padding: 40px 0 20px;
        font-size: 10px; }
        #access .route > li.time span {
          position: relative;
          z-index: 2; }
        #access .route > li.time:after {
          content: "";
          border-bottom: none;
          background: #e7ecef;
          top: 0;
          left: calc(50% - 5px);
          width: 5px;
          height: 100%;
          z-index: 1; }
        #access .route > li.time.-bus {
          padding: 30px 0 10px; }
          #access .route > li.time.-bus:before {
            top: 12px; }
        #access .route > li.time.-train {
          padding: 30px 0 10px; }
          #access .route > li.time.-train:before {
            top: 10px; }
        #access .route > li.time.-car {
          padding: 35px 0 10px; }
          #access .route > li.time.-car:before {
            top: 15px; }
        #access .route > li.time.-walk {
          padding: 40px 0 10px; }
          #access .route > li.time.-walk:before {
            top: 10px; }
      #access .route > li.time-column2 {
        font-size: 10px; }
        #access .route > li.time-column2 > ul {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between; }
          #access .route > li.time-column2 > ul li {
            width: 100%;
            padding: 25px 10px 0; }
            #access .route > li.time-column2 > ul li:after {
              content: "";
              border-bottom: none;
              background: #e7ecef;
              left: calc(50% - 5px);
              width: 5px;
              height: 100%;
              z-index: 1; }
            #access .route > li.time-column2 > ul li:first-child {
              margin-bottom: 0; }
              #access .route > li.time-column2 > ul li:first-child::after {
                top: 0; }
            #access .route > li.time-column2 > ul li:last-child::after {
              top: 0; }
            #access .route > li.time-column2 > ul li.-train:before {
              top: 5px; }
        #access .route > li.time-column2.-airplane > ul li span::before {
          top: -18px; }
        #access .route > li.time-column2.-shinkansen > ul li span::before {
          top: -15px; }
        #access .route > li.time-column2.-car > ul li span::before {
          top: -18px; } }
  #top .bnr{
    margin: 20px auto;
  }
.bnr-link { display: block; margin: 30px auto; }
.bnr-link img { width: 100%; height: auto; display: block; }

/* 初期：PC表示 */
.bnr-pc { position: relative; display: block; }
.bnr-pc .bnr-on { position: absolute; inset: 0; opacity: 0; }
.bnr-sp { display: none!important; }

/* ✅ PCだけ hover で切替 */
@media (min-width: 768px) {
  .bnr-link:hover .bnr-pc .bnr-on { opacity: 1; }
}

/* ✅ SPではPCバナーを完全に消す（hover誤爆も封じる） */
@media (max-width: 767px) {
  .bnr-pc { display: none !important; }
  .bnr-sp { display: block!important; }
}