@charset "utf-8";

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
}

main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main ul,
main ol,
main dl,
main li,
main dt,
main dd,
main p,
main div,
main span,
main img,
main a,
main table,
main tr,
main th,
main td {
  border: 0;
  font-size: 100%;
  font-weight: normal;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

main section {
  display: block;
  margin-top: 80px;
  padding: 0 20px;
}

main [class*="_inner"] {
  width: min(1200px, 100%);
  margin-inline: auto;
}

main section.gbk {
  background: #f7f7f7;
  padding: 80px 20px 85px;
}

@media screen and (max-width: 767.9px) {
  main section {
    margin-top: 50px;
    padding: 0 5vw;
  }

  main [class*="_inner"] {
    width: 100%;
  }

  main section.gbk {
    padding: 50px 5vw;
  }
}

main ol,
main ul {
  list-style: none;
  list-style-type: none;
}

main a {
  text-decoration: none;
}

main {
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; /* Safari */
  color: #000;
  font-family: "Hiragino Kaku Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", Meiryo, sans-serif;
  font-size: 16px;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
  line-height: 1.7;
  overflow: hidden;
}

main img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

main a {
  color: inherit;
}

main .pc {
  display: inline-block;
}

main .tab {
  display: none;
}

main .sp {
  display: none;
}

main .mb {
  display: none;
}

/*============================================
# top page
============================================*/

/* mv */
.mv {
  background: linear-gradient(90deg, #f86f1e 0%, #f86f1e 50%, #fceee5 50%, #fceee5 100%);
}

.mv_image01 {
  margin: 0 auto;
  max-width: 1200px;
}

@media print, screen and (min-width: 768px) {
  .mv_image01 h1 img {
    -webkit-mask-image: linear-gradient(to left, #f86f1e 96.5%, transparent 100%);
    mask-image: linear-gradient(to left, #f86f1e 96.5%, transparent 100%);
  }
}

.mv_text-block {
  background: #000;
  text-align: center;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 0.3rem 0 0.4rem;
}

.mv_text {
  color: #fff;
  font-size: 21px;
  font-size: min(2vw, 21px);
  letter-spacing: 0.15em;
}

.mv_text strong {
  font-size: 1.1em;
  padding: 0 0.06em;
}

.mv_text strong.data {
  font-size: 1.3em;
}

@media screen and (max-width: 767.9px) {
  main {
    font-size: clamp(14px, 4.2vw, 17px);
    line-height: 1.6;
  }

  main .pc {
    display: none;
  }

  main .sp {
    display: inline-block;
  }

  .mv_text-block {
    padding: 0.7rem 5vw 0.8rem;
  }

  .mv_text {
    font-size: max(16px, 4.2vw);
    line-height: 1.4;
  }
}

.condition-text {
  text-align: center;
  padding: 0 20px;
  margin-top: 50px;
}

@media screen and (max-width: 767.9px) {
  .condition-text {
    padding: 0 5vw;
    margin-top: 1.5rem;
  }
}

main h2 {
  font-size: 24px;
  line-height: 1.6;
  margin-bottom: 24px;
  font-weight: 700;
}

main h2 span {
  font-weight: 700;
  text-decoration-line: underline;
  text-decoration-thickness: 0.4em;
  text-decoration-color: #fff400;
  text-underline-offset: -4px;
  text-decoration-skip-ink: none;
}

@media screen and (max-width: 767.9px) {
  main h2 {
    font-size: clamp(17px, 4.8vw, 22px);
    margin-bottom: 1rem;
    line-height: 1.5;
  }

  .condition-text h2 + p {
    text-align: left;
  }
}

main h3 {
  font-size: 40px;
  font-size: min(4vw, 40px);
  text-align: center;
  position: relative;
  padding-bottom: 0.3em;
  font-weight: 700;
}

main h3::after {
  content: "";
  display: inline-block;
  width: 50px;
  height: 2px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  background-color: #c00;
}

@media screen and (max-width: 767.9px) {
  main h3 {
    font-size: clamp(22px, 7vw, 28px);
  }

  main h3::after {
    content: "";
    display: inline-block;
    width: 50px;
    height: 2px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background-color: #c00;
  }
}

/* apply */
.apply.under {
  margin: 120px auto 110px;
}

@media screen and (max-width: 767.9px) {
  .apply.under {
    margin: 60px auto 70px;
  }
}

.apply_cont {
  display: block;
  /* grid-template-columns: 450px 1fr; */
  /* grid-template-rows: auto 1fr; */
  /* gap: 2rem 3rem; */
  margin: 60px auto 0;
  max-width: 1020px;
  text-align: center;
}

.apply_cont .apply__img {
  grid-area: 1 / 1 / 3 / 2;
  border: 1px solid #ccc;
}

.apply_cont h4 {
  grid-area: 1 / 2 / 2 / 3;
  font-size: 24px;
  font-size: min(2.6vw, 24px);
  font-weight: 700;
}

.apply_cont .apply__copy {
  margin-top: 0.2em;
}

@media screen and (max-width: 767.9px) {
  .apply_cont {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, auto);
    gap: 1rem;
    margin: 1.7rem auto 0;
  }

  .apply_cont .apply__img {
    grid-area: 2 / 1 / 3 / 2;
    border: 1px solid #ccc;
    width: max(40%, 120px);
    margin-inline: auto;
  }

  .apply_cont h4 {
    /* grid-area: 1 / 1 / 2 / 2; */
    font-size: clamp(17px, 4.5vw, 20px);
    line-height: 1.5;
    width: fit-content;
    margin-inline: auto;
  }

  .apply_cont .apply__copy {
    /* grid-area: 3 / 1 / 4 / 2; */
    text-align: left;
    margin-top: 0.4em;
  }
}

main .caution {
  display: block;
  font-size: clamp(12px, 3.5vw, 15px);
  opacity: 0.84;
  margin: 0.5em 0 0 1em;
  text-indent: -1em;
  font-feature-settings: "palt";
  line-height: 1.4;
}

main p + .caution {
  margin-top: 2em;
}

/* deadline */
.deadline {
  margin-inline: auto;
  width: min(600px, 100%);
}

.deadline img {
  display: block;
}

.apply_cont + .deadline {
  margin-top: 70px;
}

.deadline-side span {
  position: relative;
  display: block;
}

.deadline-side span::before,
.deadline-side span::after {
  content: "";
  position: absolute;
  background-color: #333;
  display: inline-block;
  width: 2px;
  height: 50px;
  bottom: -20px;
}

.deadline-side span::before {
  left: -3.8rem;
  transform: rotate(-25deg);
}

.deadline-side span::after {
  right: -3.8rem;
  transform: rotate(25deg);
}

@media screen and (max-width: 767.9px) {
  .deadline {
    width: min(300px, 75%);
  }

  .apply_cont + .deadline {
    margin-top: 45px;
  }

  .deadline-side span::before,
  .deadline-side span::after {
    height: 90%;
    bottom: -5px;
  }

  .deadline-side span::before {
    left: -1.7rem;
    transform: rotate(-15deg);
  }

  .deadline-side span::after {
    right: -1.7rem;
    transform: rotate(15deg);
  }
}

/* btn-area */
.btn-area {
  margin-top: 2.3rem;
}

.btn-area_apply {
  display: block;
  width: min(680px, 90%);
  margin-inline: auto;
}

.btn-area_apply span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: #c00;
  color: #fff;
  font-size: 21px;
  font-size: min(2.9vw, 24px);
  font-weight: 700;
  padding: 1em 1.5em;
  text-align: center;
  border-radius: 10px;
  position: relative;
}

.btn-area_apply span::before {
  content: "";
  display: inline-block;
  background: #fff;
  border-radius: 50%;
  height: 30px;
  width: 30px;
  position: absolute;
  right: 2rem;
}

.btn-area_apply span::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  color: #c00;
  border-top: solid 3px;
  border-right: solid 3px;
  transform: rotate(45deg);
  position: absolute;
  right: 2.7rem;
}

@media screen and (max-width: 767.9px) {
  .btn-area {
    margin-top: 1.5rem;
  }

  .btn-area_apply {
    width: min(640px, 100%);
  }

  .btn-area_apply span {
    display: block;
    font-size: clamp(17px, 5.5vw, 24px);
    padding: 0.8em 2.7em 0.8em 1.4em;

    border-radius: 5px;
  }

  .btn-area_apply span::before {
    height: 20px;
    width: 20px;
    right: 1.2em;
    top: 50%;
    transform: translateY(-50%);
  }

  .btn-area_apply span::after {
    width: 4px;
    height: 4px;
    color: #c00;
    border-top: solid 2px;
    border-right: solid 2px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: calc(1.2em + 8px);
  }
}

@media (any-hover: hover) {
  .btn-area_apply span,
  .btn-area_apply span::before,
  .btn-area_apply span::after {
    transition: 0.3s all;
  }

  .btn-area_apply span:hover {
    transform: scale(1.04);
    filter: drop-shadow(0 0 5px #f77);
  }

  .btn-area_apply span:hover::before {
    background: #c00;
  }

  .btn-area_apply span:hover::after {
    color: #fff;
    transform: scale(1.5) rotate(45deg);
  }
}

/* btn-green */
.btn-area_apply span.green {
  background: #18a511;
}

.btn-area_apply span.green::after {
  color: #18a511;
}

@media screen and (max-width: 767.9px) {
  .btn-area_apply span.green {
    font-size: clamp(16px, 5vw, 21px);
    line-height: 1.5;
  }

  .btn-area_apply span.green::after {
    color: #18a511;
  }
}

@media (any-hover: hover) {
  .btn-area_apply span.green:hover {
    filter: drop-shadow(0 0 5px #74fe6d);
  }

  .btn-area_apply span.green:hover::before {
    background: #18a511;
  }

  .btn-area_apply span.green:hover::after {
    color: #fff;
  }
}

/* terms  */
.terms {
  font-feature-settings: normal;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

main .terms_inner {
  width: min(1020px, 100%);
}

.terms__dl {
  margin-top: 45px;
}

.terms__dl--box {
  margin-bottom: 45px;
}

.terms__dl--box > .terms__dd {
  border: 1px solid #d5d5d5;
  height: 540px;
  overflow-x: hidden;
  overflow-y: scroll;
  padding: 2em 30px;
  margin-top: 0.6em;
}

.terms__dl--box > .terms__dd li {
  padding-left: 1em;
  text-indent: -1em;
}

.terms__dl--box > .terms__dd li dt {
  margin-left: 1em;
}

.terms__dl--box > .terms__dd ol {
  margin-top: 6px;
}

.terms__dl--box > .terms__dd .terms__num-list li {
  counter-increment: item;
  margin-left: 1em;
}

.terms__dl--box > .terms__dd .terms__num-list--1 li::before {
  content: counter(item) ")";
  display: inline-block;
}

.terms__dl--box > .terms__dd .terms__num-list--2 {
  margin-bottom: 1em;
}

.terms__dl--box > .terms__dd .terms__num-list--2 li {
  padding-left: 2em;
  text-indent: -1.57em;
}

.terms__dl--box > .terms__dd .terms__num-list--2 li::before {
  content: "（" counter(item) "）";
  display: inline-block;
}

.terms__dl--box .terms__dl:nth-of-type(2),
.terms__dl--box .terms__dl:nth-of-type(3) {
  margin-bottom: 26px;
}

.terms__dl--box .terms__dl-detail {
  margin-bottom: 15px;
}

.terms__dl--box .terms__dl-detail:first-of-type {
  padding-top: 3px;
}

.terms__dl--box .terms__dl-detail.privacy-policy {
  margin-bottom: 0;
}

.terms__dl--box .terms__dl-detail dt {
  margin-bottom: 5px;
}

.terms__dl--box .terms__dl-detail dd .terms__list--link {
  margin-top: 10px;
}

.terms__dl--box .terms__dl-detail dd .terms__list--link li:not(:last-of-type) {
  margin-bottom: 0.3em;
}

.terms__dl--box .terms__dl-detail dd a,
.terms__contact-link {
  word-break: break-word;
  text-decoration: none;
  text-decoration-line: underline;
  text-decoration-color: #444;
  text-underline-offset: 3px;
  letter-spacing: 0.05em;
}

.terms__dt {
  font-feature-settings: "palt";
  font-size: 18px;
  font-weight: 700;
}

.terms__dd {
  margin-top: 0.2em;
}

.terms__text {
  font-feature-settings: "palt";

  letter-spacing: 0.1em;
  margin-bottom: 28px;
}

.terms__contact {
  background: #f5f5f5;
  letter-spacing: 0.1em;
  padding: 35px 48px;
  padding: 35px 48px 39px;
}

.terms__contact-title {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
}

.terms__contact-text {
  font-weight: 700;
  margin-bottom: 4px;
}

.terms__contact-link {
  display: inline-block;
}

.terms__contact .caution li {
  margin-top: 0.3em;
}

@media (any-hover: hover) {
  .terms__dl--box .terms__dl-detail dd a,
  .terms__contact-link {
    transition: all 0.3s;
  }
  .terms__dl--box .terms__dl-detail dd a:hover,
  .terms__contact-link:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767.9px) {
  .terms {
    line-height: 1.5;
  }

  .terms__dl {
    margin-top: 35px;
  }

  .terms__dl--box {
    margin-bottom: 35px;
  }

  .terms__dl--box > .terms__dd {
    height: 300px;
    margin-top: 0.6em;
    padding: 6vw 4vw 6vw 5vw;
    margin-top: 0.3em;
  }

  .terms__dl--box > .terms__dd .terms__dd {
    margin-top: 0.5em;
  }

  .terms__dl--box > .terms__dd li dl {
    margin-top: 1.2em;
  }

  .terms__dl--box > .terms__dd ol {
    margin-top: 1.2em;
  }

  .terms__dl--box > .terms__dd .terms__num-list li {
    padding-left: 0.5em;
    text-indent: -0.75em;
  }

  .terms__dl--box > .terms__dd .terms__num-list--2 li {
    padding-left: 2em;
    text-indent: -1.59em;
  }

  .terms__dl--box .terms__dl:nth-of-type(2),
  .terms__dl--box .terms__dl:nth-of-type(3) {
    margin-bottom: 2em;
  }

  .terms__dl--box .terms__dl-detail {
    margin-bottom: 2em;
  }

  .terms__dt,
  .terms__dd {
    font-size: clamp(14px, 4vw, 17px);
  }

  .terms__contact {
    padding: 6.7vw 6vw 5.8vw;
  }

  .terms__contact-title {
    font-size: clamp(16px, 4.7vw, 20px);
    line-height: 1.35;
    margin-bottom: 1em;
  }

  .terms__contact-text {
    font-size: clamp(15px, 4.2vw, 18px);
  }

  .terms__contact-link {
    font-size: clamp(14px, 4vw, 16px);
    line-height: 1.4;
  }
}

@media screen and (min-width: 768px) and (max-width: 980px) {
  main .tab {
    display: inline-block;
  }
}

@media screen and (max-width: 767.9px) {
  main .sp {
    display: inline-block;
  }
}

@media screen and (max-width: 425px) {
  main .mb {
    display: inline-block;
  }
}

/*============================================
# thankyou
============================================*/

.complete,
.golf {
  padding: 0 20px;
  margin-inline: auto;
}

.complete {
  padding-top: 3em;
  width: fit-content;
}

.complete__title {
  color: #cc0000;
  font-size: 22px;
  font-weight: 700;
}

.complete__subtitle {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 24px;
}

.complete__text {
  margin-top: 2em;
}

.golf {
  margin: 5rem auto 6em;
  text-align: center;
}

.golf__appeal-text {
  font-size: 24px;
  font-weight: 700;
}

@media screen and (max-width: 767.9px) {
  .complete {
    padding-top: 2em;
  }

  .complete__title {
    font-size: clamp(17px, 4.8vw, 22px);
  }

  .complete__subtitle {
    font-size: clamp(19px, 5.8vw, 24px);
    line-height: 1.384;
    margin-top: 0.6em;
  }

  .complete__text {
    font-size: clamp(14px, 4.2vw, 18px);
    margin-top: 2em;
  }

  .golf {
    margin: auto;
    padding: 3em 0 4.5em;
    width: 89%;
  }

  .golf__appeal-text {
    font-size: clamp(17px, 4.8vw, 22px);
    line-height: 1.5;
  }
}

/*============================================
# entry
============================================*/

/* header */
#head-logo {
  background: #041d41;
  margin-top: 0;
  padding: 0;
}

#head-logo .head-logo__inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 3px 0 2px;
  display: flex;
  align-items: center;
}

#head-logo .head-logo__inner img {
  width: 72px;
  margin-left: -5px;
}

@media screen and (max-width: 767.9px) {
  .entry .container {
    width: 95%;
    margin-inline: auto;
  }

  #head-logo .head-logo__inner {
    padding: 6px 0 5px;
  }

  #head-logo .head-logo__inner img {
    width: 60px;
  }
}

