<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";
html, body, p, h1, h2, h3, h4, ul, li {
  margin: 0;
  padding: 0;
  font-family: "tsukugo", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}
html {
  width: 100%;
  max-width: 100%;
  font-size: 62.5%;
  overflow-x: hidden;
}
body {
  font-size: 1.6rem;
}
body, html {
  -webkit-text-size-adjust: 100%;
}
main {
  overflow: hidden;
}
img {
  image-rendering: -webkit-optimize-contrast; /*エッジ処理（Chrome）*/
  vertical-align: bottom;
}
.inner {
  max-width: 1200px;
  margin: auto;
}
.pc {
  display: block !important;
}
.mincyo {
  font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho ProN', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', 'MS PMincho', serif;
}
@media (max-width:768px) {
  .pc {
    display: none !important;
  }
}
.sp {
  display: none !important;
}
@media (max-width:768px) {
  .sp {
    display: block !important;
  }
}
* {
  box-sizing: border-box;
}
ul {
  list-style: none;
}
img {
  width: 100%;
  height: auto;
  max-width: 100%;
}
a img {
  -webkit-transition: all .2s;
  transition: all .2s;
}
a img:hover {
  opacity: 0.7;
}
@media (max-width:768px) {
  a img:hover {
    opacity: 1;
  }
}
@font-face {
  font-family: 'tsukugo';
  src: url("../font/tsukugo_r.woff2") format("woff2");
  font-weight: 400;
}
@font-face {
  font-family: "tsukugo";
  src: url("../font/tsukugo_m.woff2") format("woff2");
  font-weight: 500;
}
@font-face {
  font-family: "tsukugo";
  src: url("../font/tsukugo_b.woff2") format("woff2");
  font-weight: 700;
}
/* ------------------------------------------------------ */
@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.3);
    transform: scale(.3)
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
  }
  70% {
    -webkit-transform: scale(.9);
    transform: scale(.9)
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}
.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
/* ------------------------------------------------------
header
 ------------------------------------------------------ */
header {
  z-index: 200;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
header #headerInner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin: auto;
}
header #headerInner .logo01 {
width: 145px;
    box-sizing: content-box;
    position: relative;
    padding: 44px 0px 0px 59px;
}
header #headerInner .logo02 {
  width: 356px;
  box-sizing: content-box;
  position: relative;
  padding: 22px 35px 0 0;
}
@media (max-width:768px) {
  header {
    height: auto;
  }
  header #headerInner .logo01 {
    width: max(17.33%, 65px);
        padding: 15px 0 0 17px;
  }
  header #headerInner .logo02 {
    width: max(38.133%, 143px);
    padding: 10px 15px 0 0;
    text-align: right;
  }
}
/* ------------------------------------------------------
  mainvisual
 ------------------------------------------------------ */
