/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.3.6,
* Autoprefixer: v10.3.1
* Browsers: last 4 version
*/

html {
  margin-top: 0 !important;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background-color: #f7f7f7;
}

::-webkit-scrollbar-thumb {
  background-color: rgba(19, 156, 183, 0.45);
  border-radius: 50px;
}

.max960 {
  max-width: 960px;
  margin: auto;
}

.max720 {
  max-width: 720px;
  margin: auto;
}

.max640 {
  max-width: 640px;
  margin: auto;
}

.max480 {
  max-width: 480px;
  margin: auto;
}


.post_content ol li {
  list-style: decimal;
}

.post_content ul:not(.is-style-index, .is-style-bad_list, .is-style-check_list, .is-style-good_list) li {
  list-style: circle;
}

.post_content .page_contents ol li,
.post_content .page_contents ul li {
  list-style: none;
}

/* ===== body / 自動生成 title ===== */
div#body_wrap {
  padding-top: 110px;
  /*padding-top: 185px;*/
  background: #fff;
}

.page .l-content {
  padding-top: 0;
  margin: 0 auto;
}

.page #content {
  overflow-x: hidden;
  overflow-y: auto;
  padding: 1% 0 5% 0;
}

.page .l-mainContent {
  width: 100%;
  max-width: 100%;
  margin: auto;
}

.page .l-topTitleArea {
  min-height: unset;
  max-height: unset;
  height: auto;
  padding: 10px;
}

.page .content_box {
  max-width: 1200px;
  margin: auto;
}

#body_wrap.single~.lum-lightbox.lum-open {
  display: none !important;
}

#body_wrap.single .luminous {
  cursor: default !important;
}


/* ===== header ===== */
header.add_le {
  position: fixed;
  width: 100%;
  height: auto;
  min-height: 198px;
  top: 0;
  left: 0;
  background: #fff;
  padding: 8px 5px;
  z-index: 10;
}

header.add_le .hamburger-menu {
  display: none;
}

.menu-btn {
  position: fixed;
  top: 20px;
  right: 10px;
  display: flex;
  height: 70px;
  width: 70px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: #1d93ac;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #fff;
  position: absolute;
}

.menu-btn span:before {
  bottom: 8px;
}

.menu-btn span:after {
  top: 8px;
}

#menu-btn-check:checked~.menu-btn {
  background: #1d93ac;
}

#menu-btn-check:checked~.menu-btn span {
  background-color: rgba(255, 255, 255, 0);
  /*メニューオープン時は真ん中の線を透明にする*/
}

#menu-btn-check:checked~.menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#menu-btn-check:checked~.menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}

#menu-btn-check {
  display: none;
}

.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;
  /*leftの値を変更してメニューを画面外へ*/
  z-index: 80;
  background-color: #fff;
  transition: all 0.5s;
  /*アニメーション設定*/
  overflow-x: hidden;
  overflow-y: scroll;
  padding: 65px 5px 10px;
}

.menu-content .tel-link {
  width: 100%;
  display: none;
}


.menu-content ul li {
  border-bottom: solid 1px #1d93ac;
  list-style: none;
}

.menu-content ul li a {
  display: block;
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  color: #1d93ac;
  text-decoration: none;
  padding: 8px 15px 8px 0;
  position: relative;
}

.menu-content ul li .sub-menu {
  background: #e6f3f4;
}

.menu-content ul li .sub-menu a {
  display: block;
  width: 100%;
  padding: 8px 20px 8px 5px;
  font-size: 14px;
  line-height: 1.8;
  color: #1d93ac;
  border-top: solid 1px #1d93ac;
  position: relative;
  z-index: 0;
}

.menu-content ul li .sub-menu a:first-child {
  border-top: 0;
}

.menu-content ul li span.sp_menu_text {
  display: block;
  width: 110px;
  color: #1d93ac;
  text-align: right;
  font-size: 9px;
  line-height: 1.2;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
}

.menu-content ul li a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #1d93ac;
  border-right: solid 2px #1d93ac;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 50%;
}

.menu-content ul li .sub-menu a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #1d93ac;
  border-right: solid 2px #1d93ac;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 50%;
}


.menu-content details summary {
  display: block;
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  color: #1d93ac;
  text-decoration: none;
  padding: 9px 15px 10px 0;
  position: relative;
}

.menu-content details summary::marker {
  display: none;
}

.menu-content details summary::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #1d93ac;
  border-right: solid 2px #1d93ac;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 16px;
}

.menu-content details summary span.more_btn {
  display: inline-block;
  background: #1d93ac;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%);
}

.menu-content details summary span.more_btn a {
  color: #fff;
  padding: 3px 5px;
  font-size: 12px;
}

.menu-content details summary span.more_btn a::before {
  display: none;
}

#menu-btn-check:checked~.menu-content {
  left: 0;
  /*メニューを画面内へ*/
}

.l-fixHeader::before {
  z-index: -1;
}

header section.header_top_area {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
  z-index: 2;
}

header section.header_top_area .header_pc_info {
  z-index: 1;
  width: 47%;
}

header section.header_top_area .header_pc_info ul {
  display: flex;
  justify-content: flex-end;
}

header section.header_top_area .header_pc_info li {
  display: inline-block;
  padding: 0 15px;
  line-height: 2rem;
  border-left: solid 2px #ccc;
}

header section.header_top_area .header_pc_info li a {
  font-size: 14px;
}

header section.header_top_area .header_pc_info li a::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 12px;
  background: url(../img/ico_arrow_black.png) no-repeat center / 6px 12px;
  margin-left: 8px;
}

header section.header_top_area .header_pc_research {
  width: 20%;
}

header section.header_top_area .header_cta_tel {
  z-index: 1;
  width: 39%;
  display: flex;
  justify-content: flex-end;
}

header section.header_top_area .header_cta_tel a {
  width: 86%;
}

header section.header_top_area .header_cta_tel a img {
  width: 100%;
}

header section.middle_area {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: auto;
}

header section.middle_area * {
  position: relative;
  z-index: 1;
}

header section.middle_area .logo_area {
  display: flex;
  align-items: center;
  width: 360px;
}

header section.middle_area .logo_area .pc-only {
  display: block;
}

header section.middle_area .logo_area .pc-only img {
  width: 100%;
  height: auto;
}

header section.middle_area .logo_area .sp-only {
  display: none;
}

header section.middle_area .cta_area {
  width: calc(100% - 360px);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 55px;
  padding-top: 12px;
}

header section.middle_area .cta_area a {
  display: inline-block;
  padding: 8px 8px 8px 30px;
  position: relative;
  font-size: 13px;
}

header section.middle_area .cta_area a.estimate {
  padding: 8px 8px 8px 8px;
}

header section.middle_area .cta_area a.estimate br {
  display: none;
}

header section.middle_area .cta_area a.partnership {
  border: solid 2px #666;
  color: #666;
  padding: 8px;
}

header section.middle_area .cta_area a.mail {
  /*color: #1d93ac;*/
  color: #fff;
  /*background: url(../img/ico_pagecta02_mail.png) no-repeat center left 8px / 20px auto;*/
  background-color: #00ba00;
  /*background-image: url(../img/ico_line_est.png);*/
  background-position: center left;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  /*border: solid 2px #1d93ac;*/
  border: solid 2px #00ba00;
  padding-left: 8px;
}

header section.middle_area .cta_area a.calendar {
  color: #fff;
  background: #1d93ac;
  border: solid 2px #1d93ac;
  padding-left: 8px;
}

header section.middle_area .cta_area a.estimate {
  /*color: #fccf00;*/
  color: #fff;
  /*background: url(../img/ico_estimate_wh.png) no-repeat center left 8px / 15px auto, #666;*/
  background: url(../img/ico_zoom_wh.png) no-repeat center left 8px / 34px auto, #0C5CFF;
  background: #0C5CFF;
  /*border: solid 2px #666;*/
  border: solid 2px #0C5CFF;
}

header section.middle_area .cta_area a.calendar::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 12px;
  background: url(../img/ico_arrow_wh.png) no-repeat center / 6px 12px;
  margin-left: 5px;
}

header section.middle_area .cta_area a.estimate::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 12px;
  /*background: url(../img/ico_arrow_yel.png) no-repeat center / 6px 12px;*/
  background: url(../img/ico_arrow_wh.png) no-repeat center / 6px 12px;
  margin-left: 5px;
}

header section.middle_area .cta_area a.tel {
  display: none;
}

header section.pagelink_area {
  max-width: 1200px;
  margin: 8px auto 0;
}

header section.pagelink_area ul {
  display: flex;
  justify-content: center;
  align-items: center;
}

header section.pagelink_area ul li {
  width: calc(100% / 7);
  text-align: center;
}

header section.pagelink_area ul li a {
  display: block;
  position: relative;
}

header section.pagelink_area ul li a::before {
  display: block;
  content: "";
  width: 30px;
  height: 30px;
  margin: 0 auto 8px;
}

header section.pagelink_area ul li.plan a::before {
  background: url(../img/ico_plan_aqua.png) no-repeat top center / 30px auto;
}

header section.pagelink_area ul li.option a::before {
  background: url(../img/ico_option_aqua.png) no-repeat top center / 30px auto;
}

header section.pagelink_area ul li.flow a::before {
  background: url(../img/ico_flow_aqua.png) no-repeat top center / 30px auto;
}

header section.pagelink_area ul li.voice a::before {
  background: url(../img/ico_voice_aqua.png) no-repeat top center / 30px auto;
}

header section.pagelink_area ul li.faq a::before {
  background: url(../img/ico_faq_aqua.png) no-repeat top center / 30px auto;
}

header section.pagelink_area ul li.guide a::before {
  background: url(../img/ico_guide_aqua.png) no-repeat top center / 30px auto;
}

header section.pagelink_area ul li a::after {
  display: inline-block;
  content: "";
  width: 6px;
  height: 12px;
  background: url(../img/ico_arrow_black.png) no-repeat center / 6px 12px;
  margin-left: 8px;
}

header .fidxed_bnr {
  width: 140px;
  position: fixed;
  top: 20%;
  right: 0;
}

header .fidxed_bnr ul {
  width: 140px;
  height: auto;
}

header .fidxed_bnr ul li {
  display: block;
  width: 100%;
}

header .fidxed_bnr ul li.sp {
  display: none;
}

header .fidxed_bnr ul li a {
  display: block;
  width: 100%;
  height: auto;
}

header .fidxed_bnr ul li a img {
  width: 100%;
  height: auto;
}

header .fidxed_header_tel {
  display: none;
}

/* ===== breadcrumb ===== */

/* ===== PC版フッターに合わせて ===== */
.add_le_footer {
  background: #1d93ac;
}

.add_le_footer .add_le_footer_inner {
  max-width: 1200px;
  margin: auto;
  padding: 20px 5px;
}

.add_le_footer .sp_footer_nav,
.add_le_footer .sp_floating_menu {
  display: none;
}

.add_le_footer .footer_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.add_le_footer .footer_area li {
  width: calc((100% - 80px)/3);
}

.add_le_footer .footer_area li.footer_cta {
  width: 100%;
  padding-bottom: 40px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.add_le_footer .footer_area .footer_cta_text {
  color: #fff;
  flex-grow: 1;
}

.add_le_footer .footer_area li.footer_cta .btn_tel {
  margin-left: 10px;
}

.add_le_footer .footer_area li.footer_cta .btn_tel img {
  /* width: auto; */
  width: 260px;
  /* height: 38px; */
  height: auto;
}

.add_le_footer .footer_area li.footer_cta .btn_form {
  margin-left: 10px;
}

.add_le_footer .footer_area li.footer_cta .btn_form a.estimate {
  display: inline-block;
  padding: 10px 15px 10px 45px;
  background: url(../img/ico_calculator_wh.png) no-repeat center left 15px/20px auto, #7dc5e8;
  color: #fff;
  border-radius: 30px;
}

.add_le_footer .footer_area li.footer_cta .btn_form a.estimate_visit {
  display: inline-block;
  padding: 10px 15px 10px 45px;
  background: url(../img/ico_calculator_wh.png) no-repeat center left 15px/20px auto, #f69d01;
  color: #fff;
  border-radius: 30px;
}

.footer_area li.footer_cta .btn_form a.zoom {
  display: inline-block;
  padding: 10px 15px 10px 45px;
  background: url(../img/ico_calculator_wh.png) no-repeat center left 15px/20px auto, #06B53B;
  color: #fff;
  border-radius: 30px;
}

.add_le_footer .footer_area .footer_nav a {
  display: block;
  font-size: 15px;
  color: #fff;
  line-height: 2em;
  position: relative;
  z-index: 0;
}

.add_le_footer .footer_area .footer_nav a::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: calc(50% - 4px);
  right: 15px;
  transform: rotate(45deg);
}

.add_le_footer .footer_area dl,
.add_le_footer .footer_area dt {
  margin: 0;
  padding: 0;
}

.add_le_footer .footer_area dd {
  margin-top: 10px;
  padding-top: 10px;
  border-top: solid 1px #fff;
}

.add_le_footer .footer_area_bottom {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  background: #fff;
  padding: 10px;
}

.add_le_footer .footer_area_bottom a {
  display: inline-block;
  font-size: 12px;
  position: relative;
  z-index: 0;
  padding: 0 35px 0 10px;
}

  /*=====2025.07.15フッター修正=======*/
  li.bottom_link.home-icon a::after {
    display:none;
    }
    li.bottom_link.home-icon a::before {
    content: url(https://www.karugamo.co.jp/contet/wp/wp-content/uploads/2025/07/home-icon-footer.png);
    display: block;
    width: 5px;
    height: 5px;
    scale: 0.28;
    position: absolute;
    top: 0px;
    left: -9px;
    }
    @media only screen and (max-width: 767px) {
    li.bottom_link.home-icon {
    width: 100%;
    text-align: center;
    }
    li.bottom_link.home-icon a {
    display: inline-block;
	padding-right: 0;
    }
    }
    /*=====2025.07.15フッター修正ここまで=======*/

.add_le_footer .footer_area_bottom a::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-top: solid 2px #1d93ac;
  border-right: solid 2px #1d93ac;
  position: absolute;
  top: calc(50% - 3px);
  right: 25px;
  transform: rotate(45deg);
}

.add_le_footer .footer_caution {
  background: #fccf00;
  padding: 20px;
}

.add_le_footer .footer_caution_inner {
  max-width: 1200px;
  margin: 0 auto;
  font-size: 14px;
  text-align: center;
}

.add_le_footer .copyright {
  font-size: 12px;
  color: #fff;
  padding: 10px;
}

.fNavB {
  display: block;
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
}

.fNavB ul {
  display: flex;
  background: #218ad9;
}

.fNavB ul li {
  display: flex;
  justify-content: center;
  width: calc(100% / 3);
}

.fNavB a {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: .3em 0 .3em;
  color: rgba(255, 255, 255, 1.00);
  font-size: 16px;
  text-align: center;
  line-height: 1.5
}

.fNavB ul li:after {
  top: 8px;
  height: 74%;
  /* background: #fff; */

}

.fNavB a.appliMailFoot {
  background: url("../img/float_icon_mail.png") 10px 27px / 18px 18px no-repeat rgba(254, 49, 155, 1);
}

.fNavB a.appliTelFoot {
  background: url("../img/float_icon_tel.png") 10px 27px / 18px 18px no-repeat rgba(33, 138, 217, 1);
}

.fNavB a span {
  display: block;
  font-size: .7em;
}

/* ===== 固定ヘッダーに合わせて ===== */

/* ===== 固定ページタイトル ===== */

article.l-mainContent__inner p strong {
  background: linear-gradient(transparent 64%, var(--color_mark_yellow) 0%);
}

article.l-mainContent__inner .post_content h4 {
  font-weight: normal;
}

article.l-mainContent__inner .post_content h4 strong {
  display: inline-block;
  padding: 0 .5em;
  margin-right: .3em;
  color: #fff;
  background-color: #f69d01;
  border-radius: 3px;
}

.wp-block-columns .instagram-media {
  max-height: 320px;
}

/* ===== 202203月CTA作り替え ===== */
.cta2203 {
  border-style: solid;
  border-width: 3px;
  max-width: 1080px;
  margin: 60px auto 0;
}

.cta2203 .cta_title {
  border-bottom: solid 1px #666;
  position: relative;
  z-index: 0;
  padding: 10px;
}

.cta2203 .cta_title h3 {
  font-size: 32px;
  line-height: 1.2em;
}

.cta2203 .cta_title h3 span {
  font-size: 24px;
  line-height: 1.2em;
}

.cta2203 .cta_title h3::before {
  height: 0;
  background: transparent;
}

.post_content .cta2203 .cta_title::after {
  content: "";
  display: block;
  width: 125px;
  height: 60px;
  background: url(../img/cta/page_cta_deco.png) no-repeat center top / auto 60px;
  position: absolute;
  right: -3px;
  bottom: -6px;
}

.cta2203 .linksbox {
  padding: 10px;
}

ul.linksitem.col02,
ul.linksitem.col03 {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.cta2203 ul.linksitem li {
  height: 66px;
  padding: 10px 42px 10px 10px;
  text-align: center;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 10px 0 0;
  line-height: 1.25em;
}

.cta2203 ul.linksitem li span {
  display: block;
  width: 100%;
}

ul.linksitem li.linkitem {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}

ul.linksitem li.linkitem::after {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background: url(../img/cta/ico_cta_arrow_right.png) no-repeat center / 23px auto;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translate(0, -50%);
}

ul.linksitem.col02 li {
  width: calc((100% - 10px)/2);
  margin-left: 10px;
}

ul.linksitem.col03 li {
  width: calc((100% - 20px)/3);
  margin-left: 10px;
}

ul.linksitem li:first-child {
  margin-left: 0;
}

ul.linksitem li a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

ul.linksitem.col02 .title {
  padding: 3px 0 3px 60px;
  position: relative;
  justify-content: flex-start;
  text-align: left;
}

ul.linksitem.col02 .title::before {
  content: "";
  display: block;
  width: 51px;
  height: 60px;
  background: url(../img/deco_karugamo04.png) no-repeat center top / 50px;
  position: absolute;
  left: 0;
  top: auto;
}

ul.linksitem.col02 .title .tel {
  font-size: 28px;
  line-height: 1em;
  margin: 0;
  color: #666;
  font-weight: bold;
}

ul.linksitem.col02 .title .small_text {
  font-size: 21px;
  display: block;
  margin: 0;
}

ul.linksitem.col02 .tel_icon {
  padding: 10px 10px 10px 42px;
}

ul.linksitem.col02 .tel_icon::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background: url(../img/cta/ico_cta_tel.png) no-repeat center / 24px 24px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translate(0, -50%);
}

ul.linksitem.col02 .tel_icon::after {
  display: none;
}

.cta2203 .linkitem .subtitle_icon {
  width: 60px;
  height: 42px;
  margin-right: 8px;
}

.cta2203.c_blue {
  border-color: #1d93ac;
}

.cta2203.c_blue .cta_title h3 {
  color: #1d93ac;
}

