@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap");
body {
  color: #000;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: min(1.375vw, 20px);
  font-weight: 500; }
  @media screen and (max-width: 767px) {
    body {
      max-width: 750px;
      font-size: min(3vw, 16px);
      -webkit-text-size-adjust: 100%; }
      body .pc {
        display: none !important; } }
  @media screen and (min-width: 768px) {
    body a {
      transition: 0.3s; }
      body a:hover {
        opacity: 0.8; }
    body .sp {
      display: none !important; } }
  body a {
    text-decoration: none; }
  body img {
    width: 100%;
    height: auto; }

#confirm h1 {
  width: 100% !important;
  padding: 1em 0;
  background: #0b0732;
  color: #fff;
  font-size: 150%;
  font-weight: 700;
  text-align: center; }
#confirm table {
  width: 90%;
  margin: 3em auto 0 auto;
  font-size: 100%; }
  @media screen and (max-width: 767px) {
    #confirm table {
      width: 90%; } }
  #confirm table th {
    width: 35%;
    padding: 1.5em 1.5em 1.5em 0 !important;
    font-weight: 700;
    vertical-align: top !important; }
    @media screen and (max-width: 767px) {
      #confirm table th {
        display: block;
        width: 100%;
        margin: 3em 0 0 0;
        padding: 1.5em 0 0 0 !important; } }
    #confirm table th span {
      margin-left: 0.5em;
      padding: 0 1em;
      background: #cc0000;
      border-radius: 4px;
      color: #fff;
      font-size: 80%; }
  #confirm table td {
    width: 65%;
    padding: 1em 0; }
    @media screen and (max-width: 767px) {
      #confirm table td {
        display: block;
        width: 100%; } }
    #confirm table td input[type=text] {
      width: 100%;
      padding: 0.5em; }
      @media screen and (max-width: 767px) {
        #confirm table td input[type=text] {
          padding: 0.8em; } }
    #confirm table td input[type=checkbox] {
      margin: -0.3em 0.5em 0 0;
      transform: scale(1.2); }
    #confirm table td textarea {
      width: 100%;
      padding: 0.5em; }
      @media screen and (max-width: 767px) {
        #confirm table td textarea {
          padding: 0.8em; } }
#confirm .agree input[type=checkbox] {
  margin: -0.3em 0.5em 0 0;
  transform: scale(1.2); }
#confirm .form_btn {
  display: flex;
  justify-content: center;
  margin-top: 3em; }
  #confirm .form_btn input {
    width: 40%;
    margin: 0 1em;
    padding: 1em 0;
    border: 0;
    background: #0b0732;
    color: #fff;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      #confirm .form_btn input {
        padding: 1.2em 0;
        font-size: 120%; } }
    #confirm .form_btn input.back {
      background: #888 !important; }

.contents {
  width: 80%;
  max-width: 800px;
  margin: 0 auto; }
  .contents .lead {
    margin-top: 3em;
    text-align: center; }
    .contents .lead.thanks {
      margin-top: 5em;
      color: #0b0732;
      font-size: 140%;
      font-weight: 700;
      line-height: 1.8; }
  .contents .policy {
    margin-top: 2em;
    font-weight: 700;
    text-align: center; }
  .contents .agree {
    margin-top: 2em;
    padding: 0.5em;
    background: #f5f5f5;
    text-align: center; }

#contact table {
  width: 90%;
  margin: 0 auto;
  font-size: 100%; }
  @media screen and (max-width: 767px) {
    #contact table {
      width: 90%; } }
  #contact table th {
    width: 35%;
    padding: 1.5em 0 !important;
    font-weight: 700;
    vertical-align: top !important; }
    @media screen and (max-width: 767px) {
      #contact table th {
        display: block;
        width: 100%;
        margin: 3em 0 0 0;
        padding: 1.5em 0 0 0 !important; } }
    #contact table th span {
      margin-left: 0.5em;
      padding: 0 1em;
      background: #cc0000;
      border-radius: 4px;
      color: #fff;
      font-size: 80%; }
  #contact table td {
    width: 65%;
    padding: 1em 0; }
    @media screen and (max-width: 767px) {
      #contact table td {
        display: block;
        width: 100%; } }
    #contact table td input[type=text] {
      width: 100%;
      padding: 0.5em; }
      @media screen and (max-width: 767px) {
        #contact table td input[type=text] {
          padding: 0.8em; } }
    #contact table td input[type=checkbox] {
      margin: -0.3em 0.5em 0 0;
      transform: scale(1.2); }
    #contact table td textarea {
      width: 100%;
      padding: 0.5em; }
      @media screen and (max-width: 767px) {
        #contact table td textarea {
          padding: 0.8em; } }
#contact .agree input[type=checkbox] {
  margin: -0.3em 0.5em 0 0;
  transform: scale(1.2); }
#contact .form_btn {
  display: flex;
  justify-content: center;
  margin-top: 3em; }
  #contact .form_btn input {
    width: 40%;
    margin: 0 1em;
    padding: 1em 0;
    border: 0;
    background: #0b0732;
    color: #fff;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      #contact .form_btn input {
        padding: 1.2em 0;
        font-size: 120%; } }
    #contact .form_btn input.back {
      background: #888; }

#entry table {
  width: 90%;
  margin: 0 auto;
  font-size: 100%; }
  @media screen and (max-width: 767px) {
    #entry table {
      width: 90%; } }
  #entry table th {
    width: 35%;
    padding: 1.5em 0 !important;
    font-weight: 700;
    vertical-align: top !important; }
    @media screen and (max-width: 767px) {
      #entry table th {
        display: block;
        width: 100%;
        margin: 3em 0 0 0;
        padding: 1.5em 0 0 0 !important; } }
    #entry table th span {
      margin-left: 0.5em;
      padding: 0 1em;
      background: #cc0000;
      border-radius: 4px;
      color: #fff;
      font-size: 80%; }
  #entry table td {
    width: 65%;
    padding: 1em 0; }
    @media screen and (max-width: 767px) {
      #entry table td {
        display: block;
        width: 100%; } }
    #entry table td input[type=text] {
      width: 100%;
      padding: 0.5em; }
      @media screen and (max-width: 767px) {
        #entry table td input[type=text] {
          padding: 0.8em; } }
    #entry table td input[type=checkbox] {
      margin: -0.3em 0.5em 0 0;
      transform: scale(1.2); }
    #entry table td textarea {
      width: 100%;
      padding: 0.5em; }
      @media screen and (max-width: 767px) {
        #entry table td textarea {
          padding: 0.8em; } }
#entry .agree input[type=checkbox] {
  margin: -0.3em 0.5em 0 0;
  transform: scale(1.2); }
#entry .form_btn {
  display: flex;
  justify-content: center;
  margin-top: 3em; }
  #entry .form_btn input {
    width: 40%;
    margin: 0 1em;
    padding: 1em 0;
    border: 0;
    background: #0b0732;
    color: #fff;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      #entry .form_btn input {
        padding: 1.2em 0;
        font-size: 120%; } }
    #entry .form_btn input.back {
      background: #888; }

main .atn {
  font-size: 80%;
  padding-top: 0 !important; }

main .error {
  margin-top: 0.5em !important;
  padding: 0.2em;
  background: #FFE9E9;
  font-size: 90%;
  color: #cc0000 !important; }

footer {
  padding: 8em 0 2em 0;
  font-size: 80%;
  text-align: center; }
