/*    
Theme Name: Fukushima Bus Association202508
Theme URI: https://fukushimabus.or.jp/
Description: 福島県バス協会テンプレート
Author: 福島県バス協会
Author URI: https://fukushimabus.or.jp/
*/

@charset "utf-8";

/* ----------------------------------------------------------
 Reset,Base CSS
---------------------------------------------------------- */
* {
  margin: 0;
  padding: 0;
  border-style:none;
  box-sizing: border-box !important;
  transition: 0.3s;
}
*:hover {
  transition: 0.3s;
}
html {
  color: #000000; 
  font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size : 16px;
  line-height: 1.75em;
  text-align: left;
  -webkit-font-smoothing: subpixel-antialiased;
}
body {
  width: 100%;
  margin: 0;
  padding: 0;
  font-size-adjust: none;
  -webkit-font-size-adjust: none;
  animation: fadeIn 1s ease 0s 1 normal;
  -webkit-animation: fadeIn 1s ease 0s 1 normal;
  position: relative;
}
html,body,.wrapper { height: 100%; }
main { display: block; }
section { margin: 0; }
figure img { width: 100%; height: auto; }
h1,h2,h3,h4,h5,h6 {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  font-weight: normal;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
a {
  color: #000000;
  text-decoration : none;
  border: none;
  outline: none;
  transition: 0.6s;
}
a:hover {
  transition: 0.6s;
}
a[href^="tel:"] { cursor: default; }
ul, ol {
  margin: 0;
  padding: 0;
  list-style : none;
}
figure,img {
  margin: 0;
  padding: 0;
  min-height: 0% !important;
  line-height: 0;
  vertical-align: middle;
}
p {
  font-size: 1rem;
  line-height: 1.75em;
}




/* ----------------------------------------------------------
 Responsive Settings
---------------------------------------------------------- */
@media print, screen and (min-width : 767px) { /* PC */
  .wrapper {
    min-width: 1200px;
  }
  .pcoff {
    display: none !important;
  }
  .wrap {
    width: 90%;
    min-width: 1100px;
    max-width: 1400px;
    margin: 0 auto;
  }
  .wrap2 {
    width: 80%;
    min-width: 1100px;
    max-width: 1300px;
    margin: 0 auto;
  }
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .wrap,
  .wrap2 {
    width: 90%;
    margin: 0 auto;
  }
  body.home .wrap,
  body.home .wrap2 {
    width: 100%;
  }
  .smpoff {
    display: none !important;
  }
  html,p {
    font-size: 4.25vw;
    line-height: 1.85em;
  }
}



/* ----------------------------------------------------------
 Header, Navigation
---------------------------------------------------------- */

/* Header Base
--------------------------------------------- */
header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  width: 100%;
  padding: 0.5rem 1rem;
  background-color: rgba(255,255,255,0.95);
}
header.fixed {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  box-shadow: 0 0 0.5rem #aaaaaa;
}
header h1 {
  width: 20%;
}
header h1 a {
  display: block;
}
header h1 a:hover {
  opacity: 0.5;
}
header h1 a img {
  width: 100%;
}
.headlink {
  display: flex;
  align-items: center;
  margin-left: auto;
  margin-right: 0.5rem;
}
.headlink p {
  text-align: right;
  font-size: 0.85rem;
  line-height: 1.5em;
}
.headlink a {
  display: block;
}
.headlink a img {
  width: 60px;
  margin-left: 1rem;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  header {
    padding: 0.5rem 0 0.5rem 1rem;
  }
  header h1 {
    width: 40%;
  }
  .headlink {
    margin-right: 0;
  }
  .headlink p {
    display: none;
  }
  .headlink a img {
    width: 50px;
    margin-left: 0;
  }
}


/* Gloval Nav
--------------------------------------------- */
#nav-toggle {
  position: relative;
  /*z-index: 999;*/
  top: 0;
  right: 0;
}
#nav-toggle div {
  display: flex;
  justify-content: center;
  width: 60px;
  height: 60px;
  position: relative;
  /*z-index: 999;*/
  margin: 0;
  transition: 0.6s;
  text-align: center;
}
#nav-toggle div:hover {
  opacity: 1;
  transition: 0.6s;
}
#nav-toggle div span {
  display: block;
  width: 55%;
  height: 3px;
  position: absolute;
  /*z-index: 999;*/
  left: 22.5%;
  background: #444444;
  transition: transform .6s ease-in-out, top .5s ease;
}
#nav-toggle div span:nth-child(1) { top: 18px; }
#nav-toggle div span:nth-child(2) { top: 28px; }
#nav-toggle div span:nth-child(3) { top: 38px; }
#gloval-nav {
  visibility: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 998;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  color: #fff;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
}
 #gloval-nav nav {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
  background-color: rgba(106,169,192,0.98);
}
#gloval-nav nav h2 {
  font-size: 2rem;
  font-weight: bold;
  margin-right: 3rem;
}
#gloval-nav nav ul {
  list-style: none;
  width: 40%;
  background-color: transparent;
  border-left: 1px solid #ffffff;
  padding-left: 3rem;
}
#gloval-nav nav ul li {
  text-align: left;
  font-size: 1.25rem;
  width: 100%;
  margin: 0 2%;
  opacity: 0;
  transform: translateX(200px);
  transition:  transform .6s ease, opacity .2s ease;
}
#gloval-nav nav ul li:nth-child(1) { transition-delay: .15s; }
#gloval-nav nav ul li:nth-child(2) { transition-delay: .3s; }
#gloval-nav nav ul li:nth-child(3) { transition-delay: .45s; }
#gloval-nav nav ul li:nth-child(4) { transition-delay: .6s; }
#gloval-nav nav ul li:nth-child(5) { transition-delay: .75s; }
#gloval-nav nav ul li:nth-child(6) { transition-delay: .9s; }
#gloval-nav nav ul li:nth-child(7) { transition-delay: .105s; }
#gloval-nav nav ul li:nth-child(8) { transition-delay: .12s; }
#gloval-nav nav ul li:nth-child(9) { transition-delay: .130s; }
#gloval-nav nav ul li a svg {
  display: none;
}
#gloval-nav nav ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.75rem 0;
  text-decoration: none;
  color: #ffffff;
  transition: color .6s ease;
}

/* open */
.open { overflow: hidden; }
.open #nav-toggle {
  z-index: 999;
}
.open #nav-toggle div:after {
  display: none;
  transition: 0.6s;
}
.open #nav-toggle div span { background: #ffffff; }
.open #nav-toggle div span:nth-child(1) {
  top: 28px;
  transform: rotate(45deg);
}
.open #nav-toggle div span:nth-child(2) {
  display: none;
}
.open #nav-toggle div span:nth-child(3) {
  top: 28px;
  transform: rotate(-45deg);
}
.open #gloval-nav {
  visibility: visible;
  opacity: 1;
}
.open #gloval-nav nav ul li {
  opacity: 1;
  transform: translateX(0);
  transition:  transform 1s ease, opacity .9s ease;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  #gloval-nav nav {
    flex-direction: column;
  }
  #gloval-nav nav h2 {
    margin-right: 0;
    margin-bottom: 2rem;
  }
  #gloval-nav nav ul {
    width: 90%;
    margin: 0 auto;
    border-left: 0;
    padding-left: 0;
  }
  #gloval-nav nav ul li a {
    text-align: center;
    font-size: 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.5);
  }
}


