@charset "utf-8";

/* 既存LPと同じPC幅900px固定。共通サイトの旧LP用CSSに依存しない。 */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  min-width: 900px;
  color: #111;
  background: #fff url("img/bg_mirai_body.jpg") repeat-y center top;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
h1, h2, h3, p { margin: 0; padding: 0; }
img { display: block; max-width: 100%; height: auto; border: 0; }
a { color: inherit; }
a:focus-visible { outline: 3px solid #6664cf; outline-offset: 5px; }
.btn_more, .movie_banner a, .footer_contact a { transition: opacity .2s; }
.btn_more:hover, .movie_banner a:hover, .footer_contact a:hover { opacity: .75; }
#kagewouruonna { width: 900px; margin: 0 auto; background: #fff; }
.lp_header { padding-bottom: 55px; }
.lp_header h1 { padding: 28px 0 22px; }
.lp_header h1 img, .intro_copy img { margin: 0 auto; }
.main_copy { border-top: 4px solid #fff; }
.intro_copy { padding: 24px 20px 0; }
.lp_box { background: url("img/img_book_section_line.png") no-repeat center top / 100% auto; }
.featured_book { padding: 94px 0 46px; }
.book_read { margin: 0 auto 40px; padding: 0 20px; }
.book_read img { margin: 0 auto; }
.book_row { display: grid; grid-template-columns: 298px 384px; gap: 48px; margin: 0 0 0 104px; align-items: center; }
.book_copy .btn_more { margin-top: 50px; }
.btn_more { display: block; width: 196px; max-width: 100%; }
.section_heading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 170px;
  padding: 40px 20px;
  background: url("img/img_book_section_line.png") no-repeat center top / 100% auto,
              url("img/img_book_section_line.png") no-repeat center bottom / 100% auto;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.6;
}
.book_grid { display: grid; align-items: start; }
.two_columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; width: 740px; max-width: 100%; margin: 35px auto 0; }
.book_card { text-align: center; min-width: 0; }
.card_title { display: flex; justify-content: center; align-items: flex-start; min-height: 73px; }
.card_cover img, .card_copy img { margin: 0 auto; }
.card_copy { margin: 18px auto 0; }
.card_buttons { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 20px; }
.happiness_group .card_cover { min-height: 356px; }
.happiness_group { padding-bottom: 54px; }
.three_columns { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 37px; width: 788px; max-width: calc(100% - 40px); margin: 35px auto 0; }
.love_group { padding-bottom: 116px; }
.lp_guide_book { padding-top: 274px; background: url("img/img_book_section_04.png") no-repeat center top / 100% auto; }
.lp_guide_book h2 { padding: 0 20px; margin-bottom: 40px; }
.lp_guide_book h2 img { margin: 0 auto; }
.music_section { padding-top: 90px; }
.music_section > h2 img { margin: 0 auto; }
.music_grid { margin-top: 45px; }
.music_grid .card_title { min-height: 76px; }
.music_grid .card_copy { min-height: 112px; }
.music_grid .card_buttons { margin-top: 20px; }
.movie_banner { margin-top: 100px; }
.movie_banner a { display: block; text-decoration: none; }
.movie_button { display: block; padding: 16px 0; }
.movie_button img { margin: 0 auto; }
#prf { display: grid; grid-template-columns: 201px minmax(0, 1fr); gap: 48px; width: 800px; max-width: calc(100% - 40px); margin: 68px auto 0; border: 1px solid #bbb; padding: 36px 30px 30px 40px; }
.prf_text { font-family: "ＭＳ Ｐ明朝", "MS PMincho", "Hiragino Mincho ProN", serif; font-size: 15px; line-height: 1.42; color: #777; }
.profile_tag { margin-bottom: 18px; }
.prf_text h2 { margin-bottom: 20px; }
.prf_text > p + p { margin-top: 22px; }
.lp_footer { width: 880px; max-width: calc(100% - 20px); margin: 60px auto 0; padding: 18px 0 54px; border-top: 1px solid #111; color: #999; font: 11px/1.5 Arial, sans-serif; text-align: center; }
.footer_contact { display: flex; align-items: center; justify-content: center; gap: 16px; }
.lp_footer > p { margin-top: 12px; }