.entry {
  background: #f0f0f0;
}

.entry-wrap {
  width: min(1020px, 100%);
  padding: 3em 20px;
  margin-inline: auto;
}

.entry-cont {
  margin: 0 auto;
  width: min(980px, 100%);
  padding: 3.5em 35px 4em;
  background-color: #fff;
  border-radius: 1em;
}

@media screen and (max-width: 767.9px) {
  .entry-wrap {
    padding: 2.5rem 3vw;
  }

  .entry-cont {
    padding: 2.3rem 3vw 3rem;
  }
}

.entry h1 {
  font-size: 26px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.07em;
  padding-bottom: 23px;
  position: relative;
}

.entry h1::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.2em;
  display: inline-block;
  width: 700px;
  height: 2px;
  transform: translateX(-50%);
  background-color: #ccc;
}

@media screen and (max-width: 767.9px) {
  .entry h1 {
    font-size: clamp(22px, 7vw, 28px);
    line-height: 1.5;
  }

  .entry h1::after {
    width: 95%;
  }
}

.entry h2 {
  color: #c00;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.07em;
  margin-top: 14px;
  line-height: 1.5;
}

@media screen and (max-width: 767.9px) {
  .entry h2 {
    font-size: clamp(16px, 4.8vw, 20px);
    margin-top: 1.3rem;
  }
}