/* ----------------------------------------------------------
 Footer
---------------------------------------------------------- */
footer div.wrap {
  position: relative;
  padding: 4rem 0 1rem 0
}
footer {
  margin-top: 4rem;
}
.ul-footer {
  display: flex;
  justify-content: space-between;
}
.ul-footer > li {
  width: 50%;
}
.ul-footer > li h1 {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.ul-footer > li h1 span {
  font-size: 1.25rem;
  display: block;
}
.ul-footer li ul {
  display: flex;
  flex-wrap: wrap;
}
.ul-footer li ul li {
  font-size: 0.9rem;
  width: 33%;
}
.ul-footer li ul li a:hover {
  color: #6aa9c0;
}
footer small {
  display: block;
  text-align: right;
}
footer div.wrap + div {
  margin-top: 1rem;
  padding-bottom: 1rem;
  border-top: 2px solid #6aa9c0;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  footer {
    margin-top: 0;
    padding-bottom: 2rem;
    text-align: center;
  }
  .ul-footer li {
    width: 100%;
  }
  .ul-footer li:nth-child(n + 2) {
    display: none;
  }
  footer small {
    text-align: center;
  }
}


/* reCaptcha */
.grecaptcha-badge {
  visibility: hidden;
}
body.home .grecaptcha-badge,
body.memberonly .grecaptcha-badge,
body.login .grecaptcha-badge {
  visibility: visible !important;
}
.google-recaptcha {
  font-size: 0.9rem;
  text-align: right;
  color: #6aa9c0;
  margin-top: 1rem;
  margin-bottom: 0;
}
.google-recaptcha a {
  color: #6aa9c0;
  border-bottom: 1px solid #6aa9c0;  
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .google-recaptcha,
  .google-recaptcha a {
    text-align: center;
    margin-bottom: 1em;
  }
}

.pagetop {
  position: absolute;
  right: 0;
  top: -25px;
}
.pagetop a {
  width:  50px;
  height: 50px;
  border-radius:  50%;
  background-color: #bcd4df;
  display:  block; /* 使用数ときは none にする */
  position: relative; /* 使用するときは fixed にする */
}
.pagetop a:after,
.pagetop a:hover:after {
  content: "";
  width: 12px;
  height: 12px;
  top: 22px;
  left: 18px;
  transform: rotate(-45deg);
  position: absolute;
}
.pagetop a:after {
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}
.pagetop a:hover {
  opacity: .5;
}


/* ----------------------------------------------------------
 Opening
---------------------------------------------------------- */

.shutter{
  width: 100%;
  height: 100%;
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  margin: auto;
  background-color:#6aa9c0;
  z-index:10000;
  -webkit-animation: byeShutter 2.4s forwards;
  animation: byeShutter 2.4s forwards;
}
.logo {
  position: absolute;
  width: 15vw;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  -webkit-animation: logo 0.8s forwards;
  animation: logo 0.8s forwards;
  animation-delay: 0.2s;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .logo {
    width: 25vw;
  }
}


@keyframes byeShutter {
70% {
  opacity: 1;
}
100% {
  display: none;
  opacity: 0;
  z-index: -1;
}
}
@keyframes logo {
0% {
  opacity: 1;
}
  
50% {
  transform: rotate(0deg);     
}
  100% {
  transform: scale(1.2);
  }
}



/* ----------------------------------------------------------
 Home
---------------------------------------------------------- */

/* MAIN SLIDER, SUB SLIDER
---------------------------*/
.main-visual {
  padding: 2rem;
  background-color: #eaeef1;
}
.mainSlider {
  position: relative;
}
.mainSlider:after {
  content: "";
  display: block;
  width: 20vw;
  height: 20vw;
  background-image: url(images/logo-sub.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  z-index: 1;
  left: 2rem;
  bottom: 2rem;
}
.mainSlider .swiper-slide {
  width: 100%;
  border-radius: 0.75rem;
  display: block;
  overflow: hidden;
}
.mainSlider .swiper-slide img {
  width: 100%;
  border-radius: 0.75rem;
  display: block;
}
.mainSlider .swiper-slide-active .slide-img,
.mainSlider .swiper-slide-duplicate-active .slide-img,
.mainSlider .swiper-slide-prev .slide-img {
  animation: zoomUp 10s linear 0s 1 normal both;  
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
.subBox {
  display: flex;
  position: relative;
  min-width: 1100px;
  max-width: 1400px;
  margin: 0 auto;
}
.subSlider-box {
  order: 1;
  width: 65%;
  position: relative;
}
.subSlider-box .swiper-slide {
  position: relative;
}
.subSlider-box .swiper-slide:after {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  background-color: #ffffff;
  position: absolute;
  z-index: 0;
  left: 0;
  bottom: 0;
  border-radius: 0.75rem;
}
.subSlider-box .swiper-slide p {
  font-size: 0.8rem;
  text-align: center;
  color: #ffffff;
  background-color: #000000;
  border-radius: 0 0 0.75rem 0.75rem;
  position: relative;
  z-index: 1;
}
.subSlider-box .swiper-slide figure {
  position: relative;
}
.subSlider-box .swiper-slide figure:after {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  background-color: #ffffff;
  position: absolute;
  z-index: 0;
  left: 0;
  bottom: 0;
  border-radius: 0.75rem 0.75rem 0 0;
}
.subSlider-box .swiper-slide figure img {
  position: relative;
  z-index: 1;
  width: 100%;
}
.mainSlider-text {
  order: 2;
  width: 30%;
  padding: 2rem 1.5rem;
  border-radius: 0.75rem;
  background-color: rgba(255,255,255,0.8);
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  box-shadow: 3px 3px 3px rgba(00,00,00,0.1);
}
.mainSlider-text p {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
}
.main-pagination .swiper-pagination-clickable .swiper-pagination-bullet {
  margin-right: 8px !important;
}
.main-pagination .swiper-pagination-bullet {
  width: 10px !important;
  height: 10px !important;
  background-color: transparent !important;
  border: 1px solid #000000 !important;
  opacity: 1 !important;
  margin-right: 5px !important;
}
.main-pagination .swiper-pagination-bullet-active {
  background-color: #000000 !important;
}
.subSlider-box .swiper-button-next,
.subSlider-box .swiper-button-prev {
  width: 25px !important;
  height: 25px !important;
  background: #000000 !important;
  border-radius: 50% !important;
  color: #ffffff !important;
}
.subSlider-box .swiper-button-next {
  right: -35px !important;
}
.subSlider-box .swiper-button-prev {
  left: -35px !important;
}
.subSlider-box .swiper-button-next:after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  right: 0.55rem;
  top: 50%;
  margin-top: -0.3rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
}
.subSlider-box .swiper-button-prev:after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  left: 0.55rem;
  top: 50%;
  margin-top: -0.3rem;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  transform: rotate(-45deg);
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .main-visual {
    padding: 2rem 1rem 1rem 1rem;
  }
  .mainSlider:after {
    left: 0.5rem;
    bottom: 0.5rem;
  }
  .subBox {
    flex-direction: column;
    min-width: initial;
    max-width: initial;
  }
  .mainSlider .swiper-slide,
  .mainSlider .swiper-slide img {
    border-radius: 0.75rem 0.75rem 0 0;
  }
  .mainSlider-text {
    position: relative;
    order: 1;
    width: 100%;
    margin: 0 auto 0.5rem auto;
    padding: 0.5rem;
    text-align: center;
    background-color: rgba(255,255,255,1);
    border-radius: 0 0 0.75rem 0.75rem;
  }
  .mainSlider-text p {
    font-size: 4vw;
    line-height: 1.5em;
    margin-bottom: 0;
  }
  .subSlider-box {
    order: 2;
    width: 100%;
  }
  .subSlider-box .swiper-container {
    width: 88% !important;
  }
  .subSlider-box .swiper-button-next {
    right: 0 !important;
  }
  .subSlider-box .swiper-button-prev {
    left: 0 !important;
  }

}


