@charset "UTF-8";
/* Scss Document */
.flex_30 {
  width: 30%;
}

.flex_31 {
  width: 31%;
}

.flex_32 {
  width: 32%;
}

.flex_33 {
  width: 33%;
}

.flex_34 {
  width: 34%;
}

.flex_35 {
  width: 35%;
}

.flex_36 {
  width: 36%;
}

.flex_37 {
  width: 37%;
}

.flex_38 {
  width: 38%;
}

.flex_39 {
  width: 39%;
}

.flex_40 {
  width: 40%;
}

.flex_41 {
  width: 41%;
}

.flex_42 {
  width: 42%;
}

.flex_43 {
  width: 43%;
}

.flex_44 {
  width: 44%;
}

.flex_45 {
  width: 45%;
}

.flex_46 {
  width: 46%;
}

.flex_47 {
  width: 47%;
}

.flex_48 {
  width: 48%;
}

.flex_49 {
  width: 49%;
}

.flex_50 {
  width: 50%;
}

.flex_51 {
  width: 51%;
}

.flex_52 {
  width: 52%;
}

.flex_53 {
  width: 53%;
}

.flex_54 {
  width: 54%;
}

.flex_55 {
  width: 55%;
}

.flex_56 {
  width: 56%;
}

.flex_57 {
  width: 57%;
}

.flex_58 {
  width: 58%;
}

.flex_59 {
  width: 59%;
}

.flex_60 {
  width: 60%;
}

.flex_61 {
  width: 61%;
}

.flex_62 {
  width: 62%;
}

.flex_63 {
  width: 63%;
}

.flex_64 {
  width: 64%;
}

.flex_65 {
  width: 65%;
}

.flex_66 {
  width: 66%;
}

.flex_67 {
  width: 67%;
}

.flex_68 {
  width: 68%;
}

.flex_69 {
  width: 69%;
}

.flex_70 {
  width: 70%;
}

.padding100 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.padding110 {
  padding-top: 110px;
  padding-bottom: 110px;
}

.padding120 {
  padding-top: 120px;
  padding-bottom: 120px;
}

.padding130 {
  padding-top: 130px;
  padding-bottom: 130px;
}

.padding140 {
  padding-top: 140px;
  padding-bottom: 140px;
}

.padding150 {
  padding-top: 150px;
  padding-bottom: 150px;
}

.padding160 {
  padding-top: 160px;
  padding-bottom: 160px;
}

.padding170 {
  padding-top: 170px;
  padding-bottom: 170px;
}

.padding180 {
  padding-top: 180px;
  padding-bottom: 180px;
}

.padding190 {
  padding-top: 190px;
  padding-bottom: 190px;
}

.padding200 {
  padding-top: 200px;
  padding-bottom: 200px;
}

.padding210 {
  padding-top: 210px;
  padding-bottom: 210px;
}

.padding220 {
  padding-top: 220px;
  padding-bottom: 220px;
}

.padding230 {
  padding-top: 230px;
  padding-bottom: 230px;
}

.padding240 {
  padding-top: 240px;
  padding-bottom: 240px;
}

.padding250 {
  padding-top: 250px;
  padding-bottom: 250px;
}

.padding260 {
  padding-top: 260px;
  padding-bottom: 260px;
}

.padding270 {
  padding-top: 270px;
  padding-bottom: 270px;
}

.padding280 {
  padding-top: 280px;
  padding-bottom: 280px;
}

.padding290 {
  padding-top: 290px;
  padding-bottom: 290px;
}

.padding300 {
  padding-top: 300px;
  padding-bottom: 300px;
}

.margin100 {
  margin-top: 100px;
  margin-bottom: 100px;
}

.margin110 {
  margin-top: 110px;
  margin-bottom: 110px;
}

.margin120 {
  margin-top: 120px;
  margin-bottom: 120px;
}

.margin130 {
  margin-top: 130px;
  margin-bottom: 130px;
}

.margin140 {
  margin-top: 140px;
  margin-bottom: 140px;
}

.margin150 {
  margin-top: 150px;
  margin-bottom: 150px;
}

.margin160 {
  margin-top: 160px;
  margin-bottom: 160px;
}

.margin170 {
  margin-top: 170px;
  margin-bottom: 170px;
}

.margin180 {
  margin-top: 180px;
  margin-bottom: 180px;
}

.margin190 {
  margin-top: 190px;
  margin-bottom: 190px;
}

.margin200 {
  margin-top: 200px;
  margin-bottom: 200px;
}

.margin210 {
  margin-top: 210px;
  margin-bottom: 210px;
}

.margin220 {
  margin-top: 220px;
  margin-bottom: 220px;
}

.margin230 {
  margin-top: 230px;
  margin-bottom: 230px;
}

.margin240 {
  margin-top: 240px;
  margin-bottom: 240px;
}

.margin250 {
  margin-top: 250px;
  margin-bottom: 250px;
}

.margin260 {
  margin-top: 260px;
  margin-bottom: 260px;
}

.margin270 {
  margin-top: 270px;
  margin-bottom: 270px;
}

.margin280 {
  margin-top: 280px;
  margin-bottom: 280px;
}

.margin290 {
  margin-top: 290px;
  margin-bottom: 290px;
}

.margin300 {
  margin-top: 300px;
  margin-bottom: 300px;
}

.pt-110 {
  padding-top: 110px;
}

.pt-120 {
  padding-top: 120px;
}

.pt-130 {
  padding-top: 130px;
}

.pt-140 {
  padding-top: 140px;
}

.pt-150 {
  padding-top: 150px;
}

.pt-160 {
  padding-top: 160px;
}

.pt-170 {
  padding-top: 170px;
}

.pt-180 {
  padding-top: 180px;
}

.pt-190 {
  padding-top: 190px;
}

.pt-200 {
  padding-top: 200px;
}

.pt-210 {
  padding-top: 210px;
}

.pt-220 {
  padding-top: 220px;
}

.pt-230 {
  padding-top: 230px;
}

.pt-240 {
  padding-top: 240px;
}

.pt-250 {
  padding-top: 250px;
}

.pt-260 {
  padding-top: 260px;
}

.pt-270 {
  padding-top: 270px;
}

.pt-280 {
  padding-top: 280px;
}

.pt-290 {
  padding-top: 290px;
}

.pt-300 {
  padding-top: 300px;
}

.pb-110 {
  padding-bottom: 110px;
}

.pb-120 {
  padding-bottom: 120px;
}

.pb-130 {
  padding-bottom: 130px;
}

.pb-140 {
  padding-bottom: 140px;
}

.pb-150 {
  padding-bottom: 150px;
}

.pb-160 {
  padding-bottom: 160px;
}

.pb-170 {
  padding-bottom: 170px;
}

.pb-180 {
  padding-bottom: 180px;
}

.pb-190 {
  padding-bottom: 190px;
}

.pb-200 {
  padding-bottom: 200px;
}

.pb-210 {
  padding-bottom: 210px;
}

.pb-220 {
  padding-bottom: 220px;
}

.pb-230 {
  padding-bottom: 230px;
}

.pb-240 {
  padding-bottom: 240px;
}

.pb-250 {
  padding-bottom: 250px;
}

.pb-260 {
  padding-bottom: 260px;
}

.pb-270 {
  padding-bottom: 270px;
}

.pb-280 {
  padding-bottom: 280px;
}

.pb-290 {
  padding-bottom: 290px;
}

.pb-300 {
  padding-bottom: 300px;
}

.mt-110 {
  margin-top: 110px;
}

.mt-120 {
  margin-top: 120px;
}

.mt-130 {
  margin-top: 130px;
}

.mt-140 {
  margin-top: 140px;
}

.mt-150 {
  margin-top: 150px;
}

.mt-160 {
  margin-top: 160px;
}

.mt-170 {
  margin-top: 170px;
}

.mt-180 {
  margin-top: 180px;
}

.mt-190 {
  margin-top: 190px;
}

.mt-200 {
  margin-top: 200px;
}

.mt-210 {
  margin-top: 210px;
}

.mt-220 {
  margin-top: 220px;
}

.mt-230 {
  margin-top: 230px;
}

.mt-240 {
  margin-top: 240px;
}

.mt-250 {
  margin-top: 250px;
}

.mt-260 {
  margin-top: 260px;
}

.mt-270 {
  margin-top: 270px;
}

.mt-280 {
  margin-top: 280px;
}

.mt-290 {
  margin-top: 290px;
}

.mt-300 {
  margin-top: 300px;
}

.mb-110 {
  margin-bottom: 110px;
}

.mb-120 {
  margin-bottom: 120px;
}

.mb-130 {
  margin-bottom: 130px;
}

.mb-140 {
  margin-bottom: 140px;
}

.mb-150 {
  margin-bottom: 150px;
}

.mb-160 {
  margin-bottom: 160px;
}

.mb-170 {
  margin-bottom: 170px;
}

.mb-180 {
  margin-bottom: 180px;
}

.mb-190 {
  margin-bottom: 190px;
}

.mb-200 {
  margin-bottom: 200px;
}

.mb-210 {
  margin-bottom: 210px;
}

.mb-220 {
  margin-bottom: 220px;
}

.mb-230 {
  margin-bottom: 230px;
}

.mb-240 {
  margin-bottom: 240px;
}

.mb-250 {
  margin-bottom: 250px;
}

.mb-260 {
  margin-bottom: 260px;
}

.mb-270 {
  margin-bottom: 270px;
}

.mb-280 {
  margin-bottom: 280px;
}

.mb-290 {
  margin-bottom: 290px;
}

.mb-300 {
  margin-bottom: 300px;
}

* {
  text-decoration: none !important;
}

/*menu*/
.menu_link li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 19px;
  border-bottom: 1px solid #eeeeee;
  padding: 35px 2vw;
}

.menu_link li a .arrow {
  border-top: 2px solid #f3806d;
  border-right: 2px solid #f3806d;
  transform: rotateZ(45deg);
  width: 12px;
  height: 12px;
  display: block;
}

.menu_logo {
  position: absolute;
  top: 20px;
  left: 3.5%;
  z-index: 99;
}

.menu_banner_btn {
  width: 76%;
  max-width: 640px;
  margin: 50px auto 0;
  display: grid;
  gap: 35px;
}

/**/
.sp_nav01 {
  position: relative;
}

.sp_nav01 .sp_nav_list:nth-child(1) {
  margin-top: 25px;
}

.sp_nav01 .sp_nav_list a {
  border-top: none !important;
  font-size: 17px !important;
  display: flex;
  align-items: center;
  gap: 5px;
  background-color: #fdf6f6;
  line-height: normal;
}

.sp_nav_list {
  display: none;
}

.sp_nav01.active .sp_nav_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  overflow: hidden;
  max-height: 0;
}

.sp_nav01.active .sp_nav_list.open {
  max-height: 500px;
  /* 充分大きな値に設定 */
}

.sp_nav01.active i {
  top: 12%;
}

.sp_nav01.active i:before {
  display: none;
}

.sp_nav_switch01.active {
  border-bottom: 1px solid unset;
}

.symbol {
  position: relative;
  display: block;
  width: 12px;
  height: 12px;
}

.symbol:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #f3806d;
  display: block;
  width: 18px;
  height: 2px;
}

.symbol::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #f3806d;
  display: block;
  width: 2px;
  height: 18px;
}

.sp_nav01.active .symbol:before {
  display: none;
}

/**/
.sp_nav02 {
  position: relative;
}

.sp_nav02 .sp_nav_list:nth-child(1) {
  margin-top: 25px;
}

.sp_nav02 .sp_nav_list a {
  border-top: none !important;
  font-size: 17px !important;
  display: flex;
  align-items: center;
  gap: 5px;
  background-color: #fdf6f6;
  line-height: normal;
}

.sp_nav_list {
  display: none;
}

.sp_nav02.active .sp_nav_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  overflow: hidden;
  max-height: 0;
}

.sp_nav02.active .sp_nav_list.open {
  max-height: 500px;
  /* 充分大きな値に設定 */
}

.sp_nav02.active i {
  top: 12%;
}

.sp_nav02.active i:before {
  display: none;
}

.sp_nav_switch02.active {
  border-bottom: 1px solid unset;
}

.symbol02 {
  position: relative;
  display: block;
  width: 12px;
  height: 12px;
}

.symbol02:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #f3806d;
  display: block;
  width: 18px;
  height: 2px;
}

.symbol02::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #f3806d;
  display: block;
  width: 2px;
  height: 18px;
}

.sp_nav02.active .symbol02:before {
  display: none;
}

/**/
.header_box {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 2vw;
  width: 93%;
  margin: 0 auto;
  padding: 20px 0;
}

.header_box .h_contact {
  display: flex;
  align-items: center;
  gap: 1.5vw;
  padding-right: 1vw;
}

.header_box .h_contact .contact01 {
  display: flex;
  align-items: center;
  gap: 1.5vw;
}

.header_box .h_contact .contact02 {
  display: flex;
  align-items: center;
  gap: 15px;
}

.header_box .h_contact .contact02 a:hover {
  opacity: 0.5;
}

.nav_box {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 170px;
  left: 0;
  background-color: #fafafa;
  width: 100%;
  padding: 2% 0 7%;
  z-index: 99;
  transition: .3s;
}

.nav_box div {
  display: grid;
  grid-template-columns: 25% 1fr;
  gap: 4vw;
  align-items: center;
  gap: 4%;
  width: 88%;
  max-width: 1280px;
  margin: 0 auto;
}

.nav_box div div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2vw;
  row-gap: 35px;
}

.nav_box div a {
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.7em;
}

.nav_box div a .arrow {
  position: relative;
  display: block;
  background-color: #f3806d;
  border-radius: 50%;
  width: 18px;
  height: 18px;
}

.nav_box div a .arrow:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-60%, -50%) rotateZ(45deg);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  width: 6px;
  height: 6px;
}

#nav_guide span,
#nav_estate span {
  font-size: 13px;
  color: #f3806d;
  display: inline-block;
  transform: rotateZ(180deg);
  transition: .3s;
}

#nav_estate:hover .nav_box {
  opacity: 1;
  visibility: visible;
}

