@charset "UTF-8";

/* ===================================================================
CSS information
 file name  :  style.css
 style info : LPスタイル
=================================================================== */
body {
  background-color: #f2f2f2;
  font-family:
    "Noto Sans JP", "BIZ UDPGothic", system-ui, "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo,
    "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-feature-settings: "palt";
}

.content {
  width: 750px;
  max-width: 100%;
  margin: 0 auto min(calc(190 / 750 * 100vw), 190px);
  background: #fff;
  -webkit-box-shadow: 0 0 min(calc(10 / 750 * 100vw), 10px)
    min(calc(2 / 750 * 100vw), 2px) #d6d6d6;
  -moz-box-shadow: 0 0 min(calc(10 / 750 * 100vw), 10px)
    min(calc(2 / 750 * 100vw), 2px) #d6d6d6;
  box-shadow: 0 0 min(calc(10 / 750 * 100vw), 10px)
    min(calc(2 / 750 * 100vw), 2px) #d6d6d6;
  color: #111111;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

/*==============
Section共通
==============*/

.sec_inner {
  padding: 0 min(calc(30 / 750 * 100vw), 30px);
  text-align: left;
}

.sec_title {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #324c79;
  color: #fff;
  font-size: min(calc(40 / 750 * 100vw), 40px);
  padding: min(calc(20 / 750 * 100vw), 20px);
  text-align: center;
  min-height: min(calc(160 / 750 * 100vw), 160px);
}

.sec_subtitle {
  font-size: min(calc(35 / 750 * 100vw), 35px);
  color: #0168b8;
  font-weight: bold;
  text-align: center;
}

.sec_subtitle .border {
  display: block;
  position: relative;
  font-size: min(calc(40 / 750 * 100vw), 40px);
}

.sec_subtitle .border::before,
.sec_subtitle .border::after {
  content: "";
  display: block;
  width: min(calc(170 / 750 * 100vw), 170px);
  height: 2px;
  background-color: #0168b8;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.sec_subtitle .border::before {
  left: 0;
}

.sec_subtitle .border::after {
  right: 0;
}

.sec_subtitle .marker {
  position: relative;
  z-index: 1;
  font-size: min(calc(40 / 750 * 100vw), 40px);
}

.sec_subtitle .marker::before {
  content: "";
  display: block;
  width: 105%;
  height: 10px;
  background-color: #fdff5e;
  position: absolute;
  left: -2.5%;
  bottom: -3px;
  z-index: -1;
}

.sec_subtitle .icon {
  display: inline-block;
  position: relative;
  padding-left: min(calc(70 / 750 * 100vw), 70px);
}

.sec_subtitle .icon::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: min(calc(60 / 750 * 100vw), 60px);
  height: min(calc(60 / 750 * 100vw), 60px);
  background-color: #0168b8;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.sec_subtitle .icon-train::before {
  background-image: url(../img/icon_train.webp);
}

.sec_subtitle .icon-bus::before {
  background-image: url(../img/icon_bus.webp);
}

.sec_subtitle .icon-car::before {
  background-image: url(../img/icon_car.webp);
}