/* INFORMATION,LOGIN
---------------------------*/
.info-box {
  display: flex;
  margin: 2rem auto;
}
.information {
  width: 70%;
  padding-right: 2rem;
}
.information h2 {
  font-size: 1.5rem;
  font-weight: bold;
  color: #6aa9c0;
  margin-bottom: 1rem;
  display: flex;
  justify-content: space-between;
}
.information h2 a {
  color: #ffffff;
  background-color: #6aa9c0;
  font-size: 1rem;
  font-weight: normal;
  padding: 0 0.5rem;
}
.information h2 a:hover {
  opacity: 0.5;
}
.information ul {
  display: flex;
  justify-content: space-between;
}
.information ul li {
  width: 30%;
}
.information ul li a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.information ul li a time {
  font-size: 0.9rem;
}
.information ul li a h3 {
  font-size: 1.25rem;
  font-weight: bold;
  border-bottom: 2px solid #cccccc;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}
.information ul li a p + p {
  text-align: right;
  margin-top: auto;
}
.information ul li a p span {
  display: inline-block;
  font-size: 0.9rem;
  line-height: 1.5em;
  margin-top: 1em;
  padding: 0 1rem;
  border-radius: 2em;
  border: 2px solid #000000;
}
.information ul li a:hover p span {
  background-color: #000;
  color: #fff;
}
.member {
  width: 30%;
  color: #ffffff;
  background-color: #d5c8a0;
  border-radius: 0.75rem;
  padding: 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.member h2 {
  font-size: 1.5rem;
  font-weight: bold;
  position: relative;
  z-index: 2;
  margin-bottom: 1rem;
}
.member h2:after {
  content: "";
  display: block;
  width: 100%;
  height: 80%;
  background-image: url(images/login-bus.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top right;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
}
.login-username,
.login-password {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
}
.login-username label,
.login-password label {
  width: 30%;
}
.login-username input,
.login-password input {
  width: 70%;
  padding: 0 0.5rem;
}
.login-submit {
  text-align: center;
  margin-top: 1rem;
}
.login-submit button {
  font-size: 0.9rem;
  color: #ffffff;
  background-color: #d5c8a0;
  border: 1px solid #ffffff;
  border-radius: 1em;
  padding: 0 2em;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .info-box {
    flex-direction: column;
    margin-top: 0;
  }
  .info-box .member {
    order: 1;
    width: 100%;
    margin-bottom: 2rem;
  }
  .info-box .information {
    order: 2;
    width: 100%;
    padding-right: 0;
  }
  .information ul {
    flex-direction: column;
  }
  .information ul li {
    width: 100%;
  }
}

/* 就職説明会
---------------------------*/
.recruit {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 0;
}
@media screen and (max-width : 768px) { /* Smart Phone*/
  .recruit a img {
    width: 100%;
  }
}

/* バス無料デー
---------------------------*/
.freeday {
  width: 100%;
  margin: 1rem auto 2rem auto;
}
.freeday a {
  display: block;
}
.freeday a img {
  width: 100%;
  height: auto;
}
@media print, screen and (min-width : 767px) { /* PC */
  .freeday {
    width: 80%;
    margin: 0 auto;
    min-width: 1100px;
    max-width: 1300px;
  }
}



/* コロナ、メニュー群
---------------------------*/
.top-menu {
  padding: 2rem 0;
}
.covid {
  margin: 1rem auto 2rem auto;
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  box-shadow: 3px 3px 3px rgb(0 0 0 / 10%);
}
.covid figure {
  width: 30%;
}
.covid figure img {
  width: 100%;
}
.covid div {
/*  width: 70%;*/
  background-color: #fdd22b;
  padding: 1.5rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.covid div h2 {
  font-size: 1.5rem;
  font-weight: bold;
  border-bottom: 1px solid #000000;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}
.covid div p + p {
  margin-top: 1rem;
  text-align: right;
  font-weight: bold;
}
.covid div p + p a {
  color: #e60012;
}
.covid div p + p a:hover {
  opacity: 0.5;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .top-menu {
    padding: 1rem;
  }
  .covid {
    flex-direction: column;
    margin-bottom: 2rem;
  }
  .covid figure {
    width: 100%;
  }
  .covid div {
    width: 100%;
  }
  .covid div p + p {
    margin-top: 1em;
    text-align: left;
  }
  .covid div p a {
    display: block;
    text-align: left;
  }
}

/* バス祭り中止のお知らせ
---------------------------*/
.busfes {
  margin: 1rem auto 2rem auto;
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  box-shadow: 3px 3px 3px rgb(0 0 0 / 10%);
}
.busfes figure {
  width: 30%;
}
.busfes figure img {
  width: 100%;
}
.busfes div {
  width: 100%;
}
.busfes div a {
  color: #ffffff;
  background-color: #ea6100;
  padding: 1.5rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.busfes div a h2 {
  font-size: 1.5rem;
  font-weight: bold;
  border-bottom: 1px solid #ffffff;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}
.busfes div a p + p {
  margin-top: 1rem;
  text-align: right;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .busfes {
    flex-direction: column;
    margin-bottom: 2rem;
  }
  .busfes figure {
    width: 100%;
  }
  .busfes div a {
    width: 100%;
  }
  .busfes div a p + p {
    margin-top: 1em;
    text-align: left;
  }
  .busfes div a p {
    display: block;
    text-align: left;
  }
} 


ul.menu-01 {
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
* + ul.menu-01 {
  margin-top: 0;
}
ul.menu-01 li {
  border-radius: 0.75rem;
  overflow: hidden;
  width: 24%;
  box-shadow: 3px 3px 3px rgb(0 0 0 / 10%);
}
ul.menu-01 li:hover {
  opacity: 0.5;
}
ul.menu-01 li h2 {
  font-size: 1.25rem;
  font-weight: bold;
  color: #ffffff;
  background-color: #6aa9c0;
  text-align: center;
  padding: 0.25rem 0;
}
ul.menu-02 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem;
}
ul.menu-02 li {
  width: 32%;
  border-radius: 0.75rem 0.75rem 0 0;
  overflow: hidden;
}
ul.menu-02 li:hover {
  opacity: 0.5;
}
ul.menu-02 li a {
  display: block;
  position: relative;
}
ul.menu-02 li a h2 {
  font-size: 1.25rem;
  font-weight: bold;
  padding: 0.25rem 0;
  width: 60%;
  position: absolute;
  left: 0;
  top: 0;
  color: #ffffff;
  background-color: #000000;
  border-radius: 0 0 0.75rem 0;
  text-align: center;
}
ul.menu-02 li a img {
  border-radius: 0 0 0.75rem 0.75rem;
  margin-bottom: 0.5rem;
}
ul.menu-03 {
  display: flex;
  justify-content: space-between;
}
ul.menu-03 li {
  width: 49%;
  border: 2px solid #6aa9c0;
  border-radius: 0.75rem;
  padding: 1rem 2rem;
  text-align: center;
}
ul.menu-03 li h2 {
  color: #ffffff;
  background-color: #6aa9c0;
  border-radius: 1rem;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  padding: 0.25rem 0;
  margin-bottom: 0.5rem;
}
ul.menu-03 li p {
  text-align: center;
}
ul.menu-03 li p.link {
  margin-top: 1rem;
}
ul.menu-03 li p.link a {
  display: block;
  color: #6aa9c0;
  border-top: 1px solid #6aa9c0;
  border-bottom: 1px solid #6aa9c0;
  position: relative;
  padding: 0.5rem 0;
}
ul.menu-03 li p.link a:after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  right: 0.5rem;
  top: 50%;
  margin-top: -0.25rem;
  border-top: 2px solid #6aa9c0;
  border-right: 2px solid #6aa9c0;
  transform: rotate(45deg);
}
ul.menu-03 li img {
  width: 70%;
  margin: 0.5rem 10% 0 10%;
}
div.banner-area {
  display: flex;
  justify-content: space-between;
  width: 80%;
  min-width: 1100px;
  max-width: 1300px;
  margin: 2rem auto 0 auto;
}
div.banner-area a {
  display: block;
  width: 49%;
}
div.banner-area img {
  width: 100%;
  border-radius: 0.75rem;
}
div.banner-area img:hover {
  opacity: 0.5;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  ul.menu-01 {
    flex-direction: column;
    margin-bottom: 0;
  }
  ul.menu-01 li {
    width: 100% !important;
    margin-bottom: 2rem;
  }
  ul.menu-02 {
    flex-direction: column;
  }
  ul.menu-02 li {
    width: 100%;
    margin-bottom: 1rem;
  }
  ul.menu-03 {
    flex-direction: column;
  }
  ul.menu-03 li {
    width: 100%;
    padding: 1rem;
    margin-bottom: 1rem;
  }
  ul.menu-03 li p {
    text-align: left;
  }
  ul.menu-03 li p a {
    text-align: center;
  }
  ul.menu-03 li img {
    width: 90%;
    margin: 0.5rem 5% 0 5%;
  }
  div.banner-area {
    flex-direction: column;
    margin: 1rem auto 0 auto;
    width: 100%;
    max-width: initial;
    min-width: initial;
  }
  div.banner-area a {
    display: block;
    width: 100%;
    margin: 0.5rem 0;
  }
  div.banner-area img {
    width: 100%;
    min-width: initial;
  }
}

/* photo-gallery
---------------------------*/
.photo-gallery {
  background-color: #eaeef1;
  padding: 2rem 0 4rem 0;
  margin-top: 3rem;
}
.photo-gallery .wrap {
  position: relative;
}
.photo-gallery .wrap h2 {
  position: relative;
  font-size: 1.25rem;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 1rem;
}
.photo-gallery .wrap h2 span {
  font-size: 1rem;
  font-weight: normal;
  position: relative;
  margin-top: 0.5rem;
}
.photo-gallery .wrap h2 span:after {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  background-color: #000000;
  position: absolute;
  left: 0;
  top: 0;
}
.photo-gallery .wrap h2 a {
  font-size: 1rem;
  font-weight: normal;
  position: absolute;
  right: 0;
  color: #ffffff;
  background-color: #000000;
  padding: 0 1em;
  top: 50%;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
}
.photo-gallery .wrap h2 a:hover {
  opacity: 0.5;
}
.photo-gallery .swiper-container {
  width: 88% !important;
}
.photo-gallery .swiper-container .swiper-slide img {
  width: 100%;
}
.photo-gallery .swiper-button-next, 
.photo-gallery .swiper-button-prev {
  width: 3rem !important;
  height: 3rem !important;
  background: #bcd4df !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  margin-top: -0.5rem !important;
}
.photo-gallery .swiper-button-next:after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  position: absolute;
  right: 1.1rem;
  top: 50%;
  margin-top: -0.5rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
}
.photo-gallery .swiper-button-prev:after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  position: absolute;
  left: 1.1rem;
  top: 50%;
  margin-top: -0.5rem;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  transform: rotate(-45deg);
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .photo-gallery {
    padding: 1rem;
  }
  .photo-gallery .swiper-button-next, .photo-gallery .swiper-button-prev {
    margin-top: 0.5rem !important;
  }
  .swiper-button-next, .swiper-container-rtl .swiper-button-prev {
    right: 0 !important;
  }
  .swiper-button-prev, .swiper-container-rtl .swiper-button-next {
    left: 0 !important;
  }
}


/* ----------------------------------------------------------
 固定ページ共通
---------------------------------------------------------- */
body.page article h2,
body.single article h2,
body.archive article h2 {
  font-size: 2rem;
  font-weight: bold;
  color: #6aa9c0;
  margin-bottom: 4rem;
}
body.page article h2 span,
body.single article h2 span,
body.archive article h2 span {
  color: #000000;
  font-size: 1rem;
  display: block;
  padding-top: 0.5rem;
}
body.page article h3,
body.single article h3,
body.archive article h3 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
body.page article a:hover,
body.single article a:hover,
body.archive article a:hover  {
  opacity: 0.5;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  body.page article h2,
  body.single article h2,
  body.archive article h2 {
    font-size: 8vw;
    line-height: 1.25em;
    margin-bottom: 2rem;
  }
  body.page article h3, 
  body.single article h3, 
  body.archive article h3 {
    font-size: 5.5vw;
    line-height: 1.5em;
  }
}



/* ----------------------------------------------------------
 page-about / バス協会について
---------------------------------------------------------- */
body.about .about {
  padding: 3rem 0;
  background-color: #eaeef1;
}
body.about .about h2 {
  text-align: right;
}
body.about .about .flexbox {
  display: flex;
}
body.about .about .flexbox .left {
  width: 30%;
  padding-right: 4rem;
  text-align: center;
}
body.about .about .flexbox .left h3 {
  margin-bottom: 2rem;
}
body.about .about .flexbox .left p {
  display: inline-flex;
  flex-direction: column;
}
body.about .about .flexbox .left p span {
  color: #ffffff;
  background-color: #6aa9c0;
  padding: 0 2em;
  border-radius: 1em;
  margin-bottom: 0.25rem;
}
body.about .about .flexbox .right {
  width: 70%;
}
body.about .about .flexbox .right p {
  margin-bottom: 2rem;
}
body.about .about .flexbox .right ol {
counter-reset: olcount;
}
body.about .about .flexbox .right ol li {
  padding-left: 1em;
  text-indent: -1em;
}
body.about .about .flexbox .right ol li:before {
  counter-increment: olcount;
  content: "("counter(olcount)")";
  margin-right: 0.5rem;
}
body.about .officer {
  padding: 4rem 0;
}
body.about .officer h3 {
  text-align: center;
}
body.about .officer dl {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  justify-content: space-between;
  margin: 2rem 0 3rem 0;
}
body.about .officer dl dt {
  width: 16%;
  padding: 0.25rem 0;
  border-bottom: 1px solid #000000;
  letter-spacing: 0.5em;
}
body.about .officer dl dd:nth-of-type(odd) {
  width: 26%;
  padding: 0.25rem 0;
  border-bottom: 1px solid #000000;
  letter-spacing: 0.5em;
}
body.about .officer dl dd:nth-of-type(even) {
  width: 50%;
  padding: 0.25rem 0;
  border-bottom: 1px solid #000000;
}
body.about .officer dl dt:nth-of-type(1),
body.about .officer dl dd:nth-of-type(1),
body.about .officer dl dd:nth-of-type(2) {
  border-bottom: 0;
  color: #ffffff;
  background-color: #6aa9c0;
  border-radius: 2em;
}
body.about .officer .ul-01 {
  display: flex;
  justify-content: space-between;
}
body.about .officer .ul-01 li {
  width: 49%;
}
body.about .officer .ul-01 li a {
  display: block;
  color: #ffffff;
  background-color: #6aa9c0;
  border-radius: 2em;
  padding: 0.25rem 0;
  text-align: center;
  font-size: 1.25rem;
  position: relative;
}
body.about .officer .ul-01 li a:after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  margin-top: -0.25rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
}
body.about .officer .ul-02 {
  display: flex;
  justify-content: space-between;
  padding: 0 2rem;
  margin: 4rem 0 2rem 0;
}
body.about .officer .ul-02 li {
  width: 31%;
  border-bottom: 1px solid #6aa9c0;
}
body.about .officer .ul-02 li a {
  /*height: 4.5rem;*/
  display: flex;
  align-items: center;
  position: relative;
  padding: 0 2.5rem 0.5rem 3.75rem;
}
body.about .officer .ul-02 li a:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1.75rem;
  background-image: url(images/icon-pdf.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
body.about .officer .ul-02 li a:after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  margin-top: -0.375rem;
  border-top: 2px solid #6aa9c0;
  border-right: 2px solid #6aa9c0;
  transform: rotate(45deg);
}
body.about .officer .ul-03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body.about .officer .ul-03 li {
  width: 49%;
  margin-bottom: 1rem;
}
body.about .officer .ul-03 li a {
  display: block;
  color: #6aa9c0;
  background-color: #eaeef1;
  border-radius: 2em;
  padding: 0.25rem 0;
  text-align: center;
  font-size: 1.25rem;
  position: relative;
}
body.about .officer .ul-03 li a:after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  margin-top: -0.25rem;
  border-top: 2px solid #6aa9c0;
  border-right: 2px solid #6aa9c0;
  transform: rotate(45deg);
}
body.about .officer .anzen {
  width: 60%;
  margin: 3rem auto 1rem auto;
  padding: 1rem 2rem;
  border: 3px solid #6aa9c0;
  border-radius: 0.75rem;
}
body.about .officer .anzen h4 {
  font-size: 1.25rem;
  color: #6aa9c0;
  text-align: center;
  border-bottom: 1px solid;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
}
body.about .officer .anzen li:before {
  content: "●";
  color:  #6aa9c0;
  margin-right: 0.5rem;
}
body.about .access {
  text-align: center;
}
body.about .access h3 span {
  padding: 0 1em 0.5rem;
  border-bottom: 1px solid #6aa9c0;
}
body.about .access iframe {
  width: 100%;
  border-radius: 0.75rem;
  margin: 2rem auto;
}
body.about .link {
  text-align: center;
  background-color: #eaeef1;
  padding: 2rem;
  border-radius: 0.75rem;
}
body.about .link h3 span {
  padding: 0 1em 0.5rem;
  border-bottom: 1px solid #6aa9c0;
}
body.about .link ul {
  display: flex;
  justify-content: center;
}
body.about .link ul li {
  margin: 0.5rem 1rem;
}
body.about .link ul li a {
  position: relative;
  padding-left: 1rem;
}
body.about .link ul li a:before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -0.25rem;
  border-top: 2px solid #6aa9c0;
  border-right: 2px solid #6aa9c0;
  transform: rotate(45deg);
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  body.about .about h2 {
    text-align: center;
  }
  body.about .about .flexbox {
    flex-direction: column;
  }
  body.about .about .flexbox .left {
    width: 100%;
    padding-right: 0;
    margin-bottom: 1rem;
  }
  body.about .about .flexbox .left h3 {
    margin-bottom: 1rem;
  }
  body.about .about .flexbox .right {
    width: 100%;
  }
  body.about .about .flexbox .right ol li {
    padding-left: 2em;
    text-indent: -2em;
  }
  body.about .officer dl {
    flex-direction: column;
    margin-bottom: 1rem;
  }
  body.about .officer dl dt:first-child,
  body.about .officer dl dd:nth-child(2),
  body.about .officer dl dd:nth-child(3) {
    display: none;
  }
  body.about .officer dl dt {
    width: 100%;
    color: #ffffff;
    background-color: #6aa9c0;
    border-bottom: 0;
    border-radius: 2em;
  }
  body.about .officer dl dd:nth-of-type(odd) {
    width: 100%;
    border-bottom: 1px solid #6aa9c0;
    padding: 0.25rem 0 0 0;
    letter-spacing: 0;
  }
  body.about .officer dl dd:nth-of-type(even) {
    width: 100%;
    border-bottom: 0;
    padding: 0 0 0.5rem 0;
    font-size: 0.9rem;
  }
  body.about .officer .ul-01 {
    flex-direction: column;
  }
  body.about .officer .ul-01 li {
    width: 100%;
    margin-bottom: 1rem;
  }
  body.about .officer .ul-01 li a {
    font-size: 1rem;
    text-align: left;
    padding: 0.5rem 1em;
  }
  body.about .officer .ul-02 {
    flex-direction: column;
    margin: 1rem auto;
    padding: 0 1rem;
  }
  body.about .officer .ul-02 li {
    width: 100%;
    margin-bottom: 1rem;
  }
  body.about .officer .ul-03 {
    flex-direction: column;
  }
  body.about .officer .ul-03 li {
    width: 100%;
    margin-bottom: 1rem;
  }
  body.about .officer .ul-03 li a {
    font-size: 1rem;
    text-align: left;
    padding: 0.5rem 1em;
  }
  body.about .officer .anzen {
    width: 100%;
    padding: 1rem;
  }
  body.about .officer .anzen h4 {
    text-align: left;
  }
  body.about .officer .anzen ul li {
    padding-left: 2em;
    text-indent: -1.5em;
  }
  body.about .link ul {
    flex-direction: column;
  }
  body.about .link ul li {
    width: 100%;
  }
  body.about .link ul li a {
    display: block;
    text-align: left;
  }
}


/* ----------------------------------------------------------
 page-member / 会員事業者一覧
---------------------------------------------------------- */
.member-business {
  padding: 3rem 0;
  background-color: #eaeef1;
}
.member-business h2 {
  text-align: right;
}
ul.bus-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
ul.bus-list li {
  width: 22.5%;
  margin-bottom: 3rem;
}
ul.bus-list li figure {
  border-radius: 0.75rem;
  overflow: hidden;
  width: 100%;
  margin-bottom: 0.5rem;
}
ul.bus-list li figure img {
  width: 100%;
}
ul.bus-list li h3 {
  font-size: 1rem;
  border-bottom: 1px solid #000000;
  padding-bottom: 0.25rem;
  margin-bottom: 0.25rem;
}
ul.bus-list li p {
  font-size: 0.9rem;
}
ul.bus-list li p.tel {
  display: flex;
}
ul.bus-list li p.tel a.web {
  font-size: 0.8rem;
  margin-left: auto;
  color: #ffffff;
  background-color: #6aa9c0;
  padding: 0 1em;
  border-radius: 2em;
}
ul.bus-link {
  display: flex;
}
ul.bus-link li {
  margin-right: 1em;
  border-bottom: 1px solid #6aa9c0;
}
ul.bus-link li a:hover {
  color: #6aa9c0;
}
ul.bus-link li.now {
  color: #6aa9c0;
  border-bottom: 0;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .member-business h2 {
    text-align: center;
  }
  ul.bus-list li {
    width: 100%;
  }
}


/* ----------------------------------------------------------
 page-terminal / バス乗り場
---------------------------------------------------------- */
.terminal-about {
  padding: 3rem 0;
  background-color: #eaeef1;
}
.terminal-about h2 {
  text-align: right;
}
.terminal-about .flexbox {
  display: flex;
}
.terminal-about .flexbox .left {
  width: 50%;
}
.terminal-about .flexbox .left img {
  width: 100%;
}
.terminal-about .flexbox .right {
  width: 50%;
  padding-left: 2rem;
}
.terminal-about .flexbox .right h3 {
  color: #6aa9c0;
}
.terminal-about .flexbox .right dl dt:before {
  content: "■";
}
.terminal-about .flexbox .right dl dd {
  padding-left: 1em;
  margin-bottom: 0.25rem;
}
.terminal-about ul.wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
}
.terminal-about ul.wrap li {
  width: 32%;
  text-align: center;
}
.terminal-about ul.wrap li h4 {
  font-size: 1.25rem;
  color: #ffffff;
  background-color: #6aa9c0;
  padding: 0.25rem 0;
  border-radius: 0.75rem 0.75rem 0 0;
}
.terminal-about ul.wrap li h4 + p {
  font-size: 1.25rem;
  background-color: #ffffff;
  padding: 0.25rem 0;
  margin-bottom: 0.5rem;
  border-radius: 0 0 0.75rem 0.75rem;
}
.terminal-about a {
  padding-bottom: 0.25rem;
  border-bottom: 1px solid #6aa9c0;
}
.terminal-map .wrap2 {
  position: relative;
}
.terminal-map .wrap2 h2 {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 2rem;
}
.terminal-map figure,
.terminal-map figure img {
  width: 100%;
}
.terminal-map h3 {
  text-align: center;
  margin: 2rem 0 !important;
}
.terminal-map ul li {
  display: flex;
  margin-bottom: 2rem;
}
.terminal-map ul li div {
  width: 60%;
}
.terminal-map ul li div h4 a {
  display: block;
  color: #ffffff;
  font-size: 1.25rem;
  text-align: center;
  color: #ffffff;
  background-color: #6aa9c0;
  border-radius: 2em;
  padding: 0.25rem 0;
  margin-bottom: 0.5rem;
 position: relative;
}
.terminal-map ul li div h4 a:after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  margin-top: -0.25rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
}
.terminal-map ul li div p {
  padding: 0 1em;
}
.terminal-map ul li > p {
  width: 40%;
  padding-left: 3rem;
}
.terminal-map ul li > p a {
  line-height: 1.5em;
  height: 4.5rem;
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 3.75rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid #6aa9c0;
}
.terminal-map ul li > p a:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1.75rem;
  background-image: url(images/icon-pdf.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.terminal-map ul li > p a:after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  margin-top: -0.375rem;
  border-top: 2px solid #6aa9c0;
  border-right: 2px solid #6aa9c0;
  transform: rotate(45deg);
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .terminal-about h2 {
    text-align: center;
  }
  .terminal-about .flexbox {
    flex-direction: column;
  }
  .terminal-about .flexbox .left {
    width: 100%;
    margin-bottom: 1rem;
  }
  .terminal-about .flexbox .right {
    width: 100%;
    padding-left: 0;
  }
  .terminal-about ul.wrap {
    flex-direction: column;
  }
  .terminal-about ul.wrap li {
    width: 100%;
    margin-bottom: 1rem;
  }
  .terminal-map .wrap2 h2 {
    position: relative;
    margin-bottom: 1rem;
  }
  .terminal-map ul li {
    flex-direction: column;
  }
  .terminal-map ul li div {
    width: 100%;
  }
  .terminal-map ul li > p {
    width: 100%;
    padding-left: 0;
    margin: 0.5rem 0;
  }
}