#nav_estate:hover span {
  transform: rotateZ(0);
}

#nav_guide:hover .nav_box {
  opacity: 1;
  visibility: visible;
}

#nav_guide:hover span {
  transform: rotateZ(0);
}

#h_nav {
  border-top: 2px solid #fac1b7;
  padding: 10px;
  width: 100%;
  transition: all .4s ease;
}

#h_nav ul {
  display: flex;
  justify-content: center;
  gap: 1.5vw;
}

#h_nav.active {
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 99;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 10px 25px 0px;
}

#h_nav.active .nav_box {
  top: 59px;
}

.slider_wrap {
  padding-bottom: 70px;
}

#slider {
  height: 43vw !important;
}

.catch {
  position: absolute;
  top: 16.5%;
  left: 50%;
  transform: translateX(-50%);
  width: 43vw;
}

.main_features {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 49vw;
}

.top_midashi01 img {
  max-width: 1274px;
}

.sec01 .midashi35 {
  line-height: 1.8em;
}

.mark_text02 {
  background-color: #fff799;
}

.top_new_midashi02 {
  max-width: 962px;
}

.credit_box {
  background-color: #fdf6f6;
  border-radius: 30px;
  padding: 50px 4vw;
}

.credit_box ul {
  display: flex;
  gap: 1.7vw;
  justify-content: center;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

.sec02 {
  border-radius: 90px 90px 0 0;
}

.sec02 .flex_box .bg_fdf6f6 {
  padding: 40px 2vw;
  border-radius: 15px;
}

.sec02 .border_box {
  border: 8px solid #e3492f;
  border-radius: 30px;
  padding: 50px 4vw 60px;
}

.sec02 .border_box p {
  width: 85%;
  margin: 0 auto;
}

.sec_contact .bg_f3806d {
  padding-bottom: 160px;
}

.sec_contact .container1280 {
  background: url(../images/contact_sec_hokkaido.webp) 17% 65%/185px no-repeat;
}

.sec_contact .container1280:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/sokujitsu.webp);
  background-size: cover;
  width: clamp(80px, 11vw, 160px);
  height: clamp(80px, 11vw, 160px);
  z-index: 1;
}

.sec_contact .contact_box {
  width: 88%;
  max-width: 1280px;
  margin: -10.5em auto 0;
  border-radius: 25px;
  padding: 60px 3.7vw;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: 38% 57%;
  justify-content: space-between;
  gap: 2vw;
}

.sec_contact .contact_box .left {
  display: grid;
  gap: 10px;
  text-align: end;
}

.sec_contact .contact_box .left a:last-child img {
  max-width: 341px;
}

.sec_contact .contact_box .right {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5vw;
}

.sec_contact .contact_box .right a:hover {
  opacity: 0.6;
}

.contact_midashi {
  font-size: clamp(27px, 2.8vw, 40px);
  color: #fff;
  line-height: 1.6em;
}

.contact_midashi span {
  font-size: clamp(37px, 3.5vw, 55px);
  color: #fbea35;
  -webkit-text-stroke: 3px #f34629;
  font-weight: 800;
}

.sec03 .midashi50 {
  background: linear-gradient(transparent 75%, #fff799 75%);
  display: inline;
}

.sec03 .grid {
  grid-template-columns: 53% 43%;
  justify-content: space-between;
  gap: 4vw;
}

.sec03 .deco01 {
  position: absolute;
  top: 15%;
  right: 9%;
}

.sec03 .deco02 {
  position: absolute;
  bottom: 28%;
  left: 5%;
}

.sec04 {
  border-radius: 90px;
}

.sec04 .container {
  width: 88%;
  max-width: 1600px;
}

.sec04 .container .flex_box {
  align-items: center;
}

.sec04 .container .flex_box .flex_41 {
  padding-top: 50px;
}

.sec04 .container .flex_box .certificate:after {
  content: "";
  position: absolute;
  bottom: -40px;
  left: -65px;
  background-image: url(../images/certificate.webp);
  background-size: cover;
  width: clamp(120px, 12vw, 206px);
  height: clamp(123px, 12.3vw, 211px);
}

.top_reason_midashi {
  position: relative;
  font-size: clamp(28px, 2.5vw, 42px);
  z-index: 1;
}

.top_reason_midashi span {
  background-color: #fff;
  border-radius: 10px;
  padding: 10px 15px;
}

.top_reason_midashi:after {
  content: "";
  position: absolute;
  font-size: clamp(70px, 12vw, 200px);
  font-family: "A-OTF 新丸ゴ Pro";
  color: #fac1b7;
  line-height: 1em;
  z-index: -1;
}

.top_reason_midashi.number01:after {
  content: "1";
  left: clamp(-6.3vw, -5.3vw, -105px);
  bottom: 0;
}

.top_reason_midashi.number02:after {
  content: "2";
  left: clamp(-6.3vw, -5.3vw, -105px);
  bottom: clamp(3.9vw, 3.9vw, 65px);
}

.top_reason_midashi.number03:after {
  content: "3";
  left: clamp(-5.6vw, -5.6vw, -95px);
  bottom: clamp(3.9vw, 3.9vw, 65px);
}

.sec05 .grid01 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.sec05 .grid01 .left {
  background-color: #fdf6f6;
  padding: 60px 3.5vw;
  border-radius: 30px 0 0 30px;
}

.sec05 .grid02 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5vw;
}

.sec05 .grid03 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2.5vw;
  row-gap: 50px;
}

.sec05 .grid03 .text_box {
  padding: 30px 2.5vw 60px;
}

.sec05 .grid03 .text_box .midashi20 {
  line-height: 1.7em;
}

.sec05 .grid03 .text_box .right .midashi18.c-f3806d {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  border: 1px solid #e3492f;
  border-radius: 75px;
  display: block;
}

.check_list {
  border-radius: 15px;
  padding: 25px 30px 15px;
}

.check_list ul {
  display: grid;
  gap: 10px;
}

.check_list ul li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: normal;
  font-weight: 400;
}

.check_list ul li span {
  display: block;
  background-image: url(../images/check.webp);
  background-size: cover;
  width: 100%;
  max-width: 20px;
  height: 20px;
}

.check_list .midashi18.c-f3806d {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  border: 1px solid #f3806d;
  border-radius: 75px;
  line-height: normal;
  padding: 0 15px;
  width: max-content;
}

.sec06 {
  border-radius: 90px 90px 0 0;
}

.case_box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.1vw;
}

.case_box a {
  display: block;
}

.case_box a img {
  transition: .3s;
}

.case_box a p {
  line-height: 1.7em;
  transition: .3s;
}

.case_box a time {
  letter-spacing: 0.1em;
  display: block;
  padding-top: 15px;
  transition: .3s;
}

.case_box a .img100 {
  position: relative;
  width: 400px;
  height: 280px;
  overflow: hidden;
  border-radius: 25px;
}

.case_box a .img100 img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.case_box a:hover p, .case_box a:hover time {
  color: #e3492f;
}

.case_box a:hover img {
  opacity: 0.5;
}

.sec07 {
  background: url(../images/bg_stripe.webp) center/cover;
  border-radius: 0 0 90px 90px;
}

.sec07 .sec07_wrap {
  padding: 190px 0 130px;
}

.sec07 .sec07_wrap .grid_box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4vw;
}

.sec07 .sec07_wrap .grid_box .box {
  border-radius: 30px;
  background-color: #fff;
  padding-bottom: 35px;
}

.sec07 .sec07_wrap .grid_box .box .midashi30 {
  color: #fff;
  text-align: center;
  border-radius: 22px 22px 0 0;
  padding: 10px 15px 20px;
}

.sec07 .sec07_wrap .grid_box .box ul {
  width: 81%;
  margin: 0 auto;
}

.sec07 .sec07_wrap .grid_box .box ul li {
  font-size: clamp(20px, 1.8vw, 24px);
  display: flex;
  align-items: center;
  gap: 15px;
  line-height: normal;
  letter-spacing: 0.06em;
}

.sec07 .sec07_wrap .grid_box .box ul li:nth-child(n + 2) {
  padding-top: 20px;
}

.sec07 .sec07_wrap .grid_box .box.ihin {
  border: 3px solid #707070;
}

.sec07 .sec07_wrap .grid_box .box.ihin .midashi30 {
  background-color: #707070;
}

.sec07 .sec07_wrap .grid_box .box.ihin ul li span {
  background-image: url(../images/mark_batsu.webp);
  background-size: cover;
  display: block;
  width: 100%;
  max-width: 32px;
  height: 32px;
}

.sec07 .sec07_wrap .grid_box .box.ihin img {
  max-width: 204px;
}

.sec07 .sec07_wrap .grid_box .box.hana_akari {
  border: 3px solid #f3806d;
}

.sec07 .sec07_wrap .grid_box .box.hana_akari .midashi30 {
  background-color: #f3806d;
}

.sec07 .sec07_wrap .grid_box .box.hana_akari ul li span {
  background-image: url(../images/mark_check.webp);
  background-size: cover;
  display: block;
  width: 100%;
  max-width: 32px;
  height: 32px;
}

.sec07 .sec07_wrap .grid_box .box.hana_akari img {
  max-width: 262px;
}

.sec07 .contact_box {
  position: absolute;
  top: -160px;
  left: 50%;
  transform: translateX(-50%);
  width: 88%;
  max-width: 1280px;
  border-radius: 25px;
  padding: 60px 3.7vw;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: 38% 57%;
  justify-content: space-between;
  gap: 2vw;
}

.sec07 .contact_box .left {
  display: grid;
  gap: 10px;
  text-align: end;
}

.sec07 .contact_box .left a:last-child img {
  max-width: 341px;
}

.sec07 .contact_box .right {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5vw;
}

.sec07 .midashi45 {
  -webkit-text-stroke: 1px #fff;
  font-weight: 700;
}

.sec07 .midashi50 {
  line-height: 1em;
  -webkit-text-stroke: 1px #fff;
  font-weight: 700;
}

.sec07 .midashi50 span {
  color: #ed0606;
}

.sec08 {
  padding: 130px 0 0;
}

.sec08 .container {
  width: 88%;
  max-width: 1600px;
}

.sec08 .container .midashi45,
.sec08 .container p {
  width: 94%;
}

.sec08 .deco01 {
  position: absolute;
  top: 20%;
  right: 15%;
}

.sec08:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #fdf6f6;
  width: 100%;
  height: 200px;
  border-radius: 90px 90px 0 0;
}

.flow_list {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 3vw;
}

.flow_list .number {
  position: relative;
  background-color: #f3806d;
  border-radius: 50%;
  color: #fff;
  width: 100%;
  max-width: 90px;
  height: 90px;
  font-size: 45px;
  display: grid;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.flow_list .number i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 90px;
  height: 90px;
  z-index: -1;
}

.flow_list .right .grid {
  display: grid;
  grid-template-columns: 51% 37%;
  justify-content: space-between;
  gap: 4vw;
  padding-top: 15px;
}

.flow_list .right .contact_box {
  border-radius: 25px;
  padding: 60px 2vw 40px 115px;
  background-color: #fff;
  display: grid;
  grid-template-columns: 39% 57%;
  justify-content: space-between;
  align-items: center;
  gap: 2vw;
}

.flow_list .right .contact_box .left {
  display: grid;
  gap: 10px;
  text-align: end;
}

.flow_list .right .contact_box .left a {
  position: relative;
}

.flow_list .right .contact_box .left a:nth-child(1):after {
  content: "";
  position: absolute;
  left: -75px;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(3vw, 4.5vw, 66px);
  height: clamp(3vw, 4.5vw, 66px);
  background-image: url(../images/free-calls.webp);
  background-size: cover;
}

.flow_list .right .contact_box .left a:last-child img {
  max-width: 365px;
}

.flow_list .right .contact_box .right {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5vw;
}

.flow_list .right .contact_box .right a:hover {
  opacity: 0.6;
}

.sec09 {
  border-radius: 0 0 90px 90px;
}

.flow_list_wrap .flow_list:nth-child(2) {
  margin-top: 45px;
}

.flow_list_wrap .flow_list .number i:after {
  content: "";
  position: relative;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #f3806d;
  width: 3px;
  height: 500%;
  display: block;
}

.flow_list_wrap .flow_list:nth-child(1) .number i:after {
  height: 800%;
}

.flow_list_wrap .flow_list:last-child .number i:after {
  display: none;
}

.flow_list_wrap .flow_list:nth-child(n + 3) {
  margin-top: 80px;
}

/*faq*/
.faq_anchor {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5vw;
}

.faq_anchor a {
  border: 1px solid #e3492f;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  padding: 10px 10px;
  color: #e3492f;
}

.faq_anchor a:hover {
  background-color: #e3492f;
  color: #fff;
}

.faq {
  display: grid;
  gap: 20px;
}

.faq-item {
  position: relative;
}

.faq-question {
  position: relative;
  width: 100%;
  background: #fafafa;
  border: none;
  outline: none;
  padding: 15px 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 20px;
  border-radius: 10px;
}

.faq-question p {
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.7em;
  width: 80%;
  text-align: left;
}

.faq-question .toggle {
  position: absolute;
  top: 50%;
  right: 2.5%;
  transform: translateY(-50%);
  font-size: 40px;
  color: #7e6b5a;
  border-radius: 1px;
  transition: transform 0.3s;
}

.faq-answer {
  display: none;
  padding: 35px 20px;
  background: #fff;
}

.faq-answer p {
  display: flex;
  gap: 15px;
  align-items: center;
  font-size: clamp(16px, 1.8vw, 23px);
  line-height: 1.7em;
  width: 90%;
}

.faq-answer p img {
  width: 100%;
  max-width: 55px;
  height: 55px;
}

.sec11 {
  background-color: #fafafa;
  border-radius: 90px 90px 0 0;
}

.column_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2vw;
}

.column_list li a {
  display: grid;
  gap: 25px;
  background-color: #fff;
  border-radius: 25px;
  padding: 40px 2vw;
}

.column_list li a .top_box {
  display: grid;
  grid-template-columns: 30% 65%;
  gap: 2vw;
}

.column_list li a .top_box .text_box p:last-child {
  font-weight: 400;
}