.sec_text {
  font-size: min(calc(28 / 750 * 100vw), 28px);
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.sec_text small {
  font-size: min(calc(22 / 750 * 100vw), 22px);
}

.sec_text:not(:first-of-type) {
  margin-top: min(calc(23 / 750 * 100vw), 23px);
}

.sec_card {
  border: min(calc(2 / 750 * 100vw), 2px) solid #0168b8;
  background-color: #fff;
}

.sec_card:not(:first-of-type) {
  margin-top: min(calc(30 / 750 * 100vw), 30px);
}

.sec_card-heading {
  position: relative;
  color: #fff;
  background-color: #0168b8;
  font-size: min(calc(30 / 750 * 100vw), 30px);
  font-weight: bold;
}

.sec_card-detail {
  padding: min(calc(30 / 750 * 100vw), 30px) min(calc(30 / 750 * 100vw), 30px)
    min(calc(50 / 750 * 100vw), 50px);
  font-size: min(calc(28 / 750 * 100vw), 28px);
  line-height: 1.7;
}

.sec_card--flow .sec_card-heading {
  display: flex;
  align-items: center;
  padding: min(calc(15 / 750 * 100vw), 15px) min(calc(30 / 750 * 100vw), 30px)
    min(calc(15 / 750 * 100vw), 15px) min(calc(110 / 750 * 100vw), 110px);
  min-height: min(calc(100 / 750 * 100vw), 100px);
}

.sec_card--flow .sec_card-heading::before {
  position: absolute;
  left: min(calc(30 / 750 * 100vw), 30px);
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: attr(data-step);
  width: min(calc(60 / 750 * 100vw), 60px);
  height: min(calc(60 / 750 * 100vw), 60px);
  background-color: #fff;
  color: #0168b8;
  font-size: min(calc(40 / 750 * 100vw), 40px);
  text-align: center;
  border-radius: 50%;
}

.sec_card--flow .sec_card-detail {
  position: relative;
  padding: min(calc(20 / 750 * 100vw), 20px) min(calc(20 / 750 * 100vw), 20px)
    min(calc(30 / 750 * 100vw), 30px) min(calc(220 / 750 * 100vw), 220px);
}

.sec_card--flow .sec_card-detail::before {
  content: "";
  display: block;
  width: min(calc(160 / 750 * 100vw), 160px);
  height: min(calc(160 / 750 * 100vw), 160px);
  position: absolute;
  left: min(calc(30 / 750 * 100vw), 30px);
  top: min(calc(30 / 750 * 100vw), 30px);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0;
}

/* 1つ目 */
.sec_card--flow:nth-of-type(1) .sec_card-detail::before {
  background-image: url(../img/flow_img01.webp);
}

/* 2つ目 */
.sec_card--flow:nth-of-type(2) .sec_card-detail::before {
  background-image: url(../img/flow_img02.webp);
}

/* 3つ目 */
.sec_card--flow:nth-of-type(3) .sec_card-detail::before {
  background-image: url(../img/flow_img03.webp);
}

.sec_card--flow:not(:first-of-type) {
  margin-top: min(calc(40 / 750 * 100vw), 40px);
}

.sec_card--faq {
  cursor: pointer;
}

.sec_card--faq .sec_card-heading {
  display: flex;
  align-items: center;
  padding: min(calc(20 / 750 * 100vw), 20px) min(calc(80 / 750 * 100vw), 80px)
    min(calc(20 / 750 * 100vw), 20px) min(calc(110 / 750 * 100vw), 110px);
  line-height: 1.25;
  letter-spacing: 0.05em;
  min-height: min(calc(115 / 750 * 100vw), 115px);
}

.sec_card--faq .sec_card-heading::after {
  content: "";
  position: absolute;
  right: min(calc(30 / 750 * 100vw), 30px);
  top: 50%;
  transform: translateY(-50%);
  width: min(calc(12 / 750 * 100vw), 12px);
  height: min(calc(12 / 750 * 100vw), 12px);
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.3s;
}

.sec_card--faq.is-open .sec_card-heading::after {
  transform: translateY(-30%) rotate(-135deg);
}

.sec_card--faq .sec_card-heading::before {
  position: absolute;
  left: min(calc(30 / 750 * 100vw), 30px);
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "Q";
  width: min(calc(60 / 750 * 100vw), 60px);
  height: min(calc(60 / 750 * 100vw), 60px);
  background-color: #fff;
  color: #0168b8;
  font-size: min(calc(40 / 750 * 100vw), 40px);
  text-align: center;
  border-radius: 50%;
}

.sec_card--faq .sec_card-detail {
  display: none;
  position: relative;
  padding: min(calc(20 / 750 * 100vw), 20px) min(calc(20 / 750 * 100vw), 20px)
    min(calc(20 / 750 * 100vw), 20px) min(calc(110 / 750 * 100vw), 110px);
}

.sec_card--faq .sec_card-detail::before {
  position: absolute;
  left: min(calc(30 / 750 * 100vw), 30px);
  top: min(calc(30 / 750 * 100vw), 30px);
  display: block;
  content: "A";
  width: min(calc(60 / 750 * 100vw), 60px);
  height: min(calc(60 / 750 * 100vw), 60px);
  background-color: #0168b8;
  color: #fff;
  font-size: min(calc(40 / 750 * 100vw), 40px);
  text-align: center;
  border-radius: 50%;
  line-height: 1.5;
}

.sec_card--example .sec_card-heading {
  font-size: min(calc(50 / 750 * 100vw), 50px);
  text-align: center;
  padding: min(calc(23 / 750 * 100vw), 23px);
  line-height: 1;
}

.sec_card--example .sec_card-heading span {
  display: inline-block;
  background-color: #fff;
  border-radius: 4px;
  padding: min(calc(4 / 750 * 100vw), 4px) min(calc(20 / 750 * 100vw), 20px);
  font-size: min(calc(30 / 750 * 100vw), 30px);
  vertical-align: top;
  margin-left: min(calc(20 / 750 * 100vw), 20px);
}

.sec_card--example .sec_card-heading span strong {
  font-size: min(calc(45 / 750 * 100vw), 45px);
  font-weight: bold;
}

.sec_card--example:nth-of-type(odd) {
  border: min(calc(2 / 750 * 100vw), 2px) solid #e55a16;
}

.sec_card--example:nth-of-type(odd) .sec_card-heading {
  background-color: #e55a16;
}

.sec_card--example:nth-of-type(odd) .sec_card-heading span {
  color: #e55a16;
}

.sec_card--example:nth-of-type(even) {
  border: min(calc(2 / 750 * 100vw), 2px) solid #5c9722;
}

.sec_card--example:nth-of-type(even) .sec_card-heading {
  background-color: #5c9722;
}

.sec_card--example:nth-of-type(even) .sec_card-heading span {
  color: #5c9722;
}

.sec_card--alert {
  border: min(calc(2 / 750 * 100vw), 2px) solid #c93e08;
}

.sec_card--alert .sec_card-heading {
  text-align: center;
  background-color: #c93e08;
  padding: min(calc(10 / 750 * 100vw), 10px);
  font-size: min(calc(40 / 750 * 100vw), 40px);
}

.sec_card--alert .sec_card-detail {
  padding: min(calc(20 / 750 * 100vw), 20px) min(calc(30 / 750 * 100vw), 30px)
    min(calc(5 / 750 * 100vw), 5px);
}

.sec_table {
  width: 100%;
  border-collapse: collapse;
  margin-top: min(calc(30 / 750 * 100vw), 30px);
  background-color: #fff;
}

.sec_table th,
.sec_table td {
  border: min(calc(2 / 750 * 100vw), 2px) solid #0068b7;
  padding: min(calc(16 / 750 * 100vw), 16px);
  font-weight: bold;
  text-align: left;
  vertical-align: top;
}

.sec_table th {
  width: min(calc(160 / 750 * 100vw), 160px);
  text-align: center;
  vertical-align: middle;
  background-color: #0068b7;
  color: #fff;
  font-size: min(calc(30 / 750 * 100vw), 30px);
}

.sec_table td {
  font-size: min(calc(25 / 750 * 100vw), 25px);
  line-height: 1.6;
}

.sec_table tr:not(:last-child) th {
  border-bottom: min(calc(2 / 750 * 100vw), 2px) solid #fff;
}

.sec_list {
  margin-top: min(calc(25 / 750 * 100vw), 25px);
  font-size: min(calc(28 / 750 * 100vw), 28px);
}

.sec_item {
  position: relative;
  padding-left: min(calc(30 / 750 * 100vw), 30px);
}

.sec_item::before {
  content: "";
  position: absolute;
  left: 0;
  top: min(calc(10 / 750 * 100vw), 10px);
  width: min(calc(20 / 750 * 100vw), 20px);
  height: min(calc(20 / 750 * 100vw), 20px);
  background-color: #0068b7;
  border-radius: 50%;
  line-height: 1;
}

.sec_item:not(:first-of-type) {
  margin-top: min(calc(30 / 750 * 100vw), 30px);
}

/*==============
FV
==============*/

.fv {
  background-color: #f7fbff;
  padding: min(calc(30 / 750 * 100vw), 30px) min(calc(30 / 750 * 100vw), 30px)
    min(calc(30 / 750 * 100vw), 30px);
}

.fv_heading {
  font-size: min(calc(52 / 750 * 100vw), 52px);
  font-weight: bold;
  color: #111;
  margin-bottom: min(calc(13 / 750 * 100vw), 13px);
  border-left: min(calc(10 / 750 * 100vw), 10px) solid #0168b8;
  padding-left: min(calc(20 / 750 * 100vw), 20px);
  line-height: 1;
  letter-spacing: 0.05em;
}

.fv_heading rt {
  font-size: min(calc(18 / 750 * 100vw), 18px);
  font-weight: normal;
  letter-spacing: 0.001em;
  font-feature-settings: normal;
  ruby-align: start;
  margin-bottom: min(calc(10 / 750 * 100vw), 10px);
}

.fv_heading ruby:not(:first-of-type) rt {
  margin-top: min(calc(10 / 750 * 100vw), 10px);
}

.fv_address {
  position: relative;
  font-size: min(calc(25 / 750 * 100vw), 25px);
  padding-left: min(calc(30 / 750 * 100vw), 30px);
}

.fv_address::before {
  content: "";
  width: min(calc(21 / 750 * 100vw), 21px);
  height: min(calc(30 / 750 * 100vw), 30px);
  position: absolute;
  left: 0;
  bottom: 0;
  background-image: url(../img/icon_location.webp);
  background-size: cover;
  background-repeat: no-repeat;
}

.fv_image {
  margin-top: min(calc(30 / 750 * 100vw), 30px);
}

.fv_image img {
  width: 100%;
  height: auto;
}

.fv_image--uriwari {
  max-width: 380px;
  margin-left: auto;
  margin-right: auto;
}


.fv_subheading {
  margin-top: min(calc(35 / 750 * 100vw), 35px);
  font-size: min(calc(36 / 750 * 100vw), 36px);
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
}

.fv_subheading strong {
  color: #0168b8;
  font-size: min(calc(45 / 750 * 100vw), 45px);
}

/*==============
Info
==============*/

.info .sec_inner {
  background-color: #f7fbff;
  padding: min(calc(50 / 750 * 100vw), 50px) min(calc(30 / 750 * 100vw), 30px)
    min(calc(50 / 750 * 100vw), 50px);
}

/*==============
Flow
==============*/

.flow .sec_inner {
  background-color: #f8f6ee;
  padding: min(calc(50 / 750 * 100vw), 50px) min(calc(30 / 750 * 100vw), 30px) 0;
}

.flow .sec_subtitle {
  margin-top: min(calc(49 / 750 * 100vw), 49px);
}

.flow .cta_btn01 {
  width: 100%;
}

.flow .cta_btn01 .tel_btn_pc img {
  width: 100%;
}

.flow .cta_btn01 .tel_btn_pc .tel_num {
  font-size: min(calc(53 / 750 * 100vw), 53px);
}

.flow .sec_card-flow-wrap {
  margin-top: min(calc(30 / 750 * 100vw), 30px);
}

/*==============
Example
==============*/

.example .sec_inner {
  padding: min(calc(50 / 750 * 100vw), 50px) min(calc(30 / 750 * 100vw), 30px)
    min(calc(35 / 750 * 100vw), 35px);
}

.example .example_lead {
  text-align: center;
  font-size: min(calc(32 / 750 * 100vw), 32px);
  font-weight: bold;
  margin: min(calc(40 / 750 * 100vw), 40px) 0;
}

.example .example_lead strong {
  color: #0168b8;
  font-size: min(calc(36 / 750 * 100vw), 36px);
}

.example .example_totalPrice {
  text-align: center;
  padding: min(calc(5 / 750 * 100vw), 5px) 0 min(calc(25 / 750 * 100vw), 25px);
  font-size: min(calc(50 / 750 * 100vw), 50px);
  line-height: 1.1;
}

.example .sec_card--example:nth-of-type(odd) .example_totalPrice {
  background-color: #fff9f6;
}

.example .sec_card--example:nth-of-type(odd) .example_totalPrice strong {
  color: #e55a16;
}

.example .sec_card--example:nth-of-type(even) .example_totalPrice {
  background-color: #f6fff6;
}

.example .sec_card--example:nth-of-type(even) .example_totalPrice strong {
  color: #5c9722;
}

.example .example_totalPrice small {
  font-size: min(calc(36 / 750 * 100vw), 36px);
}

.example .example_totalPrice strong {
  font-size: min(calc(72 / 750 * 100vw), 72px);
}

.example .example_list {
  margin-top: min(calc(30 / 750 * 100vw), 30px);
}

.example .example_item {
  display: flex;
  font-size: min(calc(36 / 750 * 100vw), 36px);
  line-height: 1;
}

.example .example_item:not(:first-of-type) {
  margin-top: min(calc(20 / 750 * 100vw), 20px);
}

.example .example_tag {
  width: min(calc(120 / 750 * 100vw), 120px);
  background-color: #f3f3f3;
  display: flex;
  align-items: center;
  justify-content: center;
}

.example .example_image img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

.example .example_detail {
  width: min(calc(500 / 750 * 100vw), 500px);
  padding: min(calc(12 / 750 * 100vw), 12px) min(calc(30 / 750 * 100vw), 30px);
  font-weight: bold;
  line-height: 1.4;
}

.example .example_note {
  margin-top: min(calc(-30 / 750 * 100vw), -30px);
  text-align: right;
}

.example .example_note a {
  text-decoration: underline;
}

/* Example Slider */
.example-slider.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.example-slider .example-slider__item {
  padding: 0 min(calc(5 / 750 * 100vw), 5px);
  height: 100%;
}

.example-slider .slick-list {
  overflow: hidden;
}

.example-slider .slick-track {
  display: flex;
}

.example-slider .slick-slide {
  height: auto;
}

.example-slider .slick-slide > div {
  height: 100%;
}

.example-slider .sec_card--example {
  margin-top: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.example-slider .sec_card--example .sec_card-detail {
  padding-bottom: min(calc(30 / 750 * 100vw), 30px);
  flex: 1;
  display: flex;
  flex-direction: column;
}

.example-slider .slick-prev,
.example-slider .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: min(calc(50 / 750 * 100vw), 50px);
  height: min(calc(50 / 750 * 100vw), 50px);
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  z-index: 10;
  border: none;
  cursor: pointer;
  font-size: 0;
}

.example-slider .slick-prev {
  left: min(calc(15 / 750 * 100vw), 15px);
}

.example-slider .slick-next {
  right: min(calc(15 / 750 * 100vw), 15px);
}

.example-slider .slick-prev::before,
.example-slider .slick-next::before {
  content: "";
  display: block;
  width: min(calc(12 / 750 * 100vw), 12px);
  height: min(calc(12 / 750 * 100vw), 12px);
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  position: absolute;
  top: 50%;
}

.example-slider .slick-prev::before {
  transform: translate(-50%, -50%) rotate(135deg);
  left: 55%;
  top: 50%;
}

.example-slider .slick-next::before {
  transform: translate(50%, -50%) rotate(-45deg);
  right: 55%;
  top: 50%;
}

.example-slider .slick-prev:hover,
.example-slider .slick-next:hover {
  background-color: rgba(0, 0, 0, 0.6);
}

.example-slider .slick-prev:focus,
.example-slider .slick-next:focus {
  background-color: rgba(0, 0, 0, 0.4);
}

.example-slider .slick-prev.slick-disabled,
.example-slider .slick-next.slick-disabled {
  opacity: 0.3;
  cursor: default;
}

.example-slider .slick-dots {
  position: static;
  display: flex;
  justify-content: center;
  gap: min(calc(12 / 750 * 100vw), 12px);
  margin-top: min(calc(30 / 750 * 100vw), 30px);
  padding: 0;
  list-style: none;
}

.example-slider .slick-dots li {
  width: min(calc(14 / 750 * 100vw), 14px);
  height: min(calc(14 / 750 * 100vw), 14px);
}

.example-slider .slick-dots li button {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #ccc;
  border: none;
  font-size: 0;
  cursor: pointer;
  padding: 0;
}

.example-slider .slick-dots li.slick-active button {
  background-color: #0168b8;
}

/* スライダー内のカード色分け */
.example-slider .example-slider__item:nth-child(odd) .sec_card--example {
  border-color: #e55a16;
}

.example-slider .example-slider__item:nth-child(odd) .sec_card-heading {
  background-color: #e55a16;
}

.example-slider .example-slider__item:nth-child(odd) .sec_card-heading span {
  color: #e55a16;
}

.example-slider .example-slider__item:nth-child(odd) .example_totalPrice {
  background-color: #fff9f6;
}

.example-slider .example-slider__item:nth-child(odd) .example_totalPrice strong {
  color: #e55a16;
}

.example-slider .example-slider__item:nth-child(even) .sec_card--example {
  border-color: #5c9722;
}

.example-slider .example-slider__item:nth-child(even) .sec_card-heading {
  background-color: #5c9722;
}

.example-slider .example-slider__item:nth-child(even) .sec_card-heading span {
  color: #5c9722;
}

.example-slider .example-slider__item:nth-child(even) .example_totalPrice {
  background-color: #f6fff6;
}

.example-slider .example-slider__item:nth-child(even) .example_totalPrice strong {
  color: #5c9722;
}

/*==============
Feature
==============*/

.feature .sec_inner {
  padding: min(calc(40 / 750 * 100vw), 40px) min(calc(30 / 750 * 100vw), 30px)
    min(calc(95 / 750 * 100vw), 95px);
}

.feature .feature_box:not(:first-of-type) {
  margin-top: min(calc(60 / 750 * 100vw), 60px);
}

.feature .sec_subtitle {
  margin-bottom: min(calc(18 / 750 * 100vw), 18px);
  letter-spacing: 0.05em;
}

.feature .sec_text:not(:first-of-type) {
  margin-top: min(calc(45 / 750 * 100vw), 45px);
}

/*==============
Access
==============*/

.access .sec_inner {
  padding: min(calc(50 / 750 * 100vw), 50px) min(calc(30 / 750 * 100vw), 30px)
    min(calc(50 / 750 * 100vw), 50px);
}

.access .access_box:not(:first-of-type) {
  margin-top: min(calc(55 / 750 * 100vw), 55px);
}

/*==============
Faq
==============*/

.faq .sec_inner {
  padding: min(calc(35 / 750 * 100vw), 35px) min(calc(30 / 750 * 100vw), 30px) 0;
}

.js-faq-hidden .sec_card + .sec_card {
  margin-top: min(calc(40 / 750 * 100vw), 40px);
}

.js-faq-hidden .sec_card:first-child {
  margin-top: min(calc(40 / 750 * 100vw), 40px);
}

.faq_more {
  text-align: center;
  padding: min(calc(25 / 750 * 100vw), 25px) 0 0;
}

.faq_more-btn {
  position: relative;
  text-decoration: none;
  border-bottom: 2px solid #333;
  font-size: min(calc(28 / 750 * 100vw), 28px);
  padding-right: min(calc(30 / 750 * 100vw), 30px);
  padding-bottom: 2px;
}

.faq_more-btn::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: min(calc(10 / 750 * 100vw), 10px);
  height: min(calc(10 / 750 * 100vw), 10px);
  border-right: 3px solid #333;
  border-bottom: 3px solid #333;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.3s;
}

