@charset "UTF-8";

/* ==========================================================================
   common
   ======================================================================= */
.u-hd__img {
  background-image: url(../img/national_cycle_route/tukuba/hd_img.jpg);
}
.u-hd__label,
.u-hd__txt {
   color: #ffffff;
}
.u-hd__label {
   border-color: #ffffff;
}
.u-article__ttl {
   color: #824c9c;
}
.u-text-bold {
  font-weight: bold;
}
.u-clear-indent {
  padding-left: 0!important;
  text-indent: 0!important;;
}
.main img {
  width: 100%;
}
.national-cycle-route-bnr a.has-line {
  border: 1px solid #999999;
}
/* -------------------- hd carousel thumnail -------------------- */
.hd-carousel .slick-dots {
  display:-ms-flexbox;
  display:flex;
  justify-content: center;
  -ms-flex-pack: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 17px 0 0;
}
.hd-carousel .slick-dots li {
  background-color: #e5e5e5;
  cursor: pointer;
  border-radius: 50%;
}
.hd-carousel .slick-dots li.slick-active {
  background-color: #a0a0a0;
}
.hd-carousel .slick-dots li > button {
  display: none;
}
@media all and (min-width: 768px){
  .hd-carousel .slick-dots {
    padding: 23px 0 0;
  }
  .hd-carousel .slick-dots li {
    width: 13px;
    height: 13px;
    margin: 0 4px;
  }
}
@media all and (max-width: 767px){
  .hd-carousel .slick-dots {
    padding: 16px 0 0;
  }
  .hd-carousel .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 4px;
  }
}

/* ==========================================================================
   pc
   ======================================================================= */