.column_list li a .top_box time {
  letter-spacing: 0.1em;
}

.column_list li a .top_box .midashi22 {
  padding-bottom: 10px;
  line-height: normal;
}

.column_list li a .top_box .img100 {
  position: relative;
  width: 163px;
  height: 131px;
  overflow: hidden;
  border-radius: 20px;
}

.column_list li a .top_box .img100 img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.column_list li a .category_box {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.column_list li a .category_box span {
  color: #e3492f;
  border: 1px solid #e3492f;
  border-radius: 75px;
  display: block;
  line-height: normal;
  padding: 5px 20px;
  font-size: 15px;
}

.map iframe {
  width: 100%;
  height: 600px;
}

.map .address_box {
  position: absolute;
  top: 50%;
  right: 17vw;
  transform: translateY(-50%);
  width: 60%;
  max-width: 505px;
  padding: 50px 2.8vw;
  background-color: #fff;
  border-radius: 60px;
}

.map .address_box .type {
  background-color: #f3806d;
  border-radius: 75px;
  color: #fff;
  line-height: normal;
  display: block;
  padding: 0 15px 2px;
  width: fit-content;
}

.map .address_box p {
  padding-top: 10px;
  letter-spacing: 0.06em;
}

#map_tel img {
  width: 100%;
  max-width: 308px;
}

.sponsor_box {
  padding: 70px 0;
}

.sponsor_box ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1vw;
}

.sponsor_box ul a:hover {
  opacity: 0.4;
}

.footer {
  padding-bottom: 150px;
}

.footer .contact_box {
  position: relative;
  z-index: 1;
  width: 88%;
  max-width: 1280px;
  margin: -10em auto 100px;
  border-radius: 25px;
  padding: 60px 3.7vw;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: 38% 57%;
  justify-content: space-between;
  gap: 2vw;
}

.footer .contact_box .left {
  display: grid;
  gap: 10px;
  text-align: end;
}

.footer .contact_box .left a:last-child img {
  max-width: 341px;
}

.footer .contact_box .right {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5vw;
}

.footer .contact_box .right a:hover {
  opacity: 0.6;
}

.footer_box {
  display: grid;
  grid-template-columns: 300px 67%;
  justify-content: space-between;
  gap: 2vw;
}

.footer_box .right {
  display: grid;
  grid-template-columns: 17% 23% 15% 28%;
  justify-content: space-between;
  gap: 2vw;
}

.footer_box .right ul li a {
  line-height: normal;
  font-size: clamp(16px, 1.1vw, 20px);
  display: block;
  line-height: normal;
}

.footer_box .right ul li a:nth-child(2) {
  padding-top: 20px;
  font-size: clamp(14px, 1vw, 17px);
}

.footer_box .right ul li a:nth-child(n + 3) {
  padding-top: 15px;
  font-size: clamp(14px, 1vw, 17px);
}

.footer_box .right ul li:nth-child(n + 2) {
  margin-top: 20px;
}

.footer_box .right ul:nth-child(1) li:nth-child(n + 4) {
  display: none;
}

.copy_box {
  border-top: 1px solid #dcdcdc;
  padding: 25px 0;
  margin-top: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}

.copy_box p {
  font-size: 13px;
}

.f_privacy {
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 160px;
}

.f_privacy span {
  display: block;
  background-image: url(../images/f_privacy_arrow.webp);
  background-size: cover;
  width: 100%;
  max-width: 16px;
  height: 16px;
}

.pc_fixed_banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  border-top: 2px solid #f3806d;
  background-color: #fff;
  padding: 1% 0;
  z-index: 99;
}

.pc_fixed_banner .grid {
  width: 74%;
  max-width: 1360px;
  margin: 0 auto;
  grid-template-columns: 60.5% 37%;
  justify-content: space-between;
  align-items: center;
  gap: 2vw;
}

.pc_fixed_banner .grid .left {
  display: grid;
  grid-template-columns: 60% 35%;
  justify-content: space-between;
  align-items: center;
  gap: 2vw;
}

.pc_fixed_banner .grid ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1vw;
}

.pc_fixed_banner .grid ul a:hover {
  opacity: 0.6;
}

.sp_banner {
  display: none;
}

#f_insta {
  margin-top: 35px;
  display: block;
}

/*下層ページ*/
#lower_fastImg {
  position: relative;
  height: 24vw;
}

#fast_title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(31px, 3.6vw, 55px);
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.1em;
  width: max-content;
}

/*花あかりについて*/
#lower_fastImg.about {
  background: url(../images/main_about.webp) center/cover;
}

.about_sec01 .grid_box {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 9vw;
}

.about_sec01 .grid_box .midashi52 {
  writing-mode: vertical-rl;
  line-height: 1.6em;
  letter-spacing: 0.18em;
}

.about_sec01 .grid_box .right {
  padding-top: 8%;
}

.about_sec01 .grid_box .right p {
  line-height: 2.4em;
}

.about_deco01 {
  position: absolute;
  bottom: 16%;
  left: 9%;
  width: 7vw;
}

/*お引越し*/
#service06_banner:hover {
  opacity: 0.6;
}

.service02_deco02 {
  position: absolute;
  top: 25%;
  left: 10%;
  width: 2.7vw;
}

.service02_deco03 {
  position: absolute;
  top: 15%;
  right: 10%;
  width: 4.5vw;
}

/*loop img*/
.loop_img {
  overflow: hidden;
  width: 100%;
}

.loop_img ul {
  display: flex;
  width: max-content;
  animation: loop 30s linear infinite;
}

.loop_img li {
  white-space: nowrap;
  width: max-content;
  margin: 0 0.75vw;
}

.loop_img li img {
  width: 100%;
  max-width: clamp(240px, 30vw, 540px);
}

/* アニメーション */
@keyframes loop {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

.about_sec02 {
  background: url(../images/about_shape.webp) center/cover;
}

.about_sec02 .flex_box {
  gap: 4vw;
}

.about_sec03 .bg_fdf6f6 {
  border-radius: 35px;
  padding: 4vw;
}

.about_sec03 .bg_fdf6f6 .grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 3vw;
}

.about_sec03 .bg_fdf6f6 .grid .midashi28 {
  line-height: 1.2em;
  font-size: clamp(20px, 2vw, 28px);
}

.about_sec03 .bg_fdf6f6 .grid .midashi28 span {
  font-size: clamp(12px, 0.8vw, 16px);
  letter-spacing: 0em;
}

.about_sec03 .bg_fdf6f6 .grid p {
  line-height: 1.9em;
}

.about_company_list li {
  display: grid;
  grid-template-columns: 19% 79%;
  justify-content: space-between;
  gap: 1vw;
}

.about_company_list li div {
  padding: 25px 1vw;
  line-height: 2em;
}

.about_company_list li div:nth-child(1) {
  border-bottom: 1px solid #fac1b7;
}

.about_company_list li div:nth-child(2) {
  border-bottom: 1px solid #e5e5e5;
}

.about_company_list li:nth-child(1) div {
  padding-top: 0;
}

.about_map iframe {
  width: 100%;
  height: 600px;
  border-radius: 35px;
}

.mark_text {
  background: linear-gradient(transparent 77%, #fff799 77%);
  display: inline;
}

/*estate*/
#lower_fastImg.estate {
  background: url(../images/main_estate.webp) center/cover;
}

.estate_sec01 {
  background: url(../images/estate_shape_bg.webp) 50% 100%/100% no-repeat;
}

.estate_sec01 p {
  position: relative;
  z-index: 1;
  line-height: 2.6em;
}

.estate_deco01 {
  position: absolute;
  top: 15%;
  right: 10%;
  width: 6vw;
}

.estate_deco02 {
  position: absolute;
  bottom: 30%;
  left: 5%;
  width: 2.5vw;
}

.estate_Box {
  padding: 6vw;
  border-radius: 70px;
  color: #fff;
}

.estate_Box .midashi45 {
  font-size: clamp(29px, 2.8vw, 45px);
}

.estate_sec03 .grid_box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2vw;
}

.estate_sec03 .grid_box li {
  border: 1px solid #a1a3a3;
  border-radius: 30px;
  padding: 40px 1.5vw;
  text-align: center;
  min-height: 500px;
}

.estate_sec03 .grid_box li p {
  line-height: 1.8em;
}

.estate_sec03 .grid_box li .img_box {
  height: 200px;
  display: grid;
  text-align: center;
  grid-template-rows: 125px 35px;
  justify-content: center;
  gap: 1.7vw;
}

.estate_sec03 .grid_box li .point {
  background-color: #f3806d;
  border-radius: 75px;
  color: #fff;
  padding: 0 15px;
  display: block;
  width: fit-content;
  margin: 0 auto;
}

.estate_sec04 .flex_box .midashi38 {
  position: relative;
  padding-bottom: 25px;
}

.estate_sec04 .flex_box .midashi38:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #f3806d;
  width: 50px;
  height: 3px;
}

.estate_sec04 .flex_box a.btn {
  max-width: 280px;
  height: 60px;
  font-size: clamp(14px, 1.1vw, 16px);
}

.estate_sec04 .flex_box a.btn span {
  width: 13.5px;
  height: 13.5px;
  font-size: 7px;
}

.estate_sec04 .circle {
  background-image: radial-gradient(circle, #a1a3a3 1px, transparent 2px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 11px 3px;
}

/*初めての方へ*/
#lower_fastImg.guide {
  background: url(../images/main_guide.webp) center/cover;
}

.guide_contents01 {
  background: url(../images/guide_illust01.webp) center/50% no-repeat;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 160px 0;
}

.guide_contents01 div {
  display: grid;
  gap: 90px;
}

.guide_contents01 p {
  position: relative;
  width: 25%;
  width: 100%;
  max-width: 420px;
  height: clamp(100px, 8vw, 150px);
  padding: 0 1.5vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f3806d;
  border-radius: 75px;
  line-height: 1.5em;
  letter-spacing: 0.03em;
  color: #fff;
}

.guide_contents01 p:after {
  content: "";
  position: absolute;
  background-image: url(../images/guide_shape.webp);
  background-size: cover;
  width: clamp(40px, 3vw, 53px);
  height: clamp(52px, 3.6vw, 65px);
}

.guide_contents01 div:nth-child(odd) p:after {
  bottom: -20px;
  left: 15%;
}

.guide_contents01 div:nth-child(even) p:after {
  bottom: -20px;
  right: 15%;
  transform: rotateY(180deg);
}

.guide_sec01 .bg_fafafa {
  padding: 60px 3vw;
  margin-top: 4vw;
  border-radius: 30px;
  overflow: hidden;
}

.guide_sec01 .bg_fafafa p {
  letter-spacing: 0.06em;
}

.guide_sec01 .bg_fafafa:after {
  content: "";
  position: absolute;
  top: -95px;
  left: 50%;
  transform: translateX(-50%) rotateZ(135deg);
  background-color: #fff;
  width: 110px;
  height: 110px;
  border-radius: 4px;
}

.sec_guide_contact .bg_e3492f {
  padding-bottom: 200px;
}

.contact_midashi img {
  width: 90%;
  max-width: 865px;
}

.guide_sec02 .contact_box {
  width: 88%;
  max-width: 1280px;
  margin: -20em auto 130px;
  border-radius: 25px;
  padding: 60px 3.7vw;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: 38% 57%;
  justify-content: space-between;
  gap: 2vw;
}

.guide_sec02 .contact_box .left {
  display: grid;
  gap: 10px;
  text-align: end;
}

.guide_sec02 .contact_box .left a:last-child img {
  max-width: 341px;
}

.guide_sec02 .contact_box .right {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5vw;
}

.guide_sec02 .contact_box .right a:hover {
  opacity: 0.6;
}

.guide_sec02 .flex_box {
  gap: 4vw;
}

.guide_sec03 {
  background: url(../images/guide_stripe_bg.webp) top center/cover;
  border-radius: 0 0 90px 90px;
}

.guide_sec03 .midashi45 {
  -webkit-text-stroke: 1px #fff;
  font-weight: 700;
}

.guide_sec03 .midashi50 {
  line-height: 1em;
  -webkit-text-stroke: 1px #fff;
  font-weight: 700;
}

.guide_sec03 .midashi50 span {
  color: #ed0606;
}

.guide_sec03 .bg_fff {
  padding: 3vw;
  border-radius: 30px;
}

.guide_point {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2.9vw;
  row-gap: 60px;
}

.guide_point li .img100 span {
  position: relative;
  z-index: 1;
  color: #e3492f;
  border: 1px solid #e3492f;
  border-radius: 75px;
  background-color: #fff;
  display: block;
  margin: -1em auto 0;
  width: fit-content;
  padding: 3px 20px;
  line-height: normal;
}

.guide_point li p {
  line-height: 1.8em;
}

.guide_point li p.midashi30 {
  line-height: 1.5em;
}

.guide_midashi_box {
  padding: 150px 0 150px;
  text-align: center;
}

.guide_midashi_box img {
  width: 90%;
  max-width: 962px;
}

.guide_banner_box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.4%;
}

.sec02.guide .flex_box .bg_fdf6f6 {
  padding: 3.7vw 3.5vw;
  border-radius: 30px;
  font-size: clamp(16px, 1.5vw, 18px);
}

/*遺品整理の流れ*/
#lower_fastImg.flow {
  background: url(../images/main_flow.webp) center/cover;
}

.flow_list .c-e3492f {
  border-bottom: 1px solid #e3492f;
}

/*遺品整理サービス*/
#lower_fastImg.service {
  background: url(../images/main_service.webp) center/cover;
}

.service_sec01 .midashi48 {
  position: relative;
  z-index: 1;
  line-height: 1.7em;
  letter-spacing: 0.15em;
}

.service_sec01 .midashi48 .bg_e3492f {
  border-radius: 75px;
  line-height: 1.1em;
  padding: 0 25px 10px;
  color: #fff;
  display: inline-block;
}

.service_sec01 p {
  position: relative;
  z-index: 1;
  line-height: 2.6em;
}

.service_sec01 .service_img01 {
  position: absolute;
  top: 15%;
  right: 0;
  width: 18.5vw;
}