/*==============
CTA
==============*/
.cta {
  position: relative;
  background-color: #fff;
  padding: min(calc(50 / 750 * 100vw), 50px) 0 min(calc(30 / 750 * 100vw), 30px);
}

.cta-middle {
  background-color: #f8f6ee;
  padding: min(calc(50 / 750 * 100vw), 50px) 0 min(calc(50 / 750 * 100vw), 50px);
}

.cta_fukidashi {
  width: min(calc(643 / 750 * 100vw), 643px);
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.cta_btn01 {
  width: min(calc(736 / 750 * 100vw), 736px);
  position: relative;
}
.cta_btn01 button.openModal {
  pointer-events: auto;
}
@media screen and (min-width: 751px) {
  .cta_btn01 button.openModal {
    pointer-events: none;
  }
}

.modalArea {
  display: none;
  position: fixed;
  z-index: 100;
  /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 30, 0.9);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(690 / 750 * 100vw), 690px);
  background-color: #fff;
  border: #bc3437 solid min(calc(4 / 750 * 100vw), 4px);
  display: block;
}

.modalWrapper > h2 {
  color: #fff;
  background-color: #bc3437;
  font-size: min(calc(42 / 750 * 100vw), 42px);
  margin-bottom: min(calc(10 / 750 * 100vw), 10px);
  padding: min(calc(20 / 750 * 100vw), 10px) 0;
  text-align: center;
  z-index: 0;
}

