.artGallery__row {
  display: grid;
}

@media screen and (min-width: 768px) {
  .artGallery__row {
    gap: 13px 15px;
    grid-template-columns: repeat(2, -webkit-max-content);
    grid-template-columns: repeat(2, max-content);
  }
}

@media screen and (max-width: 768px) {
  .artGallery__row {
    gap: calc(24 / 390 * 100vw) calc(15 / 390 * 100vw);
    grid-template-columns: repeat(2, auto);
  }
}

@media screen and (min-width: 768px) {
  .artGallery__row + .artGallery__row {
    margin-top: 14px;
  }
}

@media screen and (max-width: 768px) {
  .artGallery__row + .artGallery__row {
    margin-top: calc(24 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .artGallery__row:nth-child(even) .artGallery__item--large {
    grid-column: 2/3;
  }
}

@media screen and (min-width: 768px) {
  .artGallery__item {
    width: 236px;
  }
}

.artGallery__item .txt {
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .artGallery__item .txt {
    font-size: 12px;
    margin-top: 15px;
    text-align: end;
  }
}

@media screen and (max-width: 768px) {
  .artGallery__item .txt {
    font-size: calc(12 / 390 * 100vw);
    letter-spacing: .05rem;
    margin-top: calc(12 / 390 * 100vw);
    text-align: center;
  }
}

.artGallery__item .txt .small {
  font-size: 10px;
  letter-spacing: .06em;
}

.artGallery__item .txt .link {
  text-decoration: underline;
  -webkit-text-decoration-color: #2d2d2d;
          text-decoration-color: #2d2d2d;
  text-underline-offset: 2px;
}

@media screen and (min-width: 768px) {
  .artGallery__item--large {
    grid-row: 1/3;
    width: 412px;
  }
}

@media screen and (max-width: 768px) {
  .artGallery__item--large {
    grid-column: 1/3;
  }
}

.artSect__head {
  position: relative;
}

@media screen and (min-width: 768px) {
  .artSect__head {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .artSect__head .svgTtl {
    margin-bottom: 10px;
    margin-left: 55px;
    width: 267px;
  }
}

@media screen and (max-width: 768px) {
  .artSect__head .svgTtl {
    position: absolute;
    right: 0;
    top: 0;
    width: calc(149 / 390 * 100vw);
  }
}

.artSect__head .headingCombi {
  margin: 0;
}

@media screen and (min-width: 768px) {
  .artSect__head .headingCombi {
    width: 664px;
  }
}

@media screen and (max-width: 768px) {
  .artSect__head .headingCombi .txt {
    padding-right: calc(23 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .artSect__head .headingCombi .heading {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .artSect__head .headingCombi .heading {
    font-size: calc(20 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .artSect__head .headingCombi .heading + .txt {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .artSect__head .headingCombi .heading + .txt {
    margin-top: calc(16 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .artSect__head + .artSect__cont {
    margin-top: 37px;
  }
}

@media screen and (max-width: 768px) {
  .artSect__head + .artSect__cont {
    margin-top: calc(32 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .artSect__cont {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 22px;
  }
}

@media screen and (min-width: 768px) {
  .artSect__map {
    margin-right: -75px;
    width: 635px;
  }
}

@media screen and (max-width: 768px) {
  .artSect__map + .artGallery {
    margin-top: calc(32 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .facilityTable {
    width: 461px;
  }
}

.facilityTable__head {
  border-bottom: 1px solid #666464;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .facilityTable__head {
    font-size: 14px;
    padding-bottom: 16px;
  }
}

@media screen and (max-width: 768px) {
  .facilityTable__head {
    font-size: calc(14 / 390 * 100vw);
    padding-bottom: calc(16 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .facilityTable__head + .facilityTable__list {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .facilityTable__head + .facilityTable__list {
    margin-top: calc(16 / 390 * 100vw);
  }
}

.facilityTable__list {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.facilityTable__item {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .facilityTable__item:not(:first-child) {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .facilityTable__item:not(:first-child) {
    margin-top: calc(15 / 390 * 100vw);
  }
}

.facilityTable .placeDetail {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (min-width: 768px) {
  .facilityTable .placeDetail {
    font-size: 12px;
    letter-spacing: .12em;
  }
}

@media screen and (max-width: 768px) {
  .facilityTable .placeDetail {
    font-size: calc(12 / 390 * 100vw);
    letter-spacing: .012rem;
  }
}

.facilityTable .placeDetail:after {
  border-top: 1px solid #666464;
  content: '';
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  position: relative;
}

@media screen and (max-width: 768px) {
  .facilityTable .placeDetail:after {
    display: none;
  }
}

.facilityTable .placeDetail__name {
  position: relative;
}

@media screen and (min-width: 768px) {
  .facilityTable .placeDetail__name {
    margin-right: 10px;
  }
}

.facilityTable .placeDetail__definition {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  line-height: 1;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 768px) {
  .facilityTable .placeDetail__definition {
    font-size: 12px;
    letter-spacing: .12em;
    margin-left: 10px;
  }
}

@media screen and (max-width: 768px) {
  .facilityTable .placeDetail__definition {
    font-size: calc(12 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .facilityTable:nth-of-type(n + 3) {
    margin-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .facilityTable:not(:first-of-type) {
    margin-top: calc(30 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .historySect {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .historySect__head {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 400px;
  }
}

.historySect__head .svgTtl {
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .historySect__head .svgTtl {
    margin-left: -22px;
    width: 267px;
  }
}

@media screen and (max-width: 768px) {
  .historySect__head .svgTtl {
    position: absolute;
    right: calc(-9 / 390 * 100vw);
    top: calc(64 / 390 * 100vw);
    width: calc(130 / 309 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .historySect__head + .historySect__cont {
    margin-top: calc(32 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .historySect__head .heading {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .historySect__head .heading {
    font-size: calc(20 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .historySect__head .heading + .txt {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .historySect__head .heading + .txt {
    margin-top: calc(16 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .historySect__cont {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 762px;
  }
}

.historySect__cont .txt + .caption {
  letter-spacing: .06em;
}

@media screen and (min-width: 768px) {
  .historySect__cont .txt + .caption {
    margin-top: 24px;
  }
}

@media screen and (max-width: 768px) {
  .historySect__cont .txt + .caption {
    margin-top: calc(24 / 390 * 100vw);
  }
}

.historySect__imgList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .historySect__imgList {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 768px) {
  .historySect__imgList {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: calc(32 /  390 * 100vw) calc(16 / 390 * 100vw);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .historySect__imgList + .txt {
    margin-top: 42px;
  }
}

@media screen and (max-width: 768px) {
  .historySect__imgList + .txt {
    margin-top: calc(31 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .historySect__imgList .photo {
    width: 176px;
  }
}

@media screen and (max-width: 768px) {
  .historySect__imgList .photo {
    width: calc(144 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .historySect__imgList .photo:nth-child(1) {
    margin-left: auto;
  }
}

@media screen and (min-width: 768px) {
  .historySect__imgList .photo--large {
    width: 385px;
  }
}

@media screen and (max-width: 768px) {
  .historySect__imgList .photo--large {
    width: 100%;
  }
}

.historySect__imgList .photo__capIn {
  background: #999999;
  bottom: 0;
  color: #ffffff;
  line-height: 1;
  padding: 3px 5px;
  right: 0;
}

@media screen and (min-width: 768px) {
  .historySect__txtList {
    margin-top: 46px;
  }
}

@media screen and (max-width: 768px) {
  .historySect__txtList {
    margin-top: calc(31 / 390 * 100vw);
  }
}

.historySect__txtList li {
  counter-increment: count;
  padding-left: 25px;
  position: relative;
}

.historySect__txtList li:before {
  background: #999999;
  color: #ffffff;
  content: counter(count);
  font-size: 12px;
  left: 0;
  line-height: 1;
  padding: 3px 4px 3px 5px;
  position: absolute;
  top: 6px;
}

.historySect__txtList .txt + .caption {
  margin-bottom: 24px;
  margin-top: 5px;
}

.lifeinfoSect {
  position: relative;
}

@media screen and (min-width: 768px) {
  .lifeinfoSect {
    padding-top: 118px;
  }
}

@media screen and (max-width: 768px) {
  .lifeinfoSect {
    padding-top: calc(81 / 390 * 100vw);
  }
}

.lifeinfoSect .svgLine {
  fill: none;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.lifeinfoSect .svgLine path {
  stroke-dasharray: 1397.6922607421875px;
  stroke-dashoffset: 1397.6922607421875px;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}

@media screen and (max-width: 768px) {
  .lifeinfoSect .svgLine path {
    -webkit-transition: 3s ease;
    transition: 3s ease;
  }
}

@media screen and (min-width: 768px) {
  .lifeinfoSect .svgLine {
    width: calc(1386 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .lifeinfoSect .svgLine {
    width: calc(366 / 390 * 100vw);
  }
}

.lifeinfoSect .svgLine.sai-animate path {
  stroke-dashoffset: 0;
}

.lifeinfoSect__head .enTtl {
  color: #000000;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .lifeinfoSect__head .enTtl + .photo {
    margin-top: 64px;
  }
}

@media screen and (max-width: 768px) {
  .lifeinfoSect__head .enTtl + .photo {
    margin-top: calc(64 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .lifeinfoSect__head .photo {
    margin: auto;
    width: 960px;
  }
}

@media screen and (min-width: 768px) {
  .lifeinfoSect__head + .lifeinfoSect__cont {
    margin-top: 64px;
  }
}

@media screen and (max-width: 768px) {
  .lifeinfoSect__head + .lifeinfoSect__cont {
    margin-top: calc(32 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .lifeinfoSect__cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 64px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0 auto;
    width: 986px;
  }
}

.lifeinfoSect__cont .caption {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .lifeinfoSect__cont .caption {
    margin-top: 24px;
  }
}

.senseCard {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .senseCard__head + .senseCard__cont {
    margin-top: 24px;
  }
}

@media screen and (max-width: 768px) {
  .senseCard__head + .senseCard__cont {
    margin-top: calc(12 / 390 * 100vw);
  }
}

.senseCard__cont {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (min-width: 768px) {
  .senseCard__cont {
    gap: 12px;
  }
}

@media screen and (max-width: 768px) {
  .senseCard__cont {
    gap: calc(8 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .senseCard__cont .heading {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .senseCard__cont .heading {
    font-size: calc(14 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .senseCard__cont .txt {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .senseCard__cont .txt {
    font-size: calc(10 / 390 * 100vw);
  }
}

.senseCard__cont .en {
  font-family: "Cinzel", serif;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .senseCard__cont .en {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .senseCard__cont .en {
    font-size: calc(12 / 390 * 100vw);
    letter-spacing: .01rem;
  }
}

@media screen and (min-width: 768px) {
  .senseSect {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.senseSect__cont {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .senseSect__cont {
    width: 608px;
  }
}

.senseSect__map {
  position: relative;
}

@media screen and (min-width: 768px) {
  .senseSect__map {
    margin-left: -72px;
    width: 672px;
  }
}

.senseSect__map .svgTtl {
  position: absolute;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .senseSect__map .svgTtl {
    right: -163px;
    top: -42px;
    width: 267px;
  }
}

@media screen and (max-width: 768px) {
  .senseSect__map .svgTtl {
    right: 0;
    top: calc(10 / 390 * 100vw);
    width: calc(100 / 309 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .senseSect__map .photo {
    margin-left: calc(-8 / 390 * 100vw);
    width: calc(366 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .senseSect__map .heading {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .senseSect__map .heading {
    font-size: calc(20 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .senseSect__map .heading + .photo {
    margin-top: calc(32 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .senseSect__map + .senseSect__cont {
    margin-top: calc(32 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .senseSect__head .heading {
    font-size: 24px;
    text-align: end;
  }
}

@media screen and (max-width: 768px) {
  .senseSect__head .heading {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .senseSect__head .heading + .txt {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .senseSect__head .heading + .txt {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .senseSect__head .txt {
    padding-left: calc(24 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .senseSect__head + .senseSect__list {
    margin-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .senseSect__head + .senseSect__list {
    margin-top: calc(32 / 390 * 100vw);
  }
}

.senseSect__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .senseSect__list {
    gap: 34px;
  }
}

@media screen and (max-width: 768px) {
  .senseSect__list {
    gap: 1px;
    margin-left: calc(-24 / 390 * 100vw);
    padding: 0 calc(8 / 390 * 100vw);
    width: 100vw;
  }
}

@media screen and (min-width: 768px) {
  .senseSect__item {
    width: 180px;
  }
}

@media screen and (min-width: 768px) {
  .shrineSect {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 110px;
  }
}

@media screen and (max-width: 768px) {
  .shrineSect {
    margin-top: calc(64 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .shrineSect__head {
    width: 604px;
  }
}

@media screen and (max-width: 768px) {
  .shrineSect__head + .shrineSect__cont {
    margin-top: calc(30 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .shrineSect__cont {
    width: 604px;
  }
}

@media screen and (min-width: 768px) {
  .shrineSect__cont .heading {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .shrineSect__cont .heading {
    font-size: calc(20 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .shrineSect__cont .heading + .txt {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .shrineSect__cont .heading + .txt {
    margin-top: calc(16 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .stationSect {
    margin-top: 128px;
  }
}

@media screen and (max-width: 768px) {
  .stationSect {
    margin-top: calc(32 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .stationSect__head .heading {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .stationSect__head .heading {
    font-size: calc(20 / 390 * 100vw);
    text-align: end;
  }
}

@media screen and (min-width: 768px) {
  .stationSect__head + .stationSect__cont {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .stationSect__head + .stationSect__cont {
    margin-top: calc(16 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .stationSect__cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .stationSect__cont .txt {
    width: 389px;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  .stationSect__cont .txt + .stationSect__imgList {
    margin-top: calc(32 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .stationSect__imgList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
  }
}

@media screen and (min-width: 768px) {
  .stationSect__imgList .photo {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    width: 262px;
  }
}

@media screen and (max-width: 768px) {
  .stationSect__imgList .photo {
    width: calc(200 / 390 * 100vw);
  }
}

.stationSect__imgList .photo__capOut {
  text-align: right;
}

@media screen and (max-width: 768px) {
  .stationSect__imgList .photo + .photo {
    margin-top: calc(30 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .stationSect__imgList .photo:nth-child(even) {
    margin-left: auto;
  }
}

.svgTtl {
  -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(25%, rgba(255, 255, 255, 0)), color-stop(33%, white), color-stop(66%, white), color-stop(75%, rgba(255, 255, 255, 0)));
  -webkit-mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 25%, white 33%, white 66%, rgba(255, 255, 255, 0) 75%);
          mask-image: -webkit-gradient(linear, left top, right top, color-stop(25%, rgba(255, 255, 255, 0)), color-stop(33%, white), color-stop(66%, white), color-stop(75%, rgba(255, 255, 255, 0)));
          mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 25%, white 33%, white 66%, rgba(255, 255, 255, 0) 75%);
  -webkit-mask-position: 100% 50%;
          mask-position: 100% 50%;
  -webkit-mask-size: 400% 100%;
          mask-size: 400% 100%;
  -webkit-transition: 3s cubic-bezier(0.43, 0.02, 0.05, 1) !important;
  transition: 3s cubic-bezier(0.43, 0.02, 0.05, 1) !important;
}

.svgTtl.sai-animate {
  -webkit-mask-position: 50% 50%;
          mask-position: 50% 50%;
}

.container {
  overflow: hidden;
}

.wrap {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .wrap {
    max-width: 1248px;
    width: calc(1248 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .wrap {
    overflow: hidden;
  }
}

.bgLogo {
  opacity: .1;
  position: absolute;
  z-index: -1;
}

.bgLogo .photo {
  width: 100%;
}

.bgLogo .photo__image {
  width: 100%;
}

.location-history {
  position: relative;
}

@media screen and (min-width: 768px) {
  .location-history {
    padding-top: 160px;
  }
}

@media screen and (max-width: 768px) {
  .location-history {
    margin-top: 64px;
  }
}

@media screen and (min-width: 768px) {
  .location-history .bgLogo {
    left: -176px;
    top: 48px;
    width: 720px;
  }
}

@media screen and (max-width: 768px) {
  .location-history .bgLogo {
    right: calc(121 / 390 * 100vw);
    top: calc(78 / 390 * 100vw);
    width: calc(363 / 390 * 100vw);
  }
}

.location-sense {
  position: relative;
}

@media screen and (min-width: 768px) {
  .location-sense {
    padding-top: 120px;
  }
}

@media screen and (max-width: 768px) {
  .location-sense {
    margin-top: -140px;
    padding-top: 236px;
  }
}

@media screen and (min-width: 768px) {
  .location-sense .bgLogo {
    right: -176px;
    top: -80px;
    width: 710px;
  }
}

@media screen and (max-width: 768px) {
  .location-sense .bgLogo {
    left: calc(140 / 390 * 100vw);
    top: calc(90 / 390 * 100vw);
    width: calc(313 / 390 * 100vw);
    z-index: 1;
  }
}

.location-art {
  position: relative;
}

@media screen and (min-width: 768px) {
  .location-art {
    padding-top: 128px;
  }
}

@media screen and (max-width: 768px) {
  .location-art {
    margin-top: -140px;
    padding-top: 236px;
  }
}

@media screen and (min-width: 768px) {
  .location-art .bgLogo {
    left: 262px;
    top: -120px;
    width: 821px;
  }
}

@media screen and (max-width: 768px) {
  .location-art .bgLogo {
    left: calc(33 / 390 * 100vw);
    top: calc(178 / 390 * 100vw);
    width: calc(340 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .location-lifeInfo {
    margin-top: 160px;
    padding-bottom: 250px;
  }
}

@media screen and (max-width: 768px) {
  .location-lifeInfo {
    margin-top: 74px;
    padding-bottom: 86px;
  }
}