/* ----------------------------------------------------------
 page-express / 高速バス
---------------------------------------------------------- */
.express-about {
  padding: 3rem 0;
  background-color: #eaeef1;
}
.express-about h2 {
  text-align: right;
  margin-bottom: 1rem !important;
}
.express-about figure,
.express-about figure img {
  width: 100%;
}
.express-list {
  padding-top: 4rem;
}
.express-list h3 {
  text-align: center;
}
.express-list h3 span {
  padding: 0 1em 0.5rem;
  border-bottom: 1px solid #6aa9c0;
}
.express-list dl {
  display: flex;
  flex-wrap: wrap;
  margin: 3rem auto;
}
.express-list dl dt {
  width: 45%;
  padding: 0.5rem 1rem;
  background-color: #eaeef1;
  border: 1px solid #000000;
  border-top: 0;
}
.express-list dl dd {
  width: 55%;
  padding: 0.5rem 1rem;
  border: 1px solid #000000;
  border-top: 0;
  border-left: 0;
}
.express-list dl dd a {
  padding-bottom: 0.25rem;
  border-bottom: 1px solid #6aa9c0;
}
.express-list dl dt:nth-child(1) {
  text-align: center;
  color: #ffffff;
  background-color: #595757;
  border-top: 1px solid #000000;
}
.express-list dl dd:nth-child(2) {
  text-align: center;
  color: #ffffff;
  background-color: #000000;
  border-top: 1px solid #000000;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .express-about h2 {
    text-align: center;
  }
  .express-list dl {
    flex-direction: column;
    border-top: 1px solid #000000;
    margin: 2rem auto;
  }
  .express-list dl dt {
    width: 100%;
    padding: 0.5rem;
  }
  .express-list dl dd {
    width: 100%;
    border-left: 1px solid #000000;
    padding: 0.5rem;
  }
  .express-list dl dt:nth-child(1),
  .express-list dl dd:nth-child(2),
  .express-list dl dd:nth-child(3) {
    display: none;
  }
}