.closeModal {
  position: absolute;
  top: max(-3.73vw, -28px);
  right: max(-2.53vw, -19px);
  cursor: pointer;
  background: #fff;
  width: min(calc(62 / 750 * 100vw), 62px);
  height: min(calc(62 / 750 * 100vw), 62px);
  border: #bc3437 solid min(calc(4 / 750 * 100vw), 4px);
  border-radius: 50%;
  color: #bc3437;
  font-size: min(calc(40 / 750 * 100vw), 40px);
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  filter: drop-shadow(
    min(0.53vw, 4px) min(0.53vw, 4px) min(1.07vw, 8px) rgb(17 17 17 / 0.29)
  );
}

.modalContents {
  display: flex;
  justify-content: center;
  width: 100%;
  flex-wrap: wrap;
}

.popup_fukidashi {
  position: relative;
  width: min(calc(578 / 750 * 100vw), 578px);
  text-align: center;
  margin: 0 auto min(calc(-25 / 750 * 100vw), -25px)
    min(calc(47 / 750 * 100vw), 47px);
  z-index: 2;
}

.popup_inner {
  background-color: #eee;
  margin-top: min(calc(20 / 750 * 100vw), 20px);
  padding: min(calc(20 / 750 * 100vw), 20px) 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.popup_tel01 {
  width: 100%;
  margin-bottom: min(calc(-5 / 750 * 100vw), -5px);
}

.popup_tel01 a {
  position: relative;
  display: block;
  width: min(calc(676 / 750 * 100vw), 676px);
  margin: 0 auto;
}

.popup_btn02,
.popup_btn03 {
  width: 50%;
}

.popup_txt01 {
  font-size: min(calc(30 / 750 * 100vw), 30px);
  font-weight: bold;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 751px) {
  .modalWrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: min(calc(60 / 750 * 100vw), 60px) 0;
    height: min(calc(580 / 750 * 100vw), 580px);
  }

  .modalContents {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .popup_fukidashi {
    margin-bottom: -40px;
  }

  .popup_tel01 a {
    pointer-events: none;
  }

  .tel_num {
    font-weight: 700;
    position: absolute;
    top: 50%;
    left: 56%;
    transform: translate(-50%, -50%);
    font-size: min(calc(60 / 750 * 100vw), 60px);
    color: #bc3437;
    white-space: nowrap;
  }

  .popup_tel01 a .tel_num {
    font-size: min(calc(56 / 750 * 100vw), 56px);
  }
}

.popup_btn02 img {
  width: min(calc(346 / 750 * 100vw), 346px);
}

.popup_btn03 img {
  width: min(calc(346 / 750 * 100vw), 346px);
}

/* 注意点モーダル */
.noteModalArea {
  display: none;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.noteModalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 30, 0.9);
}

.noteModalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(690 / 750 * 100vw), 690px);
  max-height: 90vh;
  background-color: #fff;
  border-radius: min(calc(10 / 750 * 100vw), 10px);
}

.noteModalBody {
  padding: min(calc(40 / 750 * 100vw), 40px) min(calc(40 / 750 * 100vw), 40px)
    min(calc(60 / 750 * 100vw), 60px);
  font-size: min(calc(26 / 750 * 100vw), 26px);
  line-height: 1.8;
  max-height: calc(90vh - min(calc(80 / 750 * 100vw), 80px));
  overflow-y: auto;
}

.noteModalContent {
  display: none;
}

.noteModalContent.is-active {
  display: block;
}

.noteModal_title {
  font-size: min(calc(30 / 750 * 100vw), 30px);
  font-weight: bold;
  text-align: center;
  margin-bottom: min(calc(20 / 750 * 100vw), 20px);
}

.noteModal_title span {
  display: inline-block;
  padding: min(calc(4 / 750 * 100vw), 4px) 0;
  width: min(calc(320 / 750 * 100vw), 320px);
  background-color: #f5f5f5;
}

.noteModal_subtitle {
  font-size: min(calc(28 / 750 * 100vw), 28px);
  font-weight: bold;
  text-align: center;
  margin-bottom: min(calc(10 / 750 * 100vw), 10px);
}