.service_sec01 .service_img02 {
  position: absolute;
  bottom: 12%;
  left: 0;
  width: 19.5vw;
}

.service_sec01 .service_img03 {
  position: absolute;
  bottom: -11%;
  right: 10%;
  z-index: 1;
  width: 21vw;
}

.service_sec01 .service_deco01 {
  position: absolute;
  left: 10vw;
  top: 15%;
  width: 6vw;
}

.service_sec01 .service_deco02 {
  position: absolute;
  top: 60%;
  right: 15%;
  width: 3vw;
}

.service_sec02 {
  background: url(../images/service_pink_bg.webp) top center/cover;
  padding-top: 230px;
}

.service_contents01 {
  background-color: #fff;
  padding: 4.2vw;
  border-radius: 40px;
}

.service_contents01 .btn {
  max-width: 280px;
  height: 60px;
  font-size: clamp(14px, 1.1vw, 16px);
}

.service_contents02 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2vw;
}

.service_contents02 li {
  background-color: #fff;
  border-radius: 40px;
  padding: 3.5vw;
  display: grid;
  grid-template-rows: 1fr 60px;
  gap: 60px;
}

.service_contents02 li .midashi {
  margin: 15px 0 15px;
}

.service_contents02 li .midashi:after {
  width: 50px;
  height: 4px;
  border-radius: 2px;
}

.service_contents02 li .btn {
  max-width: 280px;
  height: 60px;
  font-size: clamp(14px, 1.1vw, 16px);
}

/*service01*/
#lower_fastImg.service01 {
  background: url(../images/main_service01.webp) center/cover;
}

.service01_sec01 {
  padding-top: 190px;
}

.service01_sec01 .midashi::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../images/service01_midashi01.webp);
  background-size: cover;
  width: 390px;
  height: 34px;
}

.service01_deco01 {
  position: absolute;
  top: 20%;
  left: 10%;
  width: 5vw;
}

.service01_sec02 .bg_fdf6f6 {
  position: relative;
  border-radius: 90px 90px;
}

.service01_sec02 .bg_fdf6f6:after {
  content: "";
  position: absolute;
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../images/service01_shape01.webp);
  background-size: cover;
  width: 271px;
  height: 122px;
}

.service01_sec02 .grid_box {
  border-radius: 40px;
  padding: 2vw;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1vw;
}

.service01_sec02 .grid_box li {
  border-radius: 20px;
  background-color: #fff;
  padding: 23px 2vw 35px;
  text-align: center;
}

.service01_sec02 .midashi40 {
  line-height: 1.9em;
}

.service01_features .flex_box {
  padding-bottom: 70px;
}

.service01_features .flex_box .type {
  background-color: #f3806d;
  display: block;
  line-height: normal;
  color: #fff;
  font-size: clamp(19px, 1.8vw, 23px);
  border-radius: 75px;
  width: fit-content;
  padding: 0 17px 2px;
  margin-top: 50px;
}

.service01_features .flex_box:nth-child(n + 2) {
  padding-top: 70px;
  background-image: radial-gradient(circle, #a1a3a3 1.5px, transparent 1.5px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 11px 3px;
}

.service01_features .flex_box:last-child {
  padding-bottom: 0;
}

.service01_sec04 .grid_contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 2vw;
  row-gap: 70px;
}

.service01_sec04 .grid_contents li {
  width: 31%;
}

.service01_sec04 .grid_contents li .img100 {
  text-align: center;
}

.service01_sec04 .grid_contents li .img100 img {
  max-width: 336px;
}

.service01_sec04 .grid_contents li .img100 span {
  position: absolute;
  top: 5%;
  left: 16%;
}

.service01_sec04 .grid_contents li .midashi23 {
  font-size: clamp(18px, 1.6vw, 23px);
}

.service01_sec04 .grid_contents li .bg_f3806d {
  position: relative;
  z-index: 1;
  margin-top: -2em;
  padding: 0 0.5vw;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  line-height: 1.7em;
  border-radius: 20px;
  text-align: center;
  min-height: 180px;
}

.service01_sec04 .grid_contents li .bg_f3806d:after {
  content: "";
  position: absolute;
  top: -28px;
  right: 8%;
  background-image: url(../images/guide_shape.webp);
  background-size: cover;
  width: clamp(40px, 3vw, 53px);
  height: clamp(52px, 3.6vw, 65px);
  transform: rotateZ(-180deg);
  z-index: -1;
}

.service01_banner_box {
  background: url(../images/service01_banner_bg.webp) center/cover;
  padding: 55px 3vw;
  border-radius: 60px;
}

.service01_banner_box .grid {
  grid-template-columns: 56.5% 40%;
  justify-content: space-between;
  gap: 2vw;
  align-items: center;
}

.service01_banner_box .grid p {
  line-height: 1.8em;
}

.service01_banner_box .grid .right {
  background-color: #fff;
  border-radius: 40px;
  padding: 40px 2vw;
}

.service01_banner_box .grid .right ul {
  margin-top: 25px;
  display: grid;
  gap: 10px;
}

.service01_banner_box .grid .midashi45 {
  line-height: 1.4em;
}

/*service02*/
#lower_fastImg.service02 {
  background: url(../images/main_service02.webp) center/cover;
}

.service02_sec02 .bg_fdf6f6 {
  position: relative;
  border-radius: 90px 90px;
}

.service02_sec02 .grid_box {
  border-radius: 40px;
  padding: 2vw;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1vw;
}

.service02_sec02 .grid_box li {
  border-radius: 20px;
  background-color: #fff;
  padding: 0 1vw;
  text-align: center;
  min-height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.service02_sec02 .midashi23 {
  line-height: 1.6em;
}

.service02_midashi01 {
  text-align: center;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 3vw;
}

.service02_midashi01 i {
  display: block;
  width: 3px;
  height: 74px;
  background-color: #2e1704;
}

.service02_midashi01 i:nth-child(1) {
  transform: rotateZ(-30deg);
}

.service02_midashi01 i:last-child {
  transform: rotateZ(30deg);
}

/*service03*/
#lower_fastImg.service03 {
  background: url(../images/main_service03.webp) center/cover;
}

.service03_type_contents {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
  justify-content: center;
}

.service03_type_contents li {
  width: 31%;
  background-color: #fff;
  border-radius: 20px;
  padding: 2vw;
}

.service03_type_contents li .midashi20 {
  font-size: clamp(15px, 1.5vw, 20px);
  line-height: 1.7em;
}

/*ハウスクリーニング*/
#lower_fastImg.service04 {
  background: url(../images/main_service04.webp) center/cover;
}

.service04_midashi01 {
  width: 80%;
  max-width: 456px;
  display: block;
  margin: 0 auto;
  margin-bottom: 10px;
}

.service04_icon_contents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2vw;
  row-gap: 1.5vw;
}

.service04_icon_contents li {
  background-color: #fdf6f6;
  border-radius: 40px;
  text-align: center;
  padding: 40px 2vw 50px;
}

.service04_icon_contents li p {
  line-height: 1.2em;
}

.service04_icon_contents li p span {
  font-size: clamp(14px, 1.1vw, 16px);
}

.sec_radius {
  border-radius: 80px;
}

.service04_works_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2vw;
  row-gap: 2.5vw;
}

.service04_works_list li {
  position: relative;
  border: 1px solid #a1a3a3;
  border-radius: 30px;
  padding: 30px 2vw 50px;
  background-color: #fff;
}

.service04_works_list li .flex {
  display: flex;
  justify-content: space-between;
  gap: 1vw;
}

.service04_works_list li .flex img:nth-child(1) {
  width: 42%;
}

.service04_works_list li .flex img:nth-child(2) {
  width: 55.5%;
}

.service04_works_list li .number {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 30px 0 30px 0;
  background-color: #f3806d;
  color: #fff;
  font-size: 40px;
  width: 85px;
  height: 85px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*生前整理*/
#lower_fastImg.service05 {
  background: url(../images/main_service05.webp) center/cover;
}

.service05_sec_merit {
  padding: 50px 0 150px;
  border-radius: 0 0 90px 90px;
  margin-top: 4%;
}

.service05_sec_merit:after {
  content: "";
  position: absolute;
  top: -5vw;
  left: 0;
  width: 100%;
  height: 108px;
  background-image: url(../images/service05_merit_deco.webp);
  background-size: 100%;
}

.service05_merit {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2vw;
}

.service05_merit li {
  background-color: #fff;
  border-radius: 40px;
  padding: 2vw;
}

.service05_merit li .midashi28 {
  letter-spacing: 0.05em;
}

.service05_merit li p {
  line-height: 1.8em;
}

.service05_midashi {
  display: block;
  margin: 0 auto 10px;
  width: 80%;
  max-width: 551px;
}

/*特殊清掃*/
#lower_fastImg.service06 {
  background: url(../images/main_service06.webp) center/cover;
}

.service06_icon_contents {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1vw;
}

.service06_icon_contents li {
  background-color: #fafafa;
  border-radius: 20px;
  padding: 40px 2vw;
}

.service06_icon_contents li img {
  display: block;
  margin: 0 auto;
  margin-bottom: 15px;
}

.service06_icon_contents li p {
  line-height: 1.8em;
}

/*不動産の売却*/
#lower_fastImg.service07 {
  background: url(../images/main_service07.webp) center/cover;
}

.service07_midashi {
  width: 80%;
  max-width: 654px;
  display: block;
  margin: 0 auto 10px;
}

/*お焚き上げ・散骨*/
#lower_fastImg.service08 {
  background: url(../images/main_service08.webp) center/cover;
}

.service08_midashi {
  width: 80%;
  max-width: 417px;
  display: block;
  margin: 0 auto 10px;
}

.service08_support_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 6vw;
  row-gap: 70px;
}

.service08_support_grid li .img100 span {
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #f3806d;
  display: block;
  line-height: normal;
  color: #fff;
  font-size: clamp(19px, 1.8vw, 23px);
  border-radius: 75px;
  width: fit-content;
  padding: 0 25px 2px;
  margin-top: 50px;
}

/*料金について*/
#lower_fastImg.fee {
  background: url(../images/main_fee.webp) center/cover;
}

.fee_table01 {
  width: 100%;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
}

.fee_table01 thead tr td {
  background-color: #7e6b5a;
  color: #fff;
  border-right: 1px solid #fff;
  border-bottom: none;
}

.fee_table01 thead tr td:nth-child(1) {
  border-radius: 30px 0  0 0;
}

.fee_table01 thead tr td:last-child {
  background-color: #fac1b7;
  border-right: 1px solid #7e6b5a;
  color: #2e1704;
  border-radius: 0 30px 0 0;
}

.fee_table01 tbody tr td {
  border-top: none;
}

.fee_table01 tbody tr td:nth-child(n + 2) {
  border-left: none;
}

.fee_table01 tbody tr td:last-child {
  background-color: #fffafa;
  color: #e3492f;
}

.fee_table01 tbody tr:last-child td:nth-child(1) {
  border-radius: 0 0 0 30px;
}

.fee_table01 tbody tr:last-child td:last-child {
  border-radius: 0 0 30px 0;
}

.fee_table01 tr td {
  font-size: clamp(20px, 1.95vw, 26px);
  text-align: center;
  padding: 15px 10px;
  border: 1px solid #7e6b5a;
  font-family: "A-OTF 新丸ゴ Pro";
  width: 33.3%;
  line-height: 1.5em;
}

.fee_truck_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2vw;
}

.fee_truck_grid li {
  background-color: #fff;
  border-radius: 20px;
  padding: 2vw;
  display: grid;
  justify-content: center;
  grid-template-rows: 55px 170px 1fr;
  gap: 15px;
}

.fee_truck_grid li .bg_f3806d.midashi25 {
  border-radius: 10px;
  padding: 5px;
  color: #fff;
  text-align: center;
  display: grid;
  align-items: center;
  justify-content: center;
}

.fee_truck_grid li .img_box {
  display: grid;
  align-items: center;
  justify-content: center;
}

.fee_truck_grid li .img_box img {
  width: 100%;
  max-width: 320px;
}

.fee_truck_grid li .text_box {
  padding-top: 2vw;
}

.fee_truck_grid li .text_box p {
  font-size: clamp(15px, 1.45vw, 17px);
  display: flex;
  align-items: center;
  gap: 6%;
}

.fee_truck_grid li .text_box p span {
  background-color: #7e6b5a;
  border-radius: 75px;
  color: #fff;
  padding: 1px 20px 3px;
  display: block;
  line-height: normal;
}

.fee_midashi {
  display: flex;
  justify-content: center;
  align-items: end;
  flex-wrap: wrap;
}

.fee_midashi .emphasis {
  position: relative;
}

.fee_midashi .emphasis:after {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fac1b7;
  border-radius: 50%;
  width: 13px;
  height: 13px;
}

.fee_midashi .midashi60 {
  line-height: 1.3em;
}

.fee_midashi i {
  display: block;
  width: 100%;
  max-width: 45px;
  height: 61px;
  background-image: url(../images/fee_midashi_shape01.webp);
  background-size: cover;
}

.fee_midashi i:nth-child(1) {
  margin-right: 2%;
}

.fee_midashi i:last-child {
  background-image: url(../images/fee_midashi_shape02.webp);
  margin-left: 1.5%;
}

.sec_fee_graph .bg_fafafa {
  border-radius: 40px;
  padding: 35px 6vw;
}

.fee_graph {
  position: relative;
  text-align: center;
}

.fee_graph p {
  position: absolute;
  bottom: 3%;
  right: 1.5%;
  background-color: #e3492f;
  border-radius: 75px;
  padding: 7px 25px;
  color: #fff;
  width: fit-content;
  line-height: 1.8em;
  z-index: 1;
}

.fee_graph p:after {
  content: "";
  position: absolute;
  top: -20px;
  left: 25%;
  background-image: url(../images/fee_graph_shape.webp);
  background-size: cover;
  width: 25px;
  height: 41px;
  z-index: -1;
}

.fee_graph img {
  max-width: 811px;
}

.fee_table02 {
  width: 100%;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
}

.fee_table02 thead tr td.bg_f3806d {
  border: 1px solid #f3806d;
}

