@charset "UTF-8";
/*
	@include sc(pc) {
		width: 100%;
	}
	@include sc(sp) {
		width: 50%;
	}
*/
/*
	@include hover() {
		opacity: 0.6;
	}
*/
/*
	$line:イラレの行の値
	$size:イラレの文字の値

	@include lh(38, 15);
*/
/*
	$size:object-fitの値

	@include objectfit();
	@include objectfit('contain');
*/
/*
	@include taJ();
*/
/*
	@extend %rightarr;
*/
/*
DIN2014フォント設定
600：Demi（デフォルト）
700：Bold
*/
/*
Garamond Premier フォント設定
300：LightDisplay（デフォルト）
400：Display
*/
/*
源ノ明朝フォント設定
500：Medium（デフォルト）
700：Bold
*/
/*
	$color:色指定
	$stripe:線サイズ
	$spacing:線の空きサイズ
	$height:太さ

	@include dotted(#e6e1d2, 4,4,2);
*/
/*
example
@include dotted-y(#COLOR, WidthPX,SpaceingPX,LengthPX,); 横破線
@include dotted-y(#e6e1d2, 4,4,2,10);
*/
/*----------------------------
 common element
----------------------------*/
.btn03 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 2.5rem;
  height: 0.5rem;
  background-color: #006f81;
  border: 1px solid #006f81;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background-color 0.3s, border 0.3s;
  -o-transition: background-color 0.3s, border 0.3s;
  transition: background-color 0.3s, border 0.3s;
}
@media screen and (max-width: 640px) {
  .btn03 {
    width: 100%;
    height: 0.3rem;
  }
}
.btn03 + .btn03 {
  margin-left: 0.2rem;
}
@media screen and (max-width: 640px) {
  .btn03 + .btn03 {
    margin: 0;
  }
}
.btn03:after {
  content: "";
  position: absolute;
  right: 0.13rem;
  top: calc(50% - 0.08rem);
  display: block;
  width: 0.1rem;
  height: 0.1rem;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: border 0.3s;
  -o-transition: border 0.3s;
  transition: border 0.3s;
}
@media screen and (max-width: 640px) {
  .btn03:after {
    right: 0.1rem;
    top: calc(50% - 0.05rem);
    width: 0.06rem;
    height: 0.06rem;
    border-right-width: 1px;
    border-bottom-width: 1px;
  }
}
.btn03 > span {
  position: relative;
  display: inline-block;
  padding-left: 0.55rem;
  font-size: 0.15rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 640px) {
  .btn03 > span {
    font-size: 0.1rem;
    letter-spacing: 0.01em;
    padding-left: 0.28rem;
  }
}
.btn03 > span:before, .btn03 > span:after {
  content: "";
  position: absolute;
  left: 0.05rem;
  top: calc(50% - 0.2rem);
  display: block;
  width: 0.4rem;
  height: 0.4rem;
}
@media screen and (max-width: 640px) {
  .btn03 > span:before, .btn03 > span:after {
    left: 0.03rem;
    top: calc(50% - 0.12rem);
    width: 0.24rem;
    height: 0.24rem;
  }
}
.btn03 > span:before {
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.btn03 > span:after {
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.no-touchevents .btn03:not(.external):hover {
  background-color: white;
  border-color: #efefef;
}
.no-touchevents .btn03:not(.external):hover:after {
  border-right-color: #006f81;
  border-bottom-color: #006f81;
}
.no-touchevents .btn03:not(.external):hover span {
  color: #006f81;
}
.no-touchevents .btn03:not(.external):hover span:after {
  opacity: 1;
}
.no-touchevents .btn03:not(.external):hover.train span:after {
  background-image: url("../img/access/ico_train_bl.svg");
}
.no-touchevents .btn03:not(.external):hover.car span:after {
  background-image: url("../img/access/ico_car_bl.svg");
}
.no-touchevents .btn03:not(.external):hover.bus span:after {
  background-image: url("../img/access/ico_bus_bl.svg");
}
.no-touchevents .btn03:not(.external):hover.plane span:after {
  background-image: url("../img/access/ico_plane_bl.svg");
}
.btn03.train span:before {
  background-image: url("../img/access/ico_train.svg");
}
.btn03.car span:before {
  background-image: url("../img/access/ico_car.svg");
}
.btn03.bus span:before {
  background-image: url("../img/access/ico_bus.svg");
}
.btn03.plane span:before {
  background-image: url("../img/access/ico_plane.svg");
}
.btn03.external {
  width: 2.5rem;
  height: 0.4rem;
  font-size: 0.13rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 640px) {
  .btn03.external {
    width: 2rem;
    height: 0.4rem;
    font-size: 0.1rem;
  }
}
.btn03.external:after {
  content: none;
}
.btn03.external > span {
  padding: 0;
  padding-right: 0.2rem;
}
@media screen and (max-width: 640px) {
  .btn03.external > span {
    font-size: 0.11rem;
    padding-right: 0.18rem;
  }
}
.btn03.external > span:before {
  content: none;
}
.btn03.external > span:after {
  position: absolute;
  left: auto;
  right: 0;
  top: calc(50% - 0.05rem);
  width: 0.11rem;
  height: 0.1rem;
  background-image: url("../img/access/ico_external.svg");
  opacity: 1;
}
@media screen and (max-width: 640px) {
  .btn03.external > span:after {
    top: calc(50% - 0.04rem);
    width: 0.09rem;
    height: 0.08rem;
  }
}
.no-touchevents .btn03.external:hover {
  background-color: white;
  border-color: #efefef;
}
.no-touchevents .btn03.external:hover > span {
  color: #006f81;
}
.no-touchevents .btn03.external:hover > span:after {
  background-image: url("../img/access/ico_external_bl.svg");
}

/*----------------------------
 contents
----------------------------*/
.sec_map > .in {
  max-width: 14.6rem;
  width: 100%;
  margin: auto;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (max-width: 640px) {
  .sec_map > .in {
    padding-top: 32vw;
    padding-bottom: 0.98rem;
  }
}
.sec_map .intro {
  text-align: center;
}
.sec_map .intro .secTit .title {
  font-size: 0.18rem;
  color: #006f81;
  padding-top: 0.7rem;
}
@media screen and (max-width: 640px) {
  .sec_map .intro .secTit .title {
    font-size: 0.16rem;
    padding-top: 0.5rem;
  }
}
.sec_map .intro .secTit .title:before {
  font-size: 0.6rem;
}
@media screen and (max-width: 640px) {
  .sec_map .intro .secTit .title:before {
    font-size: 0.4rem;
  }
}
.sec_map .intro .catch {
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.24rem;
  letter-spacing: 0.3em;
  line-height: 2.16em;
  color: #006f81;
  margin-top: 0.6rem;
}
@media screen and (max-width: 640px) {
  .sec_map .intro .catch {
    font-size: 0.14rem;
    line-height: 2.5;
    margin-top: 0.35rem;
  }
}
.sec_map .mapWrap {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 6.5rem;
  margin-top: 1rem;
}
@media screen and (max-width: 640px) {
  .sec_map .mapWrap {
    width: calc(100% - 0.2rem);
    height: 94.66vw;
    margin: auto;
    margin-top: 13.33vw;
  }
}
.sec_map .mapWrap #map_canvas,
.sec_map .mapWrap iframe {
  width: 100%;
  height: 100%;
}
.sec_map .mapWrap .googlelink {
  position: absolute;
  bottom: 0.1rem;
  right: 0.1rem;
}
@media screen and (max-width: 640px) {
  .sec_map .mapWrap .googlelink {
    left: 50%;
    right: auto;
    bottom: 0.15rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.sec_map .mapWrap .googlelink a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 0.26rem;
  padding: 0 0.14rem;
  border-radius: 0.14rem;
  background-color: #006f81;
  font-size: 0.13rem;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .sec_map .mapWrap .googlelink a {
    font-size: 0.11rem;
  }
}
.sec_map .mapBox {
  position: relative;
  z-index: 0;
  padding: 0.25rem 0;
  background-color: #006f81;
}
@media screen and (max-width: 640px) {
  .sec_map .mapBox {
    width: calc(100% - 0.2rem);
    padding: 0.3rem 0.2rem;
    margin: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.sec_map .mapBox .title {
  position: absolute;
  top: -0.1rem;
  left: 0.66rem;
  color: #f2f2f2;
}
@media screen and (max-width: 640px) {
  .sec_map .mapBox .title {
    top: -0.05rem;
    left: auto;
    right: 0.1rem;
    z-index: 1;
  }
}
.sec_map .mapBox .title.en_huge {
  padding-top: 0.9rem;
}
@media screen and (max-width: 640px) {
  .sec_map .mapBox .title.en_huge {
    text-align: right;
    padding-top: 0.45rem;
  }
}
.sec_map .mapBox .title.en_huge:before {
  font-size: 0.9rem;
}
@media screen and (max-width: 640px) {
  .sec_map .mapBox .title.en_huge:before {
    left: auto;
    right: -0.02rem;
    font-size: 0.45rem;
  }
}
.sec_map .mapBox .infoBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 9.45rem;
  width: 100%;
  margin: auto;
}
@media screen and (max-width: 640px) {
  .sec_map .mapBox .infoBox {
    display: block;
  }
}
.sec_map .mapBox .detail {
  color: #f2f2f2;
}
.sec_map .mapBox .detail > dt {
  font-size: 0.18rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.66;
}
@media screen and (max-width: 640px) {
  .sec_map .mapBox .detail > dt {
    font-size: 0.12rem;
    line-height: 1.33;
  }
}
.sec_map .mapBox .detail > dd {
  font-size: 0.15rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .sec_map .mapBox .detail > dd {
    font-size: 0.12rem;
    margin-top: 0.05rem;
  }
}
@media screen and (max-width: 640px) {
  .sec_map .mapBox .detail .info {
    margin-right: -0.2rem;
  }
}
.sec_map .mapBox .detail .info > dt, .sec_map .mapBox .detail .info > dd {
  display: inline-block;
}
.sec_map .mapBox .detail .info > dt:after {
  content: "／";
  display: inline-block;
  margin-left: 0.25em;
}
.sec_map .mapBox .ph {
  width: 3.5rem;
  height: 2.5rem;
  margin-left: 0.7rem;
}
@media screen and (max-width: 640px) {
  .sec_map .mapBox .ph {
    width: 78.66vw;
    height: 56.26vw;
    margin: auto;
    margin-top: 0.25rem;
  }
}

.sec_access > .in {
  position: relative;
  z-index: 0;
  padding: 0.9rem 0;
}
@media screen and (max-width: 640px) {
  .sec_access > .in {
    padding: 0.45rem 0;
  }
}
.sec_access .bg {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.no-touchevents .sec_access .bg {
  background-attachment: fixed;
}
.sec_access .title {
  max-width: 12.4rem;
  width: 100%;
  position: absolute;
  top: -0.5rem;
  left: calc(50% - 6.2rem);
  padding-top: 0.9rem;
  color: #E5E7E7;
}
@media screen and (max-width: 640px) {
  .sec_access .title {
    top: -0.25rem;
    left: auto;
    right: 0.2rem;
    padding-top: 0.45rem;
  }
}
.sec_access .title.en_huge:before {
  font-size: 0.9rem;
}
@media screen and (max-width: 640px) {
  .sec_access .title.en_huge:before {
    font-size: 0.45rem;
  }
}
.sec_access .chartBox {
  position: relative;
  max-width: 13.3rem;
  width: 100%;
  margin: auto;
  padding-top: 0.8rem;
  padding-bottom: 0.75rem;
  padding-left: 0.7rem;
  padding-right: 0.6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
}
@media screen and (max-width: 640px) {
  .sec_access .chartBox {
    max-width: calc(100% - 0.2rem);
    padding: 0;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
  }
}
.sec_access .areaChart {
  position: relative;
  display: block;
  width: 6rem;
  margin: auto;
}
@media screen and (max-width: 640px) {
  .sec_access .areaChart {
    width: 3.35rem;
  }
}
.sec_access .areaChart .route {
  position: absolute;
  right: calc(50% - 0.18rem);
  top: calc(50% + 0.8rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.5rem;
  height: 1.15rem;
  background-color: #B2914E;
  font-size: 0.15rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 640px) {
  .sec_access .areaChart .route {
    top: calc(50% + 0.4rem);
    right: calc(50% - 0.2rem);
    width: 1.5rem;
    height: 0.69rem;
    font-size: 0.1rem;
    line-height: 1.68;
  }
}
.sec_access .areaChart .route:before {
  content: "";
  position: absolute;
  top: -0.3rem;
  left: calc(50% + 0.03rem);
  -webkit-transform: rotate(43deg);
      -ms-transform: rotate(43deg);
          transform: rotate(43deg);
  -webkit-transform-origin: center bottom;
      -ms-transform-origin: center bottom;
          transform-origin: center bottom;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0.09rem 0.46rem 0.09rem;
  border-color: transparent transparent #B2914E transparent;
}
@media screen and (max-width: 640px) {
  .sec_access .areaChart .route:before {
    top: -0.18rem;
    left: calc(50% + 0.02rem);
    border-width: 0 0.05rem 0.23rem 0.05rem;
  }
}
.sec_access .areaChart .chart picture {
  display: block;
  line-height: 0;
}
.sec_access .areaChart .chart img {
  width: 100%;
  height: auto;
}
.sec_access .routeItem {
  display: block;
  width: 2.77rem;
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem {
    width: calc(100% - 0.4rem);
    margin: auto;
  }
}
.sec_access .routeItem > dt {
  position: relative;
  display: block;
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.21rem;
  letter-spacing: 0.2em;
  line-height: 1.28;
  color: #006f81;
  padding-bottom: 0.15rem;
  border-bottom: 2px solid #006f81;
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem > dt {
    font-size: 0.13rem;
    line-height: 1.16;
    border-bottom-width: 1px;
  }
}
.sec_access .routeItem > dt span {
  position: relative;
  display: inline-block;
  padding-left: 0.6rem;
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem > dt span {
    padding-left: 0.3rem;
  }
}
.sec_access .routeItem > dt span:before {
  position: absolute;
  left: 0;
  top: calc(50% - 0.22rem);
  content: "";
  width: 0.44rem;
  height: 0.44rem;
  background-size: contain;
  background-color: #006f81;
  border-radius: 50%;
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem > dt span:before {
    top: calc(50% - 0.11rem);
    width: 0.22rem;
    height: 0.22rem;
  }
}
.sec_access .routeItem > dt.train span:before {
  background-image: url("../img/access/ico_train.svg");
}
.sec_access .routeItem > dt.plane span:before {
  background-image: url("../img/access/ico_plane.svg");
}
.sec_access .routeItem > dd {
  padding-top: 0.1rem;
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem > dd {
    padding-top: 0.05rem;
  }
}
.sec_access .routeBox {
  display: block;
}
.sec_access .routeBox + .routeBox {
  margin-top: 0.2rem;
}
@media screen and (max-width: 640px) {
  .sec_access .routeBox + .routeBox {
    margin: 0;
  }
}
.sec_access .routeBox > dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 0.6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 0.06rem;
  border-bottom: 2px solid #BFDBE0;
  font-size: 0.21rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #006f81;
}
@media screen and (max-width: 640px) {
  .sec_access .routeBox > dt {
    height: 0.3rem;
    padding: 0;
    border-bottom-width: 1px;
    font-size: 0.12rem;
  }
}
.sec_access .routeBox .time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 0.6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 0.06rem;
  border-bottom: 2px solid #BFDBE0;
}
@media screen and (max-width: 640px) {
  .sec_access .routeBox .time {
    height: 0.3rem;
    padding: 0;
    border-bottom-width: 1px;
  }
}
.sec_access .routeBox .time > dt {
  font-size: 0.21rem;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #333;
}
@media screen and (max-width: 640px) {
  .sec_access .routeBox .time > dt {
    font-size: 0.12rem;
  }
}
.sec_access .routeBox .time > dd {
  font-size: 0.23rem;
  letter-spacing: 0.08em;
  line-height: 1.91;
  color: #006f81;
}
@media screen and (max-width: 640px) {
  .sec_access .routeBox .time > dd {
    font-size: 0.12rem;
  }
}
.sec_access .routeBox .time > dd strong {
  font-size: 1.26em;
  font-weight: 500;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 640px) {
  .sec_access .routeBox .time > dd strong {
    font-size: 1.25em;
    padding: 0 0.05em 0 0.1em;
  }
}
.sec_access .routeItem.left {
  position: absolute;
  top: 1.5rem;
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem.left {
    position: static;
    margin-top: 0.35rem;
  }
}
.sec_access .routeItem.left > dt:before {
  content: "";
  height: 2px;
  width: 2.3rem;
  background-color: #006f81;
  position: absolute;
  bottom: -2px;
  left: 100%;
  -webkit-transform: rotate(35deg);
      -ms-transform: rotate(35deg);
          transform: rotate(35deg);
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem.left > dt:before {
    content: none;
  }
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem.left > dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem.left .routeBox {
    width: calc((100% - 0.15rem) / 2);
  }
}
.sec_access .routeItem.right {
  position: absolute;
  top: 2.05rem;
  right: 0.6rem;
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem.right {
    position: static;
    margin-top: 0.3rem;
  }
}
.sec_access .routeItem.right > dt:before {
  content: "";
  height: 2px;
  width: 2.34rem;
  background-color: #006f81;
  position: absolute;
  bottom: -2px;
  right: 100%;
  -webkit-transform: rotate(-34deg);
      -ms-transform: rotate(-34deg);
          transform: rotate(-34deg);
  -webkit-transform-origin: right center;
      -ms-transform-origin: right center;
          transform-origin: right center;
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem.right > dt:before {
    content: none;
  }
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem.right > dd {
    padding-top: 0.15rem;
  }
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem.right .routeBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 640px) {
  .sec_access .routeItem.right .routeBox .time {
    width: calc((100% - 0.15rem) / 2);
  }
}
.sec_access .localLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: 0.9rem;
  padding-top: 0.7rem;
}
@media screen and (max-width: 640px) {
  .sec_access .localLink {
    width: calc(100% - 0.4rem);
    margin: auto;
    padding-top: 0.25rem;
  }
  .sec_access .localLink .btn03 {
    width: calc((100% - 0.15rem) / 2);
    margin-top: 0.15rem;
    margin-right: 0.15rem;
  }
  .sec_access .localLink .btn03:nth-of-type(2n) {
    margin-right: 0;
  }
}

.sec_route > .in {
  position: relative;
  padding-top: 1.2rem;
  max-width: 11rem;
  width: 100%;
  margin: auto;
}
@media screen and (max-width: 640px) {
  .sec_route > .in {
    padding-top: 0.6rem;
    max-width: calc(100% - 0.4rem);
  }
}
.sec_route .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 0.56rem;
  background-color: #006f81;
  background-image: url("../img/access/title_deco.svg");
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.22rem;
  letter-spacing: 0.22em;
  line-height: 2.3;
  color: #fff;
}
@media screen and (max-width: 640px) {
  .sec_route .title {
    background-image: url("../img/access/title_deco_sp.svg");
    min-height: 0.5rem;
    font-size: 0.18rem;
    letter-spacing: 0.3em;
    line-height: 1.5;
  }
}
.sec_route .title > span {
  position: relative;
  display: inline-block;
  padding-left: 0.7rem;
}
@media screen and (max-width: 640px) {
  .sec_route .title > span {
    padding-left: 0.5rem;
  }
}
.sec_route .title > span:before {
  content: "";
  position: absolute;
  left: 0.13rem;
  top: calc(50% - 0.23rem);
  display: block;
  width: 0.46rem;
  height: 0.46rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 640px) {
  .sec_route .title > span:before {
    left: 0.08rem;
    top: calc(50% - 0.2rem);
    width: 0.4rem;
    height: 0.4rem;
  }
}
.sec_route .title.train > span:before {
  background-image: url("../img/access/ico_train.svg");
}
.sec_route .title.car > span:before {
  background-image: url("../img/access/ico_car.svg");
}
.sec_route .title.bus > span:before {
  background-image: url("../img/access/ico_bus.svg");
}
.sec_route .title.plane > span:before {
  background-image: url("../img/access/ico_plane.svg");
}
.sec_route .title + .txt {
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.87;
  margin-top: 0.4rem;
}
@media screen and (max-width: 640px) {
  .sec_route .title + .txt {
    font-size: 0.14rem;
    line-height: 1.71;
    margin-top: 0.2rem;
  }
}
.sec_route .note {
  margin-top: 0.2rem;
  font-size: 0.13rem;
  letter-spacing: 0.05em;
  line-height: 2.3;
  color: #9C9C9C;
}
@media screen and (max-width: 640px) {
  .sec_route .note {
    margin-top: 0.12rem;
    font-size: 0.11rem;
    line-height: 2.1;
  }
}
.sec_route .note + .txt {
  font-size: 0.15rem;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 0.3rem;
}
@media screen and (max-width: 640px) {
  .sec_route .note + .txt {
    font-size: 0.12rem;
    margin-top: 0.15rem;
  }
}
.sec_route .txtLink {
  color: #006f81;
  text-decoration: underline;
}
.no-touchevents .sec_route .txtLink:hover {
  text-decoration: none;
}
.sec_route .routeBox {
  display: block;
  margin-top: 0.4rem;
}
@media screen and (max-width: 640px) {
  .sec_route .routeBox {
    margin-top: 0.2rem;
  }
}
.sec_route .routeBox + .routeBox {
  margin-top: 1rem;
}
@media screen and (max-width: 640px) {
  .sec_route .routeBox + .routeBox {
    margin-top: 0.5rem;
  }
}
.sec_route .routeBox > dt {
  padding-bottom: 0.1rem;
  border-bottom: 1px solid #006f81;
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.22rem;
  letter-spacing: 0.3em;
  line-height: 1.95;
  color: #006f81;
}
@media screen and (max-width: 640px) {
  .sec_route .routeBox > dt {
    padding-bottom: 0.07rem;
    font-size: 0.17rem;
    line-height: 1.91;
  }
}
.sec_route .routeBox > dd {
  padding-top: 0.65rem;
}
@media screen and (max-width: 640px) {
  .sec_route .routeBox > dd {
    padding-top: 0.3rem;
  }
}
.sec_route .routeBox > dd picture {
  display: block;
  margin: auto;
  line-height: 0;
}
.sec_route .routeBox > dd picture .chart {
  display: block;
  max-width: 10rem;
  width: 100%;
  height: auto;
  margin: auto;
}
@media screen and (max-width: 640px) {
  .sec_route .routeBox > dd picture .chart {
    max-width: calc(100% - 0.2rem);
  }
}
.sec_route .routeBox > dd .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 0.25rem;
}
.sec_route .routeBox .time {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.sec_route .routeBox .time > dt {
  position: relative;
  top: 0.25em;
  font-size: 0.15rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .sec_route .routeBox .time > dt {
    font-size: 0.12rem;
  }
}
.sec_route .routeBox .time > dd {
  font-size: 0.2rem;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #006f81;
  margin-left: 0.5em;
}
@media screen and (max-width: 640px) {
  .sec_route .routeBox .time > dd {
    font-size: 0.16rem;
  }
}
.sec_route .routeBox .time > dd strong {
  display: inline-block;
  position: relative;
  bottom: -0.1em;
  font-size: 1.5em;
  font-weight: 500;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 640px) {
  .sec_route .routeBox .time > dd strong {
    bottom: -0.08em;
    font-size: 0.24rem;
    padding: 0 0.05em 0 0.1em;
  }
}
.sec_route .routeBox .time .note {
  position: relative;
  top: 0.03rem;
  font-size: 0.15rem;
  letter-spacing: 0.02em;
  line-height: 2;
  color: #000;
  margin: 0;
  margin-left: 0.5em;
}
@media screen and (max-width: 640px) {
  .sec_route .routeBox .time .note {
    font-size: 0.12rem;
    top: 0;
    margin: 0;
  }
}
.sec_route .routeDetail {
  display: inline-block;
  width: calc((100% - 0.3rem) / 2);
  padding: 0.2rem;
  border: 1px solid #C6C6C6;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .sec_route .routeDetail {
    display: block;
    width: 100%;
    padding: 0.15rem 0.1rem;
  }
}
.sec_route .routeDetail > dt {
  display: block;
  padding: 0.1rem;
  padding-bottom: 0.07rem;
  background-color: #f2f2f2;
  font-size: 0.17rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.17;
}
@media screen and (max-width: 640px) {
  .sec_route .routeDetail > dt {
    padding: 0.08rem;
    padding-bottom: 0.06rem;
    font-size: 0.14rem;
    line-height: 1.71;
  }
}
.sec_route .routeDetail > dt > span {
  position: relative;
  display: inline-block;
  padding-left: 0.22rem;
}
@media screen and (max-width: 640px) {
  .sec_route .routeDetail > dt > span {
    padding-left: 0.17rem;
  }
}
.sec_route .routeDetail > dt > span:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(50% - 0.08rem);
  display: block;
  width: 0.14rem;
  height: 0.14rem;
  background-color: #006f81;
}
@media screen and (max-width: 640px) {
  .sec_route .routeDetail > dt > span:before {
    top: 0.07rem;
    width: 0.1rem;
    height: 0.1rem;
  }
}
.sec_route .routeDetail > dd {
  padding-top: 0.2rem;
  font-size: 0.16rem;
  letter-spacing: 0.05em;
  line-height: 1.87;
}
@media screen and (max-width: 640px) {
  .sec_route .routeDetail > dd {
    padding-top: 0.1rem;
    font-size: 0.14rem;
    line-height: 1.71;
  }
}
.sec_route.train .routeBox .routeDetail {
  margin-top: 0.3rem;
}
@media screen and (max-width: 640px) {
  .sec_route.train .routeBox .routeDetail {
    margin-top: 0.15rem;
  }
}
.sec_route.train .routeBox .routeDetail:nth-of-type(2n) {
  margin-left: 0.3rem;
}
@media screen and (max-width: 640px) {
  .sec_route.train .routeBox .routeDetail:nth-of-type(2n) {
    margin-left: 0;
  }
}
.sec_route.car .routeBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 640px) {
  .sec_route.car .routeBox {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 0.05rem;
  }
}
.sec_route.car .routeBox .routeDetail {
  width: calc((100% - 0.2rem) / 3);
}
@media screen and (max-width: 640px) {
  .sec_route.car .routeBox .routeDetail {
    width: calc((100% - 0.15rem) / 2);
    margin-right: 0.15rem;
    margin-top: 0.15rem;
  }
  .sec_route.car .routeBox .routeDetail:nth-of-type(2n) {
    margin-right: 0;
  }
}
.sec_route.car .routeBox .routeDetail > dd {
  text-align: center;
  padding-bottom: 0.05rem;
}
@media screen and (max-width: 640px) {
  .sec_route.bus .title {
    height: 0.75rem;
    background-image: url("../img/access/title_deco_dbl_sp.svg");
  }
}
.sec_route.bus .routeBox > dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 0.3rem;
}
@media screen and (max-width: 640px) {
  .sec_route.bus .routeBox > dd {
    display: block;
    padding-top: 0;
  }
}
.sec_route.bus .routeBox > dd > .txt {
  font-size: 0.15rem;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .sec_route.bus .routeBox > dd > .txt {
    font-size: 0.14rem;
    line-height: 1.71;
    margin-top: 0.15rem;
  }
}
.sec_route.bus .routeBox > dd .routeDetail {
  width: calc((100% - 0.2rem) / 3);
  margin-top: 0.1rem;
  margin-right: 0.1rem;
}
@media screen and (max-width: 640px) {
  .sec_route.bus .routeBox > dd .routeDetail {
    width: 100%;
    margin: 0;
    margin-top: 0.15rem;
  }
}
.sec_route.bus .routeBox > dd .routeDetail:nth-of-type(3n) {
  margin-right: 0;
}
.sec_route.bus .routeBox > dd .routeDetail > dd {
  text-align: center;
  padding-bottom: 0.1rem;
}
@media screen and (max-width: 640px) {
  .sec_route.bus .routeBox > dd .routeDetail > dd {
    padding-bottom: 0.05rem;
  }
}
.sec_route.bus .routeBox > dd .routeDetail .txt {
  font-size: 0.15rem;
  letter-spacing: 0.05em;
  line-height: 1.73;
  margin-top: 0.2rem;
}
@media screen and (max-width: 640px) {
  .sec_route.bus .routeBox > dd .routeDetail .txt {
    font-size: 0.14rem;
    line-height: 1.5;
    margin-top: 0.1rem;
  }
}
.sec_route.bus .routeBox > dd .routeDetail .link .btn03 {
  margin: auto;
  margin-top: 0.2rem;
}
@media screen and (max-width: 640px) {
  .sec_route.bus .routeBox > dd .routeDetail .link .btn03 {
    margin-top: 0.1rem;
  }
}
.sec_route.plane > .in {
  padding-bottom: 2rem;
}
@media screen and (max-width: 640px) {
  .sec_route.plane > .in {
    padding-bottom: 0.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sec_route.plane .title {
    height: 0.75rem;
    background-image: url("../img/access/title_deco_dbl_sp.svg");
  }
}
.sec_route.plane .routeBox {
  margin-top: 0.1rem;
}
@media screen and (max-width: 640px) {
  .sec_route.plane .routeBox {
    margin-top: 0.25rem;
  }
}
.sec_route.plane .routeBox picture {
  display: block;
  padding: 0.6rem 0;
  line-height: 0;
}
@media screen and (max-width: 640px) {
  .sec_route.plane .routeBox picture {
    padding: 0.15rem 0;
  }
}
.sec_route.plane .routeBox picture .chart {
  display: block;
  max-width: 10rem;
  width: 100%;
  height: auto;
  margin: auto;
}
@media screen and (max-width: 640px) {
  .sec_route.plane .routeBox picture .chart {
    max-width: calc(100% - 0.2rem);
    margin-left: 0.05rem;
  }
}
.sec_route.plane .routeBox picture + picture {
  border-top: 1px solid #006f81;
}
@media screen and (max-width: 640px) {
  .sec_route.plane .routeBox picture + picture {
    padding-top: 0.2rem;
  }
}
.sec_route.plane .routeBox .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 640px) {
  .sec_route.plane .routeBox .wrap {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .sec_route.plane .routeBox .routeDetail {
    margin-top: 0.2rem;
  }
}
.sec_route.plane .routeBox .routeDetail:nth-of-type(2n) {
  margin-left: 0.3rem;
}
@media screen and (max-width: 640px) {
  .sec_route.plane .routeBox .routeDetail:nth-of-type(2n) {
    margin-left: 0;
    margin-top: 0.15rem;
  }
}
.sec_route.plane .routeBox .routeDetail > dd {
  text-align: center;
}
@media screen and (max-width: 640px) {
  .sec_route.plane .routeBox .routeDetail .time {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .sec_route.plane .routeBox .routeDetail .time .note {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 0.1rem;
  }
}
.sec_route.plane .routeBox .routeDetail .link {
  margin-top: 0.2rem;
  padding-bottom: 0.05rem;
}
@media screen and (max-width: 640px) {
  .sec_route.plane .routeBox .routeDetail .link {
    margin-top: 0.1rem;
  }
}
.sec_route.plane .routeBox .routeDetail .link .btn03 {
  margin: auto;
}