.en { font-family: 'adobe-garamond-pro', serif; font-weight: 400; font-style: normal; color: #bfb07e; font-size: 50px; }

@media (max-width: 580px) { .en { font-size: 40px; } }

.ja { font-size: 21px; }

@media (max-width: 580px) { .ja { font-size: 18px; } }

.uline { text-decoration: underline; }

.sec { max-width: 1000px; margin-bottom: 50px; }

.s1_head { padding: 0 10px; margin-bottom: 50px; }

.s1 .ja { text-align: center; }

@media (max-width: 580px) { .s1 .ja { text-align: left; } }

.s2 { display: flex; flex-flow: row-reverse wrap; justify-content: space-between; align-items: stretch; }

.s2_head { width: 40%; }

.s2_head .en { text-align: right; }

.s2_head2 { width: 47%; display: flex; align-items: flex-end; justify-content: flex-end; }

.s2_head2 .en { line-height: 1em; }

.s2_img { width: 52%; max-width: 512px; margin-bottom: 10px; }

@media (max-width: 580px) { .s2_head, .s2_head2 { width: 100%; padding: 0 10px; text-align: left; justify-content: flex-start; }
  .s2_head .en, .s2_head2 .en { text-align: left; }
  .s2_head .ja, .s2_head2 .ja { margin-bottom: 1em; }
  .s2_img { width: 100%; margin-bottom: 30px; } }

.s3_head { text-align: center; margin-bottom: 50px; padding: 0 10px; }

.s3_img_p { width: 100%; max-width: 340px; line-height: 1em; padding: 10px; background: #6B5546; color: #FFF; font-size: 18px; text-align: center; margin-bottom: 20px; }

.s3_img { width: 100%; }

.s3 .img100_svg { position: absolute; top: 0; left: 0; width: 100%; }

@media (max-width: 580px) { .s3 .uline { margin-bottom: 30px; }
  .s3_head_p2 { text-align: left; }
  .s3_img_in { overflow-x: scroll; }
  .s3_img_in .img100 { width: 200%; } }

.s3 .left, .s3 .right { position: absolute; top: 45%; display: none; }

.s3 .left { left: 10px; }

.s3 .right { right: 10px; }

@media (max-width: 580px) { .s3 .left, .s3 .right { display: block; } }

.s4_head { text-align: center; margin-bottom: 50px; }

.s4_in { display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center; }

.s4_text { width: 50%; padding: 0 10px; }

.s4_text .en { font-size: 80px; color: #adc3d8; }

.s4_p { line-height: 2.25em; }

.s4_img { width: 50%; text-align: center; }

.s4_img .img100 { max-width: 406px; }

@media (max-width: 580px) { .s4_head { margin-bottom: 30px; }
  .s4_text { width: 100%; padding: 0 20px; }
  .s4_text .en { font-size: 50px; }
  .s4_img { width: 100%; padding: 0 30px; } }