/* ----------------------------------------------------------
 page-airport-tourist / 高速バス・観光バス
---------------------------------------------------------- */
.airport-about {
  margin-bottom: 4rem;
}
.airport-about .wrap {
  position: relative;
}
.airport-about .wrap h2 {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 3rem;
}
.airport-list h3 {
  text-align: center;
}
.airport-list h3 span {
  padding: 0 1em 0.5rem;
  border-bottom: 1px solid #6aa9c0;
}
.airport-list dl {
  display: flex;
  flex-wrap: wrap;
  margin: 3rem auto;
}
.airport-list dl dt {
  width: 45%;
  padding: 0.5rem 1rem;
  background-color: #eaeef1;
  border: 1px solid #000000;
  border-top: 0;
}
.airport-list dl dd {
  width: 55%;
  padding: 0.5rem 1rem;
  border: 1px solid #000000;
  border-top: 0;
  border-left: 0;
  position: relative;
}
.airport-list dl dd a {
  padding-bottom: 0.25rem;
  border-bottom: 1px solid #6aa9c0;
}
.airport-list dl dt:nth-child(1) {
  text-align: center;
  color: #ffffff;
  background-color: #595757;
  border-top: 1px solid #000000;
}
.airport-list dl dd:nth-child(2) {
  text-align: center;
  color: #ffffff;
  background-color: #000000;
  border-top: 1px solid #000000;
}