.noteModal_label {
  font-weight: bold;
  text-align: center;
  margin-bottom: min(calc(10 / 750 * 100vw), 10px);
}

.noteModal_includes {
  margin-bottom: min(calc(20 / 750 * 100vw), 20px);
}

.noteModal_notes {
  list-style: none;
  font-size: min(calc(22 / 750 * 100vw), 22px);
  line-height: 1.8;
}

.noteModal_notes li {
  margin-bottom: min(calc(4 / 750 * 100vw), 4px);
  padding-left: 1em;
  text-indent: -1em;
}

.noteModal_notes li::before {
  content: "※";
}

.noteModalClose {
  position: absolute;
  top: max(calc(-28 / 750 * 100vw), -28px);
  right: max(calc(-19 / 750 * 100vw), -19px);
  cursor: pointer;
  background: #fff;
  width: min(calc(62 / 750 * 100vw), 62px);
  height: min(calc(62 / 750 * 100vw), 62px);
  border: #333 solid min(calc(4 / 750 * 100vw), 4px);
  border-radius: 50%;
  color: #333;
  font-size: min(calc(40 / 750 * 100vw), 40px);
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
}

/*==============
map
==============*/
div#map {
  width: min(calc(690 / 750 * 100vw), 690px);
  height: min(calc(633 / 750 * 100vw), 633px);
  margin: min(calc(-18 / 750 * 100vw), -18px) auto
    min(calc(30 / 750 * 100vw), 30px);
}