.cta2203.c_blue .linkitem {
  background: #1d93ac;
}

.cta2203.c_pink {
  border-color: #E75677;
}

.cta2203.c_pink.title_01 .cta_title h3 {
  color: #00a0e9;
}

.cta2203.c_pink.title_02 .cta_title h3 {
  color: #0071bc;
}

.cta2203.c_pink .linkitem {
  background: #E75677;
}

.cta2203.c_aqua {
  border-color: #00a0e9;
}

.cta2203.c_aqua .cta_title h3 {
  color: #E75677;
}

.cta2203.c_aqua .linkitem {
  background: #00a0e9;
}

.cta2203.c_grn {
  border-color: #009245;
}

.cta2203.c_grn .cta_title h3 {
  color: #e87626;
}

.cta2203.c_grn .linkitem {
  background: #009245;
}

.cta2203.c_org {
  border-color: #e87626;
}

.cta2203.c_org .cta_title h3 {
  color: #009245;
}

.cta2203.c_org .linkitem {
  background: #e87626;
}

/* ===== cta/カルガモ/メール・電話の2項目/青背景 ===== */

.page_cta02_blue01 {
  width: 96%;
  max-width: 780px;
  margin: 4% auto 0;
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/uploads/2021/11/deco_karugamo05.png) no-repeat left 10px center/90px auto, #1d93ac;
  padding: 10px 10px 10px 120px;
}

.page_cta02_blue01 .up_text p {
  font-size: 32px;
  font-weight: bold;
  color: #fff;
  letter-spacing: .045em;
}

.page_cta02_blue01 ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 96%;
  max-width: 640px;
  margin-right: auto;
}

.page_cta02_blue01 ul li {
  background: #fccf00;
}

.page_cta02_blue01 ul li a {
  display: flex;
  height: 100%;
  align-items: center;
  color: #1d93ac;
  font-size: 24px;
  font-weight: bold;
  padding: 8px 15px 8px 35px;
  text-align: center;
  position: relative
}

.post_content .page_cta02_blue01 ul li a::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  left: 5px;
  top: calc(50% - 12.5px);
  z-index: 1;
}

.post_content .page_cta02_blue01 ul li.mail a::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/uploads/2021/11/ico_pagecta02_mail.png) no-repeat center / 25px 25px;
}

.post_content .page_cta02_blue01 ul li.tel a::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/uploads/2021/11/ico_pagecta02_tel.png) no-repeat center / 25px 25px;
}

.page_cta02_blue01 ul li a img {
  height: 45px;
}

.page_cta02_blue01 ul .mail {
  display: inline-block;
  padding: 0 15px;
}

.page_cta02_blue01 ul .tel {
  display: inline-block;
  padding: 0 15px;
  margin-left: 10px;
}

/* ===== cta/コガモ便/電話番号/ピンク背景 ===== */
.page_cta_kogamo {
  width: 96%;
  max-width: 780px;
  margin: 20px auto 0;
}

.page_cta_kogamo a {
  display: block;
  padding: 1%;
  width: 100%;
  height: 100%;
}

.page_cta_kogamo span {
  display: block;
  text-align: center;
  font-weight: bold;
}

.page_cta_kogamo .white {
  font-size: 24px;
  line-height: 1.2;
}

.page_cta_kogamo .yel {
  font-size: 48px;
  line-height: 1.2;
}

/* 20220819_追加 */
.page_cta_kogamo02 {
  max-width: 780px;
  margin: 20px auto 0;
  position: relative;
  z-index: 0;
}

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

.page_cta_kogamo02 a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

/* ===== cta/格安軽トラ便/バナー/ ===== */

.page_cta_plan05 {
  width: 96%;
  max-width: 780px;
  margin: 20px auto 0;
}

.page_cta_plan05 a {
  width: 100%;
  height: 100%;
}

.page_cta_plan05 a img {
  width: 100%;
  height: auto;
}

/* ===== ===== 20220422/wiretap/盗聴発見サービス ===== ===== */
.content_deavesdropping .yel {
  color: #ffff00;
}

.content_deavesdropping .price_wrap h3 {
  position: relative;
  text-align: center;
}

.content_deavesdropping .price_wrap h3 span {
  display: block;
}

.content_deavesdropping .price_wrap h3::before,
.content_deavesdropping .price_wrap h3::after {
  content: "";
  display: block;
  width: 22px;
  height: 60px;
  position: absolute;
  top: calc(50% - 30px);
  background: url(../img/ico_eavesdropping_title.png) no-repeat center / 20px auto;
}

.content_deavesdropping .price_wrap h3::before {
  left: 0;
}

.content_deavesdropping .price_wrap h3::after {
  right: 0;
  transform: scale(-1, 1);
}

.content_deavesdropping .price_wrap ul li {
  width: 50%;
}

.content_deavesdropping .price_wrap ul li.textbox {
  padding-left: 50px;
}

.content_deavesdropping .price_wrap table {
  border: 0;
}

.content_deavesdropping .price_wrap th,
.post_content .content_deavesdropping tr:last-child>th,
.content_deavesdropping .price_wrap td,
.post_content .content_deavesdropping tr:last-child>td {
  background: transparent;
  border: 0;
  border-bottom: solid 1px #666;
}

.content_deavesdropping .price_wrap th {
  width: 180px;
  vertical-align: middle;
}

.content_deavesdropping .price_wrap .last th,
.content_deavesdropping .price_wrap .last td {
  border-bottom: 0;
}

.page_contents.option03 .content_deavesdropping .trank_cnt03 .deco_number {
  background: #1d93ac;
  color: #fff;
}

.page_contents.option03 .content_deavesdropping .trank_cnt03 .deco_number::before,
.page_contents.option03 .content_deavesdropping .trank_cnt03 .deco_number::after {
  background: #000;
}

.page_contents.option03 .content_deavesdropping .trank_cnt03 dt span.read {
  font-weight: normal;
  font-size: 16px;
}

.content_deavesdropping .service_point {
  margin-top: 120px;
}

.content_deavesdropping .service_point_inner {
  max-width: 820px;
  padding: 30px 10px 50px;
  border: solid 5px #1d93ac;
  background: #f7f7f7;
  border-radius: 12px;
  margin: 0 auto;
}

.content_deavesdropping .service_point_inner h3 {
  position: relative;
}

.content_deavesdropping .service_point_inner h3::before {
  content: "";
  display: block;
  width: 72px;
  height: 72px;
  background: url(../img/ico_eavesdropping01.png) no-repeat center bottom / 72px auto;
  margin: 0 auto;
  position: absolute;
  top: -72px;
  left: calc(50% - 36px);
}

.content_deavesdropping .service_point_inner figure {
  max-width: 240px;
  margin: 20px auto 0;
}

/* ===== =====  20220426/hoken/生命保険・損害保険見直しサービス ===== ===== */

.post_content .content_hoken *::before,
.post_content .content_hoken *::after {
  position: static;
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  border: none;
}

.content_hoken {}

.content_hoken .hoken_ploblem ul.flex {
  align-items: center;
}

.content_hoken .hoken_ploblem ul.flex ul.ploblem_items {
  padding-left: 30px;
}

.content_hoken .hoken_ploblem ul.flex ul.ploblem_items li {
  padding-left: 20px;
  position: relative;
  font-size: 20px;
  line-height: 50px;
}

.content_hoken .hoken_ploblem ul.flex ul.ploblem_items li::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: url(../img/hoken/ico_hoken_check_blue02.png) no-repeat center /100% auto;
  position: absolute;
  top: calc(50% - 8px);
  left: 0;
}

.content_hoken .hoken_solution_title {
  text-align: center;
}

.content_hoken .hoken_solution_title h2 {
  display: inline-block;
  position: relative;
  line-height: 1.6em;
}

.content_hoken .hoken_solution_title h2::before,
.content_hoken .hoken_solution_title h2::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 28px;
  background: url(../img/hoken/ico_hoken_caption_wh.png) no-repeat center left / 15px auto;
}

.content_hoken .hoken_solution_title h2::after {
  margin-left: 20px;
  transform: rotate(180deg);
}

.content_hoken .hoken_solution_title h2::before {
  margin-right: 20px;
}

.content_hoken .hoken_solution ul.flex {
  justify-content: space-between;
}

.content_hoken .hoken_solution ul.flex li {
  width: calc(50% - 20px);
  border-radius: 12px;
  padding: 30px 20px;
}

.content_hoken .hoken_solution ul.flex li p {
  color: #000;
}

.content_hoken .hoken_type {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.content_hoken .hoken_type_title h2 {
  color: #000;
}

.content_hoken .hoken_type_title h2 span {
  display: block;
}

.content_hoken .hoken_type ul.flex {
  margin-top: 40px;
}

.content_hoken .hoken_type ul.flex li {
  width: calc(100% / 5);
  text-align: center;
  padding: 0 10px;
}

.content_hoken .hoken_type ul.flex li figcaption {
  font-size: 24px;
  font-weight: bold;
  color: #1d93ac;
  margin-top: 20px;
}

.content_hoken .hoken_type_closing {}

.content_hoken .hoken_type_closing h4 {
  border-left: 0;
  padding: 0;
  font-size: 24px;
  font-weight: bold;
}

.content_hoken .hoken_type_closing {
  text-align: center;
}

.content_hoken .hoken_type_closing.headline {
  padding-top: 40px;
  margin-top: 60px;
  border-top: solid 3px #1d93ac;
  position: relative;
}

.content_hoken .hoken_type_closing.headline::after {
  content: "";
  display: block;
  width: 3px;
  height: 40px;
  transform: rotate(16deg);
  background: #1d93ac;
  position: absolute;
  left: calc(50% - 5px);
  top: -20px;
}

.content_hoken .hoken_type_closing .message {
  display: inline-block;
  position: relative;
  line-height: 1.6em;
  font-size: 32px;
  font-weight: bold;
}

.content_hoken .hoken_type_closing .message::before,
.content_hoken .hoken_type_closing .message::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 28px;
  background: url(../img/hoken/ico_hoken_caption_blue02.png) no-repeat center left / 15px auto;
}

.content_hoken .hoken_type_closing .message::after {
  margin-left: 20px;
  transform: rotate(180deg);
}

.content_hoken .hoken_type_closing .message::before {
  margin-right: 20px;
}

.content_hoken .hoken_staff {
  background: #9fe0e5;
  padding-bottom: 40px;
}

.content_hoken .hoken_staff ul.col02 {
  justify-content: space-between;
}

.content_hoken .hoken_staff ul.col02 li {
  width: calc((100% - 40px)/2);
}

.content_hoken .hoken_staff ul.col02 li p {
  margin-top: 5px;
}

.content_hoken .hoken_staff ul.col02 li p.company_name {
  margin-top: 0;
  line-height: 1.25em;
}

.content_hoken .hoken_staff .hoken_cta_links {
  justify-content: space-between;
}

.content_hoken .hoken_staff .hoken_cta_links li {
  width: calc((100% - 40px)/3);
}

.content_hoken .hoken_staff .hoken_cta_links li a {
  display: block;
  width: 100%;
  height: 50px;
  line-height: 50px;
  padding: 0 40px 0 20px;
  position: relative;
  z-index: 0;
  border-radius: 25px;
}

.content_hoken .hoken_staff .hoken_cta_links li a::after {
  content: "";
  display: block;
  width: 8px;
  height: 20px;
  background: url(../img/ico_arrow_wh.png) no-repeat center / 8px auto;
  position: absolute;
  right: 20px;
  top: 15px;
}

/* ===== =====  20220624/lp-document/不動産屋も知らなかったこと ===== ===== */
.lp_document {}

.lp_document .contents_item .mv_wrap figure figcaption {}

.lp_document .contents_item .mv_wrap figure figcaption.bg_red span {
  background: rgba(255, 0, 0, .7);
  color: #fff;
}

.lp_document .lp_document_box .title_box {
  background: #0071bc;
  text-align: center;
  font-size: bold;
  color: #fff;
  padding: 55px 50px;
}

.lp_document .lp_document_box .title_box h2 {
  background: transparent;
  font-size: 84px;
  line-height: 125%;
  margin: 25px 0;
  padding: 0;
}

.lp_document .lp_document_box .title_box .subtitle {
  font-size: 45px;
  line-height: 125%;
}

.lp_document .lp_document_contents {
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 1);
  background-image: repeating-linear-gradient(-42deg, transparent, transparent 1px, rgba(204, 227, 242, 1) 1px, rgba(204, 227, 242, 1) 41px);
  margin: 0;
}

.lp_document .lp_document_contents .cnt_inner {
  max-width: 865px;
  margin: auto;
  background-color: #fff;
  padding-top: 108px;
}

#main_content .lp_document .blue {
  color: #0071bc;
  font-weight: bold;
}

.lp_document .fs28 {
  font-size: 28px;
}

.lp_document .fs40 {
  font-size: 40px;
}

.lp_document .fs48 {
  font-size: 42px;
}

.lp_document .fs36 {
  font-size: 36px;
}

.lp_document .failure_image {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 60px 0 0;
  position: relative;
  z-index: 0;
}

.lp_document .failure_image.reverse {
  flex-direction: row-reverse;
}

.lp_document .failure_image .imagebox {
  width: 30%;
  position: relative;
  z-index: 0;
}

.lp_document .failure_image .imagebox img {
  height: auto;
  position: absolute;
  left: -100px;
  min-width: 445px;
  top: -120px;
}

.lp_document .failure_image.reverse .imagebox img {
  right: -100px;
  left: auto;
  min-width: 480px;
}

.lp_document .failure_image .textbox {
  width: 70%;
}

.lp_document .more_infomation {
  position: relative;
  z-index: 0;
}

.lp_document .more_infomation .all {
  padding: 0 5%;
  text-align: right;
}

.lp_document .more_infomation .all .blue {
  text-align: left;
}

.lp_document .failure_wrap {}

.lp_document .failure_wrap ul {
  max-width: 100%;
}

.lp_document .failure_wrap ul li {
  margin: 60px calc(50% - 50vw);
}

.lp_document .failure_wrap ul li picture {}

.lp_document .failure_wrap ul li img {
  display: block;
  width: 100%;
  max-width: 944px;
  margin: auto;
  box-shadow: 12px 12px 12px rgba(0, 0, 0, .25);
}

.lp_document .cta_wrap {
  margin: 0 calc(50% - 50vw);
  padding-top: 80px;
  position: relative;
  z-index: 0;
}

.lp_document .cta_wrap .cta_inner {
  width: 100%;
  max-width: 1020px;
  margin: auto;
  border: solid 1px #000;
  padding: 45px 40px;
  background: #fff;
}

.lp_document .cta_wrap .cta_inner h2 {
  background: transparent;
  font-size: 72px;
  line-height: 125%;
  margin: 25px 0;
  padding: 0;
  color: #000;
}

.lp_document .cta_wrap .cta_inner .subtitle {
  font-size: 45px;
  line-height: 125%;
  text-align: center;
}

.lp_document input[type=radio] {
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
  display: block;
  float: left;
  line-height: 26px;
  width: 1em !important;
  height: 1em !important;
  padding: 0;
  cursor: pointer;
  margin-right: 10px;
  margin-left: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  accent-color: #1d93ac;
  border: 1.4px solid #bfbfbf;
}

.lp_document .required_color {
  background-color: #fff !important;
}

.lp_document form.myForm input[type="submit"],
.lp_document form.myForm input[type="button"],
.lp_document form.myForm button {
  background-color: #1d93ac;
  color: #fff;
  border: none !important;
  padding: 0.25em 0.5em;
}




/* ===== ==== 共通化項目/デフォルトCSS打ち消し ===== ===== */
/* ===== WPのCSS打ち消し ===== */
.post_content .page_contents *::before,
.post_content .page_contents *::after {
  content: none;
}

/* ===== single/テーブル/１行目が全て見出しの場合の背景色 ===== */
.td_to_th_.bg_gray tr:nth-child(1) td {
  background: #e6f3f4;
}

.td_to_th_.bg_org tr:nth-child(1) td {
  background: #f69d01;
}

/* ===== page/.page_contents デフォルト化 ===== */
.page_contents p,
.page_contents ul,
.page_contents ol,
table,
th,
td,
dl,
dt,
dd {
  font-weight: 300;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;
  margin-top: 0.8rem;
  padding: 0;
}

.page_contents .small {
  font-size: 12px;
}

.page_contents .caution {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .2em;
  color: #e50012;
  display: block;
}

.page_contents .caution.wh {
  color: #fff;
}

/* ===== .page_contents テキスト寄せ ===== */
.page_contents .all {
  text-align: left;
}

.page_contents .alc {
  text-align: center;
}

.page_contents .alr {
  text-align: right;
}

/* ===== .page_contents 文字色 ===== */
#main_content .wh {
  color: #fff;
}

#main_content .gray {
  color: #666;
}

#main_content .pealgray {
  color: #eee;
}

#main_content .bk {
  color: #2c2c2c;
}

#main_content .grn {
  color: #009245;
}

#main_content #main_content .pealgrn {
  color: #8cc63f;
}

#main_content .blue {
  color: #1d93ac;
}

#main_content .blue02 {
  color: #1d93ac;
}

#main_content .aqua {
  color: #7dc5e8;
}

#main_content .aqua02 {
  color: #00a0e9;
}

#main_content .navy {
  color: #0071bc;
}

#main_content #main_content .pink {
  color: #f197ac;
}

#main_content .pink02 {
  color: #E75677;
}

#main_content .org {
  color: #e87626;
}

#main_content .yel {
  color: #ffff00;
}

#main_content .red {
  color: #b7282c;
}

/* ===== .page_contents 背景色 ===== */
#main_content .no_bg {
  background: transparent;
  color: inherit;
}

#main_content .bg_wh {
  background: #fff;
}

#main_content .bg_black {
  background: #111;
  color: #fff;
}

#main_content .bg_navy {
  background: #0071bc;
  color: #fff;
}

#main_content .bg_grn {
  background: #009245;
  color: #fff;
}

#main_content .bg_pealgrn {
  background-color: #8cc63f;
  color: #fff;
}

#main_content .bg_blue {
  background-color: #1d93ac;
  color: #fff;
}

#main_content .bg_blue02 {
  background-color: #1d93ac;
  color: #fff;
}

#main_content .bg_aqua {
  background-color: #7dc5e8;
  color: #fff;
}


#main_content .bg_aqua02 {
  background-color: #00a0e9;
  color: #fff;
}

#main_content .bg_pealaqua {
  background-color: #7dc5e8;
}

#main_content .bg_pink {
  background-color: #f197ac;
  color: #fff;
}

#main_content .bg_pink02 {
  background-color: #E75677;
  color: #fff;
}

#main_content .bg_pink03 {
  background-color: #f197ac;
  color: #fff;
}

#main_content .bg_org {
  background-color: #e87626;
  color: #fff;
}

#main_content .bg_org02 {
  background-color: #f69d01;
  color: #fff;
}

#main_content .bg_gray {
  background-color: #999;
  color: #fff;
}

