@charset "UTF-8";
/*------------------------------------------------------
 メインビジュアル
-------------------------------------------------------*/
.mainvisual {
  padding: 180px 20px 100px;
  background: url("../img/top/bg-main-bottom.webp") no-repeat;
  background-position: bottom center; }
  @media screen and (max-width: 768px) {
    .mainvisual {
      padding: 30px 10px; } }
  .mainvisual .slider-wrap {
    overflow: hidden;
    width: 100%; }
  .mainvisual .slide {
    flex: 0 0 calc((100% - 30px) / 4); }
    @media screen and (max-width: 768px) {
      .mainvisual .slide {
        flex: 0 0 calc((100% - 10px) / 2); } }
    .mainvisual .slide img {
      width: 100%;
      height: 500px;
      object-fit: cover;
      display: block;
      border-radius: 20px; }
      @media screen and (max-width: 768px) {
        .mainvisual .slide img {
          height: 400px; } }
      @media screen and (max-width: 576px) {
        .mainvisual .slide img {
          height: 300px; } }
  .mainvisual .slide-track {
    display: flex;
    gap: 10px;
    animation: scroll var(--scroll-duration, 30s) linear infinite; }
@keyframes scroll {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(var(--scroll-distance, -50%)); } }
  .mainvisual .slider-container {
    position: relative;
    width: 100%; }
  .mainvisual .logo-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 400px;
    height: auto; }
    @media screen and (max-width: 768px) {
      .mainvisual .logo-overlay {
        width: 300px; } }
    @media screen and (max-width: 576px) {
      .mainvisual .logo-overlay {
        width: 200px; } }
    .mainvisual .logo-overlay img {
      width: 100%;
      height: auto;
      display: block; }

/*------------------------------------------------------
 共通
-------------------------------------------------------*/
section {
  padding: 50px 0 100px 0; }
  section.bg-border {
    background: url("../img/top/bg-border.webp"); }
  section p {
    font-size: 20px; }
  @media screen and (max-width: 768px) {
    section {
      padding: 30px 10px 60px 10px; }
      section p {
        font-size: 14px; } }
  section div.bg-green-img01 {
    background: url("../img/top/bg-image01.jpg") no-repeat;
    background-size: cover;
    padding: 3em 3em 3em;
    border-radius: 30px; }
    @media screen and (max-width: 576px) {
      section div.bg-green-img01 {
        padding: 2em 1em; } }
  section.bg-green-img02, section.bg-green-img03 {
    padding: 100px 0 100px 0; }
    section.bg-green-img02 .inner, section.bg-green-img03 .inner {
      background: #FFFFFF;
      padding: 2em 3em 3em;
      border-radius: 30px; }
    @media screen and (max-width: 768px) {
      section.bg-green-img02, section.bg-green-img03 {
        padding: 60px 10px 60px 10px; } }
  section.bg-green-img02 {
    background: url("../img/top/bg-lattice.png"), #29a57f; }
  section.bg-green-img03 {
    background: url("../img/top/bg-diagonal.png"), #e6cfa9; }
  section h2.top-title {
    padding: 2em 0 1em;
    text-align: center;
    /*background: url("../img/temp/title-bg.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size:auto 100% ;
    font-weight: 500;*/ }

/*------------------------------------------------------
 さとやまトレイン
-------------------------------------------------------*/
section.train .image-item img {
  width: 100%;
  height: auto;
  max-width: 350px; }
section.train .bg-audio, section.train .bg-pione, section.train .bg-motion {
  border-radius: 20px;
  padding: 3rem; }
  @media screen and (max-width: 576px) {
    section.train .bg-audio, section.train .bg-pione, section.train .bg-motion {
      padding: 1rem; } }
section.train .bg-audio {
  background: url("../img/top/bg-image05.webp");
  background-size: cover; }
section.train .bg-pione {
  background: url("../img/top/bg-image06.webp");
  background-size: cover;
  height: 100%; }
  section.train .bg-pione h4 {
    background: #821182;
    padding: .5em 1em;
    color: #FFF; }
  section.train .bg-pione h5 {
    border-bottom: solid 2px #821182;
    padding: 1em .5em .2em;
    margin-bottom: 10px;
    color: #821182; }
  section.train .bg-pione h6 {
    border-top: solid 5px #821182;
    padding: .5em 1em;
    color: #821182;
    text-align: center;
    margin-top: .5rem;
    font-weight: bold; }
  section.train .bg-pione ol {
    margin-left: 2em;
    margin-bottom: 2em; }
  section.train .bg-pione .pione-item01 {
    color: #821182; }
    @media screen and (max-width: 576px) {
      section.train .bg-pione .pione-item01 {
        background: #e5a5e5;
        margin: 5px auto;
        width: 90%; } }
  section.train .bg-pione table {
    width: 90%;
    margin: 0 auto; }
    section.train .bg-pione table th, section.train .bg-pione table td {
      padding: 5px;
      text-align: center;
      border: solid 1px #FFF; }
    section.train .bg-pione table th {
      background: #821182;
      color: #FFF; }
    section.train .bg-pione table tr:nth-child(even) {
      background-color: #edeefc; }
    section.train .bg-pione table tr:nth-child(odd) {
      background-color: #dadcf7; }
    section.train .bg-pione table tr:first-child {
      background-color: #821182; }
  section.train .bg-pione .pione-img {
    border-right: solid 1px #821182;
    padding: 15px; }
    @media screen and (max-width: 768px) {
      section.train .bg-pione .pione-img {
        border: none; } }
  section.train .bg-pione .pione-img-right {
    padding: 15px; }
section.train .bg-motion {
  background: url("../img/top/bg-image01.jpg");
  background-size: cover;
  height: 100%; }
  section.train .bg-motion a {
    min-width: 320px; }
  section.train .bg-motion h4 {
    color: #194f34;
    border-bottom: solid 2px #194f34;
    padding: 10px; }
  section.train .bg-motion p {
    margin-left: 1rem; }
section.train .note {
  background: #FFF;
  border-radius: 10px;
  padding: 1.5rem;
  margin: 1rem auto; }
section.train .order-train-1 {
  order: 1; }
  @media screen and (max-width: 768px) {
    section.train .order-train-1 {
      order: 2; } }
section.train .order-train-2 {
  order: 2; }
  @media screen and (max-width: 768px) {
    section.train .order-train-2 {
      order: 1; } }

/*------------------------------------------------------
 関連リンク
-------------------------------------------------------*/
section.links .bn-links {
  border: solid 1px #999;
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2); }
  section.links .bn-links a {
    padding: 18px 10px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFF;
    color: #111;
    text-decoration: none; }
    section.links .bn-links a img {
      margin-right: 1rem; }
    section.links .bn-links a span {
      display: block; }

/*
news
train
ticket
tours
stamp
special
goods
events
links
*/