/*==============
footer
==============*/
footer {
  background: #f2e6ca;
  padding: min(calc(30 / 750 * 100vw), 30px) 0 0;
  text-align: center;
}

footer .iconList {
  text-align: center;
}

footer .iconList {
  display: flex;
  justify-content: space-between;
  align-items: center;
  vertical-align: middle;
  width: min(calc(440 / 750 * 100vw), 440px);
  margin: 0 auto;
}

footer .iconList li:first-child img {
  width: min(calc(130 / 750 * 100vw), 130px);
  height: auto;
}

footer .iconList li:nth-child(2) img,
footer .iconList li:nth-child(3) img {
  width: min(calc(100 / 750 * 100vw), 100px);
  height: auto;
}

footer .blockR {
  display: flex;
  margin: min(calc(60 / 750 * 100vw), 60px) min(calc(20 / 750 * 100vw), 20px)
    min(calc(20 / 750 * 100vw), 20px);
  justify-content: center;
  padding: min(calc(38 / 750 * 100vw), 38px) 0 0;
  border-top: min(calc(1 / 750 * 100vw), 1px) solid #c0c0c0;
}

footer .blockR .img {
  margin-right: min(calc(20 / 750 * 100vw), 20px);
}

footer .blockR .img img {
  width: auto;
  height: min(calc(53 / 750 * 100vw), 53px);
}

