@charset "utf-8";
/*
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
*/
/*PCSP共通設定*/
html {
  scroll-behavior: smooth;
} /*smooth scroll*/
main * {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
}
.list_asterisk {
  margin-left: 1em;
}
.list_asterisk li {
  text-indent: -1em;
}
.list_asterisk li:before {
  content: "※";
}
.list_dot {
  margin-left: 1em;
}
.list_dot li {
  text-indent: -1em;
}
.list_dot li:before {
  content: "●";
}
.list_square {
  margin-left: 1em;
}
.list_square li {
  text-indent: -1em;
}
.list_square li:before {
  content: "■";
}
.font-weight-bold {
  font-weight: bold;
}
.font-size-large {
  font-size: 1.2em;
}
.font-size-small {
  font-size: 0.85em;
}
.font-color-red {
  color: #E60012;
}
.font-color-blue {
  color: #008CD6;
}
.slick-track {
  display: flex !important;
}
.slick-slide {
  height: auto !important;
}
.area01 h4{
  color: #0098FF
}
.area02 h4{
  color: #FF0080
}
.area03 h4{
  color: #FF8000
}



/*759px以下*/
@media screen and (max-width: 759.9px) {
  #wrapper {
    line-height: 1.4;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  /* CSS */
  #dirPathBlock, #anchorLinkBlock {
    font-size: 10px;
    margin: 1% 1% 0 1%;
  }
  #dirPathBlock p, #anchorLinkBlock a {
    font-size: 12px;
  }
  h1 {
    font-size: 12px;
    margin: 0 1%;
  }
  .main_kv_wrap {
    width: 100%;
    margin: 0 0 10px 0;
    overflow: hidden;
    position: relative;
  }
  .main_kv_ttl {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 1;
    width: 60%;
  }
  .main_kv_ttl img{
    width: 100%;
  }

  .main_kv_slider {
    width: 100%;
    height: 200px;
    text-align: center
  }
  .main_kv_slider .slide {
    width: 100%;
    height: 200px;
    text-align: center
  }
  .main_kv_slider .slide img {
    width: auto;
    height: 200px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .mainvisual {
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
    height: 100%;
    position: relative;
  }
  .mainvisual .mainimage {
    z-index: 1;
    position: absolute;
    bottom: 0;
  }
  .mainvisual .mainimage img {
    vertical-align: bottom;
    width: 100%
  }
  ul.pagelinks {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 10px auto;
    padding: 10px;
  }
  ul.pagelinks li {
    width: 50%;
    border-left: 1px dashed #646464;
    padding: 5px 10%;
    box-sizing: border-box;
  }
  ul.pagelinks li img {
    width: 100%;
  }
  ul.pagelinks li:nth-child(1),ul.pagelinks li:nth-child(2){
    border-bottom: 1px dashed #646464;
  }
  ul.pagelinks li:nth-child(2),ul.pagelinks li:last-child {
    border-left: 1px dashed #646464;
    border-right: 1px dashed #646464;
  }
  #sec_outline, #sec_area01, #sec_area02, #sec_area03, #sec_entry {
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
    overflow: hidden;
  }
  #sec_outline img {
    width: 100%
  }
  #sec_outline h2 {
    background: url("../images/outlin_back_h2.png") repeat-x bottom;
    background-size: cover;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    padding: 2px 0 4px 0;
  }
  #sec_outline h2 img {
    width: 70%;
    margin: 0 auto;
    vertical-align: top;
  }
  #sec_outline .inner {
    width: 100%;
    padding: 10px 15px 15px;
    box-sizing: border-box;
    background: #FFFFDC;
    margin: 0 auto 15px auto;
  }
  #sec_outline .inner h3 {
    width: 96%;
    margin: 0 auto;
    text-align: center;
  }
  #sec_outline .inner h3 img {
    width: 100%;
  }
  #sec_outline .inner .map {
    position: relative;
  }
  #sec_outline .inner .map .info {
    position: absolute;
    top: 32%;
    right: 22.61%;
    width: 35.35%;
  }
  .area {
    width: 100%;
    padding: 0;
    margin: 0 auto 20px auto;
  }
  .area h2 {
    width: 50%;
    margin: 0 auto 10px auto;
    text-align: center;
  }
  .area h2 img{
    width: 100%;
  }

  .area h3 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 auto 15px auto;
    text-align: center;
    width: 100%;
    font-size: 14px;
  }
  .area .area_slider {
    width: 100%;
    padding: 0;
    font-style: normal;
  }
  .area .area_slider img{
    width: 100%;
  }

  .area .area_slider h4 {
    text-align: left;
    font-size: 18px;
    margin: 10px 0;
    box-sizing: border-box;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
  }
  .area .area_slider h4 span{
    font-size: 12px;
    font-weight: 500;
  }

  .area .area_slider p {
    text-align: left;
    font-size: 14px;
    margin: 0 0 15px 0;
    box-sizing: border-box;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    line-height: 1.4em;
  }
  .area .area_slider p.access {
    text-align: left;
    font-size: 14px;
    margin: 0 0 40px 0;
  }
  
  #sec_entry .inner {
    width: 100%;
    margin: 0 auto 30px auto;
  }
  #sec_entry .inner .setplan{
    width: 100%;
    padding: 10px;
    border: 4px solid #00A85F;
    background: #FFFFE6;
    margin: 0 0 30px 0;
    box-sizing: border-box;
  }
  #sec_entry .inner .setplan h2{
    font-weight: 700;
    font-size: 22px;
    text-align: center;
    margin: 0 0 15px 0;
  }
  
  #sec_entry .inner .setplan h2 span{
    position: relative;
    padding: 0 18px;
}

  #sec_entry .inner .setplan h2 span:before{
    content: "";
    background: url("../images/icon_left.svg");
    background-size: 16px 25px;
    display: block;
    width: 16px;
    height: 25px;
    position: absolute;
    left:-10px;
    top: 50%;
    transform: translateY(-50%);
 }
  #sec_entry .inner .setplan h2 span:after{
    content: "";
    background: url("../images/icon_right.svg");
     background-size: 16px 25px;
   display: block;
    width: 16px;
    height: 25px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  #sec_entry .inner .setplan a.setplan_btn{
    color: #FFF;
    background:url("../images/common_arrow.svg") #00A85F left 15px center no-repeat;
    border-radius: 10px;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    width: 80%;
    margin: 0 auto;
    line-height: 40px;
    display: block;
  }

  #sec_entry .inner .tabiplus{
    width: 100%;
    padding: 10px 10px;
    border: 1px solid #000000;
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
  }
  #sec_entry .inner .tabiplus .subcatch{
    font-size: 16px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0;
  }
  #sec_entry .inner .tabiplus h2{
    font-size: 28px;
    font-weight: 900;
    padding: 0 10px 1px 10px;
    margin: 0 0 10px 0;
    background: url("../images/tabiplus_back.svg") no-repeat bottom center;
    background-size: 75%;
  }
  #sec_entry .inner .tabiplus h2 span{
    font-size: 20px;
    font-weight: 500;
  }
  #sec_entry .inner .tabiplus p{
    font-size: 14px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0 0 10px 0;
  }
  #sec_entry .inner .tabiplus .tabiplus_btn{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #sec_entry .inner .tabiplus .tabiplus_btn a{
    color: #FFF;
    background:url("../images/common_arrow.svg") #0098FF left 7px center no-repeat;
    background-size: 9px 11px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    width: 48%;
    margin: 0 auto;
    display: block;
    padding: 10px 0;
  }

  
  
  .slide-dots {
    position: absolute;
    padding: 0;
    margin: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    bottom: 0;
  }
  .slide-dots li {
    display: inline-block;
    margin: 0 5px !important;
    padding: 0 !important;
  }
  .slide-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 10px;
    height: 10px;
    padding: 0;
    cursor: pointer;
    border-radius: 100%;
    box-sizing: border-box;
    outline: none;
    border: 1px solid #969696;
    background: #FFF;
  }
  .slide-dots li button:hover {
    background: #333333;
  }
  .slide-dots li button:focus {
    background: #969696;
  }
  .slide-dots li.slick-active button {
    background: #969696;
  }
  .prev-arrow {
    left: 0;
    top: 22%;
    background: url("../images/prev-arrow.png") no-repeat;
    width: 20px;
    height: 50px;
    position: absolute;
    cursor: pointer;
    z-index: 20;
    background-size: cover;
  }
  .next-arrow {
    right: 0;
    top: 22%;
    background: url("../images/next-arrow.png") no-repeat;
    width: 20px;
    height: 50px;
    position: absolute;
    cursor: pointer;
    z-index: 20;
    background-size: cover;
  }
  