.tourist-about .wrap {
  position: relative;
  z-index: 1;
}
.tourist-about .wrap h2 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 2rem;
  text-align: right;
  color: #ffffff;
}
.tourist-about figure {
  position: relative;
}
.tourist-about figure figcaption {
  position: absolute;
  right: 0;
  bottom: 2rem;
  color: #ffffff;
}
.tourist-about .title-box {
  position: relative;
}
.tourist-about .title-box .wrap p {
  position: absolute;
  left: 0;
  bottom: 1rem;
  color: #ffffff;
  font-size: 1.25rem;
}
.tourist-about ul {
  margin: 3rem auto;
}
.tourist-about ul li {
  display: flex;
  margin-bottom: 2rem;
}
.tourist-about ul li h3 {
  width: calc(60% - 2rem);
  border-bottom: 1px solid #6aa9c0;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  margin-right: 2rem;
}
.tourist-about ul li p {
  width: 40%;
}
.tourist-about ul li p a {
  display: block;
  width: 100%;
  color: #ffffff;
  background-color: #6aa9c0;
  text-align: center;
  border-radius: 2em;
  padding: 0.5rem 0;
  position: relative;
}
.tourist-about ul li p a:after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  right: 2rem;
  top: 50%;
  margin-top: -0.25rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .airport-about .wrap h2 {
    position: relative;
    text-align: center;
  }
  .airport-list dl {
    flex-direction: column;
    border-top: 1px solid #000000;
    margin: 2rem auto;
  }
  .airport-list dl dt {
    width: 100%;
    padding: 0.5rem;
  }
  .airport-list dl dd {
    width: 100%;
    border-left: 1px solid #000000;
    padding: 0.5rem;
  }
  .airport-list dl dt:nth-child(1),
  .airport-list dl dd:nth-child(2),
  .airport-list dl dd:nth-child(3) {
    display: none;
  }
  .tourist-about .wrap h2 {
    padding-top: 0.5rem;
  }
  .tourist-about .title-box .wrap p {
    bottom: 0.5rem;
    font-size: 0.9rem;
  }
  .tourist-about figure figcaption {
    bottom: 1.5rem;
    font-size: 0.9rem;
  }
  .tourist-about ul li {
    flex-direction: column;
    width: 100%;
    padding-right: 0;
    margin-bottom: 2rem;
  }
  .tourist-about ul li h3 {
    width: 100%;
    border-bottom: 0;
  }
  .tourist-about ul li p {
    width: 100%;
  }
}