#main_content .bg_pealgray {
  background-color: #eee;
  padding: 1em;
}

/* ===== .page_contents フォントサイズ ===== */
.page_contents h2 {
  font-size: 27px;
  margin: auto;
}

.page_contents h3 {
  font-size: 24px;
  margin: auto;
  padding: 0.25em;
}

.page_contents h4 {
  font-size: 21px;
  margin: auto;
}

.page_contents h5 {
  font-size: 18px;
  font-weight: 400;
  margin: auto;
}

.page_contents h6 {
  font-size: 16px;
  font-weight: 400;
  margin: auto;
}

/* ===== .page_contents フォントウェイト ===== */

.page_contents .strong,
.page_contents .bold,
.page_contents .fw700 {
  font-weight: 700;
  letter-spacing: 0.025em;
}

/* ===== .page_contents フォントサイズ ===== */
.page_contents .fs12 {
  font-size: 12px;
}

.page_contents .fs14 {
  font-size: 14px;
}

.page_contents .fs16 {
  font-size: 16px;
}

.page_contents .fs18 {
  font-size: 18px;
}

.page_contents .fs20 {
  font-size: 20px;
}

.page_contents .fs21 {
  font-size: 21px;
}

.page_contents .fs24 {
  font-size: 24px;
}

.page_contents .fs27 {
  font-size: 27px;
}

.page_contents .fs32 {
  font-size: 32px;
}

.page_contents .fs36 {
  font-size: 36px;
}

/* ===== .page_contents 余白調整 ===== */
.page_contents .mt100 {
  margin-top: 100px;
}

.page_contents .mt90 {
  margin-top: 90px;
}

.page_contents .mt80 {
  margin-top: 80px;
}

.page_contents .mt60 {
  margin-top: 60px;
}

.page_contents .mt40 {
  margin-top: 40px;
}

.page_contents .mt30 {
  margin-top: 30px;
}

.page_contents .mt20 {
  margin-top: 20px;
}

/* ===== .page_contents レイアウト flex ===== */
.page_contents .flex {
  display: flex;
  padding-left: 0;
}

.post_content .flex {
  display: flex;
  padding-left: 0;
}

/* ===== .page_contents 固定ページ用 ===== */
.page_contents.bg_gray .contents_item {
  max-width: 1080px;
  margin: 0 auto;
}

/* ===== .page_contents 詳しくはこちらボタン ===== */
.page_contents .more_btn_gray {
  display: inline-block;
  background: #666;
  color: #fff;
  padding: 3px 40px;
  border-radius: 5px;
  position: relative;
}

.page_contents .more_btn_aqua {
  display: inline-block;
  background: #00a0e9;
  color: #fff;
  padding: 3px 40px;
  border-radius: 5px;
  position: relative;
}

.page_contents .more_btn_grn {
  display: inline-block;
  background: #009245;
  color: #fff;
  padding: 3px 40px;
  border-radius: 5px;
  position: relative;
}

.page_contents .more_btn_gray::before,
.page_contents .more_btn_grn::before,
.page_contents .more_btn_aqua::before {
  content: "";
  display: block;
  width: 24px;
  height: 19px;
  background: url(../img/ico_check_ylw.png) no-repeat center / 24px auto;
  position: absolute;
  left: -8px;
  top: -3px;
}

.page_contents .more_btn_org {
  display: inline-block;
  background: #f69d01;
  color: #fff;
  padding: 3px 40px;
  border-radius: 5px;
  position: relative;
}

.page_contents .more_btn_org::before {
  content: "";
  display: block;
  width: 24px;
  height: 19px;
  background: url(../img/ico_check_blue.png) no-repeat center / 24px auto;
  position: absolute;
  left: -8px;
  top: -3px;
}

/* ===== .page_contents ページ内リンク ===== */

.page_contents .anchor_links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 30px auto 0;
}

.page_contents .anchor_links li {
  border-left: solid 3px #9fe0e5;
  border-bottom: solid 3px #9fe0e5;
  padding: 6px 50px 6px 6px;
  position: relative;
  margin-left: 10px;
  margin-top: 10px;
  min-width: 210px;
}

.page_contents .anchor_links li::after {
  content: "";
  display: flex;
  width: 40px;
  height: 18px;
  background: url(../img/ico_arrow_tri_grn.png) no-repeat center / 40px auto;
  position: absolute;
  top: calc(50% - 10px);
  right: 3px;
}

.page_contents .anchor_links li a {
  color: #1d93ac;
}

/* ===== .page_contents リスト ===== */
.page_contents ol.ja_list li {
  list-style-type: cjk-ideographic;
  list-style-position: inside;
  padding-left: 2em;
  text-indent: -2em;
  font-size: 15px;
  line-height: 1.6;
}

.page_contents ul.disc_list {
  padding-left: 20px;
}

.page_contents ul.disc_list li {
  position: relative;
  padding-left: 15px;
}

.page_contents ul.disc_list li::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: solid 1px #e87626;
  position: absolute;
  top: calc(50% - 5px);
  left: 0;
}

.page_contents.qa details {
  margin-top: 35px;
}

.page_contents.qa details summary {
  list-style: none;
  border-left: solid 3px #9fe0e5;
  border-bottom: solid 3px #9fe0e5;
  padding: 6px 5px 6px 50px;
  position: relative;
  font-size: 21px;
  color: #1d93ac;
}

.page_contents.qa details summary::marker {
  display: none;
}

.post_content .page_contents.qa details summary::before {
  content: "Q";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 35px;
  font-size: 21px;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  background: #1d93ac;
  position: absolute;
  top: 0px;
  left: 12px;
}

.page_contents.qa details .answer_box {
  padding: 6px 5px 6px 50px;
  position: relative;
  margin-top: 20px;
}

.page_contents.qa details .answer_box::before {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 35px;
  font-size: 21px;
  font-weight: 700;
  color: #fff;
  background: #ffbd66;
  position: absolute;
  top: 15px;
  left: 12px;
}

.page_contents table {
  border: solid 1px #ccc;
}


.page_contents table th {
  background: #9fe0e5;
  color: #2c2c2c;
  font-weight: 400;
  width: 70%;
  min-width: 140px;
}

.page_contents.company table th {
  width: 30%;
  min-width: 140px;
}

.page_contents table td {
  background: #ccc;
}

/* ===== 星評価 ===== */
.star5_rating {
  position: relative;
  z-index: 0;
  display: inline-block;
  white-space: nowrap;
  color: #ccc;
  /* グレーカラー 自由に設定化 */
  /*font-size: 30px; フォントサイズ 自由に設定化 */
}

.post_content .star5_rating:before,
.post_content .star5_rating:after {
  content: '★★★★★';
}

.star5_rating:after {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #1d93ac;
  /* イエローカラー 自由に設定化 */
}

.star5_rating[data-rate="5"]:after {
  width: 100%;
}

/* 星5 */
.star5_rating[data-rate="4.5"]:after {
  width: 90%;
}

/* 星4.5 */
.star5_rating[data-rate="4"]:after {
  width: 80%;
}

/* 星4 */
.star5_rating[data-rate="3.5"]:after {
  width: 70%;
}

/* 星3.5 */
.star5_rating[data-rate="3"]:after {
  width: 60%;
}

/* 星3 */
.star5_rating[data-rate="2.5"]:after {
  width: 50%;
}

/* 星2.5 */
.star5_rating[data-rate="2"]:after {
  width: 40%;
}

/* 星2 */
.star5_rating[data-rate="1.5"]:after {
  width: 30%;
}

/* 星1.5 */
.star5_rating[data-rate="1"]:after {
  width: 20%;
}

/* 星1 */
.star5_rating[data-rate="0.5"]:after {
  width: 10%;
}

/* 星0.5 */
.star5_rating[data-rate="0"]:after {
  width: 0%;
}

/* 星0 */

.page_contents dl.voice_box {
  background: #fff;
  padding: 15px;
  border-radius: 3px;
  box-shadow: 5px 5px 20px rgba(200, 200, 200, .65);
  margin-top: 45px;
}

.page_contents.voice ul {
  flex-wrap: wrap;
}

.page_contents.voice ul li {
  width: 25%;
  padding: 1% 1% 0;
}

/* ===== top/トップページ ===== */
.page-id-875 #top_title_area,
.page-id-875 #breadcrumb {
  display: none;
}

section.front_page.top_mv {
  margin: 0 calc(50% - 50vw) 0;
}

section.front_page.top_mv .swiper-container.slider01 {
  height: 420px;
}

section.front_page.top_mv .swiper-container.slider01 .swiper-wrapper {
  height: 420px;
}

section.front_page.top_mv .swiper-container.slider01 img {
  display: block;
  height: 420px;
}

.post_content .frontpage_mv .c-filterLayer__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

section.front_page.top_news {
  margin-top: 30px;
}

.frontpage_news .p-postListWrap {
  overflow-x: scroll;
}

.frontpage_news .p-postList.-type-card {
  flex-wrap: nowrap;
}

.frontpage_news .-type-card .p-postList__item {
  width: calc((100% - 20px)/3);
  min-width: 280px;
}

.post_content .front_page .front_content {
  width: 100%;
  max-width: 1080px;
  margin: 60px auto 0 !important;
}

.front_page .front_content h2 {
  padding: 0 125px 0 60px;
  line-height: 2;
  font-size: 24px;
  position: relative;
}

.front_page .front_content h2::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  left: 5px;
  top: calc(50% - 20px);
  border: 0;
}

.front_page .front_content01 h2::before {
  background: url(../img/ico_track_yel.png) no-repeat center / 40px auto;
}

.front_page .front_content02 h2::before {
  background: url(../img/ico_sprout_yel.png) no-repeat center / 40px auto;
}

.front_page .front_content04 h2::before {
  background: url(../img/ico_calendar_yel.png) no-repeat center / 40px auto;
}

.front_page .front_content05 h2::before {
  background: url(../img/ico_reason_yel.png) no-repeat center / 40px auto;
}

.front_page .front_content h2::after {
  content: "";
  display: block;
  width: 125px;
  height: 45px;
  position: absolute;
  right: 8px;
  top: calc(50% - 20px);
}

.front_page .front_content01 h2::after {
  background: url(../img/deco_karugamo01.png) no-repeat center / auto 40px;
}

.front_page .front_content02 h2::after {
  background: url(../img/deco_karugamo02.png) no-repeat center / auto 40px;
}

.front_page .front_content04 h2::after {
  background: url(../img/deco_karugamo03.png) no-repeat center / auto 40px;
}

.front_page .front_content h2::after {
  right: 5px;
}

.front_page ul.flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.front_planlinks li {
  width: calc((100% - 20px)/2);
  position: relative;
  z-index: 0;
  background: #fff;
  margin: 20px 0 0 20px;
}

.front_planlinks li:nth-child(2n+1) {
  margin-left: 0;
}

.front_planlinks li a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.front_planlinks li figure {
  position: relative;
  z-index: 0;
  overflow: hidden;
  width: 100%;
  height: auto;
}

.front_planlinks li figure img {
  width: 100%;
  height: auto;
}


.front_planlinks .plan05_bnr_wrap figure {
  position: relative;
  z-index: 0;
}

.front_planlinks .plan05_bnr_wrap figure a {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.plan05_bnr_wrap {
  width: 100%;
  height: auto;
  margin: 3% auto 0;
}


.front_optionlinks li {
  width: calc((100% - 6%)/3);
  margin-left: 3%;
  margin-top: 3%;
}

.front_optionlinks li:nth-child(3n+1) {
  margin-left: 0;
}

.front_optionlinks li {
  box-shadow: 3px 3px 5px rgba(175, 175, 175, .85);
  color: #1d93ac;
  font-weight: 500;
  border-radius: 5px;
  text-align: center;
}

.front_optionlinks li span,
.front_optionlinks li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 60px;
  padding: 8px 1em;
  border-radius: 5px;
  text-align: center;
  color: #1d93ac;
}

.front_optionlinks li a {
  background: #e6f3f4;
}

.post_content .front_optionlinks li a::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-width: 2px 2px 0 0;
  border-color: #1d93ac;
  border-style: solid;
  position: absolute;
  top: calc(50% - 4px);
  right: 8px;
  transform: rotate(45deg);
}

.front_optionlinks li a.more_btn_org {
  width: 100%;
  text-align: center;
}

.front_content03 {
  border-top: solid 3px #999;
  padding-top: 60px;
}

.other_contentslinks li {
  width: calc((100% - 9%)/4);
  margin-left: 3%;
  position: relative;
  z-index: 0;
}

.other_contentslinks li a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}


.other_contentslinks li:first-child {
  margin-left: 0;
}

.other_contentslinks li figure {
  background: #fff;
  border-radius: 5px;
  box-shadow: 5px 5px 5px rgba(175, 175, 175, .45);
}

.other_contentslinks li figure img {
  width: 100%;
  height: auto;
  border-radius: 5px 5px 0 0;
}

.other_contentslinks li figcaption {
  padding: 10px 1em 15px 45px;
  line-height: 1;
  position: relative;
  color: #1d93ac;
}


.post_content .other_contentslinks figcaption::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: calc(50% - 15px);
  left: 8px;
}

.post_content .other_contentslinks figure figcaption::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-width: 2px 2px 0 0;
  border-color: #1d93ac;
  border-style: solid;
  position: absolute;
  top: calc(50% - 4px);
  right: 8px;
  transform: rotate(45deg);
}

.post_content .other_contentslinks .star figcaption::before {
  background: url(../img/ico_star_grn.png) no-repeat center / 30px auto;
}

.post_content .other_contentslinks .inspaira figcaption::before {
  background: url(../img/ico_inspaira_grn.png) no-repeat center / 30px auto;
}

.post_content .other_contentslinks .qa figcaption::before {
  background: url(../img/ico_qa_grn.png) no-repeat center / 30px auto;
}

.post_content .other_contentslinks .comment figcaption::before {
  background: url(../img/ico_comment_grn.png) no-repeat center / 30px auto;
}

.front_content04 .front_reservation {
  max-width: 960px;
  margin: 40px auto;
}

.front_content04 ul li {
  width: 50%;
  padding: 0 10px;
}


.front_content05 .feature_content li {
  background: #fff;
  padding: 2%;
  position: relative;
  padding-left: 65px;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: .125em;
  box-shadow: 8px 8px 15px rgba(0, 0, 0, .15);
}

.front_content05 .feature_content li span.bg_yel {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 0;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  top: calc(50% - 22.5px);
  left: 5px;
  background: #fccf00;
}

.front_content05 .feature_content li span.bg_yel::before,
.front_content05 .feature_content li span.bg_yel::after {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background: #fff;
  position: absolute;
}

.front_content05 .feature_content li span.bg_yel::before {
  top: 8px;
}

.front_content05 .feature_content li span.bg_yel::after {
  bottom: 8px;
}

.front_content05 .feature_content li p {
  font-size: 18px;
  font-weight: 500;
  margin-top: 0;
}

.front_content05 .feature_content li p span {
  font-size: 20px;
  font-weight: 700;
  color: #b7282c;
}

.front_content06 figure {
  width: 100%;
  height: auto;
  margin: auto;
}

/* ===== 共通項目/ページタイトル部分 ===== */
.page_contents .contents_item .mv_wrap {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}

.page_contents .contents_item .mv_wrap .page-title {
  background: transparent;
  padding: 0;
  font-size: 50px;
}

.page_contents .contents_item .mv_wrap .sub_title {
  font-size: 24px;
  margin-top: 10px;
  line-height: 1.6;
}


.page_contents .contents_item .mv_wrap figure {
  width: 100%;
  /*height: 120px;*/
  overflow-y: hidden;
  position: relative;
  z-index: 0;
}

.page_contents .contents_item .mv_wrap figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: relative;
  z-index: -1;
}

.page_contents .contents_item .mv_wrap figure figcaption {
  width: 86%;
  position: absolute;
  top: auto;
  bottom: 25px;
  left: 0;
}

.page_contents .contents_item .mv_wrap figure span.main_text {
  display: inline-block;
  padding: 0px 20px;
  font-size: 50px;
  line-height: 1.4;
  background: rgba(255, 255, 255, .9);
}

.page_contents .contents_item .mv_wrap figure span.sub_text {
  display: block;
  font-size: 20px;
  padding-left: 15px;
  text-shadow: 3px 3px 5px #fff, -1px 1px 8px #fff, -3px -3px 15px #fff, 1px 1px 3px #fff;
}

/* ===== 共通項目/ページ下部：ページ間リンク ===== */
.page_bottom_link {
  margin-top: 5%;
  width: 100%;
}

.page_bottom_link ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.page_bottom_link ul li {
  width: calc((100% - 60px) / 3);
  position: relative;
  z-index: 0;
}

.page_bottom_link ul li a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.page_bottom_link ul li figure {
  position: relative;
  z-index: 0;
}

.page_bottom_link ul li figure figcaption {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .20);
  color: #fff;
}

/* ===== plan/01/引越しプラン:親ページ ===== */
.plan .bnr_link {
  flex-wrap: wrap;
  justify-content: space-between;
}

.plan .bnr_link li {
  width: calc((100% - 40px)/2);
  margin-top: 40px;
  position: relative;
  z-index: 0;
}