footer .blockR .img img:first-child {
  padding-right: min(calc(5 / 750 * 100vw), 5px);
  width: min(calc(105 / 750 * 100vw), 105px);
  height: auto;
}

footer .blockR .img img:last-child {
  width: min(calc(105 / 750 * 100vw), 105px);
  height: auto;
}

footer .blockR .textBox {
  width: 65%;
  font-size: min(calc(21 / 750 * 100vw), 21px);
  margin-bottom: min(calc(12 / 750 * 100vw), 12px);
  line-height: 1.2;
  text-align: left;
}

footer .blockR .textBox a {
  padding-right: min(calc(35 / 750 * 100vw), 35px);
  background: url(../img/icon_external_link01.png) right center no-repeat;
  color: #2e4872;
  display: inline-block;
  margin-top: min(calc(15 / 750 * 100vw), 15px);
  background-size: min(calc(25 / 750 * 100vw), 25px);
}

footer .textBox a {
  padding-right: min(calc(20 / 750 * 100vw), 20px);
  background: url(../img/icon_external_link01.png) right center no-repeat;
  color: #2e4872;
}

footer .textBox {
  font-size: min(calc(21 / 750 * 100vw), 21px);
}

.copyright {
  width: 100%;
  background: #48433a;
  text-align: center;
  color: #fff;
  font-size: min(calc(12 / 750 * 100vw), 12px);
  padding: min(calc(5 / 750 * 100vw), 5px) 0;
  margin-top: min(calc(20 / 750 * 100vw), 20px);
}

.float_btn {
  position: sticky;
  bottom: 0;
  left: 50%;
  background: #f6faff;
  display: flex;
  justify-content: space-evenly;
  align-items: end;
  z-index: 99;
  width: min(calc(750 / 750 * 100vw), 750px);
  padding: min(calc(12 / 750 * 100vw), 12px) 0 0;
}

.f_tel_btn {
  width: min(calc(423 / 750 * 100vw), 423px);
}

.f_info_btn {
  width: min(calc(342 / 750 * 100vw), 342px);
}

@media screen and (min-width: 751px) {
  .float_btn {
    display: none;
  }
}