.fee_table02 thead tr td {
  color: #fff;
  border-bottom: none;
  border-radius: 30px 30px  0 0;
  padding: 20px 10px;
}

.fee_table02 tbody tr td {
  border-top: none;
}

.fee_table02 tbody tr td:nth-child(n + 2) {
  border-left: none;
}

.fee_table02 tbody tr td:last-child {
  background-color: #fffafa;
  color: #e3492f;
}

.fee_table02 tbody tr:nth-child(3) td:last-child {
  border-bottom: none;
}

.fee_table02 tbody tr:last-child td {
  color: #e3492f;
  background-color: #fffafa;
}

.fee_table02 tbody tr:last-child td:nth-child(1) {
  border-radius: 0 0 0 30px;
}

.fee_table02 tbody tr:last-child td:nth-child(3) {
  border-right: 1px solid #e3492f;
}

.fee_table02 tbody tr:last-child td:last-child {
  border-radius: 0 0 30px 0;
  border: 3px solid #e3492f;
  border-left: 2px solid #e3492f;
}

.fee_table02 tr td {
  font-size: clamp(20px, 1.95vw, 26px);
  text-align: center;
  padding: 15px 10px;
  border: 1px solid #7e6b5a;
  font-family: "A-OTF 新丸ゴ Pro";
  width: 25%;
  line-height: 1.5em;
}

.fee_table02 tr td:nth-child(1) {
  width: 16%;
}

.fee_house_cleaning {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2vw;
}

.fee_house_cleaning li {
  display: grid;
  grid-template-columns: 35% 65%;
}

.fee_house_cleaning li .img_box {
  border-radius: 20px 0 0 20px;
}

.fee_house_cleaning li .text_box {
  background-color: #fff;
  padding: 2vw;
  border-radius: 0 20px 20px 0;
}

.fee_house_cleaning li .text_box p {
  line-height: 1.5em;
}

.fee_house_cleaning li .text_box .midashi35 {
  position: relative;
  bottom: 3px;
  letter-spacing: 0.05em;
}

.fee_house_cleaning li .text_box .midashi35 span {
  position: relative;
}

.fee_house_cleaning li .text_box .midashi35 span:after {
  content: "(税込)";
  position: absolute;
  top: -43%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 13px;
  color: #e3492f;
  letter-spacing: 0em;
  line-height: 1em;
  width: max-content;
}

.fee_house_cleaning li:nth-child(1) .img_box {
  background: url(../images/fee_img01.webp) center/cover;
}

.fee_house_cleaning li:nth-child(2) .img_box {
  background: url(../images/fee_img02.webp) center/cover;
}

.fee_house_cleaning li:nth-child(3) .img_box {
  background: url(../images/fee_img03.webp) center/cover;
}

.fee_house_cleaning li:nth-child(4) .img_box {
  background: url(../images/fee_img04.webp) center/cover;
}

.fee_house_cleaning li:nth-child(5) .img_box {
  background: url(../images/fee_img05.webp) center/cover;
}

.fee_house_cleaning li:nth-child(6) .img_box {
  background: url(../images/fee_img06.webp) center/cover;
}

.fee_house_cleaning li:nth-child(7) .img_box {
  background: url(../images/fee_img07.webp) center/cover;
}

.fee_house_cleaning li:nth-child(8) .img_box {
  background: url(../images/fee_img08.webp) center/cover;
}

.fee_house_cleaning li:nth-child(9) .img_box {
  background: url(../images/fee_img09.webp) center/cover;
}

.fee_set_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2vw;
}

.fee_set_grid .box {
  background-color: #fff;
  border-radius: 20px;
  padding: 40px 2vw 55px;
}

.fee_set_grid .box .icon_box {
  display: flex;
  justify-content: center;
  gap: 0.8vw;
  flex-wrap: wrap;
}

.fee_set_grid .box .icon_box img {
  width: 31%;
  height: auto;
}

.fee_set_grid .box .midashi80 {
  display: flex;
  align-items: end;
  justify-content: center;
  line-height: 1em;
  letter-spacing: 0.02em;
}

.fee_set_grid .box .midashi50 {
  position: relative;
  top: 5px;
}

.fee_set_grid .box .midashi50 span {
  position: relative;
}

.fee_set_grid .box .midashi50 span:after {
  content: "(税込)";
  position: absolute;
  top: -32%;
  left: 50%;
  transform: translateX(-55%);
  font-size: 13px;
  color: #e3492f;
  letter-spacing: 0em;
  line-height: 1em;
  width: max-content;
}

.fee_set_grid .transparent {
  opacity: 0.3;
}

.fee_graph {
  padding-bottom: 50px;
}

.fee_graph p {
  bottom: 3%;
  right: 12.5%;
}

/*faq*/
#lower_fastImg.faq {
  background: url(../images/main_faq.webp) center/cover;
}

.faq_sec01 .faq-answer p {
  font-size: clamp(18px, 1.6vw, 20px);
}

.faq_sec01 .faq-question p {
  font-size: clamp(19px, 1.75vw, 23px);
}

/*voice*/
#lower_fastImg.voice {
  background: url(../images/main_voice.webp) center/cover;
}

.voice_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 3.5vw;
  row-gap: 80px;
}

.voice_list li a time {
  display: flex;
  align-items: center;
  gap: 15px;
  justify-content: space-between;
  margin-top: 25px;
}

.voice_list li a time span {
  display: block;
  line-height: normal;
  padding: 2px 15px;
  border-radius: 75px;
  color: #fff;
  background-color: #f3806d;
}

.voice_list li a .midashi18 {
  border-bottom: 2px solid #dcdcdc;
  padding-bottom: 10px;
  margin-bottom: 5px;
  line-height: 1.7em;
}

.voice_list li a:hover {
  opacity: 0.6;
}

.page {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.page li, .page a {
  font-family: "A-OTF 新丸ゴ Pro";
}

.page li.active {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: clamp(23px, 2.5vw, 30px);
  color: #fff;
  width: 60px;
  height: 60px;
  background-color: #fac1b7;
  letter-spacing: normal;
  line-height: normal;
}

.page li.number a {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: clamp(23px, 2.5vw, 30px);
  color: #a1a3a3;
  width: 60px;
  height: 60px;
  background-color: #e5e5e5;
  letter-spacing: normal;
  line-height: normal;
}

.next a {
  display: block;
  position: relative;
  border-top: 3px solid #f3806d;
  border-right: 3px solid #f3806d;
  width: 21px;
  height: 21px;
  transform: rotateZ(45deg);
  border-radius: 2px;
}

.voice_details {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.voice_details time {
  display: flex;
  align-items: center;
  gap: 15px;
  justify-content: space-between;
  margin-bottom: 2%;
  letter-spacing: 0.15em;
}

.voice_details time span {
  display: block;
  line-height: normal;
  padding: 2px 15px;
  border-radius: 75px;
  color: #fff;
  background-color: #f3806d;
}

.voice_details .img100 {
  text-align: center;
}

.voice_details .img100 img {
  max-width: 751px;
}

.voice_details .midashi30 {
  border-bottom: 1px solid #dcdcdc;
  padding-bottom: 25px;
  margin-bottom: 9%;
}

/*area*/
#lower_fastImg.area {
  background: url(../images/main_area.webp) center/cover;
}

.area_sec {
  border-radius: 0 0 90px 90px;
}

.area_banner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 10px;
}

.area_banner a:hover {
  opacity: 0.7;
}

/*privacy*/
#lower_fastImg.privacy {
  background: url(../images/main_privacy.webp) center/cover;
}

.privacy_list {
  display: grid;
  gap: 10px;
}

.privacy_list li {
  line-height: normal;
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-size: clamp(19px, 1.75vw, 23px);
}

.privacy_list li span {
  position: relative;
  bottom: 2px;
  background-color: #f3806d;
  border-radius: 50%;
  width: 100%;
  max-width: 10px;
  height: 10px;
  display: block;
}

.privacy_list02 {
  display: grid;
  gap: 20px;
}

.privacy_list02 li {
  line-height: normal;
  display: flex;
  align-items: baseline;
  gap: 5px;
  font-size: clamp(19px, 1.75vw, 23px);
}

.privacy_list02 li span {
  color: #f3806d;
}

/*contact*/
#lower_fastImg.contact {
  background: url(../images/main_contact.webp) center/cover;
}

.contact_sec01 .bg_fbf0f0.contactBox {
  border-radius: 30px;
  padding: 50px 6vw;
  background-color: #fbf0f0;
}

.contact_sec01 .bg_fbf0f0.contactBox a {
  display: block;
}

#contactPage_free_tel img {
  width: 100%;
  max-width: 563px;
}

#contactPage_tel img {
  width: 100%;
  max-width: 507px;
}

.line_contents {
  border: 7px solid #22ac38;
  padding: 50px 6vw;
  text-align: center;
  border-radius: 30px;
}

#contactPage_line img {
  width: 100%;
  max-width: 420px;
}

.contact_form li {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 2vw;
  align-items: baseline;
  padding-bottom: 3%;
  border-bottom: 1px solid #dcdcdc;
}

.contact_form li div.type {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.contact_form li div.type p {
  letter-spacing: 0.06em;
}

.contact_form li div.type span {
  background-color: #e3492f;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: normal;
  text-align: center;
  width: 100%;
  max-width: 70px;
  height: 30px;
  color: #fff;
  border-radius: 75px;
}

.contact_form li .address {
  display: grid;
  gap: 15px;
}

.contact_form li .address .flex {
  display: flex;
  gap: 10px;
  align-items: center;
}

.contact_form li .address .flex input {
  max-width: 280px;
}

.contact_form li:nth-child(n + 2) {
  padding-top: 3%;
}

.contact_form li:last-child {
  align-items: flex-start;
}

.contact_form li:last-child div.type {
  padding-top: 25px;
}

.input_text {
  background-color: #fffafa;
  border: none;
  border-radius: 10px;
  padding: 0 2%;
  width: 100%;
  height: 70px;
}

.textarea {
  background-color: #fffafa;
  border: none;
  border-radius: 10px;
  padding: 0 2%;
  width: 100%;
  height: 400px;
}

.submit {
  position: relative;
  width: 100%;
  max-width: 400px;
  height: 85px;
  border-radius: 75px;
  margin: 0 auto;
  transition: .3s;
}

.submit input {
  border: 1px solid #e3492f;
  background-color: #e3492f;
  color: #fff;
  font-size: clamp(19px, 1.8vw, 24px);
  transition: .3s;
}

.submit:after {
  content: "▲";
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%) rotateZ(90deg);
  width: 24px;
  height: 24px;
  background-color: #fff;
  border-radius: 50%;
  color: #e3492f;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 3px;
  transition: .3s;
}

.submit:hover input {
  background-color: #fff;
  color: #e3492f;
}

.submit:hover:after {
  background-color: #e3492f;
  color: #fff;
}

.privacy_link {
  border-bottom: 1px solid #f3806d;
}

/*column*/
#lower_fastImg.column {
  background: url(../images/main_column.webp) center/cover;
}

.column_contents {
  display: grid;
  grid-template-columns: 65% 29%;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2vw;
}

.column_contents .right {
  display: grid;
  gap: 6%;
}

.column_list02 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3vw;
  row-gap: 90px;
}

.column_list02 li a .img100 {
  position: relative;
  width: 100%;
  max-width: 330px;
  height: 230px;
  overflow: hidden;
  border-radius: 15px;
}

.column_list02 li a .img100 img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  border-radius: 15px;
  transition: .3s;
}

.column_list02 li a p {
  transition: .3s;
}

.column_list02 li a time {
  letter-spacing: 0.1em;
  padding-top: 10px;
  display: block;
}

.column_list02 li a .midashi22 {
  padding: 0 0 30px;
  line-height: 1.7em;
}

.column_list02 li a .category {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.column_list02 li a:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

.column_list02 li a:hover p {
  color: #e3492f;
}

.category_box02 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.category_box02 span {
  border: 1px solid #f3806d;
  border-radius: 75px;
  padding: 2px 20px;
  color: #e3492f;
  display: block;
  line-height: normal;
}

.column_details .profile_box {
  background-color: #fffafa;
  border-radius: 40px;
  padding: 45px 2vw;
  display: grid;
  grid-template-columns: 23% 72%;
  justify-content: space-between;
  gap: 1.5vw;
  align-items: center;
}

.column_details .profile_box .font2 {
  border-bottom: 1px solid #f3806d;
  padding-bottom: 5px;
  margin-bottom: 15px;
}

.column_details .profile_box .midashi18 {
  line-height: 1.7em;
}

.column_details .profile_box .text {
  line-height: 1.7em;
}

.column_details h2 {
  font-size: clamp(21px, 2.3vw, 28px);
  font-family: "heisei-maru-gothic-std", sans-serif;
  font-weight: 800;
  font-style: normal;
  background-color: #f3806d;
  color: #fff;
  line-height: 1.7em;
  padding: 2px 20px;
  border-radius: 12px;
  margin: 30px 0;
}

.column_details h3 {
  font-family: "heisei-maru-gothic-std", sans-serif;
  font-weight: 800;
  font-style: normal;
  font-size: clamp(19px, 1.8vw, 24px);
  border-top: 1px solid #f3806d;
  border-bottom: 1px solid #f3806d;
  padding: 15px 8px;
  font-weight: 400;
  margin: 25px 0;
}

.wp-block-image {
  padding: 5px 0 20px;
}

.category_search .midashi28 {
  display: flex;
  align-items: center;
  gap: 10px;
  letter-spacing: 0.04em;
  border-bottom: 1px solid #dcdcdc;
  padding-bottom: 10px;
}

.category_search ul {
  margin-top: 15px;
}

.category_search ul li a {
  font-size: clamp(16px, 1.5vw, 18px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background-image: repeating-linear-gradient(90deg, #dcdcdc, #dcdcdc 2px, transparent 2px, transparent 4px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 1px;
  padding-bottom: 15px;
}

.category_search ul li a i {
  display: block;
  background-image: url(../images/category_arrow.webp);
  background-size: cover;
  width: 100%;
  max-width: 16px;
  height: 16px;
}

.category_search ul li a:hover {
  color: #e3492f;
}

.category_search ul li:nth-child(n + 2) a {
  padding-top: 15px;
}

.ranking_box .midashi28 {
  display: flex;
  align-items: center;
  gap: 15px;
  letter-spacing: 0.04em;
  border-bottom: 1px solid #dcdcdc;
  padding-bottom: 10px;
}

.ranking_box ul {
  margin-top: 50px;
}

.ranking_box ul li a {
  display: grid;
  grid-template-columns: 40% 59%;
  justify-content: space-between;
  gap: 1%;
  align-items: center;
}

.ranking_box ul li a .img_box {
  position: relative;
  width: clamp(50px, 10vw, 150px);
  height: clamp(50px, 10vw, 150px);
  overflow: hidden;
  border-radius: 15px;
}

.ranking_box ul li a .img_box img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  height: auto;
  border-radius: 15px;
}

.ranking_box ul li a .img_box span {
  position: absolute;
  top: 20px;
  left: 4px;
  font-size: 20px;
  display: block;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  font-weight: 400;
}

.ranking_box ul li a .right div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.ranking_box ul li a .right span {
  background-color: #e3492f;
  border-radius: 75px;
  color: #fff;
  padding: 2px 10px;
  display: block;
  line-height: normal;
  width: fit-content;
  font-size: 14px;
}

.ranking_box ul li a .right p {
  line-height: 1.8em;
  padding-top: 5px;
  font-weight: 400;
}

.ranking_box ul li a:hover {
  opacity: 0.6;
}

.ranking_box ul li:nth-child(1) .img_box span {
  background-color: #d3a003;
}

.ranking_box ul li:nth-child(2) .img_box span {
  background-color: #898989;
}

.ranking_box ul li:nth-child(3) .img_box span {
  background-color: #996c33;
}

.ranking_box ul li:nth-child(n + 2) {
  margin-top: 15px;
}

.column_details_contactBox {
  border: 40px solid #fac1b7;
  border-radius: 20px;
}

.column_details_contactBox .box {
  background-color: #fff;
  border-radius: 20px;
  padding: 20px;
  text-align: center;
}

.column_details_contactBox .box .midashi24 {
  background-color: #e3492f;
  border-radius: 75px;
  color: #fff;
}

.column_details_contactBox .box .btn_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.5%;
  margin-top: 30px;
}

#column_details_freeTel {
  margin-top: 25px;
  display: inline-block;
}