.plan .bnr_link li a {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

/* ===== plan/01/単身引越しプラン ===== */
.plan .plan_content_link:nth-child(n+2) {
  margin-top: 40px;

}

.plan .plan_content_link dl {
  display: flex;
  justify-content: space-between;
  padding: 0;
  margin: 0;
  align-items: center;
}

.plan .plan_content_link dl dt {
  width: 50%;
  font-size: 15px;
  line-height: 1.8;
  font-weight: normal;
  margin: 0;
}

.plan .plan_content_link dl dd {
  width: 45%;
  margin: 0;
}

.plan .plan_content_link dl dd img {
  width: 100%;
}

.page_contents .plan_borderbox {
  border: solid 1px #ccc;
  padding: 3%;
}

.page_contents .plan_lead {
  display: flex;
  justify-content: space-between;
  margin: 5% auto 0;
}

.page_contents .plan_lead .lead_inner {
  width: 100%;
}

.page_contents .plan_lead .plan_lead_left {
  width: 65%;
}

.page_contents .plan_lead .plan_lead_right {
  width: 32%;
}

.page_contents .plan_lead .plan_lead_right img {
  width: 100%;
  height: auto;
}


.page_contents .plan_price {
  font-size: 42px;
  max-width: 420px;
  position: relative;
  padding: 10px 160px 10px 10px;
  text-align: center;
  border-radius: 12px;
  margin: 20px auto 0;
}

.page_contents .plan_price span.caution {
  width: 150px;
  text-align: left;
  position: absolute;
  right: 5px;
  top: calc(50% - 20px);
  line-height: 1.6;
  letter-spacing: 0;
}

.page_contents.plan h2 {
  padding-left: 55px;
  padding-right: 125px;
  position: relative;
}

.page_contents.plan h2::before {
  content: "";
  display: block;
  width: 45px;
  height: 45px;
  position: absolute;
  left: 5px;
  top: calc(50% - 22.5px);
  border: 0;
}

.page_contents.plan h2.ico_track::before {
  background: url(../img/ico_track_wh.png) no-repeat center / 40px;
}

.page_contents.plan h2.ico_flower::before {
  background: url(../img/ico_flower_wh.png) no-repeat center / 40px;
}

.page_contents.plan h2.ico_comment::before {
  background: url(../img/ico_comment_wh.png) no-repeat center / 40px;
}

.page_contents.plan h2.ico_calendar::before {
  background: url(../img/ico_calendar_wh.png) no-repeat center / 40px;
}

.page_contents.plan h2.ico_moving::before {
  background: url(../img/ico_moving_wh.png) no-repeat center / 40px;
}

.page_contents.plan h2::after {
  content: "";
  display: block;
  width: 125px;
  height: 45px;
  position: absolute;
  right: 5px;
  top: calc(50% - 22.5px);
}

.page_contents.plan h2.deco01::after {
  background: url(../img/deco_karugamo01.png) no-repeat center right / auto 45px;
}

.page_contents.plan h2.deco02::after {
  background: url(../img/deco_karugamo02.png) no-repeat center right / auto 45px;
}

.page_contents.plan h2.deco03::after {
  background: url(../img/deco_karugamo03.png) no-repeat center right / auto 45px;
}

.page_contents.plan h2.deco04::after {
  background: url(../img/deco_karugamo04.png) no-repeat center right / auto 45px;
}

.page_contents.plan h2.deco05::after {
  background: url(../img/deco_karugamo05.png) no-repeat center right / auto 45px;
}

.page_contents.plan h2.deco06::after {
  background: url(../img/deco_karugamo06.png) no-repeat center right / auto 45px;
}

.page_contents.plan h2.deco07::after {
  background: url(../img/deco_karugamo07.png) no-repeat center right / auto 45px;
}

.page_contents.plan h2.deco08::after {
  background: url(../img/deco_karugamo08.png) no-repeat center right / auto 45px;
}

.page_contents.plan h2.deco09::after {
  background: url(../img/deco_karugamo09.png) no-repeat center right / auto 45px;
}

.page_contents.plan h2.deco10::after {
  background: url(../img/deco_karugamo10.png) no-repeat center right / auto 45px;
}

.page_contents.plan h2.deco11::after {
  background: url(../img/deco_karugamo11.png) no-repeat center right / auto 45px;
}

.plan .feature_content li {
  background: #fff;
  padding: 2%;
  position: relative;
  padding-left: 65px;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: .125em;
  box-shadow: 5px 5px 8px rgba(0, 0, 0, .15);
}

.plan .feature_content span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 0;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  top: calc(50% - 22.5px);
  left: 5px;
}

.plan .feature_content span::before,
.plan .feature_content span::after {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background: #000;
  position: absolute;
}

.plan .feature_content span::before {
  top: 8px;
}

.plan .feature_content span::after {
  bottom: 8px;
}

.plan .arrow_title {
  display: inline-block;
  height: 35px;
  padding: 0 100px 0 20px;
  position: relative;
  color: #fff;
}

.plan .arrow_title::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 17.5px 0 17.5px 15px;
  border-color: transparent transparent transparent #7dc5e8;
  position: absolute;
  top: 0;
  right: -15px;
  left: unset;
}

.plan .arrow_title::after {
  content: "";
  display: block;
  width: 30px;
  height: 35px;
  background: url(../img/ico_arrow_aqua.png) no-repeat center / contain;
  position: absolute;
  top: 0;
  right: -35px;
}

.plan .arrow_title.bg_pink::before {
  border-color: transparent transparent transparent #f197ac;
}

.plan .arrow_title.bg_pink::after {
  background: url(../img/ico_arrow_pnk.png) no-repeat center / contain;
}

.plan .arrow_title.bg_org::before {
  border-color: transparent transparent transparent #e87626;
}

.plan .arrow_title.bg_org::after {
  background: url(../img/ico_arrow_org.png) no-repeat center / contain;
}

.plan .arrow_title.bg_pealgrn::before {
  border-color: transparent transparent transparent #8cc63f;
}

.plan .arrow_title.bg_pealgrn::after {
  background: url(../img/ico_arrow_pealgrn.png) no-repeat center / contain;
}

.plan .arrow_title.bg_aqua02::before {
  border-color: transparent transparent transparent #00a0e9;
}

.plan .arrow_title.bg_aqua02::after {
  background: url(../img/ico_arrow_aqua02.png) no-repeat center / contain;
}

.plan_detail {
  margin: 40px auto 0;
}

.plan_detail figure {
  width: 100%;
  max-width: 640px;
  height: auto;
  margin: 20px auto 0;
}

.plan_detail figure.width100 {
  width: 100%;
  max-width: 960px;
  height: auto;
  margin: 20px auto 0;
}

.plan_detail dl {
  width: 100%;
  padding: 3%;
  background: #fff;
}

.plan_detail dl dt {
  font-size: 21px;
}


.plan_detail dl dd ul.flex {
  flex-wrap: wrap;
}

.plan_detail dl dd ul.flex li {
  width: calc((100% - 4%)/3);
  margin-left: 2%;
}

.plan_detail dl dd ul li:nth-child(3n+1) {
  margin-left: 0;
}

.plan_detail h4 {
  border-left: solid #7dc5e8 3px;
  border-bottom: solid #7dc5e8 3px;
  padding-bottom: 10px;
  margin-top: 20px;
}

.plan .price_table {
  width: 100%;
  max-width: 640px;
  margin: 20px auto 0;
}

.plan .plan_campaign li {
  background: #fff;
  padding: 0 45px 0 0;
  border-radius: 8px;
  margin: 20px auto 0;
  position: relative;
  box-shadow: 5px 5px 8px rgba(0, 0, 0, .15);
}

.plan .plan_campaign li p {
  margin-top: 0;
  line-height: 1.6;
}

.plan .plan_campaign li::after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  right: 5px;
  top: calc(50% - 20px);
}

.plan .plan_campaign li.clock::after {
  background: url(../img/ico_clock_gray.png) no-repeat center / 40px auto;
}

.plan .plan_campaign li.rain::after {
  background: url(../img/ico_rain_gray.png) no-repeat center / 40px auto;
}

.plan .plan_campaign li.cancel::after {
  background: url(../img/ico_stop_gray.png) no-repeat center / 40px auto;
}

.plan .plan_campaign li.price::after {
  background: url(../img/ico_money_gray.png) no-repeat center / 40px auto;
}

.plan .plan_campaign li.track::after {
  background: url(../img/ico_track_gray.png) no-repeat center / 40px auto;
}

.plan .plan_content02 .price_image {
  width: 100%;
  max-width: 960px;
  margin: 3% auto 0;
}

.plan .plan_content02 .price_image img {
  width: 100%;
}

.plan .plan_campaign .deco_num {
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: 8px 0 0 8px;
  margin: 0;
  min-width: 65px;
}

.plan .plan_campaign .bg_black {
  padding: 3px 5px;
  font-size: 12px;
  display: block;
  border-radius: 2px;
}

.plan .plan_campaign .deco_num+div {
  padding: 10px 20px;
}

.plan .plan_content03 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

.plan .plan_content03 h2 {
  width: 100%;
}

.plan .plan_content03 .plan_campaign {
  width: 50%;
}

.plan .plan_content03 .plus_campaign_wrap {
  width: 50%;
  padding: 0 20px;
}

.plan .plan_content03 figure {
  width: 100%;
}

.plan .plan_content03 .plus_campaign {
  position: relative;
  padding-left: 80px;
  display: inline-block;
  margin: 20px auto 0;
  left: calc(50% - 90px);
}

.plan .plan_content03 .plus_campaign::before {
  content: "";
  display: block;
  width: 70px;
  height: 70px;
  position: absolute;
  top: 0;
  left: 0;
}

.plan .plan_content03 .plus_campaign.plan01::before {
  background: url(../img/ico_plus_pink.png) no-repeat left center/ 65px auto;
}

.plan .plan_content03 .plus_campaign.plan02::before {
  background: url(../img/ico_plus_aqua.png) no-repeat left center/ 65px auto;
}

.plan .plan_content03 .plus_campaign.plan03::before {
  background: url(../img/ico_plus_grn.png) no-repeat left center/ 65px auto;
}

.plan .plan_content03 .plus_campaign.plan04::before {
  background: url(../img/ico_plus_org.png) no-repeat left center/ 65px auto;
}

.plan .plan_content04 .flex {
  justify-content: space-between;
}

/* ===== plan/共通項目/カレンダー ===== */
.p-blogParts.post_content .price_calendar {
  margin-top: 40px !important;
  max-width: 640px;
  margin-left: auto;
}

.p-blogParts.post_content .price_calendar img {
  display: block;
  width: 100%;
  height: auto;
  margin-left: auto;
}

.p-blogParts.post_content .calendar_item li img {
  box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 0px 0px 0px 1px rgba(10, 10, 10, 0.02);
}

.plan .plan_content05 .calendar {
  flex-wrap: wrap;
}

.plan .plan_content05 .calendar li {
  width: 50%;
  padding: 0 10px;
}

.plan .plan_content05 .calendar li img {
  width: 100%;
  height: auto;
}

/* ===== plan/共通項目/cta/バナー最下部（訪問見積もり・メール見積もり・zoom見積もり予約） ===== */
.plan_cta_links03 ul li {
  width: calc(100% / 4);
}

.plan_cta_links03 ul li a {
  display: block;
  width: 100%;
  height: auto;
}

.plan_cta_links03 ul li img {
  display: block;
  width: 100%;
  height: auto;
}

/* ===== plan/03/家族引越しプラン ===== */
.plan .plan03_menu {
  justify-content: space-between;
}

.plan .plan03_menu li:not(.disc_list li) {
  width: 47.25%;
}

.plan .plan03_menu li div {
  box-shadow: 8px 8px 12px rgba(0, 0, 0, .15);
  border-radius: 5px;
}

.plan .plan03_menu li h4 {
  border: 0;
  line-height: 1;
  padding: 8px 1em;
  color: #fff;
}

.plan .plan03_menu li p {
  padding: 1em;
}

.plan .plan03_menu li:nth-child(1) h4 {
  background: #ffbd66;
}

.plan .plan03_menu li:nth-child(2) h4 {
  background: #fbb03b;
}

.plan .plan03_menu li:nth-child(3) h4 {
  background: #f69d01;
}

/* ===== 04/長距離プラン/start/2206 ===== */
.plan04 .lead_inner {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.plan04 .img_plan04_price {
  margin-top: 40px;
}

.plan04 .feature_inner {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.plan04 .feature_inner+.feature_inner {
  margin-top: 40px;
}

.plan04 .feature_inner h3 {
  background: #8cc63f;
  color: #fff;
  font-weight: 500;
}

.plan04 .feature_inner .flex {
  justify-content: space-between;
}

.plan04 .feature_inner .flex .imagebox {
  width: calc(50% - 20px);
  max-width: 460px;
}

.plan04 .feature_inner .flex .textbox {
  width: calc(50% - 20px);
}

.page h4.ico_goodpoint {
  position: relative;
  z-index: 0;
  border: 0;
  padding-left: 65px;
}

.plan04 h4.ico_goodpoint::before {
  content: "";
  display: block;
  width: 55px;
  height: 55px;
  background: url(../img/plan/04/ico_plan04_goodpoint_grn.png) no-repeat center / 100% auto;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.plan04 .feature02_detail {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}

.plan04 .feature02_detail li {
  width: calc((100% - 80px)/3);
}

.plan04 .feature02_detail figure {
  position: relative;
  z-index: 0;
}

.plan04 .feature02_detail figcaption {
  display: inline-block;
  background: #8cc63f;
  color: #fff;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: -20px;
  padding: 8px 15px;
}

.plan .service_detail {
  width: 100%;
  text-align: center;
}

.plan .service_detail02 {
  display: flex;
}

.plan .service_detail h3 {
  display: inline-block;
  text-align: center;
  font-weight: 500;
  font-size: 42px;
  margin-top: 40px;
  border-bottom: solid 5px #009245;
  position: relative;
  z-index: 0;
}

.plan .service_detail h3::before,
.plan .service_detail h3::after {
  content: "";
  display: block;
  position: absolute;
}

.plan .service_detail h3::before {
  width: 5px;
  height: 30px;
  background: #009245;
  z-index: 0;
  transform: rotate(-30deg);
  bottom: -30px;
  left: calc(50% + 3px);
}

.plan .service_detail h3::after {
  width: 40px;
  height: 25px;
  background: #fff;
  bottom: -10px;
  z-index: -1;
  left: 50%;
}

.plan .service_detail_inner {
  padding: 20px 20px 40px;
  background: rgba(0, 146, 69, .06);
  margin-top: 60px;
}

.plan .service_detail_inner .service_contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.plan .service_detail_inner .service_contents li {
  width: calc((100% - 60px)/4);
  margin-top: 40px;
  margin-left: 20px;
  text-align: center;
  border: solid 5px #009245;
  background: #fff;
  border-radius: 8px;
  padding: 30px 10px 10px;
  position: relative;
}

.plan .service_detail_inner .service_contents li::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translate(-50%, 0);
}

.plan .service_detail_inner .service_contents li:nth-child(1):before {
  background: url(../img/plan/04/ico_plen04_num01.png) no-repeat center top /100% auto;
}

.plan .service_detail_inner .service_contents li:nth-child(2):before {
  background: url(../img/plan/04/ico_plen04_num02.png) no-repeat center top /100% auto;
}

.plan .service_detail_inner .service_contents li:nth-child(3):before {
  background: url(../img/plan/04/ico_plen04_num03.png) no-repeat center top /100% auto;
}

.plan .service_detail_inner .service_contents li:nth-child(4):before {
  background: url(../img/plan/04/ico_plen04_num04.png) no-repeat center top /100% auto;
}

.plan .service_detail_inner .service_contents li:nth-child(5):before {
  background: url(../img/plan/04/ico_plen04_num05.png) no-repeat center top /100% auto;
}

.plan .service_detail_inner .service_contents li:nth-child(6):before {
  background: url(../img/plan/04/ico_plen04_num06.png) no-repeat center top /100% auto;
}

.plan .service_detail_inner .service_contents li:nth-child(7):before {
  background: url(../img/plan/04/ico_plen04_num07.png) no-repeat center top /100% auto;
}

.plan .service_detail_inner .service_contents li:nth-child(4n+1) {
  margin-left: 0;
}

.plan .flow_moving {}

.post_content .plan .flow_moving .flow_contents {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.post_content .plan .flow_moving .flow_contents li {
  width: calc((100% - 80px)/5);
  position: relative;
  z-index: 0;
  margin-top: 40px;
}

.post_content .plan .flow_moving .flow_contents figure {
  width: 100%;
  aspect-ratio: 5/4;
}

.post_content .plan .flow_moving .flow_contents figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.post_content .plan .flow_moving .flow_contents li::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translate(-50%, 0);
}

.post_content .plan .flow_moving .flow_contents li:nth-child(1):before {
  background: url(../img/plan/ico_flow_num01.png) no-repeat center top /100% auto;
}

.post_content .plan .flow_moving .flow_contents li:nth-child(2):before {
  background: url(../img/plan/ico_flow_num02.png) no-repeat center top /100% auto;
}

.post_content .plan .flow_moving .flow_contents li:nth-child(3):before {
  background: url(../img/plan/ico_flow_num03.png) no-repeat center top /100% auto;
}

.post_content .plan .flow_moving .flow_contents li:nth-child(4):before {
  background: url(../img/plan/ico_flow_num04.png) no-repeat center top /100% auto;
}

.post_content .plan .flow_moving .flow_contents li:nth-child(5):before {
  background: url(../img/plan/ico_flow_num05.png) no-repeat center top /100% auto;
}

.post_content .plan .flow_moving .flow_contents li:nth-child(6):before {
  background: url(../img/plan/ico_flow_num06.png) no-repeat center top /100% auto;
}

.post_content .plan .flow_moving .flow_contents li:nth-child(7):before {
  background: url(../img/plan/ico_flow_num07.png) no-repeat center top /100% auto;
}

.post_content .plan .flow_moving .flow_contents li:nth-child(8):before {
  background: url(../img/plan/ico_flow_num08.png) no-repeat center top /100% auto;
}

.post_content .plan .flow_moving .flow_contents li:nth-child(9):before {
  background: url(../img/plan/ico_flow_num09.png) no-repeat center top /100% auto;
}

.post_content .plan .flow_moving .flow_contents li:nth-child(10):before {
  background: url(../img/plan/ico_flow_num10.png) no-repeat center top /100% auto;
}

.plan .related_post {
  max-width: 820px;
  margin: 40px auto 0;
}

.plan .related_post .deco_title {
  background-color: #009245;
  width: 240px;
  border-radius: 40px;
  padding: 8px 20px;
  text-align: center;
  margin: 0 auto -40px;
}

.plan .related_post .related_post_contents {
  border: solid 5px #009245;
  padding: 40px 20px;
  display: flex;
  justify-content: space-between;
}

.plan .related_post .related_post_contents li {
  width: calc((100% - 40px)/2);
}

.plan .related_post .related_post_contents figure {
  aspect-ratio: 5/3;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.plan .related_post .related_post_contents figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.plan .related_post .related_post_contents figure figcaption {
  background: rgba(0, 146, 69, .75);
  color: #fff;
  text-align: center;
  width: 120px;
  height: 45px;
  line-height: 45px;
  position: absolute;
  left: 0;
  top: 0;
}

.plan .related_post .related_post_contents figure a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  transition: all .5s ease-in;
}

.plan .related_post .related_post_contents figure a:hover {
  background: rgba(0, 146, 69, .45);
}

.plan .related_post .related_post_contents .related_post_link {
  font-size: 20px;
  text-decoration: underline;
  color: #009245;
}

.plan .price_infomation {
  max-width: 960px;
  margin: 40px auto 0;
}

.plan .table_pc {
  display: block;
  max-width: 960px;
  margin: 40px auto 0;
}

.plan .table_sp {
  display: none;
}

.plan .table_pc th,
.plan .table_sp th {
  width: 25%;
}

.plan .table_pc td,
.plan .table_sp td {
  border: solid 1px #ccc;
  background: transparent;
  width: 25%;
}

.plan04 .price_emphasis {
  max-width: 960px;
  margin: 40px auto 0;
  border: solid 5px #009245;
  padding: 40px 20px 20px;
}

.plan04 .emphasis_contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.plan04 .emphasis_contents li {
  width: calc((100% - 40px)/2);
}

.plan04 .emphasis_contents .imagebox img {
  display: block;
  width: 100%;
  max-width: 360px;
  margin: auto;
}

.plan04 .brackets {
  border-bottom: solid 5px #009245;
  font-size: 20px;
  text-align: center;
  padding-bottom: 10px;
  margin-top: -10px;
  position: relative;
  z-index: 0;
}

.plan04 .brackets span {

  font-size: 24px;
  font-weight: 700;
}

.plan04 .brackets::before {
  content: "";
  display: block;
  width: 5px;
  height: 25px;
  background: #009245;
  transform: rotate(-30deg);
  position: absolute;
  left: 50%;
  bottom: -25px;
  z-index: 1;
}

.plan04 .brackets::after {
  content: "";
  display: block;
  width: 20px;
  height: 30px;
  background: #fff;
  position: absolute;
  left: 50%;
  bottom: -30px;
}

.plan04 .brackets+p {
  margin-top: 40px;
  line-height: 145%;
  font-weight: 700;
}

.plan .yle_marker {
  background: linear-gradient(transparent 64%, var(--color_mark_yellow) 0%);
}

.plan .plan04_price_table {
  max-width: 960px;
  margin: 40px auto 0;
  flex-wrap: wrap;
  justify-content: space-between;
}

.plan .plan04_price_table li {
  width: calc((100% - 20px)/2);
}

.plan .plan04_price_table li h5 {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  padding: 0 25px;
  z-index: 0;
}

.plan .plan04_price_table li h5::before,
.plan .plan04_price_table li h5::after {
  content: "";
  display: block;
  width: 15px;
  height: 3px;
  background: #2c2c2c;
  border-radius: 10px;
}

.plan .plan04_price_table li h5::before {
  margin-right: 10px;
}

.plan .plan04_price_table li h5::after {
  margin-left: 10px;
}

.plan04_qa dt {
  color: #009245;
  font-size: 20px;
  padding-left: 30px;
  position: relative;
  z-index: 0;
  margin-top: 30px;
}

.post_content .plan04 .plan04_qa dt::before {
  content: "Q";
  font-size: 24px;
  line-height: 1;
  font-weight: 700;
  color: #009245;
  position: absolute;
  left: 0;
  top: calc(50% - 12px);
}

.post_content .plan04 .plan04_qa dd {
  margin-top: 8px;
}

.post_content .plan04 .plan04_qa dd p {
  margin-top: 5px;
}

.post_content .readmore_grn {
  display: inline-block;
  padding-left: 130px;
  position: relative;
  z-index: 0;
  color: #009245;
  text-decoration: underline;
}

.post_content .readmore_grn::before {
  content: "READ MORE";
  display: inline-block;
  background: rgba(0, 146, 69, 1);
  color: #fff;
  text-align: center;
  width: 120px;
  height: 32px;
  line-height: 32px;
  position: absolute;
  left: 0;
  top: calc(50% - 16px);
  text-decoration: none;
}

.plan .plan04_reason {}

.plan .reason_contents {
  display: flex;
  justify-content: space-between;
  max-width: 960px;
  margin: 40px auto 0;
}

.plan .reason_contents li {
  width: calc((100% - 40px)/2);
}


/* ===== 02/カップルプラン/2207 ===== */
.plan02 .price_tag {
  text-align: center;
  position: relative;
  z-index: 0;
  margin-bottom: 45px;
}

.plan02 .price_tag::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 26px 15px 0 15px;
  border-color: #E75677 transparent transparent transparent;
  position: absolute;
  bottom: -25px;
  left: calc(50% - 15px);
}

.plan02 .price_image {}

.plan02 .price_image img {
  display: block;
  width: 100%;
  max-width: 820px;
  height: auto;
  margin: 0 auto;
}

.plan_comparison {
  justify-content: space-between;
  margin: 40px auto 0;
  max-width: 1080px;
}

.plan_comparison .comparison_content {
  width: 47.25%;
  display: flex;
  flex-direction: column;
}

.plan_comparison .comparison_content .bold {
  margin-bottom: 20px;
}

.plan .recommend_text {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 0;
}

.plan .recommend_text::before,
.plan .recommend_text::after {
  content: "";
  display: block;
  width: 2px;
  height: 16px;
  background: #2c2c2c;
  border-radius: 5px;
}

.plan .recommend_text::before {
  transform: rotate(-18deg);
  margin-right: 8px;
}

.plan .recommend_text::after {
  transform: rotate(18deg);
  margin-left: 8px;
}

.plan .plan_comparison .comparison_content figure {
  margin-top: auto;
  padding: 8px;
}

.plan .plan_comparison .comparison_content.regular figure {
  border: solid 8px #4a4a4a;
}

.plan .plan_comparison .comparison_content.couple figure {
  border: solid 8px #E75677;
}

.plan .plan_comparison .comparison_content figure img {
  display: block;
  width: 100%;
  height: auto;
}

.p_02_case_wrap {
  margin: 60px auto 0;
  max-width: 1080px;
}

.p_02_case_wrap .case_content_inner {
  background: #FCE6EB;
  padding: 20px;
  height: 82%;
}

.case_content.content01 {
  position: relative;
  z-index: 0;
}

.case_content.content01::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 390px;
  height: 65px;
  background: url(../img/plan/02/img_case_deco01.png) no-repeat center / 98% auto;
  position: absolute;
  right: 0;
  bottom: -30px;
}

