@charset "UTF-8";
/*===============================================
 *	関連バナー 自社サイト非表示
===============================================*/
.kanren-gomi_tokyo {
  display: none;
}
/*===============================================
 *	ブラウザリセット
===============================================*/
@font-face {
  font-family: "M Plus 1p";
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/MPLUS1p-ExtraBold.woff2") format("woff2"), url("../fonts/MPLUS1p-ExtraBold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "M Plus 1p";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/MPLUS1p-Bold.woff2") format("woff2"), url("../fonts/MPLUS1p-Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "M Plus 1p";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/MPLUS1p-Medium.woff2") format("woff2"), url("../fonts/MPLUS1p-Medium.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "M Plus 1p";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/MPLUS1p-Regular.woff2") format("woff2"), url("../fonts/MPLUS1p-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Poppins-Medium.woff2") format("woff2"), url("../fonts/Poppins-Medium.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: 'GenEiMGothic';
  font-style: bold;
  font-weight: 900;
  src: url("../fonts/GenEiMGothic2-Heavy.woff") format("woff");
  font-display: swap;
}
body {
  font-size: 100%;
  font-family: "M Plus 1p", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  letter-spacing: 0.05em;
  height: 100%;
  position: relative;
}

table {
  font-size: inherit;
}

select, input, textarea {
  font: 99% arial, helvetica, clean, sans-serif;
}

pre, code {
  font: 115% monospace;
  font-size: 100%;
}

br {
  letter-spacing: normal;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
  font-style: normal;
  font-weight: normal;
}

address, em {
  font-style: normal;
}

strong, th {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
}

th, td {
  text-align: left;
  border: none;
  font-weight: normal;
}

hr {
  display: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 500;
  letter-spacing: 0.05em;
}

img, fieldset {
  border: 0;
  vertical-align: bottom;
}

li {
  list-style-type: none;
}

ul, ol, dl {
  margin: 0;
  list-style-position: outside;
  list-style-type: none;
}

li, dt, dd {
  font-size: 100%;
}

dt {
  font-weight: normal;
}

a {
  text-decoration: underline;
  outline: none;
}

a:hover {
  text-decoration: none;
}

form, input {
  padding: 0;
  margin: 0;
}

iframe {
  border: none;
}

figure {
  margin: 0;
}

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

p {
  line-height: 1.75;
}

i {
  font-family: "icon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* {
  box-sizing: border-box;
}

