@charset "UTF-8";
/* ===================================================================
CSS information

file name  : copy.css
author     : Abilive
style info : コピー
=================================================================== */
/**
DartSass用
@use "settings" as *;
@use "sass:math";
@use "sass:map";
@use "sass:color";
@use "sass:selector";
@use "sass:meta";
@use "sass:list";
@use "sass:string";
*/
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
.con_intro, .con_flow, .con_form, .con_thanks {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_intro, .con_flow, .con_form, .con_thanks {
    width: calc(1260 / 1440 * 100%);
    max-width: calc(1260px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_intro, .con_flow, .con_form, .con_thanks {
    max-width: calc(1260px * ((16 + 3) / 14));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) and (max-width: 1600px) {
  .con_intro, .con_flow, .con_form, .con_thanks {
    max-width: calc(1260px * ((16 + 2) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_intro, .con_flow, .con_form, .con_thanks {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_intro, .con_flow, .con_form, .con_thanks {
    width: calc(330 / 375 * 100%);
  }
}

@keyframes FadeIn {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes FadeUp {
  0% {
    transform: translateY(-200%);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.25);
  }
}
.grecaptcha-badge {
  z-index: 100 !important;
}

.con_flow dd ol li {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: calc(100% / 3);
  text-align: center;
  letter-spacing: .06em;
  line-height: 1.5;
}
@media only screen and (min-width: 1025px) {
  .con_flow dd ol li {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_flow dd ol li {
    font-size: 0.93rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_flow dd ol li {
    font-size: 0.86rem;
  }
}
.con_flow dd ol li > * {
  display: block;
}
.con_flow dd ol li::after {
  content: "";
  display: block;
  position: relative;
  z-index: 1;
  margin: 1em auto 0;
  width: 1em;
  height: 1em;
  border-radius: 100%;
  background: var(--color-gray04);
}
.con_flow dd ol li:not(:first-child):before {
  content: '';
  position: absolute;
  right: 50%;
  bottom: .4em;
  width: 100%;
  height: 1px;
  margin-top: -1px;
  background: var(--color-gray03);
}
.con_flow dd ol li[aria-current="step"]::after {
  transform: scale(1.3);
  background: var(--color-cv);
}
.con_flow dd ol li .txt_number {
  font-size: 200%;
  font-family: "Source Serif 4", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
}
.con_flow dd ol li .txt_label {
  margin-top: .8em;
}
@media only screen and (min-width: 1025px) {
  .con_flow.top {
    margin-top: calc(80 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_flow.top {
    margin-top: calc(80 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_flow.top {
    margin-top: calc(120 / 960 * 100%);
  }
}

.con_form {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_form {
    margin-top: calc(80 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_form {
    margin-top: calc(80 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_form {
    margin-top: calc(120 / 960 * 100%);
  }
}
@media only screen and (min-width: 1025px) {
  .con_form {
    width: calc(900 / 1440 * 100%);
    max-width: calc(900px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_form {
    max-width: calc(900px * ((16 + 3) / 14));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) and (max-width: 1600px) {
  .con_form {
    max-width: calc(900px * ((16 + 2) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_form {
    width: calc(1160 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_form {
    width: calc(355 / 375 * 100%);
  }
}
.con_form .must,
.con_form .error {
  color: #c41820;
}
.con_form form .tbl_basic tr th, .con_form form .tbl_basic tr td {
  padding: 1em;
  border-top: 1px solid var(--color-gray03);
  letter-spacing: .06em;
  line-height: 1.86;
  vertical-align: top;
  box-sizing: border-box;
}
@media only screen and (min-width: 1025px) {
  .con_form form .box_submit .btn {
    width: 280px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_form form .box_submit .btn {
    width: calc(350 / 880 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .box_submit .btn {
    width: 85%;
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .box_submit .btn:only-child {
    width: 85%;
  }
}
.con_form form .box_submit .btn button {
  appearance: none;
  position: relative;
  display: block;
  width: 100%;
  border: 1px solid var(--color-cv);
  padding: 1em;
  background: var(--color-cv);
  box-sizing: border-box;
  border-radius: 0;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 100%;
  letter-spacing: .06em;
  line-height: 1.86;
  font-family: inherit;
}
.mouse .con_form form .box_submit .btn button {
  -moz-transition: opacity 0.3s ease-in;
  -o-transition: opacity 0.3s ease-in;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.mouse .con_form form .box_submit .btn button:hover, .touch .con_form form .box_submit .btn button.touchstart {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
.touch .con_form form .box_submit .btn button {
  -webkit-tap-highlight-color: transparent;
}
.touch .con_form form .box_submit .btn button.touchend {
  -moz-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
.con_form form .box_submit .btn.back button {
  border-color: var(--color-gray03);
  background: var(--color-gray01);
  color: #010101;
}

@media only screen and (min-width: 1025px) {
  .con_thanks {
    margin-top: calc(80 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_thanks {
    margin-top: calc(80 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_thanks {
    margin-top: calc(120 / 960 * 100%);
  }
}
.con_thanks .st {
  letter-spacing: .06em;
  line-height: 1.86;
}
@media only screen and (min-width: 1025px) {
  .con_thanks .st {
    font-size: 1.57rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_thanks .st {
    font-size: 1.43rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_thanks .st {
    font-size: 1.29rem;
  }
}
@media only screen and (min-width: 768px) {
  .con_thanks .btn {
    max-width: 280px;
  }
}
@media only screen and (max-width: 767px) {
  .con_thanks .btn {
    width: 80%;
  }
}
.con_thanks .btn a {
  display: block;
  padding: 1em;
  background: var(--color-cv);
  box-sizing: border-box;
  text-decoration: none;
  text-align: center;
  color: #fff;
  letter-spacing: .06em;
  line-height: 1.5;
}
.mouse .con_thanks .btn a {
  -moz-transition: opacity 0.3s ease-in;
  -o-transition: opacity 0.3s ease-in;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.mouse .con_thanks .btn a:hover, .touch .con_thanks .btn a.touchstart {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
.touch .con_thanks .btn a {
  -webkit-tap-highlight-color: transparent;
}
.touch .con_thanks .btn a.touchend {
  -moz-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}

.con_intro .txt {
  letter-spacing: .06em;
  line-height: 1.86;
}
@media only screen and (min-width: 768px) {
  .con_intro .txt {
    text-align: center;
  }
}

@media only screen and (min-width: 768px) {
  .con_flow {
    max-width: 960px;
  }
}
.con_flow dt {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.con_flow dd ol {
  display: flex;
  justify-content: center;
}

.con_form .error {
  display: block;
}
.con_form .txt_must {
  margin-bottom: .5em;
  letter-spacing: .06em;
  line-height: 1.5;
}
.con_form .txt_must .must {
  margin-right: .5em;
}
.con_form .txt_check {
  letter-spacing: .06em;
  line-height: 1.86;
}
@media only screen and (min-width: 768px) {
  .con_form .txt_check {
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .con_form .txt_check + form {
    margin-top: calc(80 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_form .txt_check + form {
    margin-top: calc(120 / 880 * 100%);
  }
}
.con_form form label,
.con_form form input[type="checkbox"],
.con_form form input[type="radio"],
.con_form form input[type="file"],
.con_form form select,
.con_form form button {
  cursor: pointer;
  accent-color: var(--color-cv);
}
.con_form form .tbl_basic {
  width: 100%;
  border-bottom: 1px solid var(--color-gray03);
}
.con_form form .tbl_basic tr th, .con_form form .tbl_basic tr td {
  font-weight: normal;
  word-break: break-word;
  overflow-wrap: break-word;
}
@media only screen and (max-width: 767px) {
  .con_form form .tbl_basic tr th, .con_form form .tbl_basic tr td {
    display: block;
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .con_form form .tbl_basic tr th {
    width: 250px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_form form .tbl_basic tr th {
    width: 200px;
  }
}
.con_form form .tbl_basic tr th .must {
  font-size: 86%;
}
.con_form form .tbl_basic tr th .must span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.con_form form .tbl_basic tr th span:not(.label) {
  font-size: 86%;
}
.con_form form .tbl_basic tr th .label {
  display: block;
}
.con_form form .tbl_basic tr td {
  box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
  .con_form form .tbl_basic tr td {
    width: calc(100% - 230px);
  }
}
@media only screen and (min-width: 768px) {
  .con_form form .tbl_basic tr td .size_s {
    max-width: 240px;
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .tbl_basic tr td .size_s {
    max-width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .con_form form .tbl_basic tr td .size_m {
    max-width: 500px;
  }
}
.con_form form .tbl_basic tr td input[type="text"],
.con_form form .tbl_basic tr td input[type="email"],
.con_form form .tbl_basic tr td input[type="tel"],
.con_form form .tbl_basic tr td input[type="checkbox"],
.con_form form .tbl_basic tr td input[type="radio"],
.con_form form .tbl_basic tr td textarea,
.con_form form .tbl_basic tr td select {
  border: 1px solid var(--color-gray03);
  padding: .8em 1em;
  background: var(--color-gray01);
  border-radius: 0;
  box-sizing: border-box;
  font-size: inherit;
  font-family: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  outline: none;
}
.con_form form .tbl_basic tr td input[type="text"],
.con_form form .tbl_basic tr td input[type="email"],
.con_form form .tbl_basic tr td input[type="tel"],
.con_form form .tbl_basic tr td textarea,
.con_form form .tbl_basic tr td select {
  appearance: none;
  width: 100%;
}
.con_form form .tbl_basic tr td input[type="text"]::placeholder,
.con_form form .tbl_basic tr td input[type="email"]::placeholder,
.con_form form .tbl_basic tr td input[type="tel"]::placeholder,
.con_form form .tbl_basic tr td textarea::placeholder,
.con_form form .tbl_basic tr td select::placeholder {
  color: var(--color-gray03);
}
.con_form form .tbl_basic tr td input[type="checkbox"],
.con_form form .tbl_basic tr td input[type="radio"] {
  width: .9em;
  height: .9em;
}
.con_form form .tbl_basic tr td textarea {
  height: 12em;
  resize: vertical;
}
.con_form form .tbl_basic tr td.wrp_address > div:not(:first-child),
.con_form form .tbl_basic tr td.wrp_address > p:not(:first-child), .con_form form .tbl_basic tr td.wrp_email > div:not(:first-child),
.con_form form .tbl_basic tr td.wrp_email > p:not(:first-child) {
  margin-top: 1em;
}
.con_form form .tbl_basic tr td.wrp_address > div > *,
.con_form form .tbl_basic tr td.wrp_address > p > *, .con_form form .tbl_basic tr td.wrp_email > div > *,
.con_form form .tbl_basic tr td.wrp_email > p > * {
  display: block;
}
.con_form form .tbl_basic tr td.wrp_address > div p, .con_form form .tbl_basic tr td.wrp_email > div p {
  font-size: 86%;
  margin-bottom: .3em;
}
.con_form form .tbl_basic tr td.wrp_check ul {
  display: flex;
  flex-wrap: wrap;
}
.con_form form .tbl_basic tr td.wrp_check ul li label {
  display: flex;
  align-items: center;
  margin-right: 1.5em;
}
.con_form form .tbl_basic tr td.wrp_check ul li label input {
  margin-right: .5em;
}
.con_form form .tbl_basic tr td.wrp_select > div {
  position: relative;
}
.con_form form .tbl_basic tr td.wrp_select > div:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1em;
  margin: auto;
  transform: translate(0, -50%) rotate(45deg);
  z-index: 2;
  width: .5em;
  height: .5em;
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-color: var(--color-gray03);
  transition: transform 400ms ease;
}
.con_form form .tbl_basic tr td.wrp_select > div select {
  position: relative;
  z-index: 1;
  text-overflow: ellipsis;
  vertical-align: middle !important;
}
.con_form form .tbl_basic tr td.wrp_upload input {
  border: none;
  padding: 0;
}
@media only screen and (max-width: 767px) {
  .con_form form .tbl_basic tr tr {
    border-bottom: 1px solid var(--color-gray03);
  }
  .con_form form .tbl_basic tr th {
    padding-bottom: 0;
  }
  .con_form form .tbl_basic tr th:not(:first-child) {
    border-top: none;
  }
  .con_form form .tbl_basic tr td {
    border-top: none;
  }
}
.con_form form .box_submit {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.14rem;
}
@media only screen and (min-width: 768px) {
  .con_form form .box_submit {
    margin-top: calc(60 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .box_submit {
    margin-top: calc(90 / 880 * 100%);
  }
}
.con_form form .box_submit .agree_policy {
  display: flex;
  justify-content: center;
  width: 100%;
  line-height: 1;
  gap: 0.57rem;
}

.con_thanks .st {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .con_thanks .st {
    margin-bottom: calc(20 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_thanks .st {
    margin-bottom: calc(30 / 880 * 100%);
  }
}
.con_thanks .txt {
  letter-spacing: .06em;
  line-height: 1.86;
}
@media only screen and (min-width: 768px) {
  .con_thanks .txt {
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .con_thanks .btn {
    margin: calc(40 / 1260 * 100%) auto 0;
  }
}
@media only screen and (max-width: 767px) {
  .con_thanks .btn {
    margin: calc(60 / 880 * 100%) auto 0;
  }
}

@media only screen and (min-width: 768px) {
  #trip_ai_container {
    right: 80px !important;
  }
}
@media only screen and (max-width: 767px) {
  #trip_ai_container {
    bottom: 90px !important;
  }
}