.entry p.read {
  display: block;
  margin-top: 30px;
  width: min(700px, 100%);
  margin-inline: auto;
  line-height: 1.8;
}

.entry p.read + .read {
  margin-top: 1em;
}

@media screen and (max-width: 767.9px) {
  .entry p.read {
    width: min(700px, 100%);
    margin-inline: auto;
    line-height: 1.9;
    padding: 0 2vw;
  }
}

.entry_prize {
  width: 650px;
  margin: 2em auto 0;
  border-top: #ddd 1px solid;
  border-bottom: #ddd 1px solid;
}

.entry_prize dl {
  padding: 1.5rem 1rem 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem 2rem;
}

.entry_prize dl dt {
  font-weight: 700;
}

.entry_prize .caution {
  font-size: clamp(12px, 3.5vw, 15px);
  margin: 1.5em 0 1.5em 2em;
}

@media screen and (max-width: 767.9px) {
  .entry_prize {
    width: 95%;
    margin: 2em auto 0;
  }

  .entry_prize dl {
    padding: 1.5em 0 0;
    grid-template-columns: 1fr;
    gap: 1em;
  }

  .entry_prize dl dd {
    margin-top: -0.8em;
    line-height: 1.5;
    letter-spacing: 0.11em;
  }

  .entry_prize .caution {
    margin-left: 1em;
  }
}

