html {
  font-size: 62.5%;
  background-color: #eee;
}

body {
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  color: #555;
  line-height: 1.8;
  width: 100%;
  max-width: 75rem;
  margin: 0 auto;
}

img {
  width: 100%;
}

header h1 {
  padding-block: 2em 3em;
  display: flex;
  align-items: center;
  justify-content: center;
}
header h1 a.logo {
  display: block;
  width: 14rem;
}
header.flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4em;
}
header.flex h1 {
  padding-block: 2em;
}
header.flex h1 a.logo {
  width: 11rem;
}
header.flex a.form_link {
  border: 1px solid #aaa;
  background-color: #fff;
  border-radius: 0.2em;
  padding: 0.9em 1.6em;
}

main .hisu {
  font-size: min(4vw, 1.1rem);
  color: #fff;
  background-color: rgb(208, 90, 90);
  padding: 0.2em 0.4em;
  border-radius: 0.2em;
  line-height: 1;
  margin-left: 1em;
}
main.form1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 80%;
  margin: 9% auto 18%;
  gap: 10vw;
}
main.form1 dl {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: min(12vw, 6rem);
}
main.form1 dl dt {
  width: 100%;
  text-align: center;
  font-size: min(5vw, 2rem);
  font-weight: 400;
  line-height: 1.6;
}
main.form1 dl dd {
  display: flex;
  flex-direction: column;
  gap: min(8vw, 5rem);
  font-size: min(5vw, 3rem);
}
main.form1 dl dd button {
  background-color: #fff;
  font-size: min(5vw, 3rem);
  text-align: center;
  border: 2px solid #ccc;
  border-radius: 0.6rem;
  width: 100%;
  padding-block: 2em;
}
main.form2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 80%;
  margin: 9% auto 18%;
  gap: 10vw;
}
main.form2 dl {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: min(12vw, 6rem);
}
main.form2 dl dt {
  width: 100%;
  text-align: center;
  font-size: min(5vw, 2rem);
  font-weight: 400;
  line-height: 1.6;
}
main.form2 dl dd {
  display: flex;
  flex-direction: column;
  gap: min(8vw, 5rem);
  font-size: min(5vw, 3rem);
}
main.form2 dl dd button {
  background-color: #fff;
  font-size: min(5vw, 3rem);
  text-align: center;
  border: 2px solid #ccc;
  border-radius: 0.6rem;
  width: 100%;
  padding-block: 2em;
}
main.form2 dl dd button.large {
  font-size: min(8vw, 5rem);
  color: #fff;
  padding-block: 3em;
}
main.form2 dl dd button.large.blue {
  position: relative;
  background-color: #60c0bd;
}
main.form2 dl dd button.large.blue::after {
  position: absolute;
  content: "";
  background-image: url(../img/transfer.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(57vw, 38rem);
  aspect-ratio: 411/239;
  top: 24%;
  left: 50%;
  transform: translateX(-50%);
}
main.form2 dl dd button.large.red {
  position: relative;
  background-color: #e5645a;
}
main.form2 dl dd button.large.red::after {
  position: absolute;
  content: "";
  background-image: url(../img/sightseeing.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(48vw, 30rem);
  aspect-ratio: 354/314;
  top: 16%;
  left: 50%;
  transform: translateX(-50%);
}
main.transfer form dl dd details[open] summary {
  border: 2px solid #60c0bd;
  background-color: #60c0bd;
  color: #fff;
}
main.transfer form dl dd details[open] summary.icon::before, main.transfer form dl dd details[open] summary.icon::after {
  display: none;
}
main.transfer form dl dd details summary {
  background-color: #fff;
  font-size: min(4vw, 3rem);
  text-align: center;
  border: 2px solid #ccc;
  border-radius: 0.6rem;
  width: 100%;
  padding-block: 1em;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
main.transfer form dl dd details summary .arrow {
  margin-inline: 0.4em;
}
main.transfer form dl dd details summary.route1, main.transfer form dl dd details summary.route2 {
  padding-block: unset;
}
main.transfer form dl dd details summary.route1 label, main.transfer form dl dd details summary.route2 label {
  background-color: unset;
  font-size: unset;
  text-align: center;
  border: unset;
  border-radius: unset;
  width: 100%;
  padding-block: 1em;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
main.transfer form dl dd details summary.route1::before, main.transfer form dl dd details summary.route2::before {
  position: absolute;
  content: "";
  background-image: url(../img/icon_airport.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(10vw, 7rem);
  aspect-ratio: 263/284;
  top: 50%;
  transform: translateY(-50%);
  left: 2%;
  z-index: 3;
}
main.transfer form dl dd details summary.route1::after, main.transfer form dl dd details summary.route2::after {
  position: absolute;
  content: "";
  background-image: url(../img/icon_hotel.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(10vw, 7rem);
  aspect-ratio: 263/284;
  top: 50%;
  transform: translateY(-50%);
  right: 2%;
}
main.transfer form dl dd details summary.route3::before {
  position: absolute;
  content: "";
  background-image: url(../img/icon_hotel.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(10vw, 7rem);
  aspect-ratio: 263/284;
  top: 50%;
  transform: translateY(-50%);
  left: 2%;
}
main.transfer form dl dd details summary.route3::after {
  position: absolute;
  content: "";
  background-image: url(../img/icon_usj.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(10vw, 7rem);
  aspect-ratio: 263/284;
  top: 50%;
  transform: translateY(-50%);
  right: 2%;
}
main.transfer form dl dd details summary.route4::before {
  position: absolute;
  content: "";
  background-image: url(../img/icon_hotel.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(10vw, 7rem);
  aspect-ratio: 263/284;
  top: 50%;
  transform: translateY(-50%);
  left: 2%;
}
main.transfer form dl dd details summary.route4::after {
  position: absolute;
  content: "";
  background-image: url(../img/icon_kaiyukan.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(10vw, 9rem);
  aspect-ratio: 263/284;
  top: 50%;
  transform: translateY(-50%);
  right: 2%;
}
main.transfer form dl dd details summary.route5 {
  padding-block: unset;
}
main.transfer form dl dd details summary.route5 label {
  background-color: unset;
  font-size: unset;
  text-align: center;
  border: unset;
  border-radius: unset;
  width: 100%;
  padding-block: 1em;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
main.transfer form dl dd details summary.route5::before {
  position: absolute;
  content: "";
  background-image: url(../img/icon_hotel.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(10vw, 7rem);
  aspect-ratio: 263/284;
  top: 50%;
  transform: translateY(-50%);
  left: 2%;
  z-index: 3;
}
main.transfer form dl dd details summary.route5::after {
  position: absolute;
  content: "";
  background-image: url(../img/icon_train.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(10vw, 7rem);
  aspect-ratio: 263/284;
  top: 50%;
  transform: translateY(-50%);
  right: 2%;
}
main.transfer form dl dd details summary.route6 {
  display: flex;
  justify-content: center;
  align-items: center;
}
main.transfer form dl dd details summary.route6::before {
  position: absolute;
  content: "";
  background-image: url(../img/icon_hotel.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(10vw, 7rem);
  aspect-ratio: 263/284;
  top: 50%;
  transform: translateY(-50%);
  left: 2%;
}
main.transfer form dl dd details summary.route6::after {
  position: absolute;
  content: "";
  background-image: url(../img/icon_kyoto.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(10vw, 7rem);
  aspect-ratio: 263/284;
  top: 50%;
  transform: translateY(-50%);
  right: 2%;
}
main.transfer form dl dd details summary.route6 p {
  line-height: 1.2;
}
main.transfer form dl dd details summary.route6 p small {
  font-size: 0.8em;
}
main.transfer form dl dd details .itinerary {
  display: flex;
  margin-top: 0.6em;
  gap: 3%;
}
main.transfer form dl dd input[type=radio] {
  display: none;
}
main.transfer form dl dd input[type=radio]:checked + label {
  background-color: #ffeb85;
}
main.transfer form dl dd label {
  background-color: #fff;
  font-size: min(4vw, 3rem);
  text-align: center;
  border: 2px solid #ccc;
  border-radius: 0.6rem;
  width: 100%;
  padding-block: 1em;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
main.sightseeing h2 {
  background-color: #e5645a;
}
main.sightseeing form dl dd input[type=radio] {
  display: none;
}
main.sightseeing form dl dd input[type=radio]:checked + label {
  background-color: #e5645a;
  color: #fff;
  border-color: #e5645a;
}
main.sightseeing form dl dd label {
  background-color: #fff;
  font-size: min(5vw, 3rem);
  text-align: center;
  border: 2px solid #ccc;
  border-radius: 0.6rem;
  width: 100%;
  padding-block: 1em;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
main.sightseeing form dl dd label.active {
  background-color: #e5645a;
  color: #fff;
  border-color: #e5645a;
}
main h2 {
  width: 70%;
  font-size: min(7vw, 4rem);
  background-color: #60c0bd;
  line-height: 1;
  padding: 0.4em 1.8em;
  border-radius: 999px;
  color: #fff;
  margin: 0 auto 1em;
  text-align: center;
}
main form {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 80%;
  margin: 9% auto 18%;
  gap: min(10vw, 7rem);
}
main form.sightseeing dl dd h3 {
  font-size: min(4vw, 1.6rem);
  font-weight: 700;
  margin-top: 1.4em;
}
main form.sightseeing dl dd .sample,
main form.sightseeing dl dd .box {
  padding: 1.4em 1.4em 0;
  font-size: min(4vw, 1.4rem);
  text-align: justify;
  line-height: 1.8;
}
main form.result dl {
  gap: min(3vw, 2rem);
}
main form.result dl dd {
  flex-direction: row;
  justify-content: center;
  align-items: flex-end;
  font-size: min(8vw, 5rem);
  line-height: 1;
  gap: 0;
}
main form.result dl dd small {
  font-size: 0.6em;
}
main form.result dl dd.car {
  flex-direction: column;
  align-items: center;
}
main form.result dl dd.car .caution {
  margin-block: 1em;
}
main form.result dl dd.car .img {
  width: 100%;
}
main form.form3 section {
  width: 100%;
  background-color: #fff;
  border-radius: 0.6rem;
  margin-top: 3em;
}
main form.form3 section h3 {
  font-size: 1.2em;
  text-align: center;
  background-color: #60c0bd;
  border-radius: 0.6rem 0.6rem 0 0;
  color: #fff;
  padding-block: 0.4em;
}
main form.form3 section .option_list {
  display: flex;
  flex-direction: column;
  width: 84%;
  margin: 8% auto;
  gap: min(9vw, 4rem);
}
main form.form3 section .option_list dl dt {
  text-align: left;
}
main form.form3 section .option_list dl dt strong {
  font-size: 1.2em;
}
main form.form3 section .option_list dl dt .explanation {
  display: block;
  font-size: min(4vw, 1.4rem);
}
main form.form3 section .option_list dl dd.radio {
  flex-direction: unset;
  flex-wrap: wrap;
  gap: min(6%, 4rem);
}
main form.form3 section .option_list dl dd.radio input[type=radio] {
  display: none;
}
main form.form3 section .option_list dl dd.radio input[type=radio]:checked + label {
  background-color: #60c0bd;
  border-color: #60c0bd;
  color: #fff;
}
main form.form3 section .option_list dl dd.radio label {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14%;
  white-space: nowrap;
  border: 2px solid #ccc;
  background-color: #fff;
  border-radius: 0.6rem;
  width: 47%;
  padding-block: 1em;
}
main form.form3 section .option_list dl dd.radio span {
  display: flex;
  margin-top: 1em;
}
main form.form3 section .option_list dl dd.radio span input {
  width: 30%;
  margin-left: 1em;
}
main form.form5 {
  gap: min(7vw, 3rem);
}
main form.form5 .return {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 2rem);
  background-color: #f5ecae;
  padding: 1.6em;
}
main form.form5 .return h4 {
  text-align: center;
  font-size: min(4vw, 2rem);
  line-height: 1.4;
}
main form.form5 dl {
  gap: min(2vw, 1rem);
}
main form.form5 dl dt {
  text-align: left;
}
main form.form5 dl dd {
  gap: unset;
}
main form.form5 dl dd .caution {
  margin-top: 0.6em;
}
main form.form5 dl dd.mobile_number {
  display: flex;
  gap: min(2vw, 1rem);
}
main form.form5 dl dd.mobile_number span {
  display: flex;
  white-space: nowrap;
  align-items: center;
  gap: 4%;
}
main form.form5 dl dd.mobile_number span .country_number {
  width: 30%;
}
main form.form5 dl dd.jikoku1, main form.form5 dl dd.jikoku2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.4em;
}
main form.form5 dl dd.jikoku1 select, main form.form5 dl dd.jikoku2 select {
  width: min(24vw, 9rem);
}
main form.form5 .caution_list {
  font-size: min(4vw, 1.4rem);
  display: flex;
  flex-wrap: wrap;
  gap: min(5vw, 3rem);
}
main form.form5 .caution_list li a {
  text-decoration: underline;
  color: rgb(61, 61, 198);
}
main form.form5 .caution_list li p {
  text-align: justify;
}
main form.form5 .caution_list li p.indent {
  text-indent: -0.5em;
  padding-left: 0.5em;
}
main form.form5 .p_policy {
  font-size: min(4vw, 1.4rem);
  width: 100%;
  border-top: 1px solid #aaa;
  padding-block: 1em;
  text-align: justify;
}
main form.form5 .p_policy a {
  color: rgb(62, 62, 221);
  text-decoration: underline;
}
main form dl {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: min(3vw, 2rem);
}
main form dl dt {
  width: 100%;
  text-align: center;
  font-size: min(5vw, 2rem);
  font-weight: 400;
  line-height: 1.6;
}
main form dl dd {
  display: flex;
  flex-direction: column;
  gap: min(8vw, 5rem);
  font-size: min(5vw, 2rem);
}
main form dl dd input[type=text], main form dl dd input[type=email], main form dl dd input[type=url], main form dl dd input[type=time] {
  background-color: #fff;
  border: 2px solid #ccc;
  border-radius: 0.6rem;
  padding: 0.4em 0.8em;
}
main form dl dd textarea {
  background-color: #fff;
  border: 2px solid #ccc;
  border-radius: 0.6rem;
  padding: 0.4em 0.8em;
}
main form dl dd select {
  background-color: #fff;
  font-size: min(5vw, 2rem);
  border: 2px solid #ccc;
  border-radius: 0.6rem;
  width: 100%;
  padding: 0.4em 0.8em;
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
}
main form dl dd button {
  background-color: #fff;
  font-size: min(5vw, 3rem);
  text-align: center;
  border: 2px solid #ccc;
  border-radius: 0.6rem;
  width: 100%;
  padding-block: 2em;
}
main form dl dd button.large {
  font-size: min(8vw, 5rem);
  color: #fff;
  padding-block: 3em;
}
main form dl dd button.large.blue {
  position: relative;
  background-color: #60c0bd;
}
main form dl dd button.large.blue::after {
  position: absolute;
  content: "";
  background-image: url(../img/transfer.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(57vw, 38rem);
  aspect-ratio: 411/239;
  top: 24%;
  left: 50%;
  transform: translateX(-50%);
}
main form dl dd button.large.red {
  position: relative;
  background-color: #e5645a;
}
main form dl dd button.large.red::after {
  position: absolute;
  content: "";
  background-image: url(../img/sightseeing.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: min(48vw, 30rem);
  aspect-ratio: 354/314;
  top: 16%;
  left: 50%;
  transform: translateX(-50%);
}
main form .caution {
  font-size: min(3.6vw, 1.4rem);
  line-height: 1.8;
  text-align: justify;
}
main .btn_list {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 4%;
}
main .btn_list .btn {
  display: block;
  font-size: min(5vw, 2.2rem);
  color: #fff;
  background-color: #60c0bd;
  width: min(36vw, 30rem);
  padding-block: 0.8em;
  border-radius: 999px;
  text-align: center;
}
main .btn_list .btn.btn_back {
  background-color: #888;
}
main.confirm form dl {
  border-bottom: 2px solid #ccc;
  gap: min(1vw, 1rem);
  padding-block: 0 1em;
}
main.confirm form dl dt {
  text-align: left;
}
main.confirm form dl dd.url {
  text-align: left;
  overflow-wrap: anywhere;
}
main.complete {
  width: 80%;
  margin: 9% auto 18%;
}
main.complete dl {
  margin-block: 2em 4em;
  background-color: #fff;
  text-align: center;
  padding-block: 1em;
}
main.complete dl dt {
  font-weight: 400;
}
main.complete dl dd {
  font-size: min(6vw, 3rem);
}
main.complete .card_payment p {
  text-align: center;
}
main.complete .card_payment a {
  font-size: min(6vw, 3rem);
  color: #fff;
  display: flex;
  background-color: #e5645a;
  border-radius: 4px;
  padding-block: 1em;
  margin-top: 0.8em;
  justify-content: center;
}
main.done {
  width: 80%;
  margin: 2% auto 18%;
}
main.done .img {
  width: 20vw;
  margin: 0 auto;
}
main.done h3 {
  text-align: center;
  font-size: min(8vw, 5rem);
  margin-block: 0.5em 2em;
}
main.done .fee {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-end;
  font-size: min(8vw, 5rem);
  line-height: 1;
  gap: 0;
}
main.done dl {
  margin-top: 4em;
  text-align: center;
}
main.done dl dt {
  font-weight: 400;
}
main.done dl dd {
  font-size: min(7vw, 5rem);
  line-height: 1;
}
main.company {
  width: 86%;
  margin: 0 auto 5em;
}
main.company h1 {
  font-size: min(5vw, 2.4rem);
  font-weight: 500;
  text-align: center;
  margin-bottom: 1em;
}
main.company dl {
  display: flex;
  flex-direction: column;
  font-size: min(4vw, 1.8rem);
  border-bottom: 1px #aaa solid;
}
main.company dl dt {
  width: 30%;
  font-weight: 500;
  padding-block: 0.4em;
  text-align: center;
  background-color: #ddd;
  width: 100%;
}
main.company dl dd {
  padding: 0.4em 0.8em 1.2em;
  width: 100%;
}
main.company dl.first {
  border-top: 1px #aaa solid;
}
main.privacy {
  width: 86%;
  margin: 0 auto 5em;
}
main.privacy ul .indent {
  text-indent: -1em;
  padding-left: 1em;
}
main.privacy p,
main.privacy ol,
main.privacy ul {
  font-size: min(4vw, 1.4rem);
  text-align: justify;
}
main.privacy ol,
main.privacy ul {
  font-size: min(4vw, 1.4rem);
  padding-left: 2em;
}
main.privacy ol {
  list-style: decimal;
}
main.privacy h1 {
  font-size: min(5vw, 2.4rem);
  font-weight: 500;
  text-align: center;
  margin-bottom: 1em;
}
main.privacy h2 {
  width: unset;
  font-size: min(4vw, 1.8rem);
  background-color: unset;
  line-height: 1.6;
  padding: unset;
  border-radius: unset;
  color: unset;
  margin: unset;
  text-align: left;
  font-weight: 500;
  margin-top: 1em;
}
main.agreement {
  width: 86%;
  margin: 0 auto 5em;
}
main.agreement span {
  font-weight: 600;
}
main.agreement p,
main.agreement ol {
  font-size: min(4vw, 1.4rem);
  text-align: justify;
}
main.agreement ol,
main.agreement ul {
  font-size: min(4vw, 1.4rem);
  padding-left: 2em;
}
main.agreement ol {
  list-style: decimal;
}
main.agreement h1 {
  font-size: min(5vw, 2.4rem);
  font-weight: 500;
  text-align: center;
  margin-bottom: 1em;
  letter-spacing: 0.2em;
}
main.agreement h2 {
  width: unset;
  font-size: min(4vw, 1.8rem);
  background-color: unset;
  line-height: 1.6;
  padding: unset;
  border-radius: unset;
  color: unset;
  margin: unset;
  text-align: left;
  font-weight: 500;
  margin-top: 1em;
}
main.transaction h1 {
  font-size: min(5vw, 2.4rem);
  font-weight: 500;
  text-align: center;
  margin-bottom: 1em;
  letter-spacing: 0.2em;
}
main.transaction table {
  background-color: #fff;
  width: 86%;
  margin: 0 auto 8%;
  border: 1px solid #ccc;
  font-size: 1.4rem;
}
main.transaction table tr {
  display: flex;
  flex-direction: column;
}
main.transaction table tr:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
main.transaction table tr th {
  background-color: #f5f5f5;
  border-bottom: 1px solid #ccc;
  width: 100%;
  padding: 0.5em 1em;
  text-align: left;
}
main.transaction table tr td {
  width: 100%;
  padding: 0.5em 1em;
  text-align: justify;
}
main.transaction table tr td.flex {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
main.transaction table tr td a {
  text-decoration: underline;
  color: rgb(38, 38, 189);
}

footer {
  background-color: #60c0bd;
  padding-block: 2em;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
footer .list {
  font-size: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em 10%;
  color: #fff;
  width: 90%;
  margin: 0 auto 3em;
}
footer small {
  text-align: center;
  font-size: 0.7em;
  color: #fff;
}

/*# sourceMappingURL=style.css.map */