.landing-page .welcome {
 position:relative;
 height:100vh;
 min-height:700px;
 background:url(../images/welcome-cover.jpg) no-repeat center center fixed;
 background-size:cover
}
.landing-page .welcome:before {
 position:absolute;
 z-index:0;
 content:'';
 top:0;
 left:0;
 right:0;
 bottom:0;
 opacity:.8;
 background:#afafb0
}
@media (max-width:767.98px) {
 .landing-page .welcome .inner-wrapper {
  text-align:center
 }
}
@media (max-width:400px) {
 .landing-page .welcome .welcome-heading {
  font-size:2.415rem
 }
}
.landing-page .section-title {
 position:relative
}
.landing-page .section-title:after {
 content:'';
 width:30px;
 height:2px;
 background:#007bff;
 position:absolute;
 left:50%;
 margin-left:-15px;
 bottom:-20px
}
.landing-page .feature .icon {
 border-radius:50%;
 min-width:65px;
 height:65px;
 line-height:65px;
 text-align:center;
 box-shadow:0 2px 4px rgba(33,37,41,.1),0 7px 14px rgba(33,37,41,.1);
 font-size:27px
}
.landing-page .section {
 border-bottom:1px solid #eaebed
}
.landing-page .section-invert {
 background:#f9fafc
}

.art-image {
  max-height: 90vh;
  max-width: 100%;
  object-fit: contain;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.03);
  transition: transform 0.6s ease, box-shadow 0.6s ease;
  transform-style: preserve-3d;
}

.art-image:hover {
  transform: scale(1.02) rotateY(1deg);
  box-shadow: 0 20px 40px rgba(0, 255, 255, 0.2);
}

.info p.hang {
  padding-left: 1.2em;   /* 1行目の左余白 */
  text-indent: -1.2em;   /* 2行目以降を揃える */
}