.entry_img {
  width: min(700px, 100%);
  margin: 80px auto 0;
}

@media screen and (max-width: 767.9px) {
  .entry_img {
    width: min(640px, 96%);
    margin: 3.5em auto 0;
  }
}

.entry_info {
  width: fit-content;
  margin: 1.2rem auto 0;
}

.entry_info .entry_info_stt {
  margin-bottom: 0.3rem;
  font-weight: 700;
}

@media screen and (max-width: 767.9px) {
  .entry_info {
    width: min(500px, 96%);
    margin: 1.2rem auto 0;
  }

  .entry_info .entry_info_stt {
    margin-bottom: 0.3rem;
  }
}

.entry .btn-area {
  margin-top: 3rem;
}

.entry .btn-area_apply {
  width: fit-content;
}

.entry .btn-area_apply span {
  padding: 0.6em 2.3em 0.6em 1.5em;
}

.entry .btn-area_apply span::before {
  display: none;
}

.entry .btn-area_apply span::after {
  color: #fff;
  width: 6px;
  height: 6px;
  right: 1.5rem;
}

@media screen and (max-width: 767.9px) {
  .entry .btn-area {
    margin-top: 2.4em;
  }

  .entry .btn-area_apply span {
    font-size: clamp(14px, 4.4vw, 21px);
    padding: 0.8em 1.8em 0.8em 1em;
  }

  .entry .btn-area_apply span::after {
    right: 0.8rem;
  }
}

.bread-list {
  width: min(1020px, 100%);
  margin-inline: auto;
  padding: 0.6em 20px 0.6em 36px;
  font-size: 14px;
}

@media screen and (max-width: 767.9px) {
  .bread-list {
    width: 90%;
    margin-inline: auto;
    padding: 0.7em 0;
    font-size: 13px;
    letter-spacing: 0.05em;
  }
}

.mb1em {
  margin-bottom: 1em;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
}
