.slmc { position: relative; margin-bottom: 60px; padding-top: 20px; text-align: left; }
.slmc img { max-width: 100%; }

.slmc-wrap { position: relative; margin: 0 auto; }

.slmc-btn { margin: 0 auto; text-align: center; font-size: 16px; line-height: 1.2; }
.slmc-btn > a { display: inline-block; position: relative; padding: 10px; background-color: #F7B401; border-radius: 30px; text-decoration: none; vertical-align: top; color: #fff; }
.slmc-btn > a::after { content: ''; position: absolute; top: 50%; right: 10px; margin-top: -5px; width: 0; height: 0; border: 5px solid transparent; border-right: none; border-left: 6px solid #fff; }

@media only screen and (max-width: 768px) {
  .slmc .is-mobile { display: inline !important; }
  .slmc .is-desktop { display: none !important; }

  .slmc-wrap { padding: 0 2.275%; }

  .slmc-btn { margin: 0 25px; }
  .slmc-btn > a { display: block; }
}

@media only screen and (min-width: 769px) {
  .slmc { margin-bottom: 135px; }
  
  .slmc .is-mobile { display: none !important; }
  .slmc .is-desktop { display: inline !important; }
  
  .slmc-wrap { padding: 0 0.75%; max-width: 1232px; }

  .slmc-btn { font-size: 20px; }
  .slmc-btn > a { padding: 18px 12px; min-width: 400px; }
  .slmc-btn > a::after { right: 20px; margin-top: -10px; border-top-width: 10px; border-bottom-width: 10px; border-left-width: 12px; }
}

/* top */
.slmc-top { position: relative; }
.slmc-top-visual { margin-bottom: 26px; }
.slmc-top-title { position: relative; margin: 0; padding-bottom: 16px; text-align: center; font-size: 20px; font-weight: 700; line-height: 1.5; }
.slmc-top-title::after { content: ''; position: absolute; bottom: 0; left: 50%; margin-left: -150px; width: 300px; height: 1px; background-color: #707070; }
.slmc-top-text { margin: 0 15px; font-size: 12px; line-height: 1.7; }

@media only screen and (max-width: 768px) {
  .slmc-top-title { margin: 0 6px 16px; }
}

@media only screen and (min-width: 769px) {
  .slmc-top-visual { margin-bottom: 56px; }
  .slmc-top-title { margin: 0 0 24px; padding-bottom: 12px; font-size: 26px; }
  .slmc-top-title::after { margin-left: -278px; width: 556px; }
  .slmc-top-text { text-align: center; font-size: 16px; line-height: 2; }
}

/* support */
.slmc-support { position: relative; margin-top: 40px; padding: 40px 5px; background-color: #FBFBFB; }
.slmc-support-lead { margin: 0 0 50px; text-align: center; font-size: 14px; font-weight: 700; line-height: 1.5; }
.slmc-support-lead span { color: #CE000E; }
.slmc-support-balloon + .slmc-support-balloon { margin-top: 34px; }

@media only screen and (min-width: 769px) {
  .slmc-support { margin-top: 50px; padding: 60px 0 100px; }
  .slmc-support-lead { margin-bottom: 60px; font-size: 16px; line-height: 2; }
  .slmc-support-balloon { margin: 0 auto; max-width: 1100px; }
  .slmc-support-balloon + .slmc-support-balloon { margin-top: 30px; }
}

/* structure */
.slmc-structure { position: relative; margin-top: 40px; }
.slmc-structure-family { margin: 0 auto; mix-blend-mode: multiply; }
.slmc-structure-title { margin: 0; text-align: center; font-size: 16px; font-weight: 700; line-height: 1.2; }
.slmc-structure-title span { font-size: 22px; color: #CE000E; }
.slmc-structure-copy { margin: 0 0 20px; text-align: center; font-size: 14px; line-height: 1.2; }
.slmc-structure-figure { position: relative; padding: 7px 0 35px; }
.slmc-structure-figure::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(../img/structure_map.png) no-repeat center center; background-size: auto 100%; z-index: -1; }
.slmc-structure-comments dl { margin: 0; padding: 20px 25px; background-color: #fff; border-radius: 10px; box-shadow: 2px 2px 0 #F7B401; }
.slmc-structure-comments dl dt { margin-bottom: 10px; text-align: center; font-size: 14px; font-weight: 700; line-height: 1.2; color: #F7B401; }
.slmc-structure-comments dl dd { margin: 0; font-size: 11px; line-height: 1.8; }

@media only screen and (max-width: 768px) {
  .slmc-structure-family { margin: 0 8px 20px; }
  .slmc-structure-figure { margin: 0 8px; }
  .slmc-structure-comments { margin: 14px 5px 0; }
  .slmc-structure-comments dl + dl { margin-top: 20px; }
}

@media only screen and (min-width: 769px) {
  .slmc-structure { margin-top: 60px; }
  .slmc-structure-family { margin: 0 auto 10px; max-width: 1100px; }
  .slmc-structure-title { margin-bottom: 10px; font-size: 26px; }
  .slmc-structure-title span { font-size: 32px; }
  .slmc-structure-copy { margin-bottom: 0; font-size: 16px; }
  .slmc-structure-figure { margin: -92px auto 0; padding: 92px 0 24px; max-width: 670px; }
  .slmc-structure-figure img { position: relative; z-index: 2; }
  .slmc-structure-comments dl { padding: 26px 30px; }
  .slmc-structure-comments dl dt { display: none; }
  .slmc-structure-comments dl dd { font-size: 16px; line-height: 1.8; }
}

@media only screen and (min-width: 769px) and (max-width: 1260px) {
  .slmc-structure-comments { display: flex; justify-content: space-between; }
  .slmc-structure-comments dl { width: 45%; }
}

@media only screen and (min-width: 1261px) {
  .slmc-structure-figure { width: 46%; }
  .slmc-structure-comments { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 1; }
  .slmc-structure-comments dl { position: absolute; bottom: 0; width: 30%; max-width: 440px; }
  .slmc-structure-comments dl:nth-of-type(1) { left: 0; padding-right: 40px; }
  .slmc-structure-comments dl:nth-of-type(2) { right: 0; padding-left: 40px; }
}

/* store */
.slmc-store { position: relative; margin-top: 70px; }
.slmc-store-title { margin: 0 0 20px; text-align: center; font-size: 22px; font-weight: 700; line-height: 1.2; }
.slmc-store-photo { margin-top: 20px; }

@media only screen and (min-width: 769px) {
  .slmc-store { margin-top: 120px; }
  .slmc-store-title { margin-bottom: 30px; font-size: 30px; }
  .slmc-store-photo { margin-top: 60px; }
}