.mv_area {
  position: relative;
  background: url(../img/main_bg.webp) center /cover no-repeat;
}
.mv_area::before {
  content: '';
  width: min(22.75%, 273px);
  height: 0;
  padding: min(38%, 455px) 0 0;
  position: absolute;
  z-index: 3;
  left: max(-82%, -1136px);
  right: 0;
  top: 7%;
  margin: auto;
  background: url(../img/hanabiLeft.png) no-repeat;
  background-size: contain;
}
.mv_area::after {
  content: '';
  width: min(15.5%, 186px);
  height: 0;
  padding: min(34.6%, 415px) 0 0;
  position: absolute;
  z-index: 3;
  left: 0;
  right: max(-85%, -1180px);
  top: 6.5%;
  margin: auto;
  background: url(../img/hanabiRight.png) no-repeat;
  background-size: contain;
  pointer-events: none;
}
.mainv {
  position: relative;
  z-index: 5;
  padding: 127px 0 78px;
}
.mainv .inner {
  position: relative;
}
.mainv .inner::before {
  content: '';
  width: min(18%, 216px);
  height: 0;
  padding: min(12.83%, 148px) 0 0;
  background: url(../img/illust01.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 5.5%;
  top: -3.5%;
}
.mainv .mainTitle {
  width: 96%;
  max-width: 994px;
  margin: auto;
  position: relative;
  z-index: 100;
}
.list_mainRank {
  max-width: 1116px;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
.list_mainRank li {
  width: 50%;
}
.mainv .main_question {
  width: 96%;
  max-width: 984px;
  margin: 3.7% auto 0;
}
/* sp */
@media screen and (max-width:768px) {
  .mv_area {
    padding: 15% 0 0;
    background: url(../img/main_bg_sp.webp) no-repeat center top;
    background-size: 100% 67%;
  }
    .mv_area::before {

  top: 6%;

}
    .mv_area::after {

  top: 7%;

}
  .mainv .mainTitle {
    width: 82%;
    margin: 0 auto 1%;
  }
  .mainv {
    padding: 0;
  }
  .mainv::before {
    left: -85%;
  }
  .mainv::after {
    right: -85%;
    top: -1%;
  }
  .mainv .inner::before {
    right: 8%;
  }
  .list_mainRank {
    padding: 0;
  }
  .mainv .main_question {
    width: 100%;
  }
}
/* ------------------------------------------------------
block_repeater
------------------------------------------------------ */
.block_repeater {
  background: #F9F7F2;
  padding: min(5.8%, 70px) 0 min(3.3%, 40px);
  box-sizing: border-box;
  position: relative;
}
.block_repeater::before {
  content: '';
  width: min(21.2%, 254px);
  height: 0;
  padding: min(35.5%, 426px) 0 0;
  background: url(../img/illust_ha01.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: -35px;
  top: 10%;
}
.block_repeater::after {
  content: '';
  width: min(26.7%, 320px);
  height: 0;
  padding: min(35.6%, 427px) 0 0;
  background: url(../img/illust_ha02.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: -80px;
  top: 10%;
}
.block_repeater .repeater_text {
  padding: 0 105.5px;
}
@media screen and (max-width:768px) {
  .block_repeater {
    padding: 7% 0;
  }
  .block_repeater::before {
    left: -5%;
    top: 2%;
  }
  .block_repeater::after {
    right: -6%;
    top: 2%;
  }
  .block_repeater .repeater_text {
    padding: 0 8%;
  }
}
/* ------------------------------------------------------
block_movie
 ------------------------------------------------------ */
.block_movie {
  background: #197d4f;
  padding: min(6.3%, 88px) 0 min(5%, 67px);
}
.block_movie .movie_lead {
  text-align: center;
  color: #fff;
  font-size: 2.0rem;
  margin: 0 0 5.7%;
  line-height: 2;
}
.block_movie .movie_lead strong {
  color: #FBFF00;
  font-size: 2.6rem;
}
.block_movie .movie_lead .lead_img {
  max-width: 883px;
  margin: auto;
}
.block_movie figure {
  width: 90%;
  max-width: 980px;
  margin: auto;
}
.block_movie figcaption {
  color: #fff;
  font-size: 2.1rem;
  margin: 0 0 10px;
}
.block_movie .video .vjs-fluid {
  position: relative;
  padding: 56.25% 0 0;
}
.block_movie .video .vjs-fluid video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width:768px) {
  .block_movie {
    padding: 9% 0 7%;
  }
  .block_movie .movie_lead {
    font-size: 3.5rem;
	  margin: 0;
  }
  .block_movie .movie_lead strong {
    font-size: 4.2rem;
    line-height: 1.5;
  }
	.block_movie .movie_lead .lead_img {
		width: 85%;
}
    .block_movie figure{
        margin: 6% auto 0;
    }
  .block_movie figcaption {
    text-align: center;
    font-size: 3.5rem;
  }
}
/* ------------------------------------------------------
block_contact
------------------------------------------------------ */
.block_contact {
  padding: min(3%, 42px) 0 min(4%, 40px);
}
.block_contact .inner {
  position: relative;
  padding: min(5%, 60px) 0 0;
}
.block_contact .inner::before {
  content: '';
    width: min(12.3%, 280px);
    height: 0;
    padding: min(8.5%, 109px) 0 0;
  position: absolute;
    left: 7%;
    top: 3%;
  background: url(../img/illust01.png) no-repeat;
  background-size: contain;
}
.block_contact .contact_title {
  text-align: center;
  max-width: 650px;
  width: 55%;
  margin: 0 auto 4%;
}
.block_contact .contact_lead {
  text-align: center;
  font-size: 2.0rem;
  font-weight: 500;
  color: #4D2409;
  margin: 0 0 4.3%;
}
.block_contact .contactLinks {
  max-width: 800px;
  width: 67%;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
.block_contact .contactLinks .link_left, .block_contact .contactLinks .link_right {
  width: min(48.25%, 386px);
}
.block_contact .contactLinks .link_title {
  font-size: 1.8rem;
  text-align: center;
  margin: 0 0 10px;
    letter-spacing: .1em;
}
.block_contact .contactLinks .link_title span.icon {
  display: inline-block;
  padding: 0 min(4rem, 40px);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: min(3.3rem, 33px);
}
.block_contact .contactLinks .link_title span.icon--mail {
  background-image: url(../img/icon_mail.png);
}
.block_contact .contactLinks .link_title span.icon--tel {
  background-image: url(../img/icon_tel.png);
}
.block_contact .other_links {
  max-width: 825px;
  width: 68.75%;
  margin: min(5%, 60px) auto 0;
  padding: min(5%, 60px) 0;
  border-top: solid 1px #006A46;
  display: flex;
  justify-content: center;
}
.block_contact .other_links &gt; div {
  width: 45%;
  margin: 0 15px;
  box-sizing: border-box;
  border: solid 1px #006A46;
  text-align: center;
}
.block_contact .other_links &gt; div a {
  display: block;
  color: #006A46;
  text-decoration: none;
  font-weight: 700;
  line-height: 1.5;
  padding: 5% 0;
  transition: all .2s;
}
.block_contact .other_links &gt; div a:hover {
  color: #fff;
  background: #006A46;
}
@media screen and (max-width:768px) {
  .block_contact {
      padding: 3% 0;
  }
  .block_contact .inner::before {
    width: 3%;
    height: 0;
    padding: 7%;
    left: 6%;
    top: -4%;
  }
  .block_contact .contact_title {
    width: 60%;
    margin: 0 auto 5%;
  }
  .block_contact .contact_lead {
    font-size: 3.9rem;
    line-height: 1.8;

  }
  .block_contact .contactLinks {
    width: 85%;
    display: block;
  }
  .block_contact .contactLinks .link_left, .block_contact .contactLinks .link_right {
    width: 100%;
    margin: 5% auto 0;
  }
  .block_contact .contactLinks .link_title {
    font-size: 5rem;
    margin: 0 0 .2em;
  }
  .block_contact .contactLinks .link_title span.icon {
    background-size: 8rem;
    padding: 0 0 0 10rem;
  }
  .block_contact .other_links {
    width: 85%;
    display: block;
    padding: 6% 0 4%;
    margin: 8% auto 0;
  }
  .block_contact .other_links &gt; div {
    width: 90%;
    margin: 0 auto 5%;
  }
  .block_contact .other_links &gt; div a {
    font-size: 4.5rem;
      padding: 3.5% 0;
  }
    .block_contact .contactLinks .link_btn {
            width: 94%;
    margin: auto;
    }
}
/* ------------------------------------------------------ */
#anchorArea {
  width: 60px;
  position: fixed;
  bottom: 40px;
  right: 20px;
  z-index: 1000;
  display: none;
}
@media (max-width:768px) {
  #anchorArea {
    width: 44px;
    right: 10px;
    bottom: 25px;
  }
}
#anchorArea.active {
  display: block;
}
/* ------------------------------------------------------
footer
------------------------------------------------------ */
footer {
  width: 100%;
  background-color: #eef8e7;
}
footer #footerInner {
  max-width: 900px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0px auto;
  padding: 22px 20px 20px 0;
}
footer #footerInner .logo {
  width: 100px;
}
footer #footerInner .copy {
  color: #00843d;
  font-size: 10px;
}
footer #footerInner .copy a {
  color: #00843d;
  text-decoration: none;
}
@media (max-width:768px) {
  footer #footerInner {
    display: block;
    padding: 3% 0;
  }
  footer #footerInner .logo {
    display: none;
  }
  footer #footerInner .copy {
    width: 100%;
    text-align: center;
    text-align-last: center;
    font-size: 2.4rem;
  }
  footer #footerInner .copy a {
    font-size: 2.4rem;
  }
}</pre></body></html>