.case_content.content01 .case_content_inner {
  padding-bottom: 40px;
}

.case01_itembox {
  align-items: stretch;
  justify-content: space-between;
}

.case01_itembox li {
  width: 47.25%;
  border: solid 2px #E75677;
  background: #fff;
  border-radius: 8px;
  padding: 8px;
}

.case01_itembox li.rightbox {
  position: relative;
  z-index: 0;
}

.case01_itembox li.rightbox::before,
.case01_itembox li.rightbox::after {
  content: "";
  display: block;
  width: 40px;
  height: 8px;
  background: #E75677;
  position: absolute;
  left: -50px;
}

.case01_itembox li.rightbox::before {
  top: calc(50% - 10px);
  transform: rotate(90deg);
}

.case01_itembox li.rightbox::after {
  top: calc(50% - 10px);
}

.case01_itembox li p {
  margin: 0;
}

.case_content .deco_case_num {
  display: inline-block;
  position: relative;
  z-index: 0;
  padding: 8px 8px 8px 30px;
  font-weight: 600;
}

.case_content .deco_case_num::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(../img/ico_moving_wh.png) no-repeat center / 20px 20px;
  position: absolute;
  top: calc(50% - 10px);
  left: 5px;
}

.case_content .situation {
  position: relative;
  z-index: 0;
  margin-bottom: 50px;
}

.case_content .situation::before {
  content: "";
  display: block;
  width: 32px;
  height: 15px;
  background: #E75677;
  position: absolute;
  bottom: -23px;
  left: calc(50% - 16px);
}

.case_content .situation::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 30px 0 30px;
  border-color: #E75677 transparent transparent transparent;
  position: absolute;
  bottom: -38px;
  left: calc(50% - 30px);
}

.p_02_case_wrap .case_content.content02 {
  position: relative;
  z-index: 0;
}

.p_02_case_wrap .case_content.content02::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 275px;
  height: 90px;
  background: url(../img/plan/02/img_case_deco02.png) no-repeat center / auto 98%;
  position: absolute;
  bottom: -30px;
  left: -30px;
}

.p_02_case_wrap .case_content.content02 ul {
  justify-content: space-between;
}

.p_02_case_wrap .case_content.content02 ul li {
  width: 47.25%;
}

.strength_wrap {
  justify-content: space-between;
  max-width: 1080px;
  margin: 40px auto 0;
}

.strength_wrap .imagebox {
  width: 50%;
}

.strength_wrap .textbox {
  width: 50%;
  padding-left: 3%;
}

.strength_wrap .textbox p:first-child {
  border-bottom: solid 2px #E75677;
}

.content_box.plan02 .related_post .related_post_contents {
  border: solid 5px #E75677;
}

.plan .content_box.plan02 .related_post .related_post_contents figure figcaption {
  background: rgba(231, 86, 119, .65);
}

.plan .content_box.plan02 .related_post .related_post_contents .related_post_link {
  color: #E75677;
}

.plan .content_box.plan02 .service_detail_inner .service_contents li,
.plan .content_box.plan02 .service_detail h3 {
  border-color: #E75677;
}

.plan .content_box.plan02 .service_detail h3::before {
  background: #E75677;
}

.plan .content_box.plan02 .service_detail_inner {
  background: rgba(231, 86, 119, .06);
}

.plan .content_box.plan02 .service_detail_inner .service_contents li:nth-child(1):before {
  background: url(../img/plan/02/ico_02_num01.png) no-repeat center top /100% auto;
}

.plan .content_box.plan02 .service_detail_inner .service_contents li:nth-child(2):before {
  background: url(../img/plan/02/ico_02_num02.png) no-repeat center top /100% auto;
}

.plan .content_box.plan02 .service_detail_inner .service_contents li:nth-child(3):before {
  background: url(../img/plan/02/ico_02_num03.png) no-repeat center top /100% auto;
}

.plan .content_box.plan02 .service_detail_inner .service_contents li:nth-child(4):before {
  background: url(../img/plan/02/ico_02_num04.png) no-repeat center top /100% auto;
}

.plan .content_box.plan02 .service_detail_inner .service_contents li:nth-child(5):before {
  background: url(../img/plan/02/ico_02_num05.png) no-repeat center top /100% auto;
}

.plan .content_box.plan02 .service_detail_inner .service_contents li:nth-child(6):before {
  background: url(../img/plan/02/ico_02_num06.png) no-repeat center top /100% auto;
}

.plan .content_box.plan02 .service_detail_inner .service_contents li:nth-child(7):before {
  background: url(../img/plan/02/ico_02_num07.png) no-repeat center top /100% auto;
}

/* ===== plan/05/軽トラ便 ===== */
.plan05_cnt01_box {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  flex-wrap: wrap;
}

.plan05_cnt01_box .left {
  width: 28%;
}

.plan05_cnt01_box .right {
  width: 72%;
  padding-left: 2%;
}

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

/* ===== company/会社情報 ===== */
.page_contents.company .anchor_links {
  background: #fff;
  padding: 40px 20px;
}

.page_contents.company dl {
  background: #fff;
  padding: 20px;
}

.page_contents.company dl dt span {
  display: inline-block;
  font-size: 18px;
  color: #fff;
  padding: 8px 20px;
  border-radius: 5px;
}

.page_contents .law dl dt {
  border: solid 1px #1d93ac;
  padding: 3px 1em;
  color: #1d93ac;
  font-weight: 400;
}

.page_contents .recruit dl dt {
  background-color: #1d93ac;
  color: #fff;
  padding: 3px 1em;
}

/* ===== option/オプション ===== */
.page_contents.option h2.sprout,
.page_contents.flow h2.sprout {
  padding-left: 60px;
  position: relative;
}

.post_content .page_contents.option h2.sprout::before,
.post_content .page_contents.flow h2.sprout::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/ico_sprout_wh.png) no-repeat center / 40px 40px;
  position: absolute;
  left: 10px;
  top: calc(50% - 20px);
  border: 0;
}

.post_content .page_contents.option h2.sprout::after,
.post_content .page_contents.flow h2.sprout::after {
  content: "";
  display: block;
  width: 55px;
  height: 60px;
  background: url(../img/deco_karugamo02.png) no-repeat center / 55px auto;
  position: absolute;
  right: 10px;
  top: calc(50% - 30px);
  border: 0;
}

.page_contents.option dl,
.page_contents.flow dl {
  margin: 40px auto 0;
}

.page_contents.option .content_box:not(.option02 .content_box) {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

.page_contents.option dl {
  width: 47.5%;
  background: #eee;
}

.page_contents.option dl dt {
  color: #fff697;
  background: #1d93ac;
  padding: 0.5em;
  margin: 0;
}

.page_contents.option dl dd {
  padding: 0.5em;
}

/* ===== option02/エアコン関連 ===== */
.page_contents.option02 dt {
  border-left: solid 3px #9fe0e5;
  border-bottom: solid 3px #9fe0e5;
  padding: 6px 1em 6px 20px;
  color: #1d93ac;
  font-size: 18px;
  letter-spacing: .075em;
  font-weight: 400;
}

/* ===== option03/トランクルーム ===== */

.page_contents.option03 .trank_cnt01>div {
  margin-top: 40px;
}

.page_contents.option03 .trank_cnt01 figure {
  max-width: 640px;
  margin: auto;
}

.page_contents.option03 .deco_circle {
  background: var(--color_htag);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  color: #ffff00;
}

.page_contents.option03 .deco_circle .big_text {
  font-size: 80px;
  display: block;
  line-height: 1;
  margin: 0;
  padding: 0;
}

.page_contents.option03 .trank_cnt01 .right_item {
  padding-left: 50px;
}

.page_contents.option03 .trank_cnt01 .right_item h3 {
  color: #e50012;
  font-size: 36px;
  font-weight: 500;
}

.page_contents.option03 .trank_cnt01 .right_item ul {
  margin: 2% 0 0;
}

.page_contents.option03 .trank_cnt01 .right_item ul li {
  font-size: 18px;
  font-weight: 700;
  border: solid 1px #666;
  border-radius: 8px;
  padding: 3px 5px;
}

.page_contents.option03 .trank_cnt01 .right_item ul li:not(:first-child) {
  margin-left: 20px;
}

.page_contents.option03 .trank_feature h4 {
  border: 0;
  padding-left: 0;
  font-size: 21px;
  font-weight: 700;
  color: var(--color_htag);
}

.page_contents.option03 .trank_feature ul {
  justify-content: space-between;
}

.page_contents.option03 .trank_feature li {
  width: 100%;
}

.page_contents.option03 .trank_cnt02 {
  margin-top: 60px;
}

.page_contents.option03 .trank_cnt02 ul {
  justify-content: space-between;
}

.page_contents.option03 .trank_cnt02 ul li {
  width: 32%;
  text-align: center;
}

.page_contents.option03 .trank_cnt02 ul li .room_type {
  display: inline-block;
  background: #9fe0e5;
  padding: 8px 30px;
  border-radius: 8px;
}

.page_contents.option03 .trank_cnt03 {
  margin-top: 60px;
}

.page_contents.option03 .trank_cnt03 dl {
  box-shadow: 8px 8px 15px rgba(0, 0, 0, .2);
  padding: 5px;
}

.page_contents.option03 .trank_cnt03 dt {
  background: #fff;
  padding: 10px 10px 10px 65px;
  position: relative;
  font-size: 21px;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: .075em;
  margin: 0;
}

.page_contents.option03 .trank_cnt03 dd {
  margin-top: 0;
}

.page_contents.option03 .trank_cnt03 dd ul {
  margin-top: 8px;
}

.page_contents.option03 .trank_cnt03 dd li {
  margin-left: 10px;
}

.page_contents.option03 .trank_cnt03 .deco_number {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 0;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  top: calc(50% - 22.5px);
  left: 5px;
  background: #1d93ac;
}

.page_contents.option03 .trank_cnt03 .deco_number::before,
.page_contents.option03 .trank_cnt03 .deco_number::after {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background: #fff;
  position: absolute;
}

.page_contents.option03 .trank_cnt03 .deco_number::before {
  top: 8px;
}

.page_contents.option03 .trank_cnt03 .deco_number::after {
  bottom: 8px;
}

.page_contents.option03 .trank_cnt03 dd ul {
  padding-left: 2rem;
}

.page_contents.option03 .trank_cnt03 dd ul li {
  position: relative;
  text-indent: 0rem;
  padding-left: 1rem;
}

.page_contents.option03 .trank_cnt03 dd ul li::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  position: absolute;
  top: calc(50% - 6px);
  left: 0;
  background: #1d93ac;
}

.page_contents.option03 .trank_cnt04 {
  margin-top: 60px;
}

.page_contents.option03 .trank_cnt04 ul {
  justify-content: space-between;
}

.page_contents.option03 .trank_cnt04 ul li {
  width: 47.25%;
}

.page_contents.option03 .trank_cnt04 figure {
  margin: 40px auto 0;
}

/* ===== option04/不用品回収 ===== */
.page_contents.option04 .feature_content li {
  background: #fff;
  padding: 2%;
  position: relative;
  padding-left: 65px;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: .125em;
  box-shadow: 8px 8px 15px rgba(0, 0, 0, .15);
}

.page_contents.option04 .feature_content li span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 0;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  top: calc(50% - 22.5px);
  left: 5px;
}

.page_contents.option04 .feature_content li span::before,
.page_contents.option04 .feature_content li span::after {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background: #000;
  position: absolute;
}

.page_contents.option04 .feature_content li span::before {
  top: 8px;
}

.page_contents.option04 .feature_content li span::after {
  bottom: 8px;
}

.page_contents.option04 .waste_content02 div {
  margin-top: 3%;
  justify-content: space-between;
}

.page_contents.option04 .waste_content02 ul {
  margin-top: 0;
  width: 30%;
}

.page_contents.option04 .waste_content03 ul {
  flex-wrap: wrap;
  justify-content: space-between;
}

.page_contents.option04 .waste_content03 ul li {
  width: 25%;
  padding: 8px;
}

.page_contents.option04 .waste_content03 ul li p {
  font-size: 13px;
}

.page_contents.option04 .waste_content04 dl {
  width: 90%;
  margin: auto;
}

.page_contents.option04 .waste_content04 dl dt {
  background: #9fe0e5;
  font-size: 28px;
  padding: 0 20px;
  font-weight: normal;
}

.page_contents.option04 .waste_content04 dl dd {
  font-size: 14px;
}

.page_contents.option04 .waste_content05 ul {
  justify-content: space-between;
}

.page_contents.option04 .waste_content05 ul li {
  width: 30%;
  background: #9fe0e5;
  padding: 15px;
}

.page_contents.option04 .waste_content05 ul li p.bg_wh {
  padding: 5px;
  text-align: center;
  border-radius: 8px;
}

.page_contents.option04 .waste_content06 .waste_voice_item {
  width: 96%;
  margin: 20px auto 0;
  background: #fff;
  box-shadow: 8px 8px 15px rgba(0, 0, 0, .15);
  padding: 15px;
}

/* ===== flow/お引っ越しの流れ ===== */

.page_contents.flow dl dt {
  border-left: solid 3px #9fe0e5;
  border-bottom: solid 3px #9fe0e5;
  padding: 6px 1em 6px 20px;
  color: #1d93ac;
  font-size: 18px;
  letter-spacing: .075em;
  font-weight: 400;
}

.page_contents.flow dl dt {
  position: relative;
}

.page_contents.flow dl dt::before {
  content: attr(date-num);
  display: inline-block;
  color: #2c2c2c;
  font-size: 21px;
  text-transform: uppercase;
  margin-right: 10px;
}

.page_contents.flow dl dd {
  display: flex;
  align-items: center;
}

.page_contents.flow dl dd p {
  width: 60%;
}

.page_contents.flow dl dd figure {
  width: 40%;
  padding-left: 3%;
}

.page_contents.flow table {
  width: 100%;
  max-width: 640px;
  margin: auto;
}

.page_contents.flow td.flow_th {
  background-color: #e6f3f4;
  font-weight: 500;
}

.page_contents.flow .flow_contents {
  margin-top: 5%;
}