/* ----------------------------------------------------------
 single,archive / 個別記事
---------------------------------------------------------- */
body.single article,
body.archive article {
  padding: 3rem 0 5rem 0;
  background-color: #eaeef1;
}
body.single article h2,
body.archive article h2 {
  text-align: right;
}
body.single article a:hover,
body.archive article a:hover  {
  opacity: 0.5;
}
body.single .flexbox,
body.archive .flexbox {
  display: flex;
}
body.single .flexbox .left,
body.archive .flexbox .left {
  width: 78%;
  padding-right: 4rem;
}
body.single .flexbox .left time {
  display: block;
  padding-bottom: 0.5rem;
}
body.single .flexbox .left h3 {
  color: #6aa9c0;
  position: relative;
  padding-bottom: 0.5rem;
}
body.single .flexbox .left h3:before {
  content: "";
  background-image: linear-gradient(to right, #6aa9c0, #6aa9c0 1px, transparent 1px, transparent 5px);
  background-size: 5px 1px;
  background-repeat: repeat-x;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
}
body.single .flexbox .left .text h4 {
  border-bottom: 1px solid;
  margin-bottom: 0.5rem;
  margin-top: 2em;
}
body.single .flexbox .left .text h4:before {
  content: "■";
  margin-right: 0.25rem;
}
body.single .flexbox .left .text p {
  margin-bottom: 1em;
}
body.single .flexbox .left .text p a {
  color: #6aa9c0;
  border-bottom: 1px solid #6aa9c0;
  word-break:break-all;
}
body.single .flexbox .left .text span.red {
  color: #cc0000;
}
body.single .flexbox .left .text p a.fancyboxforwp {
  display: inline-block;
  width: 48%;
  margin-right: 1%;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-bottom: 0;
}
body.single .flexbox .left .text p a.fancyboxforwp img {
  width: 100%;
  height: auto;
  padding: 0.5rem;
  border: 1px solid #cccccc;
  background-color: #ffffff;
}
body.single .flexbox .left .text p.link-pdf a {
  height: 4.5rem;
  display: inline-flex;
  align-items: center;
  position: relative;
  padding-left: 4.5rem;
  padding-right: 5em;
  border: 0;
  border-radius: 2em;
  color: #000;
  background-color: #fff;
}
body.single .flexbox .left .text p.link-pdf a:before {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  position: absolute;
  left: 1em;
  top: 50%;
  margin-top: -1.5rem;
  background-image: url(images/icon-pdf.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
body.single .flexbox .left .text p.link-pdf a:after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  margin-top: -0.375rem;
  border-top: 2px solid #6aa9c0;
  border-right: 2px solid #6aa9c0;
  transform: rotate(45deg);
}
body.single .flexbox .left .text dl {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #cccccc;
  border-bottom: 0;  
  width: 90%;
  margin: 1em 0;
}
body.single .flexbox .left .text dl dt {
  width: 25%;
  padding: 0.5rem;
  border-bottom: 1px solid #cccccc;
  color: #ffffff;
  background-color: #6aa9c0;
}
body.single .flexbox .left .text dl dd {
  width: 75%;
  padding: 0.5rem;
  border-bottom: 1px solid #cccccc;
  background-color: #ffffff;
}
body.single .flexbox .left .text .underline {
  border-bottom: 1px dotted;
}
body.single .flexbox .left .text .ul-caution,
body.single .flexbox .left .text .ul-simple {
  margin: 1em 0;
}
body.single .flexbox .left .text .ul-count {
  margin: 1em 0;
  counter-reset: ulcount;
}
body.single .flexbox .left .text .ul-caution li,,
body.single .flexbox .left .text .ul-simple li
body.single .flexbox .left .text .ul-count li {
  padding-left: 1em;
  text-indent: -1em;
}
body.single .flexbox .left .text .ul-caution li::before {
  content: "※";
}
body.single .flexbox .left .text .ul-simple li::before {
  content: "・";
}
body.single .flexbox .left .text .ul-count li::before {
  counter-increment: ulcount;
  content: counter(ulcount)".";
  margin-right: 0.25em;
}
body.single .flexbox .right,
body.archive .flexbox .right {
  width: 22%;
  padding-left: 4rem;
  border-left: 1px solid #000000;
}
body.single .flexbox .right h3,
body.archive .flexbox .right h3 {
  font-size: 1rem;
}

/* アーカイブ */
body.archive .flexbox .left h3 {
  color: #6aa9c0;
  border-bottom: 1px solid #6aa9c0;
  padding-bottom: 0.5rem;
}
body.archive .flexbox .left ul li {
  display: flex;
}
body.archive .flexbox .left ul li time {
  width: 200px;
  border-right: 1px solid;
  margin-right: 3rem;
  padding: 0.5rem 0;
}
body.archive .flexbox .left ul li a {
  padding: 0.5rem 0;
}
body.archive .flexbox .left ul li a h4 {
  font-size: 1rem;
}

/* pagination */
div.pagination {
  clear: both;
  padding: 0;
  position: relative;
  background: none;
  margin: 4rem auto;
  vertical-align: middle;
}
div.pagination span,
.pagination a {
  display:block;
  float:left ;
  margin: 2px 2px 2px 0 ;
  padding:6px 9px 5px 9px ;
  text-decoration:none;
  width:auto;
  color:#fff;
  background-color: #666;
  transition: .6s;
}
div.pagination a:hover{
  color: #ffffff;
  background: #6aa9c0 !important;
  transition: .6s;
}
div.pagination .current{
  padding:6px 9px 5px 9px ;
  background: #6aa9c0 !important;
  color: #fff;
}
div.pagination li {
  list-style-type: none;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  body.single article h2, 
  body.archive article h2 {
    text-align: center;
  }
  body.single .flexbox, 
  body.archive .flexbox {
    flex-direction: column;
  }
  body.single .flexbox .left, 
  body.archive .flexbox .left {
    width: 100%;
    padding-right: 0;
    margin-bottom: 2rem;
  }
  body.single .flexbox .right, 
  body.archive .flexbox .right {
    width: 100%;
    padding-left: 0;
    padding-top: 1rem;
    border-left: 0;
    border-top: 1px solid #000;
  }
  body.single .flexbox .right ul, 
  body.archive .flexbox .right ul {
    padding: 0 1em;
  }
  body.archive .flexbox .left ul li {
    flex-direction: column;
    border-bottom: 1px solid #000;
    padding-top: 1rem;
    padding-bottom: 0.5rem;
  }
  body.archive .flexbox .left ul li:last-child {
    border-bottom: 0;
  }
  body.archive .flexbox .left ul li time {
    color: #6aa9c0;
    width: 100%;
    border-right: 0;
    margin-right: 0;
    padding: 0;
  }
}


/* ----------------------------------------------------------
 privacy-policy / プライバシーポリシー
---------------------------------------------------------- */
.privacy-about {
  padding: 3rem 0;
  background-color: #eaeef1;
}
.privacy-about h2 {
  text-align: right;
}
.privacy-about h3 {
  border-bottom: 1px solid #000000;
  padding-bottom: 1rem;
}
.privacy-list {
  padding-top: 4rem;
}
.privacy-list h4 {
  font-size: 1.25rem;
  color: #ffffff;
  background-color: #6aa9c0;
  padding: 0.25rem 1em;
  border-radius: 2em;
  margin-bottom: 0.5rem;
}
.privacy-list h4 + p,
.privacy-list h4 + ul {
  margin-bottom: 2rem;
  padding: 0 1em;
}
.privacy-list h4 + ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.privacy-list h4 + ul li:before {
  content: "◇";
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  .privacy-about h2 {
    text-align: center;
  }
}


/* ----------------------------------------------------------
 photo-gallery / フォトギャラリー
---------------------------------------------------------- */
body.single-photo-gallery .swiper-slide img {
  width: 100%;
}
body.single-photo-gallery article h3 {
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}
body.single-photo-gallery article .wrap {
  position: relative;
}
body.single-photo-gallery article .swiper-container {
  width: 88% !important;
}
body.single-photo-gallery article .swiper-button-next, 
body.single-photo-gallery article .swiper-button-prev {
  width: 3rem !important;
  height: 3rem !important;
  background: #bcd4df !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  margin-top: -0.5rem !important;
}
body.single-photo-gallery article .swiper-button-next:after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  position: absolute;
  right: 1.1rem;
  top: 50%;
  margin-top: -0.5rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
}
body.single-photo-gallery article .swiper-button-prev:after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  position: absolute;
  left: 1.1rem;
  top: 50%;
  margin-top: -0.5rem;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  transform: rotate(-45deg);
}

