@charset "UTF-8";
@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap";
/* /////////////////////////////
      下層共通
///////////////////////////// */
/* /////////////////////////////
      下層ページ
///////////////////////////// */
/* 物件詳細ページ */
/* 総額2022万円分住まいづくり資金プレゼント! */
/* form */

.just {
  text-align: justify;
  text-justify: inter-character;
}

.gothic {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.header-logo {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 24px;
}

.navigation {
  width: 100%;
  background: #e6e6e6;
  color: #666;
}

.navigation_container {
  display: flex;
  gap: 6px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 20px;
}

.single {
  margin-top: 70px;
}

.section_title {
  font-size: 40px;
  text-align: center;
  line-height: 1;
  color: #000;
  letter-spacing: 0.1em;
}

.section_title__white {
  color: #fff;
}

.reserve_link {
  writing-mode: vertical-rl;
  position: fixed;
  top: 130px;
  right: 0;
  background: #000;
}
.reserve_link a {
  color: #fff;
  padding: 20px 10px;
  width: 100%;
  height: 100%;
  display: block;
  font-size: 20px;
  font-weight: bold;
}

.divideborder {
  max-width: 1200px;
  border-bottom: solid 0.5px #231815;
  margin: 64px auto 60px;
}

.mv {
  position: relative;
}
.mv_text-wrapper {
  color: #fff;
  text-shadow: 1px 1px 3px #231815, -1px -1px 3px #231815, -1px 1px 3px #231815, 1px -1px 3px #231815, 1px 0 3px #231815, -1px 0 3px #231815, 0 1px 3px #231815, 0 -1px 3px #231815;
  letter-spacing: 0.12em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  width: 100%;
}

.mv_head {
  font-size: 32px;
}
@media screen and (max-width: 768px) {
  .mv_head {
    font-size: clamp(16px, 4vw, 24px);
  }
}

.mv_desc {
  font-size: 20px;
  line-height: 42px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .mv_desc {
    font-size: clamp(12px, 3vw, 16px);
    margin-top: clamp(10px, 2vw, 20px);
    line-height: clamp(20px, 4vw, 30px);
  }
}

.mv_name {
  font-size: 50px;
  margin-top: clamp(70px, 9vw, 200px);
}
@media screen and (max-width: 768px) {
  .mv_name {
    font-size: clamp(25px, 5.2vw, 40px);
    margin-top: clamp(10px, 4vw, 100px);
    line-height: 1;
  }
}

.project_img-box {
  max-width: 440px;
  min-width: 200px;
  width: 55%;
  margin: 100px auto 80px;
}

.campaign-head_container {
  padding: 70px 0 50px;
}

.campaign-head_img-box01 {
  max-width: 880px;
  margin: 0 auto;
}

.campaign-head_box {
  display: flex;
  gap: 90px;
  max-width: 1232px;
  padding: 0 16px;
  margin: 30px auto 0;
  position: relative;
}
.campaign-head_box::before, .campaign-head_box::after {
  position: absolute;
  content: "";
  width: 62px;
  height: 2px;
  background: #000;
  bottom: -50px;
}
.campaign-head_box::before {
  transform: rotate(30deg);
  left: calc(50% - 26px);
}
.campaign-head_box::after {
  transform: rotate(-30deg);
  left: calc(50% + 26px);
}

.campaign-head_img-box02 {
  max-width: 580px;
  position: relative;
}
.campaign-head_img-box02::after {
  position: absolute;
  content: "";
  background: url(../img/top/campaign-plus.svg) no-repeat center/contain;
  width: 40px;
  height: 40px;
  right: -85px;
  bottom: 30px;
  transform: translateX(-50%);
}

.campaign-head_img-box03 {
  max-width: 532px;
}

.campaign-head_img-box04 {
  max-width: 760px;
  margin: 100px auto 0;
}

.campaign_link {
  font-size: 24px;
  color: #fff;
  background: #306437;
  max-width: 420px;
  width: 90%;
  text-align: center;
  margin: 0 auto;
  line-height: 1;
  letter-spacing: 0.12em;
}

.campaign-annotation_wrapper {
  margin: 40px auto;
  max-width: 1092px;
  padding: 0 16px;
}

.campaign-annotation_title {
  font-size: 14px;
}

.campaign-annotation_item {
  font-size: 14px;
  line-height: 2;
  position: relative;
}
.campaign-annotation_item::before {
  position: absolute;
  content: "";
}

.event {
  background: url(../img/top/event-bg.webp) no-repeat center/cover;
  box-sizing: border-box;
  padding: 70px 0 150px;
}

.event_list {
  display: flex;
  gap: 60px;
  margin-top: 80px;
}

.event_item {
  aspect-ratio: 570/250;
}

.event_img {
  object-fit: contain;
}

.location {
  text-align: center;
  padding-top: 100px;
}

.location_head {
  font-size: 36px;
}

.location_desc {
  font-size: 16px;
  line-height: 40px;
}

.location_img-wrapper {
  display: flex;
  margin-top: 60px;
}

.location_img-box:first-child {
  width: 66.6666666667%;
}
.location_img-box:nth-child(2) {
  width: 33.3333333333%;
}

.location_img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.quality_wrapper {
  padding: 70px 0 170px;
  position: relative;
}

.quality_bg-box {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
}

.quality_bg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.quality_inner {
  color: #fff;
}

.quality_head {
  font-size: 27px;
  margin-top: 70px;
}

.quality_desc {
  font-size: 16px;
  margin-top: 30px;
  line-height: 2.2;
}

.quality_list {
  display: flex;
  justify-content: center;
  gap: 45px;
  margin-top: 70px;
  flex-wrap: wrap;
}

.quality_item {
  background: url(../img/top/quality-bg.svg) no-repeat center/contain;
  width: 330px;
  height: 330px;
  padding-top: 50px;
  flex-shrink: 0;
  position: relative;
  counter-increment: title;
}
.quality_item::after {
  content: "0" counter(title);
  position: absolute;
  width: 80px;
  height: 80px;
  font-size: 80px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  letter-spacing: -0.05em;
}

.quality_list-head {
  font-size: 22px;
  letter-spacing: 0;
}
.quality_list-head span {
  font-size: 30px;
  display: block;
}

.quality_list-desc {
  font-size: 16px;
  margin-top: 8px;
  line-height: 32px;
  letter-spacing: 0;
}

.quality_list-annotation {
  font-size: 12px;
  margin-top: 4px;
}

.quality-merit_wrapper {
  margin-top: 70px;
  padding: 16px;
}

.quality-merit_inner {
  margin: 0 auto;
  border: 1px solid #000;
  max-width: 1200px;
  padding: 70px 16px 60px;
}

.quality-merit_head {
  font-size: 32px;
  margin: -108px auto 0;
  line-height: 1;
  width: fit-content;
  background: #fff;
  padding-right: 8px;
}
.quality-merit_head span {
  font-size: 60px;
}

.quality-merit_desc {
  font-size: 16px;
  margin-top: 50px;
  line-height: 40px;
}

.quality-merit_list {
  margin: 60px auto 0;
  display: flex;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  max-width: 1100px;
}

.quality-merit_item {
  width: 100%;
  max-width: 160px;
}

.quality-merit_num {
  font-size: 13px;
  width: 78px;
  height: 78px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  line-height: 1.2;
  color: #fff;
  background: #646464;
  border-radius: 999px;
  margin: 0 auto;
  padding-top: 16px;
}
.quality-merit_num span {
  font-size: 40px;
}

.quality-merit_img-box {
  width: 100%;
  height: 100px;
  margin: 10px auto 0;
}

.quality-merit_text {
  font-size: 17px;
  margin-top: 10px;
}

.quality-concept_img-box {
  max-width: 1232px;
  padding: 0 16px;
  width: 100%;
  margin: 80px auto 0;
}

.quality-concept_annotation {
  font-size: 12px;
  text-align: right;
  margin-top: 16px;
}

.free_content {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1200px;
  width: 100%;
}
.free_content img {
  display: block;
  height: auto;
  width: 70%;
  margin: 0 auto;
}
.free_content .wp-video {
  width: 100% !important;
}

.single_sc02 {
  padding: 20px 0 20px;
}
.single_sc02 .free_content {
  max-width: 570px;
}
.single_sc02 .plan_view {
  display: block;
  margin: 20px auto 100px;
}

.planview_swiper-container {
  position: relative;
}

.swiper {
  max-width: 400px;
}

.swiper__a,
.swiper__b {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-wrapper {
  height: auto;
}

.swiper-slide {
  padding-bottom: 50px;
}

.planview_swiper-img-box {
  max-height: 300px;
  overflow: hidden;
}

.swiper-slide img {
  width: 100%;
  height: 280px;
  object-fit: contain;
}

.test {
  position: relative;
}

.swiper-button-next,
.swiper-button-prev {
  color: #aaaaaa !important;
}

.swiper-button-prev {
  left: -30px;
}

.swiper-button-next {
  right: -30px;
}

.swiper-pagination-bullet {
  width: 30px !important;
  height: 4px !important;
  border-radius: 0px !important;
  background: #000 !important;
}

/*  ------ スワイパー終わり ------*/
.plan-detail {
  margin-bottom: 100px;
}
.plan-detail .bx-wrapper {
  padding: 30px 0 10px;
}

.plan_layout {
  max-width: 880px;
  width: 100%;
  margin: 40px auto 0px;
}

.plan-detail_head {
  align-items: center;
  background-color: #333;
  color: #fff;
  display: flex;
  justify-content: center;
  padding: 1em;
}
.plan-detail_head .type {
  align-items: flex-end;
  display: flex;
}
.plan-detail_head .type p {
  margin-right: 4px;
}
.plan-detail_head .type_item span {
  font-size: 32px;
  line-height: 1;
  margin-right: 4px;
}

.plan-detail_head02 {
  font-size: 24px;
}

.plan-detail_desc {
  font-size: 18px;
  text-align: center;
}

.plan-detail_txt {
  font-size: 14px;
  border-left: solid 1px #fff;
  margin-left: 30px;
  padding-left: 30px;
}
.plan-detail_txt .flex {
  justify-content: center;
}
.plan-detail_txt .site_area {
  margin-right: 10px;
}
.plan-detail_txt .price {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px;
  font-size: 15px;
}
.plan-detail_txt .price .price_item {
  font-size: 25px;
  margin: 0 6px;
  line-height: 1;
}

.plan_copy {
  display: flex;
  justify-content: center;
  text-align: justify;
  padding: 40px 0 0;
}
.plan_copy p:first-of-type {
  font-size: 23px;
  width: 28%;
}
.plan_copy p:nth-child(2) {
  width: 60%;
}

.plan_sidearea-img-box {
  max-width: 760px;
  aspect-ratio: 760/540;
  margin: 0 auto;
  margin-top: 70px;
}

.plan_coming-soon {
  max-width: 760px;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.plan-detail_table-wrapper {
  margin: 50px auto 0;
  max-width: 832px;
  padding: 0 16px;
}

.plan-detail_table {
  width: 100%;
  text-align: center;
}
.plan-detail_table tr:nth-child(2n+0) {
  background: #efefef;
}

.plan-detail_thead {
  background: #898989;
  color: #fff;
  font-size: 18px;
}

.plan-detail_th {
  border-right: 1px dashed #fff;
  width: 350px;
}
.plan-detail_th:first-child {
  width: 100px;
}
.plan-detail_th:last-child {
  border: none;
}

.plan-detail_th,
.plan-detail_td {
  padding: 12px;
}

.plan-detail_tbody tr {
  border-bottom: 1px solid #9e9e9f;
}

.plan-detail_td {
  font-size: 20px;
  border-right: 1px dashed #9e9e9f;
}
.plan-detail_td:first-child {
  font-size: 25px;
}
.plan-detail_td:last-child {
  border: none;
}

.equipment .ttl {
  background: #ccc;
  padding: 10px;
  text-align: center;
  margin-bottom: 2em;
}
.equipment ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.equipment li {
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
  margin-bottom: 30px;
  padding-bottom: 20px;
  width: calc((100% - 48px) / 4);
}
.equipment li:nth-child(5), .equipment li:nth-child(6), .equipment li:nth-child(7), .equipment li:nth-child(8) {
  margin-bottom: 0;
  padding-bottom: 0;
}
.equipment li:nth-child(n+5) {
  border: none;
}
.equipment li img {
  border: 1px solid #ccc;
  margin: 10px auto;
  width: 100%;
  height: 154px;
  object-fit: cover;
}
.equipment .jp_ttl {
  font-size: 12px;
}

.equipment_item {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
  max-width: 800px;
  width: 100%;
  margin: 70px auto 40px;
}
.equipment_item div {
  width: calc((100% - 30px) / 2);
}
.equipment_item p.ttl {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  text-align: center;
  width: 100%;
}
.equipment_item p.ttl::before {
  content: "";
  background: #000;
  height: 1px;
  flex-grow: 1;
}
.equipment_item p.ttl::after {
  content: "";
  background: #000;
  height: 1px;
  flex-grow: 1;
}
.equipment_item p span {
  align-items: center;
  display: flex;
  padding: 0 4px;
}
.equipment_item p span::after {
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  border: 1px solid;
  border-color: transparent transparent #565656 #565656;
  transform: rotate(-135deg);
}
.equipment_item p span::before {
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  border: 1px solid;
  border-color: transparent transparent #565656 #565656;
  transform: rotate(45deg);
}

.summary p {
  font-size: 14px;
  line-height: 1.6;
}

.link_banner-box {
  display: flex;
  justify-content: center;
  gap: 60px;
  max-width: 1232px;
  margin: 0 auto;
  padding: 0 16px;
}

.link_banner {
  box-sizing: border-box;
  max-width: 570px;
  width: 100%;
  height: 105px;
  position: relative;
}
.link_banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.link_banner:hover .link_banner-img {
  width: 110%;
  height: 110%;
  transition: 0.3s;
}

.link_banner__line {
  color: #fff;
  width: 100%;
  height: 100%;
  font-size: 30px;
  border: 1px solid #fff;
}

.link_banner__line,
.link_banner-img,
.link_banner-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.link_banner__line {
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border: 1px solid #fff;
  z-index: 1;
}

.link_banner-img {
  width: 100%;
  height: 100%;
  z-index: 0;
  object-fit: cover;
}

.link_banner-text {
  font-size: 30px;
  color: #fff;
  z-index: 2;
  width: 100%;
  text-align: center;
}

.cta-banner {
  display: flex;
  justify-content: center;
  align-items: center;
}

.cta-banner_img-box {
  width: 240px;
  height: 160px;
  flex-shrink: 0;
}

.cta-banner_text {
  border: 10px solid gray;
  width: 100%;
  height: 160px;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 520px;
  font-size: 20px;
}
.cta-banner_text span {
  flex-shrink: 0;
}

.cta-banner_right-arrow {
  position: relative;
  width: 150px;
  margin-left: 20px;
}
.cta-banner_right-arrow::after {
  position: absolute;
  display: block;
  content: "";
  max-width: 140px;
  width: 100%;
  height: 2px;
  background: red;
  top: 0;
}

.single-sc03 {
  background: #efefef;
  padding: 65px 0 75px;
}
.single-sc03 .single-sc03_inner {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 286px;
}
.single-sc03 h2 {
  font-size: 32px;
  text-align: center;
  line-height: 1;
  font-weight: bold;
}
.single-sc03 .single-sc03_text,
.single-sc03 .single-sc03_head,
.single-sc03 .single-sc03_desc,
.single-sc03 .single-sc03_btn {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}
.single-sc03 .single-sc03_text {
  background: #3e3a39;
  color: #efefef;
  height: 38px;
  line-height: 38px;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}
.single-sc03 .single-sc03_head {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
.single-sc03 .single-sc03_desc {
  font-size: 13px;
}
.single-sc03 .single-sc03_btn {
  display: flex;
  justify-content: flex-end;
  font-size: 12px;
}

.btn__right-arrow {
  position: relative;
  padding-right: 20px;
}
.btn__right-arrow::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 14px;
  height: 14px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}

.single_sc04 {
  background: #f2f2f2;
  padding: 80px 0 100px;
}
.single_sc04 .locstion_item {
  margin-top: 60px;
}
.single_sc04 .locstion_item img {
  width: 100%;
}
.single_sc04 .txt_area {
  box-sizing: border-box;
  padding: 40px 40px 40px 0;
}
.single_sc04 .txt_area p:first-of-type {
  font-size: 19px;
  margin-bottom: 20px;
}
.single_sc04 .txt_area p:last-of-type {
  font-size: 14px;
  text-align: justify;
  text-justify: inter-character;
}

.single-sc05 {
  padding: 100px 0 50px;
}
.single-sc05 .map_area {
  display: block;
  margin: 36px auto 0;
  max-width: 1200px;
  width: 100%;
}
.single-sc05 .single-sc05_sub-title {
  font-size: 24px;
  margin: 30px 0;
  letter-spacing: 0.1em;
}

.single-sc05_img-box {
  border-top: 1.5px solid #595757;
  border-bottom: 1.5px solid #595757;
  max-width: 800px;
  margin: 0 auto;
}

.single-sc05_lead {
  color: #fff;
  background: #646464;
  font-size: 24px;
}

.single-sc05_address {
  font-size: 34px;
  font-weight: bold;
}

.single-sc05_annotation {
  font-size: 16px;
}

.single_sc06 .access_route {
  display: block;
  margin: 30px auto;
  max-width: 830px;
  width: 100%;
  margin: 80px auto;
}
.single_sc06 .access_route-detail-wrapper {
  display: flex;
}
.single_sc06 .access_route-img-box {
  width: 31%;
}

.single_sc08 {
  padding: 50px 0;
}
.single_sc08 h2 {
  font-size: 32px;
  text-align: center;
  font-weight: bold;
}
.single_sc08 h2 span {
  display: block;
  font-size: 12px;
}
.single_sc08 p:first-of-type {
  font-size: 28px;
  margin: 40px auto;
}
.single_sc08 p:last-of-type {
  font-size: 19px;
}
.single_sc08 img {
  margin-top: 100px;
}

.locstion_list {
  margin-top: 60px;
}
.locstion_list li {
  margin-bottom: 30px;
  width: 32%;
}
.locstion_list p {
  color: #646464;
  font-size: 14px;
  line-height: 1.5;
  margin-top: 6px;
  letter-spacing: 0.1em;
}

.single_sc06.access {
  padding: 60px 0 0;
}
.single_sc06.access .access_desc {
  font-size: 11px;
  margin: 40px 0 0;
}

.bx-wrapper .bx-controls-direction a {
  background: rgba(0, 0, 0, 0.5);
}
.bx-wrapper .bx-controls-direction .bx-prev::after {
  content: "";
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color: transparent transparent #fff #fff;
  display: block;
  position: absolute;
  top: calc(50% - 7px);
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translate(-50%);
  margin: 0;
  left: 10px;
  transform: rotate(45deg);
}
.bx-wrapper .bx-controls-direction .bx-next::after {
  content: "";
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color: transparent transparent #fff #fff;
  display: block;
  position: absolute;
  top: calc(50% - 7px);
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translate(-50%);
  margin: 0;
  transform: rotate(-135deg);
  right: 10px;
}

.bx-next {
  right: 0;
}

* {
  box-sizing: border-box;
}

.cam_side_btn {
  position: fixed;
  bottom: 40px;
  right: 0;
  z-index: 10;
}
.cam_side_btn a {
  display: block;
  width: 110px;
}

.campaign {
  position: relative;
}
.campaign .mv {
  background: #e60012;
  color: #fff;
  position: relative;
  padding: 50px 0;
  text-align: center;
}
.campaign .txt01 {
  border-bottom: solid #fff 1px;
  display: inline-block;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 20px;
  margin: 20px auto 30px;
  padding: 20px 10px;
}
.campaign .txt02 {
  font-size: 32px;
  line-height: 1.2;
  margin-top: 30px;
  padding: 0 10px;
}
.campaign .txt02 img {
  max-width: 175px;
  width: 35%;
}

.campaign_logo {
  position: absolute;
  top: 20px;
  right: 20px;
  max-width: 250px;
  width: 30%;
}

.cam_img05 {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 340px;
  width: 20%;
}

.cam_img06 {
  position: absolute;
  top: 20px;
  right: 0;
  max-width: 265px;
  width: 20%;
}

.cam_img01 {
  display: block;
  margin: auto;
  max-width: 195px;
  margin-bottom: 30px;
  width: 100%;
}

.cam_img02 {
  display: block;
  margin: auto;
  max-width: 715px;
  width: 60%;
}

.cam_img04 {
  display: block;
  margin: auto;
  margin-bottom: 20px;
  max-width: 950px;
  width: 80%;
}

.cam_img08 {
  display: block;
  margin: auto;
  margin: 30px auto 10px;
  max-width: 710px;
  width: 90%;
}

.benefits {
  background: #e60012;
  position: relative;
  padding-bottom: 100px;
}
.benefits p {
  color: #fff;
  text-align: center;
}

.cam_tokuten {
  background: #e60012;
  padding-bottom: 50px;
}
.cam_tokuten ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 20px;
  margin: 40px auto 60px;
  max-width: 1170px;
  width: 100%;
}
.cam_tokuten li {
  width: 30%;
}

.cam_point_ttl {
  width: 95%;
}

.cam_tokuten_img {
  display: block;
  position: relative;
  margin: auto;
  max-width: 900px;
  width: 100%;
}

.benefits_item {
  position: absolute;
  bottom: 180px;
  left: 0;
}

.sumai_fair {
  background: url(../img/campaign/img10.png) no-repeat center/cover;
  padding: 100px 20px;
}

.sumai_fair_detail {
  margin: auto;
  max-width: 900px;
  width: 100%;
}
.sumai_fair_detail p {
  color: #05502b;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

.cam_img11 {
  display: block;
  margin: 0 auto 70px;
  max-width: 710px;
  width: 100%;
}

.cam_line {
  display: block;
  margin: 20px auto 40px;
  max-width: 780px;
  width: 100%;
}

.sumai_fair_img img {
  margin-bottom: 80px;
}

.sumai_dukuri {
  background: url(../img/campaign/img17.png) no-repeat center bottom/cover;
  padding: 80px 0;
  position: relative;
}

.cam_img15 {
  position: absolute;
  top: 130px;
  left: 0;
  max-width: 1300px;
  width: 95%;
}

.sumai_dukuri_detail {
  margin: auto;
  max-width: 900px;
  width: 100%;
}

.cam_line02 {
  max-width: 20px;
  width: 4%;
}

.sumai_dukuri_item {
  display: flex;
  flex-wrap: wrap;
  margin: 40px 10px 0 10px;
}
.sumai_dukuri_item p {
  box-sizing: border-box;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bold;
  padding: 10px;
}
.sumai_dukuri_item p:first-child {
  background: #898989;
  color: #fff;
  font-size: 14px;
  width: 25%;
}
.sumai_dukuri_item p:last-child {
  background: #fff;
  font-size: 10px;
  line-height: 1.4;
  width: 75%;
}

.sumai_info_item01 {
  background: #5d0033;
  color: #fff;
  margin-top: -40px;
  text-align: center;
  padding: 60px 20px 20px;
}

.sumai_info_detail {
  padding: 0 20px;
  margin: 40px auto;
  max-width: 850px;
  width: 100%;
}

.sumai_info_item02 {
  border-top: solid 1px #5d0033;
  border-bottom: solid 1px #5d0033;
  padding: 20px 20px 10px 20px;
  text-align: center;
  margin-bottom: 20px;
}

.cam_img23 {
  display: block;
  margin: 30px auto;
  max-width: 530px;
  width: 100%;
}

.cam_free {
  padding-right: 10px;
  width: 36px;
}

.cam_footer {
  margin-bottom: 0px;
  background: #b7af9c;
}
.cam_footer .foot_item .logo {
  padding-right: 0;
}

.foot_item {
  background: #e6e6e6;
  color: #666666;
}
.foot_item .flex {
  gap: 30px;
}

.tel {
  display: flex;
  align-items: center;
}

.campaign_form {
  background: url(../img/campaign/img10.png) no-repeat center/cover;
}

.cam_form {
  padding: 100px 20px;
  margin: auto;
  max-width: 740px;
  width: 100%;
}
.cam_form table {
  width: 100%;
}
.cam_form table th {
  padding: 10px 0;
  text-align: left;
  vertical-align: top;
  width: 200px;
}
.cam_form table td {
  padding: 10px 0;
  width: calc(100% - 220px);
}
.cam_form table input[type=text] {
  border: solid 1px;
  border-radius: 4px;
  width: 100%;
  height: 32px;
}
.cam_form table input[type=email] {
  border: solid 1px;
  border-radius: 4px;
  width: 100%;
  height: 32px;
}
.cam_form table textarea {
  border: solid 1px;
  border-radius: 4px;
  width: 100%;
  height: 120px;
}
.cam_form table input[type=radio] {
  margin: 0;
  vertical-align: baseline;
}
.cam_form .form_btn {
  display: flex;
  justify-content: center;
}
.cam_form .form_btn button {
  background: #000;
  color: #fff;
  text-align: center;
  height: 50px;
  line-height: 50px;
  margin: 20px 10px;
  transition: 0.3s;
  width: 150px;
}
.cam_form .form_btn button:hover {
  cursor: pointer;
  opacity: 0.6;
}

.form_ttl {
  font-size: 20px;
  font-weight: bold;
  margin: 20px auto;
}

.form_main {
  background: #e4e4e0;
  padding-bottom: 50px;
  padding-top: 200px;
  font-family: "Noto Sans JP", sans-serif;
}
.form_main h2 {
  line-height: 50px;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  width: 800px;
  background: #fff;
  margin: 0 auto 50px;
}

.form_mv {
  width: 700px;
  margin: 0 auto;
}
.form_mv img {
  width: 100%;
}

.form_wrapper {
  width: 800px;
  margin: 100px auto;
  font-family: "Noto Sans JP", sans-serif;
}
.form_wrapper .mw_wp_form_confirm .form_row {
  width: 800px;
  margin: 10px auto;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 1px solid #000;
  width: 800px;
  margin: 10px auto;
  height: 90px;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 1px solid #000;
}
.form_wrapper .mw_wp_form_confirm .confirm_hidden {
  display: none;
}

.form_row {
  display: flex;
  height: 100px;
}

.form_row.address {
  display: flex;
  height: auto;
  margin-bottom: 40px;
}
.form_row.address label {
  line-height: 30px;
}

.form_row.contents {
  display: flex;
  height: auto;
  margin-bottom: 20px;
}

.mw_wp_form_confirm .form_row.address {
  display: flex;
  height: 200px;
}
.mw_wp_form_confirm .form_row.contents {
  display: flex;
  height: 200px;
}
.mw_wp_form_confirm .form_row_tag {
  width: 70%;
  padding-top: 15px;
}
.mw_wp_form_confirm .form_row_tag__ttl {
  width: 20%;
  text-align: right;
  padding-right: 10px;
  padding-top: 0px;
}
.mw_wp_form_confirm .form_privacy {
  display: none;
}

.form_row_label {
  width: 30%;
  padding-top: 15px;
  box-sizing: border-box;
}
.form_row_label p {
  font-weight: 700;
}
.form_row_label .required {
  color: rgba(255, 0, 0, 0.807);
  padding-left: 10px;
}

.form_row_tag {
  width: 70%;
}
.form_row_tag select#plan_1 {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag select#time {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input#date {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag select#time_2 {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input#date_2 {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input#name {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input#kana {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input#company {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input#pref {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input#city {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input#number {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input#tel {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag select#age {
  width: 30%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input[type=email] {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag textarea {
  width: 90%;
  height: 200px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input[name="zipcode[data][0]"] {
  width: 100%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}
.form_row_tag input[name="zipcode[data][1]"] {
  width: 100%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}

.form_row.date {
  height: auto;
  margin-bottom: 40px;
}

.form_row_tag__time {
  margin-top: 15px;
}

.form_row_tag.family {
  width: 70%;
  display: flex;
  justify-content: start;
}

.form_row_tag__total {
  width: 30%;
}
.form_row_tag__total input {
  width: 100%;
  height: 50px;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
  border: none;
}
.form_row_tag__total select#total {
  width: 100%;
  height: 50px;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
  border: none;
}

.form_row_tag__zipcode {
  margin: 15px 0;
}

.form_row_tag__city {
  margin: 15px 0;
}

.form_row_tag__number {
  margin: 15px 0;
}

.form_row_tag__children {
  width: 30%;
}
.form_row_tag__children input {
  width: 100%;
  height: 50px;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
  border: none;
}
.form_row_tag__children select#children {
  width: 100%;
  height: 50px;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
  border: none;
}

.form_row_tag__ttl {
  width: 20%;
  text-align: right;
  padding-right: 10px;
  padding-top: 13px;
}

select#plan_2 {
  width: 90%;
  height: 50px;
  border: none;
  border-radius: 10px;
  background: #fff;
  padding-left: 10px;
}

.submit_area {
  width: 500px;
  margin: 20px auto;
  display: flex;
  justify-content: space-between;
}
.submit_area .btn_submit {
  width: 45%;
  border: 1px solid #147d42;
  background: #147d42;
  font-weight: bold;
  line-height: 50px;
  color: #fff;
  border-radius: 10px;
}
.submit_area .btn_submit:hover {
  border: 1px solid #147d42;
  background: #fff;
  color: #147d42;
  transition: 0.5s;
}
.submit_area .btn_submit.back {
  width: 45%;
  border: 1px solid #000;
  background: #000;
  font-weight: bold;
  line-height: 50px;
  color: #fff;
  border-radius: 10px;
}
.submit_area .btn_submit.back:hover {
  border: 1px solid #000;
  background: #fff;
  color: #000;
  transition: 0.5s;
}

.form_row.privacy {
  height: auto;
}

.form_privacy {
  width: 90%;
  height: 200px;
  overflow: scroll;
  background: #fff;
  border-radius: 10px;
  padding: 10px;
  box-sizing: border-box;
}

.p-ttl {
  color: #147d42;
  font-weight: 700;
  line-height: 2;
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 20px;
}

.call {
  width: 70%;
  line-height: 40px;
  display: block;
  margin: 30px auto;
  background: #147d42;
  border: 1px solid #fff;
  color: #fff;
  text-align: center;
  transition: 0.5s;
  cursor: pointer;
  font-weight: 700;
  border-radius: 10px;
}
.call:hover {
  background: #fff;
  color: #147d42;
  border: 1px solid #147d42;
  transition: 0.5s;
  cursor: pointer;
  font-weight: 700;
}

.cancel_modal {
  display: none;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
}

.cancel_modal_bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
}

.cancel_inner {
  background: #147d42;
  color: #fff;
  left: 50%;
  padding: 20px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 30%;
  font-size: 20px;
  font-weight: 700;
}

.close {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  color: #147d42;
  cursor: pointer;
  display: flex;
  font-size: 20px;
  justify-content: center;
  line-height: 30px;
  height: 30px;
  right: 20px;
  top: 20px;
  position: absolute;
  margin-left: auto;
  width: 30px;
}

.tel img {
  width: 50px;
  padding-right: 10px;
}

.sns {
  background: #333;
  padding: 80px 0 100px;
}

.sns_list {
  margin-top: 40px;
}

.sns_button {
  background: #fff;
  color: #000;
  max-width: 432px;
  margin: 50px auto 0;
  padding: 20px;
  font-size: 18px;
  position: relative;
}
.sns_button::before, .sns_button::after {
  content: "";
  width: 16px;
  height: 1px;
  display: inline-block;
  border-radius: 2px;
  background: #000;
  position: absolute;
  right: 16px;
  z-index: 3;
}
.sns_button::before {
  top: calc(50% - 6px);
  transform: rotate(-309deg);
}
.sns_button::after {
  top: calc(50% + 6px);
  transform: rotate(309deg);
}

.sns-youtube_list {
  display: flex;
  gap: 24px;
}

.sns-youtube_img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sns-instagram_wrap {
  margin-top: 100px;
}

.sns-instagram_list {
  display: flex;
  gap: 24px;
}

.sns-instagram_item {
  width: calc(100% - 96px);
}

@media screen and (max-width: 768px) {
  .single {
    margin-top: 0;
  }
  .section_title {
    font-size: 32px;
  }
  .campaign-head_container {
    padding: 40px 0;
  }
  .campaign-head_img-box01 {
    width: 90%;
  }
  .campaign-head_box {
    flex-direction: column;
    gap: 60px;
  }
  .campaign-head_box::before, .campaign-head_box::after {
    width: 30px;
    height: 1px;
    bottom: -50px;
  }
  .campaign-head_box::before {
    left: calc(50% - 13px);
  }
  .campaign-head_box::after {
    left: calc(50% + 13px);
  }
  .campaign-head_img-box02 {
    max-width: 580px;
    margin: 0 auto;
  }
  .campaign-head_img-box02::after {
    width: 40px;
    height: 40px;
    right: inherit;
    left: 50%;
    bottom: -60px;
    transform: translateX(-50%);
  }
  .campaign-head_img-box03 {
    max-width: 532px;
    margin: 0 auto;
  }
  .campaign-head_img-box04 {
    max-width: 760px;
    margin: 100px auto 0;
  }
  .campaign-head_img-box04 {
    width: 90%;
  }
  .campaign_link {
    font-size: 18px;
  }
  .project_img-box {
    margin: 50px auto 50px;
  }
  .event {
    padding: 40px 0 80px;
  }
  .event_list {
    gap: 30px;
    margin-top: 30px;
  }
  .location {
    padding: 40px 0 0;
  }
  .location_head {
    font-size: 24px;
  }
  .location_img-wrapper {
    margin-top: 40px;
    flex-direction: column;
  }
  .location_img-box:first-child {
    width: 100%;
  }
  .location_img-box:nth-child(2) {
    width: 100%;
    height: 250px;
    aspect-ratio: inherit;
  }
  .location_img {
    object-fit: cover;
  }
  .quality_head {
    margin-top: 40px;
  }
  .quality_list-head {
    font-size: 18px;
  }
  .quality_list-head span {
    font-size: 24px;
  }
  .quality_item::after {
    font-size: 50px;
  }
  .quality-merit_head {
    font-size: 24px;
  }
  .quality-merit_head span {
    font-size: 40px;
  }
  .quality-merit_item {
    max-width: 140px;
  }
  .quality-merit_text {
    font-size: 14px;
  }
  .quality-concept_img-box {
    margin: 30px auto 0;
  }
  .single_sc02 .plan_view {
    display: block;
    margin: 20px auto;
  }
  .plan-detail_head .type p{
    font-size: 26px;
  }
  .plan-detail_head .type p span{
    font-size: 40px;
    margin-right: 2px;
  }
  .plan-detail_txt .price .price_item {
  font-size: 32px;
  margin: 0 6px 0 0;
}
  .plan-detail_txt {
    display: block;
    /* font-size: 16px; */
  }
  .plan-detail_txt .type {
    justify-content: center;
  }
  .plan-detail_txt {
    border-left: none;
    border-top: solid 1px #fff;
    padding-left: 0;
    margin-left: 0;
    padding-top: 10px;
    margin-top: 10px;
  }
  .plan-detail_txt .flex {
    justify-content: flex-start;
  }
  .plan-detail_txt .price span:first-of-type {
    display: block;
    width: 100%;
  }
  .plan_copy {
    gap: 20px;
  }
  .plan_copy p:first-of-type {
    display: block;
    width: 100%;
  }
  .plan_copy p:nth-child(2) {
    width: 100%;
  }
  .plan-detail {
    margin-bottom: 60px;
  }
  .plan_layout {
    margin: 20px auto 0px;
  }
  .plan-detail_head {
    font-size: 18px;
    display: block;
  }
  .plan-detail_table-wrapper {
    margin: 30px auto 0;
  }
  .plan-detail_thead {
    font-size: 14px;
  }
  .plan-detail_th,
  .plan-detail_td {
    padding: 8px;
  }
  .plan-detail_td {
    font-size: 14px;
  }
  .plan-detail_td:first-child {
    font-size: 20px;
  }
  .swiper {
    max-width: 300px;
  }
  .equipment li {
    border-bottom: none;
    font-size: 12px;
    padding: 0;
    width: 49%;
  }
  .equipment_item {
    margin-bottom: 0;
  }
  .equipment_item div {
    box-sizing: border-box;
    margin-bottom: 0;
    width: 100%;
  }
  .equipment_item p {
    box-sizing: border-box;
    margin-bottom: 10px;
    width: 100%;
  }
  .locstion_item .w-50 {
    width: 100%;
  }
  .single_sc06 .w-50 {
    width: 100%;
  }
  .single_sc06 .access_route {
    margin: 40px auto;
  }
  .single-sc03 .single-sc03_inner {
    max-width: inherit;
    padding: 0 20px;
  }
  .single_sc04 {
    padding: 40px 0 40px;
  }
  .single_sc04 .locstion_item {
    margin-top: 20px;
  }
  .single_sc04 .txt_area {
    padding: 20px 0;
  }
  .single-sc05 {
    padding: 40px 0;
  }
  .locstion_list {
    margin-top: 40px;
  }
  .locstion_list li {
    margin-bottom: 20px;
    width: 48%;
  }
  .locstion_list p {
    font-size: 12px;
  }
  .single-sc05_sub-title {
    text-align: center;
    font-size: 19px;
  }
  .single-sc05_lead {
    font-size: 20px;
  }
  .single-sc05_address {
    font-size: 28px;
    font-weight: bold;
  }
  .single-sc05_annotation {
    font-size: 16px;
  }
  .single_sc06.access {
    padding: 40px 0;
  }
  .single_sc08 p:first-of-type {
    font-size: 1.2em;
    margin: 20px auto;
  }
  .single_sc08 p:last-of-type {
    font-size: 15px;
  }
  .single_sc08 img {
    margin-top: 50px;
  }
  .campaign {
    margin-top: 0;
  }
  .campaign .txt01 {
    font-size: 15px;
    margin: 0px auto 30px;
    padding: 16px 4px;
  }
  .campaign .txt02 {
    font-size: 26px;
  }
  .campaign .txt02 img {
    width: 30%;
  }
  .cam_side_btn a {
    width: 60px;
  }
  .cam_tokuten li {
    margin: 0 auto 20px;
    width: 60%;
  }
  .cam_tokuten ul {
    margin-bottom: 0;
  }
  .benefits {
    padding-bottom: 50px;
  }
  .sumai_fair {
    padding: 50px 20px 10px;
  }
  .cam_img11 {
    margin: 0 auto 30px;
    width: 90%;
  }
  .cam_line02 {
    width: 2%;
  }
  .sumai_dukuri_item p:first-child {
    width: 100%;
  }
  .sumai_dukuri_item p:last-child {
    width: 100%;
  }
  .benefits_item {
    bottom: 100px;
  }
  .sumai_fair_img img {
    margin-bottom: 40px;
  }
  .sumai_info_detail .w-32 {
    margin: 20px auto;
    width: 60%;
  }
  .sumai_info_detail .w-65 {
    margin: auto;
    width: 80%;
  }
  .cam_form {
    padding: 40px 20px;
  }
  .cam_form table th {
    display: block;
    padding: 0;
    width: 100%;
  }
  .cam_form table td {
    display: block;
    padding: 0;
    width: 100%;
    padding-bottom: 20px;
  }
  .form_main {
    padding-top: 50px;
  }
  .form_main h2 {
    line-height: 50px;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    width: 90%;
    background: #fff;
    margin: 0 auto 50px;
  }
  .form_mv {
    width: 90%;
    margin: 50px auto 50px;
  }
  .form_mv img {
    width: 100%;
  }
  .form_wrapper {
    width: 90%;
    margin: 50px auto 20px;
  }
  .form_wrapper .mw_wp_form_confirm .form_row {
    width: 100%;
    margin: 10px auto;
    font-family: "Noto Sans JP", sans-serif;
    border-bottom: 1px solid #000;
    width: 100%;
    margin: 10px auto;
    height: auto;
    font-family: "Noto Sans JP", sans-serif;
    border-bottom: 1px solid #000;
    padding-bottom: 10px;
  }
  .form_row {
    width: 100%;
    display: flex;
    height: auto;
    flex-wrap: wrap;
  }
  .form_row_label {
    width: 100%;
    padding-top: 15px;
    box-sizing: border-box;
    width: 100%;
    padding-top: 15px;
    box-sizing: border-box;
    padding-bottom: 15px;
  }
  .form_row_label p {
    font-weight: 700;
  }
  .form_row_label .required {
    color: rgba(255, 0, 0, 0.807);
    padding-left: 10px;
  }
  .form_row_tag {
    width: 100%;
    width: 100%;
  }
  .form_row_tag select#plan_1 {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag select#time {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input#date {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag select#time_2 {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input#date_2 {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input#name {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input#kana {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input#company {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input#pref {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input#city {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input#number {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input#tel {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag select#age {
    width: 30%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input[type=email] {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag textarea {
    width: 100%;
    height: 200px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input[name="zipcode[data][0]"] {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_row_tag input[name="zipcode[data][1]"] {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .submit_area {
    width: 90%;
    margin: 20px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .submit_area .btn_submit {
    width: 45%;
    border: 1px solid #147d42;
    background: #147d42;
    font-weight: bold;
    line-height: 50px;
    color: #fff;
    border-radius: 10px;
  }
  .submit_area .btn_submit:hover {
    border: 1px solid #147d42;
    background: #fff;
    color: #147d42;
    transition: 0.5s;
  }
  .submit_area .btn_submit.back {
    width: 45%;
    border: 1px solid #000;
    background: #000;
    font-weight: bold;
    line-height: 50px;
    color: #fff;
    border-radius: 10px;
  }
  .submit_area .btn_submit.back:hover {
    border: 1px solid #000;
    background: #fff;
    color: #000;
    transition: 0.5s;
  }
  .form_row.address {
    display: flex;
    height: auto;
    margin-bottom: 20px;
  }
  .form_row.address label {
    line-height: 30px;
  }
  .form_row.contents {
    display: flex;
    height: 300px;
  }
  .form_row.date {
    height: auto;
    margin-bottom: 20px;
  }
  .mw_wp_form_confirm .form_row.address {
    display: flex;
    height: auto;
    padding-bottom: 15px;
  }
  .mw_wp_form_confirm .form_row.contents {
    display: flex;
    height: auto;
    padding-bottom: 15px;
  }
  .mw_wp_form_confirm .form_row_tag {
    width: 100%;
    padding-top: 15px;
  }
  .mw_wp_form_confirm .form_row_tag__ttl {
    width: 30%;
    text-align: right;
    padding-right: 10px;
    padding-top: 0px;
  }
  .form_row_tag.family {
    width: 100%;
    display: flex;
    justify-content: start;
  }
  .form_row_tag__total {
    width: 30%;
  }
  .form_row_tag__total input {
    width: 100%;
    height: 50px;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
    border: none;
  }
  .form_row_tag__total select#total {
    width: 100%;
    height: 50px;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
    border: none;
  }
  .form_row_tag__zipcode {
    margin: 15px 0;
  }
  .form_row_tag__city {
    margin: 15px 0;
  }
  .form_row_tag__number {
    margin: 15px 0;
  }
  .form_row_tag__children {
    width: 30%;
  }
  .form_row_tag__children input {
    width: 100%;
    height: 50px;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
    border: none;
  }
  .form_row_tag__children select#children {
    width: 100%;
    height: 50px;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
    border: none;
  }
  .form_row_tag__ttl {
    width: 30%;
    text-align: right;
    padding-right: 10px;
    padding-top: 13px;
  }
  select#plan_2 {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 10px;
    background: #fff;
    padding-left: 10px;
  }
  .form_privacy {
    width: 100%;
    height: 200px;
    overflow: scroll;
    background: #fff;
    border-radius: 10px;
    padding: 10px;
    box-sizing: border-box;
  }
  .link_banner {
    margin: 0 auto;
    height: 65px;
  }
  .link_banner-box {
    flex-direction: column;
    gap: 30px;
  }
  .link_banner-text {
    font-size: 20px;
  }
  .sns_title {
    font-size: 32px;
  }
  .sns_list {
    margin-top: 30px;
  }
  .sns_button {
    font-size: 14px;
    padding: 10px;
    margin: 30px auto 0;
  }
  .sns-youtube_list {
    gap: 16px;
    flex-wrap: wrap;
  }
  .sns-youtube_item {
    width: calc((100% - 16px) / 2);
  }
  .sns-instagram_list {
    gap: 16px;
    flex-wrap: wrap;
  }
  .sns-instagram_item {
    width: calc((100% - 32px) / 3);
  }
}
@media screen and (max-width: 420px) {
  .event_list {
    gap: 20px;
    flex-direction: column;
  }
  .swiper {
    max-width: 200px;
  }
  .quality_head {
    font-size: 20px;
  }
  .single-sc05_lead {
    font-size: 16px;
  }
  .single-sc05_address {
    font-size: 20px;
    font-weight: bold;
  }
  .single-sc05_annotation {
    font-size: 12px;
  }
  .single_sc06 .access_route-detail-wrapper {
    flex-direction: column;
    gap: 10px;
  }
  .single_sc06 .access_route-img-box {
    width: 100%;
  }
  .cam_tokuten li {
    width: 90%;
  }
  .campaign .txt02 img {
    width: 40%;
  }
  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 15px !important;
  }
}
@media screen and (max-width: 767px) {
  .cancel_inner {
    width: 80%;
  }
  .cancel_close {
    right: 10px;
    top: 10px;
  }
  .foot_item .flex {
    gap: 0px;
  }
  .reserve_link {
    position: fixed;
    top: 100px;
    z-index: 9999;
  }
  .reserve_link a {
    padding: 15px 10px;
    font-size: 14px;
    font-weight: bold;
  }
}
@media screen and (max-width: 1399px) {
  .header-logo {
    font-size: 20px;
  }
  .quality_bg {
    object-fit: cover;
  }
}
.special-price {
  background: #e81414;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5em;
  text-align: center;
  margin-top: 10px;
  flex: 1;
}/*# sourceMappingURL=lower.css.map */