.page_contents.flow h3 {
  font-size: 21px;
  font-weight: normal;
  position: relative;
  padding-bottom: 15px;
}

.page_contents.flow h3::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #666;
  position: absolute;
  bottom: 0;
  left: 0;
}

.page_contents.flow h3::after {
  content: "";
  display: block;
  width: 30%;
  height: 2px;
  background: #1d93ac;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.page_contents.flow .flow_contents ol {
  padding-left: 2em;
}

.page_contents.flow .flow_contents ol li {
  list-style: decimal-leading-zero;
  list-style-position: outside;
  margin-top: 15px;
  line-height: 1.6;
}

.page_contents.flow .flow_contents ul {
  padding-left: 2em;
}

.page_contents.flow .flow_contents ul li {
  list-style: circle;
  list-style-position: outside;
  line-height: 1.25;
}

.page_contents.flow .flow_contents ol.title_on {
  padding: 0;
}

.page_contents.flow .flow_contents ol.title_on li {
  list-style: none;
  margin-top: 15px;
}

.page_contents.flow .flow_contents ol.title_on .check_point {
  display: block;
  width: 100%;
  background: #1d93ac;
  line-height: 1.6;
  color: #fff;
  padding: 3px 1em;
  font-weight: 500;
}

/* ===== calendar/カレンダー ===== */
.page_contents.calendar .flex {
  flex-wrap: wrap;
  padding: 0;
}

.page_contents.calendar .flex li {
  width: calc((100% - 40px)/2);
  margin-left: 40px;
  margin-top: 40px;
}

.page_contents.calendar .flex li:nth-child(2n+1) {
  margin-left: 0;
}

/* ===== partnership/下請け業者募集/2203 ===== */
.partnership p {
  font-size: 32px;
}

.partnership .title_box {
  text-align: center;
  padding-bottom: 20px;
  border-bottom: solid 10px #1d93ac;
}

.partnership .title_box h2 {
  background: transparent;
  color: #1d93ac;
  font-size: 71px;
  padding: 0 0.01em 20px;
}

.partnership .title_box h2 span {
  display: block;
  font-size: 52px;
}

.partnership .detail_partnership {
  margin-top: 70px;
}

.partnership .marker {
  /*border-bottom: solid 2px #e87626;*/
  /*display: inline-block;*/
  padding: 0 5px;
  line-height: 120%;
  background: linear-gradient(transparent 90%, #e87626 90%);
  font-weight: bold;
}

.partnership .select_course {
  margin-top: 70px;
}

.partnership .select_course dl {
  margin-top: 60px;
}

.partnership .select_course dt {
  font-size: 36px;
  color: #1d93ac;
  font-weight: bold;
}

.partnership .select_course dd {
  font-size: 30px;
  padding: 30px 40px;
  border: solid 1px #1d93ac;
}

.partnership .message {
  margin-top: 80px;
}


.partnership .message p.alc {
  font-weight: bold;
}

.partnership .cta_box {
  margin-top: 40px;
}

.partnership .cta_box div {
  margin: 40px auto 0;
}

.partnership div a {
  display: block;
  margin: auto;
  width: 100%;
  max-width: 1000px;
  padding: 25px 0;
}

.partnership div a span {
  display: block;
  text-align: center;
  line-height: 120%;
}

.partnership div a span.white {
  font-size: 48px;
}

.partnership div a span.yel {
  font-size: 87px;
}

/* ===== contact/お問い合わせ/見積もりフォーム ===== */
input:not(input[type=checkbox]),
button,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
}

span.mwform-checkbox-field.horizontal-item,
span.mwform-radio-field {
  margin-left: 10px;
}

.post_content .contact {
  width: 100%;
  max-width: 820px;
  margin: 40px auto 0;
  border-collapse: collapse;
  border: solid 1px #e6f3f4;
}

.post_content .contact tr {
  border-bottom: solid 1px #e6f3f4;
}

.post_content .contact th {
  width: 225px;
  background-color: #1d93ac;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  border: 0;
}

.post_content .contact th.estimate_title {
  background-color: #9fe0e5;
  color: #2c2c2c;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .075em;
  border: 0;
  text-align: center;
}

.post_content .contact td {
  width: calc(100% - 225px);
  color: #2c2c2c;
  font-size: 14px;
  border: 0;
  background: #fff;
  vertical-align: middle;
  padding: 12px 8px;
  margin-top: 0;
}

.post_content .contact p {
  margin-top: 8px;
}


.post_content .form .freedial::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 20px;
  background: url(../img/ico_freedial_bk.png) no-repeat center/30px auto;
  margin-right: 8px;
}

.post_content .contact td input::-webkit-input-placeholder {
  color: #666;
}

.post_content .contact td input::-moz-placeholder {
  color: #666;
}

.post_content .contact td input:-ms-input-placeholder {
  color: #666;
}

.post_content .contact td input::-ms-input-placeholder {
  color: #666;
}

.post_content .contact td input::placeholder {
  color: #666;
}

.post_content .contact td textarea::-webkit-input-placeholder {
  color: #666;
}

.post_content .contact td textarea::-moz-placeholder {
  color: #666;
}

.post_content .contact td textarea:-ms-input-placeholder {
  color: #666;
}

.post_content .contact td textarea::-ms-input-placeholder {
  color: #666;
}

.post_content .contact td textarea::placeholder {
  color: #666;
}

.post_content .contact td input[type=text]:not(.form_tel, .estimate_tel, .estimate_add_num, .zoom_tel, .estimate24_add_num, .estimate24_tel),
.post_content .contact td input[type=email],
.post_content .contact td textarea {
  border-radius: 0;
  border: 1px solid rgba(200, 200, 200, .5);
  background: transparent;
  width: 100%;
  margin: 0 0 3px;
}

.post_content .contact td .mwform-tel-field input[type=text] {
  border-radius: 0;
  border: 1px solid rgba(200, 200, 200, .5);
}

.post_content input[type=radio]:checked {
  box-shadow: 0 0 0 3px lightblue;
}

input[type=radio] {
  display: none;
}

input[type=radio]+span {
  padding-left: 15px;
  position: relative;
  margin-right: 6px;
}

.post_content input[type=radio]+span::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 12px;
  height: 12px;
  border: 1px solid #999;
  border-radius: 50%;
}

.post_content input[type=radio]:checked+span {
  color: #1d93ac;
}

.post_content input[type=radio]:checked+span::after {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 2px;
  width: 8px;
  height: 8px;
  background: #1d93ac;
  border-radius: 50%;
}

.post_content .contact td textarea {
  resize: vertical;
}

.post_content .contact td .estimate_add_num {
  margin-bottom: 8px;
  width: 100%;
  border-radius: 0;
}

.post_content .estimete_packing_box {
  display: flex;
  align-items: center;
  padding: 5px 0;
}

.post_content .estimete_packing_box .packing_item {
  width: calc(100% - 230px);
  font-size: 14px;
}

.post_content .estimete_packing_box .packing_item_number {
  width: 160px;
}

.post_content *::-webkit-input-placeholder {
  font-size: 12px;
}

.post_content *::-moz-placeholder {
  font-size: 12px;
}

.post_content *:-ms-input-placeholder {
  font-size: 12px;
}

.post_content *::-ms-input-placeholder {
  font-size: 12px;
}

.post_content *::placeholder {
  font-size: 12px;
}

.post_content .estimete_packing_box .unit {
  width: 65px;
  font-size: 12px;
  padding-left: 5px;
}


.post_content .contact .mwform-checkbox-field label,
.post_content .contact .mwform-radio-field label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}


.post_content .contact td .estimate_memo {
  font-size: 13px;
  font-weight: 700;
  display: block;
}

.post_content .contact td .estimate_adult_num {
  margin-bottom: 15px;
}

.post_content .lists_detail_box {
  margin: 0 auto 10px;
}

.post_content .lists_detail_message {
  margin-top: 12px;
  margin-bottom: 8px;
  border-bottom: solid 1px #1d93ac;
}

.post_content .lists_all+.lists_detail_message {
  margin-top: 20px;
}

.post_content .lists_detail_box .list_detail_item {
  padding: 0 0 8px 0;
  margin: 0 5px 0 0;
}

.post_content .list_detail_item+span {
  font-size: 14px;
}

.post_content .lists_detail_box .list_detail_item .detail_title,
.page_contents .list_detail_item_subtitle {
  font-weight: bold;
  color: #1d93ac;
  font-size: 14px;
}

.post_content .list_detail_item_num {
  display: flex;
  align-items: center;
  margin: 5px 0 0 0;
}

.post_content .list_detail_item_num .detail_title {
  color: #2c2c2c;
  font-weight: bold;
  width: 45%;
  font-size: 14px;
}

.post_content .list_detail_item_num .unit {
  width: 10%;
}

.post_content .list_detail_item_num .detail_input {
  font-size: 14px;
  margin-right: 5px;
}

/* ===== ===== お問い合わせ：訪問希望日 ===== ===== */
.visit_date_wrap td {
  width: 100% !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.visit_date_wrap .date_detail_message {
  width: 100px;
}

.visit_date_wrap .datebox {
  width: calc((100% - 120px)/2);
}

.visit_date_wrap .timebox {
  width: calc((100% - 120px)/2);
  margin-left: 20px;
}

/* ===== ===== キャンペーン アイテム ===== ===== */
.visit_campaign_item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-left: 0 !important;
}

.visit_campaign_item li {
  list-style: none !important;
  margin-top: 10px;
  text-align: center;
}

.visit_campaign_item.key li {
  width: calc((100% - 50px)/5);
  margin-left: 10px;
}

.visit_campaign_item.bag li {
  width: calc((100% - 60px)/6);
  margin-left: 10px;
}

.visit_campaign_item li figure {
  max-width: 90px;
  height: auto;
}

.visit_campaign_item li img {
  width: 100%;
  height: auto;
}

.post_content .contact .form_must {
  color: #ffbd66;
}

.post_content .submit_area {
  margin-top: 45px;
  text-align: center;
}

.post_content .submit_area input[type=submit] {
  background: #1d93ac;
  border: solid 1px #1d93ac;
  color: #fff;
  transition: all ease-in .5s;
}

.post_content .submit_area input[type=submit]:hover {
  background: #fff;
  color: #1d93ac;
}

.post_content .toppage_link a {
  display: inline-block;
  width: 60%;
  max-width: 180px;
  height: 55px;
  line-height: 55px;
  text-align: center;
}

.post_content .toppage_link a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 15px;
  background: url(../img/ico_arrow_wh.png) no-repeat center / 8px 15px;
  margin-left: 8px;
}

/* ===== zoom見積もり ===== */
.post_content .color_zoom {
  color: #0071bc;
}

.post_content .zoom .zoom_cnt01 figure img {
  width: 100%;
}

.post_content .zoom .zoom_cnt01 {
  width: 96%;
  max-width: 820px;
  margin: 90px auto 0;
}

.post_content .zoom .zoom_cnt02,
.post_content .zoom .zoom_cnt03,
.post_content .zoom .zoom_cnt04 {
  width: 96%;
  max-width: 820px;
  margin: 60px auto 0;
}

.zoom_cnt01_inner {
  border: solid 8px #0071bc;
  padding: 50px 10px;
  position: relative;
  z-index: 0;
}

.zoom_cnt01_inner .covid19_title {
  max-width: 300px;
  margin: auto;
  position: absolute;
  top: -75px;
  left: 50%;
  transform: translate(-50%, 0);
}

.zoom_cnt01_inner h3 {
  text-align: center;
  font-size: 48px;
  font-weight: 500;
}

.zoom_cnt01_inner .zoom_merit {
  max-width: 520px;
  margin: 20px auto 0;
}

.zoom_cnt01_inner .open_hour {
  width: 65%;
  max-width: 520px;
  text-align: center;
  color: #fff;
  background: #0071bc;
  border-radius: 40px;
  font-size: 24px;
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translate(-50%, 0);
  padding: 8px 55px;
}

.zoom_cnt02 .enter_btn_wrap {
  text-align: center;
  margin-top: 25px;
}

.zoom_cnt02 .enter_btn {
  display: inline-block;
  background: rgb(19, 156, 183);
  background: linear-gradient(60deg, rgba(19, 156, 183, 1) 0%, rgba(63, 128, 193, 1) 100%);
  color: #fff;
  font-weight: bold;
  font-size: 28px;
  padding: 42px 40px 42px 115px;
  text-align: center;
  position: relative;
  z-index: 0;
  border-radius: 8px;
}

.zoom_cnt02 .enter_btn::before,
.zoom_cnt02 .enter_btn::after {
  content: "";
  display: block;
  position: absolute;
}

.zoom_cnt02 .enter_btn::before {
  width: 90px;
  height: 93px;
  background: url(../img/ico_zoom_karugamo.png) no-repeat center / 100% auto;
  left: 8px;
  top: 50%;
  transform: translate(0, -50%);
}

.zoom_cnt02 .enter_btn::after {
  width: 12px;
  height: 12px;
  border-width: 0 3px 3px 0;
  border-color: #fff;
  border-style: solid;
  transform: rotate(-45deg);
  right: 8px;
  top: calc(50% - 5px);
}

.zoom_cnt02 p,
.zoom_cnt03 .zoom_caution {
  text-align: center;
  font-size: 20px;
}

.zoom_cnt03 p {
  text-align: center;
}

/* ===== link-list:リンク集 ===== */
.page_contents .table_scroll {
  width: 100%;
  overflow-x: scroll;
}

.page_contents.link_list table {
  min-width: 1155px;
}

.page_contents.link_list table th {
  width: 240px;
  color: #2c2c2c;
  font-size: 15px;
}

.page_contents.link_list table th a {
  color: #1d93ac;
  font-size: 15px;
}

.page_contents.link_list table td.table_header {
  background: #eee;
}

.page_contents.link_list table td {
  background: transparent;
  border-bottom: solid 1px #1d93ac;
  font-size: 15px;
}

.page_contents.link_list code {
  word-break: break-all;
  line-height: 1.6;
  color: #666;
  padding: 8px 12px;
}

/* 対応エリア */
.headingBg {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.areaInner {
  max-width: 1200px;
  margin: auto;
}


@media only screen and (max-width: 1120px) {
  header.add_le {
    height: 90px;
    min-height: auto;
  }

  div#body_wrap {
    padding-top: 90px;
  }

  div#body_wrap.home {
    padding-top: 0px;
  }

  /* ===== 1120/header ===== */
  header.add_le .hamburger-menu {
    display: block;
  }

  .header_pc_info,
  .header_pc_research,
  .header_cta_tel {
    display: none;
  }

  header section.middle_area {
    top: 0;
  }

  header section.pagelink_area {
    display: none;
  }

  header section.middle_area .logo_area .pc-only {
    display: none;
  }

  header section.middle_area .logo_area .sp-only {
    display: block;
  }

  header section.middle_area .logo_area .sp-only img {
    max-width: 270px;
    height: auto;
    width: 100%;
  }

  header section.header_top_area .header_cta_tel {
    display: none;
  }

  header section.middle_area .cta_area {
    height: 0;
  }

  header section.middle_area .cta_area a.calendar {
    display: none;
  }

  header section.middle_area .cta_area a.partnership {
    display: block;
    width: 95px;
    height: 70px;
    position: fixed;
    top: 6px;
    right: 220px;
    font-size: 10px;
    text-align: center;
    padding: 30px 5px 0 5px;
    line-height: 1.25;
    background-position: top 3px center;
    background-size: 20px auto;
  }

  header section.middle_area .cta_area a.mail {
    color: #1d93ac;
    display: block;
    width: 70px;
    height: 70px;
    position: fixed;
    top: 6px;
    right: 150px;
    font-size: 10px;
    text-align: center;
    padding: 30px 5px 0 5px;
    line-height: 1.25;
    background-position: top 3px center;
    background-size: 20px auto;
  }

  header section.middle_area .cta_area a.estimate {
    width: 70px;
    height: 70px;
    position: fixed;
    top: 6px;
    right: 80px;
    /*font-size: 10px;*/
	font-size: clamp(1px, 2.187vw, 10px);
    text-align: center;
    padding: 30px 5px 0 5px;
    background-position: top 5px center;
    background-size: 10px auto;
    line-height: 1.25;
  }

  header section.middle_area .cta_area a.estimate::after {
    display: none;
  }

  .menu-btn {
    top: 6px;
  }

  header .fidxed_header_tel {
    display: block;
    position: absolute;
    top: calc(50% - 24px);
    right: 320px;
    max-width: 190px;
    height: auto;
  }

  header .fidxed_header_tel img {
    display: block;
    width: 100%;
  }

  header .fidxed_bnr ul li.fixed_bnr_item.pc {
    display: none;
  }

  header .fidxed_bnr ul li.fixed_bnr_item.sp {
    display: block;
  }

  /* ===== 1120/footer ===== */
  footer.l-footer {
    position: relative;
    z-index: 1;
  }

  .add_le_footer .footer_area {
    display: none;
  }

  .add_le_footer .sp_footer_nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  .add_le_footer .sp_footer_nav a {
    display: inline-block;
    color: #fff;
    font-size: 14px;
    position: relative;
    z-index: 0;
    padding: 5px 20px;
  }

  .add_le_footer .sp_footer_nav a::after {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: calc(50% - 4px);
    right: 5px;
    transform: rotate(45deg);
  }

  .add_le_footer .sp_floating_menu {
    width: 100%;
    display: flex;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 0;
  }

  .add_le_footer .sp_floating_menu div {
    width: calc(100%/3);
    text-align: center;
    position: relative;
    z-index: 0;
  }

  .add_le_footer .sp_floating_menu div a {
    font-size: 12px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  .add_le_footer .sp_floating_menu div.fl_zoom {
    /*background: url(../img/ico_zoom_wh.png) no-repeat center top 10px / 20px auto, #0071bc;*/
    background: url(../img/ico_zoom_wh.png) no-repeat center top 10px / 20px auto, #00ba00;
    padding: 35px 5px 20px;
  }

  .add_le_footer .sp_floating_menu div.fl_tel {
    background: url(../img/ico_visit_wh.png) no-repeat center top 10px / 20px auto, #1d93ac;
    padding: 35px 5px 20px;
  }

  .add_le_footer .sp_floating_menu div.fl_contact {
    background: url(../img/ico_form_wh.png) no-repeat center top 10px / 20px auto, #f69d01;
    padding: 35px 5px 20px;
  }

  /* ===== 1120/固定ページ ===== */
  /* ===== 1120/見出しフォントサイズ ===== */
  .page_contents h2 {
    font-size: 24px;
  }

  .page_contents h3 {
    font-size: 21px;
  }

  .page_contents h4 {
    font-size: 18px;
  }

  .page_contents h5 {
    font-size: 17px;
  }

  .page_contents h6 {
    font-size: 15px;
  }

  /* ===== 1120/ページタイトル以下：コンテンツ ===== */
  .page .content_box {
    padding: 0 2%;
  }

  /* ===== 1120/plan/01-05 ===== */
  .plan .plan_content03 .plan_campaign {
    width: 100%;
  }

  .plan .plan_content03 .plus_campaign_wrap {
    width: 100%;
    margin-top: 20px;
  }


  /* ===== 1120/link_list:リンク集 ===== */
  .page_contents .table_scroll::before {
    content: "スクロールして表を確認いただけます";
    display: block;
    font-size: 13px;
    color: #e87626;
  }
}