.scroll_up {
  opacity: 0;
  transform: translateY(120px);
  transition: opacity 1s, transform 1s;
}

.scroll_up.visible {
  opacity: 1;
  transform: translateY(0);
}
  
.trainimage {
  width: 634px!important;
  height: 20px!important;
  opacity: 0;
  margin: 10px 0 5px 0;
  }
.trainimage.right{
  animation: change-img-anim 10s infinite;
 }

  
  
  }
/*760px以上*/
@media screen and (min-width: 760px), print {
  /* CSS */
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
  #wrapper {
    line-height: 1.231;
  }
  #dirPathBlock, h1, .iframe_end-content_gadget, #anchorLinkBlock {
    width: 100%;
    max-width: 970px;
    min-width: 760px;
    margin: auto;
  }
  /*panlist&back*/
  #dirPathBlock, #anchorLinkBlock {
    width: 100%;
    margin: 0 auto;
    display: block;
    font-size: 12px;
  }
  #dirPathBlock p, #anchorLinkBlock a {
    font-size: 12px;
  }
  h1 {
    font-size: 14px;
    width: auto;
    max-width: 970px;
    margin: 0 auto 5px;
  }
  .main_kv_wrap {
    width: 100%;
    margin: 0 0 30px 0;
    overflow: hidden;
    position: relative;
  }
  .main_kv_ttl {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
  }
  .main_kv_slider {
    width: 100%;
    height: 370px;
    text-align: center
  }
  .main_kv_slider .slide {
    width: 100%;
    height: 370px;
    text-align: center
  }
  .main_kv_slider .slide img {
    width: 1110px;
    height: 370px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .mainvisual {
    max-width: 970px;
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
    height: 100%;
    position: relative;
  }
  .mainvisual .mainimage {
    z-index: 1;
    position: absolute;
    bottom: 0;
  }
  .mainvisual .mainimage img {
    vertical-align: bottom;
    width: 100%
  }
  ul.pagelinks {
    max-width: 970px;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 30px auto;
    padding: 10px;
  }
  ul.pagelinks li {
    width: 25%;
    border-left: 1px dashed #646464;
    padding: 0 10px;
    box-sizing: border-box;
  }
  ul.pagelinks li img {
    width: 100%;
  }
  ul.pagelinks li:last-child {
    border-left: 1px dashed #646464;
    border-right: 1px dashed #646464;
  }
  #sec_outline, #sec_area01, #sec_area02, #sec_area03, #sec_entry {
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
    overflow: hidden;
  }
  #sec_outline img {
    width: 100%;
  }
  #sec_outline h2 {
    background: url("../images/outlin_back_h2.png") repeat-x;
    text-align: center;
    max-width: 900px;
    width: 100%;
    height: 50px;
    margin: 0 auto;
    padding: 0;
  }
  #sec_outline h2 img {
    width: 560px;
    margin: 0 auto;
    vertical-align: top;
  }
  #sec_outline .inner {
    max-width: 900px;
    width: 100%;
    padding: 20px 30px 30px;
    box-sizing: border-box;
    background: #FFFFDC;
    margin: 0 auto 25px auto;
  }
  #sec_outline .inner h3 {
    width: 100%;
    margin: 0;
    text-align: center;
  }
  #sec_outline .inner h3 img {
    max-width: 803px;
    width: 100%;
  }
  #sec_outline .inner .map {
    position: relative;
  }
  #sec_outline .inner .map .info {
    position: absolute;
    top: 32%;
    right: 22.61%;
    width: 35.35%;
  }
  .area {
    max-width: 900px;
    width: 100%;
    padding: 0;
    margin: 0 auto 50px auto;
  }
  .area h2 {
    width: 100%;
    margin: 0 auto 10px auto;
    text-align: center;
  }
  .area h3 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 auto 25px auto;
    text-align: center;
    width: 100%;
    font-size: 20px;
  }
  .area .area_slider {
    width: 100%;
    padding: 0 35px;
    font-style: normal;
  }
  .area .area_slider img{
    width: 100%;
  }
  
  .area .area_slider h4 {
    text-align: left;
    font-size: 24px;
    margin: 10px 0;
    box-sizing: border-box;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
  }
  .area .area_slider h4 span{
    font-size: 16px;
    font-weight: 500;
  }

  .area .area_slider p {
    text-align: left;
    font-size: 16px;
    margin: 0 0 25px 0;
    box-sizing: border-box;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    line-height: 1.4em;
  }
  .area .area_slider p.access {
    text-align: left;
    font-size: 16px;
    margin: 0 0 70px 0;
  }
  
  #sec_entry .inner {
    max-width: 900px;
    width: 100%;
    margin: 0 auto 50px auto;
  }
  #sec_entry .inner .setplan{
    width: 100%;
    padding: 20px;
    border: 4px solid #00A85F;
    background: #FFFFE6;
    margin: 0 0 50px 0;
    box-sizing: border-box;
  }
  #sec_entry .inner .setplan h2{
    font-weight: 700;
    font-size: 36px;
    text-align: center;
    margin: 0 0 25px 0;
  }
  
  #sec_entry .inner .setplan h2 span{
    position: relative;
    padding: 0 30px;
}

  #sec_entry .inner .setplan h2 span:before{
    content: "";
    background: url("../images/icon_left.svg");
    display: block;
    width: 27px;
    height: 42px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
 }
  #sec_entry .inner .setplan h2 span:after{
    content: "";
    background: url("../images/icon_right.svg");
    display: block;
    width: 27px;
    height: 42px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  #sec_entry .inner .setplan a.setplan_btn{
    color: #FFF;
    background:url("../images/common_arrow.svg") #00A85F left 15px center no-repeat;
    border-radius: 10px;
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    width: 51%;
    margin: 0 auto;
    line-height: 60px;
    display: block;
  }

  #sec_entry .inner .tabiplus{
    width: 66.6%;
    padding: 15px 30px;
    border: 1px solid #000000;
    margin: 0 auto;
    text-align: center;
  }
  #sec_entry .inner .tabiplus .subcatch{
    font-size: 20px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0;
  }
  #sec_entry .inner .tabiplus h2{
    font-size: 40px;
    font-weight: 900;
    padding: 0 10px 1px 10px;
    margin: 0 0 10px 0;
    background: url("../images/tabiplus_back.svg") no-repeat bottom center;
  }
  #sec_entry .inner .tabiplus h2 span{
    font-size: 24px;
    font-weight: 500;
  }
  #sec_entry .inner .tabiplus p{
    font-size: 14px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0 0 20px 0;
  }
  #sec_entry .inner .tabiplus .tabiplus_btn{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #sec_entry .inner .tabiplus .tabiplus_btn a{
    color: #FFF;
    background:url("../images/common_arrow.svg") #0098FF left 12px center no-repeat;
    border-radius: 10px;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    width: 48%;
    margin: 0 auto;
    display: block;
    padding: 10px 0;
  }

  
  
  .slide-dots {
    position: absolute;
    padding: 0;
    margin: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    bottom: 0;
  }
  .slide-dots li {
    display: inline-block;
    margin: 0 5px !important;
    padding: 0 !important;
  }
  .slide-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 15px;
    height: 15px;
    padding: 0;
    cursor: pointer;
    border-radius: 100%;
    box-sizing: border-box;
    outline: none;
    border: 1px solid #969696;
    background: #FFF;
  }
  .slide-dots li button:hover {
    background: #333333;
  }
  .slide-dots li button:focus {
    background: #969696;
  }
  .slide-dots li.slick-active button {
    background: #969696;
  }
  .prev-arrow {
    left: 35px;
    top: 174px;
    background: url("../images/prev-arrow.png") no-repeat;
    width: 40px;
    height: 100px;
    position: absolute;
    cursor: pointer;
    z-index: 20;
    background-size: cover;
  }
  .next-arrow {
    right: 35px;
    top: 174px;
    background: url("../images/next-arrow.png") no-repeat;
    width: 40px;
    height: 100px;
    position: absolute;
    cursor: pointer;
    z-index: 20;
    background-size: cover;
  }
  