#column_details_freeTel img {
  width: 100%;
  max-width: 417px;
}

#column_details_tel {
  display: inline-block;
  margin: 25px 0 15px;
}

#column_details_tel img {
  width: 100%;
  max-width: 415px;
}

/*case*/
/************************************ case ************************************/
.s1 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.s1 ul li {
  width: 23%;
  text-align: center;
}

.s1 ul li a {
  display: block;
}

.s11 a {
  border: 2px solid #422209;
  color: #422209;
  text-decoration: none;
  padding: 10px 0;
  transition: 0.3s ease-in-out;
}

.s11 a:hover {
  border: 2px solid #422209;
  background-color: #422209;
  color: #fff;
}

.s12 a {
  border: 2px solid #eb6877;
  color: #eb6877;
  text-decoration: none;
  padding: 10px 0;
  transition: 0.3s ease-in-out;
}

.s12 a:hover {
  border: 2px solid #eb6877;
  background-color: #eb6877;
  color: #fff;
}

.s13 a {
  border: 2px solid #f3806d;
  color: #f3806d;
  text-decoration: none;
  padding: 10px 0;
  transition: 0.3s ease-in-out;
}

.s13 a:hover {
  border: 2px solid #f3806d;
  background-color: #f3806d;
  color: #fff;
}

.s14 a {
  border: 2px solid #aa89bd;
  color: #aa89bd;
  text-decoration: none;
  padding: 10px 0;
  transition: 0.3s ease-in-out;
}

.s14 a:hover {
  border: 2px solid #aa89bd;
  background-color: #aa89bd;
  color: #fff;
}

.s2 ul {
  display: flex;
  flex-wrap: wrap;
}

.s2 ul li {
  width: 29%;
  margin: 0 2%;
}

.s2 ul li:nth-child(n + 4) {
  padding-top: 60px;
}

.s2 ul li a {
  display: block;
  color: #422209;
  text-decoration: none;
  transition: 0.3s ease-in-out;
}

.s2 ul li a:hover {
  opacity: 0.8;
}

.s21 {
  position: relative;
  text-align: center;
}

.s21 img {
  width: 100%;
  height: auto;
}

.stitle1 {
  position: relative;
  top: -9px;
  background-color: #eb6877;
  color: #fff;
  padding: 5px 20px;
}

.stitle2 {
  position: relative;
  top: -9px;
  background-color: #f3806d;
  color: #fff;
  padding: 5px 20px;
}

.stitle3 {
  position: relative;
  top: -9px;
  background-color: #aa89bd;
  color: #fff;
  padding: 5px 20px;
}

.s22 {
  padding: 15px 0 10px;
}

/*midashi*/
.midashi {
  position: relative;
  padding-bottom: 25px;
}

.midashi:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #f3806d;
  width: 70px;
  height: 4px;
  border-radius: 1px;
}

.midashi .emphasis,
.midashi02 .emphasis {
  position: relative;
}

.midashi .emphasis:after,
.midashi02 .emphasis:after {
  content: "";
  position: absolute;
  top: -23px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fac1b7;
  border-radius: 50%;
  width: 13px;
  height: 13px;
}

.font14 {
  font-size: 14px;
}

.font15 {
  font-size: 15px;
}

.midashi18 {
  font-size: clamp(16px, 1.5vw, 18px);
}

.midashi20 {
  font-size: clamp(18px, 1.6vw, 20px);
}

.midashi22 {
  font-size: clamp(19px, 1.7vw, 22px);
}

.midashi23 {
  font-size: clamp(19px, 1.75vw, 23px);
}

.midashi24 {
  font-size: clamp(19px, 1.8vw, 24px);
}

.midashi25 {
  font-size: clamp(20px, 1.9vw, 25px);
}

.midashi26 {
  font-size: clamp(20px, 1.95vw, 26px);
}

.midashi28 {
  font-size: clamp(21px, 2.3vw, 28px);
}

.midashi30 {
  font-size: clamp(23px, 2.5vw, 30px);
}

.midashi32 {
  font-size: clamp(24px, 2.6vw, 32px);
}

.midashi35 {
  font-size: clamp(25px, 2.8vw, 35px);
}

.midashi38 {
  font-size: clamp(26px, 3vw, 38px);
}

.midashi40 {
  font-size: clamp(27px, 2.8vw, 40px);
}

.midashi43 {
  font-size: clamp(29px, 3vw, 43px);
}

.midashi45 {
  font-size: clamp(31px, 3.2vw, 45px);
}

.midashi48 {
  font-size: clamp(32px, 3.4vw, 48px);
}

.midashi50 {
  font-size: clamp(36px, 3.6vw, 50px);
}

.midashi52 {
  font-size: clamp(37px, 3.7vw, 52px);
}

.midashi55 {
  font-size: clamp(38px, 3.9vw, 55px);
}

.midashi60 {
  font-size: clamp(39px, 4vw, 60px);
}

.midashi65 {
  font-size: clamp(41px, 4.2vw, 65px);
}

.midashi70 {
  font-size: clamp(45px, 4.5vw, 70px);
}

.midashi75 {
  font-size: clamp(47px, 4.8vw, 75px);
}

.midashi80 {
  font-size: clamp(49px, 5vw, 80px);
}

/*color*/
.c-e3492f {
  color: #e3492f;
}

.c-f3806d {
  color: #f3806d;
}

.c-7e6b5a {
  color: #7e6b5a;
}

.c-22ac38 {
  color: #22ac38;
}

.c-fff {
  color: #fff;
}

/**/
.bg_fafafa {
  background-color: #fafafa;
}

.bg_fdf6f6 {
  background-color: #fdf6f6;
}

.bg_f3806d {
  background-color: #f3806d;
}

.bg_fffafa {
  background-color: #fffafa !important;
}

.bg_f19149 {
  background-color: #f19149;
}

.bg_e3492f {
  background-color: #e3492f;
}

.bg_fac1b7 {
  background-color: #fac1b7;
}

.bg_7e6b5a {
  background-color: #7e6b5a;
}

.bg_fff {
  background-color: #fff;
}

/*btn*/
.btn {
  position: relative;
  background-color: #e3492f;
  border: 1px solid #e3492f;
  width: 100%;
  max-width: 330px;
  height: 70px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 75px;
  color: #fff;
  font-size: clamp(15px, 1.3vw, 18px);
}

.btn span {
  position: absolute;
  right: 7%;
  top: 50%;
  transform: translateY(-50%) rotateZ(90deg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e3492f;
  width: 15.5px;
  height: 15.5px;
  border-radius: 50%;
  background-color: #fff;
  font-size: 8px;
  transition: .3s;
}

.btn.service04 {
  max-width: 530px;
  height: 105px;
  font-size: 22px;
}

.btn.service04 span {
  width: 22px;
  height: 22px;
  font-size: 10px;
  right: 5.5%;
  padding-bottom: 2px;
}

.btn:hover {
  background-color: #fff;
  color: #e3492f;
}

.btn:hover span {
  background-color: #e3492f;
  color: #fff;
}

/************************/
/* PC用
------------------------------------------------------------*/
@media only screen and (max-width: 1450px) {
  .header_box {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 4vw;
  }
  #h_nav ul li a {
    font-size: 14px;
  }
  .nav_box {
    top: clamp(155px, 11.8vw, 170px);
  }
  #h_nav.active .nav_box {
    top: clamp(54px, 4.1vw, 59px);
  }
  .header_box .h_contact {
    justify-content: end;
  }
  .header_box .h_contact img {
    width: 100%;
  }
  .header_box .h_contact .contact01 a:nth-child(1) img {
    max-width: 389px;
  }
  .header_box .h_contact .contact01 a:nth-child(2) img {
    max-width: 226px;
  }
  .header_box .h_contact .contact02 a:nth-child(1) img {
    max-width: 185px;
  }
  .header_box .h_contact .contact02 a:nth-child(2) img {
    max-width: 185px;
  }
  .flow_list .right .contact_box .left a:nth-child(1):after {
    left: -5.1vw;
  }
  .flow_list .right .contact_box {
    padding: 60px 3.7vw 60px 8vw;
  }
}

@media only screen and (max-width: 1400px) {
  .case_box a .img100 {
    width: 28vw;
    height: 20vw;
  }
  .column_list li a .top_box .img100 {
    width: 12vw;
    height: 9vw;
  }
}

@media only screen and (max-width: 1250px) {
  .column_contents {
    grid-template-columns: 56% 36%;
  }
  .column_list02 li a .img100 {
    max-width: 28vw;
    height: 18vw;
  }
}

