@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;700&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1.8;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Sass Document */
html, body {
  font-size: 16px;
  font-weight: 400;
  font-family: "ten-mincho", "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, Georgia, メイリオ, Meiryo, serif;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  html, body {
    min-width: 1230px;
  }
}
@media screen and (max-width: 575px) {
  html, body {
    font-size: 14px;
    font-weight: 500;
  }
}

body.open {
  overflow: hidden;
}

.container-fluid {
  /* 画面幅の上限 */
  max-width: 1230px;
  margin-left: auto;
  margin-right: auto;
}
.container-fluid h1 {
  font-size: 1.875rem;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 1rem;
}
.container-fluid h1 span {
  display: block;
  font-size: 2.125rem;
}
.container-fluid h1 span strong {
  display: block;
  font-size: 3rem;
}
.container-fluid h1 span strong br {
  display: none;
}
.container-fluid h2 {
  font-size: 1.75rem;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}
.container-fluid h2::before {
  content: "■ ";
  color: #ccc;
}
.container-fluid h3 {
  position: relative;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
  padding-left: 1rem;
}
.container-fluid h3::before {
  content: "";
  position: absolute;
  left: 0;
  display: block;
  width: 5px;
  height: 100%;
  background-color: #ccc;
}
.container-fluid h4 {
  font-size: 1.375rem;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}
.container-fluid h5 {
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
}
.container-fluid table {
  border: 1px solid #ccc;
}
.container-fluid table th, .container-fluid table td {
  letter-spacing: 0.05em;
  border: 1px solid #ccc;
  padding: 1rem;
}
.container-fluid table th {
  white-space: nowrap;
  background-color: #eee;
}
.container-fluid table td {
  background-color: #fff;
}
.container-fluid table td br {
  display: none;
}
@media screen and (max-width: 767px) {
  .container-fluid h1 {
    font-size: 1.25rem;
  }
  .container-fluid h1 span {
    font-size: 1.375rem;
  }
  .container-fluid h1 span strong {
    font-size: 1.625rem;
  }
  .container-fluid h1 span strong br {
    display: block;
  }
  .container-fluid h2 {
    font-size: 1.5rem;
  }
  .container-fluid h3 {
    font-size: 1.375rem;
  }
  .container-fluid h4 {
    font-size: 1.25rem;
  }
  .container-fluid h5 {
    font-size: 1.125rem;
  }
}