.scroll_up {
  opacity: 0;
  transform: translateY(120px);
  transition: opacity 1s, transform 1s;
}

.scroll_up.visible {
  opacity: 1;
  transform: translateY(0);
}
  
.trainimage {
  width: 1267px!important;
  height: 40px!important;
  opacity: 0;
  margin: 15px 0 10px 0;
  
  }
  
  
  
}


@media screen and (max-width: 730px) {
.trainimage.right{
  animation: change-img-anim 4s infinite;
 }

@keyframes change-img-anim {
  0% {
    transform: translateX(-800px);
    opacity: 1;
  }
  100% {
    transform: translateX(800px);
    opacity: 1;
  }
}
}

  
@media screen and (min-width: 731px) {
.trainimage.right{
  animation: change-img-anim 6s infinite;
 }

@keyframes change-img-anim {
  0% {
    transform: translateX(-1300px);
    opacity: 1;
  }
  100% {
    transform: translateX(1600px);
    opacity: 1;
  }
}
}
@media screen and (min-width: 1921px) {
  .trainimage.right{
  animation: change-img-anim 8s infinite;
 }

@keyframes change-img-anim {
  0% {
    transform: translateX(-1300px);
    opacity: 1;
  }
  100% {
    transform: translateX(3000px);
    opacity: 1;
  }
}