@media only screen and (max-width: 1024px) {
  .padding100 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding110 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding120 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding130 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding140 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding150 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding160 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding170 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding180 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding190 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding200 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding210 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding220 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding230 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding240 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding250 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding260 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding270 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding280 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding290 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .padding300 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .margin100 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin110 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin120 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin130 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin140 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin150 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin160 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin170 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin180 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin190 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin200 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin210 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin220 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin230 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin240 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin250 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin260 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin270 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin280 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin290 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .margin300 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .pt-120 {
    padding-top: 80px;
  }
  .pt-130 {
    padding-top: 80px;
  }
  .pt-140 {
    padding-top: 80px;
  }
  .pt-150 {
    padding-top: 80px;
  }
  .pt-160 {
    padding-top: 80px;
  }
  .pt-170 {
    padding-top: 80px;
  }
  .pt-180 {
    padding-top: 80px;
  }
  .pt-190 {
    padding-top: 80px;
  }
  .pt-200 {
    padding-top: 80px;
  }
  .pt-210 {
    padding-top: 80px;
  }
  .pt-220 {
    padding-top: 80px;
  }
  .pt-230 {
    padding-top: 80px;
  }
  .pt-240 {
    padding-top: 80px;
  }
  .pt-250 {
    padding-top: 80px;
  }
  .pt-260 {
    padding-top: 80px;
  }
  .pt-270 {
    padding-top: 80px;
  }
  .pt-280 {
    padding-top: 80px;
  }
  .pt-290 {
    padding-top: 80px;
  }
  .pt-300 {
    padding-top: 80px;
  }
  .pb-120 {
    padding-bottom: 80px;
  }
  .pb-130 {
    padding-bottom: 80px;
  }
  .pb-140 {
    padding-bottom: 80px;
  }
  .pb-150 {
    padding-bottom: 80px;
  }
  .pb-160 {
    padding-bottom: 80px;
  }
  .pb-170 {
    padding-bottom: 80px;
  }
  .pb-180 {
    padding-bottom: 80px;
  }
  .pb-190 {
    padding-bottom: 80px;
  }
  .pb-200 {
    padding-bottom: 80px;
  }
  .pb-210 {
    padding-bottom: 80px;
  }
  .pb-220 {
    padding-bottom: 80px;
  }
  .pb-230 {
    padding-bottom: 80px;
  }
  .pb-240 {
    padding-bottom: 80px;
  }
  .pb-250 {
    padding-bottom: 80px;
  }
  .pb-260 {
    padding-bottom: 80px;
  }
  .pb-270 {
    padding-bottom: 80px;
  }
  .pb-280 {
    padding-bottom: 80px;
  }
  .pb-290 {
    padding-bottom: 80px;
  }
  .pb-300 {
    padding-bottom: 80px;
  }
  .mt-120 {
    margin-top: 80px;
  }
  .mt-130 {
    margin-top: 80px;
  }
  .mt-140 {
    margin-top: 80px;
  }
  .mt-150 {
    margin-top: 80px;
  }
  .mt-160 {
    margin-top: 80px;
  }
  .mt-170 {
    margin-top: 80px;
  }
  .mt-180 {
    margin-top: 80px;
  }
  .mt-190 {
    margin-top: 80px;
  }
  .mt-200 {
    margin-top: 80px;
  }
  .mt-210 {
    margin-top: 80px;
  }
  .mt-220 {
    margin-top: 80px;
  }
  .mt-230 {
    margin-top: 80px;
  }
  .mt-240 {
    margin-top: 80px;
  }
  .mt-250 {
    margin-top: 80px;
  }
  .mt-260 {
    margin-top: 80px;
  }
  .mt-270 {
    margin-top: 80px;
  }
  .mt-280 {
    margin-top: 80px;
  }
  .mt-290 {
    margin-top: 80px;
  }
  .mt-300 {
    margin-top: 80px;
  }
  .mb-120 {
    margin-bottom: 80px;
  }
  .mb-130 {
    margin-bottom: 80px;
  }
  .mb-140 {
    margin-bottom: 80px;
  }
  .mb-150 {
    margin-bottom: 80px;
  }
  .mb-160 {
    margin-bottom: 80px;
  }
  .mb-170 {
    margin-bottom: 80px;
  }
  .mb-180 {
    margin-bottom: 80px;
  }
  .mb-190 {
    margin-bottom: 80px;
  }
  .mb-200 {
    margin-bottom: 80px;
  }
  .mb-210 {
    margin-bottom: 80px;
  }
  .mb-220 {
    margin-bottom: 80px;
  }
  .mb-230 {
    margin-bottom: 80px;
  }
  .mb-240 {
    margin-bottom: 80px;
  }
  .mb-250 {
    margin-bottom: 80px;
  }
  .mb-260 {
    margin-bottom: 80px;
  }
  .mb-270 {
    margin-bottom: 80px;
  }
  .mb-280 {
    margin-bottom: 80px;
  }
  .mb-290 {
    margin-bottom: 80px;
  }
  .mb-300 {
    margin-bottom: 80px;
  }
  .header_box .h_contact {
    display: none;
  }
  #h_nav {
    display: none;
  }
  .slider_wrap {
    padding-bottom: 0;
  }
  #slider {
    height: 90vh !important;
  }
  .main_features {
    display: none;
  }
  .map .address_box {
    right: 2vw;
    width: 60%;
    padding: 40px 5vw;
  }
  .footer_box {
    grid-template-columns: repeat(1, 1fr);
    gap: 35px;
  }
  #f_insta {
    margin-top: 25px;
  }
  /*guide*/
  .guide_contents01 {
    padding: 80px 0;
  }
  .guide_point {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 4vw;
    row-gap: 50px;
  }
  /*service01*/
  .service01_sec02 .grid_box {
    padding: 2vw;
    grid-template-columns: repeat(1, 1fr);
    gap: 2vw;
  }
  .service01_sec04 .grid_contents li .midashi23 {
    font-size: clamp(14px, 1.6vw, 23px);
  }
  /*service02*/
  .service02_sec02 .grid_box {
    padding: 2vw;
    grid-template-columns: repeat(1, 1fr);
    gap: 2vw;
  }
  .service02_sec02 .grid_box {
    padding: 3vw;
    gap: 3vw;
  }
  /*service03*/
  .service03_type_contents li {
    width: 48%;
  }
  /*service04*/
  .service04_icon_contents {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3vw;
    row-gap: 2.5vw;
  }
  .service04_works_list {
    grid-template-columns: repeat(1, 1fr);
    column-gap: 2vw;
    row-gap: 2.5vw;
  }
  .service04_works_list li {
    padding: 30px 6vw 50px;
  }
  .service04_works_list li .number {
    font-size: 30px;
    width: 65px;
    height: 65px;
  }
  /*fee*/
  .fee_truck_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw;
  }
  /*voice*/
  .voice_list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3.5vw;
    row-gap: 60px;
  }
  /*area*/
  .area_banner {
    grid-template-columns: repeat(1, 1fr);
    gap: 7px;
    margin-bottom: 7px;
  }
  /*column*/
  .column_list02 li a .img100 {
    max-width: 23vw;
    height: 16vw;
  }
  /******************/
}

