/*reset*/

ul,
li,
h1,
h2,
h3,
h4,
h5,
p,
div {
  box-sizing: content-box;
  list-style: none;
  margin: 0;
  padding: 0;
}


/*PC__________________________________________________________________________________________*/

html {
  scroll-behavior: smooth;
  position: relative;
}

.sp {
  display: none !important;
}

h2 {
  width: 100%;
  max-width: 1000px;
  margin-bottom: 30px;
}

p {
  font-size: 20px;
  font-weight: 300;
  color: #000000;
}

.m_plus1 {
  font-family: 'M PLUS 1', sans-serif;
}

.noto {
  font-family: 'Noto Serif JP', serif;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

body {
  font-family: sans-serif;
  position: relative;
  overflow-x: hidden;
  margin: 0;
}

body:before {
  content: "";
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background-image:
    url(../img/bg_a.png),
    url(../img/bg_b.jpg);
  background-size:
    cover,
    cover;
  background-repeat:
    no-repeat,
    no-repeat;
  background-position:
    center,
    center bottom;
  z-index: -50;
}

#mv {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}

.mv_img {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}

.mv_txt {
  width: 20%;
  max-width: 170px;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
}

.mv_title {
  width: 30%;
  max-width: 330px;
  height: auto;
  position: absolute;
  top: 1%;
  left: 0;
}

#main {
  width: 750px;
  height: auto;
  background: url('../img/main_bg.jpg');
  background-position: center;
  background-size: contain;
  background-repeat: repeat-y;
  margin: 0 auto;
  padding-top: 20%;
  padding-bottom: 5%;
  margin-top: -20%;
}

#main section {
  width: 95%;
  height: auto;
  margin: 0 auto 90px auto;
}

h2 img{
  width: 100%;
  max-width: 700px;
  height: auto;
}

.book_img{
  width: 60%;
  max-width: 320px;
  height: auto;
  margin: 0 auto;
}

section p{
  text-align: center;
  margin: 0em auto;
}

.book_date{
  width: 95%;
  height: auto;
  margin: 0 auto 90px auto;
}

.date_01{
  background-image:
    url(../img/con_bg_a.png),
    url(../img/con_bg_b_01.png);
  background-size:
    35%,
    40%;
  background-repeat:
    no-repeat,
    no-repeat;
  background-position:
    bottom 0 left 0,
    top 20% right 0;
    padding-bottom: 1.5em;
}

.date_02{
  background-image:
    url(../img/con_bg_a.png),
    url(../img/con_bg_b_02.png);
  background-size:
    35%,
    35%;
  background-repeat:
    no-repeat,
    no-repeat;
  background-position:
    bottom 0 right 0,
    top 20% left 0;
    padding-bottom: 1.5em;
}

.date_03{
  background-image:
    url(../img/con_bg_a.png),
    url(../img/con_bg_b_03.png);
  background-size:
    35%,
    40%;
  background-repeat:
    no-repeat,
    no-repeat;
  background-position:
    bottom 0 left 0,
    top 20% right 0;
    padding-bottom: 1.5em;
}

.bt{
  display: block;
  width: 90%;
  height: auto;
  border-radius: 50px;
  background-color: #ff8e38;
  padding: 1em 0;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  margin: 0.5em auto;
  transition: 0.5s;
}

.bt img{
  width: 95%;
  max-width: 550px;
  height: auto;
  margin: 0 auto;
}

.bt:hover{
  opacity: 0.8;
}

.acrylic_img{
  margin: 0.5em auto;
}

#etc p{
  margin-bottom: 1em;
}

footer {
  background-color: #001d3e;
  width: 100%;
}

.footer_area {
  width: 1000px;
  display: flex;
  margin: 0 auto;
}

.logo {
  width: 15%;
  padding: 0.5em 0;
}

.logo img {
  display: block;
  width: 100%;
  max-width: 125px;
  margin: 0 auto;
}

.footer_area ul {
  padding: 2em;
  display: flex;
  margin-left: 12%;
}

.footer_area a {
  color: #ffffff;
  text-decoration: none;

}

.footer_area li {
  font-size: 16px;
  font-weight: 300;
  padding: 0 0.5em;
  color: #ffffff;
}

footer p {
  width: 100%;
  font-size: 10px;
  font-weight: 300;
  text-align: center;
  color: #ffffff;
  margin-top: -4em;
  padding-bottom: 5em;
}


/* ___________________________________________________________________________________________________________________________________________________________________________ */
@media (max-width: 1000px) {

  .pc {
    display: none;
  }

  .sp {
    display: block !important;
  }


  #mv {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    margin-left: 0;
    position: relative;
  }

  .mv_img {
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
  }

  .mv_txt {
    width: 15%;
    max-width: 170px;
    height: auto;
    position: absolute;
    top: 0;
    right: 0;
  }

  .mv_title {
    width: 30%;
    max-width: 330px;
    height: auto;
    position: absolute;
    top: 1%;
    left: 1%;
  }

}

/* ___________________________________________________________________________________________________________________________________________________________________________ */
@media (max-width: 750px) {

  .pc {
    display: none;
  }

  .sp {
    display: block !important;
  }

  p {
    font-size: 0.8em;
  }

  body:before {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background-image:url(../img/sp/bg_b_sp.jpg);
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center top;
    z-index: -50;
  }

  #main {
    width: 95%;
    height: auto;
    margin: 0 auto;
    padding-top: 20%;
    margin-top: -20%;
  }

  .book_img{
    width: 45%;
    height: auto;
  }

  footer {
    padding-bottom:5%;
  }

  .footer_area {
    width: 90%;
    display: flex;
    margin: 0 auto;
  }

  .logo {
    width: 13%;
    padding: 0.5em 0;
  }

  .footer_area ul {
    padding: 1em;
    display: flex;
    margin-left: 4%;
  }

  .footer_area li {
    font-size: 0.7em;
  }

  footer p {
    font-size: 0.7em;
    margin-top: 0;
    padding-bottom: 0;
  }

}

/* ___________________________________________________________________________________________________________________________________________________________________________ */
@media (max-width: 450px) {

  .pc {
    display: none;
  }

  .sp {
    display: block !important;
  }


  .footer_area ul {
    padding: 1em 0.5em;
    display: flex;
    margin-left: 0%;
  }

  .footer_area li {
    font-size: 0.6em;
  }

  footer p {
    font-size: 0.6em;
  }

}