@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400&family=Noto+Serif+JP:wght@500&display=swap");
/* -----------------------------------------------------
	basic
----------------------------------------------------- */
html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
  font-size: min(0.99vw,15px);
  font-weight: 500;
  line-height: 1.8;
  color: #333;
  letter-spacing: 0.1em;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 3.64583vw;
  }
}

main {
  width: 100%;
  position: relative;
}

#contents {
  background: #f8f8f8;
  padding-top: min(5.29vw,80px);
}

@media screen and (max-width: 768px) {
  #contents {
    padding-top: 19.53125vw;
  }
}

.inner {
  max-width: min(79.37vw,1200px);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .inner {
    max-width: 100%;
    padding: 0 4.16667vw;
  }
}

a {
  opacity: 1;
  -webkit-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  text-decoration: none;
}

a img {
  -webkit-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

a img:hover {
  opacity: .8;
}

@media screen and (max-width: 768px) {
  a img:hover {
    opacity: 1;
  }
}

.en {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
}

.mt0 {
  margin-top: 0 !important;
}

/* -----------------------------------------------------
	br
----------------------------------------------------- */
br.pc {
  display: block;
}

@media screen and (max-width: 768px) {
  br.pc {
    display: none;
  }
}

br.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  br.sp {
    display: block;
  }
}

/* -----------------------------------------------------
  rules
----------------------------------------------------- */
.rules {
  margin-top: min(1.06vw,16px);
}

@media screen and (max-width: 768px) {
  .rules {
    margin-top: 3.125vw;
  }
}

.rules .wrap_inner {
  background: #fff;
  border-radius: min(0.66vw,10px);
  padding: min(2.65vw,40px) min(2.65vw,40px) min(4.23vw,64px);
}

@media screen and (max-width: 768px) {
  .rules .wrap_inner {
    border-radius: 2.60417vw;
    padding: 7.29167vw 5.20833vw 10.41667vw;
  }
}

.rules .wrap_inner .ttl {
  font-size: min(1.32vw,20px);
  font-weight: 700;
  line-height: 1.5;
  border-bottom: 1px solid #2FA350;
  margin-bottom: min(2.65vw,40px);
  padding-bottom: min(0.53vw,8px);
}

@media screen and (max-width: 768px) {
  .rules .wrap_inner .ttl {
    font-size: 4.16667vw;
    border-bottom: 0.26042vw solid #2FA350;
    margin-bottom: 5.20833vw;
    padding-bottom: 3.125vw;
  }
}

.rules .wrap_inner .ttl:not(:first-child) {
  margin-top: min(3.7vw,56px);
}

@media screen and (max-width: 768px) {
  .rules .wrap_inner .ttl:not(:first-child) {
    margin-top: 10.41667vw;
  }
}

.rules .wrap_inner h3 {
  font-size: min(1.12vw,17px);
  font-weight: 700;
  line-height: 1.5;
  margin-top: min(2.65vw,40px);
  padding-left: min(1.06vw,16px);
  border-left: 3px solid #2FA350;
}

@media screen and (max-width: 768px) {
  .rules .wrap_inner h3 {
    font-size: 3.64583vw;
    margin-top: 7.29167vw;
    padding-left: 3.125vw;
    border-left: 0.78125vw solid #2FA350;
  }
}

.rules .wrap_inner p {
  margin-top: min(1.06vw,16px);
}

@media screen and (max-width: 768px) {
  .rules .wrap_inner p {
    margin-top: 3.125vw;
  }
}

.rules .wrap_inner .num {
  list-style: none;
  counter-reset: number;
  margin-top: min(1.06vw,16px);
}

@media screen and (max-width: 768px) {
  .rules .wrap_inner .num {
    margin-top: 3.125vw;
  }
}

.rules .wrap_inner .num li {
  position: relative;
}

.rules .wrap_inner .num li::before {
  counter-increment: number;
  position: absolute;
  left: 0;
}

.rules .wrap_inner .num li + li {
  margin-top: min(0.53vw,8px);
}

@media screen and (max-width: 768px) {
  .rules .wrap_inner .num li + li {
    margin-top: 2.08333vw;
  }
}

.rules .wrap_inner .num li a {
  color: #2FA350;
  text-decoration: underline;
}

.rules .wrap_inner .num.type01 li {
  list-style: none;
  padding-left: min(2.65vw,40px);
}

@media screen and (max-width: 768px) {
  .rules .wrap_inner .num.type01 li {
    padding-left: 9.375vw;
  }
}

.rules .wrap_inner .num.type01 li::before {
  content: "（" counter(number) "）";
}

.rules .wrap_inner .num.type02 li {
  margin-left: 1.5em;
  list-style: decimal;
}

.rules .wrap_inner .num.type02 li::before {
  content: none;
}

.rules .wrap_inner .num.type02 + .type01 {
  margin-left: 1.5em;
}

.rules .wrap_inner .tar {
  text-align: right;
}