@media all and (min-width: 768px){
  .hide-pc {
    display: none;
  }
  .language-en .gfooter-link-inner {
    display: none;
  }
  .language-en .gfooter__logo {
    float: inherit;
    margin: 0 auto;
  }
  /* -------------------- carousel -------------------- */
  .hd-carousel {
    background-color: #ffffff;
  }
  .hd-carousel__item--01, .hd-carousel__item--02, .hd-carousel__item--03 {
    width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    outline: none!important;
  }
  #tsukuba .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/tsukuba/slide_01.jpg);
  }
  #tsukuba .hd-carousel__item--02 {
    background-image: url(../img/national_cycle_route/tsukuba/slide_02.jpg);
  }
  #tsukuba .hd-carousel__item--03 {
    background-image: url(../img/national_cycle_route/tsukuba/slide_03.jpg);
  }
  #biwaichi .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/biwaichi/slide_01.jpg);
  }
  #biwaichi .hd-carousel__item--02 {
    background-image: url(../img/national_cycle_route/biwaichi/slide_02.jpg);
  }
  #biwaichi .hd-carousel__item--03 {
    background-image: url(../img/national_cycle_route/biwaichi/slide_03.jpg);
  }
  #shimanami .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/shimanami/slide_01.jpg);
  }
  #shimanami .hd-carousel__item--02 {
    background-image: url(../img/national_cycle_route/shimanami/slide_02.jpg);
  }
  #shimanami .hd-carousel__item--03 {
    background-image: url(../img/national_cycle_route/shimanami/slide_03.jpg);
  }
  #tokapuchi .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/tokapuchi/slide_01.jpg);
  }
  #pacific .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/pacific/slide_01.jpg);
  }
  #toyama-bay .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/toyama-bay/slide_01.jpg);
  }
  .hd-carousel__item--01::after, .hd-carousel__item--02::after, .hd-carousel__item--03::after {
    content: '';
    display: block;
    padding-bottom: calc(620 / 1366 * 100%);
  }
  /* -------------------- content -------------------- */
  .national-cycle-route-content {
    padding-bottom: 120px;
  }
  .national-cycle-route-section {
    background-color: #ffffff;
    max-width: 1024px;
    margin: 120px auto 0;
    position: relative;
    padding: 0 20px;
  }
  .national-cycle-route-section:first-child {
    margin-top: 60px;
  }
  /* outline */
  .national-cycle-route-outline {
    display:-ms-flexbox;
    display:flex;
  }
  #biwaichi .national-cycle-route-outline,
  #pacific .national-cycle-route-outline {
    display: block;
  }
  .national-cycle-route-outline__text {
    width: 523px;
    margin-right: 30px;
  }
  #biwaichi .national-cycle-route-outline__text,
  #pacific .national-cycle-route-outline__text {
    width: 100%;
    margin: 0 0 30px 0;
  }
  .national-cycle-route-outline__lead  {
    border-left: 6px solid #0068b7;
    padding-left: 17px;
    line-height: 1.1;
  }
  .national-cycle-route-outline__lead > h2  {
    font-size: 34px;
    font-weight: bold;
    letter-spacing: -.09em;
  }
  .national-cycle-route-outline__lead > p  {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: -.01em;
    margin-top: 8px;;
  }
  .national-cycle-route-outline__lead  li {
    font-size: 16px;
    line-height: 1.375;
  }
  .national-cycle-route-outline__lead  li:nth-child(1)  {
    margin-top: 15px;
  }
  .national-cycle-route-outline__lead  li:nth-child(2) {
    margin-top: 4px;
    text-indent: -3em;
    padding-left: 3em;
  }
  .national-cycle-route-outline__detail {
    margin-top: 40px;
    font-size: 18px;
    line-height: 2.222222222;
    font-weight: bold;
    letter-spacing: -.06em;
  }
  .national-cycle-route-outline__map {
    width: calc(100% - 553px);
    position: relative;
  }
  .national-cycle-route-outline__map--iframe::before {
    content: "";
    display: block;
    padding-top: calc(497 / 471 * 100%);
  }
  #biwaichi .national-cycle-route-outline__map,
  #pacific .national-cycle-route-outline__map {
    width: 100%;
  }
  .national-cycle-route-outline__map > img {
    width: 100%;
  }
  .national-cycle-route-outline__map--iframe > iframe {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
  }
  #biwaichi .national-cycle-route-outline__map--iframe::before,
  #pacific .national-cycle-route-outline__map--iframe::before {
    content: "";
    display: block;
    padding-top: calc(528 / 1024 * 100%);
  }
  .national-cycle-route-outline__map  li {
    font-size: 12px;
    line-height: 1;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-top: 8px;;
  }
  .national-cycle-route-outline__map  li:nth-child(1) {
    margin-top: 10px;
  }
  .national-cycle-route-outline__map  li::before {
    margin-right: 10px;
  }
  .national-cycle-route-outline__map  li:nth-child(1):before  {
    content: '';
    display: block;
    width: 60px;
    height: 2px;
    background-color: #ff0000;
    margin-bottom: 4px;
  }
  .national-cycle-route-outline__map  li:nth-child(2)::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    margin-left: 50px;
    background-color: #00b050;
  }
  /* spot */
  .national-cycle-route-spot {
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: start;
  	align-items: flex-start;
    margin-bottom: 60px;
  }
  .national-cycle-route-spot:nth-child(even) {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .national-cycle-route-spot > img {
    width: calc(500 / 1024 * 100%);
  }
  .national-cycle-route-spot > div {
    width: calc(500 / 1024 * 100%);
  }
  .national-cycle-route-spot h3 {
    font-size: 24px;
    padding-left: 12px;
    line-height: 1;
    border-left: solid 7px #0068b7;
    color: #0068b7;
    font-weight: bold;
    display: flex;
    align-items: center;
  }
  .national-cycle-route-spot .ico-num {
    display: inline-block;
    background-color: #0068b7;
    color: #fff;
    padding: 5px 9px;
    border-radius: 5rem;
    font-size: 20px;
    margin-right: 5px;
  }
  .national-cycle-route-spot p {
    font-size: 16px;
    line-height: 2.25;
    margin-top: 20px;
   }
   /* movie */
  .national-cycle-route-video {
    position: relative;
    width: 70%;
    margin: 80px auto 0;
  }
  .national-cycle-route-video__cap {
    font-size: 14px;
  }
  .national-cycle-route-video__item {
    outline: none!important;
  }
  .national-cycle-route-video__thumb {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    outline: none!important;
  }
  .national-cycle-route-video__thumb::after {
    content: "";
    width: 100px;
    height: 100px;
    background: url(../img/national_cycle_route/icon_play.svg) 50% 50% no-repeat;
    background-size: cover;
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
  }
   /* bnr */
  .national-cycle-route-bnr {
    font-size: 0;
  }
  .national-cycle-route-bnr h2 {
    font-size: 16px;
    font-weight: bold;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-align: center;
    align-items: center;
  }
  .national-cycle-route-bnr h2::before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    margin-right: 10px;
    background-image: url(../img/national_cycle_route/icon_circle.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .national-cycle-route-bnr a {
    display: block;
    margin-top: 10px;
  }
  .national-cycle-route-bnr a:hover {
    opacity: .8;
  }
  /* route-list */
  .national-cycle-route__route-list {
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .national-cycle-route__route-list li {
    width: calc((100% - 20px * 2) / 3);
  }
  .national-cycle-route__route-list li:nth-of-type(n+4) {
    margin-top: 20px;
  }
  .national-cycle-route__route-list a {
    display: block;
  }
  .national-cycle-route__route-list li p {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 0;
  }
  .national-cycle-route__route-list li:nth-child(1) p {
    background-image: url(../img/national_cycle_route/route-list_tokapuchi.jpg);
  }
  .national-cycle-route__route-list li:nth-child(2) p {
    background-image: url(../img/national_cycle_route/route-list_pacific.jpg);
   }
  .national-cycle-route__route-list li:nth-child(3) p {
    background-image: url(../img/national_cycle_route/route-list_toyama-bay.jpg);
  }
  .national-cycle-route__route-list li:nth-child(4) p {
    background-image: url(../img/national_cycle_route/route-list_tsukuba.jpg);
   }
  .national-cycle-route__route-list li:nth-child(5) p {
    background-image: url(../img/national_cycle_route/route-list_biwaichi.jpg);
  }
  .national-cycle-route__route-list li:nth-child(6) p {
    background-image: url(../img/national_cycle_route/route-list_shimanami.jpg);
  }

  #tokapuchi .national-cycle-route__route-list li:nth-child(1) p img,
  #pacific .national-cycle-route__route-list li:nth-child(2) p img,
  #toyama-bay .national-cycle-route__route-list li:nth-child(3) p img,
  #tsukuba .national-cycle-route__route-list li:nth-child(4) p img,
  #biwaichi .national-cycle-route__route-list li:nth-child(5) p img,
  #shimanami .national-cycle-route__route-list li:nth-child(6) p img {
    opacity: 0;
  }
  .national-cycle-route__route-list li a:hover p img {
    opacity: 1;
    transition: all 200ms ease-out;;
  }
  .national-cycle-route__route-list li a:hover p img {
    opacity: 0;
  }
  .national-cycle-route__route-list li h2 {
    font-size: 16px;
    line-height: 1;
    padding: 8px 0;
    border-bottom: 2px solid #777777;
    letter-spacing: -.08em;
  }
}

/* ==========================================================================
  responsive ajustment
=======================================================================*/
@media all and (max-width: 1080px){
  .national-cycle-route__route-list li h2 {
    font-size: 13px;
  }
}

@media all and (max-width: 960px){
  .u-scroll {
    top: 460px;
  }
}

@media all and (max-width: 920px){
  .national-cycle-route-outline {
    display: block;
  }
  .national-cycle-route-outline__text  {
    width: 100%;
  }
  .national-cycle-route-outline__map  {
    width: 60%;
    margin: 40px auto 0;
  }
  .national-cycle-route__route-list li h2 {
    font-size: 11px;
  }
}

/* ==========================================================================
  sp
======================================================================= */
@media all and (max-width: 767px){
  .hide-mobile {
    display: none;
  }
  .language-en .gheader__ministry a img {
    height: 26px;
  }
  .language-en .gfooter-link-inner {
    display: none;
  }
  /* -------------------- hd carousel -------------------- */
  .hd-carousel {
    background-color: #ffffff;
  }
  .hd-carousel__item--01, .hd-carousel__item--02, .hd-carousel__item--03 {
    width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  #tsukuba .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/tsukuba/slide_01-sp.jpg);
  }
  #tsukuba .hd-carousel__item--02 {
    background-image: url(../img/national_cycle_route/tsukuba/slide_02-sp.jpg);
  }
  #tsukuba .hd-carousel__item--03 {
    background-image: url(../img/national_cycle_route/tsukuba/slide_03-sp.jpg);
  }
  #biwaichi .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/biwaichi/slide_01-sp.jpg);
  }
  #biwaichi .hd-carousel__item--02 {
    background-image: url(../img/national_cycle_route/biwaichi/slide_02-sp.jpg);
  }
  #biwaichi .hd-carousel__item--03 {
    background-image: url(../img/national_cycle_route/biwaichi/slide_03-sp.jpg);
  }
  #shimanami .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/shimanami/slide_01-sp.jpg);
  }
  #shimanami .hd-carousel__item--02 {
    background-image: url(../img/national_cycle_route/shimanami/slide_02-sp.jpg);
  }
  #shimanami .hd-carousel__item--03 {
    background-image: url(../img/national_cycle_route/shimanami/slide_03-sp.jpg);
  }
  #tokapuchi .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/tokapuchi/slide_01-sp.jpg);
  }
  #pacific .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/pacific/slide_01-sp.jpg);
  }
  #toyama-bay .hd-carousel__item--01 {
    background-image: url(../img/national_cycle_route/toyama-bay/slide_01-sp.jpg);
  }
  .hd-carousel__item--01::after, .hd-carousel__item--02::after, .hd-carousel__item--03::after {
    content: '';
    display: block;
    padding-bottom: calc(1000 / 750 * 100%);
  }

  /* -------------------- content -------------------- */
  .national-cycle-route-content {
    background-color: #ffffff;
    width: 100%;
    padding: 0 calc(38 / 750 * 100%) 60px;
    box-sizing: border-box;;
  }
  .national-cycle-route-content img {
    width: 100%;
  }
  /* outline */
  .national-cycle-route-outline {
    margin-top: 39px;
  }
  .national-cycle-route-outline__lead  {
    border-left: 3px solid #0068b7;
    padding-left: 10px;
    line-height: 1.1;
   }
  .national-cycle-route-outline__lead > h2  {
    font-size: 21px;
    font-weight: bold;
    letter-spacing: -.09em;
  }
  .national-cycle-route-outline__lead > p  {
    font-size: 12px;
    font-weight: bold;
    letter-spacing: -.01em;
  }
  .national-cycle-route-outline__lead  li {
    font-size: 12px;
    line-height: 1.375;
    letter-spacing: -.01em;
    text-indent: -3em;
    padding-left: 3em;
  }
  .national-cycle-route-outline__lead  li:nth-child(1)  {
    margin-top: 7px;
  }
  .national-cycle-route-outline__detail {
    margin-top: 15px;
    font-size: 15px;
    line-height: 1.866666667;
    font-weight: bold;
    letter-spacing: -.06em;
  }
  .national-cycle-route-outline__map {
    width: 100%;
    position: relative;
  }
  .national-cycle-route-outline__map--iframe::before {
    content: "";
    display: block;
    padding-top: calc(357 / 337 * 100%);
  }
  .national-cycle-route-outline__map > img {
    width: 100%;
  }
  .national-cycle-route-outline__map--iframe > iframe {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
  }
  .national-cycle-route-outline__map  li {
    font-size: 10px;
    line-height: 1;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-top: 5px;
  }
  .national-cycle-route-outline__map  li:nth-child(1) {
    margin-top: 5px;
  }
  .national-cycle-route-outline__map  li::before {
    margin-right: 5px;
  }
  .national-cycle-route-outline__map  li:nth-child(1):before  {
    content: '';
    display: block;
    width: 35px;
    height: 2px;
    background-color: #ff0000;
    margin-bottom: 4px;
  }
  .national-cycle-route-outline__map  li:nth-child(2)::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    margin-left: 27px;
    background-color: #00b050;
  }
  /* spot */
  .national-cycle-route-section:nth-child(2) {
    margin-top: 44px;
  }
  .national-cycle-route-spot {
    margin-top: 60px;
  }
  .national-cycle-route-spot:first-child {
    margin-top: 0;
  }
  .national-cycle-route-spot > img, .national-cycle-route-spot > div {
    width: 100%;
  }
  .national-cycle-route-spot h3 {
    font-size: 18px;
    padding-left: 6px;
    line-height: 1;
    border-left: solid 3px #0068b7;
    color: #0068b7;
    font-weight: bold;
    margin-top: 8px;
    display: flex;
    align-items: center;
  }
  .national-cycle-route-spot .ico-num {
    display: inline-block;
    background-color: #0068b7;
    color: #fff;
    padding: 3px 6px;
    border-radius: 5rem;
    font-size: 14px;
    margin-right: 5px;
  }
  .national-cycle-route-spot p {
    font-size: 15px;
    line-height: 1.533333333;
    margin-top: 10px;
   }
   /* movie */
  .national-cycle-route-video {
    position: relative;
    width: 100%;
    margin: 60px auto 0;
  }
  .national-cycle-route-video__cap {
    font-size: 12px;
  }
  .national-cycle-route-video__item {
    outline: none!important;
  }
  .national-cycle-route-video__thumb {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    outline: none!important;
  }
  .national-cycle-route-video__thumb::after {
    content: "";
    width: 60px;
    height: 60px;
    background: url(../img/national_cycle_route/icon_play.svg) 50% 50% no-repeat;
    background-size: cover;
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
  }

   /* bnr */
  .national-cycle-route-bnr {
    font-size: 0;
    margin-top: 60px;
  }
  .national-cycle-route-bnr h2 {
    font-size: 13px;
    font-weight: bold;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-align: start;
    align-items: start;
    line-height: 1.1;
  }
  .national-cycle-route-bnr h2::before {
    content: '';
    display: block;
    width: 15px;
    height: 15px;
    margin-right: 5px;
    background-image: url(../img/national_cycle_route/icon_circle.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .national-cycle-route-bnr a {
    display: block;
    margin-top: 5px;
  }
  /* route-list */
  .national-cycle-route__route-list {
    margin-top: 40px;
  }
  .national-cycle-route__route-list li {
    width: 100%;
    margin-top: 20px;
  }
  .national-cycle-route__route-list a {
    display: block;
  }
  .national-cycle-route__route-list li p {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 0;
  }
  .national-cycle-route__route-list li h2 {
    font-size: 15px;
    line-height: 1;
    padding: 8px 0;
    border-bottom: 1px solid #777777;
    letter-spacing: -.08em;
  }
}

@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .national-cycle-route-spot .ico-num {
    padding: 9px 9px 2px;
  }
  .national-cycle-route-spot h3 {
    align-items: flex-end;
  }
}

/* ==========================================================================
   css animation
   ======================================================================= */


/* ==========================================================================
   js animation
   ======================================================================= */