body.single-photo-gallery ul.photolink {
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
}
body.single-photo-gallery ul.photolink li {
  width: 48%;
}
body.single-photo-gallery ul.photolink li a {
  font-size: 1.25rem;
  display: block;
  width: 100%;
  text-align: center;
  color: #ffffff;
  background-color: #6aa9c0;
  padding: 0.5rem 0;
  border-radius: 2em;
}

@media screen and (max-width : 768px) { /* Smart Phone*/
  body.single-photo-gallery article .swiper-button-next, 
  body.single-photo-gallery article .swiper-button-prev {
    margin-top: 0.5rem !important;
  }
  body.single-photo-gallery ul.photolink {
    flex-direction: column;
  }
  body.single-photo-gallery ul.photolink li {
    width: 100%;
    margin-bottom: 1rem;
  }
  body.single-photo-gallery article h3 {
    text-align: center;
  }
}

/* ----------------------------------------------------------
 memberonly / 会員専用ページ
---------------------------------------------------------- */
body.memberonly .memberonly {
  overflow-x: hidden;
}
body.memberonly .memberonly .title {
  text-align: center;
  color: #ffffff;
  background-color: #6aa9c0;
  padding: 2rem 0 1.5rem 0;
  margin-bottom: 4rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.memberonly .memberonly .title a {
  color: #ffffff;
  border: 1px solid #ffffff;
  position: absolute;
  right: 2rem;
  padding: 0.5rem 2rem;
  border-radius: 2em;
}
body.memberonly .memberonly .title h2,
body.memberonly .memberonly .title h2 span {
  color: #ffffff;
  margin-bottom: 0;
}
body.memberonly .memberonly .title h2 span {
  font-size: 1.25rem;
}
body.memberonly .memberonly section.wrap {
  padding: 4rem 0;
}
body.memberonly .memberonly section.wrap:nth-of-type(1) {
  padding-top: 0;
}
body.memberonly .memberonly section.wrap:nth-of-type(2) {
  position: relative;
  z-index: 1;
}
body.memberonly .memberonly section.wrap:nth-of-type(2):before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background-color: #eaeef1;
}
body.memberonly .memberonly section.wrap:nth-of-type(2) h5 {
  border-bottom: 3px solid #ffffff;
}
body.memberonly .memberonly h3 {
  font-size: 1.75rem;
  text-align: center;
  position: relative;
  padding-bottom: 0.75rem;
  margin-bottom: 3rem;
}
body.memberonly .memberonly h3:after {
  content: "";
  display: block;
  width: 300px;
  height: 2px;
  background-color: #6aa9c0;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -150px;
}
body.memberonly .memberonly h4 {
  padding: 0.25em 0;
  border-radius: 3em;
  color: #ffffff;
  background-color: #6aa9c0;
  text-align: center;
  font-size: 1.25rem;
}
body.memberonly .memberonly h5 {
  text-align: center;
  font-size: 1.25rem;
  border-bottom: 3px solid #eaeef1;
  width: calc(100% - 4rem);
  padding-bottom: 0.5rem;
  margin: 1em auto 0 auto;
}
body.memberonly .memberonly ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 0 2rem;
  margin: 2rem auto 4rem auto;
}
body.memberonly .memberonly ul li {
  width: calc(100% / 3 - 2rem);
  border-bottom: 1px solid #6aa9c0;
  line-height: 1.5em;
  margin: 0 1rem 1rem 1rem;
}
body.memberonly .memberonly ul.ul_hyoushou li {
  width: calc(100% / 2 - 2rem);
  border-bottom: 1px solid #6aa9c0;
  line-height: 1.5em;
  margin: 0 1rem 1rem 1rem;
}
body.memberonly .memberonly ul li a {
  height: 4.5rem;
  display: flex;
  align-items: center;
  position: relative;
  padding: 0 2.5rem 0.5rem 3.75rem;
}
body.memberonly .memberonly ul li a:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1.75rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
body.memberonly .memberonly ul li.pdf a:before {
  background-image: url(images/icon-pdf.svg);
}
body.memberonly .memberonly ul li.excel a:before {
  background-image: url(images/icon-excel.svg);
}
body.memberonly .memberonly ul li.word a:before {
  background-image: url(images/icon-word.svg);
}
body.memberonly .memberonly ul li a:after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  margin-top: -0.375rem;
  border-top: 2px solid #6aa9c0;
  border-right: 2px solid #6aa9c0;
  transform: rotate(45deg);
}
body.memberonly .memberonly ul + p {
  text-align: center;
  color: #e60012;
}
@media screen and (max-width : 768px) { /* Smart Phone*/
  body.memberonly .memberonly ul + p {
    text-align: left;
  }
}


/* ログインしていない場合 */
body.memberonly .memberonly p.no-member {
  text-align: center;
  font-size: 1.25rem;
  margin: 3rem auto;
}
body.memberonly .memberonly .member {
  width: 50%;
  max-width: 600px;
  margin: 0 auto;
}
body.memberonly .memberonly .member h2 {
  text-align: center;
  font-size: 1.75rem;
  color: #ffffff;
  margin-bottom: 2rem;
}
body.memberonly .memberonly .member h2:after {
  content: none;
}


@media screen and (max-width : 768px) { /* Smart Phone*/
  body.memberonly .memberonly .member {
    width: 80%;
    max-width: initial;
    margin: 1rem auto;
  }
  .login-username, 
  .login-password {
    flex-direction: column;
  }
  .login-username label, 
  .login-password label {
    width: 100%;
  }
  .login-username input, 
  .login-password input {
    width: 100%;
  }
  .login-username input, 
  .login-password input {
    padding: 0.5rem;
  }
  body.memberonly .memberonly p.no-member {
    width: 90%;
    margin: 1rem auto;
    font-size: 1rem;
  }
  body.memberonly .memberonly .title {
    flex-direction: column;
  }
  body.memberonly .memberonly .title a {
    position: relative;
    right: 0;
    margin-top: 1rem;
  }
  body.memberonly .memberonly h3 {
    font-size: 6vw;
  }
  body.memberonly .memberonly h4 {
    border-radius: 0.5rem;
    padding: 0.5rem 0.75em;
  }
  body.memberonly .memberonly h5 {
    width: 100%;
  }
  body.memberonly .memberonly ul {
    flex-direction: column;
    margin-top: 1rem;
    padding: 0 0.5rem;
  }
  body.memberonly .memberonly ul li {
    width: 100%;
    margin: 0 0 1rem 0;
  }
}





/* ----------------------------------------------------------
 page デフォルト
---------------------------------------------------------- */
.page-normal .title {
  padding: 4rem 0;
  background-color: #eaeef1;
}
.page-normal .title h2 {
  margin-bottom: 0;
}
.page-normal .page-contents {
  padding: 3rem 0;
}
.page-normal h3 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #000000;
  padding-bottom: 1rem;
}
.page-normal * + h3 {
  margin-top: 2rem;
}
.page-normal ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.page-normal ul li:before {
  content: "・";
}