@media only screen and (max-width: 820px) {

  /* ===== 820/footer/start ===== */
  .l-footer {
    z-index: 2;
    padding-bottom: 60px;
  }

  /* ===== 820/02/カップル引っ越しプラン ===== */
  .plan_comparison {
    flex-wrap: wrap;
  }

  .plan_comparison .comparison_content {
    width: 100%;
    margin: 20px auto 0;
    padding: 0;
  }

  .plan_comparison .comparison_content .bold {
    margin-bottom: 8px;
  }

  .p_02_case_wrap .case_content.content02 ul {
    flex-wrap: wrap;
  }

  .p_02_case_wrap .case_content.content02 ul li {
    width: 100%;
    height: auto;
  }

  .p_02_case_wrap .case_content.content02 ul li+li {
    margin-top: 20px;
  }

  .p_02_case_wrap .case_content.content02 {
    padding-bottom: 45px;
  }

  .p_02_case_wrap .case_content.content02::after {
    left: -15px;
  }

  .plan .strength_wrap {
    flex-wrap: wrap;
  }

  .strength_wrap .imagebox,
  .strength_wrap .textbox {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  /* ===== 820/04/長距離引っ越しプラン ===== */
  .post_content .plan .plan04 img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .plan04 .img_plan04_price img {
    display: block;
    width: 100%;
    max-width: 480px;
    height: auto;
    margin: auto;
  }

  .plan04 .feature_inner .flex {
    flex-direction: column;
  }

  .plan04 .feature_inner .flex .imagebox,
  .plan04 .feature_inner .flex .textbox {
    width: 100%;
    max-width: 100%;
  }

  .plan04 .feature_inner .flex .textbox {
    margin-top: 20px;
  }

  .plan04 .feature_inner .flex .imagebox figure {
    width: 100%;
    aspect-ratio: 2/1;
    overflow: hidden;
  }

  .plan04 .feature02_detail {
    padding: 20px 15px 30px;
    background: rgba(0, 146, 69, 0.06);
    flex-direction: column;
    align-items: center;
  }

  .plan04 .feature02_detail li {
    width: 92%;
    max-width: 480px;
    margin-top: 40px;
  }

  .plan04 .feature02_detail li p {
    margin-top: 5px;
  }

  .plan .service_detail_inner .service_contents {
    flex-direction: column;
  }

  .plan .service_detail_inner .service_contents li,
  .plan .service_detail_inner .service_contents li:nth-child(4n+1) {
    width: 100%;
    max-width: 320px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 40px auto 0;
    padding: 10px;
  }

  .plan .service_detail_inner .service_contents li figure {
    width: 90px;
  }

  .plan .service_detail_inner .service_contents li .service_item_text {
    width: calc(100% - 100px);
    text-align: left;
  }

  .plan .service_detail_inner .service_contents li .service_item_text p {
    margin-top: 8px;
  }

  .plan .service_detail h3 {
    font-size: 24px;
  }

  .plan .service_item_text .fs24 {
    font-size: 16px;
  }

  .plan .service_detail02 {
    flex-direction: column;
  }

  .plan .flow_moving {
    width: 100%;
    position: relative;
    z-index: 0;
  }

  .plan .flow_moving::before {
    content: "スクロールしてステップをご確認ください";
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #1d93ac;
    margin-top: 20px;
  }

  .post_content .plan .flow_moving .flow_contents {
    flex-wrap: nowrap;
    height: 210px;
    overflow-y: hidden;
    overflow-x: scroll;
    margin-top: 0;
  }

  .post_content .plan .flow_moving .flow_contents li {
    min-width: 195px;
    height: auto;
    margin-left: 15px;
    margin-top: 25px;
  }

  .post_content .plan .flow_moving .flow_contents figure {
    aspect-ratio: 3/2;
  }

  .post_content .plan .flow_moving .flow_contents figure figcaption {
    font-size: 14px;
  }

  .plan .related_post .related_post_contents {
    flex-direction: column;
  }

  .plan .related_post .related_post_contents li {
    width: 100%;
    max-width: 480px;
    margin: 8px auto;
  }

  .plan .table_pc {
    display: none;
  }

  .plan .table_sp {
    display: block;
    width: 100%;
    max-width: 480px;
    margin: 20px auto 0;
  }

  .plan04 .price_emphasis {
    padding: 10px;
  }

  .plan04 .emphasis_contents {
    flex-direction: column;
  }

  .plan04 .emphasis_contents li {
    width: 100%;
    max-width: 480px;
    margin: auto;
  }

  .post_content .plan04 .emphasis_contents li.imagebox img {
    max-width: 240px;
    margin: auto;
  }

  .plan04 .brackets {
    font-size: 16px;
    margin-top: 20px;
  }

  .plan04 .brackets+p {
    font-size: 24px;
  }

  .plan .plan04_price_table li {
    width: 100%;
    max-width: 480px;
    margin: 20px auto 0;
  }

  .plan04_qa dt {
    font-size: 16px;
  }

  .post_content .plan04 .plan04_qa dt::before {
    font-size: 18px;
    top: calc(50% - 9px);
  }

  .plan .reason_contents {
    flex-direction: column;
  }

  .plan .reason_contents li {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }

  .post_content table {
    max-width: 820px;
    width: 100%;
    overflow-x: auto;
    display: block;
    /*white-space: nowrap;*/
  }

  .js-scrollable table th,
  .js-scrollable table td {
    min-width: 20em;
    max-width: 30em;
    /* セルの最大幅を設定 */
    overflow-wrap: break-word;
    /* テキストを折り返す */
    word-wrap: break-word;
    /* テキストを折り返す */
    word-break: break-all;
    /* 長い単語を折り返す */
    white-space: normal;
    /* セル内のテキストを折り返す */
  }

  .js-scrollable table.has-fixed-layout th.has-text-align-center {
    text-align: left;
  }
}


@media only screen and (max-width: 767px) {

  /* ===== 767/header ===== */
  header section.middle_area .logo_area {
    max-width: 240px;
    align-items: flex-start;
  }

  .menu-btn {
    width: 55px;
    height: 55px;
    right: 5px;
  }

  header section.middle_area .cta_area a.partnership {
    height: 55px;
    right: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3px;
  }

  header section.middle_area .cta_area a.partnership span {
    display: block;
  }

  header section.middle_area .cta_area a.mail {
    width: 55px;
    height: 55px;
    background-size: 25px;
    background-position: center;
    right: 115px;
    background-image: url(../img/ico_line_est.png);
  }

  header section.middle_area .cta_area a.estimate {
    width: 55px;
    height: 55px;
    /*background-size: 20px;*/
    background-size: 32px;
    background-position: center;
    right: 60px;
  }

  header section.middle_area .cta_area a.estimate br {
    display: inline;
  }

  header section.middle_area .cta_area a span {
    display: none;
  }

  header section.middle_area .cta_area a.estimate span {
    display: block;
    margin-top: -16px;
  }

  header .fidxed_header_tel {
    right: 270px;
    top: 12px;
  }

  header .fidxed_header_tel img {
    display: block;
    width: 100%;
    max-width: 420px;
    margin: auto;
  }

}

@media only screen and (max-width: 640px) {

  /* ===== 640/共通項目：固定ページ ===== */
  /* ===== 640/フォントサイズ ===== */
  .page_contents .fs21 {
    font-size: 20px;
  }

  .page_contents .fs24 {
    font-size: 22px;
  }

  .page_contents .fs27 {
    font-size: 24px;
  }

  .page_contents .fs32 {
    font-size: 28px;
  }

  .page_contents .fs36 {
    font-size: 32px;
  }

  /* ===== 640/cta/メール問い合わせ・電話/オプションに設置 ===== */
  .page_cta02_blue01 {
    background: #1d93ac;
    padding: 2%;
  }

  .page_cta02_blue01 .up_text p {
    position: relative;
    font-size: 21px;
  }

  .page_cta02_blue01 .up_text p::after {
    content: "";
    display: block;
    width: 90px;
    height: 90px;
    background: url(../img/deco_karugamo05.png) no-repeat left 10px center/auto 90px;
    position: absolute;
    right: 5px;
    bottom: 5px;
  }

  .page_cta02_blue01 ul .mail {
    width: 100%;
  }

  .page_cta02_blue01 ul .tel {
    width: 100%;
    margin-top: 10px;
    margin-left: 0;
  }

  .page_cta02_blue01 ul li a {
    justify-content: center;
  }

  /* ===== 640/cta/コガモ便 ===== */
  .page_cta_kogamo .yel {
    font-size: 32px;
  }

  /* ===== 640/CTA/2203 ===== */
  ul.linksitem.col02 {
    flex-direction: column;
  }

  ul.linksitem.col02 li {
    width: 100%;
    margin: 1% 0 0;
  }

  ul.linksitem.col02 .title .tel span {
    display: inline;
  }

  .cta2203 .linkitem .subtitle_icon {
    width: 48px;
    height: 36px;
  }

  ul.linksitem.col02 .tel_icon img {
    width: auto;
    height: 100%;
  }

  ul.linksitem.col03 {
    justify-content: space-between;
  }

  ul.linksitem.col03 li {
    width: calc(98%/3);
    margin-left: 1%;
    margin-top: 1%;
    padding: 4px 4px 24px;
    line-height: 1em;
    font-size: 15px;
    height: 75px;
  }

  ul.linksitem.col03 li:first-child {
    margin-left: 0;
  }

  ul.linksitem.col03 li::after {
    width: 20px;
    height: 20px;
    background-size: 20px;
    right: calc(50% - 10px);
    top: unset;
    bottom: 5px;
    transform: translate(0, 0);
  }

  /* ===== 640/共通項目/投稿ページ：ページタイトル部分 ===== */

  div#main_visual,
  div#body_wrap.single {
    padding-top: 125px;
  }

  /* ===== 640/共通項目/表示・非表示 切り替え ===== */
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }


  /* ===== 640/header ===== */
  header.add_le {
    height: 130px;
  }

  div#body_wrap {
    padding-top: 130px;
  }

  header .fidxed_bnr {
    width: 80px;
    top: 200px;
  }

  header .fidxed_bnr ul {
    width: 80px;
  }



  header section.middle_area {
    height: 55px;
  }

  header section.middle_area .cta_area a.partnership {
    display: none;
    /*width: 100%;
        top: 120px;
        height: auto;
        right: 0;
        border: 0;
        background: #1d93ac;
        padding: 12px 8px;
        font-size: 12px;
        font-weight: bold;
        color: #fff;*/
  }

  header .fidxed_header_tel {
    position: static;
    width: auto;
    max-width: unset;
    height: 60px;
    margin: 5px 0 0;
  }

  header .fidxed_header_tel a {
    display: block;
    width: 100%;
  }

  header .fidxed_header_tel img {
    width: auto;
    max-width: 300px;
    max-height: 60px;
    margin: 0 auto;
  }

  /* ===== 640/共通項目/カレンダー(swell ブログパーツ) ===== */
  .p-blogParts.post_content .calendar_item {
    flex-direction: column;
    align-items: center;
  }

  .p-blogParts.post_content .calendar_item li {
    width: 100%;
    max-width: 480px;
  }

  /* ===== 640/トップページ ===== */
  .front_page.top_news .-type-card.-sp-col1 .p-postList__title {
    font-size: 3.2vw;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .front_page .front_content {
    padding: 0 2%;
    margin-top: 3%;
  }

  .post_content ul.front_planlinks {
    padding: 0;
  }

  .front_planlinks li,
  .front_planlinks li:nth-child(3n + 1) {
    width: calc((100% - 3%)/2);
    margin-left: 3%;
  }

  .front_planlinks li:first-child,
  .front_planlinks li:nth-child(2n+1) {
    margin-left: 0;
  }

  .front_page ul.front_optionlinks {
    justify-content: space-between;
    align-items: stretch;
    padding: 0;
  }

  .front_optionlinks li,
  .front_optionlinks li:nth-child(3n+1) {
    width: calc((100% - 3%)/2);
    margin: 3% 0 0 0;
  }

  .front_page ul.front_optionlinks li a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .front_page ul.other_contentslinks {
    justify-content: space-between;
    align-items: stretch;
    padding: 0;
  }

  .other_contentslinks li,
  .other_contentslinks li:nth-child(3n+1) {
    width: calc((100% - 3%)/2);
    margin: 3% 0 0 0;
  }

  .other_contentslinks li p,
  .other_contentslinks li br {
    display: none;
  }

  /* ===== 640/共通項目/ ===== */

  /* ===== 640/タイトルエリア===== */
  .page_contents .contents_item .mv_wrap .page-title {
    font-size: 26px;
    padding: 0 2%;
  }

  .page_contents .contents_item .mv_wrap .sub_title {
    font-size: 14px;
    padding: 0 2%;
  }


  .page_contents .contents_item .mv_wrap figure span.main_text {
    font-size: 30px;
    line-height: 1.4;
    padding: 10px;
  }

  .page_contents .contents_item .mv_wrap figure span.sub_text {
    font-size: 14px;
  }

  .page_contents .plan_lead {
    flex-direction: column-reverse;
  }

  .page_contents .plan_lead .plan_lead_left,
  .page_contents .plan_lead .plan_lead_right {
    width: 100%;
  }

  /* ===== 640/共通項目/タイトル以下部分 ===== */

  .page_contents.bg_gray .contents_item .content_box {
    margin: 0 auto;
  }

  /* ===== 640/共通項目/ページ間リンク ===== */

  .page_bottom_link ul li {
    width: calc((100% - 20px)/2);
  }

  /* ===== 640/plan/親ページ ===== */
  .plan .bnr_link li {
    width: calc((100% - 20px)/2);
    margin-top: 12px;
  }

  /* ===== 640/plan/01-05 ===== */
  .page_contents .plan_price {
    font-size: 27px;
  }

  .plan .feature_content li {
    font-size: 18px;
    line-height: 1.6;
  }

  .plan .plan_content_link dl {
    flex-direction: column-reverse;
  }

  .plan .plan_content_link dl dt,
  .plan .plan_content_link dl dd {
    width: 100%;
    padding: 0;
  }

  main .page_contents.plan .page_cta h2 {
    font-size: 32px;
  }

  main .page_contents.plan .page_cta h2 span {
    font-size: 42px;
  }

  .page_contents .plan_borderbox {
    padding: 10px;
  }

  .page_contents ul.disc_list li {
    font-size: 13px;
  }

  /* ===== 640/plan/03/家族プラン ===== */
  .plan .plan03_menu {
    flex-direction: column;
  }

  .plan .plan03_menu li:not(.disc_list li) {
    width: 100%;
    margin-top: 20px;
  }

  .plan .plan03_menu li div {
    padding-bottom: 10px;
  }

  .plan .plan03_menu li p {
    margin-top: 0;
    padding: 5px 10px;
  }

  /* ===== 640/plan/04/軽トラ便プラン ===== */
  .plan05_cnt01_box {
    flex-direction: column-reverse;
    margin-top: 20px;
  }

  .plan05_cnt01_box .left {
    width: 100%;
  }

  .plan05_cnt01_box .left figure:not(.pc) {
    display: flex;
    justify-content: space-between;
  }

  .plan05_cnt01_box .left figure img {
    width: 47.5%;
  }

  .plan05_cnt01_box .right {
    width: 100%;
  }

  /* ===== 640/option01/オプションプラン ===== */
  .page_contents.option dl {
    width: 100%;
    background: #fff;
    margin: 40px auto 0;
  }

  main .page_cta ul li {
    width: calc((100% - 30px)/2);
  }

  .page_contents.option dl dt {
    background: transparent;
    border-left: solid 3px #9fe0e5;
    border-bottom: solid 3px #9fe0e5;
    padding: 6px 1em 6px 20px;
    color: #1d93ac;
    font-size: 18px;
    letter-spacing: .075em;
    font-weight: 400;
  }

  /* ===== 640/option03/トランクルーム ===== */
  .page_contents.option03 .trank_cnt01 .right_item h3 {
    font-size: 27px;
  }

  .page_contents.option03 .trank_cnt01 .right_item ul {
    flex-direction: column;
  }

  .page_contents.option03 .trank_cnt01 .right_item ul li,
  .page_contents.option03 .trank_cnt01 .right_item ul li:not(:first-child) {
    width: 100%;
    text-align: center;
    margin: 2% 0 0;
  }

  .page_contents.option03 .trank_cnt03 dd ul {
    flex-direction: column;
    width: 96%;
    margin: auto;
  }

  .page_contents.option03 .trank_cnt03 dd ul li {
    width: 100%;
    font-size: 14px;
  }

  /* ===== 640/option04/不用品回収 ===== */
  .page_contents.option04 .feature_content li {
    font-size: 16px;
  }

  .page_contents.option04 .waste_content02 div {
    flex-direction: column;
  }

  .page_contents.option04 .waste_content02 ul {
    width: 100%;
  }

  .page_contents.option04 .waste_content03 ul li {
    width: 50%;
  }

  .page_contents.option04 .waste_content03 ul li p {
    font-size: 12px;
  }

  .page_contents.option04 .waste_content04 dl {
    width: 100%;
    margin-top: 2%;
  }

  .page_contents.option04 .waste_content04 dl dt {
    background: transparent;
    border-bottom: solid 3px #9fe0e5;
    border-left: solid 3px #9fe0e5;
    padding: 0 .5em 8px 0.5em;
    color: #1d93ac;
    font-size: 18px;
  }

  .page_contents.option04 .waste_content05 ul {
    flex-direction: column;
  }

  .page_contents.option04 .waste_content05 ul li {
    width: 100%;
  }

  .page_contents.option04 .waste_content05 ul li p.bg_wh {
    padding: 0;
    text-align: left;
    color: #9fe0e5;
  }

  /* ===== 640/flow/引っ越しの流れ ===== */
  .page_contents.flow dl {
    margin: 40px auto 0;
  }

  .page_contents.flow dl dd {
    flex-direction: column-reverse;
  }

  .page_contents.flow dl dd p,
  .page_contents.flow dl dd figure {
    width: 100%;
    padding: 0;
  }

  .page_contents.flow dl dd figure img {
    width: 100%;
  }

  /* ===== 640/voice/お客様の声 ===== */
  .page_contents.voice ul li {
    width: 50%;
  }

  .page_contents.voice summary {
    list-style: none;
    width: 100%;
    height: 35px;
    line-height: 35px;
    background: #4a4a4a;
    color: #fff;
    text-align: center;
  }

  /* ===== 640/calendar/カレンダー ===== */
  .page_contents.calendar .flex li {
    width: 100%;
    margin-left: 0;
    margin-top: 20px;
  }

  /* ===== 引越し情報 ===== */
  .page_contents table td {
    font-size: 13px;
  }

  /* ===== 640/company/会社情報 ===== */
  /* アンカーリンク */
  .page_contents .anchor_links {
    justify-content: space-between;
    padding: 0;
    align-items: stretch;
  }

  .page_contents .anchor_links li {
    width: 49%;
    font-size: 12px;
    min-width: auto;
    margin: 8px 0 0;
  }

  .page_contents .anchor_links li::after {
    width: 25px;
    height: 12px;
    background-size: 25px auto;
  }

  /* ===== 640/お問い合わせ・見積もり/フォームパーツ ====== */
  .post_content .contact td input[type=text]:not(.form_tel, .estimate_tel, .estimate_add_num),
  .post_content .contact td input[type=email],
  .post_content .contact td textarea {
    width: 100%;
    font-size: 16px;
    line-height: 2;
  }

  .post_content .contact td input.form_tel,
  .post_content .contact td input.estimate_tel,
  .post_content .contact td input.estimate_add_num,
  .post_content .contact td input.estimate_add_num {
    font-size: 16px;
    line-height: 2;
  }

  .post_content .contact th.estimate_title {
    font-size: 16px;
  }

  .post_content .contact td .mwform-tel-field input.form_tel,
  .post_content .contact td .mwform-tel-field input.estimate_tel,
  .post_content .contact td .mwform-tel-field input.zoom_tel {
    width: 80px;
  }

  span.mwform-checkbox-field.horizontal-item,
  span.mwform-radio-field {
    display: inline-block;
    padding: 8px 0;
  }


  /* ===== 640/共通項目/お問い合わせ・お見積もり/ ===== */
  .post_content .contact {
    width: 94%;
    margin: 4% auto 0;
    border: 0;
  }

  .post_content .contact tr {
    border-bottom: 0;
  }

  .post_content .contact th {
    display: block;
    width: 100%;
    margin: 0;
    padding: 8px;
    border: 0;
  }

  .post_content .contact td {
    display: block;
    width: 100%;
    padding: 8px 0;
    margin: 0;
  }

  /* ===== ===== 640/共通項目/訪問希望日 ===== ===== */
  .visit_date_wrap td {
    display: flex !important;
    flex-wrap: wrap;
  }

  .visit_date_wrap .date_detail_message {
    width: 100%;
    border-bottom: solid 1px #1d93ac;
    margin-bottom: 8px;
  }

  .visit_date_wrap .datebox,
  .visit_date_wrap .timebox {
    width: 47.5%;
    margin: auto;
  }

  /* ===== ===== 640/共通項目/キャンペーン アイテム ===== ===== */

  .visit_campaign_item.key li,
  .visit_campaign_item.bag li {
    width: calc((100% - 30px)/3);
    margin-left: 10px;
  }

  /* ===== 640/zoom/zoom見積もり予約 ===== */
  .zoom_cnt01_inner {
    padding: 35px 10px;
  }

  .post_content .zoom .zoom_cnt01 {
    margin: 100px auto 0;
  }

  .zoom_cnt01_inner .covid19_title {
    width: 80%;
  }

  .zoom_cnt01_inner .open_hour {
    width: 84%;
    padding: 5px 10px;
    font-size: 20px;
    text-align: center;
  }

  .post_content .zoom .zoom_cnt02,
  .post_content .zoom .zoom_cnt03,
  .post_content .zoom .zoom_cnt04 {
    margin: 40px auto 0;
  }

  .zoom_cnt02 p,
  .zoom_cnt03 .zoom_caution {
    font-size: 15px;
  }



  /* ===== ===== 640/partnership/下請け企業募集 ===== ===== */
  .partnership .title_box {
    margin-top: 20px;
  }

  .partnership .title_box h2 {
    font-size: 27px;
    padding-bottom: 0;
  }

  .partnership .title_box h2 span {
    font-size: 21px;
  }

  .partnership .detail_partnership {
    margin-top: 30px;
  }

  .partnership .select_course dt {
    font-size: 21px;
  }

  .partnership .select_course dd {
    font-size: 15px;
  }

  .partnership p {
    font-size: 16px;
  }

  .partnership div a span.white {
    font-size: 18px;
  }

  .partnership div a span.yel {
    font-size: 24px;
  }

  /* =====  ===== 640/wiretap/盗聴発見サービス =====  ===== */
  .content_deavesdropping .price_wrap ul {
    flex-direction: column;
  }

  .content_deavesdropping .price_wrap ul li,
  .content_deavesdropping .price_wrap ul li.textbox {
    width: 100%;
    padding: 0;
  }

  .content_deavesdropping .price_wrap th {
    width: 145px;
  }

  .page_contents.option03 .content_deavesdropping .trank_cnt03 dt span.read {
    font-size: 15px;
    display: block;
  }

  .content_deavesdropping .service_point {
    margin-top: 90px;
  }

  /* =====  ===== 640/hoken/生命保険・損害保険見直しサービス =====  ===== */
  .page_contents.hoken .contents_item .mv_wrap figure {
    height: auto;
  }

  .content_hoken .hoken_ploblem ul.flex,
  .content_hoken .hoken_solution ul.flex,
  .content_hoken .hoken_staff ul.col02,
  .content_hoken .hoken_staff .hoken_cta_links {
    flex-direction: column;
    padding: 0 10px;
  }

  .content_hoken .hoken_ploblem ul.flex li,
  .content_hoken .hoken_solution ul.flex li,
  .content_hoken .hoken_staff ul.col02 li {
    width: 100%;
  }

  .content_hoken .hoken_solution_title h2::before,
  .content_hoken .hoken_solution_title h2::after {
    position: absolute;
    top: calc(50% - 8px);
  }

  .content_hoken .hoken_solution_title h2::before {
    left: 3px;
  }

  .content_hoken .hoken_solution_title h2::after {
    right: 3px;
  }

  .content_hoken .hoken_type ul.flex {
    flex-wrap: wrap;
    justify-content: center;
  }

  .content_hoken .hoken_type ul.flex li {
    width: calc((100% - 40px)/3);
    padding: 0 5px;
  }

  .content_hoken .hoken_type ul.flex li figcaption {
    font-size: 18px;
  }

  .content_hoken .hoken_type_closing .message {
    font-size: 24px;
    padding: 0 25px;
  }

  .content_hoken .hoken_type_closing .message::before,
  .content_hoken .hoken_type_closing .message::after {
    position: absolute;
    top: calc(50% - 8px);
  }

  .content_hoken .hoken_type_closing .message::before {
    left: 3px;
  }

  .content_hoken .hoken_type_closing .message::after {
    right: 3px;
  }

  .content_hoken .hoken_staff .hoken_cta_links li {
    width: 100%;
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
  }

  /* ===== ===== 640/lp-document/LP：資料請求 ===== ===== */
  .lp_document .contents_item .mv_wrap figure figcaption.bg_red span {
    font-size: 16px;
  }

  .lp_document .lp_document_contents .cnt_inner {
    padding-top: 0;
  }

  .post_content .lp_document .content_box {
    padding: 0;
  }

  .lp_document .lp_document_box .title_box {
    padding: 5% 3%;
  }

  .lp_document .lp_document_box .title_box .subtitle {
    font-size: 17px;
    color: #fff;
  }

  .lp_document .lp_document_box .title_box h2 {
    font-size: 28px;
  }

  .lp_document .failure_image,
  .lp_document .failure_image.reverse {
    flex-direction: column;
  }

  .lp_document .failure_image .imagebox,
  .lp_document .failure_image .textbox {
    width: 100%;
    text-align: center;
  }

  .lp_document .failure_image .imagebox img,
  .lp_document .failure_image.reverse .imagebox img {
    position: relative;
    min-width: 100%;
    left: auto;
    right: auto;
    top: 0;
  }

  .lp_document .fs28 {
    font-size: 14px;
  }

  .lp_document .fs40,
  .lp_document .fs48,
  .page_contents .fs36 {
    font-size: 17px;
  }

  .lp_document .more_infomation .all {
    padding: 0;
    text-align: center;
  }

  .lp_document .failure_wrap {
    padding: 0 3%;
  }

  .lp_document .failure_wrap ul li {
    margin: 20px 0 0;
  }

  .lp_document .cta_wrap {
    padding-top: 40px;
  }

  .lp_document .cta_wrap .cta_inner {
    padding: 5% 3%;
  }

  .lp_document .cta_wrap .cta_inner .subtitle {
    font-size: 17px;
  }

  .lp_document .cta_wrap .cta_inner h2 {
    font-size: 26px;
    text-align: center;
  }

  .lp_document .cta_wrap .cta_inner a {
    font-size: 14px;
  }
}