/*====================== clearFix ======================*/
.clearfix:before, .clearfix:after {
  content: "";
  display: block;
  overflow: hidden;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

/*=============================================== *
	パターン
===============================================*/
.column {
  display: flex;
  flex-direction: column;
}

.row {
  display: flex;
  flex-direction: row;
}

.row-rev {
  display: flex;
  flex-direction: row-reverse;
}

.wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.space-btw {
  justify-content: space-between;
}

.space-around {
  justify-content: space-around;
}

.js-center {
  justify-content: center;
}

.al-center {
  align-items: center;
}

.al-start {
  align-items: flex-start;
}

.al-end {
  align-items: flex-end;
}

.al-base {
  align-items: baseline;
}

/*===============================================
 *	br
===============================================*/
@media screen and (min-width: 1025px) {
  .br-pc {
    display: block;
  }
  .br-tb {
    display: none;
  }
  .br-sp {
    display: none;
  }
}
@media screen and (min-width: 481px) and (max-width: 1024px) {
  .br-pc {
    display: none;
  }
  .br-tb {
    display: block;
  }
  .br-sp {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .br-pc {
    display: none;
  }
  .br-tb {
    display: none;
  }
  .br-sp {
    display: block;
  }
}
/*===============================================
 *	common
===============================================*/
:root {
  --site-primary: #233273;
  --site-primary-rgb: 35, 50, 115;
  --site-secondary: #4080d4;
  --site-secondary-rgb: 64, 128, 212;
  --site-palecolor: #c2ddf4;
  --site-palecolor-rgb: 194, 221, 244;
  /* --site-keycolor: #ff7e10; */
  --site-keycolor: #43ae2e;
  --txt-keycolor: #ff4e2a;
}

html body {
  color: #333;
  background: #fafbfe;
}
html body.scroll_off {
  overflow: hidden;
}

a {
  color: var(--site-secondary);
  outline: none;
  text-decoration: none;
}

.poppins {
  font-family: "Poppins";
}

em {
  font-weight: bold;
}

.sp {
  display: none;
}
.txt_red{color: #db3238;}
.inner {
  max-width: 1120px;
  margin: 0 auto;
  width: 95%;
  position: relative;
}

.inner_wide {
  max-width: 1300px;
  margin: 0 auto;
  width: 95%;
  position: relative;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.txt_primarycolor {
  color: var(--site-primary);
}

.txt_keycolor {
  color: var(--site-keycolor);
}

.txt_white {
  color: #fff;
}

.bg_primarycolor {
  background: var(--site-primary);
}

.bg_secondarycolor {
  background: var(--site-secondary);
}

.bg_white {
  background: #fff;
}

.bg_gray {
  background: #f5f5f5;
}

.hover_white {
  display: inline-block;
  position: relative;
}

.hover_white::after {
  content: "";
  display: block;
  background: #fff;
  width: 100%;
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.hover_white:hover::after {
  opacity: 0.15;
}

.radius_size_15 {
  border-radius: 15px;
  overflow: hidden;
}

.radius_size_10 {
  border-radius: 10px;
  overflow: hidden;
}

.lg_inner_space {
  padding: 80px 0 80px;
}

.md_inner_space {
  padding: 50px 50px 50px;
}

.md_inner_space_02 {
  padding: 40px 50px 50px;
}

.annotation_txt {
  font-size: 14px;
  padding-left: 1em;
  text-indent: -1em;
  color: #444;
}

.highlight_color01 {
  background: #d0e6ec;
}

.highlight_color02 {
  background: rgba(var(--site-palecolor-rgb), 0.5);
}

.ttl_underbar_set {
  font-size: min(4.5vw, 50px);
  text-align: center;
  color: var(--site-primary);
  margin-bottom: 1.5em;
  margin-top: 0.5em;
  position: relative;
  z-index: 1;
}
.ttl_underbar_set::after {
  content: "";
  background: url(../img/top/ttl_underbar.svg) no-repeat;
  background-size: contain;
  width: 160px;
  height: 8px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.ttl_underbar_set .fukidashi {
  --border-rad: 1.2em;
  --border-w: 0.08em;
  --bg-color: rgba(255, 255, 255, 0);
  --border-color: var(--site-primary);
  font-size: 0.52em;
  display: inline-block;
  position: relative;
  padding: 13px 30px;
  margin-bottom: 10px;
  background-color: var(--bg-color);
  background-clip: padding-box;
  border-radius: var(--border-rad);
  --border-vert-rad: calc(var(--border-rad) + .7em);
  border-bottom-left-radius: var(--border-rad) var(--border-vert-rad);
  border-bottom-right-radius: var(--border-rad) var(--border-vert-rad);
  border-bottom: solid 0.7em;
  -o-border-image: linear-gradient(var(--bg-color) 0 1%) 1;
     border-image: linear-gradient(var(--bg-color) 0 1%) 1;
  -webkit-clip-path: polygon(-10% -10%, -10% calc(100% - 0.7em), calc(50% - 0.52em) calc(100% - 0.7em), 50% calc(100% + 0.62em - 0.7em), calc(50% + 0.52em) calc(100% - 0.7em), 110% calc(100% - 0.7em), 110% -10%);
  clip-path: padding-box polygon(-10% -10%, -10% 100%, calc(50% - 0.52em) 100%, 50% calc(100% + 0.62em), calc(50% + 0.52em) 100%, 110% 100%, 110% -10%);
}
.ttl_underbar_set .fukidashi::before, .ttl_underbar_set .fukidashi::after {
  content: "";
  pointer-events: none;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}
.ttl_underbar_set .fukidashi::before {
  border: solid var(--border-w) var(--border-color);
  border-radius: var(--border-rad);
  -webkit-clip-path: polygon(-10% -10%, -10% 110%, calc(50% - 0.5em) 110%, calc(50% - 0.5em) calc(100% - 1em), calc(50% + 0.5em) calc(100% - 1em), calc(50% + 0.5em) 110%, 110% 110%, 110% -10%);
          clip-path: polygon(-10% -10%, -10% 110%, calc(50% - 0.5em) 110%, calc(50% - 0.5em) calc(100% - 1em), calc(50% + 0.5em) calc(100% - 1em), calc(50% + 0.5em) 110%, 110% 110%, 110% -10%);
}
.ttl_underbar_set .fukidashi::after {
  box-sizing: content-box;
  right: var(--border-rad);
  left: var(--border-rad);
  height: calc(100% - var(--border-w));
  border-bottom: solid 0.7em var(--border-color);
  -webkit-clip-path: polygon(0 calc(100% + 0.007em - 0.7em), 0 calc(100% + var(--border-w) - 0.7em), calc(50% - 0.52em) calc(100% + var(--border-w) - 0.7em), 50% calc(100% + 1em - 0.7em), calc(50% + 0.52em) calc(100% + var(--border-w) - 0.7em), 100% calc(100% + var(--border-w) - 0.7em), 100% calc(100% + 0.007em - 0.7em), calc(50% + 0.52em - var(--border-w) * 0.3) calc(100% - 0.7em), 50% calc(100% + 0.62em - var(--border-w) * 0.3 - 0.7em), calc(50% - (0.52em - var(--border-w) * 0.3)) calc(100% - 0.7em));
          clip-path: polygon(0 calc(100% + 0.007em - 0.7em), 0 calc(100% + var(--border-w) - 0.7em), calc(50% - 0.52em) calc(100% + var(--border-w) - 0.7em), 50% calc(100% + 1em - 0.7em), calc(50% + 0.52em) calc(100% + var(--border-w) - 0.7em), 100% calc(100% + var(--border-w) - 0.7em), 100% calc(100% + 0.007em - 0.7em), calc(50% + 0.52em - var(--border-w) * 0.3) calc(100% - 0.7em), 50% calc(100% + 0.62em - var(--border-w) * 0.3 - 0.7em), calc(50% - (0.52em - var(--border-w) * 0.3)) calc(100% - 0.7em));
}
.ttl_underbar_set .main_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  gap: 0.3em;
  padding-bottom: 40px;
}
.ttl_underbar_set .main_txt::before {
  content: "";
  width: 1.34em;
  height: 1.54em;
  display: inline-block;
}
.ttl_underbar_set:has(.fukidashi) {
  margin-top: 0;
}
.ttl_underbar_set.back_txt .main_txt {
  padding-bottom: 50px;
}
.ttl_underbar_set.back_txt .main_txt::after {
  content: "";
  font-family: "Poppins";
  font-size: 2.6em;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #c9e3f9;
  position: absolute;
  left: 50%;
  top: -0.2em;
  transform: translateX(-50%);
  z-index: -1;
}
.ttl_underbar_set.under_page {
  font-size: min(3.6vw, 44px);
}
.ttl_underbar_set.under_page::after {
  width: 130px;
}

.ttl_diamond {
  font-size: min(3.0vw, 36px);
  margin-bottom: 0.85em;
}
.ttl_diamond span {
  position: relative;
}
.ttl_diamond span::before, .ttl_diamond span::after {
  content: "";
  background: url(../img/common/icon_diamond.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0.45em;
}
.ttl_diamond span::before {
  left: -1.2em;
}
.ttl_diamond span::after {
  right: -1.2em;
}

.ttl_bottom_sankaku {
  font-size: min(2.3vw, 28px);
  position: relative;
  z-index: 1;
}
.ttl_bottom_sankaku span {
  display: inline-block;
  border: 3px solid var(--site-primary);
  padding: 0.3em 3.5em;
  position: relative;
}
.ttl_bottom_sankaku span::before {
  content: "";
  width: 100%;
  height: 104%;
  display: block;
  position: absolute;
  top: 7px;
  right: -9px;
  z-index: -1;
}
.ttl_bottom_sankaku span::after {
  content: "";
  background: var(--site-primary);
  width: 20px;
  height: 16px;
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.ttl_bottom_sankaku.bg_purple span::before {
  background: #e5eaf4;
}
.ttl_bottom_sankaku.bg_yellow span::before {
  background: #eaee59;
}

.ttl_left_border {
  font-size: min(1.9vw, 22px);
  position: relative;
  border-bottom: 2px solid #e6e6e6;
  padding: 0.25em 0 0.25em 1.25em;
  margin-bottom: 1em;
}
.ttl_left_border::before {
  content: "";
  background: linear-gradient(180deg, rgba(var(--site-primary-rgb), 0.65) 0%, rgba(var(--site-primary-rgb), 0.65) 50%, var(--site-palecolor) 50%, var(--site-palecolor) 100%);
  height: 56%;
  width: 6px;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.ttl_dot_colorbar {
  font-size: min(2.5vw, 32px);
  position: relative;
  padding: 0.65em 1em 0.65em;
  border-radius: 5px;
  background: url(../img/common/bg_dot_blue03.png);
}
.ttl_dot_colorbar::before {
  content: "";
  background: #eaee59;
  height: 45px;
  width: 8px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.wide_box {
  margin-bottom: 65px;
}
.wide_box .txt_wrapper {
  background: rgba(var(--site-palecolor-rgb), 0.4);
  margin: 50px -32% 0 calc(50% - 50vw);
  padding: 4.5% 35% 50px calc(50vw - 50%);
}
.wide_box.row .txt_wrapper {
  margin: 50px calc(50% - 50vw) 0 -32%;
  padding: 4.5% calc(50vw - 50%) 50px 39%;
}
.wide_box .ttl {
  font-size: min(3.0vw, 34px);
  margin-bottom: 0.5em;
  position: relative;
  z-index: 1;
}
.wide_box .ttl::before {
  content: "";
  background: url(../img/common/icon_check02.svg) no-repeat;
  width: 3.1em;
  height: 3.1em;
  position: absolute;
  left: -1.7em;
  top: -0.9em;
  z-index: -1;
}
.wide_box em {
  /* color: var(--txt-keycolor); */
  color: var(--site-keycolor);
}
.wide_box .photo {
  width: 48.2%;
  border-radius: 15px;
  position: relative;
}

.border_box {
  background: #fff;
  border: var(--site-palecolor) 4px solid;
}

.point_box {
  padding: 25px 40px;
  border-radius: 15px;
}
.point_box img {
  width: 20.2%;
  margin-top: -7%;
  filter: drop-shadow(-8px 8px 0 var(--site-palecolor));
}
.point_box .label {
  font-size: 20px;
  font-weight: 500;
  background: #b8ec4d;
  border-radius: 30px;
  display: inline-block;
  padding: 0.2em 3.5em;
}
.point_box .txt_box {
  width: 75%;
}
.point_box .main {
  font-size: min(2.2vw, 24px);
  margin-top: 0.2em;
}
.point_box .main em {
  font-size: 1.375em;
}

.attention_box {
  background: #fff;
  border: 3px solid var(--site-keycolor);
  padding: 30px 40px 30px;
}
.attention_box p {
  display: flex;
  align-items: flex-start;
  gap: 1.2em;
}
.attention_box p::before {
  content: "";
  background: url(../img/top/icon_exclamation.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 51px;
  height: 51px;
}

.shadow_box {
  box-shadow: 0px 6px 0px 0px rgba(173, 201, 224, 0.85);
}

.bg_right_stripe {
  background: url(../img/common/sec_bg_stripe.png) no-repeat top right;
}

.basic_table {
  border: 4px solid var(--site-palecolor);
  background: #fff;
  width: 100%;
}
.basic_table th {
  background: var(--site-palecolor);
  color: var(--site-primary);
  width: 29.4%;
  font-size: min(1.8vw, 20px);
  font-weight: 500;
  border-bottom: 2px solid rgba(255, 255, 255, 0.4);
  padding: 1em 1em;
}
.basic_table td {
  border-bottom: 2px solid rgba(var(--site-palecolor-rgb), 0.4);
  padding: 1em 2em;
  line-height: 1.75;
}

@media screen and (min-width: 1025px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (max-width: 1024px) {
  .lg_inner_space {
    padding: 6.5vw 0;
  }
  .md_inner_space {
    padding: 4vw 4vw 4vw;
  }
  .md_inner_space_02 {
    padding: 3vw 4vw 4vw;
  }
}
@media only screen and (max-width: 960px) {
  html body {
    font-size: 15px;
  }
  .ttl_diamond span::before, .ttl_diamond span::after {
    width: 16px;
    height: 16px;
    top: 0.38em;
  }
  .ttl_dot_colorbar::before {
    height: 30px;
  }
  .point_box {
    padding: 2vw 3.5vw;
  }
  .point_box .label {
    font-size: 15px;
  }
  .wide_box {
    margin-bottom: 5vw;
  }
  .wide_box .txt_wrapper {
    padding: 4.5% 35% 4.5% calc(50vw - 45%);
  }
  .wide_box .ttl {
    font-size: 2.8vw;
  }
  .wide_box.row .txt_wrapper {
    padding: 4.5% calc(50vw - 50%) 4.5% 39%;
  }
  .attention_box {
    padding: 2.5vw 3vw;
  }
  .bg_right_stripe {
    background-size: 40%;
  }
}
@media only screen and (max-width: 568px) {
  html body {
    margin-top: 60px;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .inner_wide {
    width: 89.4vw;
  }
  .inner {
    width: 89.4vw;
  }
  .lg_inner_space {
    padding: 40px 0;
  }
  .md_inner_space {
    padding: 20px 20px;
  }
  .md_inner_space_02 {
    padding: 20px 20px 20px;
  }
  .annotation_txt {
    font-size: 12px;
  }
  .radius_size_15 {
    border-radius: 10px;
  }
  .ttl_underbar_set {
    font-size: 7.5vw;
    margin-bottom: 32px;
    padding-bottom: 22px;
  }
  .ttl_underbar_set .fukidashi {
    --border-rad: 2.0em;
    --border-w: 1px;
    padding: 7px 20px;
    margin-bottom: 4px;
  }
  .ttl_underbar_set .main_txt {
    padding-bottom: 0;
    line-height: 1.3;
  }
  .ttl_underbar_set::after {
    width: 92px;
    height: 5px;
  }
  .ttl_underbar_set.back_txt .main_txt {
    padding-bottom: 0;
    text-align: left;
  }
  .ttl_underbar_set.back_txt .main_txt::after {
    font-size: 2.1em;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .ttl_underbar_set.under_page {
    font-size: 27px;
    margin-top: 0;
  }
  .ttl_underbar_set.under_page::after {
    width: 92px;
    height: 5px;
  }
  .ttl_diamond {
    font-size: 5.5vw;
  }
  .ttl_bottom_sankaku {
    font-size: 5.0vw;
  }
  .ttl_bottom_sankaku span {
    border-width: 2px;
    padding: 0.3em 2.5em;
  }
  .ttl_bottom_sankaku span::before {
    top: 5px;
    right: -7px;
  }
  .ttl_bottom_sankaku span::after {
    width: 16px;
    height: 12px;
    bottom: -12px;
  }
  .ttl_left_border {
    font-size: 4.3vw;
    padding: 0.4em 0 0.4em 1em;
  }
  .ttl_left_border::before {
    width: 5px;
    height: 70%;
  }
  .ttl_dot_colorbar {
    font-size: 5.5vw;
  }
  .ttl_dot_colorbar::before {
    width: 6px;
  }
  .wide_box {
    flex-direction: column;
    align-items: center;
    margin-bottom: 40px;
  }
  .wide_box .photo {
    width: 94%;
    border-radius: 10px;
  }
  .wide_box .txt_wrapper {
    margin: -50px -5.3vw 0;
    padding: 72px 12vw 25px 12vw;
  }
  .wide_box .ttl {
    font-size: 6.0vw;
    text-align: center;
  }
  .wide_box .ttl::before {
    width: 80px;
    height: 80px;
    left: -35px;
    top: -15px;
  }
  .wide_box.row .txt_wrapper {
    margin: -50px -5.3vw 0;
    padding: 72px 14vw 25px 14.9vw;
  }
  .point_box {
    position: relative;
    padding: 20px 16px 18px 18px;
    border-radius: 10px;
  }
  .point_box .label {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
  }
  .point_box img {
    width: 31.6%;
    margin: 0;
    filter: drop-shadow(-5px 5px 0 var(--site-palecolor));
  }
  .point_box .txt_box {
    width: 63%;
  }
  .point_box .main {
    font-size: 3.8vw;
  }
  .border_box {
    border-width: 3px;
  }
  .attention_box {
    padding: 17px 16px 17px;
    border-width: 2px;
  }
  .attention_box p {
    display: block;
  }
  .attention_box p::before {
    width: 40px;
    float: left;
    margin-right: 12px;
  }
  .shadow_box {
    box-shadow: 0px 5px 0px 0px rgba(173, 201, 224, 0.85);
  }
  .bg_right_stripe {
    background: url(../img/common/sec_bg_stripe_sp.png) no-repeat top right;
  }
  .basic_table th {
    display: block;
    width: 100%;
    font-size: 17px;
    border: none;
    padding: 10px 0 11px;
  }
  .basic_table td {
    display: block;
    padding: 9px 20px 10px;
    font-size: 15px;
    border: none;
  }
}
/*===============================================
 *	ボタン
===============================================*/
.btn_wrapper {
  margin-top: 60px;
  position: relative;
  z-index: 10;
}

.btn_normal {
  max-width: 520px;
  margin: 0 auto;
  background: #56cd49;
  border-radius: 50px;
  box-shadow: 0px 6px 0px 0px rgba(33, 122, 9, 0.75);
  position: relative;
  z-index: 1;
}
.btn_normal a {
  font-size: 24px;
  display: block;
  padding: 16px 0 20px;
  position: relative;
  background-size: 20px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.btn_normal a::after {
  content: "";
  background: url(../img/common/arrow_right_white.svg) center no-repeat;
  background-size: contain;
  position: absolute;
  width: 22px;
  height: 22px;
  top: 50%;
  right: 30px;
  transform: translate(0px, -50%);
}
.btn_normal:hover {
  background: #58bf4d;
}

@media only screen and (max-width: 960px) {
  .btn_wrapper {
    margin-top: 4.5vw;
  }
  .btn_normal a {
    font-size: 20px;
    padding: 14px 0 16px;
  }
}
@media only screen and (max-width: 568px) {
  .btn_wrapper {
    margin-top: 30px;
    margin-bottom: 5px;
  }
  .btn_normal {
    width: 78vw;
  }
  .btn_normal a {
    font-size: 17px;
    padding: 12px 0 13px;
  }
  .btn_normal a::after {
    width: 16px;
    height: 16px;
    right: 20px;
  }
}
/*===============================================
 *	header・スマホメニュー
===============================================*/
.header {
  align-items: center;
  background: #fff;
}

.hd_logo {
  margin-right: auto;
  width: 30%;
  max-width: 480px;
  margin-left: min(1.2vw, 30px);
}
.hd_camp_bnr {
  width: 10.5%;
  margin-right: 20px;
}

.hd_tel {
  color: #333;
  line-height: 1;
}
.hd_tel .tel_num {
  font-size: min(3.0vw, 36px);
  letter-spacing: 0;
  margin-bottom: 5px;
}
.hd_tel .tel_num::before {
  content: "";
  background: url(../img/common/free_dial.svg) no-repeat;
  width: 58px;
  height: 38px;
  display: inline-block;
  margin-right: 6px;
}
.hd_tel .under_txt span {
  font-size: min(1.4vw, 17px);
  font-weight: 500;
}
.hd_tel .under_txt ul {
  gap: 0 6px;
}
.hd_tel .under_txt li {
  font-size: min(1.3vw, 15px);
  font-weight: 500;
  background: #e6e6e6;
  padding: 3px 7px;
}

.hd_contact_btns {
  margin-left: 20px;
}
.hd_contact_btns a {
  color: #fff;
  font-size: min(1.4vw, 18px);
  font-weight: bold;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 25px min(1.4vw, 20px);
}
.hd_contact_btns img {
  width: 32px;
  margin-bottom: 3px;
}
.hd_contact_btns .mail a {
  background: #ff7e10;
}
.hd_contact_btns .mail a:hover {
  background: #f3882b;
}
.hd_contact_btns .line a {
  background: #00c353;
}
.hd_contact_btns .line a:hover {
  background: #00b753;
}

.global_nav {
  width: 100%;
  background: #f4f5f5;
  position: relative;
}
.global_nav .nav_item {
  padding: 12px 0;
  height: 59px;
}
.global_nav .nav_item > a {
  font-size: min(1.5vw, 17px);
  color: #333;
  font-weight: 500;
  display: inline-block;
  padding: 5px 0;
}
.global_nav .nav_item > a:hover {
  color: var(--site-secondary);
}
.global_nav .service_nav_btn > a {
  position: relative;
}
.global_nav .service_nav_btn > a::after {
  content: "";
  background: url(../img/common/arrow_right_blue.svg) no-repeat;
  width: 9px;
  height: 14px;
  position: absolute;
  right: -20px;
  top: 13px;
  transform: rotate(90deg);
}
.global_nav .nav_item_sub {
  background: #e9f4fd;
  position: absolute;
  top: 59px;
  left: 50%;
  transform: translateX(-50%);
  width: 99.04vw;
  z-index: 9999;
  padding: min(5vw, 60px) 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s;
}
.global_nav .nav_item_sub .menu_top {
  font-size: min(1.8vw, 20px);
  font-weight: 500;
  width: 17.7%;
}
.global_nav .nav_item_sub .menu_top::before {
  content: "";
  background: url(../img/top/icon_house.svg) no-repeat;
  background-size: contain;
  width: 2.7em;
  height: 2em;
  display: block;
  margin-bottom: 10px;
}
.global_nav .nav_item_sub ul {
  width: 82.5%;
  border-left: 1px solid #a8daec;
  padding-left: min(3.5vw, 45px);
}
.global_nav .nav_item_sub li {
  width: 20%;
  padding: 6px 0;
}
.global_nav .nav_item_sub li:first-child {
  width: 100%;
}
.global_nav .nav_item_sub li:first-child a::before {
  content: "";
  background: url(../img/common/arrow_right_blue_02.svg) no-repeat;
  background-size: contain;
  width: 16px;
  height: 16px;
  position: absolute;
  left: -5px;
  top: 10px;
}
.global_nav .nav_item_sub li a {
  font-size: 17px;
  font-weight: 500;
  color: var(--site-primary);
  display: inline-block;
  padding: 5px 0 5px 16px;
  position: relative;
}
.global_nav .nav_item_sub li a::before {
  content: "";
  background: url(../img/common/arrow_right_blue.svg) no-repeat;
  width: 7px;
  height: 10px;
  position: absolute;
  left: 0;
  top: 13px;
}
.global_nav .nav_item_sub li a:hover {
  color: var(--site-secondary);
}
.global_nav .nav_item_sub.open {
  opacity: 1;
  visibility: visible;
}

.gnavi-fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}

.menu_box {
  width: 60px;
  height: 60px;
  background: var(--site-secondary);
}
.menu_box .menu_btn {
  position: relative;
  height: 22px;
  top: 14px;
}
.menu_box .menu_btn span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 3px;
  background-color: #fff;
  transition: all 0.4s;
}
.menu_box .menu_btn span:nth-child(1) {
  top: 0;
}
.menu_box .menu_btn span:nth-child(2) {
  top: 10px;
}
.menu_box .menu_btn span:nth-child(3) {
  bottom: 0;
}
.menu_box .menu_btn span:not(.txt) {
  width: 25px;
}
.menu_box .menu_btn span.txt {
  text-align: center;
  font-weight: 500;
  width: 100%;
  background: none;
  bottom: -3px;
}
.menu_box .menu_btn span.txt::after {
  content: "メニュー";
  font-size: 11px;
  color: #fff;
}
.menu_box.active span:nth-child(1) {
  transform: translate(-12px, 10px) rotate(-45deg);
}
.menu_box.active span:nth-child(2) {
  opacity: 0;
}
.menu_box.active span:nth-child(3) {
  transform: translate(-12px, -9px) rotate(45deg);
}
.menu_box.active span.txt::after {
  content: "閉じる";
}

.sp_menu {
  display: none;
}

/* 新パターン用 H1 */
.hd_top {
  width: 100%;
  padding-left: min(1.2vw, 30px);
  border-bottom: 1px solid #e9ebf1;
}
.hd_top h1 {
  font-size: 15px;
  padding: 0.25em 0;
}

@media only screen and (max-width: 960px) {
  .hd_logo {
    width: 24%;
  }
  .hd_camp_bnr {
    width: 14%;
    margin-right: 2vw;
  }
  .hd_tel .tel_num::before {
    width: 38px;
    height: 26px;
  }
  .hd_contact_btns {
    margin-left: 2vw;
  }
  .global_nav .nav_item_sub {
    width: 100vw;
  }
  .global_nav .nav_item_sub li a {
    font-size: 14px;
  }
}
@media only screen and (max-width: 568px) {
  .header {
    position: fixed;
    z-index: 200;
    top: 0;
    left: 0;
  }
  .hd_logo {
    width: 38%;
    margin-left: 2%;
  }
  .hd_camp_bnr {
    width: 30%;
    margin-right: 3%;
  }
  .sp_menu {
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    z-index: 200;
    transition: 0.3s;
    top: 60px;
    overflow: scroll;
    background: #f3f7fc;
    padding-bottom: 60px;
    visibility: hidden;
    opacity: 0;
  }
  .sp_menu .menu_list {
    padding: 5px 0 0;
  }
  .sp_menu .menu_list li {
    padding: 0 5.3vw;
  }
  .sp_menu .menu_list li a {
    font-size: 15px;
    color: #222;
    display: block;
    padding: 11px 0;
    border-bottom: 1px solid #d2dce8;
    position: relative;
  }
  .sp_menu .menu_list li a::after {
    content: "";
    background: url(../img/common/arrow_right_blue_02.svg) no-repeat;
    background-size: contain;
    width: 15px;
    height: 15px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
  .sp_menu .menu_list li a.accordion_toggle::after {
    background: url(../img/common/icon_plus_blue.svg) no-repeat;
    background-size: contain;
    right: 11px;
  }
  .sp_menu .menu_list li a.accordion_toggle.close {
    border-bottom: none;
  }
  .sp_menu .menu_list li a.accordion_toggle.close::after {
    background: url(../img/common/icon_minus_blue.svg) no-repeat center;
    background-size: contain;
  }
  .sp_menu .sp_accordion_list {
    display: none;
  }
  .sp_menu .sp_accordion_list li {
    padding: 0;
  }
  .sp_menu .sp_accordion_list li a {
    color: var(--site-secondary);
    border-color: #fff;
    background: rgba(var(--site-palecolor-rgb), 0.4);
    padding: 11px 5.3vw;
  }
  .sp_menu .sp_accordion_list li a::after {
    background: url(../img/common/arrow_right_blue.svg) no-repeat;
    background-size: contain;
    width: 7px;
    height: 10px;
    right: 15px;
  }
  .sp_menu .footer_cv {
    position: relative;
    display: block;
    bottom: initial;
    left: initial;
  }
  .sp_menu.open {
    visibility: visible;
    opacity: 1;
  }
  /* 新パターン用 H1 */
  .hd_top {
    padding: 0 2%;
  }
  .hd_top h1 {
    font-size: 10px;
  }
  html body:has(.hd_top) {
    margin-top: 96px;
  }
  html body:has(.hd_top) .sp_menu {
    top: 96px;
    padding-bottom: 96px;
  }
}
/*===============================================
 *	メインビジュアル・h1・6つのポイント
===============================================*/
.main_visual {
  background: url(../img/top/mv_bg_pc.jpg) no-repeat center;
  background-size: cover;
}
.main_visual .inner_wide {
  width: 85vw;
  max-width: 1300px;
}
.main_visual .box {
  width: 54.1%;
  background: url(../img/top/house_img.png) no-repeat top 43px center;
  background-size: 36.7%;
  padding: min(8vw, 134px) 0 0;
  position: relative;
  z-index: 10;
}
.main_visual .fukidashi_img {
  width: min(11vw, 169px);
  position: absolute;
  left: max(-9vw, -140px);
  top: min(5vw, 78px);
}
.main_visual .txt_copy {
  font-size: min(2.3vw, 32px);
  font-weight: 500;
  border-bottom: 2px solid var(--site-primary);
  align-self: center;
  line-height: 1.6;
  margin-bottom: 20px;
}
.main_visual .txt_copy .size {
  font-size: 1.125em;
}
.main_visual .txt_copy .dot {
  background-color: rgba(255, 255, 255, 0);
  background-image: radial-gradient(#233273 11%, rgba(4, 35, 79, 0) 12%), radial-gradient(#233273 13%, rgba(4, 35, 79, 0) 10%);
  background-position: top -2px left 0;
  background-size: 1.02em 1.02em;
  background-repeat: repeat-x;
  padding-top: 20px;
}
.main_visual .points {
  margin: min(3.0vw, 40px) 0 min(3.0vw, 40px);
}
.main_visual .points li {
  color: var(--site-primary);
  font-size: min(1.4vw, 18px);
  line-height: 1.3;
  font-weight: 500;
  text-align: center;
  background: url(../img/top/mv_point_bg.png) no-repeat top center;
  background-size: contain;
  margin-right: 20px;
  padding: min(3.6vw, 48px) 0 min(3.0vw, 38px);
  display: block;
  width: 168px;
  max-width: 168px;
}
.main_visual .points li:nth-child(2) {
  line-height: 1.2;
}
.main_visual .points .size {
  font-size: 1.2em;
  font-weight: 800;
}
.main_visual .points .num {
  font-size: 1.5em;
}
.main_visual .mv_staff {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 55.6%;
}

.jisseki_area {
  padding: 18px 0;
}
.jisseki_area img {
  width: 62.2%;
}
.jisseki_area .inner_wide::after {
  content: "";
  background: url(../img/top/truck_img.png) no-repeat right bottom;
  background-size: contain;
  width: 31.7%;
  height: 250px;
  position: absolute;
  right: 0;
  bottom: -16px;
}

.top_heading {
  font-size: min(2.2vw, 32px);
  padding: 25px 0 25px;
}

.top_points {
  background: #e9ebf1;
  padding: 35px 0;
}
.top_points li {
  background: #fff;
  font-size: min(1.8vw, 20px);
  font-weight: 700;
  width: 15.4%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.35;
  padding: 15px 0 12px;
  border-radius: 10px;
}
.top_points li img {
  width: 47px;
  margin-bottom: 6px;
}
.top_points li span {
  display: flex;
  flex: 2;
  align-items: center;
}

@media only screen and (max-width: 1024px) {
  .main_visual {
    background-position: left 32% top;
  }
  .main_visual .fukidashi_img {
    left: -82px;
    top: 45px;
  }
}
@media only screen and (max-width: 960px) {
  .main_visual {
    background-position: left 32% top;
  }
  .main_visual .box {
    background-position: top 18px center;
  }
  .main_visual .fukidashi_img {
    left: -65px;
  }
}
@media only screen and (max-width: 568px) {
  .main_visual {
    background: url(../img/top/mv_bg_sp.jpg) no-repeat center top;
    background-size: cover;
  }
  .main_visual .inner_wide {
    width: 90vw;
  }
  .main_visual .fukidashi_img {
    width: 66px;
    left: -23px;
    top: 92px;
    z-index: -1;
  }
  .main_visual .box {
    width: 100%;
    align-items: flex-start;
    padding: 20px 0 0;
    background-position: top 92px left 28%;
  }
  .main_visual .txt_copy {
    font-size: 17px;
    border-bottom: none;
    align-self: flex-start;
    margin-bottom: 53px;
  }
  .main_visual .txt_copy > span {
    border-bottom: 1px solid var(--site-primary);
  }
  .main_visual .txt_copy .size {
    font-size: 1.2em;
  }
  .main_visual .txt_copy .dot {
    background-image: radial-gradient(#04234f 11%, rgba(4, 35, 79, 0) 16%), radial-gradient(#04234f 12%, rgba(4, 35, 79, 0) 10%);
    padding-top: 12px;
  }
  .main_visual .mv_txt {
    width: 85vw;
    margin-left: -0.8vw;
  }
  .main_visual .points {
    width: 224px;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 30px 0 20px;
  }
  .main_visual .points li {
    width: 102px;
    height: 102px;
    font-size: 11px;
    margin: 0;
    padding: 30px 0 0;
  }
  .main_visual .points li:nth-child(1) {
    width: 100%;
    margin: 0 auto -18px;
    line-height: 1.5;
  }
  .main_visual .points li:nth-child(2) {
    line-height: 1.3;
  }
  .main_visual .mv_staff {
    width: 79%;
    right: -5vw;
  }
  .jisseki_area {
    padding: 13px 0 10px;
    overflow: hidden;
  }
  .jisseki_area .inner_wide::after {
    width: 44%;
    height: 115px;
    right: -15vw;
    bottom: -8px;
  }
  .jisseki_area img {
    width: 67%;
  }
  .top_heading {
    font-size: 20px;
    line-height: 1.45;
    padding: 9px 0 10px;
  }
  .top_points {
    padding: 20px 0;
  }
  .top_points ul {
    flex-wrap: wrap;
    gap: 11px 0;
  }
  .top_points ul li {
    width: 47.8%;
    flex-direction: row;
    gap: 0 7px;
    font-size: 15px;
    text-align: left;
    padding: 10px 0 8px 10px;
    border-radius: 5px;
  }
  .top_points ul li img {
    width: 32px;
  }
}

/* メインビジュアル パターン02 */
.main_visual_02 {
  
}
.main_visual_02 .inner_wide {
  padding: 1.5% 0 3.2%;
}
.main_visual_02 .fukidashi {
  font-size: clamp(18px, 2.3vw ,30px);
  font-weight: 500;
  width: fit-content;
  padding: 0.1em 0.85em;
  border-radius: 50px;
  position: relative;
  margin-bottom: 2%;
}
.main_visual_02 .fukidashi span {
  font-size: 0.86em;
}
.main_visual_02 .fukidashi::after {
  content: '';
  background: url(../img/top/fukidashi_parts.png) no-repeat;
  background-size: contain;
  width: 24px;
  height: 20px;
  position: absolute;
  left: 30px;
  bottom: -10px;
}
.main_visual_02 .box {
  background-position: top 0 right 50px;
  padding: 10px 0 0;
}
.main_visual_02 .mv_price {
  margin: 3% 0 5.5%;
}
.main_visual_02 .media_box {
  border: 4px solid var(--site-secondary);
  border-radius: 15px;
  padding: 0 0 3%;
  width: 94%;
}
.main_visual_02 .media_box .ribbon {
  text-align: center;
  font-size: clamp(15px, 2.0vw, 26px);
  font-weight: 500;
  color: #fff;
  background: url(../img/top/bg_ribon.png) no-repeat top 72% center;
  background-size: 100% auto;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1em 3.3em;
  margin: -9% auto 0;
  display: flex;
  align-items: center;
}
.main_visual_02 .media_box .ribbon::before {
  content: "";
  display: inline-block;
  background: url(../img/top/media_icon.png) no-repeat;
  background-size: contain;
  width: 60px;
  height: 58px;
  position: relative;
  top: 10px;
  margin-right: 7px;
}
.main_visual_02 .media_box .ribbon span {
  
}
.main_visual_02 .media_box ul {
  gap: 0 1.0em;
}
.main_visual_02 .media_box li {
  font-size: clamp(18px, 1.8vw ,30px);
  font-weight: 500;
}
.main_visual_02 .media_box li::before {
  content: '';
  background: #eb6168;
  width: 8px;
  height: 8px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  margin-top: -4px;
}
.main_visual_02 .media_box li span {
  font-size: 0.75em;
}
.main_visual_02 .mv_staff {
  width: 47.3%;
}
.main_visual_02 .jisseki_image {
  width: 38.46%;
  position: absolute;
  right: 3%;
  bottom: 8%;
  z-index: 5;
}
.google_wrap {
  padding: 1.5% 0 1.0%;
}
.google_wrap .main_txt {
  font-size: clamp(17px, 2.5vw, 34px);
  font-weight: 800;
  position: relative;
}
.google_wrap .main_txt::before, .google_wrap .main_txt::after {
  content: '';
  background: rgba(255, 255, 255, 0.5);
  width: 9%;
  height: 2px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.google_wrap .main_txt::before {
  left: 0;
}
.google_wrap .main_txt::after {
  right: 0;
}
.google_wrap .main_txt .txt_gold {
  font-size: 1.29em;
  font-weight: 800;
  background: linear-gradient(180deg, #fad923 40%, #ddb905 50%, #fad923 70%);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(2px 2px 0px rgba(51, 51, 51, 0.8));
}
.google_wrap .main_txt .dot_txt {
  background-position: top -14px left 0;
  background-image: radial-gradient(#fad923 12%, rgba(255, 216, 0, 0) 12%), radial-gradient(#fad923 13%, rgba(255, 216, 0, 0) 15%);
  background-size: 1.03em 1.03em;
  background-repeat: repeat-x;
  padding-top: 14px;
}
.google_wrap .google_evidence {
  color: rgba(255, 255, 255, 0.8);
  text-align: right;
  margin: -1% 11% 0 0;
}
@media only screen and (max-width: 960px) {
  .main_visual_02 .inner_wide {
    width: 95vw;
  }
  .main_visual_02 .media_box {
    width: 100%;
  }
  .main_visual_02 .media_box .ribbon {
    margin-top: -12%;
  }
  .main_visual_02 .media_box .ribbon::before {
    width: 50px;
    height: 48px;
  }
  .main_visual_02 .media_box li {
    font-size: 16px;
  }
  .google_wrap .main_txt .dot_txt {
    background-position: top -4px left 0;
  }
}
@media only screen and (max-width: 568px) {
  .main_visual_02 {
    background-position: center top 71%;
  }
  .main_visual_02 .inner_wide {
    width: 89.4vw;
    padding: 4% 0 6%;
  }
  .main_visual_02 .box {
    background: none;
  }
  .main_visual_02 .fukidashi {
    margin-bottom: 3.0%;
  }
  .main_visual_02 .fukidashi::after {
    left: 14px;
    bottom: -7px;
    z-index: -1;
  }
  .main_visual_02 .mv_txt {
    width: 91vw;
  }
  .main_visual_02 .jisseki_image {
    position: relative;
    right: initial;
    bottom: initial;
    display: block;
    width: 62%;
  }
  .main_visual_02.area_mv .jisseki_image {
    display: none;
  }
  .main_visual_02 .mv_price {
    margin: 8% 0 5.5%;
  }
  .main_visual_02 .media_box {
    border-width: 2px;
    border-radius: 10px;
    padding:1% 0 4.5%;
  }
  .main_visual_02 .media_box .ribbon {
    font-size: 4vw;
    margin-top: -11%;
  }
  .main_visual_02 .media_box .ribbon::before {
    width: 32px;
    height: 31px;
    top: 4px;
  }
  .main_visual_02 .media_box ul {
    gap: 0 0.25em;
  }
  .main_visual_02 .media_box li {
    font-size: 4.13vw;
  }
  .main_visual_02 .media_box li::before {
    width: 5px;
    height: 5px;
    margin-right: 5px;
  }
  .main_visual_02 .mv_staff {
    right: -5.3vw;
    bottom: 10%;
  }
  .google_wrap {
    padding: 4.5% 0 2.5%;
  }
  .google_wrap .main_txt {
    font-size: 4.53vw;
    line-height: 1.25;
  }
  .google_wrap .main_txt .dot_txt {
    background-position: top left;
  }
  .google_wrap .main_txt .size_01 {
    font-size: 5.3vw;
  }
  .google_wrap .main_txt .size_02 {
    font-size: 5.2vw;
  }
  .google_wrap .google_evidence {
    font-size: 2.4vw;
    margin-top: 0;
  }
}


/*===============================================
 *	MV下 バナー・クレジットエリア
===============================================*/
.top_intro_before:has(.breadcrumbs_box) .lg_inner_space {
  padding: 50px 0 80px;
}
.camp_bnr .annotation_txt {
  margin-top: 14px;
  padding-left: 0;
  text-indent: 0;
}

.credit_box {
  margin-top: 40px;
}
.credit_box .box_ttl {
  font-size: min(2.2vw, 26px);
  font-weight: 700;
  background: #0b9db8;
  padding: 18px 0 18px;
}
.credit_box .box_content {
  border: 4px solid #95d4df;
  border-top: none;
  padding: 30px 30px 32px;
  border-radius: 0 0 15px 15px;
}
.credit_box ul {
  width: 52%;
}
.credit_box ul li {
  background: #e7f0f0;
  font-size: min(1.8vw, 20px);
  font-weight: 700;
  line-height: 1.4;
  border-radius: 10px;
  width: 31%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 20px 0;
}
.credit_box ul img {
  width: 50px;
  margin: -44px 0 10px;
}
.credit_box .credit_img {
  width: 45%;
}

@media only screen and (max-width: 960px) {
  .top_intro_before:has(.breadcrumbs_box) .lg_inner_space {
    padding: 4vw 0 6.5vw;
  }
}

@media only screen and (max-width: 568px) {
  .top_intro_before:has(.breadcrumbs_box) .lg_inner_space {
    padding: 30px 0 30px;
  }
  .top_intro_before .lg_inner_space {
    padding: 30px 0 30px;
  }
  .camp_bnr .annotation_txt {
    margin-top: 8px;
  }
  .credit_box {
    margin-top: 20px;
  }
  .credit_box .box_ttl {
    font-size: 18px;
    padding: 9px 0 8px;
  }
  .credit_box .box_content {
    border-width: 2px;
    flex-direction: column;
    padding: 26px 16px 16px;
  }
  .credit_box .box_content ul {
    width: 100%;
    margin-bottom: 10px;
  }
  .credit_box .box_content ul li {
    font-size: 14px;
    padding: 10px 0;
  }
  .credit_box .box_content ul img {
    width: 38px;
    margin: -26px 0 6px;
  }
  .credit_box .box_content .credit_img {
    width: 100%;
  }
}
/*===============================================
 *	対応エリア
===============================================*/
.sec_service_area {
  background: url(../img/top/area_bg_pc.jpg) no-repeat top center;
  background-size: cover;
}
.sec_service_area .ttl_underbar_set .main_txt::before {
  background: url(../img/top/icon_pin.svg) no-repeat;
  background-size: contain;
}
.sec_service_area .bg_white {
  border-radius: 15px;
}
.sec_service_area .intro_area {
  position: relative;
  margin-bottom: 35px;
}
.sec_service_area .intro_area .txt_box {
  width: 50%;
}
.sec_service_area .intro_area .ttl {
  font-size: min(2.8vw, 32px);
  margin-bottom: 0.5em;
}
.sec_service_area .intro_area .area_image {
  width: 43.5%;
}
.sec_service_area .intro_area .area_fukidashi {
  width: 155px;
  position: absolute;
  top: -96px;
  right: 0;
}
.sec_service_area .notice_txt {
  font-size: 18px;
  font-weight: 500;
  margin: 0 0 8px;
}
.sec_service_area .notice_txt span {
  position: relative;
}
.sec_service_area .notice_txt span::before, .sec_service_area .notice_txt span::after {
  content: "";
  width: 0.64em;
  height: 40px;
  position: absolute;
  top: 0.2em;
}
.sec_service_area .notice_txt span::before {
  background: url(../img/common/line_blue_left.svg) no-repeat;
  background-size: contain;
  left: -1.5em;
}
.sec_service_area .notice_txt span::after {
  background: url(../img/common/line_blue_right.svg) no-repeat;
  background-size: contain;
  right: -1.5em;
}
.sec_service_area .list_top {
  font-size: min(2.5vw, 30px);
  font-weight: 700;
  padding: 0.5em 0;
  position: relative;
}
.sec_service_area .list_top::after {
  content: "";
  background: url(../img/top/icon_minus.svg) no-repeat center;
  background-size: contain;
  width: 28px;
  height: 28px;
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}
.sec_service_area .list_top.close::after {
  background: url(../img/top/icon_plus.svg) no-repeat center;
  background-size: contain;
}
.sec_service_area .area_list {
  background: #f3f7fc;
  padding: 35px 40px;
  display: none;
}
.sec_service_area .area_list li {
  font-size: 17px;
  width: 22%;
  padding-left: 26px;
  position: relative;
  float: left;
  margin: 0 4% 16px 0;
}
.sec_service_area .area_list li:nth-child(4n) {
  margin-right: 0;
}
.sec_service_area .area_list li a {
  color: #222;
}
.sec_service_area .area_list li a::before {
  content: "";
  background: url(../img/common/arrow_right_green.svg) no-repeat;
  background-size: contain;
  width: 18px;
  height: 18px;
  position: absolute;
  left: 0;
  top: 4px;
}
.sec_service_area .area_list li a:hover {
  color: var(--site-secondary);
}

@media only screen and (max-width: 1024px) {
  .sec_service_area .area_list {
    padding: 3vw 3.5vw;
  }
}
@media only screen and (max-width: 960px) {
  .sec_service_area .intro_area .area_fukidashi {
    width: 125px;
  }
  .sec_service_area .area_list li {
    font-size: 14px;
  }
}
@media only screen and (max-width: 568px) {
  .sec_service_area {
    background: url(../img/top/area_bg_sp.jpg) no-repeat;
    background-size: cover;
  }
  .sec_service_area .intro_area {
    flex-direction: column-reverse;
    margin-bottom: 25px;
  }
  .sec_service_area .intro_area .area_fukidashi {
    width: 96px;
    top: -48px;
  }
  .sec_service_area .intro_area .area_image {
    width: 100%;
    margin-bottom: 18px;
  }
  .sec_service_area .intro_area .txt_box {
    width: 100%;
  }
  .sec_service_area .intro_area .ttl {
    font-size: 5.5vw;
    text-align: center;
  }
  .sec_service_area .notice_txt {
    font-size: 15px;
    line-height: 1.5;
  }
  .sec_service_area .notice_txt span {
    display: inline-block;
  }
  .sec_service_area .notice_txt span::before, .sec_service_area .notice_txt span::after {
    width: 1.0em;
    top: 0.8em;
  }
  .sec_service_area .list_top {
    font-size: 4.8vw;
    text-align: left;
    padding: 0.5em 0.75em;
  }
  .sec_service_area .list_top::after {
    width: 20px;
    height: 20px;
    right: 0.75em;
  }
  .sec_service_area .area_list {
    padding: 12px 16px;
  }
  .sec_service_area .area_list li {
    font-size: 14px;
    width: 48%;
    margin: 0 3% 15px 0;
    padding-left: 20px;
  }
  .sec_service_area .area_list li:nth-child(4n) {
    margin: 0 3% 15px 0;
  }
  .sec_service_area .area_list li:nth-child(even) {
    margin-right: 0;
  }
  .sec_service_area .area_list li a::before {
    width: 15px;
    height: 15px;
  }
}
/*===============================================
 *	イントロセクション
===============================================*/
.sec_intro {
  background: url(../img/top/bg_sankaku_01.png) no-repeat top center;
  background-size: 100% auto;
  position: relative;
}
.sec_intro::before {
  content: "";
  background: url(../img/top/intro_bg02.png) no-repeat;
  background-size: contain;
  width: 23vw;
  height: 25vw;
  position: absolute;
  left: 0;
  bottom: 20px;
}
.sec_intro::after {
  content: "";
  background: url(../img/top/intro_bg01.png) no-repeat;
  background-size: contain;
  width: 28vw;
  height: 16vw;
  position: absolute;
  right: 0;
  top: 36%;
  z-index: -1;
}
.sec_intro .top_ttl {
  font-size: min(3.4vw, 40px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  margin-top: 40px;
}
.sec_intro .top_ttl .normal {
  position: relative;
}
.sec_intro .top_ttl .normal::before, .sec_intro .top_ttl .normal::after {
  content: "";
  width: 1.38em;
  height: 3.57em;
  position: absolute;
  top: 0.4em;
}
.sec_intro .top_ttl .normal::before {
  background: url(../img/top/leaf_left.svg) no-repeat;
  background-size: contain;
  left: -2.5em;
}
.sec_intro .top_ttl .normal::after {
  background: url(../img/top/leaf_right.svg) no-repeat;
  background-size: contain;
  right: -2.4em;
}
.sec_intro .top_ttl .size {
  font-size: 1.09em;
  line-height: 1.04;
  padding-left: 0.7em;
}
.sec_intro .top_ttl em {
  font-size: 2.2em;
  font-weight: 900;
  position: relative;
  letter-spacing: 0.07em;
}
.sec_intro .top_ttl em::before {
  content: "No.1";
  position: absolute;
  top: auto;
  left: 0;
  color: #fff;
  z-index: -1;
  -webkit-text-stroke-width: 10px;
  -webkit-text-stroke-color: #fff;
  filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.3));
}
.sec_intro .top_ttl em::after {
  content: "";
  width: 100%;
  height: 20px;
  background: #e2ef00;
  z-index: -2;
  position: absolute;
  left: -6px;
  bottom: 20px;
}
.sec_intro .appeal {
  justify-content: center;
  gap: 15px;
  margin: 30px 0 60px;
}
.sec_intro .appeal li {
  font-size: min(2.0vw, 24px);
  font-weight: 700;
  padding: 0.25em 1.5em;
  border-radius: 50px;
}
.sec_intro .appeal li .size_02 {
  font-size: 0.625em;
}
.sec_intro .main_content .top_box {
  display: grid;
  grid-template-columns: 45% 48.8%;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 6.2%;
       column-gap: 6.2%;
}
.sec_intro .main_content .top_box .ttl {
  font-size: min(3.0vw, 36px);
  margin: -0.25em 0 0.5em;
  grid-column: 1;
  grid-row: 1;
}
.sec_intro .main_content .top_box .photo {
  grid-column: 2;
  grid-row: 1/-1;
}
.sec_intro .main_content .top_box p {
  grid-column: 1;
  grid-row: 2;
}
.sec_intro .main_content .before_after {
  margin-top: 60px;
  gap: 0 2.5%;
  position: relative;
}
.sec_intro .main_content .before_after li {
  border: 8px solid #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  position: relative;
}
.sec_intro .main_content .before_after li::after {
  content: "";
  width: 37.7%;
  height: 16%;
  position: absolute;
  left: -4.7%;
  bottom: 5%;
}
.sec_intro .main_content .before_after li:nth-child(1)::after {
  background: url(../img/top/label_before.svg) no-repeat;
  background-size: contain;
}
.sec_intro .main_content .before_after li:nth-child(2)::after {
  background: url(../img/top/label_after.svg) no-repeat;
  background-size: contain;
}
.sec_intro .main_content .before_after::before {
  content: "";
  background: url(../img/top/intro_fukidashi.png) no-repeat;
  background-size: contain;
  width: 169px;
  height: 169px;
  position: absolute;
  left: -10%;
  top: -9%;
  z-index: 10;
}
.sec_intro .main_content .before_after::after {
  content: "";
  background: url(../img/top/yajirushi_right.png) no-repeat center;
  background-size: contain;
  width: 105px;
  height: 70px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sec_intro .main_content .sub_points {
  margin-top: 60px;
  gap: 36px 5%;
}
.sec_intro .main_content .sub_points li {
  width: 47.5%;
}
.sec_intro .main_content .sub_points figure {
  width: 37%;
}
.sec_intro .main_content .sub_points figure img {
  filter: drop-shadow(-8px 8px 0 var(--site-palecolor));
}
.sec_intro .main_content .sub_points .txt {
  width: 58%;
}
.sec_intro .main_content .sub_points .ttl {
  font-size: min(2.0vw, 22px);
  margin-bottom: 0.5em;
}

@media only screen and (max-width: 1024px) {
  .sec_intro .main_content .before_after::before {
    width: 150px;
    height: 150px;
    left: -4%;
    top: -17%;
  }
  .sec_intro .appeal {
    margin: 2vw 0 4.5vw;
  }
}
@media only screen and (max-width: 960px) {
  .sec_intro .main_content .before_after::before {
    width: 115px;
  }
  .sec_intro .main_content .sub_points {
    margin-top: 4.5vw;
  }
}
@media only screen and (max-width: 568px) {
  .sec_intro::before, .sec_intro::after {
    content: none;
  }
  .sec_intro .top_ttl {
    font-size: 6.0vw;
    line-height: 1.4;
    margin-top: 15px;
  }
  .sec_intro .top_ttl em::before {
    -webkit-text-stroke-width: 6px;
  }
  .sec_intro .top_ttl em::after {
    height: 12px;
    bottom: 9px;
  }
  .sec_intro .top_ttl .normal::before {
    left: -1.8em;
  }
  .sec_intro .top_ttl .normal::after {
    right: -1.8em;
  }
  .sec_intro .appeal {
    flex-direction: column;
    align-items: center;
    gap: 8px 0;
    margin: 24px 0 15px;
  }
  .sec_intro .appeal li {
    font-size: 15px;
    text-align: center;
    width: 90%;
    padding: 8px 0 8px;
  }
  .sec_intro .appeal li:nth-child(2) {
    font-size: 16px;
  }
  .sec_intro .appeal li:nth-child(2) .size_01 {
    font-size: 12px;
  }
  .sec_intro .main_content .top_box {
    display: block;
  }
  .sec_intro .main_content .top_box .ttl {
    font-size: 5.5vw;
    text-align: center;
    margin: 0 0 15px;
  }
  .sec_intro .main_content .top_box .photo {
    margin-bottom: 15px;
  }
  .sec_intro .main_content .before_after {
    flex-direction: column;
    gap: 14px 0;
    margin-top: 30px;
  }
  .sec_intro .main_content .before_after li {
    border-width: 6px;
  }
  .sec_intro .main_content .before_after::before {
    width: 85px;
    left: -11px;
    top: -20px;
  }
  .sec_intro .main_content .before_after::after {
    width: 70px;
    height: 45px;
    transform: translate(-50%, -50%) rotate(90deg);
    transform-origin: center center;
  }
  .sec_intro .main_content .sub_points {
    margin-top: 25px;
    gap: 30px 0;
  }
  .sec_intro .main_content .sub_points li {
    width: 100%;
  }
  .sec_intro .main_content .sub_points .ttl {
    font-size: 18px;
    margin-bottom: 5px;
  }
}
/*===============================================
 *	CVエリア
===============================================*/
.cv_area .cv_ttl_box {
  padding: 38px 0 68px;
}
.cv_area .cv_ttl {
  font-size: min(3.8vw, 48px);
  font-weight: bold;
}
.cv_area .cv_ttl .bg_white {
  font-size: 0.675em;
  padding: 0.4em 1em;
  border-radius: 5px;
  position: relative;
  top: -6px;
}
.cv_area .campaign_label {
  width: 82%;
  margin: 0 auto;
  position: relative;
  margin-top: -90px;
  margin-bottom: 35px;
}
.cv_area .campaign_label::after {
  content: "";
  background: url(../img/common/camp_calc_pc.png) no-repeat bottom center;
  background-size: contain;
  width: 124px;
  height: 90px;
  position: absolute;
  left: 3%;
  bottom: 0;
}
.cv_area .campaign_label p {
  font-size: min(3.1vw, 38px);
  font-weight: 700;
  background: url(../img/common/bg_dot_yellow.png) repeat;
  -webkit-clip-path: polygon(100% 0, 98% 50%, 100% 100%, 0% 100%, 2% 50%, 0% 0%);
          clip-path: polygon(100% 0, 98% 50%, 100% 100%, 0% 100%, 2% 50%, 0% 0%);
  padding: 0.2em 0 0.2em 100px;
}
.cv_area .campaign_label p span {
  color: #f44233;
}
.cv_area .cv_content {
  background: url(../img/common/cv_bg.jpg) no-repeat top center;
  background-size: cover;
  padding: 50px 0 100px;
}
.cv_area .tel_box {
  width: 66%;
}
.cv_area .tel_box p {
  font-size: min(1.8vw, 20px);
  background: #1998ae;
  padding: 0.2em 0 0.3em;
  border-radius: 50px;
  margin-bottom: 20px;
}
.cv_area .tel_box .tel_num {
  color: #fff;
  font-family: "Poppins";
  font-size: min(7.2vw, 91px);
  letter-spacing: 0;
  line-height: 1;
}
.cv_area .tel_box .tel_num::before {
  content: "";
  background: url(../img/common/free_dial02.svg) no-repeat;
  width: 90px;
  height: 56px;
  display: inline-block;
  margin-right: 6px;
}
.cv_area .tel_box .under_txt {
  margin-top: 10px;
}
.cv_area .tel_box .under_txt span {
  font-size: min(3.1vw, 38px);
  font-weight: 500;
}
.cv_area .tel_box .under_txt ul {
  gap: 0 10px;
  margin-left: 25px;
}
.cv_area .tel_box .under_txt li {
  font-size: min(2.5vw, 30px);
  font-weight: 500;
  color: var(--site-primary);
  background: rgba(255, 255, 255, 0.7);
  padding: 0.15em 0.8em;
  border-radius: 3px;
}
.cv_area .cv_bottom {
  background: var(--site-primary);
  padding: 10px 0 60px;
}
.cv_area .cv_bottom .bg_white {
  padding: 30px 0;
  margin-top: -70px;
  border-radius: 15px;
}
.cv_area .cv_bottom .bg_white::before {
  content: "";
  background: url(../img/common/cv_staff.png) no-repeat bottom right;
  background-size: contain;
  width: min(30%, 328px);
  height: 284px;
  position: absolute;
  top: -284px;
  right: 10px;
}
.cv_area .cv_bottom .btns {
  gap: 0 4%;
}
.cv_area .cv_bottom .btns li {
  width: 40%;
}
.cv_area .cv_bottom .btns li a:hover img {
  opacity: 0.9;
}

/* CTA改修 パターン02 */
.cv_area_02 {

}
.cv_area_02 .cv_ttl_box .google_box {
  display: none;
}
.cv_area_02 .google_box {
  background: url(../img/common/google_medal.png) no-repeat;
  background-size: contain;
  width: 15.17%;
  height: 170px;
  position: absolute;
  right: 17%;
  top: 33%;
  z-index: 1;
}
.cv_area_02 .google_box p {
  font-size: clamp(12px, 1.85vw, 23px);
  font-weight: bold;
  padding-top: 3.1em;
  line-height: 1.25;
}
.cv_area_02 .google_box p span {
  color: #f44233;
  font-size: 1.217em;
}
.cv_area_02 .cv_bottom .bg_white::before {
  background: url(../img/common/cv_staff_02.png) no-repeat bottom right;
  background-size: contain;
}

@media only screen and (max-width: 960px) {
  .cv_area .cv_ttl_box {
    padding: 30px 0 50px;
  }
  .cv_area .cv_content {
    padding-top: 40px;
  }
  .cv_area .campaign_label {
    margin-top: -67px;
  }
  .cv_area .campaign_label::after {
    width: 85px;
  }
  .cv_area .tel_box .tel_num {
    font-size: 7vw;
  }
  .cv_area .tel_box .tel_num::before {
    width: 65px;
    height: 43px;
    margin-right: 1.5vw;
  }
  .cv_area .cv_bottom .btns li {
    width: 44%;
  }
}
@media only screen and (max-width: 568px) {
  .cv_area .cv_ttl_box {
    padding: 20px 0 50px;
  }
  .cv_area .cv_ttl {
    font-size: 6.2vw;
    line-height: 1.4;
    text-align: left;
    margin-left: -2%;
  }
  .cv_area .cv_ttl .bg_white {
    font-size: 15px;
    border-radius: 3px;
    padding: 0.25em 0.5em;
    display: inline-block;
    margin-bottom: 3px;
  }
  .cv_area .cv_content {
    padding: 18px 0 66px;
  }
  .cv_area .campaign_label {
    width: 105%;
    margin: -55px -2.5% 20px;
  }
  .cv_area .campaign_label p {
    font-size: 21px;
    line-height: 1.25;
    padding: 0.6em 0 0.6em 68px;
    -webkit-clip-path: polygon(100% 0, 97% 50%, 100% 100%, 0% 100%, 3% 50%, 0% 0%);
            clip-path: polygon(100% 0, 97% 50%, 100% 100%, 0% 100%, 3% 50%, 0% 0%);
  }
  .cv_area .campaign_label::after {
    background: url(../img/common/camp_calc_sp.png) no-repeat bottom center;
    background-size: contain;
    width: 114px;
    left: 3px;
  }
  .cv_area .campaign_label::before {
    content: "";
    background: url(../img/common/cv_staff_sp.png) no-repeat;
    background-size: contain;
    width: 133px;
    height: 130px;
    position: absolute;
    top: -129px;
    right: 0;
  }
  .cv_area .tel_box {
    width: 100%;
  }
  .cv_area .tel_box p {
    font-size: 18px;
    margin-bottom: 13px;
  }
  .cv_area .tel_box a {
    display: block;
    background: #f0f5fc;
    border-radius: 5px;
    position: relative;
    padding: 15px 0 15px 75px;
    box-shadow: 0px 6px 0px 0px rgba(var(--site-primary-rgb), 0.4);
  }
  .cv_area .tel_box a::before {
    content: "";
    background: url(../img/common/icon_tel.png) no-repeat;
    background-size: contain;
    width: 58px;
    height: 58px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
  .cv_area .tel_box .tel_num {
    font-size: 8.3vw;
    color: #222;
  }
  .cv_area .tel_box .tel_num::before {
    width: 26px;
    height: 17px;
  }
  .cv_area .tel_box .under_txt span {
    font-size: 3.5vw;
    color: #222;
  }
  .cv_area .tel_box .under_txt ul {
    gap: 0 5px;
    margin-left: 2%;
  }
  .cv_area .tel_box .under_txt li {
    font-size: 3.2vw;
    background: rgba(var(--site-palecolor-rgb), 0.4);
    padding: 0.2em 0.3em;
  }
  .cv_area .cv_bottom {
    padding: 10px 0 40px;
  }
  .cv_area .cv_bottom .bg_white {
    padding: 16px 16px 20px;
    border-radius: 10px;
    margin-top: -46px;
  }
  .cv_area .cv_bottom .bg_white::before {
    content: none;
  }
  .cv_area .cv_bottom .btns {
    flex-direction: column;
    gap: 15px 0;
  }
  .cv_area .cv_bottom .btns li {
    width: 100%;
  }
  /* CTA改修 パターン02 */
  .cv_area_02 .campaign_label::before {
    background: url(../img/common/cv_staff_sp_02.png) no-repeat bottom right;
    background-size: contain;
    right: -5px;
    width: 34vw;
    height: 35vw;
    top: -34vw;
  }
  .cv_area_02 .cv_ttl_box .google_box {
    display: block;
  }
  .cv_area_02 .cv_content .google_box {
    display: none;
  }
  .cv_area_02 .google_box {
    background: url(../img/common/google_medal_sp.png) no-repeat;
    background-size: contain;
    width: 74px;
    height: 74px;
    top: -7%;
    right: 16%;
  }
  .cv_area_02 .google_box p {
    letter-spacing: 0;
    padding-top: 2.6em;
    line-height: 1.0;
  }
  .cv_area_02 .google_box p span {
    margin-left: -2px;
  }

}
/*===============================================
 *	TOP お悩みありませんか？
===============================================*/
.sec_problem {
  background: url(../img/top/problem_bg02.jpg) no-repeat;
  background-size: cover;
}
.sec_problem .inner_wide {
  background: url(../img/top/problem_bg.png) no-repeat top center;
  padding: 25px 0 80px;
  width: 100%;
}
.sec_problem .ttl {
  color: #fff;
  font-size: 37px;
  margin: 0 0 20px;
}
.sec_problem .ttl span {
  display: inline-block;
  font-size: 0.7em;
  position: relative;
}
.sec_problem .ttl span::before, .sec_problem .ttl span::after {
  content: "";
  width: 0.8em;
  height: 1.38em;
  position: absolute;
  top: 0;
}
.sec_problem .ttl span::before {
  background: url(../img/common/line_white_left.png) no-repeat;
  background-size: contain;
  left: -1.5em;
}
.sec_problem .ttl span::after {
  background: url(../img/common/line_white_right.png) no-repeat;
  background-size: contain;
  right: -1.5em;
}
.sec_problem .ttl em {
  font-size: 1.2em;
}
.sec_problem .problem_list li {
  font-size: 17px;
  line-height: 1.6;
  text-align: center;
  color: var(--site-primary);
  width: 234px;
  height: 234px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.sec_problem .problem_list li:nth-child(1) {
  background: url(../img/top/fukidashi_bg01.png) no-repeat top left;
  background-size: contain;
  margin-top: 70px;
  margin-right: -17px;
  padding-bottom: 20px;
}
.sec_problem .problem_list li:nth-child(2) {
  background: url(../img/top/fukidashi_bg02.png) no-repeat top left;
  background-size: contain;
  padding-bottom: 38px;
}
.sec_problem .problem_list li:nth-child(3) {
  background: url(../img/top/fukidashi_bg03.png) no-repeat top left;
  background-size: contain;
  padding-bottom: 38px;
}
.sec_problem .problem_list li:nth-child(4) {
  background: url(../img/top/fukidashi_bg04.png) no-repeat top left;
  background-size: contain;
  margin-top: 70px;
  margin-left: -17px;
  padding-bottom: 20px;
  padding-left: 10px;
}
.sec_problem .problem_list li span::before {
  content: "";
  background: url(../img/common/icon_check01.svg) no-repeat;
  background-size: contain;
  width: 27px;
  height: 27px;
  display: block;
  margin: 0 auto 6px;
}
.sec_problem .illust_img {
  width: 296px;
  display: block;
  margin: -90px auto 0;
}

@media only screen and (max-width: 960px) {
  .sec_problem .problem_list li {
    width: 26vw;
    height: 26vw;
  }
  .sec_problem .illust_img {
    width: 38vw;
    margin: -6.5vw auto 0;
  }
}
@media only screen and (max-width: 568px) {
  .sec_problem .inner_wide {
    background: url(../img/top/problem_bg_sp.png) no-repeat top center;
    background-size: 100% auto;
    padding: 20px 0 40px;
  }
  .sec_problem .ttl {
    font-size: 6.2vw;
  }
  .sec_problem .problem_list {
    gap: 4px 0;
  }
  .sec_problem .problem_list li {
    font-size: 3.8vw;
    line-height: 1.5;
    margin: 0 !important;
    padding: 0 !important;
    width: 48vw;
    height: 45vw;
  }
  .sec_problem .problem_list li:nth-child(1) {
    background: url(../img/top/fukidashi_bg01_sp.png) no-repeat center;
    background-size: contain;
    padding-bottom: 20px !important;
  }
  .sec_problem .problem_list li:nth-child(2) {
    background: url(../img/top/fukidashi_bg02_sp.png) no-repeat center;
    background-size: contain;
    padding-bottom: 20px !important;
  }
  .sec_problem .problem_list li:nth-child(3) {
    height: 50vw;
    background: url(../img/top/fukidashi_bg03_sp.png) no-repeat center;
    background-size: contain;
    padding-bottom: 40px !important;
  }
  .sec_problem .problem_list li:nth-child(4) {
    height: 50vw;
    background: url(../img/top/fukidashi_bg04_sp.png) no-repeat center;
    background-size: contain;
    padding-bottom: 40px !important;
  }
  .sec_problem .problem_list li span::before {
    width: 20px;
    height: 20px;
    margin: 0 auto 5px;
  }
  .sec_problem .illust_img {
    width: 50vw;
    margin-top: -13.5vw;
  }
}
/*===============================================
 *	ゴミ屋敷片付け○○にお任せください！
===============================================*/
.sec_features .ttl_box {
  background: url(../img/top/bg_skew_stripe.png) no-repeat center;
  background-size: cover;
  padding: 34px 0 30px;
  position: relative;
}
.sec_features .ttl_box::after {
  content: "";
  background: var(--site-primary);
  width: 100px;
  height: 40px;
  position: absolute;
  bottom: -39px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.sec_features .ttl_box .ttl {
  font-size: min(2.8vw, 32px);
  line-height: 1.65;
}
.sec_features .ttl_box .decoration {
  display: inline-block;
  position: relative;
}
.sec_features .ttl_box .decoration::before, .sec_features .ttl_box .decoration::after {
  content: "";
  width: 0.8em;
  height: 1.38em;
  position: absolute;
  top: 0;
}
.sec_features .ttl_box .decoration::before {
  background: url(../img/common/line_white_left.png) no-repeat;
  background-size: contain;
  left: -1.5em;
}
.sec_features .ttl_box .decoration::after {
  background: url(../img/common/line_white_right.png) no-repeat;
  background-size: contain;
  right: -1.5em;
}
.sec_features .ttl_box em {
  font-size: 1.5em;
}
.sec_features .ttl_box .color {
  color: #e2ef00;
}
.sec_features .main_content {
  background: url(../img/top/features_bg.jpg) no-repeat top center;
  background-size: auto;
}
.sec_features .feature_box {
  padding: 50px 0;
  display: grid;
  grid-template-columns: 45% 45%;
  grid-template-rows: 1fr auto auto;
  -moz-column-gap: 10%;
       column-gap: 10%;
}
.sec_features .feature_box .ttl {
  font-size: min(2.8vw, 36px);
  font-weight: bold;
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
}
.sec_features .feature_box .ttl::before {
  content: "";
  background: url(../img/top/icon_ttl_house.svg) no-repeat;
  background-size: contain;
  width: 2.7em;
  height: 2em;
  position: absolute;
  left: -1.8em;
  top: -0.7em;
}
.sec_features .feature_box .ttl::after {
  font-family: "Poppins";
  font-size: 4.4em;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: rgba(var(--site-palecolor-rgb), 0.75);
  position: absolute;
  right: 0;
  top: -0.4em;
  z-index: -1;
}
.sec_features .feature_box .sub_ttl {
  font-size: 22px;
  font-weight: 500;
  color: var(--site-secondary);
  margin: 20px 0 20px;
  grid-column: 1;
  grid-row: 2;
}
.sec_features .feature_box .txt {
  grid-column: 1;
  grid-row: 3;
}
.sec_features .feature_box img {
  border-radius: 15px;
  box-shadow: 15px 15px 0px 0px rgba(var(--site-palecolor-rgb), 0.85);
  grid-column: 2;
  grid-row: 1/-1;
}
.sec_features .feature_01 .ttl::after {
  content: "01";
  letter-spacing: 0.05em;
}
.sec_features .feature_02 .ttl {
  grid-column: 2;
}
.sec_features .feature_02 .ttl::after {
  content: "02";
}
.sec_features .feature_02 .sub_ttl {
  grid-column: 2;
}
.sec_features .feature_02 .txt {
  grid-column: 2;
}
.sec_features .feature_02 img {
  grid-column: 1;
}
.sec_features .feature_03 .ttl::after {
  content: "03";
}
.sec_features .feature_04 .ttl {
  grid-column: 2;
}
.sec_features .feature_04 .ttl::after {
  content: "04";
}
.sec_features .feature_04 .sub_ttl {
  grid-column: 2;
}
.sec_features .feature_04 .txt {
  grid-column: 2;
}
.sec_features .feature_04 img {
  grid-column: 1;
}

@media only screen and (max-width: 1024px) {
  .sec_features .feature_box {
    padding: 4vw 0;
  }
}
@media only screen and (max-width: 568px) {
  .sec_features .ttl_box {
    background: url(../img/top/bg_skew_stripe_sp.png) no-repeat center;
    background-size: cover;
    padding: 16px 0 16px;
  }
  .sec_features .ttl_box .decoration {
    margin-bottom: 8px;
  }
  .sec_features .ttl_box .decoration::before, .sec_features .ttl_box .decoration::after {
    top: 24px;
  }
  .sec_features .ttl_box::after {
    width: 70px;
    height: 28px;
    bottom: -27px;
  }
  .sec_features .ttl_box .ttl {
    font-size: 4.5vw;
    line-height: 1.5;
  }
  .sec_features .ttl_box .ttl em {
    font-size: 1.3em;
  }
  .sec_features .main_content {
    background: url(../img/top/features_bg_sp.jpg) no-repeat top center;
    background-size: auto;
  }
  .sec_features .feature_box {
    display: block;
    padding: 25px 0;
  }
  .sec_features .feature_box .ttl {
    font-size: 6.2vw;
    padding-left: 36px;
  }
  .sec_features .feature_box .ttl::before {
    width: 2.2em;
    height: 1.8em;
    top: -0.6em;
    left: -0.2em;
  }
  .sec_features .feature_box .ttl::after {
    font-size: 3.4em;
    top: -0.3em;
  }
  .sec_features .feature_box .sub_ttl {
    font-size: 4.8vw;
    padding-left: 36px;
    margin: 6px 0 14px;
  }
  .sec_features .feature_box img {
    width: 94%;
    border-radius: 10px;
    margin-bottom: 30px;
  }
  .sec_features .feature_01 {
    padding-top: 10px;
  }
  .sec_features .feature_04 {
    padding-bottom: 0;
  }
}
/*===============================================
 *	他社比較表
===============================================*/
.sec_compare {
  background: url(../img/common/bg_dot_blue.png);
}
.sec_compare .ttl_underbar_set .main_txt::before {
  background: url(../img/top/icon_light.svg) no-repeat;
  background-size: contain;
  margin-top: -15px;
}
.sec_compare .back_txt .main_txt::after {
  content: "STRENGTH";
}

.compare_table {
  width: 100%;
  table-layout: fixed;
  margin-top: -10px;
  filter: drop-shadow(0 0 10px rgba(150, 170, 200, 0.6));
}

.compare_table .none {
  background: rgba(255, 255, 255, 0);
  width: 240px;
}

.compare_table .color {
  /* color: var(--txt-keycolor); */
  color: var(--site-keycolor);
  font-weight: bold;
}

.compare_table .on {
  border: 6px solid #69dd99;
}

.compare_table th, .compare_table td {
  text-align: center;
  background: #fff;
}

.compare_table thead {
  font-size: 20px;
  color: #fff;
}

.compare_table thead th.color {
  background: #69dd99;
  padding: 16px 5px 20px;
}

.compare_table thead th.color img {
  max-width: 221px;
}

.compare_table thead th.gray {
  vertical-align: bottom;
  background: rgba(255, 255, 255, 0);
}

.compare_table thead th.gray div {
  background: #b4b4b6;
  font-weight: bold;
  padding: 17px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #ccc;
}

.compare_table thead th:last-of-type div {
  border-left: 6px solid #e6e6e6;
}

.compare_table tbody th {
  font-size: 20px;
  background: #ebf6ff;
  font-weight: bold;
  color: var(--site-primary);
}

.compare_table tbody tr:nth-of-type(even) th {
  background: #d7e8fa;
}

.compare_table tbody td {
  font-size: 17px;
  font-weight: 500;
  padding: 18px 0 20px;
  line-height: 1.45;
}

.compare_table tbody td.color {
  font-size: 20px;
}

.compare_table tbody tr:nth-of-type(even) td {
  background: #f2f2f2;
}

.compare_table tbody td:last-of-type {
  border-left: 6px solid #e6e6e6;
}

@media only screen and (max-width: 1024px) {
  .compare_table .none {
    width: 200px;
  }
  .compare_table thead th.color {
    font-size: 23px;
  }
}
@media only screen and (max-width: 960px) {
  .compare_table {
    margin-top: -5px;
  }
  .compare_table .none {
    width: 150px;
  }
  .compare_table tbody td.color {
    font-size: 18px;
  }
  .compare_table tbody th {
    font-size: 18px;
  }
}
@media only screen and (max-width: 568px) {
  .sec_compare .ttl_underbar_set .main_txt::before {
    width: 1.82em;
    height: 2.1em;
  }
  .compare_table {
    margin: 0;
  }
  .compare_table .on {
    border-width: 3px;
  }
  .compare_table .none {
    width: 24.7%;
  }
  .compare_table thead th.color {
    padding: 10px 0 14px;
  }
  .compare_table thead th.color img {
    width: 85%;
  }
  .compare_table thead th.color span {
    font-size: 13px;
    line-height: 1.3;
    color: #fff;
  }
  .compare_table thead th.gray {
    font-size: 16px;
  }
  .compare_table thead th.gray div {
    padding: 14px 0;
  }
  .compare_table thead th:last-of-type div {
    border-left: 3px solid #e6e6e6;
  }
  .compare_table tbody th {
    font-size: 13px;
    line-height: 1.4;
  }
  .compare_table tbody td {
    font-size: 12px;
    line-height: 1.4;
    padding: 0 !important;
    height: 54px;
  }
  .compare_table tbody td.color {
    font-size: 13px;
  }
  .compare_table tbody td:last-of-type {
    border-left: 3px solid #e6e6e6;
  }
  .compare_table tbody tr:nth-child(4) td, .compare_table tbody tr:nth-child(5) td {
    font-size: 12px;
    height: 70px;
  }
}
/*===============================================
 *	豊富なサービスを全て1社でサポート
===============================================*/
.sec_service {
  background-image: url(../img/top/service_bg_bottom.jpg), url(../img/common/sec_bg_stripe.png);
  background-repeat: no-repeat, no-repeat;
  background-position: center bottom, top right;
  background-size: auto;
  overflow: hidden;
}
.sec_service .ttl_underbar_set .main_txt::before {
  background: url(../img/top/icon_house.svg) no-repeat;
  background-size: contain;
  width: 1.5em;
  height: 1.3em;
}
.sec_service .back_txt .main_txt::after {
  content: "SERVICE";
  color: #eceff3;
}
.sec_service .appeal_points li {
  width: 30%;
  padding: 40px 25px 25px;
  border-radius: 15px;
  gap: 15px 0;
  position: relative;
}
.sec_service .appeal_points li .icon_num {
  width: 58px;
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translate(-50%);
}
.sec_service .appeal_points li .photo {
  width: 47.6%;
  border-radius: 8px;
}
.sec_service .appeal_points li .ttl {
  font-size: 20px;
  width: 46%;
  display: flex;
  align-items: center;
}
.sec_service .service_list_box {
  margin-top: 65px;
}
.sec_service .service_list_box .ttl {
  font-size: min(3.2vw, 38px);
  padding: 0.6em 0 0.65em;
}
.sec_service .service_list_box .ttl span {
  color: #e2ef00;
}
.sec_service .service_list_box ul {
  background: url(../img/common/bg_dot_blue02.png);
  padding: 40px 40px;
  gap: 25px 0;
}
.sec_service .service_list_box ul li {
  width: 23.5%;
}
.sec_service .service_list_box ul li a {
  background: #fff;
  display: flex;
  align-items: center;
  border-radius: 10px;
  padding: 20px 0 20px 15px;
  gap: 0 5%;
  box-shadow: 0px 5px 0px 0px rgba(var(--site-secondary-rgb), 0.35);
  position: relative;
}
.sec_service .service_list_box ul li a:hover {
  background: rgba(255, 255, 255, 0.8);
}
.sec_service .service_list_box ul li a img {
  width: 43.6%;
}
.sec_service .service_list_box ul li a span {
  font-size: min(1.8vw, 20px);
  font-weight: 500;
  color: var(--site-primary);
  position: relative;
  z-index: 10;
}
.sec_service .service_list_box ul li a .size {
  font-size: min(1.7vw, 18px);
}
.sec_service .service_list_box ul li a::after {
  content: "";
  background: url(../img/common/sankaku_rightbottom_01.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}
.sec_service .under_area .arrow {
  display: block;
  width: 80px;
  margin: 40px auto;
}
.sec_service .under_area .txt {
  font-size: min(2.5vw, 30px);
  font-weight: 500;
  line-height: 1.8;
}
.sec_service .under_area .txt .first {
  display: inline-block;
  margin-bottom: 5px;
}
.sec_service .under_area .txt .bg_white {
  font-size: 1.4em;
  font-weight: bold;
  background: #fff;
  padding: 0 15px;
  margin-right: 10px;
}
.sec_service .under_area .under_top {
  width: 47%;
}
.sec_service .point_box {
  margin-top: 80px;
}
.sec_service .point_box .txt_box .main {
  text-indent: -0.5em;
}
.sec_service .point_box .txt_box .sub {
  font-size: 20px;
}

@media only screen and (max-width: 1024px) {
  .sec_service .service_list_box ul {
    padding: 3vw 3vw;
  }
  .sec_service .service_list_box ul li a {
    padding: 15px 0 15px 13px;
  }
  .sec_service .service_list_box ul li a img {
    width: 36%;
  }
}
@media only screen and (max-width: 960px) {
  .sec_service {
    background-size: auto, 40%;
  }
  .sec_service .service_list_box {
    margin-top: 5vw;
  }
  .sec_service .appeal_points li {
    padding: 34px 15px 25px;
  }
  .sec_service .appeal_points li .icon_num {
    width: 14%;
    top: -8%;
  }
  .sec_service .appeal_points li .ttl {
    font-size: 16px;
  }
  .sec_service .under_area .arrow {
    width: 60px;
    margin: 3vw auto;
  }
  .sec_service .point_box {
    margin-top: 6.5vw;
  }
}
@media only screen and (max-width: 568px) {
  .sec_service {
    background-image: url(../img/top/service_bg_bottom_sp.jpg), url(../img/common/sec_bg_stripe_sp.png);
    background-size: 100% auto, auto;
  }
  .sec_service .ttl_underbar_set {
    margin: 0 -0.5em 32px;
  }
  .sec_service .ttl_underbar_set .main_txt::before {
    width: 1.77em;
    height: 1.3em;
  }
  .sec_service .appeal_points {
    flex-direction: column;
    gap: 30px 0;
  }
  .sec_service .appeal_points li {
    width: 100%;
    border-radius: 10px;
    align-items: center;
    padding: 30px 20px 20px;
  }
  .sec_service .appeal_points li .ttl {
    font-size: 5.0vw;
    width: 45%;
  }
  .sec_service .service_list_box {
    margin-top: 30px;
  }
  .sec_service .service_list_box .ttl {
    font-size: 6.0vw;
  }
  .sec_service .service_list_box ul {
    padding: 16px 16px 20px;
    gap: 16px 0;
  }
  .sec_service .service_list_box ul li {
    width: 47.8%;
  }
  .sec_service .service_list_box ul li a {
    border-radius: 5px;
    padding: 10px 0 10px 8px;
    gap: 0 6px;
  }
  .sec_service .service_list_box ul li a span {
    font-size: 4.0vw;
  }
  .sec_service .service_list_box ul li a .size {
    font-size: 3.0vw;
    line-height: 1.35;
  }
  .sec_service .service_list_box ul li a .size_02 {
    font-size: 3.8vw;
  }
  .sec_service .service_list_box ul li a img {
    width: 50px;
  }
  .sec_service .service_list_box ul li a::after {
    width: 13px;
    height: 13px;
    right: 6px;
    bottom: 6px;
  }
  .sec_service .under_area .arrow {
    width: 46px;
    margin: 20px auto 10px;
  }
  .sec_service .under_area .content_box {
    flex-direction: column;
  }
  .sec_service .under_area .txt {
    font-size: 5.5vw;
    text-align: center;
    margin-bottom: 25px;
  }
  .sec_service .under_area .txt .bg_white {
    font-size: 1.2em;
    padding: 0 10px;
  }
  .sec_service .under_area .under_top {
    width: 100%;
  }
  .sec_service .point_box {
    margin-top: 40px;
  }
  .sec_service .point_box .txt_box .main {
    line-height: 1.4;
    margin-bottom: 5px;
  }
  .sec_service .point_box .txt_box .sub {
    font-size: 11px;
  }
}
/*===============================================
 *	料金体系
===============================================*/
.sec_price {
  background: url(../img/common/sec_bg_stripe.png) no-repeat top right;
}
.sec_price.lg_inner_space {
  padding-bottom: 0;
}
.sec_price .ttl_underbar_set .main_txt::before {
  background: url(../img/top/icon_calc.svg) no-repeat;
  background-size: contain;
  width: 1.12em;
  height: 1.44em;
}
.sec_price .back_txt .main_txt::after {
  content: "PRICE";
  color: #f2f2f2;
}
.sec_price .appeal_points {
  gap: 65px 5%;
}
.sec_price .appeal_points li {
  width: 30%;
  padding: 40px 25px 25px;
  border-radius: 15px;
  flex-direction: column;
  align-items: center;
  gap: 15px 0;
  position: relative;
}
.sec_price .appeal_points li .icon_check {
  width: 58px;
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translate(-50%);
}
.sec_price .appeal_points li .image {
  max-width: 210px;
}
.sec_price .appeal_points li .ttl {
  font-size: min(2.0vw, 22px);
}
.sec_price .appeal_points li:nth-child(3) .image {
  position: relative;
  top: -8px;
}
.sec_price .price_detail {
  margin-top: 65px;
  padding-top: 120px;
  background-image: url(../img/top/bg_sankaku_02.png), url(../img/common/bg_dot_blue.png);
  background-repeat: no-repeat, repeat;
  background-position: top center, top left;
}
.sec_price .price_detail .price_ttl {
  font-size: min(4.5vw, 50px);
  line-height: 1.8;
  margin-bottom: 40px;
}
.sec_price .price_detail .price_ttl .fukidashi {
  font-size: 0.52em;
  padding: 13px 30px;
  display: inline-block;
  position: relative;
  border: 0.08em solid var(--site-primary);
  border-radius: 2em;
  background: #fff;
  filter: drop-shadow(0 6px 0 rgb(225, 238, 0));
}
.sec_price .price_detail .price_ttl .fukidashi::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 15px;
  height: 15px;
  box-sizing: border-box;
  background-color: #ffffff;
  rotate: 135deg;
  translate: -50%;
}
.sec_price .price_detail .price_ttl .fukidashi::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  width: 15px;
  height: 15px;
  box-sizing: border-box;
  border: 2px solid;
  border-color: var(--site-primary) var(--site-primary) transparent transparent;
  rotate: 135deg;
  translate: -50%;
}
.sec_price .price_detail .price_ttl .circle {
  font-size: 0.56em;
  font-weight: bold;
  display: inline-block;
  border: 2px solid var(--site-primary);
  width: 4em;
  height: 4em;
  line-height: 4em;
  border-radius: 2em;
  position: relative;
  top: -12px;
}
.sec_price .price_detail .price_ttl em {
  font-size: 1.6em;
}
.sec_price .price_detail .sub_ttl {
  font-size: min(2.2vw, 28px);
  padding: 0.45em 0;
  width: 75%;
  margin: 0 auto 40px;
}
.sec_price .price_detail .sub_ttl span {
  position: relative;
}
.sec_price .price_detail .sub_ttl span::before {
  content: "";
  background: url(../img/common/icon_check01.svg) no-repeat;
  width: 1em;
  height: 1em;
  position: absolute;
  left: -1.25em;
  top: 5px;
}
.sec_price .price_table {
  width: 100%;
  background: #fff;
  filter: drop-shadow(0 0 10px rgba(var(--site-primary-rgb), 0.15));
  margin-bottom: 65px;
}
.sec_price .price_table th, .sec_price .price_table td {
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  padding: 0.8em 0;
}
.sec_price .price_table thead th {
  color: #fff;
}
.sec_price .price_table thead th:nth-of-type(1) {
  background: var(--site-primary);
}
.sec_price .price_table thead th:nth-of-type(2) {
  background: var(--site-secondary);
  border-left: 6px solid #e6e6e6;
}
.sec_price .price_table thead th:nth-of-type(3) {
  background: var(--site-keycolor);
  border-left: 6px solid #e6e6e6;
}
.sec_price .price_table tbody th {
  width: 28.5%;
  color: var(--site-primary);
  background: #eaf5ff;
}
.sec_price .price_table tbody td {
  width: 35.75%;
  border-left: 6px solid #e6e6e6;
}
.sec_price .price_table tbody td:last-of-type {
  color: var(--site-keycolor);
}
.sec_price .price_table tbody tr:nth-of-type(even) th {
  background: #d6e7f9;
}
.sec_price .price_table tbody tr:nth-of-type(even) td {
  background: #f2f2f2;
}
.sec_price .service_in {
  gap: 25px 2.2%;
  margin-bottom: 40px;
}
.sec_price .service_in li {
  background: var(--site-secondary);
  display: flex;
  align-items: center;
  gap: 0 5%;
  font-size: min(1.9vw, 22px);
  font-weight: 500;
  width: 25%;
  border-radius: 10px;
  padding: 0.8em 0 0.8em 1em;
}
.sec_price .service_in li img {
  width: 66px;
}
.sec_price .camp_bnr {
  margin-top: 65px;
}

@media only screen and (max-width: 960px) {
  .sec_price .appeal_points {
    gap: 5vw 5%;
  }
  .sec_price .appeal_points li {
    padding: 40px 15px 25px;
  }
  .sec_price .appeal_points li .icon_check {
    width: 40px;
    top: -22px;
  }
  .sec_price .price_detail {
    margin-top: 5vw;
    padding-top: 10.5vw;
  }
  .sec_price .price_detail .price_ttl {
    margin-bottom: 2.5vw;
  }
  .sec_price .price_detail .sub_ttl {
    margin-bottom: 3.5vw;
  }
  .sec_price .price_table {
    margin-bottom: 5vw;
  }
  .sec_price .service_in li img {
    width: 50px;
  }
}
@media only screen and (max-width: 568px) {
  .sec_price {
    background: url(../img/common/sec_bg_stripe_sp.png) no-repeat top right;
  }
  .sec_price .ttl_underbar_set {
    margin: 0 -0.5em 32px;
  }
  .sec_price .ttl_underbar_set .main_txt::before {
    width: 1.3em;
    height: 1.7em;
  }
  .sec_price .appeal_points {
    margin-top: 45px;
    gap: 38px 0;
  }
  .sec_price .appeal_points li {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 23px 15px 18px;
    border-radius: 10px;
  }
  .sec_price .appeal_points li .ttl {
    font-size: 5.5vw;
    width: 100%;
  }
  .sec_price .appeal_points li .image {
    width: 118px;
    margin-left: -10px;
  }
  .sec_price .appeal_points li p {
    width: calc(100% - 108px - 10px);
  }
  .sec_price .price_detail {
    margin-top: 40px;
    padding-top: 60px;
  }
  .sec_price .price_detail .price_ttl {
    font-size: 18px;
    margin: 0 -10px 20px;
  }
  .sec_price .price_detail .price_ttl .fukidashi {
    font-size: 4vw;
    padding: 3px 13px;
    border: 1px solid var(--site-primary);
    filter: drop-shadow(0 4px 0 rgb(255, 243, 116));
    margin-bottom: 6px;
  }
  .sec_price .price_detail .price_ttl .fukidashi::after {
    border: 1px solid;
    border-color: var(--site-primary) var(--site-primary) transparent transparent;
    width: 12px;
    height: 12px;
    bottom: -6px;
  }
  .sec_price .price_detail .price_ttl .circle {
    font-size: 13px;
    border-width: 1px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    top: -5px;
  }
  .sec_price .price_detail .price_ttl em {
    font-size: 9.5vw;
  }
  .sec_price .price_detail .sub_ttl {
    font-size: 18px;
    width: 90%;
    margin-bottom: 20px;
  }
  .sec_price .price_table {
    margin-bottom: 35px;
  }
  .sec_price .price_table th, .sec_price .price_table td {
    font-size: 14px;
  }
  .sec_price .price_table thead th {
    padding: 0.6em 0;
  }
  .sec_price .price_table thead th:nth-of-type(2), .sec_price .price_table thead th:nth-of-type(3) {
    border-width: 3px;
  }
  .sec_price .price_table tbody td {
    border-width: 3px;
    padding: 1.15em 0;
  }
  .sec_price .service_in {
    gap: 12px 4.4%;
    margin-bottom: 25px;
  }
  .sec_price .service_in li {
    font-size: 15px;
    width: 47.8%;
    border-radius: 5px;
    padding: 10px 0 10px 10px;
  }
  .sec_price .camp_bnr {
    margin-top: 40px;
  }
}
/*===============================================
 *	高価買取
===============================================*/
.sec_purchase .ttl_underbar_set .main_txt::before {
  background: url(../img/top/icon_glass.svg) no-repeat;
  background-size: contain;
  width: 1.4em;
  height: 1.4em;
}
.sec_purchase .back_txt .main_txt::after {
  content: "PURCHASE";
  color: #f2f2f2;
}
.sec_purchase .points {
  gap: 50px 5.5%;
}
.sec_purchase .points li {
  width: 39.4%;
  background: #dcf0f4;
  padding: 4em 38px 25px;
  position: relative;
}
.sec_purchase .points li span {
  font-size: min(2.2vw, 23px);
  color: #fff;
  background: #72bdc6;
  display: block;
  text-align: center;
  width: 50%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.25em 0 0.2em;
  border-radius: 0 0 5px 5px;
}
.sec_purchase .points li img {
  max-width: 340px;
  display: block;
  margin: 0 auto;
}
.sec_purchase .points li .ttl {
  font-size: min(2.4vw, 26px);
  margin: 15px 0 10px;
}
.sec_purchase .points li:last-child {
  width: 84.5%;
  display: grid;
  grid-template-columns: 39.8% 55%;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 5.2%;
       column-gap: 5.2%;
}
.sec_purchase .points li:last-child .ttl {
  grid-column: 2;
  grid-row: 1;
}
.sec_purchase .points li:last-child img {
  margin: 0;
  grid-column: 1;
  grid-row: 1/-1;
}
.sec_purchase .points li:last-child p {
  grid-column: 2;
  grid-row: 2;
}
.sec_purchase .item_box {
  margin-top: 65px;
}
.sec_purchase .item_box .ttl {
  font-size: min(3.0vw, 36px);
  background: #0b9cb7;
  padding: 0.5em 0;
  border-radius: 15px 15px 0 0;
}
.sec_purchase .item_box ul {
  border: 4px solid #94d3de;
  border-top: none;
  border-radius: 0 0 15px 15px;
  background: url(../img/common/bg_note.png);
  gap: 40px 0;
}
.sec_purchase .item_box ul li {
  width: 17.15%;
}
.sec_purchase .item_box .item_name {
  font-size: min(2.0vw, 22px);
  font-weight: 500;
  text-align: center;
  margin: 15px 0 8px;
}
.sec_purchase .item_box .example_list li {
  width: 30%;
}
.sec_purchase .item_box .example_list .item_name {
  /* text-align: left; */
}
.sec_purchase .item_box .example_list dl {
  gap: 15px;
}
.sec_purchase .item_box .example_list dt {
  font-size: 15px;
  background: var(--site-keycolor);
  padding: 0.5em 1.5em;
}
.sec_purchase .item_box .example_list dd {
  font-size: 2.25em;
  font-weight: 500;
}
.sec_purchase .item_box .example_list dd span {
  font-size: 0.6em;
}

@media only screen and (max-width: 1024px) {
  .sec_purchase .item_box .example_list dd {
    font-size: 2em;
  }
}
@media only screen and (max-width: 960px) {
  .sec_purchase .points {
    gap: 4vw 5.5%;
  }
  .sec_purchase .points li:last-child {
    width: 85%;
  }
  .sec_purchase .item_box {
    margin-top: 5vw;
  }
  .sec_purchase .item_box .example_list dl {
    gap: 10px;
  }
  .sec_purchase .item_box .example_list dt {
    font-size: 14px;
    padding: 0.5em 0.5em;
  }
  .sec_purchase .item_box .example_list dd {
    font-size: 1.6em;
  }
}
@media only screen and (max-width: 568px) {
  .sec_purchase .wide_box .ttl {
    margin: 0 -1em 0.5em;
  }
  .sec_purchase .points {
    gap: 25px 0;
  }
  .sec_purchase .points li {
    width: 100% !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px 0;
    padding: 50px 20px 18px;
  }
  .sec_purchase .points li span {
    font-size: 16px;
  }
  .sec_purchase .points li img {
    width: 56%;
    margin: 0;
  }
  .sec_purchase .points li .ttl {
    font-size: 5.0vw;
    text-align: center;
    width: 40%;
  }
  .sec_purchase .points li:last-child {
    display: block;
  }
  .sec_purchase .points li:last-child .ttl {
    width: 100%;
    margin-top: 0;
  }
  .sec_purchase .points li:last-child img {
    width: 100%;
    margin-bottom: 12px;
  }
  .sec_purchase .item_box {
    margin-top: 35px;
  }
  .sec_purchase .item_box .ttl {
    font-size: 6.0vw;
    border-radius: 10px 10px 0 0;
  }
  .sec_purchase .item_box ul {
    gap: 20px 0;
    border-radius: 0 0 10px 10px;
  }
  .sec_purchase .item_box ul li {
    width: 47.8%;
  }
  .sec_purchase .item_box ul li img {
    width: 90%;
    display: block;
    margin: 0 auto;
  }
  .sec_purchase .item_box .item_name {
    font-size: 4.3vw;
  }
  .sec_purchase .item_box .example_list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 0;
  }
  .sec_purchase .item_box .example_list li {
    width: 94%;
  }
  .sec_purchase .item_box .example_list li img {
    width: 100%;
  }
  .sec_purchase .item_box .example_list dd {
    font-size: 1.8em;
  }
}
/*===============================================
 *	作業事例
===============================================*/
.sec_case {
  background: url(../img/common/bg_dot_blue.png);
}
.sec_case .ttl_underbar_set .main_txt::before {
  background: url(../img/top/icon_tebukuro.svg) no-repeat;
  background-size: contain;
  width: 1.14em;
  height: 1.5em;
}
.sec_case .back_txt .main_txt::after {
  content: "CASE";
}
.sec_case .case_box .case_ttl {
  font-size: min(1.75vw, 30px);
  padding: 0.75em 4.5%;
  border-radius: 15px 15px 0 0;
  gap: 0 20px;
}
.sec_case .case_box .case_ttl img {
  width: min(8vw, 98px);
}
.sec_case .case_box .case_content {
  border-radius: 0 0 15px 15px;
}
.sec_case .case_box .photo_area {
  width: 50%;
}
.sec_case .case_box .photo_area ul {
  gap: 0 25px;
  position: relative;
}
.sec_case .case_box .photo_area ul::after {
  content: "";
  background: url(../img/top/yajirushi_right.png) no-repeat center;
  background-size: contain;
  width: 10%;
  height: 43px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sec_case .case_box .photo_area ul li {
  position: relative;
}
.sec_case .case_box .photo_area ul li img {
  border-radius: 8px;
}
.sec_case .case_box .photo_area ul li::after {
  content: "";
  width: 45%;
  height: 17%;
  position: absolute;
  left: -3.6%;
  bottom: 5%;
}
.sec_case .case_box .photo_area ul li:first-child::after {
  background: url(../img/top/label_before.svg) no-repeat;
  background-size: contain;
}
.sec_case .case_box .photo_area ul li:nth-child(2)::after {
  background: url(../img/top/label_after.svg) no-repeat;
  background-size: contain;
}
.sec_case .case_box .photo_area dl {
  border: 2px solid var(--site-primary);
  width: 48%;
  display: flex;
  margin-top: 30px;
  border-radius: 5px;
}
.sec_case .case_box .photo_area dl dt, .sec_case .case_box .photo_area dl dd {
  font-size: 18px;
  font-weight: 500;
  width: 50%;
  text-align: center;
  padding: 0.4em 0;
}
.sec_case .case_box .price_area {
  width: 45%;
}
.sec_case .case_box .price_area > .row {
  position: relative;
  gap: 0 5%;
}
.sec_case .case_box .price_area > .row::after {
  content: none;
  background: url(../img/top/icon_minus_02.svg) no-repeat;
  background-size: contain;
  width: 15px;
  height: 3px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sec_case .case_box .price_area dl {
  border-radius: 5px;
  width: 100%;
}
.sec_case .case_box .price_area dt, .sec_case .case_box .price_area dd {
  font-size: min(1.7vw, 20px);
  font-weight: 500;
  padding: 0.4em 0 0.5em;
}
.sec_case .case_box .price_area dt span {
  font-size: 0.75em;
}
.sec_case .case_box .price_area dd {
  padding: 0.2em 0.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: min(1.5vw, 17px);
}
.sec_case .case_box .price_area dd .num {
  font-size: 1.4em;
}
.sec_case .case_box .price_area .cost_box {
  border: 2px solid #999;
}
.sec_case .case_box .price_area .cost_box dt {
  background: #999;
}
.sec_case .case_box .price_area .cost_box dd {
  color: #999;
}
.sec_case .case_box .price_area .purchase_box {
  border: 2px solid #50b6d7;
  /* margin-bottom: 4%; */
}
.sec_case .case_box .price_area .purchase_box dt {
  background: #50b6d7;
}
.sec_case .case_box .price_area .purchase_box dd {
  color: #50b6d7;
}
.sec_case .case_box .price_area .arrow {
  display: block;
  width: 38px;
  margin: 9px auto;
}
.sec_case .case_box .price_area .total_box {
  border: 2px solid var(--site-keycolor);
  width: 100%;
}
.sec_case .case_box .price_area .total_box dt {
  font-size: 22px;
  background: var(--site-keycolor);
}
.sec_case .case_box .price_area .total_box dd {
  font-size: 26px;
}
.sec_case .case_box .customer_box {
  background: rgba(var(--site-palecolor-rgb), 0.4);
  border-radius: 8px;
  padding: 25px 40px 20px;
  margin-top: 40px;
}
.sec_case .case_box .customer_box .customer_photo {
  width: 122px;
  float: left;
  text-align: center;
  margin-right: 3.5%;
}
.sec_case .case_box .customer_box .customer_photo span {
  font-size: 15px;
  font-weight: 500;
  display: inline-block;
  margin-top: 5px;
}
.sec_case .case_box .customer_box p {
  margin-top: 10px;
}
.sec_case .case_box .staff_box {
  background: #f2f2f2;
  border-radius: 8px;
  padding: 25px 40px 25px;
  margin-top: 30px;
}
.sec_case .case_box .staff_box img {
  width: 200px;
  float: right;
  margin-left: 3.5%;
  border-radius: 5px;
}
.sec_case .case_box .staff_box .label {
  font-weight: 500;
  background: #b8ec4d;
  display: inline-block;
  padding: 0.2em 1em;
  margin-bottom: 8px;
  border-radius: 5px;
}
.sec_case .case_box .annotation_txt {
  margin-top: 15px;
}
.sec_case .case_box_ver02 .photo_area {
  width: 48%;
}
.sec_case .case_box_ver02 .photo_area dl {
  margin-top: 18px;
}
.sec_case .case_box_ver02 .price_area {
  width: 48%;
}
.sec_case .case_box_ver02 .price_area .ttl {
  font-size: min(2.5vw, 30px);
  margin: -0.35em 0 0.5em;
}
.sec_case .case_box_ver02 .price_area .ttl span {
  font-size: 0.75em;
  color: var(--site-secondary);
  margin-left: 0.5em;
}
.sec_case .case_box_ver02 .price_area dl {
  display: flex;
  align-items: center;
  width: 100%;
  border: none !important;
  margin-bottom: 12px;
}
.sec_case .case_box_ver02 .price_area dt {
  width: 45%;
  padding: 0.65em 0 0.65em;
}
.sec_case .case_box_ver02 .price_area dd {
  width: 55%;
}
.sec_case .case_box_ver02 .price_area .purchase_box {
  position: relative;
  margin-bottom: 30px;
}
.sec_case .case_box_ver02 .price_area .purchase_box dt {
  display: flex;
  flex-direction: column;
}
.sec_case .case_box_ver02 .price_area .purchase_box dt span {
  color: var(--site-secondary);
  font-size: 0.65em;
  background: #fff;
  margin: 5px 5% 0;
  padding: 0.65em 0;
}
.sec_case .case_box_ver02 .price_area .purchase_box::after {
  content: "";
  background: #e0e0e0;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: -15px;
}
.sec_case .case_box_ver02 .price_area .total_box dd {
  font-size: 20px;
}
.sec_case .case_box_ver02 .price_area:has(.info_wrapper) > .row::after {
  content: none;
}
.sec_case .case_box_ver02 .price_area:has(.info_wrapper) dt {
  padding: 0.4em 0 0.4em;
}
.sec_case .case_box_ver02 .price_area:has(.info_wrapper) dd {
  padding: 0.4em 0 0.4em;
}
.sec_case .case_box_ver02 .price_area .info_wrapper {
  margin-top: 30px;
}
.sec_case .case_box_ver02 .price_area .info_wrapper dl {
  border: 2px solid var(--site-primary) !important;
  width: 49%;
  align-items: initial;
}
.sec_case .case_box_ver02 .price_area .info_wrapper dt {
  font-size: 18px;
  text-align: center;
  width: 50%;
}
.sec_case .case_box_ver02 .price_area .info_wrapper dd {
  font-size: 18px;
  width: 50%;
}
.sec_case .case_box_ver02 .customer_box {
  margin-top: 30px;
}

.slider button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

.slider button.arrow-common {
  width: 60px;
  height: 60px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 5;
}

.slider button.arrow-next {
  background: url(../img/top/slider_next.svg) no-repeat;
  background-size: contain;
  right: 19%;
}

.slider button.arrow-prev {
  background: url(../img/top/slider_prev.svg) no-repeat;
  background-size: contain;
  left: 19%;
}

.slider-img {
  height: auto;
  opacity: 0.3;
  transform: scale(0.92);
  transition: opacity 0.5s, transform 0.5s;
  width: 100%;
}

.slider .slick-center {
  opacity: 1;
  transform: scale(1);
  max-width: 1120px;
}

@media only screen and (max-width: 1024px) {
  .slider button.arrow-next {
    right: 6%;
  }
  .slider button.arrow-prev {
    left: 6%;
  }
}
@media only screen and (max-width: 960px) {
  .sec_case .case_box .case_ttl {
    font-size: 2.5vw;
  }
  .sec_case .case_box .photo_area dl dt, .sec_case .case_box .photo_area dl dd {
    font-size: 14px;
  }
  .sec_case .case_box .price_area dl dt, .sec_case .case_box .price_area dl dd {
    font-size: 16px;
  }
  .sec_case .case_box .price_area .total_box dt {
    font-size: 18px;
  }
  .sec_case .case_box .price_area .total_box dd {
    font-size: 20px;
  }
  .sec_case .case_box_ver02 .price_area dl dt {
    font-size: 15px;
    width: 40%;
  }
  .sec_case .case_box_ver02 .price_area dl dd {
    font-size: 14px;
  }
  .sec_case .case_box_ver02 .price_area dl dd .num {
    font-size: 1.2em;
  }
  .sec_case .case_box_ver02 .price_area .total_box dt {
    font-size: 16px;
  }
  .sec_case .case_box_ver02 .price_area .total_box dd {
    font-size: 16px;
  }
  .sec_case .case_box_ver02 .price_area .info_wrapper {
    margin-top: 14px;
  }
  .sec_case .case_box_ver02 .price_area .info_wrapper dl {
    margin-bottom: 0;
  }
  .sec_case .case_box_ver02 .price_area .info_wrapper dt {
    font-size: 13px;
  }
  .sec_case .case_box_ver02 .price_area .info_wrapper dd {
    font-size: 13px;
  }
  .slider button.arrow-next {
    right: 3%;
  }
  .slider button.arrow-prev {
    left: 3%;
  }
}
@media only screen and (max-width: 568px) {
  .sec_case .case_box .case_ttl {
    font-size: 5.0vw;
    padding: 12px 14px;
    gap: 0 12px;
    border-radius: 10px 10px 0 0;
  }
  .sec_case .case_box .case_ttl img {
    width: 60px;
  }
  .sec_case .case_box .case_content {
    flex-direction: column;
    padding: 18px 16px 18px;
    border-radius: 0 0 10px 10px;
  }
  .sec_case .case_box .photo_area {
    width: 100%;
  }
  .sec_case .case_box .photo_area ul {
    gap: 0 4.8%;
  }
  .sec_case .case_box .photo_area ul::after {
    width: 17%;
  }
  .sec_case .case_box .photo_area ul li::after {
    width: 61%;
  }
  .sec_case .case_box .photo_area ul li img {
    border-radius: 5px;
  }
  .sec_case .case_box .photo_area dl {
    border-radius: 3px;
    margin-top: 16px;
  }
  .sec_case .case_box .photo_area dl dt, .sec_case .case_box .photo_area dl dd {
    font-size: 13px;
  }
  .sec_case .case_box .price_area {
    width: 100%;
    margin-top: 16px;
  }
  .sec_case .case_box .price_area dl {
    border-radius: 3px;
  }
  .sec_case .case_box .price_area dl dt, .sec_case .case_box .price_area dl dd {
    font-size: 3.8vw;
    padding: 3px 10px 4px;
  }
  .sec_case .case_box .price_area dd .num {
    font-size: 1.25em;
  }
  .sec_case .case_box .price_area .arrow {
    width: 36px;
    margin: 6px auto;
  }
  .sec_case .case_box .price_area .total_box dt {
    font-size: 4.0vw;
  }
  .sec_case .case_box .price_area .total_box dd {
    font-size: 5.0vw;
  }
  .sec_case .case_box .customer_box {
    border-radius: 5px;
    padding: 18px 18px;
    margin-top: 20px;
  }
  .sec_case .case_box .customer_box .customer_photo {
    width: 90px;
    margin-right: 13px;
  }
  .sec_case .case_box .customer_box .customer_photo span {
    font-size: 14px;
  }
  .sec_case .case_box .customer_box p {
    margin-top: -2px;
  }
  .sec_case .case_box .staff_box {
    padding: 62px 18px 18px;
    position: relative;
    margin-top: 20px;
  }
  .sec_case .case_box .staff_box img {
    width: 130px;
    margin-left: 5px;
    margin-bottom: 5px;
  }
  .sec_case .case_box .staff_box .label {
    position: absolute;
    top: 20px;
    left: 18px;
  }
  .sec_case .case_box .staff_box p {
    margin-top: -5px;
  }
  .sec_case .case_box .annotation_txt {
    margin-top: 8px;
  }
  .sec_case .case_box_ver02 .price_area .ttl {
    font-size: 20px;
    margin: 0 0 15px;
  }
  .sec_case .case_box_ver02 .price_area dl {
    margin-bottom: 7px;
  }
  .sec_case .case_box_ver02 .price_area dl dt {
    padding: 6px 0 6px;
    width: 36%;
  }
  .sec_case .case_box_ver02 .price_area dl dd {
    width: 64%;
    display: block;
    text-align: center;
  }
  .sec_case .case_box_ver02 .price_area .purchase_box {
    margin-bottom: 20px;
  }
  .sec_case .case_box_ver02 .price_area .purchase_box::after {
    bottom: -10px;
  }
  .sec_case .case_box_ver02 .price_area .total_box dd {
    font-size: 4.0vw;
  }
  .sec_case .case_box_ver02 .price_area .info_wrapper {
    margin: 8px 0 12px;
  }
  .sec_case .case_box_ver02 .price_area .info_wrapper dt {
    font-size: 12px;
  }
  .sec_case .case_box_ver02 .price_area .info_wrapper dd {
    font-size: 12px;
  }
  .sec_case .case_box_ver02 .customer_box {
    margin-top: 10px;
  }
  .slider button.arrow-common {
    top: 17.5%;
    transform: none;
  }
  .slider button.arrow-next {
    width: 30px;
    right: 3%;
  }
  .slider button.arrow-prev {
    width: 30px;
    left: 3%;
  }
}
/*===============================================
 *	作業事例 (TOP/市町村 その他の作業事例一覧) 
===============================================*/
.other_case {
  margin-top: 80px;
}

.case_list {
  gap: 50px 3%;
  margin-bottom: 30px;
}

.case_list li {
  width: 31%;
  position: relative;
}

.case_list li a {
  height: 100%;
  width: 100%;
  display: inline-block;
  position: relative;
}

.case_list li a::before {
  content: "";
  background: url(../img/common/sankaku_rightbottom_01.svg) no-repeat;
  background-size: contain;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.case_list li .ttl {
  font-size: 18px;
  padding: 20px 20px 22px;
}

.case_list li .content_inner {
  padding: 18px 26px 26px;
}

.case_list .date_time {
  font-size: 14px;
}

.case_list .date_time time {
  padding-left: 22px;
  background: url(../img/common/icon_clock.svg) no-repeat left center;
  background-size: 16px;
}

.case_list li .area_name {
  font-size: 14px;
  color: #222;
  border-left: 5px solid var(--site-secondary);
  padding-left: 10px;
  margin-bottom: 10px;
}

.case_list li .photo img {
  aspect-ratio: 1.618/1;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 5px;
}

.case_list li dl {
  width: 100%;
  border: 2px solid var(--site-primary);
  border-radius: 5px;
}

.case_list li dl dt {
  font-size: 14px;
  background: var(--site-primary);
  width: 25%;
  padding: 2px 0 3px;
}

.case_list li dl dd {
  font-size: 14px;
  font-weight: 500;
  color: var(--site-primary);
  width: 25%;
  padding: 2px 0 3px;
}

.case_list li .total_price {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  margin-top: 10px;
}

.case_list li .total_price .label {
  color: #fff;
  background: var(--site-keycolor);
  width: 52px;
  height: 52px;
  font-size: 14px;
  text-align: center;
  line-height: 52px;
  border-radius: 50px;
  margin-right: 8px;
}

.case_list li .total_price .price {
  font-size: 28px;
  color: var(--site-keycolor);
}

.case_list li .total_price .yen {
  font-size: 0.65em;
  margin-left: 3px;
}

.work_name {
  font-size: 18px;
  font-weight: 500;
  padding: 2px 0 4px;
  margin: 16px 0 12px;
  border-radius: 5px;
}

.work_name.work_huyou {
  background: #e97f5c;
}

.work_name.work_gomi {
  background: #49b09b;
}

.work_name.work_tokusyu {
  background: #4992c1;
}

.work_name.work_ihin {
  background: #74689b;
}

@media only screen and (max-width: 1024px) {
  .case_list {
    margin-top: 50px;
    gap: 40px 3%;
  }
  .case_list li .ttl {
    padding: 15px 20px 15px;
  }
  .case_list li dl dt {
    font-size: 12px;
  }
  .case_list li dl dd {
    font-size: 13px;
  }
  .case_list li .total_price .price {
    font-size: 24px;
  }
}
@media only screen and (max-width: 960px) {
  .other_case {
    margin-top: 6vw;
  }
  .other_case .case_list {
    justify-content: center;
    margin-top: 4vw;
  }
  .other_case .case_list li:nth-child(3) {
    display: none;
  }
  .case_list {
    gap: 30px 4%;
  }
  .case_list li {
    width: 48%;
  }
}
@media only screen and (max-width: 568px) {
  .other_case {
    margin-top: 40px;
  }
  .case_list {
    gap: 25px 0;
    margin-top: 35px;
  }
  .case_list li {
    width: 100%;
  }
  .case_list li .content_inner {
    padding: 15px 20px 25px;
  }
  .case_list li dl dt {
    font-size: 14px;
    padding: 3px 0 4px;
  }
  .case_list li dl dd {
    font-size: 15px;
  }
  .case_list li .total_price .price {
    font-size: 28px;
  }
  .work_name {
    margin: 15px 0 10px;
  }
}
/*===============================================
 *	環境保全取り組み
===============================================*/
.sec_eco {
  background: url(../img/top/bg_blue_curve.png) center bottom no-repeat;
}
.sec_eco .ttl_underbar_set .main_txt::before {
  background: url(../img/top/icon_eco.svg) no-repeat;
  background-size: contain;
  width: 1.42em;
  height: 1.36em;
}
.sec_eco .back_txt .main_txt::after {
  content: "ECOLOGY";
  color: #f2f2f2;
}
.sec_eco .other_company {
  background: #e6e6e6;
  border-radius: 15px;
  margin-top: 100px;
}
.sec_eco .other_company .ttl_bottom_sankaku {
  margin: -2.4em 0 1.5em;
}
.sec_eco .other_company dl {
  width: 48%;
}
.sec_eco .other_company dt {
  font-size: min(2.0vw, 25px);
  font-weight: 500;
  padding: 5% 9%;
}
.sec_eco .other_company dt span {
  display: block;
  padding: 0.25em 0;
  margin-bottom: 15px;
  border: 2px solid #222;
  border-radius: 50px;
}
.sec_eco .other_company dt img {
  width: 72px;
  margin: 0 5%;
}
.sec_eco .other_company dt p {
  font-weight: bold;
  line-height: 1.5;
}
.sec_eco .other_company dd {
  font-size: min(1.9vw, 23px);
  line-height: 1.5;
  padding: 0.75em 0;
}
.sec_eco .other_company .point_box {
  margin-top: 65px;
}
.sec_eco .other_company .point_box img {
  margin-top: -5%;
}
.sec_eco .other_company .point_box .main {
  line-height: 1.5;
}
.sec_eco .other_company .point_box .main em {
  font-size: 1.2em;
}
.sec_eco .other_company .point_box .sub {
  width: 75%;
  margin: -0.35em 0 0 auto;
}
.sec_eco .our_company {
  background: #e1f1ff url(../img/top/recycle_bg.png) no-repeat center bottom;
  margin-top: 100px;
  border-radius: 15px;
}
.sec_eco .our_company .ttl_bottom_sankaku {
  margin: -2.4em 0 1.5em;
}
.sec_eco .our_company .content_box .txt_box {
  width: 51.7%;
  padding-left: 3%;
}
.sec_eco .our_company .content_box img {
  width: 41.2%;
}
.sec_eco .our_company .content_box .ttl {
  font-size: min(2.2vw, 30px);
  line-height: 1.7;
  margin: 0.5em 0 0.5em;
  position: relative;
  z-index: 1;
}
.sec_eco .our_company .content_box .ttl span {
  padding: 0 10px;
}
.sec_eco .our_company .content_box .ttl::before {
  content: "";
  background: url(../img/top/bg_leaf.svg) no-repeat;
  background-size: contain;
  width: 2.8em;
  height: 3.6em;
  position: absolute;
  left: -1.4em;
  top: -0.8em;
  z-index: -1;
}
.sec_eco .our_company .recycle_list {
  margin: 40px 0 50px;
}
.sec_eco .our_company .recycle_list li {
  width: 15%;
  text-align: center;
}
.sec_eco .our_company .recycle_list li img {
  max-width: 142px;
  margin-bottom: 10px;
}
.sec_eco .our_company .recycle_list li p {
  font-weight: 500;
}
.sec_eco .our_company .white_box {
  padding: 30px 40px;
  margin-top: 65px;
  filter: drop-shadow(0 0 10px rgba(var(--site-primary-rgb), 0.15));
}
.sec_eco .our_company .white_box .box_ttl {
  font-size: min(2.2vw, 26px);
  padding: 0.5em 0;
}
.sec_eco .our_company .merit .row {
  padding: 35px 0;
  position: relative;
}
.sec_eco .our_company .merit .row:last-of-type {
  padding-bottom: 10px;
}
.sec_eco .our_company .merit .row:last-of-type::before {
  content: "";
  background: url(../img/common/dot_line.png) no-repeat;
  width: 100%;
  height: 4px;
  position: absolute;
  left: 0;
  top: 0;
}
.sec_eco .our_company .merit img {
  width: 32.6%;
  border-radius: 8px;
}
.sec_eco .our_company .merit .txt_box {
  width: 62.2%;
}
.sec_eco .our_company .merit .ttl {
  font-size: min(2.0vw, 24px);
  margin-bottom: 0.5em;
}
.sec_eco .our_company .sdgs_box .box_ttl {
  margin-bottom: 35px;
}
.sec_eco .our_company .sdgs_box img {
  width: 48.3%;
}
.sec_eco .our_company .sdgs_box .txt_box {
  width: 45.8%;
}
.sec_eco .our_company .sdgs_box .txt_box .sdgs_list {
  margin: 20px 0 30px;
}
.sec_eco .our_company .sdgs_box .ttl {
  font-size: min(2.0vw, 24px);
  margin-bottom: 0.5em;
}
.sec_eco .our_company .sdgs_box .sdgs_content {
  margin-bottom: 40px;
}
.sec_eco .our_company .links_wrapper .photo {
  width: 34.8%;
  text-align: center;
  background: #f2f2f2;
  padding: 30px 0 25px;
}
.sec_eco .our_company .links_wrapper .photo p {
  font-weight: 500;
  margin-top: 10px;
}
.sec_eco .our_company .links_wrapper .sdgs_list {
  width: 58.7%;
}
.sec_eco .our_company .sdgs_list li {
  margin-bottom: 8px;
}
.sec_eco .our_company .sdgs_list li::before {
  content: "";
  background: url(../img/common/arrow_right_green.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 5px;
  position: relative;
  top: 3px;
}
.sec_eco .our_company .sdgs_list .site_label {
  font-size: 18px;
  font-weight: 500;
  display: inline-block;
  background: #0b9cb7;
  padding: 0.25em 1em 0.3em;
  border-radius: 3px;
  margin-bottom: 10px;
}
.sec_eco .our_company .sdgs_list a {
  color: #222;
  font-weight: 500;
  word-break: break-all;
}
.sec_eco .our_company .sdgs_list a span {
  font-size: 14px;
  color: var(--site-secondary);
  display: inline-block;
}
.sec_eco .our_company .sdgs_list a:hover {
  color: var(--site-secondary);
}
.sec_eco .our_company .msg_area {
  padding: 55px 0 20px;
}
.sec_eco .our_company .msg_area p {
  font-size: min(2.4vw, 26px);
  font-weight: 500;
}
.sec_eco .our_company .msg_area .txt_white {
  font-size: min(2.6vw, 28px);
  line-height: 1.85;
  margin-top: 20px;
}
.sec_eco .our_company .msg_area .txt_white span {
  display: inline-block;
  margin-bottom: 10px;
  background: var(--site-secondary);
  padding: 0 15px;
}
.sec_eco .our_company .msg_area .txt_white span:nth-of-type(2) {
  padding-right: 0;
}
.sec_eco .our_company .msg_area .txt_white span:nth-of-type(3) {
  padding-left: 0;
}

@media only screen and (max-width: 960px) {
  .sec_eco .other_company {
    margin-top: 8vw;
  }
  .sec_eco .other_company .point_box {
    margin-top: 5vw;
  }
  .sec_eco .our_company {
    margin-top: 8vw;
  }
  .sec_eco .our_company .content_box .ttl {
    font-size: 2.8vw;
  }
  .sec_eco .our_company .recycle_list {
    margin: 2.5vw 0 3.5vw;
  }
  .sec_eco .our_company .white_box {
    margin-top: 5vw;
    padding: 3vw 4vw;
  }
  .sec_eco .our_company .merit .row {
    padding: 3vw 0;
  }
  .sec_eco .our_company .merit .ttl {
    font-size: 2.3vw;
  }
  .sec_eco .our_company .sdgs_box .box_ttl {
    margin-bottom: 3vw;
  }
  .sec_eco .our_company .sdgs_box .ttl {
    font-size: 2.3vw;
  }
  .sec_eco .our_company .sdgs_list .site_label {
    font-size: 15px;
  }
  .sec_eco .our_company .msg_area {
    padding: 5vw 0 2vw;
  }
}
@media only screen and (max-width: 568px) {
  .sec_eco {
    background: url(../img/common/sec_bg_stripe_sp.png) no-repeat right top, url(../img/top/recycle_bg_sp.png) no-repeat center bottom;
    background-size: auto, 100% auto;
  }
  .sec_eco .ttl_underbar_set {
    margin: 0 -0.5em 32px;
  }
  .sec_eco .ttl_underbar_set .main_txt::before {
    width: 1.92em;
    height: 1.85em;
  }
  .sec_eco .wide_box .ttl {
    margin: 0 -1em 0.5em;
  }
  .sec_eco .other_company {
    margin: 55px -5.3vw 0;
    border-radius: 0;
  }
  .sec_eco .other_company dl {
    border-radius: 5px;
  }
  .sec_eco .other_company dt {
    font-size: 15px;
    text-align: center;
    padding: 13px 12px 10px;
  }
  .sec_eco .other_company dt span {
    border-width: 1px;
  }
  .sec_eco .other_company dt .row {
    flex-direction: column;
    align-items: center;
  }
  .sec_eco .other_company dt img {
    width: 50px;
    margin: 0 0 8px;
  }
  .sec_eco .other_company dd {
    font-size: 16px;
    padding: 0.7em 0 0.8em;
  }
  .sec_eco .other_company .point_box {
    align-items: center;
    margin-top: 40px;
    margin-bottom: 10px;
    padding-top: 38px;
  }
  .sec_eco .other_company .point_box .main {
    line-height: 1.5;
  }
  .sec_eco .other_company .point_box .main em {
    font-size: 5.2vw;
  }
  .sec_eco .other_company .point_box .sub {
    width: 100%;
    margin: 15px 0 0;
  }
  .sec_eco .our_company {
    margin: 55px -5.3vw -5px;
    border-radius: 0;
    background: linear-gradient(0deg, rgba(220, 240, 247, 0) 0%, rgb(225, 241, 255) 10%);
    padding-bottom: 0;
  }
  .sec_eco .our_company .content_box {
    flex-direction: column;
  }
  .sec_eco .our_company .content_box img {
    width: 100%;
  }
  .sec_eco .our_company .content_box .txt_box {
    width: 100%;
  }
  .sec_eco .our_company .content_box .ttl {
    font-size: 5.8vw;
    margin: 20px 0 10px;
  }
  .sec_eco .our_company .recycle_list {
    margin: 20px 0 35px;
    gap: 16px 0;
  }
  .sec_eco .our_company .recycle_list li {
    width: 47.8%;
  }
  .sec_eco .our_company .recycle_list li img {
    width: 85%;
    margin-bottom: 6px;
  }
  .sec_eco .our_company .white_box {
    padding: 18px 18px;
  }
  .sec_eco .our_company .white_box .box_ttl {
    font-size: 5.2vw;
    padding: 0.35em 0;
  }
  .sec_eco .our_company .merit .row {
    flex-direction: column;
    padding: 18px 0;
  }
  .sec_eco .our_company .merit .row:last-of-type {
    padding-top: 24px;
  }
  .sec_eco .our_company .merit img {
    width: 100%;
  }
  .sec_eco .our_company .merit .txt_box {
    width: 100%;
  }
  .sec_eco .our_company .merit .ttl {
    font-size: 5.0vw;
    margin: 14px 0 10px;
  }
  .sec_eco .our_company .sdgs_box .box_ttl {
    margin-bottom: 18px;
  }
  .sec_eco .our_company .sdgs_box .sdgs_content {
    flex-direction: column;
    margin-bottom: 25px;
  }
  .sec_eco .our_company .sdgs_box img {
    width: 100%;
  }
  .sec_eco .our_company .sdgs_box .txt_box {
    width: 100%;
  }
  .sec_eco .our_company .sdgs_box .txt_box .sdgs_list {
    margin: 14px 0 25px;
  }
  .sec_eco .our_company .sdgs_box .ttl {
    font-size: 5.2vw;
    margin: 14px 0 10px;
  }
  .sec_eco .our_company .sdgs_list .site_label {
    font-size: 13px;
    margin-bottom: 8px;
  }
  .sec_eco .our_company .sdgs_list li {
    margin-bottom: 10px;
  }
  .sec_eco .our_company .sdgs_list li::before {
    width: 14px;
    height: 14px;
    top: 2px;
    margin-right: 2px;
  }
  .sec_eco .our_company .sdgs_list a span {
    display: none;
  }
  .sec_eco .our_company .sdgs_list a::after {
    content: "";
    background: url(../img/top/icon_link.svg) no-repeat;
    width: 15px;
    height: 15px;
    display: inline-block;
    position: relative;
    top: 2px;
    left: 2px;
  }
  .sec_eco .our_company .links_wrapper {
    flex-direction: column;
  }
  .sec_eco .our_company .links_wrapper .photo {
    width: 100%;
    padding: 20px 0 15px;
    margin-bottom: 20px;
  }
  .sec_eco .our_company .links_wrapper .photo img {
    width: 45%;
  }
  .sec_eco .our_company .links_wrapper .sdgs_list {
    width: 100%;
  }
  .sec_eco .our_company .msg_area {
    padding: 25px 0 0;
  }
  .sec_eco .our_company .msg_area p {
    font-size: 5.0vw;
  }
  .sec_eco .our_company .msg_area .txt_white {
    font-size: 5.8vw;
  }
  .sec_eco .our_company .msg_area .txt_white span {
    padding: 0 10px !important;
  }
  .sec_eco .btn_normal {
    width: 88vw;
  }
}
/*===============================================
 *	サービスの流れ
===============================================*/
.sec_flow {
  background: #f5f5f5;
}
.sec_flow .ttl_underbar_set .main_txt::before {
  background: url(../img/top/icon_list.svg) no-repeat;
  background-size: contain;
  width: 1.52em;
  height: 1.4em;
}
.sec_flow .back_txt .main_txt::after {
  content: "FLOW";
  color: #ebebeb;
}
.sec_flow li {
  display: grid;
  grid-template-columns: 27.3% 67.9%;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 4.8%;
       column-gap: 4.8%;
  padding: 30px 0 30px;
  position: relative;
  overflow: visible;
  margin-bottom: 45px;
}
.sec_flow li img {
  grid-column: 1;
  grid-row: 1/-1;
}
.sec_flow li .ttl {
  grid-column: 2;
  grid-row: 1;
  font-size: min(2.0vw, 24px);
  margin-bottom: 10px;
}
.sec_flow li .ttl .poppins {
  font-size: 0.83em;
  background: #b8ec4d;
  display: inline-block;
  padding: 0.1em 0.7em;
  border-radius: 3px;
  margin-right: 5px;
}
.sec_flow li p {
  grid-column: 2;
  grid-row: 2;
  padding-right: 7%;
}
.sec_flow li::after {
  content: "";
  background: url(../img/common/arrow_down_green.svg) no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  position: absolute;
  left: 50%;
  bottom: -22px;
  transform: translateX(-50%);
}
.sec_flow li:last-child {
  margin-bottom: 0;
}
.sec_flow li:last-child::after {
  content: none;
}

@media only screen and (max-width: 960px) {
  .sec_flow li .ttl {
    font-size: 2.5vw;
  }
}
@media only screen and (max-width: 568px) {
  .sec_flow li {
    grid-template-columns: 50.7% auto;
    grid-template-rows: auto 1fr;
    padding: 18px 0 18px;
    margin-bottom: 28px;
  }
  .sec_flow li img {
    grid-column: 1;
    grid-row: 1;
  }
  .sec_flow li .ttl {
    grid-column: 2;
    grid-row: 1;
    font-size: 5.0vw;
    align-self: center;
    margin-bottom: 0;
  }
  .sec_flow li .ttl .poppins {
    font-size: 12px;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 5px;
  }
  .sec_flow li p {
    grid-column: 1/-1;
    grid-row: 2;
    padding: 12px 16px 0;
  }
  .sec_flow li::after {
    width: 30px;
    height: 30px;
    bottom: -18px;
  }
}
/*===============================================
 *	よくあるご質問
===============================================*/
.sec_faq {
  background: #e0f2ff;
}
.sec_faq .ttl_underbar_set .main_txt::before {
  background: url(../img/top/icon_hatena.svg) no-repeat;
  background-size: contain;
  width: 1.4em;
  height: 1.4em;
}
.sec_faq .back_txt .main_txt::after {
  content: "FAQ";
  color: rgba(var(--site-palecolor-rgb), 0.5);
}
.sec_faq dl {
  padding: 30px 60px 18px;
  margin-bottom: 45px;
}
.sec_faq dt {
  position: relative;
  font-size: min(1.9vw, 22px);
  font-weight: 500;
  padding: 3% 0 3.5% 9%;
  border-bottom: 1px solid #ccc;
}
.sec_faq dt::before {
  content: "";
  background: url(../img/top/icon_question.svg) no-repeat;
  background-size: contain;
  width: 65px;
  height: 65px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.sec_faq dd {
  position: relative;
  padding: 3% 0 3% 9%;
  line-height: 1.75;
}
.sec_faq dd::before {
  content: "";
  background: url(../img/top/icon_answer.svg) no-repeat;
  background-size: contain;
  width: 65px;
  height: 65px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (max-width: 960px) {
  .sec_faq dl {
    padding: 2.5vw 4vw 1.5vw;
    margin-bottom: 3vw;
  }
  .sec_faq dt {
    font-size: 16px;
  }
  .sec_faq dt::before {
    width: 45px;
    height: 45px;
  }
  .sec_faq dd::before {
    width: 45px;
    height: 45px;
  }
}
@media only screen and (max-width: 568px) {
  .sec_faq {
    padding-bottom: 55px;
  }
  .sec_faq dl {
    padding: 10px 16px 10px;
    margin-bottom: 20px;
  }
  .sec_faq dt {
    font-size: 4.6vw;
    padding: 12px 0 12px 55px;
    min-height: 65px;
    display: flex;
    align-items: center;
  }
  .sec_faq dd {
    padding: 12px 0 12px 55px;
  }
  .sec_faq dd::before {
    top: 13px;
    transform: none;
  }
}
/*===============================================
 *	ゴミ屋敷にならないために
===============================================*/
.sec_knowledge {
  background: #e6e6e6;
}
.sec_knowledge .ttl_area {
  background: url(../img/common/bg_dot_green.png);
  text-align: center;
  position: relative;
}
.sec_knowledge .ttl_area .ttl {
  font-size: min(2.8vw, 34px);
  line-height: 1.8;
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 25px 0 25px;
}
.sec_knowledge .ttl_area .ttl em {
  font-size: 1.4em;
  letter-spacing: 0.7em;
  position: relative;
  padding-left: 1em;
}
.sec_knowledge .ttl_area .ttl em::before {
  content: "■■■■■■■";
  color: #e1ee00;
  position: absolute;
  font-size: 2em;
  top: -0.55em;
  left: 0.25em;
  letter-spacing: -0.15em;
  z-index: -1;
}
.sec_knowledge .ttl_area .ttl::before {
  content: "";
  background: url(../img/top/fukidashi_knowledge.svg) no-repeat;
  background-size: contain;
  width: min(10vw, 119px);
  height: 119px;
  position: absolute;
  left: -10%;
  top: -11%;
}
.sec_knowledge .ttl_area .person {
  width: min(17vw, 220px);
}
.sec_knowledge .box {
  padding: 40px 0;
  position: relative;
}
.sec_knowledge .box::before {
  content: "";
  background: url(../img/common/dot_line.png) repeat-x;
  width: 100%;
  height: 4px;
  position: absolute;
  left: 0;
  top: 0;
}
.sec_knowledge .box.point_01 {
  padding-top: 0;
}
.sec_knowledge .box.point_01::before {
  content: none;
}
.sec_knowledge .box img {
  width: 35.5%;
}
.sec_knowledge .box .txt_box {
  width: 58.5%;
}
.sec_knowledge .box .txt_box .ttl {
  font-size: min(2.0vw, 26px);
  margin: -0.2em 0 0.5em;
}
.sec_knowledge .box .txt_box .label {
  font-size: 0.7em;
  color: #222;
  background: #b9e7e5;
  display: inline-block;
  padding: 0.2em 0.75em;
  border-radius: 3px;
  margin-right: 10px;
  margin-bottom: 1em;
}
.sec_knowledge .msg_box {
  background: url(../img/top/knowledge_bg.jpg) no-repeat center top;
  background-size: cover;
  padding: 40px 0 42px;
  position: relative;
  border-radius: 130px;
  margin: 15px 0 10px;
}
.sec_knowledge .msg_box p {
  width: 70%;
  margin-left: 12%;
}
.sec_knowledge .msg_box .sub {
  font-size: 17px;
  margin-bottom: 12px;
}
.sec_knowledge .msg_box .main {
  font-size: min(2.5vw, 30px);
  font-weight: 500;
  display: inline;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  padding: 0 0.5em;
}
.sec_knowledge .msg_box .main span {
  padding: 0 0.5em;
}
.sec_knowledge .msg_box .main span:nth-of-type(2), .sec_knowledge .msg_box .main span:nth-of-type(4) {
  padding-left: 0;
  margin-left: -0.5em;
}
.sec_knowledge .msg_box::after {
  content: "";
  background: url(../img/top/knowledge_staff.png) no-repeat left bottom;
  background-size: contain;
  width: 23.8%;
  height: 243px;
  position: absolute;
  right: 12%;
  bottom: 0;
}

@media only screen and (max-width: 960px) {
  .sec_knowledge .box {
    padding: 3.5vw 0;
  }
  .sec_knowledge .box .txt_box .ttl {
    font-size: 2.4vw;
  }
  .sec_knowledge .msg_box {
    padding: 25px 0 30px;
  }
  .sec_knowledge .msg_box .sub {
    font-size: 15px;
  }
}
@media only screen and (max-width: 568px) {
  .sec_knowledge {
    position: relative;
  }
  .sec_knowledge::before {
    content: "";
    background: url(../img/top/fukidashi_knowledge.svg) no-repeat;
    background-size: contain;
    width: 80px;
    height: 119px;
    position: absolute;
    left: 2%;
    top: -37px;
    z-index: 1;
  }
  .sec_knowledge .ttl_area {
    overflow: hidden;
    background-size: 35px;
  }
  .sec_knowledge .ttl_area .ttl {
    font-size: 5.8vw;
    padding: 16px 0 13px;
  }
  .sec_knowledge .ttl_area .ttl::before {
    content: none;
  }
  .sec_knowledge .ttl_area .ttl em {
    font-size: 1.2em;
  }
  .sec_knowledge .ttl_area .ttl span {
    font-size: 6.0vw;
    display: inline-block;
    line-height: 1.4;
    margin-top: 5px;
  }
  .sec_knowledge .ttl_area .person {
    position: absolute;
    width: 25%;
  }
  .sec_knowledge .ttl_area .person:nth-of-type(1) {
    left: -3%;
    bottom: 0;
  }
  .sec_knowledge .ttl_area .person:nth-of-type(2) {
    right: -3%;
    bottom: 0;
  }
  .sec_knowledge .box {
    flex-direction: column;
    padding: 24px 0 20px;
  }
  .sec_knowledge .box img {
    width: 100%;
    margin-bottom: 18px;
  }
  .sec_knowledge .box .txt_box {
    width: 100%;
  }
  .sec_knowledge .box .txt_box .label {
    padding: 0.25em 0.5em;
    margin-bottom: 8px;
  }
  .sec_knowledge .box .txt_box .ttl {
    font-size: 5.5vw;
  }
  .sec_knowledge .msg_box {
    padding: 25px 18px;
    border-radius: 0;
    margin: 10px -20px -20px;
    z-index: 1;
  }
  .sec_knowledge .msg_box .sub {
    width: 100%;
    margin: 0;
    margin-bottom: 20px;
  }
  .sec_knowledge .msg_box .main {
    font-size: 5.5vw;
    width: 100%;
    margin: 0;
  }
  .sec_knowledge .msg_box::after {
    background: url(../img/top/knowledge_staff_sp.png) no-repeat right bottom;
    background-size: contain;
    width: 43%;
    height: 144px;
    right: 1%;
    z-index: -1;
  }
}
/*===============================================
 *	悪徳業者にご注意ください
===============================================*/
.sec_attention {
  background: url(../img/common/bg_paper.jpg);
}
.sec_attention .ttl_area {
  background: url(../img/top/bg_skew_stripe.png) no-repeat center;
  background-size: cover;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 32px 0 32px;
}
.sec_attention .ttl_area img {
  width: min(8.0vw, 85px);
  margin-bottom: 13px;
}
.sec_attention .ttl_area .ttl {
  font-size: min(4.5vw, 50px);
  display: inline-block;
  position: relative;
}
.sec_attention .ttl_area .ttl::before, .sec_attention .ttl_area .ttl::after {
  content: "";
  width: 0.7em;
  height: 1.18em;
  position: absolute;
  top: 0.2em;
}
.sec_attention .ttl_area .ttl::before {
  background: url(../img/top/doubleline_left.svg) no-repeat;
  background-size: contain;
  left: -1.2em;
}
.sec_attention .ttl_area .ttl::after {
  background: url(../img/top/doubleline_right.svg) no-repeat;
  background-size: contain;
  right: -0.8em;
}
.sec_attention .top_txt {
  font-size: min(2.0vw, 24px);
}
.sec_attention .vendor_list {
  margin: 65px 0;
}
.sec_attention .vendor_list li {
  background: rgba(var(--site-palecolor-rgb), 0.4);
  width: 29.6%;
  padding: 0 30px 35px;
  position: relative;
}
.sec_attention .vendor_list li .ttl {
  font-size: min(2.0vw, 22px);
  margin: 1.1em 0 0.8em;
}
.sec_attention .vendor_list li img {
  border-radius: 8px;
  margin-bottom: 15px;
}
.sec_attention .vendor_list li::before {
  content: "";
  background: url(../img/top/num_label01.svg) no-repeat top left;
  background-size: contain;
  width: 24.7%;
  height: 77px;
  position: absolute;
  left: 0;
  top: 0;
}
.sec_attention .vendor_list li:nth-child(2)::before {
  background: url(../img/top/num_label02.svg) no-repeat top left;
  background-size: contain;
}
.sec_attention .vendor_list li:nth-child(3)::before {
  background: url(../img/top/num_label03.svg) no-repeat top left;
  background-size: contain;
}
.sec_attention .middle_txt {
  font-size: min(2.0vw, 24px);
}
.sec_attention .arrow {
  width: 80px;
  display: block;
  margin: 20px auto 40px;
}
.sec_attention .check_box {
  border: 6px solid var(--site-palecolor);
  border-bottom: none;
}
.sec_attention .check_box ul {
  gap: 40px 5.5%;
  padding: 55px 0 50px;
}
.sec_attention .check_box ul li {
  width: 21.4%;
  text-align: center;
  position: relative;
}
.sec_attention .check_box ul li img {
  max-width: 170px;
}
.sec_attention .check_box ul li span {
  font-size: min(2.0vw, 22px);
  background: #48cb7e;
  display: block;
  padding: 0.3em 0;
  text-align: center;
  border-radius: 50px;
  margin-top: -20px;
  position: relative;
  z-index: 10;
}
.sec_attention .check_box ul li::before {
  content: "";
  background: url(../img/common/icon_check03.svg) no-repeat;
  background-size: contain;
  width: min(25%, 55px);
  height: 55px;
  position: absolute;
  top: 2%;
  left: 5%;
}
.sec_attention .bottom_txt {
  font-size: min(2.0vw, 25px);
  font-weight: 500;
  background: var(--site-palecolor);
  padding: 1em 0 1em 9em;
  position: relative;
}
.sec_attention .bottom_txt::before {
  content: "";
  background: url(../img/top/person_03.png) no-repeat bottom left;
  background-size: contain;
  width: 7.52em;
  height: 198px;
  position: absolute;
  left: 1.5em;
  bottom: 0;
}

@media only screen and (max-width: 1024px) {
  .sec_attention .vendor_list {
    margin: 5vw 0;
  }
  .sec_attention .check_box ul {
    padding: 4.5vw 0 4vw;
  }
}
@media only screen and (max-width: 960px) {
  .sec_attention .ttl_area {
    padding: 25px 0 23px;
  }
  .sec_attention .ttl_area img {
    width: 55px;
  }
  .sec_attention .ttl_area .ttl {
    font-size: 4vw;
  }
  .sec_attention .vendor_list li {
    width: 31%;
    padding: 0 16px 35px;
  }
  .sec_attention .arrow {
    width: 60px;
    margin: 20px auto 4vw;
  }
}
@media only screen and (max-width: 568px) {
  .sec_attention .ttl_area {
    background: url(../img/top/bg_skew_stripe_sp.png) no-repeat center;
    background-size: cover;
    padding: 20px 0;
  }
  .sec_attention .ttl_area img {
    width: 50px;
    margin-bottom: 10px;
  }
  .sec_attention .ttl_area .ttl {
    font-size: 6.2vw;
  }
  .sec_attention .top_txt {
    font-size: 4.5vw;
    margin: -20px 0 0;
  }
  .sec_attention .vendor_list {
    flex-direction: column;
    gap: 30px 0;
    margin: 30px 0 30px;
  }
  .sec_attention .vendor_list li {
    width: 100%;
    padding: 0 30px 18px;
  }
  .sec_attention .vendor_list li .ttl {
    font-size: 5.8vw;
    margin: 18px 0 15px;
  }
  .sec_attention .middle_txt {
    font-size: 18px;
  }
  .sec_attention .arrow {
    width: 50px;
    margin: 10px auto 20px;
  }
  .sec_attention .check_box {
    border-width: 3px;
  }
  .sec_attention .check_box ul {
    padding: 20px 16px;
    gap: 25px 4.4%;
  }
  .sec_attention .check_box ul li {
    width: 47.8%;
  }
  .sec_attention .check_box ul li span {
    font-size: 16px;
    margin-top: -15px;
  }
  .sec_attention .check_box ul li img {
    width: 86%;
  }
  .sec_attention .bottom_txt {
    font-size: 4.5vw;
    line-height: 1.5;
    padding: 12px 0 12px 125px;
  }
  .sec_attention .bottom_txt::before {
    width: 110px;
    height: 120px;
    left: 4px;
  }
}
/*===============================================
 *	先延ばしにすると様々な問題が発生
===============================================*/
.sec_trouble {
  background: url(../img/top/trouble_bg_01.png) no-repeat bottom left, url(../img/top/trouble_bg_02.png) no-repeat bottom right, url(../img/common/bg_dot_blue.png);
}
.sec_trouble .sec_ttl {
  font-size: min(4.5vw, 50px);
}
.sec_trouble .sec_ttl .txt_white {
  font-size: 0.52em;
  display: inline-block;
  padding: 0.35em 1.5em;
  border-radius: 50px;
}
.sec_trouble .sec_ttl .txt_primarycolor {
  --border-w: 0.08em;
  --bg-color: rgba(255, 255, 255, 0);
  --border-color: var(--site-primary);
  display: inline-block;
  padding: 0.3em 0 0.35em;
  position: relative;
  background-color: var(--bg-color);
  background-clip: padding-box;
  border-bottom: solid 0.7em;
  -o-border-image: linear-gradient(var(--bg-color) 0 1%) 1;
     border-image: linear-gradient(var(--bg-color) 0 1%) 1;
  -webkit-clip-path: padding-box polygon(-10% -10%, -10% 100%, calc(50% - 0.4em) 100%, 50% calc(100% + 0.62em), calc(50% + 0.4em) 100%, 110% 100%, 110% -10%);
          clip-path: padding-box polygon(-10% -10%, -10% 100%, calc(50% - 0.4em) 100%, 50% calc(100% + 0.62em), calc(50% + 0.4em) 100%, 110% 100%, 110% -10%);
}
.sec_trouble .sec_ttl .txt_primarycolor::after {
  content: "";
  pointer-events: none;
  display: block;
  position: absolute;
  top: 0;
  bottom: -10px;
  right: 0;
  left: 0;
  box-sizing: content-box;
  height: calc(100% - var(--border-w));
  border-bottom: solid 0.7em var(--border-color);
  -webkit-clip-path: polygon(0 calc(100% + 0.007em - 0.7em), 0 calc(100% + var(--border-w) - 0.7em), calc(50% - 0.4em) calc(100% + var(--border-w) - 0.7em), 50% calc(100% + 1em - 0.7em), calc(50% + 0.4em) calc(100% + var(--border-w) - 0.7em), 100% calc(100% + var(--border-w) - 0.7em), 100% calc(100% + 0.007em - 0.7em), calc(50% + 0.4em - var(--border-w) * 0.3) calc(100% - 0.7em), 50% calc(100% + 0.62em - var(--border-w) * 0.3 - 0.7em), calc(50% - (0.4em - var(--border-w) * 0.3)) calc(100% - 0.7em));
          clip-path: polygon(0 calc(100% + 0.007em - 0.7em), 0 calc(100% + var(--border-w) - 0.7em), calc(50% - 0.4em) calc(100% + var(--border-w) - 0.7em), 50% calc(100% + 1em - 0.7em), calc(50% + 0.4em) calc(100% + var(--border-w) - 0.7em), 100% calc(100% + var(--border-w) - 0.7em), 100% calc(100% + 0.007em - 0.7em), calc(50% + 0.4em - var(--border-w) * 0.3) calc(100% - 0.7em), 50% calc(100% + 0.62em - var(--border-w) * 0.3 - 0.7em), calc(50% - (0.4em - var(--border-w) * 0.3)) calc(100% - 0.7em));
}
.sec_trouble .content_box {
  background: url(../img/common/bg_note.png);
  border: 4px solid #97d3df;
  margin-top: 40px;
}
.sec_trouble .content_box li {
  display: grid;
  grid-template-columns: 53% 41%;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 6%;
       column-gap: 6%;
  padding: 40px 0;
}
.sec_trouble .content_box li .ttl {
  grid-column: 1;
  grid-row: 1;
  font-size: min(2.2vw, 30px);
  line-height: 1.75;
  margin-bottom: 0.5em;
  position: relative;
  z-index: 1;
}
.sec_trouble .content_box li .ttl::after {
  font-family: "Poppins";
  font-size: 4.4em;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #c9e2e7;
  position: absolute;
  right: 0;
  top: -0.6em;
  z-index: -1;
}
.sec_trouble .content_box li .ttl span {
  background: #0b9db8;
  padding: 0 0.5em;
}
.sec_trouble .content_box li picture {
  grid-column: 2;
  grid-row: 1/-1;
}
.sec_trouble .content_box li picture img {
  border-radius: 15px;
}
.sec_trouble .content_box li p {
  grid-column: 1;
  grid-row: 2;
}
.sec_trouble .content_box li:nth-child(even) {
  grid-template-columns: 41% 53%;
}
.sec_trouble .content_box li:nth-child(even) .ttl {
  grid-column: 2;
}
.sec_trouble .content_box li:nth-child(even) picture {
  grid-column: 1;
}
.sec_trouble .content_box li:nth-child(even) p {
  grid-column: 2;
}
.sec_trouble .content_box li:nth-child(1) .ttl::after {
  content: "01";
}
.sec_trouble .content_box li:nth-child(2) .ttl::after {
  content: "02";
}
.sec_trouble .content_box li:nth-child(3) .ttl::after {
  content: "03";
}
.sec_trouble .content_box li:nth-child(4) {
  padding-bottom: 0;
}
.sec_trouble .content_box li:nth-child(4) .ttl::after {
  content: "04";
}
.sec_trouble .under_area {
  margin-top: 65px;
}
.sec_trouble .under_area > .center {
  font-size: min(2.8vw, 34px);
  font-weight: 500;
  margin-bottom: 1em;
}
.sec_trouble .under_area > .center span {
  position: relative;
}
.sec_trouble .under_area > .center span::before, .sec_trouble .under_area > .center span::after {
  content: "";
  width: 0.64em;
  height: 40px;
  position: absolute;
  top: 0.2em;
}
.sec_trouble .under_area > .center span::before {
  background: url(../img/common/line_blue_left.svg) no-repeat;
  background-size: contain;
  left: -1.5em;
}
.sec_trouble .under_area > .center span::after {
  background: url(../img/common/line_blue_right.svg) no-repeat;
  background-size: contain;
  right: -1.5em;
}
.sec_trouble .under_area .row {
  margin-bottom: 35px;
}
.sec_trouble .under_area .row .main_txt {
  font-size: min(3.8vw, 42px);
  font-weight: bold;
}
.sec_trouble .under_area .row .main_txt span {
  padding: 0 0.5em;
}
.sec_trouble .under_area .row img {
  width: 47%;
}

@media only screen and (max-width: 960px) {
  .sec_trouble .content_box {
    margin-top: 3.5vw;
  }
  .sec_trouble .content_box li {
    padding: 3.5vw 0;
  }
  .sec_trouble .content_box li .ttl {
    font-size: 2.6vw;
  }
  .sec_trouble .under_area {
    margin-top: 5vw;
  }
  .sec_trouble .under_area .row .main_txt {
    font-size: 3.5vw;
  }
}
@media only screen and (max-width: 568px) {
  .sec_trouble {
    background: url(../img/common/bg_dot_blue.png);
  }
  .sec_trouble .sec_ttl {
    font-size: 7.4vw;
    line-height: 1.35;
  }
  .sec_trouble .sec_ttl .txt_white {
    padding: 0.6em 1.5em;
    margin-bottom: 3px;
  }
  .sec_trouble .sec_ttl .txt_primarycolor {
    padding: 0.3em 0.6em 0.35em;
  }
  .sec_trouble .content_box {
    margin: 20px -5.3vw 0;
    border-width: 3px;
    border-right: none;
    border-left: none;
    border-radius: 0;
  }
  .sec_trouble .content_box li {
    display: block;
    padding: 20px 0;
  }
  .sec_trouble .content_box li .ttl {
    font-size: 5.7vw;
    margin-bottom: 15px;
  }
  .sec_trouble .content_box li .ttl::after {
    font-size: 3.8em;
    top: -0.7em;
  }
  .sec_trouble .content_box li picture {
    display: block;
    margin-bottom: 15px;
  }
  .sec_trouble .content_box li picture img {
    border-radius: 0;
  }
  .sec_trouble .content_box li:nth-child(odd) picture {
    margin-right: -20px;
  }
  .sec_trouble .content_box li:nth-child(even) .ttl {
    padding-left: 19%;
  }
  .sec_trouble .content_box li:nth-child(2) .ttl {
    padding-left: 13%;
  }
  .sec_trouble .content_box li:nth-child(even) .ttl::after {
    right: initial;
    left: -2%;
  }
  .sec_trouble .content_box li:nth-child(even) picture {
    margin-left: -20px;
  }
  .sec_trouble .content_box li:last-child {
    padding-bottom: 10px;
  }
  .sec_trouble .under_area {
    margin-top: 35px;
  }
  .sec_trouble .under_area > .center {
    font-size: 18px;
    margin-bottom: 12px;
  }
  .sec_trouble .under_area > .center span::before, .sec_trouble .under_area > .center span::after {
    top: 0;
  }
  .sec_trouble .under_area .row {
    flex-direction: column;
    margin-bottom: 20px;
  }
  .sec_trouble .under_area .row .main_txt {
    font-size: 6.8vw;
    text-align: center;
  }
  .sec_trouble .under_area .row img {
    width: 100%;
    margin-top: 22px;
  }
}
/*===============================================
 *	会社概要
===============================================*/
.sec_company .ttl_underbar_set .main_txt::before {
  background: url(../img/top/icon_building.svg) no-repeat;
  background-size: contain;
  width: 1.14em;
  height: 1.4em;
}
.sec_company .back_txt .main_txt::after {
  content: "COMPANY";
  color: #f2f2f2;
}
.sec_company .ttl_diamond {
  font-size: min(2.2vw, 32px);
}
.sec_company .greeting {
  margin-bottom: 80px;
}
.sec_company .greeting .txt_box {
  width: 53%;
}
.sec_company .greeting .txt_box .ttl {
  font-size: min(2.2vw, 28px);
  line-height: 1.75;
  margin-bottom: 0.75em;
}
.sec_company .greeting .txt_box .ttl span {
  padding: 0.1em 0.25em;
  display: inline-block;
  margin-bottom: 10px;
}
.sec_company .greeting img {
  width: 42%;
  filter: drop-shadow(12px 12px 0 var(--site-palecolor));
}
.sec_company .basic_table .map {
  margin-top: 10px;
}
.sec_company .basic_table .map iframe {
  width: 100%;
  height: 250px;
}
.sec_company .basic_table a {
  color: #222;
  text-decoration: underline;
  text-underline-offset: 5px;
}

@media only screen and (max-width: 960px) {
  .sec_company .ttl_diamond {
    font-size: 2.5vw;
  }
  .sec_company .greeting .txt_box .ttl {
    font-size: 2.6vw;
  }
}
@media only screen and (max-width: 568px) {
  .sec_company .ttl_diamond {
    font-size: 5.6vw;
  }
  .sec_company .greeting {
    flex-direction: column-reverse;
    margin-bottom: 40px;
  }
  .sec_company .greeting img {
    width: 97%;
  }
  .sec_company .greeting .txt_box {
    width: 100%;
  }
  .sec_company .greeting .txt_box .ttl {
    font-size: 5.2vw;
    margin: 35px 0 6px;
  }
  .sec_company .greeting .txt_box .ttl span {
    margin-bottom: 6px;
  }
  .sec_company .basic_table .map iframe {
    height: 160px;
  }
}
/*===============================================
 *	バナーエリア
===============================================*/
.sec_bnr {
  background: #f5f5f5;
}
.sec_bnr ul {
  gap: 35px 0;
}
.sec_bnr li {
  width: 48.2%;
}
.sec_bnr li:last-child {
  width: 100%;
}

@media only screen and (max-width: 568px) {
  .sec_bnr ul {
    gap: 20px 0;
  }
  .sec_bnr li {
    width: 100%;
  }
}
/*===============================================
 *	footer
===============================================*/
.footer_cv {
  background: #4c9be1;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  display: none;
}
.footer_cv .logo {
  width: 30.6%;
  margin-right: auto;
}
.footer_cv .hd_camp_bnr {
  width: 13%;
}
.footer_cv .hd_tel {
  color: #fff;
}
.footer_cv .hd_tel .tel_num::before {
  background: url(../img/common/free_dial02.svg) no-repeat;
  background-size: contain;
}
.footer_cv .hd_tel .under_txt ul li {
  font-size: min(1.3vw, 13px);
  color: var(--site-primary);
  background: #fff;
  border-radius: 2px;
}
.footer_cv .hd_contact_btns a {
  padding: 19px min(1.4vw, 20px);
}

.footer {
  padding-bottom: 100px;
}
.footer .footer_menu_area {
  background: rgba(var(--site-palecolor-rgb), 0.4);
}
.footer .footer_menu_area .inner {
  display: grid;
  grid-template-columns: 30.7% auto;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 7%;
       column-gap: 7%;
}
.footer .footer_menu_area .logo {
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 40px;
}
.footer .footer_menu_area .logo img {
  max-width: 480px;
}
.footer .footer_menu_area .company_info {
  grid-column: 1;
  grid-row: 2;
  background: rgba(255, 255, 255, 0.55);
  padding: 5.8% 10%;
  align-self: flex-start;
}
.footer .footer_menu_area .company_info .name {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 5px;
}
.footer .footer_menu_area .company_info ul {
  margin-top: 15px;
}
.footer .footer_menu_area .company_info ul li {
  margin-bottom: 6px;
  line-height: 1.65;
}
.footer .footer_menu_area .company_info ul li a {
  color: #222;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.footer .footer_menu_area .company_info ul li a:hover {
  color: var(--site-secondary);
}
.footer .footer_menu_area .company_info ul li span::before {
  content: "";
  display: inline-block;
  background: var(--site-secondary);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 7px;
}
.footer .footer_menu_area .ft_menu {
  grid-column: 2;
  grid-row: 1/-1;
}
.footer .footer_menu_area .ft_menu .menu_top {
  font-size: min(1.7vw, 18px);
  font-weight: 500;
  margin-bottom: 10px;
}
.footer .footer_menu_area .ft_menu .menu_top::before {
  content: "";
  background: var(--site-secondary);
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 10px;
  margin-right: 10px;
}
.footer .footer_menu_area .ft_menu li {
  font-size: 15px;
  margin: 0 0 10px 25px;
  text-indent: -1em;
  padding-left: 1em;
}
.footer .footer_menu_area .ft_menu li a {
  padding-left: 16px;
  position: relative;
  color: #222;
}
.footer .footer_menu_area .ft_menu li a::before {
  content: "";
  background: url(../img/common/arrow_right_blue.svg) no-repeat;
  width: 7px;
  height: 10px;
  position: absolute;
  left: 0;
  top: 6px;
}
.footer .footer_menu_area .ft_menu li a:hover {
  color: var(--site-secondary);
}
.footer .footer_menu_area .home_link {
  font-size: 18px;
  font-weight: 500;
  background: url(../img/common/icon_home.svg) no-repeat center left;
  background-size: 20px 16px;
  padding-left: 28px;
  margin-bottom: 15px;
}
.footer .copyright {
  font-size: 14px;
  padding: 40px 0;
}
.footer .copyright a {
  color: #fff;
}
.footer .link_area .ttl_diamond {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 2.5em;
}
.footer .link_area .ttl_diamond span::before, .footer .link_area .ttl_diamond span::after {
  width: 15px;
  height: 15px;
  top: 0.3em;
}
.footer .link_area .ttl_diamond span::before {
  left: -1.5em;
}
.footer .link_area .ttl_diamond span::after {
  right: -1.2em;
}
.footer .link_area a:hover img {
  opacity: 0.9;
}
.footer .relation_links {
  margin: 80px auto 65px;
}
.footer .relation_links ul {
  gap: 25px 2.75%;
}
.footer .relation_links ul li {
  width: 17.8%;
}
.footer .recommend_links {
  margin-bottom: 80px;
}
.footer .recommend_links ul {
  gap: 20px 2%;
}
.footer .recommend_links ul li {
  width: 23.5%;
}

.footer .pagetop {
  position: fixed;
  bottom: 133px;
  right: 30px;
  z-index: 100;
  cursor: pointer;
  display: none;
}
.footer .pagetop a {
  display: block;
  background: #222;
  text-align: center;
  width: 60px;
  height: 60px;
  border-radius: 30px;
}
.footer .pagetop a:hover {
  background: #444;
}
.footer .pagetop img {
  width: 17px;
  position: relative;
  top: 11px;
}

@media only screen and (max-width: 1024px) {
  .footer_cv .inner_wide {
    width: 100%;
  }
  .footer_cv .logo {
    width: 30%;
  }
  .footer_cv .hd_camp_bnr {
    width: 10%;
  }
}
@media only screen and (max-width: 960px) {
  .footer_cv .logo {
    width: 24%;
    margin-left: 1vw;
  }
  .footer_cv .hd_camp_bnr {
    width: 14%;
    margin-right: 2vw;
  }
  .footer .footer_menu_area .inner {
    -moz-column-gap: 4%;
         column-gap: 4%;
  }
  .footer .footer_menu_area .company_info .name {
    font-size: 16px;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper {
    flex-direction: column;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li {
    font-size: 14px;
    width: 32%;
    margin: 0 0 10px 2px;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li a::before {
    top: 5px;
  }
  .footer .footer_menu_area .ft_menu .menu_top {
    font-size: 15px;
  }
  .footer .link_area .ttl_diamond {
    font-size: 16px;
    margin-bottom: 1.5em;
  }
  .footer .relation_links {
    margin: 6.5vw auto 4vw;
  }
  .footer .recommend_links {
    margin-bottom: 6.5vw;
  }
  .footer .copyright {
    font-size: 12px;
    padding: 3vw;
  }
}
@media only screen and (max-width: 568px) {
  .footer_cv {
    background: #4c9be1;
  }
  .footer_cv .inner_wide {
    flex-wrap: wrap;
  }
  .footer_cv .camp_txt {
    font-size: 3.8vw;
    font-weight: bold;
    width: 100%;
    background: var(--site-secondary);
    color: #e2ef00;
    padding: 2px 0;
  }
  .footer_cv .camp_txt span {
    position: relative;
  }
  .footer_cv .camp_txt span::before, .footer_cv .camp_txt span::after {
    content: "";
    width: 7px;
    height: 12px;
    position: absolute;
    bottom: 3px;
  }
  .footer_cv .camp_txt span::before {
    background: url(../img/common/yellow_line_left.svg) no-repeat;
    background-size: contain;
    left: -12px;
  }
  .footer_cv .camp_txt span::after {
    background: url(../img/common/yellow_line_right.svg) no-repeat;
    background-size: contain;
    right: -12px;
  }
  .footer_cv .hd_camp_bnr {
    display: none;
  }
  .footer_cv .hd_tel {
    display: flex;
    color: #222;
    background: #f0f5fc;
    padding: 2% 0 2% 12%;
    position: relative;
    border-radius: 5px;
    box-shadow: 0px 5px 0px 0px rgba(var(--site-primary-rgb), 0.3);
    width: 57vw;
    margin: 0 auto;
  }
  .footer_cv .hd_tel::before {
    content: "";
    background: url(../img/common/icon_tel.png) no-repeat;
    background-size: contain;
    width: 9vw;
    height: 9vw;
    position: absolute;
    left: 2%;
    top: 50%;
    transform: translateY(-50%);
  }
  .footer_cv .hd_tel .tel_num {
    font-size: 5.0vw;
  }
  .footer_cv .hd_tel .tel_num::before {
    width: 25px;
    height: 17px;
  }
  .footer_cv .hd_tel .under_txt {
    justify-content: flex-start;
  }
  .footer_cv .hd_tel .under_txt span {
    font-size: 2.8vw;
  }
  .footer_cv .hd_tel .under_txt ul {
    gap: 0 3px;
    margin-left: 5px;
  }
  .footer_cv .hd_tel .under_txt ul li {
    font-size: 2.8vw;
    color: var(--site-primary);
    background: rgba(var(--site-palecolor-rgb), 0.4);
    padding: 3px 3px;
  }
  .footer_cv .hd_tel .under_txt ul li:first-child {
    display: none;
  }
  .footer_cv .hd_contact_btns {
    display: flex;
    margin: 0;
  }
  .footer_cv .hd_contact_btns li {
    text-align: center;
  }
  .footer_cv .hd_contact_btns a {
    font-size: 10px;
    width: 18.6vw;
    height: 70px;
    padding: 19px 0;
  }
  .footer_cv .hd_contact_btns img {
    width: 20px;
  }
  .footer {
    padding-bottom: 99px;
  }
  .footer .footer_menu_area .inner {
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto;
  }
  .footer .footer_menu_area .logo {
    width: 80%;
    margin: -10px auto 25px;
  }
  .footer .footer_menu_area .company_info {
    grid-row: 3;
  }
  .footer .footer_menu_area .ft_menu {
    grid-column: 1;
    grid-row: 2;
    margin: 0 -5.3vw;
  }
  .footer .footer_menu_area .ft_menu .menu_top {
    font-size: 17px;
    color: #fff;
    background: rgba(var(--site-secondary-rgb), 0.75);
    text-align: center;
    padding: 7px 0 8px;
    margin: 0;
  }
  .footer .footer_menu_area .ft_menu .menu_top::before {
    content: none;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul {
    background: #f3f7fc;
    margin: 0;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li {
    width: 50%;
    margin: 0;
    border-bottom: 1px solid #d2dce8;
    text-indent: 0;
    padding-left: 0;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li:nth-child(odd) {
    border-right: 1px solid #d2dce8;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li:nth-last-of-type(1), .footer .footer_menu_area .ft_menu .menu_wrapper ul li:nth-child(odd):nth-last-of-type(2) {
    border-bottom: none;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li a {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li a::before {
    background: url(../img/common/arrow_right_blue_02.svg) no-repeat;
    width: 15px;
    height: 15px;
    left: initial;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
  .footer .footer_menu_area .company_info {
    margin-top: 35px;
    padding: 15px 20px 20px;
  }
  .footer .footer_menu_area .company_info .name {
    font-size: 18px;
  }
  .footer .footer_menu_area .company_info ul li {
    margin-bottom: 10px;
  }
  .footer .footer_menu_area .company_info ul li span::before {
    width: 8px;
    height: 8px;
  }
  .footer .link_area .ttl_diamond {
    margin-bottom: 15px;
  }
  .footer .relation_links {
    margin: 30px auto 25px;
  }
  .footer .relation_links ul {
    gap: 15px 3.5%;
  }
  .footer .relation_links ul li {
    width: 31%;
  }
  .footer .recommend_links {
    margin-bottom: 40px;
  }
  .footer .recommend_links ul {
    gap: 15px 3.5%;
  }
  .footer .recommend_links ul li {
    width: 48%;
  }
  .footer .copyright {
    font-size: 11px;
    padding: 15px 0 17px;
  }
  .footer .pagetop {
    position: static;
  }
  .footer .pagetop a {
    width: 100%;
    height: auto;
    padding: 12px 0;
    border-radius: 0;
  }
  .footer .pagetop img {
    top: -5px;
  }
}
/*===============================================
 *	下層ヘッダー・見出し
===============================================*/
.page_ttl_area {
  background: url(../img/common/bg_page_header.jpg) no-repeat center;
  background-size: cover;
  padding: min(6.0vw, 90px) 0 min(7.5vw, 100px);
  text-align: center;
}
.page_ttl_area .page_ttl {
  font-size: min(4.0vw, 42px);
  display: inline;
  line-height: 1.75;
}
.page_ttl_area .page_ttl span {
  display: inline-block;
}
.page_ttl_area .page_ttl .poppins {
  font-size: 0.65em;
  color: var(--site-secondary);
  display: block;
}
.page_ttl_area .page_ttl .bg_white {
  padding: 0 0.35em;
  margin-top: 10px;
  display: inline;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}
.page_ttl_area.service_ttl {
  padding: min(4.0vw, 60px) 0 0;
  background-position: top center;
  background-size: auto 75%;
  text-align: left;
}
.page_ttl_area.service_ttl .inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  justify-content: flex-end;
}
.page_ttl_area.service_ttl .inner picture {
  width: 69.6%;
  max-width: 780px;
  margin: 0 5% 0 -20%;
  filter: drop-shadow(8px 8px 0 rgba(var(--site-secondary-rgb), 0.3));
}
.page_ttl_area.service_ttl .inner picture img {
  border-radius: 0 0 min(10vw, 110px) 0;
}
.page_ttl_area.service_ttl .page_ttl {
  align-items: flex-start;
  margin-top: 4%;
}

.page_content_ttl {
  font-size: min(3.0vw, 32px);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: 8px solid var(--site-palecolor);
  padding: 0.35em 1.5em 0.45em;
  margin-bottom: 60px;
  position: relative;
  z-index: 1;
}
.page_content_ttl::before {
  content: "";
  width: 90%;
  height: 120%;
  background: #fafbfe;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.page_content_ttl em {
  font-size: 1.25em;
}

@media only screen and (max-width: 1024px) {
  .page_ttl_area.service_ttl .inner picture {
    margin: 0 5% 1.5% -15%;
  }
}
@media only screen and (max-width: 960px) {
  .page_content_ttl {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 568px) {
  .page_ttl_area {
    background: url(../img/common/bg_page_header_sp.jpg) no-repeat center;
    background-size: cover;
    padding: 34px 0 48px;
    text-align: center;
  }
  .page_ttl_area .page_ttl {
    font-size: 7.5vw;
  }
  .page_ttl_area .page_ttl .poppins {
    font-size: 15px;
  }
  .page_ttl_area .page_ttl .bg_white {
    margin-top: 6px;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
  }
  .page_ttl_area.service_ttl {
    background: url(../img/common/bg_service_header_sp.jpg) no-repeat top center;
    background-size: cover;
    padding: 0 0 40px;
  }
  .page_ttl_area.service_ttl .inner {
    flex-direction: column-reverse;
  }
  .page_ttl_area.service_ttl .inner picture {
    width: 95%;
    margin: 0 0 10px -5.3vw;
  }
  .page_ttl_area.service_ttl .inner picture img {
    border-radius: 0 0 80px 0;
  }
  .page_content_ttl {
    font-size: 5.32vw;
    border-width: 4px;
    padding: 0.1em 0 0.15em;
    width: 100%;
    margin-bottom: 20px;
  }
}
/*===============================================
 *	パンくず
===============================================*/
@font-face {
  font-family: "icon";
  src: url("../fonts/icon.eot?n1r1w2");
  src: url("../fonts/icon.eot?n1r1w2#iefix") format("embedded-opentype"), url("../fonts/icon.ttf?n1r1w2") format("truetype"), url("../fonts/icon.woff?n1r1w2") format("woff"), url("../fonts/icon.svg?n1r1w2#icon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.breadcrumbs_box {
  margin: -62px 0 70px;
}
.breadcrumbs_box span {
  font-size: 14px;
}
.breadcrumbs_box a {
  font-weight: 500;
}
.breadcrumbs_box i {
  font-size: 12px;
  padding: 0 10px;
}
.breadcrumbs_box.has_top_image {
  margin-left: -19%;
}

.iconarrow_right::before {
  content: "\e900";
  color: var(--site-secondary);
}
.top_intro_before .breadcrumbs_box {
  max-width: 1300px;
  margin: 25px auto 0;
  width: 95%;
}

@media only screen and (max-width: 1024px) {
  .breadcrumbs_box.has_top_image {
    margin-left: 0;
  }
}
@media only screen and (max-width: 960px) {
  .breadcrumbs_box {
    margin: -36px 0 40px;
  }
}
@media only screen and (max-width: 568px) {
  .breadcrumbs_box {
    display: none;
  }
}
/*===============================================
 *	下層サービスページ イントロセクション
===============================================*/
.service_intro_content .wide_box {
  margin-bottom: 10px;
}

@media only screen and (max-width: 568px) {
  .service_intro_content .wide_box {
    margin: 28px 0 0;
  }
}
/*===============================================
 *	下層サービスページ こんなお悩みありませんか？
===============================================*/
.service_problem {
  background: url(../img/common/bg_service_problem.jpg) no-repeat top center;
  background-size: cover;
}
.service_problem .sec_ttl {
  font-size: min(3.1vw, 37px);
  margin: 0 auto 1.2em;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.service_problem .sec_ttl::before, .service_problem .sec_ttl::after {
  content: "";
  width: 3.3em;
  height: 5.2em;
  position: absolute;
  bottom: -1.7em;
}
.service_problem .sec_ttl::before {
  background: url(../img/common/problem_illust_01.png) no-repeat;
  background-size: contain;
  left: -3.5em;
}
.service_problem .sec_ttl::after {
  background: url(../img/common/problem_illust_02.png) no-repeat;
  background-size: contain;
  right: -4em;
}
.service_problem .sec_ttl .line {
  font-size: 0.7em;
  position: relative;
  margin-bottom: 0.5em;
}
.service_problem .sec_ttl .line::before, .service_problem .sec_ttl .line::after {
  content: "";
  width: 0.77em;
  height: 1.34em;
  position: absolute;
  top: 0;
}
.service_problem .sec_ttl .line::before {
  background: url(../img/common/line_white_left.png) no-repeat;
  background-size: contain;
  left: -1.5em;
}
.service_problem .sec_ttl .line::after {
  background: url(../img/common/line_white_right.png) no-repeat;
  background-size: contain;
  right: -1.5em;
}
.service_problem .sec_ttl .size {
  background: #80bce7;
  border-radius: 50px;
  padding: 0 1em;
}
.service_problem .sec_ttl em {
  font-size: 1.2em;
}
.service_problem ul {
  padding: 2% 5%;
}
.service_problem ul li {
  font-size: min(1.9vw, 22px);
  color: var(--site-primary);
  width: 47.8%;
  padding: 1em 0 1em 1.9em;
  position: relative;
}
.service_problem ul li::before {
  content: "";
  background: url(../img/common/icon_check01.svg) no-repeat;
  background-size: contain;
  width: 1.36em;
  height: 1.36em;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.service_problem ul li::after {
  content: "";
  background: url(../img/common/dot_line.png) repeat-x;
  width: 100%;
  height: 4px;
  position: absolute;
  left: 0;
  bottom: 0;
}
.service_problem ul li:nth-last-child(1)::after, .service_problem ul li:nth-last-child(2)::after {
  content: none;
}

@media only screen and (max-width: 568px) {
  .service_problem {
    background: url(../img/common/bg_service_problem_sp.jpg) no-repeat top center;
    background-size: cover;
  }
  .service_problem .sec_ttl {
    font-size: 5.6vw;
    width: 100%;
    text-align: center;
    padding-bottom: 118px;
    margin-bottom: -15px;
  }
  .service_problem .sec_ttl .line {
    font-size: 0.8em;
  }
  .service_problem .sec_ttl .size {
    width: 100%;
    padding: 7px 0;
  }
  .service_problem .sec_ttl::before {
    content: none;
  }
  .service_problem .sec_ttl::after {
    background: url(../img/top/problem_illust.png) no-repeat;
    background-size: contain;
    width: 120px;
    height: 106px;
    bottom: 0;
    right: initial;
    left: 50%;
    transform: translateX(-50%);
  }
  .service_problem ul {
    padding: 5px 15px 0;
  }
  .service_problem ul li {
    width: 100%;
    font-size: 4.2vw;
  }
  .service_problem ul li:nth-child(2) {
    order: 4;
  }
  .service_problem ul li:nth-child(3) {
    order: 2;
  }
  .service_problem ul li:nth-child(4) {
    order: 5;
  }
  .service_problem ul li:nth-child(5) {
    order: 3;
  }
  .service_problem ul li:nth-child(5)::after {
    content: "";
  }
  .service_problem ul li:nth-child(6) {
    order: 6;
  }
}
/*===============================================
 *	下層サービスページ ○○にお任せください！
===============================================*/
.sec_solution {
  background: url(../img/top/features_bg.jpg) no-repeat top center;
  background-size: auto;
}
.sec_solution .ttl_box {
  background: url(../img/top/bg_skew_stripe.png) no-repeat center;
  background-size: cover;
  padding: 34px 0 30px;
  position: relative;
}
.sec_solution .ttl_box .ttl {
  font-size: min(3.5vw, 44px);
}
.sec_solution .ttl_box .ttl span {
  color: #e2ef00;
}
.sec_solution .ttl_box::after {
  content: "";
  background: var(--site-primary);
  width: 100px;
  height: 40px;
  position: absolute;
  bottom: -39px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.sec_solution ul {
  gap: 85px 0;
  margin-top: 40px;
}
.sec_solution ul li {
  background: rgba(var(--site-palecolor-rgb), 0.4);
  width: 29.6%;
  padding: 4.8% 3% 3%;
  position: relative;
  border-radius: 15px;
}
.sec_solution ul li .poppins {
  font-size: min(7.2vw, 88px);
  color: #8dbcec;
  letter-spacing: 0;
  position: absolute;
  left: 50%;
  top: -0.7em;
  transform: translateX(-50%);
}
.sec_solution ul li .ttl {
  font-size: min(2.1vw, 24px);
}
.sec_solution ul li img {
  border-radius: 5px;
  margin: 18px 0 18px;
}

@media only screen and (max-width: 960px) {
  .sec_solution ul li {
    width: 31%;
  }
}
@media only screen and (max-width: 568px) {
  .sec_solution {
    background: url(../img/top/features_bg_sp.jpg) no-repeat top center;
    background-size: auto;
  }
  .sec_solution .ttl_box {
    background: url(../img/top/bg_skew_stripe_sp.png) no-repeat center;
    background-size: cover;
    padding: 16px 0 20px;
  }
  .sec_solution .ttl_box .ttl {
    font-size: 6.2vw;
  }
  .sec_solution .ttl_box::after {
    width: 70px;
    height: 28px;
    bottom: -27px;
  }
  .sec_solution ul {
    gap: 65px 0;
  }
  .sec_solution ul li {
    width: 100%;
    padding: 43px 30px 28px;
  }
  .sec_solution ul li .poppins {
    font-size: 70px;
    top: -0.75em;
  }
  .sec_solution ul li .ttl {
    font-size: 5.8vw;
  }
}
/*===============================================
 *	下層サービスページ よくあるご質問
===============================================*/
.sec_faq.bg_gray {
  background: #f5f5f5;
}

/*===============================================
 *	下層サービスページ サービス一覧
===============================================*/
.sec_service_list {
  background: url(../img/common/bg_service_list.jpg) no-repeat top center;
  background-size: cover;
}
.sec_service_list .ttl_underbar_set .main_txt::before {
  content: none;
}
.sec_service_list .main_list {
  gap: 35px 2.6%;
}
.sec_service_list .main_list li {
  width: 23%;
}
.sec_service_list .main_list li a {
  background: #fff;
  display: flex;
  align-items: center;
  border-radius: 10px;
  padding: 16px 0 16px 15px;
  gap: 0 5%;
  box-shadow: 0px 5px 0px 0px rgba(var(--site-secondary-rgb), 0.35);
  position: relative;
}
.sec_service_list .main_list li a span {
  font-size: min(1.8vw, 20px);
  font-weight: 500;
  color: var(--site-primary);
  position: relative;
  z-index: 10;
}
.sec_service_list .main_list li a img {
  width: 43.6%;
}
.sec_service_list .main_list li a::after {
  content: "";
  background: url(../img/common/sankaku_rightbottom_01.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}
.sec_service_list .main_list li a:hover {
  background: rgba(255, 255, 255, 0.8);
}
.sec_service_list .other_list {
  gap: 25px 2.6%;
  margin-top: 55px;
}
.sec_service_list .other_list li {
  width: 23%;
}
.sec_service_list .other_list li a {
  font-size: min(1.8vw, 20px);
  font-weight: 500;
  line-height: 1.3;
  color: var(--site-primary);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: min(7vw, 76px);
  border-radius: 10px;
  box-shadow: 0px 5px 0px 0px rgba(var(--site-secondary-rgb), 0.35);
  position: relative;
}
.sec_service_list .other_list li a::after {
  content: "";
  background: url(../img/common/sankaku_rightbottom_01.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}
.sec_service_list .other_list li a:hover {
  background: rgba(255, 255, 255, 0.8);
}

@media only screen and (max-width: 568px) {
  .sec_service_list {
    background: url(../img/common/bg_service_list_sp.jpg) no-repeat top center;
    background-size: cover;
  }
  .sec_service_list .main_list {
    gap: 15px 4.4%;
    justify-content: flex-start;
  }
  .sec_service_list .main_list li {
    width: 47.8%;
  }
  .sec_service_list .main_list li a {
    padding: 8px 0 8px 10px;
    border-radius: 5px;
  }
  .sec_service_list .main_list li a img {
    width: 33.3%;
  }
  .sec_service_list .main_list li a span {
    font-size: 16px;
  }
  .sec_service_list .main_list li a::after {
    width: 13px;
    height: 13px;
    right: 6px;
    bottom: 6px;
  }
  .sec_service_list .other_list {
    gap: 15px 4.4%;
    margin-top: 30px;
  }
  .sec_service_list .other_list li {
    width: 47.8%;
  }
  .sec_service_list .other_list li a {
    font-size: 15px;
    border-radius: 5px;
    height: 45px;
  }
  .sec_service_list .other_list li a.size {
    font-size: 13px;
  }
  .sec_service_list .other_list li a::after {
    width: 13px;
    height: 13px;
    right: 6px;
    bottom: 6px;
  }
}/*# sourceMappingURL=common.css.map */

/*===============================================
 *	屋号変更案内
===============================================*/
.news_txt {
  background: var(--site-secondary);
  padding: 10px 0;
}
.news_txt p {
  text-align: center;
  color: #fff;
  font-weight: bold;
}

@media only screen and (max-width: 960px) {
  .news_txt {
    width: 100%;
  }
}

@media only screen and (max-width: 560px) {
  .news_txt p {
    font-size: 14px;
    line-height: 1.4;
  }
  .news_txt {
    margin-top: 0;
  }
}
/*===============================================
 *	POPUP LINE 2025/12/16 add
===============================================*/
.popup_line {position: fixed;top: 0;left: 0;display: none;align-items: center;justify-content: center;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.75);z-index: 999;}
.popup-banner {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);font-family: "GenEiMGothic";max-width: 670px;width: 100%;}
.popup-banner ul{background: #4080D4;border-radius: 20px 20px 0 0;display: flex;justify-content: space-between;align-items: center;padding: 20px 40px;}
.popup-banner li{color: #fff;font-size: 23px;padding: 0 0 0 2.5em;line-height: 1.2;position: relative;}
.popup-banner li::before{content: "";display: block;background: url("../img/top/popup/icon_chk.png") left no-repeat;background-size: contain;width: 46px;height: 46px;position: absolute;left: 0;top: 50%;transform: translateY(-50%);}
.mv_popup{position: relative;}
.mv_popup .txt_google{position: absolute;left: 50%;transform: translateX(-50%);bottom: 5%;font-size: 30px;font-weight: bold;display: flex;align-items: flex-start;justify-content: center;width: 68%;}
.mv_popup .txt_google img{max-width: 232px;margin-right: 5px;}
.mv_popup .txt_google > span{gap: 5px;display: flex;align-items: center;}
.mv_popup .txt_google::before,
.mv_popup .txt_google::after {
  content: "";
  width: 21px;
  height: 52px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.mv_popup .txt_google::before {
  background: url("../img/top/popup/left_leaf.png") no-repeat;
  background-size: contain;
  left: -5px;
}
.mv_popup .txt_google::after {
  background: url("../img/top/popup/right_leaf.png") no-repeat;
  background-size: contain;
  right: -5px;
}
.mv_popup .txt_google .txt_red{font-size: 38px;line-height: 1;}
.fuchidori {-webkit-text-stroke: 6px #fff;text-stroke: 6px #fff;paint-order: stroke;}
.popup_btn_box{background: #fff;border-radius: 0 0 20px 20px;padding: 30px;}
.popup_btn_box a:hover{opacity: .8;}
.popup-close {display: block;position: absolute;width: 70px;height: 70px;border-radius: 50%;background: #000;right: -40px;top: -40px;cursor: pointer;}
.popup-close:hover {opacity: .8;}
.popup-close::before, .popup-close::after {content: "";position: absolute;top: 50%;left: 50%;width: 4px;height: 40px;background: #fff;}
.popup-close::before {transform: translate(-50%,-50%) rotate(45deg);}
.popup-close::after {transform: translate(-50%,-50%) rotate(-45deg);}
.popup_line.active {display: block;}
.popup_line.hidden {display: none;}
@media only screen and (max-width: 568px) {
.popup-banner {width: 90%;}
.popup-banner ul {border-radius: 10px 10px 0 0;padding: 15px 12px;}
.popup-banner li {font-size: 13px;padding: 0 0 0 2em;}
.popup-banner li::before {width: 20px;height: 20px;}
.popup_btn_box {border-radius: 0 0 10px 10px;padding: 15px;}
.popup-close {width: 35px;height: 35px;right: -15px;top: -15px;}
.popup-close::before, .popup-close::after {width: 3px;height: 20px;}
  .mv_popup .txt_google {
    font-size: 16px;
    width: 72%;
  }
  .mv_popup .txt_google img {
    max-width: initial;
    width: 50%;
  }
  .mv_popup .txt_google .txt_red {
    font-size: 20px;
  }
  .mv_popup .txt_google::before,
  .mv_popup .txt_google::after {
    width: 14px;
    height: 32px;
  }
  .fuchidori {
    -webkit-text-stroke: 3px #fff;
    text-stroke: 3px #fff;
  }
}

/* ==========================
  モーダル（ポップアップ）
========================== */
body.modal-fixed {
  position: fixed;
  width: 100%;
  overflow: hidden;
}

.js_modalBtnWrap {
  margin: 0 auto 40px;
}
.js_modalBtnCont_20off {
  display: block;
  color: #222;
  background-color: #fff;
  transition: 0.3s;
}
.js_modalBtnCont_20off img{
  border-radius: 10px;
}
.js_modalBtnCont_20off:hover,
.js_modalBtnCont_20off:focus {
  opacity: .8;
}
.js_modalWrap_20off {
  display: none;
  z-index: 96;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.js_modalBG_20off {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}
.js_modalContInner_20off {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 720px;
  max-width: 100%;
  max-height: 100vh;
  overflow-y: auto;
  background-color: #f3e5d9;
  padding: 40px;
}
.js_modalCont_20off > * + * {
  margin-top: 20px;
}
.js_modalContInner_20off > .js_modalClose_20off + * {
  margin-top: 0;
}
.js_modalContInner_20off p{
  font-size: 15px;
}
.js_modalClose_20off {
  display: block;
  background: #fff;
  position: absolute;
  top: 10.5px;
  right: 10.5px;
  width: 30px;
  height: 30px;
  overflow: hidden;
  cursor: pointer;
  z-index: 1001;
}
.js_modalClose_20off::before,
.js_modalClose_20off::after {
  content: "";
  background-color: #222;
  position: absolute;
  top: 0;
  right: 15px;
  width: 2px;
  height: 30px;
}
.js_modalClose_20off::before {
  transform: rotate(45deg);
}
.js_modalClose_20off::after {
  transform: rotate(-45deg);
}
.bg_white_box_20off{
  background: #fff;
  padding: 2%;
}
.bg_white_box_20off.mag{
  margin-bottom: 20px;
}
.modal_ttl_20off {
  font-size: 20px;
  font-weight: bold;
  position: relative;
  padding: 0 0 .2em;
  margin-bottom: 10px;
  border-bottom: 2px solid #ff7f0f;
  text-align: center;
}
.modal_close_btn_20off {
  text-align: center;
  background: #fff;
  color: #333;
  border: 1px solid #ccc;
  padding: 12px 0;
  border-radius: 6px;
  font-size: 16px;
  cursor: pointer;
  margin-top: 20px;
  font-weight: bold;
}
.modal_close_btn_20off:hover {
  opacity: .8;
}
@media only screen and (max-width: 568px) {
  .js_modalWrap_20off {
    overflow-y: hidden;
  }
  .js_modalWrap_20off p{
    font-size: 15px;
  }
  .js_modalClose_20off {
    top: 100px;
  }
  .js_modalContInner_20off {
    width: 100%;
    max-height: 100vh;
    height: auto;
    padding: 140px 20px 100px;
    max-width: 720px;
    box-sizing: border-box;
  }
  .js_modalCont_20off > * + * {
    margin-top: 10px;
  }

  .bg_white_box_20off{
    padding: 4%;
  }
}