a {
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
a:hover, a:active, a:focus {
  -webkit-transition: ALL 0.35s ease;
  transition: ALL 0.35s ease;
}

body:has(main#sanchomo) {
  background-color: #f5f4e9;
  padding: 3rem 0;
}
body:has(main#sanchomo) section {
  margin-bottom: 3rem;
  padding: 0 15px;
}
body:has(main#sanchomo) section .container-fluid {
  border-bottom: 5px dotted #ccc;
  padding-bottom: 3rem;
}
body:has(main#sanchomo) section .container-fluid p {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  body:has(main#sanchomo) section .container-fluid .table_wrap {
    overflow-x: scroll;
  }
  body:has(main#sanchomo) section .container-fluid .table_wrap table {
    min-width: 100vw;
  }
  body:has(main#sanchomo) section .container-fluid .table_wrap table td {
    white-space: nowrap;
  }
}
body:has(main#sanchomo) section .container-fluid ul {
  padding: 0;
}
body:has(main#sanchomo) section .container-fluid ul li {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
  line-height: 2;
}
body:has(main#sanchomo) section .container-fluid ul li::before {
  content: "・";
  display: block;
  line-height: 2;
}
body:has(main#sanchomo) section.top_mainvisual img {
  width: 100%;
  margin-bottom: 1rem;
}
body:has(main#sanchomo) section.top_mainvisual h1 + p {
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1rem;
}
body:has(main#sanchomo) section.top_mainvisual p {
  font-size: 1.125rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
body:has(main#sanchomo) section.top_mainvisual div.info p {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  color: red;
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  background-color: #fff;
  margin: 0 auto 2rem;
  padding: 2rem;
}
body:has(main#sanchomo) section.top_mainvisual div.info p span {
  display: block;
}
body:has(main#sanchomo) section.top_mainvisual div.info p u {
  font-weight: bold;
}
body:has(main#sanchomo) section.top_outline table {
  width: 100%;
}
body:has(main#sanchomo) section.top_outline table tr td br {
  display: block;
}
body:has(main#sanchomo) section.top_outline table tr td span {
  display: block;
}
body:has(main#sanchomo) section.top_schedule table {
  width: 100%;
}
body:has(main#sanchomo) section.top_schedule table td span {
  color: #000;
}
body:has(main#sanchomo) section.top_schedule table td:first-of-type {
  width: 30%;
}
body:has(main#sanchomo) section.top_schedule table td:last-of-type {
  width: 70%;
}
body:has(main#sanchomo) section.top_caution .container-fluid > p {
  line-height: 2;
  margin-bottom: 2rem;
}
body:has(main#sanchomo) section.top_caution .caution_list {
  margin-bottom: 3rem;
}
body:has(main#sanchomo) section.top_caution .caution_list ul li p {
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
body:has(main#sanchomo) section.top_caution .caution_list ul li::before {
  font-size: 1.125rem;
}
body:has(main#sanchomo) section.top_caution .caution_list:last-of-type {
  margin-bottom: 0;
}
body:has(main#sanchomo) section.top_ticket .container-fluid > p {
  margin-bottom: 2rem;
}
body:has(main#sanchomo) section.top_ticket .ticket_block p {
  line-height: 2;
}
body:has(main#sanchomo) section.top_ticket .ticket_block p:not(:last-child) {
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 1rem;
}
body:has(main#sanchomo) section.top_ticket .ticket_block:not(:last-of-type) {
  border-bottom: 1px solid #ccc;
  margin-bottom: 3rem;
  padding-bottom: 3rem;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner {
  margin-bottom: 2.5rem;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner ul li {
  font-weight: 500;
  letter-spacing: 0.05em;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner .table_wrap {
  margin-top: 1rem;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner .table_wrap h5 {
  margin-bottom: 0.5rem;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample {
  width: 100%;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample tr th, body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample tr td {
  text-align: center;
  vertical-align: middle;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample tr td p {
  font-size: 1rem;
  font-weight: 400;
  margin: 0;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample tr td br {
  display: none;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample tr td:first-of-type span {
  color: #000;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner .hagaki_sample {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner .hagaki_sample table {
  width: 65%;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner .hagaki_sample .hagaki_img {
  width: 35%;
  text-align: center;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner .hagaki_sample .hagaki_img a {
  display: inline-block;
  margin-bottom: 0.25rem;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner .hagaki_sample .hagaki_img a img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner .hagaki_sample .hagaki_img a:hover {
  opacity: 0.6;
}
body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner:last-of-type {
  margin-bottom: 0;
}
body:has(main#sanchomo) section.top_map .map_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3rem;
}
body:has(main#sanchomo) section.top_map .map_wrap .map_block .block_inner {
  margin-bottom: 2rem;
}
body:has(main#sanchomo) section.top_map .map_wrap .map_block .block_inner ul li {
  margin-bottom: 1rem;
}
body:has(main#sanchomo) section.top_map .map_wrap .map_block .block_inner ul li p {
  font-size: 1.125rem;
}
body:has(main#sanchomo) section.top_map .map_wrap .map_block .block_inner ul li::before {
  font-size: 1.25rem;
}
body:has(main#sanchomo) section.top_map .map_wrap .map_block .block_inner ul li:last-of-type {
  margin: 0;
}
body:has(main#sanchomo) section.top_map .map_wrap .map_block .block_inner:last-of-type {
  margin: 0;
}
body:has(main#sanchomo) section.top_map .map_wrap .map_img {
  max-width: 470px;
  height: 100%;
  margin-top: 3rem;
}
body:has(main#sanchomo) section.top_map .map_wrap .map_img a {
  display: block;
}
body:has(main#sanchomo) section.top_map .map_wrap .map_img a img {
  width: 100%;
  height: 100%;
}
body:has(main#sanchomo) section.top_map .map_wrap .map_img a:hover {
  opacity: 0.6;
}
body:has(main#sanchomo) section.top_map .map_wrap .map_img p {
  text-align: center;
  margin-top: 0.5rem;
}
body:has(main#sanchomo) section.top_btn .container-fluid > p {
  margin-bottom: 2rem;
}
body:has(main#sanchomo) section.top_btn .check_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1rem;
}
body:has(main#sanchomo) section.top_btn .check_area label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  cursor: pointer;
}
body:has(main#sanchomo) section.top_btn .check_area label input {
  width: 20px;
  height: 20px;
}
body:has(main#sanchomo) section.top_btn .btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
}
body:has(main#sanchomo) section.top_btn .btn_area a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 430px;
  height: 85px;
  color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  border-radius: 100px;
  border: 1px solid;
  text-decoration: none;
  background-color: #ccc;
  border-color: #ccc;
  cursor: none;
  pointer-events: none;
}
body:has(main#sanchomo) section.top_btn .btn_area a span {
  display: block;
  font-size: 1rem;
  font-weight: 500;
}
body:has(main#sanchomo) section.top_btn .btn_area p {
  color: red;
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  background-color: #fff;
  padding: 2rem;
}
body:has(main#sanchomo) section.top_btn .btn_area p span {
  display: block;
}
body:has(main#sanchomo) section.top_btn .btn_area p u {
  font-weight: bold;
}
body:has(main#sanchomo) section.top_btn:has(input:checked) .btn_area a {
  background-color: #f87c8f;
  border-color: #f87c8f;
  cursor: pointer;
  pointer-events: auto;
}
body:has(main#sanchomo) section.top_btn:has(input:checked) .btn_area a:hover {
  color: #f87c8f;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  body:has(main#sanchomo) section .container-fluid:not(:has(.table_wrap)) table tr th, body:has(main#sanchomo) section .container-fluid:not(:has(.table_wrap)) table tr td {
    display: block;
    border-top: none;
    border-left: none;
    border-right: none;
    text-align: left;
  }
  body:has(main#sanchomo) section .container-fluid:not(:has(.table_wrap)) table tr:last-of-type td {
    border-bottom: none;
  }
  body:has(main#sanchomo) section .container-fluid table tr td br {
    display: block;
  }
  body:has(main#sanchomo) section.top_mainvisual h1 + p {
    font-size: 1.125rem;
  }
  body:has(main#sanchomo) section.top_mainvisual div.info p {
    width: auto;
    text-align: left;
    padding: 1.5rem;
  }
  body:has(main#sanchomo) section.top_schedule table td span {
    display: block;
    text-align: right;
  }
  body:has(main#sanchomo) section.top_caution .caution_list ul li p span {
    display: inline;
  }
  body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table:not(body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample) tr th, body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table:not(body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample) tr td {
    display: block;
    border-top: none;
    border-left: none;
    border-right: none;
    text-align: left;
  }
  body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table:not(body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample) tr:last-of-type td {
    border-bottom: none;
  }
  body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample tr td p:first-of-type {
    margin-bottom: 1rem;
  }
  body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample tr td br {
    display: block;
  }
  body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample tr td:first-of-type {
    text-align: left;
  }
  body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample tr td:first-of-type span {
    display: block;
    width: 100%;
    font-weight: 500;
  }
  body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner table.invalid_sample tr td:first-of-type span:not(:first-of-type) {
    margin-top: 1rem;
  }
  body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner .hagaki_sample {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner .hagaki_sample table, body:has(main#sanchomo) section.top_ticket .ticket_block .block_inner .hagaki_sample .hagaki_img {
    width: 100%;
  }
  body:has(main#sanchomo) section.top_map .map_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  body:has(main#sanchomo) section.top_map .map_wrap .map_block {
    display: contents;
  }
  body:has(main#sanchomo) section.top_map .map_wrap .map_block h3 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin: 0;
  }
  body:has(main#sanchomo) section.top_map .map_wrap .map_block .block_inner {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin: 0;
  }
  body:has(main#sanchomo) section.top_map .map_wrap .map_block .block_inner ul li p {
    font-size: 1rem;
  }
  body:has(main#sanchomo) section.top_map .map_wrap .map_img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    max-width: 100%;
    width: 100%;
    margin: 0;
  }
  body:has(main#sanchomo) section.top_btn .check_area label {
    font-size: 1.375rem;
  }
  body:has(main#sanchomo) section.top_btn .btn_area p {
    text-align: left;
  }
  body:has(main#sanchomo) section.top_btn .btn_area p span {
    margin-bottom: 5px;
  }
}

body.result-page:has(main#sanchomo) h1 {
  margin-bottom: 0;
}
body.result-page:has(main#sanchomo) h1 span > span {
  display: inline-block;
  font-weight: bolder;
}
body.result-page:has(main#sanchomo) main#sanchomo {
  padding: 0 15px;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3.75rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area label {
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area label u {
  font-weight: bold;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area label + p {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 1.25rem;
  margin-bottom: 3rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area .code_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  list-style: none;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area .code_block input {
  max-width: 100px;
  width: 14.2857142857%;
  height: 100px;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 0;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area > p {
  font-size: 1rem;
  margin-top: 3rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area span {
  display: inline-block;
  color: red;
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 1rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .forget_area {
  text-align: center;
  margin-bottom: 5rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .forget_area a {
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.25rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .btn_area button {
  width: 430px;
  height: 85px;
  color: #fff;
  font-family: "ten-mincho", "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, Georgia, メイリオ, Meiryo, serif;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  border-radius: 100px;
  background-color: #f87c8f;
  border: 1px solid #f87c8f;
  cursor: pointer;
  pointer-events: auto;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .btn_area button:hover {
  color: #f87c8f;
  background-color: #fff;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .result_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1000px;
  width: 100%;
  height: 150px;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  background-color: #fff;
  border: 2px solid;
  margin: 0 auto 3rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .result_head + p {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 3rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .result_head {
  color: #F87C8F;
  border-color: #F87C8F;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .result_head + p {
  margin-bottom: 5rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block {
  list-style: none;
  max-width: 900px;
  margin: 0 auto 3rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block table {
  width: 100%;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block table tr th, body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block table tr td {
  font-size: 1.375rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block table tr th br, body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block table tr td br {
  display: block;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block table tr td {
  font-weight: 500;
  padding-left: 2rem;
  padding-right: 2rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block + p {
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  font-size: 1.375rem;
  line-height: 2;
  letter-spacing: 0.05em;
  margin: 0 auto 3rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block + p u {
  font-weight: bold;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) {
  padding-bottom: 10rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .result_head {
  color: #0000EE;
  border-color: #0000EE;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .result_head + p {
  margin-bottom: 2.3125rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block {
  margin-bottom: 3rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block p {
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  margin: 0 auto 3rem;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block div span, body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block div a {
  font-size: 1.5rem;
  font-weight: bold;
}
body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block + small {
  display: block;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area {
    margin-bottom: 2rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area label {
    font-size: 1.125rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area label + p {
    font-size: 1rem;
    margin-top: 0.5rem;
    margin-bottom: 2rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area .code_block {
    gap: 0.25rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area .code_block input {
    height: 60px;
    font-size: 2rem;
    padding: 0;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .input_area > p {
    line-height: 2;
    margin-top: 2rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .forget_area {
    margin-bottom: 2rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .forget_area a {
    font-size: 1.25rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .btn_area button {
    width: 90%;
    height: 75px;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid span.result_head {
    height: 100px;
    font-size: 2.125rem;
    margin-bottom: 1rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid span.result_head + p {
    font-size: 1.375rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .result_head + p {
    margin-bottom: 3rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block {
    margin-bottom: 2rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block table tr th, body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block table tr td {
    font-size: 1.125rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block table tr td {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.win_block) .win_block + p {
    font-size: 1.125rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) {
    padding-bottom: 3rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block p {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block div {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block div span, body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block div a {
    font-size: 1.25rem;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block div a {
    word-break: break-word;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid:has(.lose_block) .lose_block + small {
    font-size: 1rem;
    text-align: left;
  }
}
@media screen and (max-width: 575px) {
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .win_block {
    max-width: 100%;
  }
  body.result-page:has(main#sanchomo) main#sanchomo .container-fluid .lose_block div {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

section.input_wrap {
  width: 100%;
}
section.input_wrap .input_group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  border-bottom: 1px solid #CCCCCC;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
section.input_wrap .input_group:first-of-type {
  border-top: 1px solid #CCCCCC;
}
section.input_wrap .input_group .input_label {
  display: block;
  width: 13em;
  font-size: 1.125rem;
  margin: 0;
  padding: 0;
}
section.input_wrap .input_group .input_label span.required {
  font-size: 1rem;
  color: #FF6A06;
  margin-left: 2em;
}
section.input_wrap .input_group .input_content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
section.input_wrap .input_group .input_content span.error_message {
  font-size: 1rem;
  color: #ff6A06;
  display: inline-block;
  font-weight: 600;
  margin-top: 0.5em;
}
@media screen and (max-width: 767px) {
  section.input_wrap .input_group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  section.input_wrap .input_group .input_label {
    width: auto;
    margin-bottom: 1rem;
  }
}

.input_item {
  display: block;
  width: 100%;
  height: 3.5em;
  padding: 1em 0.75rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fdfdfd;
  background-clip: padding-box;
  border: 1px solid #CCCCCC;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  outline: none;
}
.input_item::-webkit-input-placeholder {
  color: #AAAAAA;
}
.input_item::-moz-placeholder {
  color: #AAAAAA;
}
.input_item:-ms-input-placeholder {
  color: #AAAAAA;
}
.input_item::-ms-input-placeholder {
  color: #AAAAAA;
}
.input_item::placeholder {
  color: #AAAAAA;
}
.input_item.inline_parts {
  display: inline-block;
  width: auto;
}
.input_item:disabled {
  background-color: #EBEBEB;
}
@media screen and (max-width: 767px) {
  .input_item {
    height: 2.5em;
    padding: 0.5em;
    font-size: 1rem;
  }
}

textarea.input_item {
  height: auto;
}

.submit_area {
  text-align: center;
  margin-top: 4.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.submit_area p {
  width: 100%;
  margin-bottom: 2.625rem;
}
.submit_area .original-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 430px;
  height: 85px;
  color: #fff;
  font-family: "ten-mincho", "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, Georgia, メイリオ, Meiryo, serif;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  border-radius: 100px;
  background-color: #f87c8f;
  border: 1px solid #f87c8f;
  cursor: pointer;
  pointer-events: auto;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
  text-decoration: none;
}
.submit_area .original-btn:hover {
  color: #f87c8f;
  background-color: #fff;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
@media screen and (max-width: 767px) {
  .submit_area .original-btn.btn-big {
    padding: 1rem;
  }
}

body.form-page:has(main#sanchomo) h1 {
  margin: 0;
}
body.form-page:has(main#sanchomo) h1 span > span {
  display: inline-block;
  font-weight: bolder;
}
@media screen and (max-width: 767px) {
  body.form-page:has(main#sanchomo) section.top_mainvisual {
    margin: 0;
  }
}
body.form-page:has(main#sanchomo) section.contactform_wrap {
  max-width: 100%;
  margin: 0;
  padding-bottom: 5rem;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid {
  border: none;
  padding: 0;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form {
  max-width: 950px;
  margin: 0 auto;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form .alert {
  color: #721c24;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 0.25rem;
  margin-bottom: 1rem;
  padding: 0.75rem 1.25rem;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form p {
  font-size: 1.375rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 0.5rem;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form p u {
  font-weight: bold;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form p + small {
  display: block;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 3.75rem;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form section.input_wrap {
  padding: 0;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form section.input_wrap .input_group .input_label {
  font-weight: bold;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form section.input_wrap .input_group input {
  font-family: "ten-mincho", "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, Georgia, メイリオ, Meiryo, serif;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form .submit_area {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form .submit_area button {
  font-family: "ten-mincho", "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, Georgia, メイリオ, Meiryo, serif;
  cursor: pointer;
}
body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form .submit_area a {
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  body.form-page:has(main#sanchomo) section.contactform_wrap {
    padding-top: 3rem;
    padding-bottom: 2rem;
  }
  body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form p {
    font-size: 1.125rem;
  }
  body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form section.input_wrap .input_group .input_label {
    font-size: 1.375rem;
    margin-bottom: 0.5rem;
  }
  body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form section.input_wrap .input_group input {
    font-size: 1.25rem;
  }
  body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form .submit_area button {
    width: 90%;
    height: 75px;
    font-size: 1.25rem;
    line-height: 1.7;
    padding: 0;
  }
  body.form-page:has(main#sanchomo) section.contactform_wrap .container-fluid form .submit_area a {
    font-size: 1.25rem;
  }
}
body.form-page:has(main#sanchomo) section.code_wrap span.code_block {
  display: block;
  width: 50%;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #fff;
  border: 2px solid;
  margin: 0 auto;
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  body.form-page:has(main#sanchomo) section.code_wrap {
    margin-top: 3rem;
  }
  body.form-page:has(main#sanchomo) section.code_wrap span.code_block {
    width: 90%;
  }
}/*# sourceMappingURL=style.css.map */