@media only screen and (max-width: 740px) {
  .flex_30 {
    width: 100%;
  }
  .flex_31 {
    width: 100%;
  }
  .flex_32 {
    width: 100%;
  }
  .flex_33 {
    width: 100%;
  }
  .flex_34 {
    width: 100%;
  }
  .flex_35 {
    width: 100%;
  }
  .flex_36 {
    width: 100%;
  }
  .flex_37 {
    width: 100%;
  }
  .flex_38 {
    width: 100%;
  }
  .flex_39 {
    width: 100%;
  }
  .flex_40 {
    width: 100%;
  }
  .flex_41 {
    width: 100%;
  }
  .flex_42 {
    width: 100%;
  }
  .flex_43 {
    width: 100%;
  }
  .flex_44 {
    width: 100%;
  }
  .flex_45 {
    width: 100%;
  }
  .flex_46 {
    width: 100%;
  }
  .flex_47 {
    width: 100%;
  }
  .flex_48 {
    width: 100%;
  }
  .flex_49 {
    width: 100%;
  }
  .flex_50 {
    width: 100%;
  }
  .flex_51 {
    width: 100%;
  }
  .flex_52 {
    width: 100%;
  }
  .flex_53 {
    width: 100%;
  }
  .flex_54 {
    width: 100%;
  }
  .flex_55 {
    width: 100%;
  }
  .flex_56 {
    width: 100%;
  }
  .flex_57 {
    width: 100%;
  }
  .flex_58 {
    width: 100%;
  }
  .flex_59 {
    width: 100%;
  }
  .flex_60 {
    width: 100%;
  }
  .flex_61 {
    width: 100%;
  }
  .flex_62 {
    width: 100%;
  }
  .flex_63 {
    width: 100%;
  }
  .flex_64 {
    width: 100%;
  }
  .flex_65 {
    width: 100%;
  }
  .flex_66 {
    width: 100%;
  }
  .flex_67 {
    width: 100%;
  }
  .flex_68 {
    width: 100%;
  }
  .flex_69 {
    width: 100%;
  }
  .flex_70 {
    width: 100%;
  }
  .padding100 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding110 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding120 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding130 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding140 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding150 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding160 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding170 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding180 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding190 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding200 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding210 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding220 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding230 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding240 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding250 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding260 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding270 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding280 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding290 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .padding300 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .margin100 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin110 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin120 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin130 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin140 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin150 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin160 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin170 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin180 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin190 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin200 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin210 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin220 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin230 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin240 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin250 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin260 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin270 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin280 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin290 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .margin300 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .pt-110 {
    padding-top: 60px;
  }
  .pt-120 {
    padding-top: 60px;
  }
  .pt-130 {
    padding-top: 60px;
  }
  .pt-140 {
    padding-top: 60px;
  }
  .pt-150 {
    padding-top: 60px;
  }
  .pt-160 {
    padding-top: 60px;
  }
  .pt-170 {
    padding-top: 60px;
  }
  .pt-180 {
    padding-top: 60px;
  }
  .pt-190 {
    padding-top: 60px;
  }
  .pt-200 {
    padding-top: 60px;
  }
  .pt-210 {
    padding-top: 60px;
  }
  .pt-220 {
    padding-top: 60px;
  }
  .pt-230 {
    padding-top: 60px;
  }
  .pt-240 {
    padding-top: 60px;
  }
  .pt-250 {
    padding-top: 60px;
  }
  .pt-260 {
    padding-top: 60px;
  }
  .pt-270 {
    padding-top: 60px;
  }
  .pt-280 {
    padding-top: 60px;
  }
  .pt-290 {
    padding-top: 60px;
  }
  .pt-300 {
    padding-top: 60px;
  }
  .pb-110 {
    padding-bottom: 60px;
  }
  .pb-120 {
    padding-bottom: 60px;
  }
  .pb-130 {
    padding-bottom: 60px;
  }
  .pb-140 {
    padding-bottom: 60px;
  }
  .pb-150 {
    padding-bottom: 60px;
  }
  .pb-160 {
    padding-bottom: 60px;
  }
  .pb-170 {
    padding-bottom: 60px;
  }
  .pb-180 {
    padding-bottom: 60px;
  }
  .pb-190 {
    padding-bottom: 60px;
  }
  .pb-200 {
    padding-bottom: 60px;
  }
  .pb-210 {
    padding-bottom: 60px;
  }
  .pb-220 {
    padding-bottom: 60px;
  }
  .pb-230 {
    padding-bottom: 60px;
  }
  .pb-240 {
    padding-bottom: 60px;
  }
  .pb-250 {
    padding-bottom: 60px;
  }
  .pb-260 {
    padding-bottom: 60px;
  }
  .pb-270 {
    padding-bottom: 60px;
  }
  .pb-280 {
    padding-bottom: 60px;
  }
  .pb-290 {
    padding-bottom: 60px;
  }
  .mt-110 {
    margin-top: 60px;
  }
  .mt-120 {
    margin-top: 60px;
  }
  .mt-130 {
    margin-top: 60px;
  }
  .mt-140 {
    margin-top: 60px;
  }
  .mt-150 {
    margin-top: 60px;
  }
  .mt-160 {
    margin-top: 60px;
  }
  .mt-170 {
    margin-top: 60px;
  }
  .mt-180 {
    margin-top: 60px;
  }
  .mt-190 {
    margin-top: 60px;
  }
  .mt-200 {
    margin-top: 60px;
  }
  .mt-210 {
    margin-top: 60px;
  }
  .mt-220 {
    margin-top: 60px;
  }
  .mt-230 {
    margin-top: 60px;
  }
  .mt-240 {
    margin-top: 60px;
  }
  .mt-250 {
    margin-top: 60px;
  }
  .mt-260 {
    margin-top: 60px;
  }
  .mt-270 {
    margin-top: 60px;
  }
  .mt-280 {
    margin-top: 60px;
  }
  .mt-290 {
    margin-top: 60px;
  }
  .mt-300 {
    margin-top: 60px;
  }
  .mb-110 {
    margin-bottom: 60px;
  }
  .mb-120 {
    margin-bottom: 60px;
  }
  .mb-130 {
    margin-bottom: 60px;
  }
  .mb-140 {
    margin-bottom: 60px;
  }
  .mb-150 {
    margin-bottom: 60px;
  }
  .mb-160 {
    margin-bottom: 60px;
  }
  .mb-170 {
    margin-bottom: 60px;
  }
  .mb-180 {
    margin-bottom: 60px;
  }
  .mb-190 {
    margin-bottom: 60px;
  }
  .mb-200 {
    margin-bottom: 60px;
  }
  .mb-210 {
    margin-bottom: 60px;
  }
  .mb-220 {
    margin-bottom: 60px;
  }
  .mb-230 {
    margin-bottom: 60px;
  }
  .mb-240 {
    margin-bottom: 60px;
  }
  .mb-250 {
    margin-bottom: 60px;
  }
  .mb-260 {
    margin-bottom: 60px;
  }
  .mb-270 {
    margin-bottom: 60px;
  }
  .mb-280 {
    margin-bottom: 60px;
  }
  .mb-290 {
    margin-bottom: 60px;
  }
  .mb-300 {
    margin-bottom: 60px;
  }
  /*menu*/
  .menu_link li a {
    padding: 25px 4vw;
    font-size: 18px;
  }
  .sp_nav01 .sp_nav_list a {
    font-size: 16px !important;
  }
  .sp_nav02 .sp_nav_list a {
    font-size: 16px !important;
  }
  .menu_banner_btn {
    margin: 45px auto 0;
    gap: 20px;
  }
  body {
    min-width: auto;
  }
  .header_box {
    width: 90%;
  }
  .catch {
    top: 50%;
    transform: translate(-50%, -50%);
    width: 86vw;
  }
  #slider {
    height: 80vh !important;
  }
  .credit_box {
    padding: 40px 6vw;
  }
  .sec02 .flex_box .bg_fdf6f6 {
    padding: 25px 6vw;
  }
  .sec02 .border_box {
    padding: 35px 6vw 40px;
  }
  .sec_contact .contact_box {
    margin: -10.5em auto 0;
    padding: 40px 6vw;
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .sec_contact .contact_box .right {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }
  .contact_midashi span {
    -webkit-text-stroke: 2px #f34629;
  }
  .sec03 .grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 35px;
  }
  .top_reason_midashi {
    padding-left: 20px;
  }
  .top_reason_midashi.number01:after {
    content: "1";
    left: -23px;
    bottom: 0;
    font-size: 80px;
  }
  .top_reason_midashi.number02:after {
    content: "2";
    left: -23px;
    bottom: 53px;
    font-size: 80px;
  }
  .top_reason_midashi.number03:after {
    content: "3";
    left: -18px;
    bottom: 46px;
    font-size: 80px;
  }
  .sec04 .container .flex_box .certificate:after {
    bottom: -50px;
    left: 30px;
  }
  .sec03 .deco01 {
    top: 2%;
    right: 9%;
  }
  .sec03 .deco02 {
    bottom: 0%;
    left: 5%;
  }
  .sec05 .grid01 {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }
  .sec05 .grid01 .img100 img {
    border-radius: 30px;
  }
  .sec05 .grid01 .left {
    border-radius: 30px;
    padding: 40px 6vw;
  }
  .sec05 .grid02 {
    grid-template-columns: repeat(1, 1fr);
    gap: 35px;
  }
  .sec05 .grid03 {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 35px;
  }
  .case_box {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .case_box a .img100 {
    width: 88vw;
    height: 48vw;
  }
  .sec07 .contact_box {
    position: absolute;
    top: -160px;
    left: 50%;
    padding: 35px 6vw;
    grid-template-columns: repeat(1, 1fr);
    gap: 35px;
  }
  .sec07 .contact_box .right {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }
  .sec07 .sec07_wrap {
    padding: 430px 0 80px;
  }
  .sec07 .sec07_wrap .grid_box {
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .sec07 .sec07_wrap .grid_box .box ul {
    width: 88%;
  }
  .sec07 .sec07_wrap .grid_box .box ul li {
    font-size: 18px;
    gap: 10px;
  }
  .sec07 .midashi50 span {
    line-height: 1.5em;
  }
  .sec08 {
    padding: 60px 0 30px;
  }
  .sec08 .container {
    margin-right: unset;
  }
  .sec08:after {
    height: 130px;
  }
  .sec08 .deco01 {
    top: 4%;
    right: 13%;
  }
  .flow_list {
    grid-template-columns: 60px 1fr;
    gap: 3vw;
  }
  .flow_list .number {
    max-width: 60px;
    height: 60px;
    font-size: 35px;
    line-height: 1em;
  }
  .flow_list .number i {
    max-width: 60px;
    height: 60px;
  }
  .flow_list .right .grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 4vw;
    padding-top: 10px;
  }
  .flow_list .right .contact_box {
    padding: 35px 3.7vw 35px 8vw;
    grid-template-columns: repeat(1, 1fr);
  }
  .flow_list .right .contact_box .right {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
  .flow_list_wrap .flow_list:nth-child(2) {
    margin-top: 35px;
  }
  .flow_list_wrap .flow_list:nth-child(n + 3) {
    margin-top: 50px;
  }
  .flow_list_wrap .flow_list .number i:after {
    height: 1330%;
  }
  .flow_list_wrap .flow_list:nth-child(1) .number i:after {
    height: 2000%;
  }
  .column_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .column_list li a .top_box .img100 {
    width: 24vw;
    height: 20vw;
  }
  .map iframe {
    height: 450px;
  }
  .map .address_box {
    position: unset;
    transform: unset;
    width: 100%;
    padding: 35px 6vw 0;
  }
  #map_tel {
    margin-top: 10px;
    display: block;
  }
  #map_tel img {
    max-width: 250px;
  }
  .sponsor_box {
    padding: 35px 0;
  }
  .sponsor_box ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 3vw;
  }
  .footer {
    padding-bottom: 20vw;
  }
  .footer .contact_box {
    margin: -10em auto 70px;
    padding: 45px 6vw;
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .footer .contact_box .right {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }
  .footer_box .right {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2vw;
    row-gap: 20px;
  }
  .footer_box .right ul:nth-child(1) li:nth-child(n + 4) {
    display: block;
  }
  .footer_box .right ul:nth-child(3) {
    display: none;
  }
  .f_logo {
    max-width: 200px;
  }
  .copy_box {
    padding: 25px 0;
    margin-top: 35px;
    display: grid;
    gap: 15px;
  }
  .pc_fixed_banner {
    display: none;
  }
  .sp_banner {
    position: fixed;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    grid-template-columns: repeat(3, 1fr);
    z-index: 99;
  }
  /*下層ページ*/
  #lower_fastImg {
    height: 45vw;
  }
  /*花あかりについて*/
  .about_sec01 .grid_box {
    grid-template-columns: repeat(1, 1fr);
    gap: 35px;
  }
  .about_sec01 .grid_box .midashi52 {
    writing-mode: unset;
    line-height: 1.5em;
    letter-spacing: 0.18em;
  }
  .about_sec01 .grid_box .right {
    padding-top: 0;
  }
  .loop_img li {
    margin: 0 1.3vw;
  }
  .about_sec03 .bg_fdf6f6 {
    padding: 6vw;
  }
  .about_sec03 .bg_fdf6f6 .grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 35px;
  }
  .about_company_list li {
    grid-template-columns: 28% 69%;
    gap: 1vw;
  }
  .about_map iframe {
    height: 320px;
  }
  /*estate*/
  .estate_deco01 {
    top: 15%;
    right: 3%;
    width: 17vw;
  }
  .estate_deco02 {
    bottom: -2%;
    left: 5%;
    width: 10.5vw;
  }
  .estate_Box {
    padding: 8vw;
  }
  .estate_sec03 .grid_box {
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .estate_sec03 .grid_box li {
    padding: 40px 6vw;
    min-height: 455px;
  }
  .estate_sec03 .grid_box li .midashi25 {
    font-size: clamp(18px, 1.9vw, 25px);
    letter-spacing: normal;
  }
  .estate_sec03 .grid_box li .img_box {
    height: 175px;
    gap: 10px;
  }
  /*guide*/
  .guide_contents01 {
    background: unset;
    display: grid;
    justify-content: center;
    gap: 15px;
    padding: 0;
  }
  .guide_contents01 div {
    gap: 15px;
  }
  .guide_contents01 p {
    width: 100%;
    height: 70px;
    padding: 0 4vw;
  }
  .guide_contents01 p:after {
    display: none;
  }
  .guide_sec01 .bg_fafafa {
    padding: 50px 6vw 35px;
    margin-top: 45px;
  }
  .contact_midashi img {
    width: 100%;
  }
  .guide_sec02 .contact_box {
    margin: -14em auto 70px;
    padding: 45px 6vw;
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .guide_sec02 .contact_box .right {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }
  .guide_sec03 .bg_fff {
    padding: 6vw;
  }
  .guide_sec03 .midashi50 span {
    line-height: 1.5em;
  }
  .guide_point {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 35px;
  }
  .guide_midashi_box {
    padding: 80px 0;
  }
  .guide_midashi_box img {
    width: 100%;
  }
  .guide_banner_box {
    grid-template-columns: repeat(1, 1fr);
    gap: 1%;
  }
  .sec02.guide .flex_box .bg_fdf6f6 {
    padding: 7vw 6vw;
  }
  /*遺品整理サービス*/
  .service_sec01 .service_deco01 {
    left: 4vw;
    top: 5%;
    width: 16vw;
  }
  .service_sec01 .service_deco02 {
    top: 58%;
    right: 10%;
    width: 8vw;
  }
  .service_sec01 .service_img01 {
    top: 23%;
    width: 25.5vw;
  }
  .service_sec01 .service_img02 {
    bottom: 8%;
    width: 22.5vw;
  }
  .service_sec01 .service_img03 {
    bottom: -4%;
    right: 10%;
    width: 23vw;
  }
  .service_sec02 {
    padding-top: 100px;
  }
  .service_contents01 {
    padding: 6vw;
  }
  .service_contents02 {
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .service_contents02 li {
    padding: 6vw;
    grid-template-rows: unset;
    gap: 35px;
  }
  /*service01*/
  .service01_sec01 {
    padding-top: 120px;
  }
  .service01_deco01 {
    top: 17%;
    left: 6%;
    width: 12vw;
  }
  .service01_sec02 .grid_box {
    padding: 4vw;
    gap: 4vw;
  }
  .service01_sec02 .grid_box .midashi26 {
    line-height: 1.7em;
    padding-bottom: 15px;
  }
  .service01_features .flex_box {
    padding-bottom: 35px;
  }
  .service01_features .flex_box:nth-child(n + 2) {
    padding-top: 35px;
  }
  .service01_features .flex_box .type {
    margin-top: 0;
  }
  .service01_sec04 .grid_contents {
    column-gap: 3.5vw;
    row-gap: 35px;
  }
  .service01_sec04 .grid_contents li {
    width: 47%;
  }
  .service01_sec04 .grid_contents li .img100 span {
    top: 5%;
    left: 6%;
  }
  .service01_sec04 .grid_contents li .bg_f3806d {
    margin-top: -2em;
    padding: 0 2vw;
    min-height: 125px;
  }
  .service01_sec04 .grid_contents li .bg_f3806d:after {
    top: -17px;
    right: 3%;
  }
  .service01_banner_box {
    padding: 45px 6vw;
  }
  .service01_banner_box .grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .service01_banner_box .grid .right {
    padding: 40px 6vw;
  }
  /*service02*/
  .service02_midashi01 {
    width: fit-content;
  }
  .service02_deco02 {
    top: 25%;
    left: 10%;
    width: 8.7vw;
  }
  .service02_deco03 {
    top: 15%;
    right: 6%;
    width: 12.5vw;
  }
  /*service03*/
  .service03_type_contents {
    gap: 4vw;
  }
  .service03_type_contents li {
    width: 100%;
    padding: 6vw;
  }
  .service03_type_contents li .midashi20 {
    font-size: 18px;
  }
  /*service04*/
  .service04_icon_contents li {
    padding: 30px 4vw 40px;
    border-radius: 20px;
  }
  .service04_icon_contents li .midashi25 {
    font-size: 17px;
  }
  /*service05*/
  .service05_merit {
    grid-template-columns: repeat(1, 1fr);
    gap: 6vw;
  }
  .service05_merit li {
    padding: 40px 6vw 50px;
  }
  .service05_sec_merit {
    padding: 40px 0 70px;
    margin-top: 4%;
  }
  /*service06*/
  .service06_icon_contents {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw;
  }
  .service06_icon_contents li {
    padding: 35px 4vw;
  }
  /*service08*/
  .service08_support_grid {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 35px;
  }
  /*fee*/
  .fee_midashi {
    line-height: 2.1em;
  }
  .fee_midashi i {
    position: relative;
    bottom: 10px;
  }
  .fee_truck_grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .fee_truck_grid li {
    padding: 6vw;
    grid-template-rows: 50px 200px 1fr;
    gap: 15px;
  }
  .fee_truck_grid li .text_box p {
    gap: 4%;
  }
  .fee_truck_grid li .text_box p span {
    padding: 1px 15px 3px;
  }
  .fee_table02 {
    width: 200%;
  }
  .sp_scroll {
    overflow-x: scroll;
  }
  .fee_arrow {
    max-width: 120px;
  }
  .fee_house_cleaning {
    grid-template-columns: repeat(1, 1fr);
    gap: 3vw;
  }
  .fee_house_cleaning li .text_box {
    padding: 5vw;
  }
  .fee_house_cleaning li .text_box .midashi55 {
    font-size: clamp(37px, 3.9vw, 55px);
  }
  .fee_house_cleaning li .text_box .midashi35 span:after {
    content: "(税込)";
    top: -57%;
    font-size: 12px;
  }
  .fee_set_grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .fee_set_grid .box {
    padding: 30px 4vw 45px;
  }
  .fee_set_grid .box .icon_box {
    gap: 2vw;
  }
  .fee_set_grid .box .midashi50 span:after {
    content: "(税込)";
    top: -35%;
    transform: translateX(-55%);
    font-size: 11px;
  }
  /*faq*/
  .faq_anchor {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw;
  }
  .faq_anchor a {
    min-height: 72px;
    align-items: center;
    text-align: center;
  }
  .faq-question .toggle {
    right: 2.5%;
    font-size: 30px;
  }
  .faq_sec01 .faq-question {
    padding: 18px 15px;
    gap: 15px;
  }
  .faq_sec01 .faq-question p {
    font-size: 17px;
    width: 74%;
  }
  .faq_sec01 .faq-answer p {
    font-size: 15px;
  }
  /*voice*/
  .voice_list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 4vw;
    row-gap: 50px;
  }
  .voice_list li time {
    display: grid;
    gap: 0;
    margin-top: 15px;
    margin-bottom: 10px;
  }
  .voice_list li time span {
    order: 0;
  }
  .voice_list li .midashi18 {
    padding-bottom: 5px;
    margin-bottom: 5px;
  }
  /**/
  .column_contents {
    grid-template-columns: repeat(1, 1fr);
    gap: 5px;
  }
  .column_contents .right {
    gap: 35px;
    margin-top: 45px;
  }
  .column_list02 {
    column-gap: 3vw;
    row-gap: 35px;
  }
  .category_box02 span {
    padding: 2px 10px;
    font-size: 13px;
  }
  .column_list02 li a .img100 {
    max-width: 43vw;
    height: 30vw;
  }

  .rank-list .right {
    gap: 5px;
    margin-top: 0;
  }
  
  .ranking_box ul {
    margin-top: 10px;
  }
  .ranking_box ul li a .img_box {
    position: relative;
    width: 34vw;
    height: 32vw;
    border-radius: 15px;
  }
  .ranking_box ul li:nth-child(n + 2) {
    margin-top: 0;
  }
  .column_details_contactBox {
    border: 20px solid #fac1b7;
  }
  .column_details_contactBox .box {
    padding: 25px;
  }
  .column_details_contactBox .box .btn_grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
    margin-top: 10px;
  }
  .column_details .profile_box {
    padding: 25px 6vw;
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }
  .column_details .profile_box .img100 {
    text-align: center;
  }
  .column_details .profile_box .img100 img {
    width: 40%;
  }
  /*contact*/
  .contact_form li {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
    padding-bottom: 6%;
  }
  .contact_form li div.type {
    justify-content: start;
    gap: 15px;
  }
  .contact_form li div.type span {
    font-size: 15px;
    max-width: 60px;
    height: 25px;
  }
  .contact_form li:nth-child(n + 2) {
    padding-top: 6%;
  }
  .input_text {
    padding: 0 3%;
    height: 50px;
  }
  .textarea {
    padding: 0 3%;
    height: 250px;
  }
  /************************************ case ************************************/
  .s1 ul li {
    width: 49%;
    margin: 1% 0;
  }
  .s2 ul {
    justify-content: space-between;
  }
  .s2 ul li {
    width: 48%;
    margin: 0;
  }
  .s2 ul li:nth-child(n + 3) {
    padding-top: 30px;
  }
  .stitle1 {
    top: -9px;
    padding: 5px 10px;
    font-size: 14px;
  }
  .stitle2 {
    padding: 5px 10px;
    font-size: 14px;
  }
  .stitle3 {
    padding: 5px 10px;
    font-size: 14px;
  }
  .s22 {
    padding: 10px 0 10px;
    font-size: 14px;
  }
  .s231 {
    font-size: 14px;
  }
  .s232 {
    font-size: 14px;
  }
  .s233 {
    font-size: 14px;
  }
  /*midashi*/
  .midashi {
    padding-bottom: 20px;
  }
  .midashi:after {
    width: 45px;
    height: 3px;
  }
  .midashi .emphasis:after, .midashi02 .emphasis:after {
    top: -14px;
    width: 9px;
    height: 9px;
  }
  .midashi02 {
    line-height: 2.2em;
  }
  .midashi52 {
    font-size: clamp(33px, 3.7vw, 52px);
  }
  .midashi50 {
    font-size: clamp(33px, 3.6vw, 50px);
  }
  /*btn*/
  .btn {
    max-width: 330px;
    font-size: 16px;
  }
  .btn.service04 {
    max-width: 330px;
    height: 75px;
    font-size: 18px;
  }
  /*****************/
}

/* スマートフォン 縦(ポートレート) */