@media only screen and (max-width: 500px) {

  /* ===== 500/共通項目/固定頁：余白調整 ===== */
  .page_contents .mt100,
  .page_contents .mt90 {
    margin-top: 45px;
  }

  .page_contents .mt80 {
    margin-top: 40px;
  }

  .page_contents .mt60 {
    margin-top: 30px;
  }

  .page_contents .mt40 {
    margin-top: 20px;
  }

  .page_contents .mt30 {
    margin-top: 15px;
  }

  .page_contents .mt20 {
    margin-top: 10px;
  }

  .menu-content .tel-link {
    display: block;
    border-radius: 3px;
    border: solid 3px #51a34a;
  }

  .menu-content .tel-link a {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }

  .menu-content .tel-link img {
    display: block;
    width: 100%;
    height: auto;
  }

  .page_contents h2 {
    font-size: 21px;
    padding: 0.75em;
  }

  /* ===== 500/共通項目/header ===== */

  header section.middle_area .cta_area {
    width: 100%;
    height: 45px;
    margin: 0 auto;
  }

  header section.middle_area .logo_area .sp-only img {
    width: auto;
    height: 40px;
    position: absolute;
    top: 2px;
    left: 5px;
  }


  /* =====  500/トップページ ===== */
  .front_page .front_content h2 {
    font-size: 21px;
    padding: 8px 80px 8px 50px;
    line-height: 1.45;
  }

  .front_page .front_content h2::before {
    width: 30px;
    height: 30px;
    background-size: 28px;
    top: calc(50% - 15px);
  }

  .front_page .front_content h2::after {
    width: 100px;
    background-size: auto 28px;
    right: 8px;
    background-position: center right;
  }

  .post_content .front_page .front_content {
    margin: 40px auto 0 !important;
  }

  /* ===== 500/投稿ページ/ページタイトル ===== */
  .page div#top_title_area {
    max-height: unset;
    min-height: unset;
    height: auto;
    padding: 5px 0;
  }

  .page div#top_title_area .c-pageTitle {
    font-size: 16px;
    font-weight: normal;
  }

  /* ===== 500/共通項目：カレンダー部分（swell ブログパーツ） ===== */
  .p-blogParts.post_content .price_calendar {
    margin-top: 20px !important;
  }

  /* ===== 500/plan02/事例  ===== */
  .case01_itembox {
    flex-wrap: wrap;
  }

  .case01_itembox li {
    width: 100%;
    margin: 0;
  }

  .case01_itembox li.rightbox {
    margin-top: 55px;
  }

  .case01_itembox li.rightbox::before,
  .case01_itembox li.rightbox::after {
    left: auto;
  }

  .case01_itembox li.rightbox::before {
    top: -35px;
    left: calc(50% - 20px);
  }

  .case01_itembox li.rightbox::after {
    top: -35px;
    left: calc(50% - 20px);
  }

  /* ===== 500/plan/01-05/cta/ページ最下部：バナー(訪問見積もり・メール見積もり・zoom見積もり)  ===== */
  .plan_cta_links03 ul {
    flex-direction: column;
  }

  .plan_cta_links03 ul li {
    width: 100%;
  }



  /* ===== 500/plan/01-05/カレンダー ===== */
  .plan .plan_content05 .calendar li {
    width: 100%;
  }


  /* ===== 500/option03/トランクルーム ===== */
  .page_contents.option03 .deco_circle .big_text {
    font-size: 42px;
  }

  .page_contents.option03 .deco_circle {
    width: 100px;
    height: 100px;
  }

  .page_contents.option03 .trank_cnt01 .right_item {
    padding-left: 10px;
  }

  .page_contents.option03 .trank_cnt01 .right_item ul {
    flex-direction: column;
    margin-top: 10px;

  }

  .page_contents.option03 .trank_cnt01 .right_item ul li,
  .page_contents.option03 .trank_cnt01 .right_item ul li:not(:first-child) {
    font-size: 14px;
    border: 0;
    margin: 0 !important;
    text-align: left;
  }

  .page_contents.option03 .trank_cnt01>div {
    margin-top: 20px;
  }

  .page_contents.option03 .trank_feature li {
    width: 100%;
  }

  .page_contents.option03 .trank_cnt02 ul {
    flex-wrap: wrap;
  }

  .page_contents.option03 .trank_cnt02 ul li {
    width: 100%;
    display: flex;
    align-items: center;
  }

  .page_contents.option03 .trank_cnt02 ul li .left_item {
    width: 100px;
    height: 100px;
    overflow: hidden;
  }

  .page_contents.option03 .trank_cnt02 ul li .room_type {
    padding: 3px 10px;
    font-size: 12px;
    text-align: left;
  }

  .page_contents.option03 .trank_cnt02 ul li .left_item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .page_contents.option03 .trank_cnt02 ul li .right_item {
    width: calc(100% - 100px);
    padding: 0 5px 0 15px;
    text-align: left;
  }

  .page_contents.option03 .trank_cnt02 ul li .right_item p {
    margin-top: 5px;
  }

  .page_contents.option03 .trank_cnt03 dt {
    font-size: 18px;
    letter-spacing: 0.075em;
  }

  /* ===== 500/voice/お客様の声 ===== */
  .page_contents.voice ul li:nth-child(n+11) {
    display: none;
  }

  /* ===== 500/qa/よくある質問 ===== */
  .page_contents.qa details summary {
    font-size: 16px;
    padding: 0 5px 5px 30px;
    line-height: 1.25;
  }

  .post_content .page_contents.qa details summary::before {
    width: 23px;
    height: 23px;
    line-height: 1;
    top: calc(50% - 12.5px);
    font-size: 12px;
    left: 3px;
  }

  .page_contents.qa details .answer_box {
    padding: 0 5px 3px 30px;
    line-height: 1.25;
    margin-top: 12px;
  }

  .page_contents.qa details .answer_box::before {
    width: 23px;
    height: 23px;
    line-height: 1;
    top: calc(50% - 12.5px);
    font-size: 12px;
    left: 3px;
    top: 0;
  }

  /* ===== 500/footer ===== */
  .add_le_footer .footer_caution .footer_caution_inner {
    font-size: 10px;
  }
}

@media only screen and (max-width: 428px) {

  /* ===== 428/page/.page_contents デフォルト化 ===== */
  .page_contents p,
  .page_contents ul,
  .page_contents ol,
  table,
  th,
  td,
  dl,
  dt,
  dd {
    font-size: 14px;
    color: #2c2c2c;
    margin-top: 5px;
  }


  /* ===== 428/共通項目/お問い合わせ・お見積もり/ ===== */
  .list_detail_item+.list_detail_item {
    border-top: dashed 1px #1d93ac;
    padding-top: 8px;
  }

  .lists_detail_box .list_detail_item .detail_title {
    display: block;
  }

  span.mwform-checkbox-field.horizontal-item,
  span.mwform-radio-field {
    padding: 5px 0;
  }

  .lists_detail_box+.lists_all {
    border-top: dashed 1px #1d93ac;
    padding-top: 8px;
    margin-top: 0;
  }


  /* ===== 428/トップページ ===== */
  .top #content {
    padding-top: 20px;
  }

  .front_planlinks li p {
    font-size: 16px;
  }

  .other_contentslinks li figcaption {
    padding: 10px 10px 10px 30px;
    font-size: 13px;
    line-height: 1.6;
  }

  .post_content .other_contentslinks figcaption::before {
    width: 20px;
    height: 20px;
    background-size: 20px auto !important;
    left: 3px;
    top: calc(50% - 10px);
  }

  .post_content .other_contentslinks figure figcaption::after {
    width: 10px;
    background-size: 8px auto;
  }

  .front_content05 .feature_content li p {
    font-size: 15px;
  }

  .front_content05 .feature_content li p span {
    font-size: 17px;
  }

  /* ===== 428/plan/親ページ ===== */
  .plan .bnr_link li {
    width: 100%;
    margin-top: 12px;
  }

  /* ===== 428/plan/01-05 ===== */
  .page_contents .plan_price {
    font-size: 32px;
    text-align: center;
  }

  .page_contents .plan_price span.caution {
    width: auto;
    text-align: left;
    font-size: 10px;
    right: 15px;
  }

  .page_contents.plan h2 {
    padding: 5px 15px 5px 45px;
    font-size: 21px;
  }

  .page_contents.plan h2::before {
    width: 30px;
    height: 30px;
    background-size: 30px 30px !important;
    top: calc(50% - 15px);
  }

  .page_contents.plan h2::after {
    top: calc(80% - 20px);
  }

  .plan .feature_content li {
    font-size: 16px;
  }


  .plan_detail dl dd ul.flex li {
    width: calc((100% - 10px)/2);
    margin-left: 0;
  }

  .plan_detail dl dd ul li:nth-child(3n+1) {
    margin-left: 0;
  }

  .plan .plan_content03 .plan_campaign div p {
    margin-top: 0;
  }
}

@media only screen and (max-width: 395px) {
  .fNavB a {
    font-size: 14px;
  }

  .fNavB a.appliMailFoot {
    background-size: 17px 17px;
    background-position: 7px 23px;
  }

  .fNavB a.appliTelFoot {
    background-size: 17px 17px;
    background-position: 10px 23px;
  }
}

@media only screen and (max-width: 360px) {
  header .fidxed_bnr {
    display: none;
  }

  .fNavB a {
    font-size: 13px;
  }

  .fNavB a.appliMailFoot {
    background-size: 16px 16px;
    background-position: 10px 23px;
  }

  .fNavB a.appliTelFoot {
    background-size: 16px 16px;
    background-position: 10px 23px;
  }
}

@media only screen and (max-width: 320px) {
  header section.middle_area .cta_area a.mail {
    width: 55px;
    height: 55px;
    background-size: 25px;
    background-position: center;
    right: 115px;
    background-image: url(../img/ico_line_est.png);
  }

  header section.middle_area .cta_area a.mail {
    width: calc((100% - 192px) / 3);
    height: auto;
    aspect-ratio: 1;
    right: 90px;
  }

  header section.middle_area .cta_area a.estimate {
    width: calc((100% - 192px) / 3);
    height: auto;
    aspect-ratio: 1;
    right: 47px;
  }

  .menu-btn {
    width: calc((100% - 192px) / 3);
    height: auto;
    aspect-ratio: 1;
    right: 5px;
  }

  .fNavB a {
    font-size: 12px;
  }

  .fNavB a.appliMailFoot {
    background-size: 14px 14px;
    background-position: 10px 23px;
  }

  .fNavB a.appliTelFoot {
    background-size: 14px 14px;
    background-position: 10px 23px;
  }
}