#top_image {
 position: relative;
 margin-top: 13vh;
}
#top_image img{
 object-fit: cover;
 object-position: 50% 50%;
 font-family: 'object-fit: cover; object-position: 50% 50%;'
}
.top_image_cap {
 -js-display: flex;
 display: -webkit-box;
 display: -webkit-flex;
 display: -moz-box;
 display: -ms-flexbox;
 display: flex;
 align-items: center;
 justify-content: center;
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 width: 100vw;
 height: 30%;
 margin: auto;
 text-align: center;
 background-color: rgba(0, 0, 0, 0.7);
}
.top_image_cap p, .top_image_cap h2 {
 display: inline-block;
 letter-spacing: 0.09em;
 text-shadow: 0px 0px 10px #000000;
}
.top_image_cap p {
 padding: 10px 0 5px;
}
.top_image_cap h2 {
 padding: 5px 0 10px;
}
.top_image_cap_wrap {
 width: 50%;
}
main {
 display: block;
}
.grid {
 display: -ms-grid;
 display: grid;
 -ms-grid-columns: 100vw;
 grid-template-columns: 100vw;
 -ms-grid-rows: auto;
 grid-template-rows: auto;
}
.grid h2, .grid p{
 letter-spacing: 0.09em;
 line-height: 1.75em;
 text-align: left;
}
.grid h2 {
 margin: 1.4rem 2.1rem 0.7rem;
}
.grid p {
 margin: 0 2.1rem 1.4rem;
 text-indent: 1em;
}
.top_swiper_article {
 position: relative;
 width: 100vw;
 height: auto;
 text-align: left;
}
.top_swiper_article img {
 width: 100vw;
}
.top_swiper_article_box {
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 width: 74%;
 height: 80%;
 margin: auto;
 padding: 10% 13%;
 background-color: rgba(0, 0, 0, 0.8);
}
footer {
 width: 100vw;
 text-align: center;
}
footer p {
 margin: 2vh 0 10vh;
}
.pagetop {
 display: none;
 position: fixed;
 right: 0;
 z-index: 100;
}
.pagetop img {
 width: 20vw;
}
.pagetop a, .pagetop a:hover {
 display: block;
 font-size: 12px;
 text-align: center;
 text-decoration: none;
 padding: 1vh 8vw 1vw 1vh;
 filter: alpha(opacity=50);
}
.pagetop a {
 -moz-opacity: 1;
 opacity: 1;
}
.pagetop a:hover {
 -moz-opacity: 0.5;
 opacity: 0.5;
}
@media screen and (max-width: 479px) {
 .top_image_cap_back, .mobile_hiding {
  display: none;
 }
 .top_image_cap p, .top_image_cap h2 {
  font-size: calc(1.6rem + ((1vw - 3.2px) * 3.125));
 }
 .grid h2, .grid p{
  font-size: calc(1.1rem + ((1vw - 3.2px) * 3.75));
 }
 footer p {
  font-size: calc(1.2rem + ((1vw - 3.2px) * 3.75));
 }
}
@media screen and (min-width: 480px) and (max-width: 767px) {
 #top_image {
  margin: 0;
 }
 #top_image img, .grid img {
  width: 100vw;
  height: 100vh;
 }
 .top_image_cap p, .top_image_cap h2 {
  font-size: calc(2rem + ((1vw - 4.8px) * 0.694));
 }
 .grid h2 {
  font-size: calc(1.5rem + ((1vw - 4.8px) * 0.347));
  margin: 1.4rem 2.1rem 0.7rem;
 }
 .grid p {
  font-size: calc(1.4rem + ((1vw - 4.8px) * 0.347));
  margin: 0 2.1rem 1.4rem;
 }
 footer p {
  font-size: calc(0.9rem + ((1vw - 4.8px) * 1.041));
  margin: 2vh 0 14vh;
 }
 .pagetop a, .pagetop a:hover {
  padding: 1vh 4vw 1vw 1vh;
 }
 .pagetop img {
  width: 10vw;
 }
 .top_image_cap_back, .mobile_hiding, footer br {
  display: none;
 }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
 #top_image {
  margin: 0;
 }
 #top_image img {
  width: 100%;
  height: 30vh;
 }
 .top_image_cap {
  height: 100%;
 }
 .top_image_cap p, .top_image_cap h2, .top_image_cap_back p {
  font-size: calc(2rem + ((1vw - 7.68px) * 0.694));
  margin: 0;
  padding: 0;
 }
 .top_image_cap_wrap {
  position: absolute;
  width: 55%;
  bottom: 2.8rem;
  left: 4.9rem;
  text-align: left;
 }
 .top_image_cap_back {
  display: initial;
  position: absolute;
  bottom: 2.8rem;
  right: 4.9rem;
  text-align: left;
 }
 .grid {
  -ms-grid-columns: 55vw 40vw;
  grid-template-columns: 55vw 40vw;
  -ms-grid-rows: auto auto auto;
  grid-template-rows: auto auto auto;
 }
 .grid h2 {
  font-size: calc(1.5rem + ((1vw - 7.68px) * 0.347));
  margin: 1.4rem 2.1rem 1.4rem 4.2rem;
 }
 .grid p {
  font-size: calc(1.4rem + ((1vw - 7.68px) * 0.347));
  margin: 0 2.1rem 1.4rem 4.2rem;
 }
 footer p {
  font-size: calc(1.3rem + ((1vw - 7.68px) * 0.520));
  margin: 1.5vh 0 2vh;
 }
 .pagetop a, .pagetop a:hover {
  padding: 1vh 5vw 1vw 1vh;
 }
 .pagetop img {
  width: 15vw;
 }
 .top_image_cap_wrap br, .mobile_hiding, footer br {
  display: none;
 }
}
@media only screen and (device-width: 812px) and (device-height: 375px) {
 #top_image {
  padding-top: 0;
 }
 #top_image img {
  width: 100%;
  height: 100vh;
 }
 .top_image_cap p, .top_image_cap h2 {
  margin: 0;
  padding: 0;
 }
 .top_image_cap p {
  font-size: calc(2.5rem + ((1vw - 8.12px) * 0.694));
 }
 .top_image_cap h2 {
  font-size: calc(2rem + ((1vw - 8.12px) * 0.694));
 }
 .top_image_cap_wrap {
  position: absolute;
  width: 55%;
  bottom: 2.8rem;
  left: 4.9rem;
  text-align: left;
 }
 .top_image_cap_back {
  display: initial;
  position: absolute;
  right: 4.9rem;
  bottom: 2.8rem;
  text-align: left;
 }
 .top_image_cap_back p{
  font-size: calc(2rem + ((1vw - 8.12px) * 0.694));
 }
 .grid h2 {
  font-size: calc(1.5rem + ((1vw - 8.12px) * 0.347));
  margin: 1.4rem 1.4rem 1.4rem 4.2rem;
 }
 .grid p {
  font-size: calc(1.4rem + ((1vw - 8.12px) * 0.347));
  margin: 0 2.1rem 1.4rem 4.2rem;
 }
 footer p {
  font-size: calc(1.3rem + ((1vw - 8.12px) * 0.347));
  margin: 4vh 0;
 }
 .top_image_cap_wrap br, footer br {
  display: none;
 }
}
@media screen and (min-width: 960px) and (max-width: 1279px) {
 #top_image {
  margin: 0;
 }
 #top_image img {
  width: 100%;
  height: 40vh;
 }
 .top_image_cap {
  height: 100%;
 }
 .top_image_cap p, .top_image_cap h2 {
  margin: 0;
  padding: 0;
 }
 .top_image_cap p, .top_image_cap h2, .top_image_cap_back p {
  font-size: calc(2.2rem + ((1vw - 9.6px) * 0.312));
 }
 .top_image_cap_wrap {
  position: absolute;
  width: 55%;
  bottom: 2.8rem;
  left: 4.9rem;
  text-align: left;
 }
 .top_image_cap_back {
  display: initial;
  position: absolute;
  right: 4.9rem;
  bottom: 2.8rem;
  text-align: left;
  padding: 0;
 }
 .grid {
  -ms-grid-columns: 33.3vw 33.3vw 33.3vw;
  grid-template-columns: 33.3vw 33.3vw 33.3vw;
  -ms-grid-rows: auto auto;
  grid-template-rows: auto auto;
 }
 .grid02 {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
 }
 .grid04 {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
 }
 .grid06 {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 1;
  grid-row: 1;
 }
 .grid08 {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
 }
 .grid10 {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
 }
 .grid h2 {
  font-size: calc(1.5rem + ((1vw - 8.12px) * 0.347));
  margin: 1.4rem 1.4rem 1.4rem 4.2rem;
 }
 .grid p {
  font-size: calc(1.4rem + ((1vw - 8.12px) * 0.347));
  margin: 0 2.1rem 1.4rem 4.2rem;
 }
 .top_swiper_article {
  width: 100%;
  height: auto;
 }
 .top_swiper_article img {
  width: 100%;
 }
 .top_swiper_article_box {
  width: 90%;
  height: 80%;
  padding: 10% 0%;
 }
 footer p {
  font-size: calc(1.4rem + ((1vw - 9.6px) * 0.347));
  margin: 2vh 0;
 }
 .pagetop a, .pagetop a:hover {
  padding: 1vh 5vw 1vw 1vh;
 }
 .pagetop img {
  width: 10vw;
 }
 .mobile_hiding {
  display: initial;
 }
 .grid01, .grid03, .grid05, .grid07, .grid09, .pc_hiding, .top_image_cap_wrap br, footer br {
  display: none;
 }
}
@media screen and (min-width: 1280px) {
 #top_image {
  margin: 0;
 }
 #top_image img {
  width: 100%;
  height: 50vh;
 }
 .top_image_cap {
  height: 105%;
  width: 90vw;
 }
 .top_image_cap h2, .top_image_cap p, .top_image_cap_back p {
  font-size: calc(2.5rem + ((1vw - 12.8px) * 0.312));
  margin: 0;
  padding: 0;
 }
 .top_image_cap_wrap {
  position: absolute;
  width: 55%;
  bottom: 3.5rem;
  left: 4.9rem;
  text-align: left;
 }
 .top_image_cap_back {
  display: initial;
  position: absolute;
  bottom: 3.5rem;
  right: 4.9rem;
  text-align: left;
 }
 .grid {
  -ms-grid-columns: 30vw 30vw 30vw;
  grid-template-columns: 30vw 30vw 30vw;
  -ms-grid-rows: auto auto;
  grid-template-rows: auto auto;
 }
 .grid02 {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
 }
 .grid04 {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
 }
 .grid06 {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 1;
  grid-row: 1;
 }
 .grid08 {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
 }
 .grid10 {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
 }
 .grid img {
  width: 30vw;
 }
 .grid h2 {
  font-size: calc(1.8rem + ((1vw - 12.8px) * 0.347));
  margin: 1.4rem 2.8rem 1.4rem 3.5rem;
 }
 .grid p {
  font-size: calc(1.7rem + ((1vw - 12.8px) * 0.347));
  margin: 0 2.8rem 1.4rem 3.5rem;
 }
 .top_swiper_article {
  width: 100%;
  height: 100%;
 }
 .top_swiper_article img {
  width: 100%;
 }
 .top_swiper_article_box {
  width: 90%;
  height: 80%;
  padding: 10% 0%;
 }
 footer {
  width: 90vw;
 }
 footer p {
  font-size: calc(1.8rem + ((1vw - 12.8px) * 0.454));
  margin: 2vh 0;
 }
 .pagetop a, .pagetop a:hover {
  padding: 1vh 4vw 1vw 1vh;
 }
 .pagetop img {
  width: 8vw;
 }
 .grid01, .grid03, .grid05, .grid07, .grid09, .pc_hiding, .top_image_cap_wrap br, footer br {
  display: none;
 }
}