@charset "UTF-8";
/*===============================================
 *	★★★重要★★★
===============================================*/
.kanren-huyouhin_chiba{display: none;}
/*===============================================
 *	ブラウザリセット
===============================================*/
@font-face {
  font-family: 'Noto Sans JP';
  font-style: bold;
  font-weight: 700;
  src: url("../fonts/NotoSansJP-Bold.woff2.html") format("woff2"), url("../fonts/NotoSansJP-Bold.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: 'Noto Sans JP';
  font-style: medium;
  font-weight: 500;
  src: url("../fonts/NotoSansJP-Medium.woff2.html") format("woff2"), url("../fonts/NotoSansJP-Medium.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: 'Robot';
  font-style: bold;
  font-weight: 700;
  src: url("../fonts/Roboto-Bold.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: 'Noto Sans JP', 'ヒラギノ角ゴ 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: bold;
  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.8;
}

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;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* --------------このサイトオリジナル設定--------------- */
a {
  color: #333;
  outline: none;
  text-decoration: none;
}

:root {
  --site-primary: #007fb1;
  --site-secondary: #e5f2f7;
  --site-keycolor: #df2935;
}

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

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

/*=============================================== *
	パターン
===============================================*/
.column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

.row-rev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.space-btw {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.space-around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.js-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.al-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.al-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.al-end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.al-base {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

/*===============================================

 *	common

===============================================*/
html body {
  background: #fff;
  color: #333;
  font-size: 17px;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.05em;
}

em {
  font-weight: bold;
}

.sp {
  display: none;
}

.inner {
  max-width: 1120px;
  margin: 0 auto;
  width: 100%;
  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;
}

.txt_yellow {
  color: #ffd800;
}

.underline_yellow {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(85%, transparent), color-stop(0%, #ffd800));
  background: linear-gradient(transparent 85%, #ffd800 0%);
  background-position-y: -4px;
  line-height: 0.7;
}

.robot {
  font-family: 'Robot';
}

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

.bg_white {
  background-color: #fff;
}

.bg_gray {
  background: #f5f5f5;
}

.bg_stripe_red {
  background: repeating-linear-gradient(-45deg, #cf1126 0, #cf1126 6px, #d21f33 6px, #d21f33 12px);
}

.bg_stripe_blue {
  background: url(../img/common/bg_stripe_blue.png) repeat;
}

.bg_stripe_lightblue {
  background: url(../img/common/bg_stripe_lightblue.png) repeat;
}

.bg_stripe_purple {
  background: url(../img/common/bg_stripe_purple.png) repeat;
}

.lg_inner_space {
  padding: 70px 0;
}

.md_inner_space {
  padding: 50px 50px;
}

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

.md_radius {
  border-radius: 20px;
  overflow: hidden;
}

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

.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;
}

.annotation_txt,.annotation_inner_txt {
  font-size: 14px;
  padding-left: 1em;
  text-indent: -1em;
  color: #9a9a9a;
}
@media screen and (min-width: 1025px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

@media only screen and (max-width: 1024px) {
  html body {
    font-size: 16px;
  }
  .inner {
    margin: 0 auto;
    max-width: initial;
    width: 94%;
  }
  .lg_inner_space {
    overflow: hidden;
  }
}

@media only screen and (max-width: 960px) {
  html body {
    font-size: 14px;
  }
  .lg_inner_space {
    padding: 5vw 0;
  }
  .md_inner_space {
    padding: 4vw 4vw;
  }
  .md_inner_space02 {
    padding: 3.5vw 4vw 4vw;
  }
  .annotation_txt,.annotation_inner_txt {
    font-size: 14px;
  }
}

@media only screen and (max-width: 768px) {
  html body {
    margin-top: 85px;
  }
}

@media only screen and (max-width: 568px) {
  html {
    scroll-padding-top: 65px;
  }
  html body {
    font-size: 15px;
    margin-top: 60px;
  }
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.5;
  }
  .inner {
    margin: 0 auto;
    width: 89.4vw;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .lg_inner_space {
    padding: 40px 0 40px;
  }
  .md_inner_space {
    padding: 20px 5.3vw;
  }
  .md_inner_space02 {
    padding: 20px 5.3vw 30px;
  }
  .md_radius {
    border-radius: 10px;
  }
  .sm_radius {
    border-radius: 10px;
  }
  .sp_side_margin {
    margin: 0 -5.3vw;
  }
  .sp_center {
    text-align: center;
  }
  .annotation_txt,.annotation_inner_txt {
    font-size: 12px;
  }
  .underline_yellow {
    border-width: 5px;
  }
}

.annotation_txt02{
  font-size: 14px;
}
@media only screen and (max-width: 568px) {
  .annotation_txt02 {
    font-size: 12px;
  }
}

/*===============================================
 *	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;
  }
}

/*===============================================
 *	パンくず
===============================================*/
@font-face {
  font-family: 'icon';
  src: url("../fonts/icon.eot%3Fn1r1w2");
  src: url("../fonts/icon.eot%3Fn1r1w2") format("embedded-opentype"), url("../fonts/icon.ttf%3Fn1r1w2") format("truetype"), url("../fonts/icon.woff%3Fn1r1w2") format("woff"), url("../fonts/icon.svg%3Fn1r1w2") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.breadcrumbs {
  margin: -46px 0 0;
}

.breadcrumbs i {
  font-size: 12px;
  padding: 0 10px;
}

.iconarrow_right:before {
  content: '\e900';
  color: var(--site-primary);
}

.breadcrumbs span {
  font-size: 16px;
}

.breadcrumbs a {
  color: var(--site-primary);
  font-weight: bold;
}

@media only screen and (max-width: 960px) {
  .breadcrumbs {
    margin: -25px 0 0;
  }
  .breadcrumbs span {
    font-size: 13px;
  }
}

@media only screen and (max-width: 568px) {
  .breadcrumbs {
    display: none;
  }
}

/*===============================================
 *	ボタン
===============================================*/
.btn_wrapper {
  margin-top: 40px;
  position: relative;
  z-index: 10;
}

.btn {
  max-width: 500px;
  border-radius: 100px;
  margin: 0 auto 4px;
  background: #02c39a;
  -webkit-box-shadow: 0px 5px 1px #009071;
          box-shadow: 0px 5px 1px #009071;
}

.btn a {
  font-size: 22px;
  display: block;
  padding: 15px;
  position: relative;
  background-size: 20px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.btn a::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
}

.btn a::after {
  content: '';
  background: url(../img/common/icon_arrow_right_white.svg) center no-repeat;
  background-size: contain;
  position: absolute;
  width: 10px;
  height: 16px;
  top: 50%;
  right: 30px;
  -webkit-transform: translate(0px, -50%);
          transform: translate(0px, -50%);
}

.btn:hover {
  background: #35cfae;
  -webkit-box-shadow: 0px 5px 1px #33a68d;
          box-shadow: 0px 5px 1px #33a68d;
}

.btn:hover a {
  color: #fff;
}

.btn_border {
  margin: 0 auto;
}

.btn_border a {
  color: var(--site-primary);
  background: #fff;
  border: 2px solid var(--site-primary);
  border-radius: 50px;
  font-size: 20px;
  font-weight: bold;
  display: block;
  text-align: center;
  padding: 12px 0 13px;
  position: relative;
}

.btn_border a::after {
  content: '';
  background: url(../img/common/icon_arrow_right_blue.svg) center no-repeat;
  background-size: contain;
  position: absolute;
  width: 10px;
  height: 16px;
  top: 50%;
  right: 30px;
  -webkit-transform: translate(0px, -50%);
          transform: translate(0px, -50%);
}

.btn_border a:hover {
  background: var(--site-primary);
  color: #fff;
  border-radius: 50px;
}

.btn_border a:hover::after {
  background: url(../img/common/icon_arrow_right_white.svg) center no-repeat;
  background-size: contain;
}

@media only screen and (max-width: 960px) {
  .btn_wrapper {
    margin-top: 4vw;
  }
  .btn {
    width: 54%;
  }
  .btn a {
    font-size: 18px;
  }
  .btn_border a {
    font-size: 16px;
    padding: 1.2vw 0 1.4vw;
  }
}

@media only screen and (max-width: 568px) {
  .btn_wrapper {
    margin-top: 25px;
    margin-bottom: 6px;
  }
  .btn {
    width: 74.6vw;
  }
  .btn a {
    font-size: 17px;
    padding: 8px 5% 10px;
  }
  .btn a::after {
    width: 8px;
    height: 13px;
    right: 16px;
    top: 52%;
  }
  .btn_border a {
    padding: 8px 0 10px;
  }
  .btn_border a::after {
    width: 8px;
    height: 16px;
    right: 16px;
  }
}

/*===============================================
 *	header
===============================================*/
.header_area {
  background: #fff;
  border-top: 5px solid var(--site-primary);
}

.header_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 26px 0 12px;
  width: 90vw;
  max-width: 1300px;
  margin: 0 auto;
}

.header_wrap .logo {
  max-width: 388px;
  width: 100%;
  height: auto;
}

.hd_tel {
  margin-left: auto;
}

.hd_line {
  margin-left: 10px;
}

.hd_mail {
  margin-left: 30px;
}

.global_nav ul {
  width: 90vw;
  max-width: 1300px;
  margin: 0 auto;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-top: 14px;
}

.global_nav ul li {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-bottom: 14px;
  position: relative;
}

.global_nav ul li:not(.gnavi_btn):hover::after {
  content: '';
  background: var(--site-primary);
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.global_nav ul li a {
  font-size: 16px;
  line-height: 1.4;
  font-weight: bold;
  display: block;
  text-align: center;
  border-left: 1px solid #e2e2e2;
  padding: 1px 0 2px;
}

.global_nav ul li:last-child a {
  border-right: 1px solid #e2e2e2;
}

.global_nav ul li.gnavi_btn {
  padding: 0;
  bottom: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}

.global_nav ul li.gnavi_btn a {
  padding: 0;
  margin: 0;
  border: none;
}

.global_nav ul li.gnavi_btn img {
  max-width: 175px;
}

.gnavi-fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
  background: #fff;
  border-bottom: 1px solid #e2e2e2;
}

@media only screen and (max-width: 1024px) {
  .header_wrap .logo {
    width: 32.7%;
  }
  .hd_tel {
    width: 30%;
  }
  .hd_line {
    width: 15%;
  }
  .hd_mail {
    width: 15%;
    margin-left: 15px;
  }
}

@media only screen and (max-width: 960px) {
  .header_wrap {
    width: 95vw;
  }
  .global_nav ul {
    width: 96vw;
  }
  .global_nav ul li a {
    font-size: 14px;
  }
}

@media only screen and (max-width: 768px) {
  .header_area {
    position: fixed;
    left: 0px;
    top: 0;
    width: 100%;
    z-index: 9999;
  }
  .header_wrap {
    padding: 12px 0 12px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 80px;
  }
  .header_wrap .logo {
    width: 40%;
  }
  .global_nav {
    display: none;
  }
  .hd_tel, .hd_line, .hd_mail {
    display: none;
  }
}

@media only screen and (max-width: 568px) {
  .header_wrap {
    width: 100%;
    height: auto;
    padding: 0;
    border-bottom: 1px solid #e2e2e2;
  }
  .header_wrap .logo {
    width: 78%;
    margin: 0 0 0 2%;
  }
}

/*===============================================
 *	SP MENU
===============================================*/
.menu_box {
  width: 60px;
  height: 60px;
  background: var(--site-primary);
  margin-left: auto;
  display: none;
}

.menu_btn {
  position: relative;
  height: 22px;
  top: 13px;
}

.menu_btn span {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 3px;
  background-color: #fff;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.menu_btn span:nth-child(1) {
  top: 0;
}

.menu_btn span:nth-child(2) {
  top: 10px;
}

.menu_btn span:nth-child(3) {
  bottom: 0;
}

.menu_btn span:not(.txt) {
  width: 25px;
}

.menu_btn span.txt {
  width: 100%;
  background: none;
  bottom: 0;
  text-align: center;
}

.menu_btn span.txt::after {
  content: 'メニュー';
  font-size: 10px;
  color: #fff;
}

.menu_box.active span:nth-child(1) {
  -webkit-transform: translate(-12px, 10px) rotate(-45deg);
          transform: translate(-12px, 10px) rotate(-45deg);
}

.menu_box.active span:nth-child(2) {
  opacity: 0;
}

.menu_box.active span:nth-child(3) {
  -webkit-transform: translate(-12px, -9px) rotate(45deg);
          transform: translate(-12px, -9px) rotate(45deg);
}

.menu_box.active span.txt::after {
  content: '閉じる';
}

.menu_content {
  background: #fff;
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 200;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  top: -110%;
  padding-bottom: 60px;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
}

.menu_content ul {
  border-top: 1px solid #e2e2e2;
}

.menu_content li {
  width: 100%;
}

.menu_content li a {
  font-size: 16px;
  font-weight: bold;
  display: block;
  position: relative;
  padding: 18px 0 18px 3%;
  border-bottom: 1px solid #e2e2e2;
}

.menu_content li a::after {
  content: '';
  background: url(../img/common/icon_arrow_right_blue.svg) no-repeat;
  width: 10px;
  height: 16px;
  position: absolute;
  right: 5%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.menu_content .cv_box {
  background: #e5f2f7;
  padding: 20px 0 20px;
}

.menu_content .cv_box .camp_ttl {
  background: #18bdc3;
  padding: 5px 0 7px;
  margin: 0 3% 15px;
}

.menu_content .cv_box p {
  font-size: 22px;
  font-weight: bold;
  -webkit-transform: skewX(-10deg);
          transform: skewX(-10deg);
}

.menu_content .cv_box p .txt_color {
  color: #f7f81f;
}

.menu_content.open {
  top: 85px;
}

@media only screen and (max-width: 768px) {
  .menu_box {
    display: block;
  }
}

@media only screen and (max-width: 568px) {
  .menu_content.open {
    top: 60px;
    z-index: 99999;
  }
  .menu_content li a {
    padding: 11px 0 11px 5.3vw;
  }
  .menu_content li a::after {
    width: 8px;
    height: 14px;
    right: 5.3vw;
  }
  .menu_content .cv_box {
    padding: 10px 0 10px;
  }
  .menu_content .cv_box .camp_ttl {
    padding: 0;
    margin: 0 3.5% 8px;
  }
  .menu_content .cv_box p {
    font-size: 14px;
  }
}

/*===============================================
 *	CVエリア（通常ver.）
===============================================*/
.cv_ttl_box {
  background: #006a94;
}

.cv_ttl_box .cv_ttl {
  color: #fff;
  font-size: 48px;
  padding: 19px 0 24px;
}

.cv_ttl_box .cv_ttl .size_small {
  font-size: 0.52em;
  border: 2px solid #fff;
  padding: 13px 22px 15px;
  position: relative;
  top: -10px;
  margin-right: 15px;
}

.cv_content {
  background: url(../img/common/bg_stripe_blue.png);
  padding: 30px 0 40px;
}

.cv_content .camp dt {
  color: #fff;
  background: #18bdc3 url(../img/common/cv_campaign_ttl_bg.png) no-repeat center;
  padding: 2px 0 3px;
}

.cv_content .camp dt p {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.cv_content .camp dd {
  background: #fff;
  padding: 6px 0 8px;
  position: relative;
}

.cv_content .camp dd p {
  font-size: 27px;
  font-weight: bold;
  -webkit-transform: skewX(-10deg);
          transform: skewX(-10deg);
  letter-spacing: 0.05em;
  margin-left: -40px;
}

.cv_content .camp dd .txt_color {
  font-size: 1.37em;
  color: #18bdc3;
}

.cv_content .camp dd::after {
  content: '';
  background: url(../img/common/icon_calc_cv.png) no-repeat;
  background-size: contain;
  width: 91px;
  height: 80px;
  position: absolute;
  top: -12px;
  right: 8.5%;
}

.cv_content .cv_box {
  background: url(../img/common/cv_bg.jpg) no-repeat center;
  margin-top: 25px;
  padding: 30px 40px;
  position: relative;
}

.cv_content .cv_box p {
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  background: #44a8c7;
  border-radius: 100px;
  padding: 2px 10px 5px;
}

.cv_content .cv_box::after {
  content: '';
  background: url(../img/common/cv_staff.png) no-repeat;
  background-size: contain;
  width: 326px;
  height: 298px;
  position: absolute;
  left: 4.5%;
  bottom: 0;
}

.cv_content .btn_box_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

.cv_content .btn_box_wrapper .btn_box {
  width: 61%;
  max-width: 633px;
  margin: 20px 0 0 auto;
}

.cv_content .btn_box_wrapper .btn_box .tel {
  margin-bottom: 20px;
}

.cv_content .btn_box_wrapper .btn_box div a {
  width: 48.7%;
  max-width: 308px;
}

@media only screen and (max-width: 1024px) {
  .cv_ttl_box .cv_ttl {
    font-size: 40px;
  }
  .cv_content .cv_box::after {
    width: calc(325px * 0.8);
    height: calc(298px * 0.8);
  }
  .cv_content .camp dd::after {
    right: 1.8%;
  }
}

@media only screen and (max-width: 960px) {
  .cv_ttl_box .cv_ttl {
    font-size: 29px;
  }
  .cv_content .camp dt p {
    font-size: 24px;
  }
  .cv_content .camp dd p {
    font-size: 22px;
    margin-left: 0;
  }
  .cv_content .camp dd::after {
    width: 59px;
    height: 52px;
    right: 19%;
    top: -45px;
  }
  .cv_content .cv_box {
    padding: 3vw 4vw;
  }
  .cv_content .cv_box p {
    font-size: 24px;
  }
  .cv_content .cv_box::after {
    width: calc(325px * 0.75);
    height: calc(298px * 0.75);
  }
}

@media only screen and (max-width: 568px) {
  .cv_ttl_box {
    background: url(../img/common/cv_bg_sp.jpg) no-repeat center;
    background-size: cover;
  }
  .cv_ttl_box .cv_ttl {
    font-size: 23px;
    line-height: 1.3;
    padding: 30px 0 12px;
    position: relative;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-shadow: #00678f 2px 0px 0px, #00678f 1.75517px 0.95885px 0px, #00678f 1.0806px 1.68294px 0px, #00678f 0.14147px 1.99499px 0px, #00678f -0.83229px 1.81859px 0px, #00678f -1.60229px 1.19694px 0px, #00678f -1.97998px 0.28224px 0px, #00678f -1.87291px -0.70157px 0px, #00678f -1.30729px -1.5136px 0px, #00678f -0.42159px -1.95506px 0px, #00678f 0.56732px -1.91785px 0px, #00678f 1.41734px -1.41108px 0px, #00678f 1.92034px -0.55883px 0px;
  }
  .cv_ttl_box .cv_ttl .size_small {
    font-size: 0.6em;
    display: inline-block;
    padding: 5px 15px 6px;
    top: 0;
    margin-bottom: 8px;
  }
  .cv_content {
    padding: 20px 0 30px;
  }
  .cv_content .inner::before {
    content: '';
    background: url(../img/common/cv_staff_sp.png) no-repeat;
    background-size: contain;
    width: 127px;
    height: 151px;
    position: absolute;
    top: -151px;
    right: 0;
  }
  .cv_content .camp dt {
    background: #18bdc3 url(../img/common/cv_campaign_ttl_bg_sp.png) no-repeat top center;
    background-size: contain;
    padding: 3px 0px 4px;
    position: relative;
    z-index: 10;
  }
  .cv_content .camp dt p {
    font-size: 19px;
    margin-left: -14px;
  }
  .cv_content .camp dt p span {
    position: relative;
  }
  .cv_content .camp dt p span::before {
    content: '';
    background: url(../img/common/icon_calc_cv.png) no-repeat;
    background-size: contain;
    width: 45px;
    height: 40px;
    position: absolute;
    right: -45px;
    top: 1px;
  }
  .cv_content .camp dd {
    padding: 10px 0px 12px;
  }
  .cv_content .camp dd p {
    font-size: 16px;
    line-height: 1.3;
    -webkit-transform: skewX(-10deg) translateX(6px);
            transform: skewX(-10deg) translateX(6px);
    letter-spacing: 0;
  }
  .cv_content .camp dd .txt_color {
    font-size: 1.25em;
  }
  .cv_content .camp dd::after {
    content: none;
  }
  .cv_content .cv_box {
    margin-top: 15px;
    padding: 17px 17px;
    background: #fff;
  }
  .cv_content .cv_box p {
    font-size: 14px;
    padding: 2px 5px 3px;
    border-radius: 0;
  }
  .cv_content .cv_box .btn_box_wrapper .btn_box {
    width: 100%;
    max-width: initial;
    margin: 10px 0 0 0;
  }
  .cv_content .cv_box .btn_box_wrapper .btn_box .tel {
    margin-bottom: 10px;
  }
  .cv_content .cv_box .btn_box_wrapper .btn_box div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .cv_content .cv_box .btn_box_wrapper .btn_box div a {
    width: 100%;
    max-width: initial;
  }
  .cv_content .cv_box .btn_box_wrapper .btn_box div a:first-child {
    margin-bottom: 10px;
  }
  .cv_content .cv_box::after {
    content: none;
  }
}

/*===============================================
 *	CVエリア（芸能人ver.）
===============================================*/
.cv_area.talent .cv_content .cv_box {
  background: url(../img/common/cv_bg_talent.jpg) no-repeat center;
}

.cv_area.talent .cv_content .cv_box::after {
  background: url(../img/common/cv_talent.png) no-repeat;
  background-size: contain;
  width: 337px;
  height: 260px;
  left: 5%;
}

@media only screen and (max-width: 1024px) {
  .cv_area.talent .cv_content .cv_box::after {
    width: calc(337px * 0.9);
    height: calc(260px * 0.9);
  }
}

@media only screen and (max-width: 960px) {
  .cv_area.talent .cv_content .cv_box::after {
    width: calc(337px * 0.75);
    height: calc(260px * 0.75);
    left: 3%;
  }
}

@media only screen and (max-width: 568px) {
  .cv_area.talent .cv_ttl_box {
    background: url(../img/common/cv_bg_talent_sp.jpg) no-repeat center;
    background-size: cover;
  }
  .cv_area.talent .cv_ttl_box .cv_ttl {
    font-size: 26px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
  .cv_area.talent .cv_ttl_box .cv_ttl .size_small {
    font-size: 0.58em;
    width: 100%;
    text-shadow: none;
    margin: 0 0 8px;
  }
  .cv_area.talent .cv_content {
    padding: 20px 0 0;
  }
  .cv_area.talent .cv_content .cv_box {
    background: #fff;
  }
  .cv_area.talent .cv_content .inner::before {
    content: none;
  }
  .cv_area.talent .cv_content .cv_talent {
    margin-top: 5px;
  }
}

/*--------------------------------
	  フッター
--------------------------------*/
footer {
  padding: 60px 0 100px;
}

footer > .inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 450px 56%;
      grid-template-columns: 450px 56%;
  -ms-grid-rows: auto auto auto;
      grid-template-rows: auto auto auto;
  -webkit-column-gap: calc(100% - (450px + 56%));
          column-gap: calc(100% - (450px + 56%));
}

footer .logo {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  max-width: 424px;
}

footer .company_info {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  border-radius: 10px;
  background: #e5f2f7;
  padding: 22px 28px 25px;
  margin: 42px 0 30px;
}

footer .company_info p, footer .company_info li {
  font-size: 16px;
}

footer .company_info .name {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 7px;
}

footer .company_info ul {
  margin-top: 10px;
}

footer .company_info li {
  margin-bottom: 2px;
}

footer .company_info li::before {
  content: '';
  display: inline-block;
  background: var(--site-primary);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 8px;
  position: relative;
  top: -3px;
}

footer .company_info a {
  border-bottom: 1px solid #aaa;
}

footer .car {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 3;
  grid-row: 3;
}

footer .ft_menu {
  -ms-grid-column: 2;
  grid-column: 2;
  grid-row: 1 / -1;
  padding-top: 3px;
}

footer .ft_menu .home_link {
  width: 100%;
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 18px;
}

footer .ft_menu .home_link a {
  position: relative;
  padding-left: 26px;
}

footer .ft_menu .home_link a::before {
  content: '';
  background: url(../img/common/icon_home.svg) no-repeat;
  width: 17px;
  height: 17px;
  position: absolute;
  top: 5px;
  left: 0;
}

footer .ft_menu ul {
  width: 33%;
}

footer .ft_menu li.menu_top {
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 10px;
  padding-left: 24px;
  position: relative;
}

footer .ft_menu li.menu_top::before {
  content: '';
  background: url(../img/common/icon_circle_arrow.svg) no-repeat;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 7px;
}

footer .ft_menu li:not(.menu_top) {
  font-size: 15px;
  padding-left: 16px;
  margin: 0 0 6px 27px;
  position: relative;
}

footer .ft_menu li:not(.menu_top) a:hover {
  color: var(--site-primary);
}

footer .ft_menu li:not(.menu_top)::before {
  content: '';
  background: url(../img/common/icon_arrow_right_blue.svg) no-repeat;
  width: 7px;
  height: 10px;
  position: absolute;
  left: 0;
  top: 8px;
}

footer .ft_talent {
  width: 270px;
  position: absolute;
  right: 0;
  bottom: 0;
}

footer .ft_talent p {
  font-size: 12px;
  line-height: 1.5;
  margin-top: 8px;
}

.copy {
  color: #fff;
  font-size: 13px;
  text-align: center;
  background: var(--site-primary);
  margin-top: 60px;
  padding: 20px 0;
}

.copy a {
  color: #fff;
}

.fixed_footer {
  background: #fff;
  border-top: 3px solid var(--site-primary);
  border-bottom: 3px solid var(--site-primary);
  width: 100%;
  position: fixed;
  bottom: 0;
  padding: 12px 0;
  display: none;
  z-index: 100;
}

.fixed_footer .footer_content {
  width: 90vw;
  max-width: 1300px;
  margin: 0 auto;
}

.fixed_footer .logo {
  width: 31%;
  max-width: 370px;
}

.fixed_footer .tel {
  width: 30%;
  max-width: 353px;
  margin-left: auto;
}

.fixed_footer .mail {
  margin-left: 30px;
  width: 14%;
  max-width: 160px;
}

.fixed_footer .line {
  margin-left: 10px;
  width: 14%;
  max-width: 160px;
}

.pagetop {
  display: none;
  position: fixed;
  bottom: 133px;
  right: 30px;
  z-index: 999;
}

.pagetop a {
  display: block;
  background-color: #999999;
  text-align: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.pagetop a img {
  width: 16px;
  position: relative;
  top: 6px;
}

@media only screen and (max-width: 1024px) {
  footer .company_info {
    padding: 20px 20px 25px;
  }
  footer > .inner {
    -ms-grid-columns: 42% 56%;
        grid-template-columns: 42% 56%;
    -webkit-column-gap: 2%;
            column-gap: 2%;
  }
  footer .ft_menu li:not(.menu_top) {
    font-size: 14px;
  }
}

@media only screen and (max-width: 960px) {
  footer {
    padding: 5vw 0 4vw;
  }
  footer > .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  footer .company_info {
    padding: 2.5vw 3vw;
    margin: 25px 0 25px;
  }
  footer .company_info .tel {
    margin-left: 10px;
  }
  footer .company_info img.car {
    display: none;
  }
  footer .ft_menu {
    padding: 0;
  }
  footer .ft_menu .home_link {
    margin-bottom: 2.0vw;
  }
  footer .ft_menu li.menu_top {
    font-size: 15px;
    padding-left: 22px;
    margin: 0px 0 5px 0;
  }
  footer .ft_menu li.menu_top::before {
    top: 5px;
  }
  footer .ft_talent {
    width: 225px;
    bottom: -50px;
  }
}

@media only screen and (max-width: 568px) {
  footer {
    padding: 30px 0 0;
  }
  footer > .inner {
    -ms-grid-columns: auto;
        grid-template-columns: auto;
    -ms-grid-rows: (auto)[4];
        grid-template-rows: repeat(4, auto);
  }
  footer .logo {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    width: 85%;
    display: block;
    margin: 0 auto 20px;
  }
  footer .company_info {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
    margin: 25px 0 25px;
    padding: 12px 19px 16px;
  }
  footer .company_info ul {
    margin-top: 6px;
  }
  footer .company_info p, footer .company_info li {
    font-size: 13px;
  }
  footer .company_info li {
    padding-left: 1.0em;
    text-indent: -1.0em;
  }
  footer .company_info li::before {
    width: 5px;
    height: 5px;
  }
  footer .company_info .name {
    margin-bottom: 4px;
  }
  footer .company_info .tel {
    margin: 0;
  }
  footer .car {
    display: none;
    margin-bottom: 30px;
  }
  footer .ft_menu {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    margin: 0 -5.3vw;
  }
  footer .ft_menu .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  footer .ft_menu ul {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  footer .ft_menu ul li.menu_top {
    font-size: 18px;
    background: var(--site-primary);
    color: #fff;
    text-align: center;
    padding: 9px 0 13px;
    width: 100%;
    margin: 0;
  }
  footer .ft_menu ul li.menu_top::before {
    content: none;
  }
  footer .ft_menu ul li:nth-child(even):not(.menu_top) {
    border-right: 1px solid #e2e2e2;
  }
  footer .ft_menu ul li:not(.menu_top) {
    width: 50%;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e2e2e2;
    line-height: 1.4;
    font-weight: bold;
  }
  footer .ft_menu ul li:not(.menu_top)::before {
    content: none;
  }
  footer .ft_menu ul li:not(.menu_top) a {
    width: 100%;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 16px;
  }
  footer .ft_menu ul li:not(.menu_top) a::before {
    content: '';
    background: url(../img/common/icon_arrow_right_blue.svg) no-repeat;
    width: 8px;
    height: 12px;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  footer .ft_talent {
    position: relative;
    bottom: initial;
    right: initial;
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 4;
    grid-row: 4;
    width: 83.6%;
    margin: 0 auto 20px;
  }
  .copy {
    margin: 0 0 105px;
    font-size: 11px;
    padding: 13px 0;
  }
  .pagetop {
    display: block;
    position: static;
  }
  .pagetop a {
    width: 100%;
    height: auto;
    padding: 10px 0;
    border-radius: 0;
  }
  .pagetop a img {
    vertical-align: middle;
    width: 21px;
    top: -2px;
  }
  .fixed_footer {
    background: #e5f2f7;
    border: none;
    padding: 10px 0 0;
  }
  .fixed_footer .camp {
    background: #18bdc3;
    margin: 0 2.65vw 8px;
  }
  .fixed_footer .camp p {
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    -webkit-transform: skewX(-10deg);
            transform: skewX(-10deg);
  }
  .fixed_footer .camp p .txt_color {
    color: #f7f81f;
  }
  .fixed_footer .footer_content {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .fixed_footer .tel {
    width: initial;
    max-width: initial;
    margin: 0;
  }
  .fixed_footer .mail {
    width: initial;
    max-width: initial;
    margin: 0;
  }
  .fixed_footer .line {
    width: initial;
    max-width: initial;
    margin: 0;
  }
}

/*===============================================
 *	汎用パーツ
===============================================*/
.half_box {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.half_box .txt_box {
  width: 48.3%;
  max-width: 540px;
}

.half_box .txt_box .ttl {
  font-size: 27px;
  line-height: 1.45;
  margin: -10px 0 14px;
}

.half_box .photo {
  width: 48.3%;
  max-width: 540px;
}

.ttl_section_top {
  font-size: 47px;
  line-height: 1.35;
  margin: -16px 0 36px;
}

.ttl_section_top .size_small {
  font-size: 0.78em;
}

.ttl_section_top .size_large {
  font-size: 1.27em;
}

.ttl_section_top .before_icon {
  font-size: 37px;
}

.line_side {
  position: relative;
}

.line_side::before, .line_side::after {
  content: '';
  width: 37px;
  height: 42px;
  position: absolute;
  top: 6px;
}

.line_side::before {
  background: url(../img/common/line_left_blue.png) no-repeat;
  background-size: contain;
  left: -55px;
}

.line_side::after {
  background: url(../img/common/line_right_blue.png) no-repeat;
  background-size: contain;
  right: -55px;
}

.ttl_stripe {
  font-size: 30px;
  color: #fff;
  background: url(../img/common/bg_stripe_blue.png);
  border-radius: 20px;
  padding: 0.4em 1.25em 0.6em;
}

.ttl_stripe.top_radius {
  border-radius: 20px 20px 0 0;
}

.ttl_stripe_color02 {
  font-size: 30px;
  color: #fff;
  background: url(../img/common/bg_stripe_purple.png);
  border-radius: 20px;
  padding: 0.4em 1.25em 0.6em;
}

.ttl_stripe_color02.top_radius {
  border-radius: 20px 20px 0 0;
}

.ttl_stripe_color03 {
  font-size: 30px;
  color: #fff;
  background: url(../img/common/bg_stripe_lightblue.png);
  border-radius: 20px;
  padding: 0.4em 1.25em 0.6em;
}

.ttl_stripe_color03.top_radius {
  border-radius: 20px 20px 0 0;
}

.ttl_left_border {
  font-size: 27px;
  position: relative;
  border-bottom: 2px solid #dde5e7;
  padding: 4px 0 10px 25px;
  margin-bottom: 30px;
}

.ttl_left_border::before {
  content: '';
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(127, 191, 216, 1.0)), color-stop(50%, rgba(127, 191, 216, 1.0)), color-stop(50%, #007fb1), to(#007fb1));
  /* background: linear-gradient(180deg, rgba(0, 66, 186, 0.5) 0%, rgba(0, 66, 186, 0.5) 50%, #007fb1 50%, #007fb1 100%); */
  height: 56%;
  width: 6px;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.ttl_left_border + p {
  margin-top: -5px;
}

.note_box {
  border: 4px solid #f1b7bd;
  padding: 20px 13%;
}

.note_box p {
  font-size: 15px;
  font-weight: bold;
  position: relative;
}

.note_box p::before {
  content: '';
  background: url(../img/common/icon_exclamation.svg) no-repeat;
  width: 44px;
  height: 44px;
  position: absolute;
  left: -64px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.wide_inner {
  width: 90vw;
  max-width: 1300px;
  margin: 0 auto;
}

@media only screen and (max-width: 1024px) {
  .ttl_section_top {
    font-size: 40px;
  }
  .ttl_section_top .before_icon {
    font-size: 32px;
  }
  .ttl_stripe_color02 {
    font-size: 28px;
  }
  .ttl_stripe_color03 {
    font-size: 28px;
  }
}

@media only screen and (max-width: 960px) {
  .ttl_section_top {
    font-size: 32px;
    margin: -6px 0 24px;
  }
  .ttl_section_top .before_icon {
    font-size: 28px;
  }
  .ttl_stripe {
    font-size: 24px;
  }
  .ttl_stripe_color02 {
    font-size: 24px;
    padding: 0.5em 1.25em 0.6em;
  }
  .ttl_stripe_color03 {
    font-size: 24px;
    padding: 0.5em 1.25em 0.6em;
  }
  .half_box .txt_box .ttl {
    font-size: 21px;
    margin: -7px 0 5px;
  }
  .line_side::before, .line_side::after {
    width: calc(37px * 0.7);
    height: calc(42px * 0.7);
    top: 2px;
  }
  .line_side::before {
    left: -32px;
  }
  .line_side::after {
    right: -32px;
  }
  .ttl_left_border {
    font-size: 21px;
    padding: 4px 0 6px 20px;
    margin-bottom: 20px;
  }
  .note_box {
    padding: 16px 3% 16px 13%;
  }
  .note_box p {
    font-size: 14px;
  }
}

@media only screen and (max-width: 568px) {
  .half_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .half_box .txt_box {
    width: 100%;
  }
  .half_box .photo {
    width: 100%;
  }
  .ttl_section_top {
    font-size: 29px;
    line-height: 1.4;
    margin: -3px 0 14px;
  }
  .ttl_section_top .size_small {
    font-size: 0.65em;
    letter-spacing: 0.05em;
  }
  .ttl_section_top .before_icon {
    font-size: 24px;
  }
  .ttl_section_top .size_large {
    font-size: 1.2em;
  }
  .line_side {
    top: 3px;
  }
  .line_side::before, .line_side::after {
    width: calc(37px * 0.5);
    height: calc(42px * 0.5);
    top: 4px;
  }
  .line_side::before {
    left: -25px;
  }
  .line_side::after {
    right: -25px;
  }
  .ttl_stripe {
    border-radius: 0;
    font-size: 23px;
    padding: 0.3em 5.3vw 0.4em;
  }
  .ttl_stripe_color02 {
    border-radius: 0;
    font-size: 23px;
    padding: 0.4em 0.5em 0.5em;
  }
  .ttl_stripe_color03 {
    border-radius: 0;
    font-size: 23px;
    padding: 0.4em 0.5em 0.5em;
  }
  .ttl_stripe.top_radius {
    border-radius: 0;
  }
  .ttl_stripe_color02.top_radius {
    border-radius: 0;
  }
  .ttl_stripe_color03.top_radius {
    border-radius: 0;
  }
  .ttl_left_border {
    padding: 4px 0 8px 17px;
    margin-bottom: 18px;
  }
  .ttl_left_border::before {
    width: 5px;
    height: 73%;
    top: 48%;
  }
  .note_box {
    padding: 14px 20px 16px;
    border-radius: 10px;
  }
  .note_box p {
    font-size: 12px;
    padding: 0;
    position: relative;
  }
  .note_box p::before {
    width: 35px;
    height: 35px;
    position: relative;
    top: 8px;
    left: initial;
    float: left;
    margin: 0 15px 10px 0;
    -webkit-transform: none;
            transform: none;
  }
  .wide_inner {
    width: 89.4vw;
  }
}

/*===============================================
 *	メインビジュアル
===============================================*/
.main_visual {
  background: url(../img/top/mv_talent/mv_bg.jpg) no-repeat top center;
  background-size: cover;
}

.main_visual .wide_inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 50% 50%;
      grid-template-columns: 50% 50%;
  -ms-grid-rows: auto auto auto;
      grid-template-rows: auto auto auto;
  padding: 54px 0 0;
}

.main_visual.normal .wide_inner {
  padding: 40px 0 0;
}

.main_visual .main_txt {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  width: 95%;
  max-width: 601px;
  margin: 60px 0px 10px 0px;
}
.main_visual .performance {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
}
.main_visual .reserch_box {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 3;
  grid-row: 3;
  margin-bottom: 40px;
}
.main_visual.normal .reserch_box {
  margin-bottom: 30px;
}

.main_visual .reserch_box .medal {
  width: 95%;
  max-width: 601px;
  margin-bottom: 10px;
}

.main_visual .performance {
  width: 95%;
  max-width: 600px;
}

.main_visual .reserch_box .reserch_txt img {
  width: 62%;
  max-width: 366px;
}

.main_visual .talent_photo {
  -ms-grid-column: 2;
  grid-column: 2;
  grid-row: 1 / -1;
  max-width: 651px;
}

.main_visual .staff_photo,.main_visual .staff_photo_medal {
  -ms-grid-column: 2;
  grid-column: 2;
  grid-row: 1 / -1;
  max-width: 630px;
  justify-self: end;
  align-self: end;
}

.main_visual .main_content {
  width: 47%;
  max-width: 601px;
}
.main_visual .fv_medal{
  max-width: 526px;
}


@media only screen and (max-width: 960px) {
  .main_visual .wide_inner {
    padding: 26px 0 0;
  }
  .main_visual.normal .wide_inner {
    padding: 26px 0 0;
  }
}

@media only screen and (max-width: 568px) {
  .fv_wrap{
    display: grid;
    margin-top: 20px;
  }
  .main_visual {
    background: url(../img/top/mv_talent/mv_bg_sp.jpg) no-repeat;
    background-size: cover;
    position: relative;
  }
  .main_visual .wide_inner {
    -ms-grid-columns: auto;
        grid-template-columns: auto;
    -ms-grid-rows: auto auto auto;
        grid-template-rows: auto auto auto;
    padding: 25px 0;
  }
  .main_visual.normal .wide_inner {
    padding: 25px 0 25px;
  }
  .main_visual .main_txt {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    width: 96%;
    margin: 0 auto 14px;
    /*display: block;*/
  }
  .main_visual .reserch_box {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 4;
    grid-row: 4;
    margin: 15px 0 0px;
    position: relative;
    z-index: 10;
  }
  .main_visual.normal .reserch_box {
    margin: -85px 0 0;
  }
  .main_visual .reserch_box .medal {
    width: 100%;
    margin-bottom: -16px;
  }
  .main_visual .reserch_box .reserch_txt {
    background: #fff;
    border: 3px solid #f1b7bd;
    border-radius: 5px;
    text-align: center;
    padding: 20px 0 14px;
  }
  .main_visual .reserch_box .reserch_txt img {
    width: 73%;
    margin-top: 5px;
  }
  .main_visual .performance {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    margin-bottom: 10px;
    margin-top: 0;
    width: 100%;
  }
  .main_visual .talent_photo, .main_visual .staff_photo {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
  }
  .main_visual .staff_photo {
    justify-self: center;
    margin: -20px -5.3vw -40px;    
  }
  .main_visual .talent_photo, .main_visual .staff_photo_medal {
    -ms-grid-column: 2/3;
    grid-column: 2/3;
  }
  .main_visual .staff_photo_medal {
    width: 55%;
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .main_visual .fv_medal {
    width: 56%;
    position: relative;
    z-index: 999;
  }
}
/*===============================================
 *	メインビジュアルのH1
===============================================*/
.fv_main_ttl{font-size: 42px;font-family: "GenEiMGothic";font-weight: 900;font-style: italic;letter-spacing: 0;line-height: 1.3;margin-bottom: 38px;font-feature-settings: "palt";}
.city_hdttl{line-height: 1.2;margin-bottom: 15px;}
.fv_main_ttl .pref_txt{background: url("../img/top/mv_medal/mv_pref_bg_pc.png") left center no-repeat #DF2935;background-size: contain;font-size: 24px;color: #fff;font-style:normal;padding: 27px 20px;border-radius: 7px;position: relative;top: -20px;margin: 0 15px 0 0;}
.fv_main_ttl .city_txt{background: url("../img/top/mv_medal/mv_pref_bg_pc.png") center no-repeat #DF2935;background-size: contain;font-size: 24px;color: #fff;font-style:normal;padding: 15px;border-radius: 7px;display: inline-block;margin: 0 0 0 10px;}
.fv_main_ttl .huyou_txt,
.fv_main_ttl .sodaigomi_txt{color: #1F5CAE;font-size: 85px;text-shadow: .5px .5px #1F5CAE, -.5px .5px #1F5CAE, -.5px -.5px #1F5CAE, .5px -.5px #1F5CAE, .5px 0px #1F5CAE, 0px .5px #1F5CAE, -.5px 0px #1F5CAE, 0px -.5px #1F5CAE;}
.fv_main_ttl .yagou_txt{color: #007FB1;font-size: 55px;}
@media only screen and (max-width: 960px) {
  .fv_main_ttl {font-size: 26px;margin: 0 0 20px 0;}
  .city_hdttl{margin-bottom: 15px;}
  .fv_main_ttl .pref_txt {font-size: 18px;padding: 15px 10px;top: -10px;margin: 0 10px 0 0;}
  .fv_main_ttl .huyou_txt,
  .fv_main_ttl .sodaigomi_txt {font-size: 42px;}
  .fv_main_ttl .yagou_txt {font-size: 30px;}
  .fv_main_ttl .city_txt {font-size: 18px;padding: 10px;}
}
@media only screen and (max-width: 568px) {
  .fv_main_ttl {font-size: clamp(23px, 4.82vw, 28px);margin-bottom: 0;}
  .fv_main_ttl .huyou_txt,
  .fv_main_ttl .sodaigomi_txt {font-size: clamp(46px, 12vw, 56px);}
  .fv_main_ttl .yagou_txt {font-size: clamp(28px, 8.6vw, 32px);line-height: 1.5;}
  .fv_main_ttl .city_txt {margin: 0 0 5px 0;}
}
/*===============================================
 *	メインビジュアル直下 SP用
===============================================*/
.google_warap{
  background: var(--site-primary) url(../img/common/bg_stripe_blue.png);
  padding: 10px 0 10px;
}
.google_contents{
  margin: 0 auto;
  max-width: 1300px;
  width: 100%;
}
.google_box{
  display: flex;
  align-items: center;
  text-align: center;
  padding: 20px 0 0;
}
.google_box::before,
.google_box::after{
  content:"";
  flex-grow: 1;
  border-bottom: 2px solid rgba(255,255,255,.5);;
}
.google_box::before{
  margin-right: -10px;
  padding-left: 15px;
}
.google_box::after{
  margin-left: -10px;
  padding-right: 15px;
}
.google_box p{
  font-size: 34px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 2px;
  line-height: 1.4;
}
.google_box::before{
  margin-right: 20px;
  padding-left: 15px;
}
.google_box::after{
  margin-left: 20px;
  padding-right: 15px;
}
.google_box span{
  color: #ffde28;
  font-family: "GenEiMGothic";
  font-size: 44px;
  padding: 14px 5px 0 5px;
  position: relative;
  filter:drop-shadow(2px 2px 0px #194070);
  background: linear-gradient(180deg, #dcb904 0%, #ffde28 50%, #e6c30e 100%);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  letter-spacing: 1px;
  position: relative;
}
.google_box em.dot_txt {
  background-position: top -19px left 0;
  background-image: radial-gradient(#ffd800 12%, rgba(255, 216, 0, 0) 12%), radial-gradient(#ffd800 13%, rgba(255, 216, 0, 0) 15%);
  background-size: 1.065em 1.07em;
  background-repeat: repeat-x;
  padding-top: 5px;
}
.google_evidence{
  color: rgba(255,255,255,.7);
  font-size: 15px;
  text-align: right;
  margin: 0 auto;
  width: 50vw;
}
@media only screen and (max-width: 960px) {
  .google_warap{
    padding: 0 0 10px;
  }
  .google_contents{
    width: 89.4vw;
  }
  .google_box p{
    font-size: 17px;
  }
  .google_box span{
    font-size: 22px;
  }
  .google_box::before{
    margin-right: -10px;
  }
  .google_box::after{
    margin-left: -10px;
  }
  .google_box em.dot_txt {
    background-position: top -8px left 0;
    padding-top: 10px;
  }
  .google_evidence{
    font-size: 11px;
    width: 90vw;
  }
}
/*===============================================
 *	メインビジュアル直下 h1・ポイント6つ
===============================================*/
.ad_main {
  background: var(--site-primary) url(../img/common/bg_stripe_blue.png);
}

.ad_main .txt_box {
  background: none;
}

.ad_main .wide_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}

.ad_main .txt_box {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.ad_main h1 {
  color: #fff;
  font-size: 27px;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  margin-top: 15px;
}

.ad_main ul {
  width: 100%;
  margin: 20px 0 25px 0;
  gap: 12px 0;
}

.ad_main ul li {
  font-size: 21px;
  font-weight: bold;
  background: #fff;
  border-radius: 5px;
  border: 4px solid #73c1df;
  width: 15.7%;
  padding: 10px 20px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
      flex-direction: column;
      align-items: center;
}

.ad_main ul li::before {
  content: '';
  width: 50px;
  height: 50px;
}

.ad_main ul li:nth-child(1)::before {
  background: url(../img/top/ad_icon01.png) no-repeat;
  background-size: contain;
}

.ad_main ul li:nth-child(2)::before {
  background: url(../img/top/ad_icon02.png) no-repeat;
  background-size: contain;
}

.ad_main ul li:nth-child(3)::before {
  background: url(../img/top/ad_icon03.png) no-repeat;
  background-size: contain;
}

.ad_main ul li:nth-child(4)::before {
  background: url(../img/top/ad_icon04.png) no-repeat;
  background-size: contain;
}

.ad_main ul li:nth-child(5)::before {
  background: url(../img/top/ad_icon05.png) no-repeat;
  background-size: contain;
}

.ad_main ul li:nth-child(6)::before {
  background: url(../img/top/ad_icon06.png) no-repeat;
  background-size: contain;
}

@media only screen and (max-width: 1024px) {
  .ad_main .txt_box {
    width: 100%;
  }
  .ad_main h1 {
    font-size: 25px;
  }
  .ad_main ul {
    width: 100%;
  }
  .ad_main ul li {
    font-size: 17px;
    padding: 10px 12px 10px;
  }
  .ad_main ul li::before {
    width: 45px;
    height: 45px;
  }
}

@media only screen and (max-width: 960px) {
  .ad_main .wide_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .ad_main .txt_box {
    width: 100%;
    max-width: initial;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 25px 0 25px;
    background-position: top right 0%;
  }
  .ad_main ul {
    width: 100%;
    margin: 0 0 25px;
  }
  .ad_main h1 {
    text-align: center;
  }
}

@media only screen and (max-width: 568px) {
  .ad_main .txt_box {
    padding: 12px 0 14px;
    background-size: 50%;
  }
  .ad_main h1 {
    font-size: 18px;
    line-height: 1.35;
    margin-top: 0;
  }
  .ad_main ul {
    margin: 0 0 20px;
    gap: 10px 0;
  }
  .ad_main ul li {
    width: 48.5%;
    font-size: 15px;
    padding: 8px 3%;
    display: flex;
    flex-direction: row;
    border-width: 3px;
  }
  .ad_main ul li::before {
    width: 35px;
    height: 35px;
    margin-right: 7px;
  }
}

/*===============================================
 *	コロナ対策
===============================================*/
#colona-wrap {
  padding: 50px 0 46px;
  background: #fcf3f4;
}

#colona-wrap .attention-box {
  border: 3px solid var(--site-keycolor);
  background: #fff;
  margin-bottom: 14px;
}

#colona-wrap h2 {
  font-size: 27px;
  text-align: center;
  padding: 11px 0 14px;
  background: var(--site-keycolor);
}

#colona-wrap h2 span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#colona-wrap h2 span::before {
  content: '';
  background: url(../img/common/icon_attention.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 32px;
  height: 32px;
  margin: 2px 12px 0 0;
}

#colona-wrap .attention-content {
  padding: 32px 43px 38px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#colona-wrap .attention-content .text {
  width: 72%;
  font-size: 16px;
}

#colona-wrap .attention-content .content-ttl {
  font-size: 18px;
  margin-bottom: 7px;
}

#colona-wrap .attention-content .sub {
  margin-bottom: 3px;
}

#colona-wrap .attention-content li {
  line-height: 1.7;
  margin-left: 1em;
  text-indent: -1em;
}

#colona-wrap .attention-content li::before {
  content: '';
  display: inline-block;
  background: var(--site-keycolor);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 10px;
  position: relative;
  top: -3px;
}

#colona-wrap .attention-content picture {
  max-width: 257px;
}

@media only screen and (max-width: 960px) {
  #colona-wrap {
    padding: 4vw 0 5vw;
  }
  #colona-wrap h2 {
    font-size: 23px;
  }
  #colona-wrap .attention-content {
    padding: 3vw 4vw 3vw;
  }
  #colona-wrap .attention-content .content-ttl {
    font-size: 16px;
  }
  #colona-wrap .attention-content .text {
    font-size: 14px;
    width: 82%;
    margin-right: 15px;
  }
}

@media only screen and (max-width: 568px) {
  #colona-wrap {
    padding: 35px 0 32px;
  }
  #colona-wrap h2 {
    font-size: 18px;
    padding: 7px 0 11px;
  }
  #colona-wrap h2 span::before {
    width: 25px;
    height: 25px;
    margin-right: 10px;
  }
  #colona-wrap .attention-box {
    margin-bottom: 10px;
  }
  #colona-wrap .attention-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 16px 20px 20px;
  }
  #colona-wrap .attention-content .text {
    width: 100%;
    margin: 0 0 10px;
  }
  #colona-wrap .attention-content .content-ttl {
    line-height: 1.5;
    margin-bottom: 10px;
  }
  #colona-wrap .attention-content .sub {
    font-size: 15px;
  }
  #colona-wrap .attention-content li {
    margin-bottom: 3px;
  }
  #colona-wrap .attention-content picture {
    max-width: initial;
  }
}

/*===============================================
 *	キャンペーン
===============================================*/
#campaign {
  padding: 50px 0 70px;
}

.wipe_service {
  padding: 40px 40px 34px;
  position: relative;
  margin-bottom: 40px;
}

.wipe_service img {
  position: absolute;
  max-width: 497px;
  left: 40px;
  bottom: 0;
}

.wipe_service .txt_box {
  width: 50%;
  margin-left: auto;
}

.wipe_service h2 {
  font-size: 27px;
  color: #fff;
  margin-bottom: 10px;
  text-align: center;
}

.wipe_service h2 .ttl_before {
  display: block;
  font-size: 0.89em;
  text-align: center;
  color: #007fb1;
  background: #fff;
  border-radius: 50px;
  padding: 5px 0 7px;
  margin-bottom: 7px;
}

.wipe_service h2 .ttl_color {
  color: #ffd800;
  font-size: 1.37em;
  padding-left: 10px;
}
.general_bnrbox {
  margin: 40px 0 0 0;
}

.price_off p {
  margin-top: 10px;
}

@media only screen and (max-width: 1024px) {
  .wipe_service {
    padding: 30px 40px 34px;
  }
  .wipe_service img {
    width: 42%;
    left: 16px;
  }
  .wipe_service .txt_box {
    width: 57%;
  }
  .wipe_service h2 .ttl_color {
    padding-left: 0;
  }
  .general_bnrbox {
    margin: 0 0 45px;
  }

}

@media only screen and (max-width: 960px) {
  #campaign {
    padding: 5vw 0 6vw;
  }
  .wipe_service {
    padding: 2.5vw 3vw 2.5vw;
  }
  .wipe_service .txt_box {
    width: 58%;
  }
  .wipe_service h2 {
    font-size: 21px;
    margin-bottom: 3px;
  }
  .wipe_service h2 .ttl_before {
    margin-bottom: 3px;
  }
  .wipe_service img {
    width: 39%;
  }
  .general_bnrbox {
    margin: 0 0 5vw;
  }

}

@media only screen and (max-width: 568px) {
  #campaign {
    padding: 25px 0 40px;
  }
  .wipe_service {
    padding: 8px 17px 18px;
    margin-bottom: 20px;
  }
  .wipe_service img {
    position: relative;
    width: 75%;
    left: initial;
    display: block;
    margin: 0 auto;
  }
  .wipe_service h2 {
    font-size: 4.7vw;
    margin-bottom: 7px;
  }
  .wipe_service h2 .ttl_before {
    margin-bottom: 7px;
  }
  .wipe_service h2 .ttl_color {
    font-size: 1.2em;
  }
  .wipe_service .txt_box {
    width: 100%;
  }
  .wipe_service .txt_box p {
    font-size: 14px;
    text-align: left;
  }
  .general_bnrbox {
    margin: 25px 0 0 0;
  }
  .price_off p {
    margin-top: 6px;
    text-align: left;
  }
}

/*===============================================
 *	導入セクション
===============================================*/
#top_intro .intro_ttl {
  text-align: center;
  position: relative;
}

#top_intro .intro_ttl::after {
  content: '';
  display: block;
  height: 30px;
  width: 60px;
  background: url(../img/common/bg_stripe_blue.png) repeat;
  background-position: 6px 0;
  position: absolute;
  bottom: -29px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}

#top_intro h2 {
  font-size: 38px;
  letter-spacing: 0.08em;
  display: inline;
  position: relative;
}

#top_intro h2 .txt_no1 {
  font-size: 1.78em;
  font-family: 'Robot';
  -webkit-transform: skewX(-10deg);
          transform: skewX(-10deg);
  display: inline-block;
  position: relative;
  padding: 0 35px 0 50px;
}

#top_intro h2 .txt_no1 span {
  font-size: 0.8em;
}

#top_intro h2 .txt_no1::before, #top_intro h2 .txt_no1::after {
  content: '';
  width: 24px;
  height: 70px;
  position: absolute;
  top: 50%;
  -webkit-transform: skewX(10deg) translateY(-50%);
          transform: skewX(10deg) translateY(-50%);
}

#top_intro h2 .txt_no1::before {
  background: url(../img/top/leaf_left_yellow.png) no-repeat;
  background-size: cover;
  left: 18px;
}

#top_intro h2 .txt_no1::after {
  background: url(../img/top/leaf_right_yellow.png) no-repeat;
  background-size: cover;
  right: 4px;
}

#top_intro h2::before {
  content: '';
  background: url(../img/top/icon_crown.png) no-repeat;
  background-size: contain;
  width: 70px;
  height: 49px;
  position: absolute;
  left: -84px;
  top: 5px;
}

.intro_content {
  background: #fffdf2 url(../img/common/effect_line_yellow.png) no-repeat top center;
  padding: 60px 0;
}

.intro_content .point li {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background: #44a8c7;
  border-radius: 5px;
  letter-spacing: 0.02em;
  padding: 6px 0 9px;
  position: relative;
}

/*.intro_content .point li span {
  font-size: 12px;
}*/
.intro_content .point li span:nth-child(1) {
  font-size: 15px;
}
.intro_content .point li span:nth-child(2) span {
  font-size: 10px;
}

.intro_content .point li::before, .intro_content .point li::after {
  content: '';
  width: 12px;
  height: 35px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.intro_content .point li::before {
  background: url(../img/top/leaf_left_white.png) no-repeat;
  background-size: cover;
  left: 10px;
}

.intro_content .point li::after {
  background: url(../img/top/leaf_right_white.png) no-repeat;
  background-size: cover;
  right: 10px;
}

.intro_content .point li:first-child {
  width: 32%;
}

.intro_content .point li:nth-child(2) {
  width: 66%;
}

.intro_content .content_ttl {
  font-size: 37px;
  line-height: 1.75;
  margin: 14px 0 16px;
}

.intro_content .content_ttl .txt_primarycolor {
  padding-top: 30px;
  background-color: rgba(255, 255, 255, 0);
  background-image: radial-gradient(#007fb1 12%, rgba(1, 66, 189, 0) 12%), radial-gradient(#007fb1 13%, rgba(1, 66, 189, 0) 15%);
  background-position: top 10px left 0;
  background-size: 1.065em 1.07em;
  background-repeat: repeat-x;
}

.intro_content .sub_box {
  background: #fdf4d7;
  padding: 22px 40px 26px;
  margin-top: 30px;
}

.intro_content .sub_box .sub_ttl {
  font-size: 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
}

.intro_content .sub_box .sub_ttl::before {
  content: '';
  display: block;
  background: url(../img/common/icon_big-trash.png) no-repeat;
  background-size: contain;
  width: 33px;
  height: 26px;
  margin-right: 12px;
}

.intro_content .sub_box p {
  font-size: 16px;
}

.intro_content .photo {
  text-align: center;
  padding-top: 34px;
}

.intro_content .photo .photo01 {
  max-width: 540px;
}

.intro_content .photo .photo_sub {
  margin-top: 50px;
}

.intro_content .photo .photo_sub img {
  max-width: 265px;
}

@media only screen and (max-width: 1024px) {
  #top_intro .intro_ttl {
    padding: 8px 0;
  }
  #top_intro h2 {
    font-size: 34px;
  }
  #top_intro h2::before {
    width: 60px;
    height: 42px;
    left: -74px;
    top: 3px;
  }
  .intro_content .point li {
    font-size: 15px;
  }
  .intro_content .content_ttl {
    font-size: 32px;
  }
  .intro_content .sub_box {
    padding: 22px 20px 26px;
  }
  .intro_content .sub_box .sub_ttl {
    font-size: 20px;
  }
  .intro_content .photo .photo_sub img {
    width: 48%;
  }
}

@media only screen and (max-width: 960px) {
  #top_intro .intro_ttl {
    padding: 12px 0;
  }
  #top_intro h2 {
    font-size: 28px;
    line-height: 1.4;
  }
  #top_intro h2 .txt_no1::before, #top_intro h2 .txt_no1::after {
    width: calc(24px * 0.7);
    height: calc(70px * 0.7);
  }
  .intro_content {
    padding: 6vw 0 5vw;
  }
  .intro_content .point li {
    font-size: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .intro_content .content_ttl {
    font-size: 24px;
    margin: 16px 0 16px;
  }
  .intro_content .content_ttl .txt_primarycolor {
    background-position: top 16px left 0;
  }
  .intro_content .sub_box {
    margin-top: 20px;
    padding: 2vw 2.5vw 2vw;
  }
  .intro_content .sub_box .sub_ttl {
    font-size: 18px;
  }
  .intro_content .sub_box p {
    font-size: 14px;
  }
}

@media only screen and (max-width: 568px) {
  #top_intro .intro_ttl {
    padding: 11px 0 5px;
  }
  #top_intro .intro_ttl::after {
    width: 54px;
    height: 25px;
    bottom: -24px;
  }
  #top_intro h2 {
    font-size: 20px;
  }
  #top_intro h2 .txt_no1 {
    font-size: 1.6em;
    padding: 0 18px 0 32px;
    margin: 0 -5px 0 -10px;
  }
  #top_intro h2 .txt_no1::before, #top_intro h2 .txt_no1::after {
    width: calc(24px * 0.5);
    height: calc(70px * 0.5);
  }
  #top_intro h2::before {
    width: 35px;
    height: 25px;
    left: -44px;
    top: 7px;
  }
  .intro_content {
    padding: 30px 0 40px;
    background: #fffdf2 url(../img/common/effect_line_yellow_sp.png) no-repeat top center;
    background-size: contain;
  }
  .intro_content .half_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .intro_content .point li {
    font-size: 16px;
    padding: 6px 0 8px;
  }
  /*.intro_content .point li span {
    display: block;
  }*/
  .intro_content .point li span:nth-child(1) {
    font-size: 13px;
  }
  .intro_content .point li span:nth-child(2) {
    font-size: 16px;
  }
  .intro_content .point li:first-child {
    width: 38%;
  }
  .intro_content .point li:nth-child(2) {
    width: 58%;
  }
  .intro_content .point li::before, .intro_content .point li::after {
    width: 8px;
    height: 23px;
  }
  .intro_content .point li::before {
    left: 5px;
  }
  .intro_content .point li::after {
    right: 5px;
  }
  .intro_content .content_ttl {
    margin: 10px 0 8px;
    line-height: 1.65;
  }
  .intro_content .content_ttl .txt_primarycolor {
    padding-top: 22px;
    background-position: top 10px left 0;
  }
  .intro_content .photo {
    padding: 0;
    margin-bottom: 30px;
  }
  .intro_content .photo > img {
    width: 89.4%;
  }
  .intro_content .photo .photo_sub {
    margin-top: 18px;
  }
  .intro_content .sub_box {
    padding: 16px 20px 16px;
  }
  .intro_content .sub_box .sub_ttl {
    font-size: 19px;
    line-height: 1.5;
    margin-bottom: 5px;
  }
  .intro_content .sub_box .sub_ttl span {
    width: calc(100% - (51px + 15px));
  }
  .intro_content .sub_box .sub_ttl::before {
    width: 51px;
    height: 40px;
    margin-right: 15px;
  }
}

/*===============================================
 *	こんなお悩みありませんか？
===============================================*/
#problem {
  background: url(../img/top/bg_problem.jpg) no-repeat center;
  background-size: cover;
  padding: 70px 0 0;
  position: relative;
}

#problem .large_txt {
  font-size: 37px;
  font-weight: bold;
  color: #fff;
  padding: 17px 0 19px;
  margin-top: 64px;
}

.problem_list {
  position: relative;
  margin: 45px 0 0;
  padding-bottom: 62px;
}

.problem_list ul {
  width: 100%;
}

.problem_list li {
  font-size: 19px;
  width: 50%;
  position: relative;
  z-index: 10;
}

.problem_list li div {
  font-weight: bold;
  display: inline-block;
  background: #fff;
  padding: 18px 30px 20px;
  -webkit-box-shadow: 2px 3px 1px rgba(51, 51, 51, 0.25);
          box-shadow: 2px 3px 1px rgba(51, 51, 51, 0.25);
}

.problem_list li:nth-child(odd) div {
  border-radius: 20px 20px 0 20px;
}

.problem_list li:nth-child(even) div {
  border-radius: 20px 20px 20px 0;
}

.problem_list li:nth-child(1) div {
  margin: 0 0 0 30px;
}

.problem_list li:nth-child(2) div {
  margin: 0 90px 0 auto;
}

.problem_list li:nth-child(3) div {
  margin: -10px 0 0 45px;
}

.problem_list li:nth-child(4) div {
  margin: 20px 60px 0 auto;
}

.problem_list::after {
  content: '';
  background: url(../img/top/problem_image.png) no-repeat;
  background-size: contain;
  width: 370px;
  height: 237px;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

#problem::after {
  content: '';
  display: block;
  height: 30px;
  width: 60px;
  background: url(../img/common/bg_stripe_blue.png) repeat;
  background-position: 6px 0;
  position: absolute;
  bottom: -29px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}

@media only screen and (max-width: 1024px) {
  #problem .large_txt {
    font-size: 34px;
  }
  .problem_list li:nth-child(1) div {
    margin: 0 0 0 0;
  }
  .problem_list li:nth-child(2) div {
    margin: 0 0 0 auto;
  }
  .problem_list li:nth-child(3) div {
    margin: -10px 0 0 0;
  }
  .problem_list li:nth-child(4) div {
    margin: 20px 0 0 auto;
  }
}

@media only screen and (max-width: 960px) {
  #problem {
    padding: 6.5vw 0 0;
  }
  #problem .large_txt {
    font-size: 28px;
    margin-top: 5vw;
  }
  .problem_list {
    margin: 30px 0 0;
  }
  .problem_list li {
    font-size: 16px;
  }
  .problem_list li div {
    padding: 13px 18px 15px;
  }
  .problem_list::after {
    width: calc(370px * 0.7);
    height: calc(237px * 0.7);
  }
}

@media only screen and (max-width: 568px) {
  #problem {
    background: url(../img/top/bg_problem_sp.jpg) no-repeat center;
    background-size: cover;
  }
  #problem .large_txt {
    font-size: 24px;
    line-height: 1.5;
    padding: 13px 0 15px;
    margin-top: 40px;
  }
  #problem::after {
    width: 54px;
    height: 25px;
    bottom: -24px;
  }
  .problem_list {
    margin-top: 20px;
    padding-bottom: 123px;
  }
  .problem_list li {
    width: 100%;
    display: block;
    margin-bottom: 13px;
  }
  .problem_list li div {
    display: block;
    text-align: center;
    margin: 0 !important;
    padding: 11px 18px 14px;
    line-height: 1.5;
  }
  .problem_list li:nth-child(odd) div {
    border-radius: 10px 10px 0 10px;
  }
  .problem_list li:nth-child(even) div {
    border-radius: 10px 10px 10px 0;
  }
  .problem_list::after {
    width: calc(370px * 0.5);
    height: calc(237px * 0.5);
  }
}

/*===============================================
 *	選ばれる理由
===============================================*/
#reasons {
  background: #e5f2f7 url(../img/common/effect_line_blue.png) no-repeat top center;
}

#reasons ul {
  gap: 30px 0;
}

#reasons li {
  width: 31.8%;
  max-width: 356px;
  background: #fff;
  position: relative;
}

#reasons li > div {
  padding: 22px 30px 36px;
}

#reasons li .list_ttl {
  font-size: 27px;
  line-height: 1.5;
  margin-bottom: 14px;
}

#reasons li:last-child {
  width: 100%;
  max-width: 100%;
}

#reasons li:last-child > div {
  width: 50%;
  padding: 44px 40px 30px;
}

#reasons li:last-child .list_ttl {
  font-size: 32px;
  line-height: 1.15;
  margin-bottom: 22px;
}

#reasons li:last-child .list_ttl span {
  font-family: 'Robot';
  font-size: 2.5em;
}

#reasons li:last-child .btn_border {
  width: 300px;
  margin-top: 32px;
}

#reasons li::before {
  content: '';
  width: 100px;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
}

#reasons li:nth-child(1)::before {
  background: url(../img/common/label_num01.svg) no-repeat;
  background-size: contain;
}

#reasons li:nth-child(2)::before {
  background: url(../img/common/label_num02.svg) no-repeat;
  background-size: contain;
}

#reasons li:nth-child(3)::before {
  background: url(../img/common/label_num03.svg) no-repeat;
  background-size: contain;
}

#reasons li:nth-child(4)::before {
  background: url(../img/common/label_num04.svg) no-repeat;
  background-size: contain;
}

#reasons li:nth-child(5)::before {
  background: url(../img/common/label_num05.svg) no-repeat;
  background-size: contain;
}

#reasons li:nth-child(6)::before {
  background: url(../img/common/label_num06.svg) no-repeat;
  background-size: contain;
}

#reasons li:nth-child(7)::before {
  background: url(../img/common/label_num07.svg) no-repeat;
  background-size: contain;
}

.reason_ttl {
  position: relative;
}

.reason_ttl .ttl_section_top {
  line-height: 1.85;
  margin: -10px 0 0;
  padding-bottom: 35px;
}

.reason_ttl .num {
  font-size: 2.12em;
  font-family: 'Robot';
}

.reason_ttl .size_large {
  font-size: 1.49em;
}

.reason_ttl::before {
  content: '';
  background: url(../img/top/reasons_staff_left.png) no-repeat bottom center;
  background-size: contain;
  width: 220px;
  height: 215px;
  position: absolute;
  left: 90px;
  bottom: 0;
}

.reason_ttl::after {
  content: '';
  background: url(../img/top/reasons_staff_right.png) no-repeat bottom center;
  background-size: contain;
  width: 225px;
  height: 201px;
  position: absolute;
  right: 64px;
  bottom: 0;
}

@media only screen and (max-width: 960px) {
  #reasons li > div {
    padding: 2vw 2.5vw;
  }
  #reasons li .list_ttl {
    font-size: 21px;
  }
  #reasons li:last-child > div {
    padding: 2vw 2.5vw 2.7vw;
  }
  #reasons li:last-child .list_ttl {
    font-size: 21px;
    margin-bottom: 13px;
    line-height: 1.1;
  }
  #reasons li:last-child .list_ttl span {
    font-size: 2.2em;
  }
  #reasons li:last-child picture {
    width: 50%;
  }
  #reasons li:last-child .btn_border {
    margin-top: 12px;
  }
  #reasons li::before {
    width: 70px;
    height: 70px;
  }
  .reason_ttl::before {
    width: calc(194px * 0.7);
    height: calc(215px * 0.7);
  }
  .reason_ttl::after {
    width: calc(225px * 0.7);
    height: calc(221px * 0.7);
  }
}

@media only screen and (max-width: 568px) {
  #reasons {
    background: #e5f2f7 url(../img/common/effect_line_blue_sp.png) no-repeat top center;
    background-size: contain;
  }
  #reasons .ttl_section_top .line_side {
    top: 0;
  }
  #reasons ul {
    gap: 20px 0;
  }
  #reasons li {
    width: 100%;
  }
  #reasons li > div {
    padding: 16px 20px 18px;
  }
  #reasons li .list_ttl {
    margin-bottom: 8px;
  }
  #reasons li::before {
    width: 90px;
    height: 90px;
  }
  #reasons li:last-child {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #reasons li:last-child .list_ttl span {
    font-size: 2.48em;
  }
  #reasons li:last-child > div {
    width: 100%;
    padding: 12px 20px 26px;
  }
  #reasons li:last-child picture {
    width: 100%;
  }
  #reasons li:last-child .btn_border {
    margin-top: 16px;
    width: 78%;
  }
  .reason_ttl .ttl_section_top {
    margin: -20px 0 0;
    padding-bottom: 0;
  }
  .reason_ttl .num {
    font-size: 2.07em;
  }
  .reason_ttl .size_large {
    font-size: 1.38em;
  }
  .reason_ttl::before {
    content: none;
  }
  .reason_ttl::after {
    background: url(../img/top/reasons_staff_sp.png) no-repeat center;
    background-size: contain;
    display: block;
    width: 100%;
    height: 108px;
    position: relative;
    right: initial;
    margin: 0 auto;
  }
}

/*===============================================
 *	お客様の声
===============================================*/
#voice .ttl_section_top .before_icon {
  font-size: 47px;
  position: relative;
}

#voice .ttl_section_top .before_icon::before {
  content: '';
  background: url(../img/top/icon_voice.png) no-repeat;
  background-size: contain;
  width: 50px;
  height: 50px;
  position: absolute;
  left: -65px;
  top: 8px;
}

#voice .ttl_section_top .txt_keycolor {
  font-size: 1.21em;
}

#voice .ttl_stripe {
  margin-bottom: 30px;
}

#voice .ttl_stripe_color02 span {
  position: relative;
}

#voice .ttl_stripe_color02 span::before {
  content: '';
  background: url(../img/top/icon_memo.png) no-repeat;
  background-size: contain;
  width: 40px;
  height: 41px;
  position: absolute;
  left: -58px;
  top: 3px;
}

#voice .example_box {
  margin-top: 60px;
}

#voice .example_box .example_content {
  border: 4px solid #a1d3e3;
  border-top: none;
  border-radius: 0 0 20px 20px;
  padding: 0 0 5px;
}

#voice .example_box .example_content > div {
  padding: 40px 54px;
}

#voice .example_box .example_content > div:nth-of-type(1) {
  position: relative;
}

#voice .example_box .example_content > div:nth-of-type(1)::after {
  content: '';
  background: url(../img/common/line_dot.png) repeat-x;
  width: calc(100% - 54px * 2);
  height: 2px;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

#voice .example_box .example_content .ttl_example {
  font-size: 22px;
  margin-bottom: 30px;
}

#voice .example_box .example_content .ttl_example span {
  font-size: 0.77em;
  border: 1px solid #007fb1;
  border-radius: 5px;
  padding: 5px 40px 7px;
  margin-right: 14px;
}

#voice .example_box .example_content ul {
  gap: 0 35px;
  margin-bottom: 24px;
  position: relative;
}

#voice .example_box .example_content ul li {
  max-width: 43.4%;
  position: relative;
}

#voice .example_box .example_content ul li:first-child::before {
  content: '';
  background: url(../img/top/label_before.svg) no-repeat;
  width: 134px;
  height: 40px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

#voice .example_box .example_content ul li:nth-child(2)::before {
  content: '';
  background: url(../img/top/label_after.svg) no-repeat;
  width: 134px;
  height: 40px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

#voice .example_box .example_content ul li:nth-child(2)::after {
  content: '';
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 4px solid var(--site-keycolor);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}

#voice .example_box .example_content ul::after {
  content: '';
  background: url(../img/common/icon_sankaku_right_orange.svg) no-repeat;
  width: 25px;
  height: 41px;
  position: absolute;
  left: 50%;
  top: 52%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

#voice .example_box.area_example .example_content ul {
  gap: 0 50px;
}

#voice .example_box.area_example .example_content ul li {
  width: 320px;
  height: 198px;
  overflow: hidden;
}

#voice .example_box.area_example .example_content ul li img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

#voice .example_box.area_example .txt_box .ttl_example {
  width: 110px;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#voice .example_box.area_example .txt_box .ttl_example span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  margin: 0;
  width: 100%;
  height: 80%;
}

#voice .example_box.area_example .txt_box p {
  width: calc(100% - (110px + 20px));
}

.voice_bnr {
  margin-top: 50px;
}

.voice_bnr .txt_box {
  width: 50%;
  padding: 30px 30px 30px;
}

.voice_bnr .txt_box .ttl {
  font-size: 27px;
  margin: 0 0 10px;
}

.voice_bnr .txt_box .ttl .before_txt {
  font-size: 0.81em;
  display: block;
  border: 2px solid #fff;
  padding: 5px 0 7px;
  border-radius: 50px;
  margin-bottom: 8px;
}

.voice_bnr .txt_box .ttl .txt_yellow {
  font-size: 1.18em;
}

.voice_bnr picture {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.voice_bnr picture img {
  height: 100%;
  width: auto;
}

@media only screen and (max-width: 960px) {
  #voice .ttl_section_top .before_icon::before {
    width: 40px;
    height: 40px;
    left: -55px;
    top: 3px;
  }
  #voice .ttl_stripe_color02 span::before {
    width: 35px;
    height: 36px;
    left: -46px;
    top: 1px;
  }
  #voice .example_box {
    margin-top: 26px;
  }
  #voice .example_box .example_content > div {
    padding: 3vw 4vw;
  }
  #voice .example_box .example_content > div:nth-of-type(1)::after {
    width: calc(100% - 4vw * 2);
  }
  #voice .example_box .example_content .ttl_example {
    font-size: 19px;
    margin-bottom: 20px;
  }
  #voice .example_box .example_content .ttl_example span {
    padding: 5px 28px 7px;
  }
  #voice .example_box .example_content ul {
    margin-bottom: 18px;
  }
  #voice .example_box .example_content ul li:nth-child(1)::before, #voice .example_box .example_content ul li:nth-child(2)::before {
    width: calc(134px * 0.75);
    height: calc(40px * 0.75);
  }
  #voice .example_box.area_example .example_content ul li {
    width: calc(320px * 0.8);
    height: calc(198px * 0.8);
  }
  #voice .example_box.area_example .txt_box .ttl_example {
    width: 80px;
  }
  #voice .example_box.area_example .txt_box p {
    width: calc(100% - (80px + 20px));
  }
  .voice_bnr .txt_box .ttl {
    font-size: 24px;
  }
}

@media only screen and (max-width: 568px) {
  #voice .ttl_section_top {
    margin: -18px 0 20px;
  }
  #voice .ttl_section_top .before_icon {
    font-size: 29px;
  }
  #voice .ttl_section_top .size_small {
    display: block;
    margin: 0 auto;
    width: 65%;
  }
  #voice .ttl_section_top .before_icon::before {
    width: 30px;
    height: 30px;
    left: -38px;
    top: 5px;
  }
  #voice .ttl_stripe {
    text-align: center;
    margin-bottom: 20px;
  }
  #voice .ttl_stripe_color02 span::before {
    width: 29px;
    height: 30px;
    left: -37px;
    top: 3px;
  }
  #voice .half_box .txt_box {
    margin-top: 20px;
  }
  #voice .half_box .txt_box .ttl {
    margin-bottom: 8px;
  }
  #voice .example_box {
    margin-top: 24px;
  }
  #voice .example_box .example_content {
    border: none;
    border-bottom: 4px solid #a1d3e3;
    border-radius: 0;
  }
  #voice .example_box .example_content .ttl_example {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 15px;
  }
  #voice .example_box .example_content .ttl_example span {
    font-size: 0.84em;
    padding: 5px 35px 5px;
    margin-bottom: 8px;
  }
  #voice .example_box .example_content > div {
    padding: 20px 5.3vw;
  }
  #voice .example_box .example_content ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 35px 0;
    margin-bottom: 15px;
  }
  #voice .example_box .example_content ul li {
    max-width: 83%;
  }
  #voice .example_box .example_content ul li:first-child::after {
    background: url(../img/common/icon_sankaku_down_orange.svg) no-repeat;
    width: 38px;
    height: 20px;
    top: initial;
    right: initial;
    bottom: -28px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #voice .example_box .example_content ul::after {
    background: url(../img/common/icon_sankaku_down_orange.svg) no-repeat;
    width: 38px;
    height: 20px;
    top: initial;
    right: initial;
    bottom: 47%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  #voice .example_box.area_example .example_content ul {
    gap: 35px 0;
    margin-bottom: 20px;
  }
  #voice .example_box.area_example .example_content .txt_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #voice .example_box.area_example .example_content .txt_box .ttl_example {
    width: 110px;
    margin-bottom: 8px;
  }
  #voice .example_box.area_example .example_content .txt_box .ttl_example span {
    padding: 5px 0;
  }
  #voice .example_box.area_example .example_content .txt_box p {
    width: 100%;
  }
  .voice_bnr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-top: 30px;
  }
  .voice_bnr .txt_box {
    width: 100%;
    padding: 20px 20px 20px;
  }
  .voice_bnr .txt_box .ttl {
    font-size: 17px;
    margin: 0 0 8px;
  }
  .voice_bnr .txt_box .ttl .before_txt {
    font-size: 0.88em;
    margin-bottom: 10px;
    padding: 4px 0 6px;
  }
  .voice_bnr .txt_box p {
    font-size: 14px;
  }
  .voice_bnr picture {
    width: 100%;
  }
  .voice_bnr picture img {
    width: 100%;
    height: auto;
  }
}

/*===============================================
 *	サービス紹介
===============================================*/
#service {
  background: #e5f2f7 url(../img/common/effect_line_blue.png) no-repeat top center;
}

#service .service_ttl {
  position: relative;
  padding-bottom: 40px;
}

#service .service_ttl .ttl_section_top {
  margin-bottom: 0;
}

#service .service_ttl::before {
  content: '';
  background: url(../img/top/service_ttl_image01.png) no-repeat;
  background-size: contain;
  width: 224px;
  height: 113px;
  position: absolute;
  left: 10%;
  bottom: 3px;
}

#service .service_ttl::after {
  content: '';
  background: url(../img/top/service_ttl_image02.png) no-repeat;
  background-size: contain;
  width: 169px;
  height: 142px;
  position: absolute;
  right: 13%;
  bottom: 10px;
}

#service .ttl_stripe {
  margin-bottom: 30px;
}

#service .ttl_stripe_color02 {
  margin-bottom: 30px;
}

#service .main_service ul {
  gap: 34px calc((100% - (31.8% * 3))/ 2);
}

#service .main_service li {
  width: 31.8%;
  max-width: 356px;
  -webkit-box-shadow: 0px 5px 1px #d4d4d4;
          box-shadow: 0px 5px 1px #d4d4d4;
}

#service .main_service li div {
  padding: 30px 40px 36px;
  position: relative;
}

#service .main_service li div::after {
  content: '';
  background: url(../img/common/icon_sankaku_rightdown_blue.svg) no-repeat;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

#service .main_service li .list_ttl {
  font-size: 27px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
}

#service .main_service li .list_ttl::before {
  content: '';
  width: 61px;
  height: 61px;
  display: block;
  margin-bottom: 18px;
}

#service .main_service li:nth-child(1) .list_ttl::before {
  background: url(../img/top/icon_service01.png) no-repeat;
  background-size: contain;
}

#service .main_service li:nth-child(2) .list_ttl::before {
  background: url(../img/top/icon_service02.png) no-repeat;
  background-size: contain;
}

#service .main_service li:nth-child(3) .list_ttl::before {
  background: url(../img/top/icon_service03.png) no-repeat;
  background-size: contain;
}

#service .main_service li:nth-child(4) .list_ttl::before {
  background: url(../img/top/icon_service04.png) no-repeat;
  background-size: contain;
}

#service .main_service li:nth-child(5) .list_ttl::before {
  background: url(../img/top/icon_service05.png) no-repeat;
  background-size: contain;
}

#service .main_service li:nth-child(6) .list_ttl::before {
  background: url(../img/top/icon_service06.png) no-repeat;
  background-size: contain;
}

#service .main_service li:nth-child(7) .list_ttl::before {
  background: url(../img/top/icon_service07.png) no-repeat;
  background-size: contain;
}

#service .main_service li:nth-child(8) .list_ttl::before {
  background: url(../img/top/icon_service08.png) no-repeat;
  background-size: contain;
}

#service .other_service {
  margin-top: 60px;
}

#service .other_service ul {
  gap: 25px calc(100% -  48.7% * 2);
}

#service .other_service li {
  width: 48.7%;
  max-width: 545px;
  -webkit-box-shadow: 0px 5px 1px #d4d4d4;
          box-shadow: 0px 5px 1px #d4d4d4;
  position: relative;
}

#service .other_service li a {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 183px auto;
      grid-template-columns: 183px auto;
  -ms-grid-rows: auto 1fr;
      grid-template-rows: auto 1fr;
}

#service .other_service li picture {
  -ms-grid-column: 1;
  grid-column: 1;
  grid-row: 1 / -1;
}

#service .other_service li .list_ttl {
  font-size: 23px;
  line-height: 1.5;
  color: #44a8c7;
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 25px 30px 10px;
}

#service .other_service li .list_ttl::before {
  content: '';
  width: 40px;
  height: 40px;
  display: block;
  margin-right: 13px;
}

#service .other_service li p {
  font-size: 16px;
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
  margin: 0 30px;
}

#service .other_service li:nth-child(1) .list_ttl::before {
  background: url(../img/top/icon_other-service01.png) no-repeat center;
  background-size: contain;
}

#service .other_service li:nth-child(2) .list_ttl::before {
  background: url(../img/top/icon_other-service02.png) no-repeat center;
  background-size: contain;
}

#service .other_service li:nth-child(3) .list_ttl::before {
  background: url(../img/top/icon_other-service03.png) no-repeat center;
  background-size: contain;
}

#service .other_service li:nth-child(4) .list_ttl::before {
  background: url(../img/top/icon_other-service04.png) no-repeat center;
  background-size: contain;
}

#service .other_service li:nth-child(5) .list_ttl::before {
  background: url(../img/top/icon_other-service05.png) no-repeat center;
  background-size: contain;
}

#service .other_service li::after {
  content: '';
  background: url(../img/common/icon_sankaku_rightdown_lightblue.svg) no-repeat;
  width: 23px;
  height: 23px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

@media only screen and (max-width: 1024px) {
  #service .main_service li div {
    padding: 30px 27px 36px;
  }
  #service .other_service li .list_ttl {
    font-size: 20px;
    margin: 18px 20px 10px;
  }
  #service .other_service li p {
    margin: 0 20px 0;
  }
}

@media only screen and (max-width: 960px) {
  #service .service_ttl::before {
    width: calc(224px * 0.7);
    height: calc(113px * 0.7);
  }
  #service .service_ttl::after {
    width: calc(169px * 0.7);
    height: calc(142px * 0.7);
    bottom: 5px;
  }
  #service .ttl_stripe {
    margin-bottom: 22px;
  }
  #service .ttl_stripe_color02 {
    margin-bottom: 22px;
  }
  #service .main_service li div {
    padding: 3vw 2.5vw 3vw;
  }
  #service .main_service li .list_ttl {
    font-size: 21px;
    margin-bottom: 8px;
  }
  #service .main_service li .list_ttl::before {
    width: 50px;
    height: 50px;
    margin-bottom: 6px;
  }
  #service .other_service {
    margin-top: 40px;
  }
  #service .other_service li a {
    -ms-grid-columns: 37% auto;
        grid-template-columns: 37% auto;
  }
  #service .other_service li .list_ttl {
    font-size: 17px;
    margin: 12px 14px 3px;
  }
  #service .other_service li .list_ttl::before {
    width: 25px;
    height: 25px;
    margin-right: 6px;
  }
  #service .other_service li p {
    font-size: 14px;
    line-height: 1.5;
    margin: 0 14px 0;
  }
}

@media only screen and (max-width: 568px) {
  #service {
    background: #e5f2f7 url(../img/common/effect_line_blue_sp.png) no-repeat top center;
    background-size: contain;
  }
  #service .service_ttl {
    padding-bottom: 20px;
  }
  #service .service_ttl .ttl_section_top {
    margin: -13px 0 0;
  }
  #service .service_ttl::before {
    width: calc(224px * 0.4);
    height: calc(113px * 0.4);
    left: -2%;
    bottom: -15px;
  }
  #service .service_ttl::after {
    width: calc(169px * 0.5);
    height: calc(142px * 0.5);
    right: -5%;
    bottom: -15px;
  }
  #service .ttl_stripe {
    margin-bottom: 20px;
  }
  #service .main_service ul {
    gap: 25px 0;
  }
  #service .main_service li {
    max-width: initial;
	width: 100%;
  }
  #service .main_service li div {
    padding: 16px 20px 16px;
  }
  #service .main_service li div::after {
    width: 25px;
    height: 25px;
  }
  #service .other_service {
    margin: 40px 0 30px;
  }
  #service .other_service ul {
    gap: 15px 0;
  }
  #service .other_service li {
    width: 100%;
  }
  #service .other_service li::after {
    width: 20px;
    height: 20px;
  }
  #service .other_service li a {
    padding: 20px 16px 20px 20px;
    -ms-grid-columns: 47.4% 47.4%;
        grid-template-columns: 47.4% 47.4%;
    -ms-grid-rows: auto 1fr;
        grid-template-rows: auto 1fr;
    -webkit-column-gap: 5.2%;
            column-gap: 5.2%;
  }
  #service .other_service li picture {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  #service .other_service li picture img {
    border-radius: 5px;
  }
  #service .other_service li .list_ttl {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
    margin: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
  }
  #service .other_service li .list_ttl.size_small {
    font-size: 15px;
  }
  #service .other_service li .list_ttl::before {
    width: 35px;
    height: 35px;
    margin: 0 0 5px;
  }
  #service .other_service li p {
    grid-column: 1 / -1;
    -ms-grid-row: 2;
    grid-row: 2;
    line-height: 1.75;
    margin: 10px 0 0;
  }
}

/*===============================================
 *	リサイクルについて
===============================================*/
#recycle .ttl_stripe {
  margin-bottom: 30px;
}

#recycle .sub_box {
  margin: 40px 0 0;
}

#recycle .recycle_image {
  background: url(../img/top/recycle_bg.jpg) no-repeat;
  background-size: cover;
  border-radius: 10px;
  text-align: center;
  margin-top: 50px;
}

#recycle .recycle_image img {
  max-width: 773px;
  position: relative;
  top: -20px;
  margin-bottom: -5px;
}

#recycle .recycle_list {
  margin-top: 20px;
  position: relative;
}

#recycle .recycle_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: var(--site-secondary);
  width: 15.2%;
  max-width: 170px;
}

#recycle .recycle_list .icon {
  height: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#recycle .recycle_list .name {
  margin-top: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 2;
      -ms-flex: 2;
          flex: 2;
  background: #44a8c7;
  color: #fff;
  font-size: 20px;
  line-height: 1.45;
  padding: 10px 0 12px;
}

#recycle .recycle_list::after {
  content: '';
  background: url(../img/common/icon_sankaku_down_orange.svg) no-repeat;
  width: 74px;
  height: 40px;
  position: absolute;
  left: 50%;
  bottom: -60px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

#recycle .price_box {
  border: 4px solid #a1d3e3;
  padding: 40px 44px 36px;
  margin-top: 80px;
}

#recycle .price_box .half_box .photo {
  width: 48.5%;
  max-width: 496px;
}

@media only screen and (max-width: 960px) {
  #recycle .sub_box {
    margin-top: 20px;
  }
  #recycle .recycle_image {
    margin-top: 25px;
  }
  #recycle .recycle_image img {
    max-width: 80%;
  }
  #recycle .recycle_list .name {
    font-size: 16px;
  }
  #recycle .price_box {
    margin-top: 70px;
    padding: 3.5vw 4vw 3.0vw;
  }
}

@media only screen and (max-width: 568px) {
  #recycle .ttl_section_top {
    margin: -13px 0 20px;
  }
  #recycle .ttl_stripe {
    margin-bottom: 20px;
  }
  #recycle .intro_box .half_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  #recycle .intro_box .half_box .txt_box {
    margin-top: 20px;
  }
  #recycle .intro_box .half_box .txt_box .ttl {
    margin-bottom: 8px;
  }
  #recycle .recycle_image {
    border-radius: 0;
    padding: 25px 0 27px;
    margin-top: 18px;
  }
  #recycle .recycle_image img {
    top: 0;
  }
  #recycle .recycle_list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 13px 0;
    margin-top: 15px;
  }
  #recycle .recycle_list li {
    width: 30.6%;
  }
  #recycle .recycle_list li .icon {
    height: 80px;
  }
  #recycle .recycle_list li picture {
    text-align: center;
  }
  #recycle .recycle_list li img {
    width: 50%;
  }
  #recycle .recycle_list .name {
    font-size: 15px;
  }
  #recycle .recycle_list::after {
    width: 55px;
    height: 30px;
    bottom: -46px;
  }
  #recycle .price_box {
    margin-top: 57px;
    border-radius: 10px;
    padding: 22px 20px 20px;
  }
  #recycle .price_box .txt_box .ttl {
    margin-bottom: 8px;
  }
  #recycle .price_box .txt_box p {
    font-size: 13px;
  }
  #recycle .price_box .half_box .photo {
    width: 100%;
    margin-top: 15px;
  }
}
/*===============================================
 *	SDGsについて
===============================================*/
#recycle .sdgs {margin: 50px auto 0;}
#recycle .ttl_stripe .sdgs {font-size: 37px;color: #ffd800;}
#recycle .example_box .example_content {border: 4px solid #a1d3e3;border-top: none;border-radius: 0 0 20px 20px;padding: 40px 40px;}
img.img-sdgs{margin: 0 auto;margin-bottom: 40px;width: 90%;display: block;}
.register-box,.reference-link{max-width: 496px;width: 100%;}

.reference-link li{background: #fff;border: #007fb1 2px solid;margin-bottom: 20px;}
.reference-link li:last-child{margin-bottom: 0;}
.reference-link li dl:hover{background: rgba(151,215,248,.6);}
.reference-link dl {display: flex;flex-wrap: wrap;}

.reference-link dl,.reference-link dl > dt,.reference-link dl > dd {box-sizing: border-box;}
.reference-link dl > dt,.reference-link dl > dd {display: flex;flex-direction: column;justify-content: center;}
.reference-link dl > dt {background: #007fb1;color: #fff;width: 14%;text-align: center;display: flex;justify-content: center;align-items: flex-start;}
.reference-link dl > dt img {max-width: 43px;margin: 0 auto;}

.reference-link dl > dd {color: #007fb1;font-size: 19px;padding: 1.2em;width: 86%;}
.reference-link dl > dd p{font-weight: bold;}
.reference-link dl > dd span{color: #444;font-size: 15px;font-weight: normal;display: block;}
.reference-link dl > dd.l-link_name{padding: .6em 1.2em 1em;}
.reference-link dl > dd.l-link_name span{line-height: 1.4;}
@media screen and (max-width: 1024px) {
.register-box {max-width: 338px;}
.reference-link {max-width: 490px;}
}
@media screen and (max-width: 960px) {
.ttl_left_border {font-size: 21px;padding: 4px 0 6px 20px;margin-bottom: 20px;}
}
@media screen and (max-width: 768px) {
.register-box {max-width: initial;margin-bottom: 20px;}
.reference-link {max-width: initial;}
.reference-link dl > dd.l-link_name {padding: 1.2em;}
.reference-link dl > dd.l-link_name span {line-height: 1.8;}
}
@media only screen and (max-width: 568px) {
#recycle .ttl_stripe.sdgs {font-size: 18px;}
#recycle .ttl_stripe .sdgs {font-size: 23px;}
#recycle .sdgs {margin: 30px -5.3vw 0;}
#recycle .example_box .example_content {border: none;border-bottom: 4px solid #a1d3e3;border-radius: 0;padding: 20px 20px 25px 20px;}
.ttl_left_border {padding: 4px 0 8px 17px;margin-bottom: 18px;}
img.img-sdgs{margin-bottom: 30px;width: 100%;}
.reference-link dl > dt {display: flex;padding: 10px 0;width: 20%;}
.reference-link dl > dd {font-size: 17px;width: 80%;}
.reference-link dl > dd p{line-height: 1.4;}
.reference-link dl > dd.l-link_name {padding: 1em;}
.reference-link dl > dd span {font-size: 14px;word-break: break-all;}
}
@media only screen and (max-width: 375px) {
.reference-link dl > dd {font-size: 16px;}
.reference-link dl > dd span {font-size: 13px;}
}
/*===============================================
 *	料金について
===============================================*/
#price .intro_box .ttl {
  font-size: 32px;
}

#price .price_off {
  margin-top: 50px;
}

#price .item_list {
  margin-top: 50px;
}

#price .item_list .ttl_stripe span {
  position: relative;
}

#price .item_list .ttl_stripe span::before {
  content: '';
  background: url(../img/top/icon_list.png) no-repeat;
  background-size: contain;
  width: 33px;
  height: 41px;
  position: absolute;
  left: -50px;
  top: 3px;
}

#price .item_list .item_content {
  padding: 40px 50px 50px;
}

#price .item_list .cate_box {
  padding: 0 0 20px;
}

#price .item_list .cate_box img {
  width: 34.8%;
  max-width: 355px;
}

#price .item_list .cate_box .item_example {
  width: 61.2%;
  max-width: 625px;
  margin-top: -8px;
}

#price .item_list .cate_box dl {
  margin-bottom: 16px;
}

#price .item_list .cate_box dl:last-of-type {
  margin: 0;
}

#price .item_list .cate_box dt {
  font-size: 22px;
  font-weight: bold;
  position: relative;
  margin-bottom: 6px;
}

#price .item_list .cate_box dt .txt_keycolor {
  margin-left: 18px;
}

#price .item_list .cate_box dt .yen {
  font-size: 0.77em;
}

#price .item_list .cate_box dt::before {
  content: '';
  width: 15px;
  height: 15px;
  background: var(--site-primary);
  display: inline-block;
  margin: -2px 10px 0 0;
}

#price .item_list .cate_box dd {
  line-height: 1.8;
}

#price .item_list .cate_box .note_box {
  margin-top: 30px;
}

#price .item_list .other_items {
  margin-top: 30px;
  padding: 0;
}

#price .item_list .other_items .ttl_stripe_color02 {
  font-size: 27px;
  border-radius: 10px;
  margin-bottom: 30px;
}

.pack_price {
  padding: 70px 0;
}

.pack_price .ttl_section_top {
  margin: 0 0 36px;
}

.pack_price .ttl_section_top .before_icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.pack_price .ttl_section_top .before_icon::before {
  content: '';
  background: url(../img/top/icon_calc.png) no-repeat;
  background-size: contain;
  width: 56px;
  height: 60px;
  display: inline-block;
  margin-right: 20px;
  position: relative;
  top: -5px;
}

.pack_price .pack_intro {
  border: 4px solid #a1d3e3;
  border-radius: 10px;
  padding: 32px 44px 32px;
  position: relative;
}

.pack_price .pack_intro div::after {
  content: '';
  background: url(../img/top/track.png) no-repeat;
  background-size: contain;
  width: 300px;
  height: 169px;
  position: absolute;
  right: 70px;
  top: -30px;
}

.pack_price .pack_intro p {
  font-size: 17px;
  line-height: 2.4;
}

.pack_price .pack_intro p span {
  font-size: 1.29em;
}

.pack_price .pack_intro p .underline_yellow {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #ffd800));
  background: linear-gradient(transparent 70%, #ffd800 0%);
  background-position-y: 0;
}

.pack_price ul {
  margin: 40px 0 35px;
  gap: 30px 0;
}

.pack_price li {
  width: 31.8%;
  max-width: 356px;
}

.pack_price li .ttl_stripe {
  font-size: 25px;
  padding: 0.5em 1.25em 0.7em;
}

.pack_price li .txt_box {
  padding: 25px 26px 27px;
}

.pack_price li .txt {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 25px;
}

.pack_price li dt {
  width: 85px;
  font-size: 18px;
  font-weight: bold;
  background: #44a8c7;
  color: #fff;
  text-align: center;
  margin-bottom: 10px;
  padding: 4px 0 7px;
}

.pack_price li dt.cost {
  background: var(--site-keycolor);
}

.pack_price li dd {
  width: calc(100% - 85px);
  font-size: 20px;
  padding-left: 15px;
  margin-bottom: 10px;
  line-height: 1.0;
}

.pack_price li dd.cost {
  color: var(--site-keycolor);
  font-size: 28px;
  font-weight: bold;
}

.pack_price li dd.cost .yen {
  font-size: 0.6em;
}

.pack_price li dd.cost.others {
  font-size: 23px;
}

.pack_price .note_box {
  padding: 25px 17.5%;
}

.features .bg_white, .features .bg_gray {
  padding: 10px 50px;
}

.features .half_box {
  padding: 40px 0;
}

.features .half_box .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0;
}

.features .half_box .ttl::before {
  content: '';
  width: 70px;
  height: 70px;
  display: inline-block;
  margin-right: 20px;
}

.features .box_first {
  position: relative;
}

.features .box_first .ttl::before {
  background: url(../img/common/num_circle01.svg) no-repeat;
}

.features .box_first::after {
  content: '';
  background: url(../img/common/line_dot.png) repeat-x;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.features .box_second .ttl::before {
  background: url(../img/common/num_circle02.svg) no-repeat;
}

@media only screen and (max-width: 1024px) {
  .pack_price .pack_intro div::after {
    width: calc(300px * 0.8);
    height: calc(169px * 0.8);
    right: 15px;
    top: 4px;
  }
  .pack_price li .ttl_stripe {
    font-size: 22px;
  }
  .pack_price li dt {
    font-size: 16px;
  }
  .pack_price li dd {
    padding-left: 15px;
  }
  .pack_price li dd.cost {
    font-size: 28px;
  }
  .pack_price .note_box {
    padding: 25px 12%;
  }
}

@media only screen and (max-width: 960px) {
  #price .intro_box .ttl {
    font-size: 24px;
  }
  #price .price_off {
    margin-top: 35px;
  }
  #price .item_list {
    margin-top: 35px;
  }
  #price .item_list .ttl_stripe span::before {
    width: 29px;
    height: 36px;
    left: -43px;
    top: 0;
  }
  #price .item_list .item_content {
    padding: 3vw 4vw 4vw;
  }
  #price .item_list .cate_box dt {
    font-size: 19px;
    margin-bottom: 2px;
  }
  #price .item_list .other_items {
    margin-top: 20px;
  }
  #price .item_list .other_items .ttl_stripe_color02 {
    font-size: 22px;
    margin-bottom: 22px;
  }
  .pack_price {
    padding: 7vw 0 0;
  }
  .pack_price .pack_intro {
    padding: 2.5vw 3vw 2.5vw;
  }
  .pack_price .pack_intro p {
    font-size: 15px;
  }
  .pack_price .pack_intro div::after {
    width: calc(300px * 0.6);
    height: calc(169px * 0.6);
    right: 5px;
    top: -40px;
  }
  .pack_price li .ttl_stripe {
    font-size: 18px;
    padding: 0.7em 0.5em 0.9em;
  }
  .pack_price li .txt {
    font-size: 16px;
    margin-bottom: 18px;
  }
  .pack_price li .txt_box {
    padding: 2.5vw 2.5vw 2vw;
  }
  .pack_price li dt {
    font-size: 14px;
    width: 70px;
  }
  .pack_price li dd {
    font-size: 15px;
  }
  .pack_price li dd.cost {
    font-size: 22px;
  }
  .pack_price .note_box {
    padding: 16px 3% 16px 13%;
  }
  .features {
    margin-top: 7vw;
  }
  .features .bg_white, .features .bg_gray {
    padding: 1vw 4vw;
  }
  .features .half_box {
    padding: 4vw 0;
  }
  .features .half_box .ttl::before {
    width: 55px;
    height: 55px;
    margin-right: 8px;
  }
}

@media only screen and (max-width: 568px) {
  #price .ttl_section_top {
    margin: -13px 0 20px;
  }
  #price .intro_box .half_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  #price .intro_box .txt_box {
    margin-top: 20px;
  }
  #price .intro_box .ttl {
    font-size: 21px;
    margin-bottom: 8px;
  }
  #price .price_off {
    margin-top: 30px;
  }
  #price .item_list {
    border-radius: 0;
    margin-top: 30px;
  }
  #price .item_list .ttl_stripe {
    padding: 0.6em 0.5em 0.8em;
  }
  #price .item_list .ttl_stripe span {
    padding-left: 12px;
  }
  #price .item_list .ttl_stripe span::before {
    width: 28px;
    height: 35px;
    left: -29px;
  }
  #price .item_list .item_content {
    padding: 16px 5.3vw 35px;
  }
  #price .item_list .cate_box > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #price .item_list .cate_box img {
    width: 100%;
    border-radius: 10px;
  }
  #price .item_list .cate_box dl {
    margin-bottom: 12px;
  }
  #price .item_list .cate_box dt::before {
    width: 10px;
    height: 10px;
    position: relative;
    top: -2px;
  }
  #price .item_list .cate_box dt .yen {
    font-size: 0.8em;
  }
  #price .item_list .cate_box .item_example {
    width: 100%;
    margin-top: 15px;
  }
  #price .item_list .cate_box .note_box {
    margin-top: 16px;
  }
  #price .item_list .other_items {
    margin-top: 15px;
  }
  #price .item_list .other_items .ttl_stripe_color02 {
    border-radius: 0;
  }
  .pack_price {
    padding: 40px 0 0;
  }
  .pack_price .ttl_section_top {
    margin: -3px 0 24px;
  }
  .pack_price .ttl_section_top .before_icon::before {
    width: 32px;
    height: 35px;
    margin-right: 10px;
    top: 0;
  }
  .pack_price .pack_intro {
    padding: 20px 20px 16px;
  }
  .pack_price .pack_intro div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .pack_price .pack_intro div::after {
    position: relative;
    right: initial;
    top: initial;
    margin-bottom: 10px;
    width: calc(300px * 0.7);
    height: calc(169px * 0.7);
  }
  .pack_price .pack_intro p {
    text-align: center;
    line-height: 1.85;
  }
  .pack_price .pack_intro p span {
    font-size: 1.13em;
  }
  .pack_price .pack_intro p .underline_yellow {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(0%, #ffd800));
    background: linear-gradient(transparent 80%, #ffd800 0%);
    background-position-y: -1px;
  }
  .pack_price ul {
    margin: 30px 0 20px;
    gap: 20px 0;
  }
  .pack_price ul li {
    width: 100%;
  }
  .pack_price ul li .ttl_stripe {
    font-size: 21px;
    padding: 0.4em 0.5em 0.5em;
  }
  .pack_price ul li .txt_box {
    padding: 14px 20px 17px;
  }
  .pack_price ul li .txt {
    font-size: 20px;
    margin-bottom: 16px;
  }
  .pack_price ul li dt {
    font-size: 17px;
    width: 80px;
    margin-bottom: 5px;
    padding: 3px 0 5px;
  }
  .pack_price ul li dd {
    font-size: 17px;
    padding-left: 15px;
  }
  .pack_price ul li dd.cost {
    font-size: 24px;
  }
  .pack_price ul li dd.cost .yen {
    font-size: 0.65em;
  }
  .pack_price ul li dd.cost.others {
    font-size: 22px;
  }
  .pack_price .note_box {
    padding: 14px 20px 16px;
  }
  .features .ttl_section_top {
    margin: -5px 0 20px;
  }
  .features .bg_white, .features .bg_gray {
    padding: 20px 20px 22px;
  }
  .features .half_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding: 0 0;
  }
  .features .half_box .ttl {
    margin: 14px 0 10px;
  }
  .features .half_box .ttl::before {
    width: 45px;
    height: 45px;
    margin-right: 15px;
  }
  .features .box_first {
    padding: 0 0 20px;
  }
  .features .box_second {
    padding: 22px 0 0;
  }
}

/*===============================================
 *	不用品買取について
===============================================*/
#purchase .intro_box {
  background: #f5f5f5;
  margin-bottom: 60px;
}

#purchase .intro_box .txt_box {
  background: url(../img/top/bg_purchase_intro.png) no-repeat right top;
}

#purchase .intro_box .txt_box .ttl {
  font-size: 32px;
  margin-top: 10px;
}

#purchase .intro_box .txt_box .ttl span {
  padding-top: 30px;
  background-color: rgba(255, 255, 255, 0);
  background-image: radial-gradient(#007fb1 15%, rgba(1, 66, 189, 0) 17%), radial-gradient(#007fb1 15%, rgba(1, 66, 189, 0) 17%);
  background-position: top 10px left 0;
  background-size: 1.05em 1.05em;
  background-repeat: repeat-x;
}

#purchase .ttl_stripe_color02 {
  margin-bottom: 30px;
}

#purchase .content_box {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 356px auto;
      grid-template-columns: 356px auto;
  -ms-grid-rows: auto 1fr;
      grid-template-rows: auto 1fr;
  -webkit-column-gap: 2.5%;
          column-gap: 2.5%;
  margin-bottom: 50px;
}

#purchase .content_box .image {
  -ms-grid-column: 1;
  grid-column: 1;
  grid-row: 1 / -1;
}

#purchase .content_box .content_ttl {
  font-size: 27px;
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  margin: -8px 0 10px;
}

#purchase .content_box .txt {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
}

#purchase .content_box .notice {
  border: 4px solid #a1d3e3;
  padding: 25px 32px;
  margin-top: 24px;
}

#purchase .content_box .notice .notice_ttl {
  font-size: 19px;
  margin-bottom: 5px;
}

#purchase .content_box .notice .notice_ttl span::before {
  content: '';
  display: inline-block;
  background: var(--site-primary);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 10px;
  position: relative;
  left: 2px;
  top: -3px;
}

#purchase .content_box .notice p {
  font-size: 16px;
}

#purchase .content_box.cost_cut .image {
  text-align: right;
}

#purchase .content_box.cost_cut img {
  max-width: 318px;
}

@media only screen and (max-width: 1024px) {
  #purchase .intro_box .txt_box .ttl {
    font-size: 28px;
  }
  #purchase .content_box .content_ttl {
    font-size: 25px;
  }
}

@media only screen and (max-width: 960px) {
  #purchase .intro_box .txt_box .ttl {
    font-size: 24px;
  }
  #purchase .ttl_stripe_color02 {
    margin-bottom: 22px;
  }
  #purchase .content_box {
    margin-bottom: 35px;
  }
  #purchase .content_box .content_ttl {
    font-size: 21px;
    margin: -8px 0 5px;
  }
  #purchase .content_box .notice {
    padding: 2.5vw 2.5vw;
  }
  #purchase .content_box .notice .notice_ttl {
    font-size: 16px;
  }
  #purchase .content_box .notice p {
    font-size: 14px;
  }
}

@media only screen and (max-width: 568px) {
  #purchase .ttl_section_top {
    margin: -13px 0 20px;
  }
  #purchase .intro_box {
    margin-bottom: 30px;
  }
  #purchase .intro_box .half_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  #purchase .intro_box .txt_box {
    margin-top: 15px;
    background-position: right 0 bottom 0;
  }
  #purchase .intro_box .txt_box .ttl {
    font-size: 21px;
    margin-bottom: 8px;
  }
  #purchase .intro_box .txt_box .ttl span {
    padding-top: 20px;
    background-image: radial-gradient(#007fb1 14%, rgba(1, 66, 189, 0) 10%), radial-gradient(#007fb1 14%, rgba(1, 66, 189, 0) 20%);
    background-position: top 8px left 0;
  }
  #purchase .ttl_stripe_color02 {
    margin-bottom: 20px;
  }
  #purchase .content_box {
    -ms-grid-columns: 47.8% 47.8%;
        grid-template-columns: 47.8% 47.8%;
    -ms-grid-rows: 1fr auto;
        grid-template-rows: 1fr auto;
    -webkit-column-gap: 4.4%;
            column-gap: 4.4%;
    margin-bottom: 25px;
  }
  #purchase .content_box .image {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  #purchase .content_box .content_ttl {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
    font-size: 17px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
  }
  #purchase .content_box .txt {
    grid-column: 1 / -1;
    -ms-grid-row: 2;
    grid-row: 2;
    margin-top: 10px;
  }
  #purchase .content_box.cost_cut {
    display: block;
  }
  #purchase .content_box.cost_cut .image img {
    width: 88%;
    display: block;
    margin: 0 auto;
  }
  #purchase .content_box.cost_cut .content_ttl {
    display: block;
    margin: 24px 0 12px;
    font-size: 19px;
  }
  #purchase .content_box .notice {
    border-width: 4px;
    border-radius: 10px;
    padding: 16px 18px;
  }
  #purchase .content_box .notice .notice_ttl {
    font-size: 17px;
    line-height: 1.3;
    padding-left: 1em;
    text-indent: -1em;
  }
}

/*===============================================
 *	買取可能な品目
===============================================*/
#purchase_list .ttl_section_top {
  margin-top: -8px;
}

#purchase_list .ttl_section_top .before_icon {
  position: relative;
}

#purchase_list .ttl_section_top .before_icon::before {
  content: '';
  background: url(../img/top/icon_list_blue.png) no-repeat;
  background-size: contain;
  width: 40px;
  height: 51px;
  display: inline-block;
  margin-right: 20px;
  position: relative;
  top: -2px;
}

#purchase_list .intro_box {
  margin-bottom: 50px;
}

#purchase_list .intro_box .ttl {
  font-size: 32px;
}

#purchase_list .purchase_items {
  gap: 20px 0;
}

#purchase_list .purchase_items li {
  width: 18.6%;
  max-width: 208px;
  padding-bottom: 22px;
}

#purchase_list .purchase_items li .ttl_stripe_color02 {
  font-size: 22px;
  padding: 0.5em 0.25em 0.7em;
  border-radius: 0;
}

#purchase_list .purchase_items li p {
  font-size: 16px;
  margin: 15px 25px 0;
}

@media only screen and (max-width: 1024px) {
  #purchase_list .purchase_items li .ttl_stripe_color02 {
    font-size: 20px;
  }
  #purchase_list .purchase_items li p {
    margin: 15px 20px 0;
  }
}

@media only screen and (max-width: 960px) {
  #purchase_list .ttl_section_top {
    margin-top: 0;
  }
  #purchase_list .ttl_section_top .before_icon::before {
    width: 36px;
    height: 44px;
    margin-right: 15px;
  }
  #purchase_list .intro_box {
    margin-bottom: 35px;
  }
  #purchase_list .intro_box .ttl {
    font-size: 24px;
  }
  #purchase_list .purchase_items li {
    padding-bottom: 10px;
  }
  #purchase_list .purchase_items li .ttl_stripe_color02 {
    font-size: 16px;
    margin-bottom: 5px;
  }
  #purchase_list .purchase_items li p {
    font-size: 14px;
    margin: 2vw 2vw 0;
  }
}

@media only screen and (max-width: 568px) {
  #purchase_list .ttl_section_top {
    margin: -2px 0 24px;
  }
  #purchase_list .ttl_section_top .before_icon::before {
    width: 28px;
    height: 35px;
  }
  #purchase_list .intro_box {
    margin-bottom: 30px;
  }
  #purchase_list .intro_box .half_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  #purchase_list .intro_box .txt_box {
    margin-top: 20px;
  }
  #purchase_list .intro_box .txt_box .ttl {
    margin-bottom: 8px;
    font-size: 21px;
  }
  #purchase_list .purchase_items {
    gap: 15px 0;
  }
  #purchase_list .purchase_items li {
    width: 47.8%;
    padding: 0;
    border-radius: 5px;
  }
  #purchase_list .purchase_items li .ttl_stripe_color02 {
    font-size: 17px;
    margin: 0;
  }
  #purchase_list .purchase_items li p {
    margin: 10px 20px 16px;
  }
}

/*===============================================
 *	買取事例
===============================================*/
#purchase_example .ttl_section_top .before_icon::before {
  content: '';
  background: url(../img/top/icon_calc02.png) no-repeat;
  background-size: contain;
  width: 36px;
  height: 51px;
  display: inline-block;
  margin-right: 20px;
  position: relative;
  top: -3px;
}

#purchase_example .purchase_exmaple_list {
  margin-bottom: 5px;
}

#purchase_example .purchase_exmaple_list li {
  width: 31.8%;
  max-width: 356px;
  background: #f5f5f5;
  -webkit-box-shadow: 0px 5px 1px #d4d4d4;
          box-shadow: 0px 5px 1px #d4d4d4;
}

#purchase_example .purchase_exmaple_list li .txt_box {
  padding: 22px 40px 40px;
}

#purchase_example .purchase_exmaple_list li .price_name {
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 28px;
}

#purchase_example .purchase_exmaple_list li dt {
  background: var(--site-keycolor);
  color: #fff;
  font-size: 20px;
  padding: 3px 10px 5px;
  margin-right: 22px;
}

#purchase_example .purchase_exmaple_list li dd {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.0;
  position: relative;
  top: -3px;
}

#purchase_example .purchase_exmaple_list li dd .yen {
  font-size: 0.75em;
}

#purchase_example .btn_wrapper {
  margin-top: 45px;
}

@media only screen and (max-width: 1024px) {
  #purchase_example .purchase_exmaple_list li .txt_box {
    padding: 22px 22px 28px;
  }
  #purchase_example .purchase_exmaple_list li dt {
    font-size: 18px;
  }
}

@media only screen and (max-width: 960px) {
  #purchase_example .ttl_section_top .before_icon::before {
    width: 32px;
    height: 45px;
    margin-right: 15px;
  }
  #purchase_example .purchase_exmaple_list li .price_name {
    font-size: 17px;
    margin-bottom: 18px;
  }
  #purchase_example .purchase_exmaple_list li .txt_box {
    padding: 2vw 1.5vw 2vw;
  }
  #purchase_example .purchase_exmaple_list li dt {
    font-size: 15px;
    margin-right: 10px;
  }
  #purchase_example .purchase_exmaple_list li dd {
    font-size: 26px;
  }
}

@media only screen and (max-width: 568px) {
  #purchase_example .ttl_section_top {
    margin: -5px 0 24px;
  }
  #purchase_example .ttl_section_top .before_icon::before {
    width: 25px;
    height: 35px;
    top: -1px;
  }
  #purchase_example .purchase_exmaple_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px 0;
  }
  #purchase_example .purchase_exmaple_list li {
    width: 100%;
  }
  #purchase_example .purchase_exmaple_list li .txt_box {
    padding: 14px 30px 25px;
  }
  #purchase_example .purchase_exmaple_list li .price_name {
    font-size: 19px;
  }
  #purchase_example .purchase_exmaple_list li dt {
    font-size: 17px;
    padding: 3px 14px 5px;
  }
  #purchase_example .purchase_exmaple_list li dd {
    font-size: 30px;
  }
  #purchase_example .purchase_exmaple_list li dd .yen {
    font-size: 0.76em;
  }
  #purchase_example .btn_wrapper {
    margin-top: 30px;
  }
}

/*===============================================
 *	作業事例
===============================================*/
.case_box {
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 50px;
}
.case-contents .date_time{
  font-size:13px;
  color:var(--site-primary);
  margin-bottom: 5px;
}
.case-contents .date_time time{
  padding-left: 22px;
  background: url(../img/common/icon-clock.png) no-repeat left center;
  background-size: 16px;
}
.case_box dt {
  font-weight: bold;
  text-align: center;
}

.case_box dd {
  font-weight: bold;
  text-align: center;
}

.case_box .case_ttl {
  font-size: 28px;
  line-height: 1.5;
  color: #fff;
  padding: 0.5em 1.25em 0.5em;
}

.case_box .case_ttl::before {
  content: '';
  background: url(../img/common/num_circle_white01.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 90px;
  height: 90px;
  margin-right: 24px;
}

.case_box .photo {
  width: 48.6%;
  max-width: 495px;
}

.case_box .photo img {
  border-radius: 10px;
}

.case_box .photo dl {
  font-size: 18px;
  margin-top: 20px;
}

.case_box .photo dt {
  background: #44a8c7;
  color: #fff;
  -ms-flex-preferred-size: 135px;
      flex-basis: 135px;
  padding: 9px 0 9px;
}

.case_box .photo dd {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 9px 0 9px;
  border: 2px solid #66b2d0;
  border-left: none;
}

.case_box .photo dd:nth-of-type(1) {
  border-right: none;
}

.case_box .case_price {
  width: 48.6%;
  max-width: 495px;
  margin: -8px 0 0;
}

.case_box .case_price .ttl_price {
  font-size: 17px;
  margin-bottom: 12px;
}

.case_box .case_price .ttl_price span {
  font-size: 1.58em;
  margin-right: 12px;
}

.case_box .calc_cost {
  position: relative;
}

.case_box .calc_cost dl {
  -ms-flex-preferred-size: 45.4%;
      flex-basis: 45.4%;
}

.case_box .calc_cost dt {
  font-size: 20px;
  background: #7a7a7a;
  color: #fff;
  padding: 6px 0 9px;
}

.case_box .calc_cost dd {
  font-size: 27px;
  color: #7a7a7a;
  border: 2px solid #afafaf;
  border-top: none;
  padding: 5px 0 7px 10px;
}

.case_box .calc_cost dd .yen {
  font-size: 15px;
}

.case_box .calc_cost dd .tax {
  font-size: 13px;
}

.case_box .calc_cost .purchase_price dt {
  background: var(--site-primary);
}

.case_box .calc_cost .purchase_price dd {
  border: 2px solid #66b2d0;
  border-top: none;
  color: var(--site-primary);
}

.case_box .calc_cost img {
  width: 25px;
  position: relative;
  top: 23px;
}

.case_box .calc_cost p.purchase_item {
  font-size: 14px;
  font-weight: bold;
  position: absolute;
  right: 25px;
  bottom: -30px;
}

.case_box .calc_cost::after {
  content: '';
  background: url(../img/common/icon_sankaku_down_pink.svg) no-repeat;
  width: 50px;
  height: 28px;
  position: absolute;
  left: 50%;
  bottom: -43px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.case_box .total {
  margin-top: 52px;
}

.case_box .total dt {
  background: var(--site-keycolor);
  color: #fff;
  font-size: 24px;
  padding: 3px 0 5px;
}

.case_box .total dd {
  font-size: 40px;
  color: var(--site-keycolor);
  border: 2px solid #dc636b;
  border-top: none;
  padding: 4px 0 6px;
}

.case_box .total dd .yen {
  font-size: 0.7em;
}

.case_box .total dd .tax {
  font-size: 22px;
}

.case_box .annotation_txt,.case_box .annotation_inner_txt {
  color: #9a9a9a;
  margin-top: 14px;
}

.case_box .customer_msg {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 100px auto;
      grid-template-columns: 100px auto;
  -ms-grid-rows: 100px auto;
      grid-template-rows: 100px auto;
  background: #f5f5f5;
  padding: 32px 40px 16px;
  margin: 30px 0 30px;
}

.case_box .customer_msg .customer_name {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  font-size: 16px;
  font-weight: bold;
  margin-top: 5px;
}

.case_box .customer_msg .msg_txt {
  -ms-grid-column: 2;
  grid-column: 2;
  grid-row: 1 / -1;
  padding-left: 30px;
  margin-top: -3px;
}

.case_box .customer_msg img {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
}

.case_box .staff_msg {
  position: relative;
}

.case_box .staff_msg .ttl_left_border {
  width: 66.7%;
  margin-bottom: 18px;
}

.case_box .staff_msg .msg_txt {
  width: 66.7%;
}

.case_box .staff_msg img {
  width: 29.7%;
  max-width: 302px;
  position: absolute;
  right: 0;
  top: 10px;
}

.case_box.case01 .case_ttl::before {
  background: url(../img/common/num_circle_white01.svg) no-repeat center;
  background-size: contain;
}

.case_box.case02 .case_ttl::before {
  background: url(../img/common/num_circle_white02.svg) no-repeat center;
  background-size: contain;
}

.case_box.case02 .calc_cost p.purchase_item {
  right: 42px;
}
.case_box.case03 {
  margin-bottom: 15px;
}
.case_box.case03 .case_ttl::before {
  background: url(../img/common/num_circle_white03.svg) no-repeat center;
  background-size: contain;
}
#case .annotation_txt {
  margin-bottom: 40px;
  color: #9a9a9a;
}
#case .price_off .annotation_txt {
  margin: 10px 0 0;
}

@media only screen and (max-width: 1024px) {
  .case_box .calc_cost p.purchase_item {
    right: 0 !important;
  }
}

@media only screen and (max-width: 960px) {
  .case_box {
    margin-bottom: 35px;
  }
  .case_box .case_ttl {
    font-size: 22px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .case_box .case_ttl::before {
    margin-right: 15px;
  }
  .case_box .photo dt {
    font-size: 15px;
    -ms-flex-preferred-size: 30%;
        flex-basis: 30%;
  }
  .case_box .photo dd {
    font-size: 15px;
  }
  .case_box .case_price .ttl_price {
    font-size: 15px;
  }
  .case_box .calc_cost dt {
    font-size: 16px;
  }
  .case_box .calc_cost dd {
    font-size: 22px;
  }
  .case_box .calc_cost p.purchase_item {
    font-size: 12px;
    right: 0;
    bottom: -25px;
  }
  .case_box .calc_cost img {
    width: 18px;
    top: 20px;
  }
  .case_box .calc_cost::after {
    width: 30px;
    height: 17px;
  }
  .case_box .total {
    margin-top: 54px;
  }
  .case_box .total dt {
    font-size: 18px;
  }
  .case_box .total dd {
    font-size: 28px;
  }
  .case_box .customer_msg {
    padding: 3vw 3vw;
    margin: 18px 0;
  }
  .case_box .staff_msg .ttl_left_border {
    margin-bottom: 10px;
  }
  #case .annotation_txt {
    margin-bottom: 25px;
  }
}

@media only screen and (max-width: 568px) {
  #case .ttl_section_top {
    margin: -10px 0 20px;
  }
  .case_box {
    border-radius: 0;
  }
  .case_box .case_ttl {
    font-size: 18px;
    line-height: 1.35;
    padding: 0.6em 5.3vw 0.6em;
  }
  .case_box .case_ttl::before {
    width: 50px;
    height: 50px;
    margin-right: 13px;
  }
  .case_box .case_ttl span {
    width: calc(100% - (50px + 13px));
  }
  .case_box .ttl_stripe {
    background: url(../img/common/bg_stripe_blue02.png);
    background-size: 3%;
  }
  .case_box .case_box_content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .case_box .photo {
    width: 100%;
    margin-top: 25px;
  }
  .case_box .photo dl {
    margin-top: 15px;
  }
  .case_box .photo dl dt {
    font-size: 13px;
    padding: 8px 0 7px;
  }
  .case_box .photo dl dd {
    padding: 4px 0 4px;
  }
  .case_box .case_price {
    width: 100%;
  }
  .case_box .case_price .ttl_price span {
    font-size: 1.4em;
  }
  .case_box .calc_cost dl {
    -ms-flex-preferred-size: 43.3%;
        flex-basis: 43.3%;
  }
  .case_box .calc_cost dt {
    padding: 5px 0 6px;
  }
  .case_box .calc_cost dd {
    padding: 10px 0;
    font-size: 22px;
    line-height: 20px;
  }
  .case_box .calc_cost dd .yen {
    font-size: 16px;
  }
  .case_box .calc_cost dd .tax {
    font-size: 14px;
  }
  .case_box .calc_cost img {
    width: 25px;
    top: 18px;
  }
  .case_box .calc_cost p.purchase_item {
    font-size: 10px;
    right: 8px !important;
    bottom: -23px;
  }
  .case_box .calc_cost::after {
    width: 50px;
    height: 29px;
    bottom: -40px;
  }
  .case_box .total {
    margin-top: 48px;
  }
  .case_box .total dt {
    font-size: 20px;
    padding: 4px 0 5px;
  }
  .case_box .total dd {
    font-size: 35px;
    padding: 0 0 4px;
  }
  .case_box .annotation_txt {
    margin-top: 8px;
    padding: 0;
    text-indent: 0;
  }
  .case_box .customer_msg {
    display: block;
    padding: 22px 22px 20px;
    border-radius: 10px;
    margin-top: 20px;
  }
  .case_box .customer_msg img {
    float: left;
    width: 70px;
    margin: 0 15px 8px 0;
  }
  .case_box .customer_msg .customer_name {
    text-align: left;
    font-size: 18px;
    margin: -8px 0 2px;
  }
  .case_box .customer_msg .msg_txt {
    padding: 0;
  }
  .case_box .staff_msg .ttl_left_border {
    width: 100%;
    margin-bottom: 20px;
  }
  .case_box .staff_msg img {
    position: relative;
    right: initial;
    top: initial;
    float: right;
    width: 47.8%;
    margin: 0 0 8px 4.4%;
  }
  .case_box .staff_msg .msg_txt {
    width: 100%;
    margin: -7px 0 0;
  }
  .case_box.case03 {
    margin-bottom: 10px;
  }
  #case .annotation_txt {
    margin-bottom: 25px;
  }
}

/*===============================================
 *	不用品回収の流れ
===============================================*/
#flow .ttl_section_top .before_icon::before {
  content: '';
  background: url(../img/top/icon_track.png) no-repeat;
  background-size: contain;
  width: 70px;
  height: 48px;
  display: inline-block;
  margin-right: 20px;
  position: relative;
  top: -2px;
}

.flow_list {
  counter-reset: number;
}

.flow_list li {
  width: 18.6%;
  max-width: 208px;
  position: relative;
}

.flow_list li .bg_gray {
  margin-top: 70px;
}

.flow_list li .ttl_flow {
  font-size: 21px;
  margin-bottom: 10px;
}

.flow_list li .bg_gray .txt_box {
  padding: 20px 25px 25px;
}

.flow_list li .bg_gray p {
  font-size: 16px;
}

.flow_list li .step {
  font-size: 25px;
  font-weight: bold;
  font-family: 'Robot';
  text-align: center;
  color: #fff;
  background: #7fbfd8;
  position: absolute;
  width: 113%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 5px 0;
}

.flow_list li .step .step_txt::after {
  content: "0" counter(number);
  counter-increment: number;
  padding-left: 8px;
}

.flow_list li .step .step_txt_image {
  display: none;
}

.flow_list li:nth-child(1) .step {
  width: 106.2%;
  left: 0;
  -webkit-transform: none;
          transform: none;
  -webkit-clip-path: polygon(0% 0%, 96% 0%, 100% 50%, 96% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 96% 0%, 100% 50%, 96% 100%, 0% 100%);
}

.flow_list li:nth-child(2) .step {
  width: 112.8%;
  background: #59accc;
  -webkit-clip-path: polygon(96% 0%, 100% 50%, 96% 100%, 0% 100%, 4% 50%, 0% 0%);
          clip-path: polygon(96% 0%, 100% 50%, 96% 100%, 0% 100%, 4% 50%, 0% 0%);
}

.flow_list li:nth-child(3) .step {
  width: 112.6%;
  background: #409fc5;
  -webkit-clip-path: polygon(96% 0%, 100% 50%, 96% 100%, 0% 100%, 4% 50%, 0% 0%);
          clip-path: polygon(96% 0%, 100% 50%, 96% 100%, 0% 100%, 4% 50%, 0% 0%);
}

.flow_list li:nth-child(4) .step {
  background: #2692bd;
  -webkit-clip-path: polygon(96% 0%, 100% 50%, 96% 100%, 0% 100%, 4% 50%, 0% 0%);
          clip-path: polygon(96% 0%, 100% 50%, 96% 100%, 0% 100%, 4% 50%, 0% 0%);
}

.flow_list li:nth-child(5) .step {
  background: #007fb1;
  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 4.2% 50%);
          clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 4.2% 50%);
  width: 106.2%;
  left: -6.2%;
  -webkit-transform: none;
          transform: none;
}

@media only screen and (max-width: 960px) {
  #flow .ttl_section_top .before_icon::before {
    width: 60px;
    height: 40px;
  }
  .flow_list li .step {
    font-size: 18px;
  }
  .flow_list li .bg_gray {
    margin-top: 55px;
  }
  .flow_list li .bg_gray .txt_box {
    padding: 2vw 2vw;
  }
  .flow_list li .bg_gray p {
    font-size: 14px;
  }
  .flow_list li .ttl_flow {
    font-size: 18px;
  }
}

@media only screen and (max-width: 568px) {
  #flow .ttl_section_top {
    margin: -5px 0 20px;
  }
  #flow .ttl_section_top .before_icon::before {
    width: 43px;
    height: 30px;
    margin-right: 14px;
  }
  .flow_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px 0;
  }
  .flow_list li {
    width: 100%;
    max-width: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .flow_list li .step {
    font-size: 25px;
    top: 50%;
    left: initial;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    width: 40px !important;
    height: 104%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .flow_list li .step .step_txt {
    display: none;
  }
  .flow_list li .step .step_txt_image {
    display: block;
    width: 15px;
    margin: auto;
    counter-increment: number;
  }
  .flow_list li .step .step_txt_image img {
    margin-bottom: 6px;
  }
  .flow_list li:nth-child(1) .step {
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 97.5%, 50% 100%, 0 97.5%);
            clip-path: polygon(0 0, 100% 0%, 100% 97.5%, 50% 100%, 0 97.5%);
    height: 103%;
    top: 0;
    -webkit-transform: none;
            transform: none;
  }
  .flow_list li:nth-child(2) .step {
    -webkit-clip-path: polygon(50% 2.5%, 100% 0, 100% 97.5%, 50% 100%, 0 97.5%, 0 0);
            clip-path: polygon(50% 2.5%, 100% 0, 100% 97.5%, 50% 100%, 0 97.5%, 0 0);
    top: 50.5%;
  }
  .flow_list li:nth-child(3) .step {
    -webkit-clip-path: polygon(50% 2.5%, 100% 0, 100% 97.5%, 50% 100%, 0 97.5%, 0 0);
            clip-path: polygon(50% 2.5%, 100% 0, 100% 97.5%, 50% 100%, 0 97.5%, 0 0);
  }
  .flow_list li:nth-child(4) .step {
    -webkit-clip-path: polygon(50% 2.5%, 100% 0, 100% 97.5%, 50% 100%, 0 97.5%, 0 0);
            clip-path: polygon(50% 2.5%, 100% 0, 100% 97.5%, 50% 100%, 0 97.5%, 0 0);
    top: 49.5%;
  }
  .flow_list li:nth-child(5) .step {
    -webkit-clip-path: polygon(50% 2.5%, 100% 0, 100% 100%, 50% 100%, 0 100%, 0 0);
            clip-path: polygon(50% 2.5%, 100% 0, 100% 100%, 50% 100%, 0 100%, 0 0);
    left: 0;
    top: initial;
    bottom: 0;
    -webkit-transform: none;
            transform: none;
    height: 103%;
  }
  .flow_list li .bg_gray {
    width: calc(100% - (40px + 20px));
    margin: 0 0 0 auto;
  }
  .flow_list li .bg_gray .txt_box {
    padding: 16px 20px 20px;
  }
  .flow_list li .bg_gray p {
    font-size: 15px;
  }
  .flow_list li .ttl_flow {
    font-size: 21px;
    margin-bottom: 7px;
  }
}

/*===============================================
 *	神奈川・横浜の不用品回収について
===============================================*/
.area_about_box {
  border-radius: 20px;
  overflow: hidden;
}

.area_about_box .media_box {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 48.3% 48.3%;
      grid-template-columns: 48.3% 48.3%;
  -ms-grid-rows: auto 1fr;
      grid-template-rows: auto 1fr;
  -webkit-column-gap: 3.4%;
          column-gap: 3.4%;
}

.area_about_box .media_box .photo {
  -ms-grid-column: 1;
  grid-column: 1;
  grid-row: 1 / -1;
}

.area_about_box .media_box .ttl {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  font-size: 27px;
  line-height: 1.45;
  margin: -10px 0 14px;
}

.area_about_box .media_box .txt_box {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
}

.area_about_box .media_box.media02 .photo {
  -ms-grid-column: 2;
  grid-column: 2;
  grid-row: 1 / -1;
}

.area_about_box .media_box.media02 .ttl {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
}

.area_about_box .media_box.media02 .txt_box {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
}

.area_about_box .media_box.media02.city_page {
  position: relative;
  padding-top: 42px;
}

.area_about_box .media_box.media02.city_page::after {
  content: '';
  background: url(../img/common/line_dot.png) repeat-x;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.area_about_box .points {
  border: 4px solid #a1d3e3;
  padding: 20px 30px;
  margin-top: 40px;
}

.area_about_box .points li {
  padding: 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.area_about_box .points li:first-child {
  border-bottom: 1px solid #ccc;
}

.area_about_box .points li::before {
  content: '';
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 15px;
}

.area_about_box .points li:nth-child(1)::before {
  background: url(../img/common/num_circle_small01.svg) no-repeat;
  background-size: contain;
}

.area_about_box .points li:nth-child(2)::before {
  background: url(../img/common/num_circle_small02.svg) no-repeat;
  background-size: contain;
}

.area_about_box .sub_txt {
  padding: 32px 0 35px;
  margin-bottom: 40px;
  position: relative;
}

.area_about_box .sub_txt::after {
  content: '';
  background: url(../img/common/line_dot.png) repeat-x;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.area_about_box .merit_demerit {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 150px auto auto;
      grid-template-columns: 150px auto auto;
  -ms-grid-rows: auto 1fr 1fr;
      grid-template-rows: auto 1fr 1fr;
  background: var(--site-primary);
  border: 1px solid #ccc;
  margin: 40px 0 30px;
}

.area_about_box .merit_demerit .name {
  font-size: 20px;
  text-align: center;
  color: #fff;
  border-left: 1px solid #ccc;
  padding: 14px 0;
}

.area_about_box .merit_demerit .txt {
  background: #fff;
  padding: 20px 25px;
  border-left: 1px solid #ccc;
}

.area_about_box .merit_demerit li {
  font-size: 16px;
  line-height: 1.65;
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 3px;
}

.area_about_box .merit_demerit .gyousei {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
}

.area_about_box .merit_demerit .minkan {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 1;
  grid-row: 1;
}

.area_about_box .merit_demerit .merit_ttl {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  font-size: 20px;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff url(../img/top/maru.png) no-repeat center center;
  border-bottom: 1px solid #ccc;
}

.area_about_box .merit_demerit .merit_gyousei {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
  border-bottom: 1px solid #ccc;
}

.area_about_box .merit_demerit .merit_minkan {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 2;
  grid-row: 2;
  border-bottom: 1px solid #ccc;
}

.area_about_box .merit_demerit .demerit_ttl {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 3;
  grid-row: 3;
  font-size: 20px;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff url(../img/top/batsu.png) no-repeat center center;
}

.area_about_box .merit_demerit .demerit_gyousei {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 3;
  grid-row: 3;
}

.area_about_box .merit_demerit .demerit_minkan {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 3;
  grid-row: 3;
}

.area_about_box .last_txt {
  margin-bottom: -5px;
}

.area_about_box .area_box_table {
  width: 100%;
  margin: 40px 0 40px;
}

.area_about_box .area_box_table th {
  background: #44a8c7;
  color: #fff;
  font-weight: bold;
  border: 1px solid #ccc;
  width: 30%;
  padding: 16px 30px 16px;
}

.area_about_box .area_box_table td {
  border: 1px solid #ccc;
  padding: 16px 30px 16px;
}

@media only screen and (max-width: 1024px) {
  .area_about_box .media_box .ttl {
    font-size: 25px;
  }
}

@media only screen and (max-width: 960px) {
  .area_about_box .media_box .ttl {
    font-size: 21px;
    margin: -5px 0 8px;
  }
  .area_about_box .media_box.media02.city_page {
    padding-top: 4vw;
  }
  .area_about_box .points {
    padding: 1.5vw 2.5vw;
    margin-top: 25px;
  }
  .area_about_box .sub_txt {
    padding: 25px 0 25px;
    margin-bottom: 30px;
  }
  .area_about_box .merit_demerit {
    -ms-grid-columns: 120px auto auto;
        grid-template-columns: 120px auto auto;
    margin: 25px 0 20px;
  }
  .area_about_box .merit_demerit .merit_ttl {
    font-size: 18px;
  }
  .area_about_box .merit_demerit .name {
    font-size: 18px;
  }
  .area_about_box .merit_demerit li {
    font-size: 14px;
  }
  .area_about_box .merit_demerit .txt {
    padding: 2vw 2vw;
  }
  .area_about_box .last_txt {
    margin: 0;
  }
  .area_about_box .area_box_table {
    margin: 4vw 0 4vw;
  }
  .area_about_box .area_box_table th {
    padding: 16px 20px 16px;
  }
  .area_about_box .area_box_table td {
    padding: 16px 20px 16px;
  }
}

@media only screen and (max-width: 568px) {
  #area_about .ttl_section_top {
    margin: -10px 0 20px;
  }
  .area_about_box {
    border-radius: 0;
  }
  .area_about_box .media_box {
    -ms-grid-columns: 47.8% 47.8%;
        grid-template-columns: 47.8% 47.8%;
    -ms-grid-rows: auto 1fr;
        grid-template-rows: auto 1fr;
  }
  .area_about_box .media_box .photo {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .area_about_box .media_box .photo img {
    border-radius: 5px;
  }
  .area_about_box .media_box .ttl {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
    font-size: 17px;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .area_about_box .media_box .txt_box {
    grid-column: 1 / -1;
    -ms-grid-row: 2;
    grid-row: 2;
    margin-top: 10px;
  }
  .area_about_box .media_box.media02 .photo {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .area_about_box .media_box.media02 .ttl {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .area_about_box .media_box.media02 .txt_box {
    grid-column: 1 / -1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .area_about_box .media_box.media02.city_page {
    padding-top: 22px;
  }
  .area_about_box .points {
    padding: 16px 20px;
    margin-top: 20px;
  }
  .area_about_box .points li {
    font-size: 16px;
    line-height: 1.75;
    position: relative;
    padding: 0 0 0 40px;
  }
  .area_about_box .points li::before {
    width: 30px;
    height: 30px;
    position: absolute;
    left: 0;
    top: 3px;
    margin: 0;
  }
  .area_about_box .points li:nth-child(1) {
    padding-bottom: 14px;
    margin-bottom: 14px;
  }
  .area_about_box .sub_txt {
    padding: 16px 0 20px;
    margin-bottom: 22px;
  }
  .area_about_box .merit_demerit {
    margin: 20px 0 18px;
    -ms-grid-columns: 50% 50%;
        grid-template-columns: 50% 50%;
    -ms-grid-rows: (auto)[6];
        grid-template-rows: repeat(6, auto);
  }
  .area_about_box .merit_demerit .name {
    border: none;
    padding: 7px 0 10px;
  }
  .area_about_box .merit_demerit .txt {
    border: none;
    border-top: 1px solid #ccc;
    font-size: 14px;
    padding: 12px 13px;
  }
  .area_about_box .merit_demerit .gyousei {
    grid-column: 1 / -1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .area_about_box .merit_demerit .minkan {
    grid-column: 1 / -1;
    -ms-grid-row: 4;
    grid-row: 4;
  }
  .area_about_box .merit_demerit .merit_ttl {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    font-size: 16px;
    padding: 13px 0;
    background-size: 38px;
    border: none;
    border-right: 1px solid #ccc;
  }
  .area_about_box .merit_demerit .merit_gyousei {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
    border: none;
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
  }
  .area_about_box .merit_demerit .merit_minkan {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 6;
    grid-row: 6;
    border-bottom: none;
    border-right: 1px solid #ccc;
  }
  .area_about_box .merit_demerit .demerit_ttl {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 2;
    grid-row: 2;
    font-size: 16px;
    padding: 13px 0;
    background-size: 36px;
    border: none;
  }
  .area_about_box .merit_demerit .demerit_gyousei {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 3;
    grid-row: 3;
  }
  .area_about_box .merit_demerit .demerit_minkan {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 6;
    grid-row: 6;
  }
  .area_about_box .merit_demerit .merit_ttl.sp {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 5;
    grid-row: 5;
  }
  .area_about_box .merit_demerit .demerit_ttl.sp {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 5;
    grid-row: 5;
  }
  .area_about_box .last_txt {
    margin-bottom: -8px;
  }
  .area_about_box .area_box_table {
    margin: 20px 0 20px;
  }
  .area_about_box .area_box_table th {
    display: block;
    width: 100%;
    font-size: 17px;
    text-align: center;
    padding: 9px 20px 11px;
    border: none;
  }
  .area_about_box .area_box_table td {
    display: block;
    line-height: 1.75;
    padding: 10px 20px 12px;
  }
}

/*===============================================
 *	悪徳業者にご注意
===============================================*/
#attention_collecter {
  background: url(../img/top/bg_attention.jpg) no-repeat;
  background-size: cover;
  padding: 48px 0 64px;
}

#attention_collecter .attention_ttl {
  font-size: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 22px;
}

#attention_collecter .attention_ttl .size_large {
  font-size: 1.16em;
}

#attention_collecter .attention_ttl::before {
  content: '';
  background: url(../img/common/icon_attention.svg) no-repeat center;
  background-size: contain;
  width: 40px;
  height: 40px;
  display: inline-block;
  margin-right: 20px;
}

@media only screen and (max-width: 960px) {
  #attention_collecter {
    padding: 5vw 0 6vw;
  }
  #attention_collecter .attention_ttl {
    font-size: 26px;
    margin-bottom: 12px;
  }
  #attention_collecter .attention_ttl::before {
    width: 35px;
    height: 35px;
    margin-right: 15px;
  }
}

@media only screen and (max-width: 568px) {
  #attention_collecter {
    background: url(../img/top/bg_attention_sp.jpg) no-repeat;
    background-size: cover;
    padding: 36px 0 36px;
    margin-top: -5px;
  }
  #attention_collecter .attention_ttl {
    font-size: 21px;
    margin-bottom: 14px;
  }
  #attention_collecter .attention_ttl::before {
    width: 30px;
    height: 30px;
  }
}

/*===============================================
 *	よくあるご質問
===============================================*/
#faq .ttl_section_top {
  margin: -10px 0 36px;
}

#faq .ttl_section_top .before_icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

#faq .ttl_section_top .before_icon::before {
  content: '';
  background: url(../img/top/icon_faq.png) no-repeat;
  background-size: contain;
  width: 60px;
  height: 49px;
  display: inline-block;
  margin-right: 20px;
}

.faq_list {
  gap: 30px 0;
}

.faq_list li {
  width: 48.7%;
  max-width: 545px;
  padding: 40px 40px 48px;
}

.faq_list dt {
  font-size: 22px;
  font-weight: bold;
  padding: 0 0 0 55px;
}

.faq_list dd {
  padding: 6px 0 0 55px;
  margin-top: 25px;
}

.faq_list dt, .faq_list dd {
  position: relative;
}

.faq_list dt::before {
  content: '';
  background: url(../img/common/icon_question.svg) no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  position: absolute;
  left: 0;
  top: 0;
}

.faq_list dd::before {
  content: '';
  background: url(../img/common/icon_answer.svg) no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  position: absolute;
  left: 0;
  top: 0;
}

@media only screen and (max-width: 960px) {
  #faq .ttl_section_top {
    margin: -6px 0 24px;
  }
  #faq .ttl_section_top .before_icon::before {
    width: 53px;
    height: 43px;
    margin-right: 15px;
  }
  .faq_list li {
    padding: 3vw 2.5vw;
  }
  .faq_list dt {
    font-size: 18px;
    padding: 0 0 0 45px;
  }
  .faq_list dd {
    padding: 4px 0 0 46px;
  }
  .faq_list dt::before {
    width: 35px;
    height: 35px;
  }
  .faq_list dd::before {
    width: 35px;
    height: 35px;
  }
}

@media only screen and (max-width: 568px) {
  #faq .ttl_section_top {
    margin: 0 0 18px;
  }
  #faq .ttl_section_top .before_icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.45;
  }
  #faq .ttl_section_top .before_icon::before {
    width: 49px;
    height: 40px;
    margin: 0 0 8px;
  }
  .faq_list {
    gap: 15px 0;
  }
  .faq_list li {
    width: 100%;
    padding: 20px 20px;
  }
  .faq_list dt {
    font-size: 17px;
    padding: 0 0 0 40px;
  }
  .faq_list dt::before {
    width: 30px;
    height: 30px;
  }
  .faq_list dd {
    padding: 0 0 0 40px;
    margin-top: 16px;
    line-height: 1.75;
  }
  .faq_list dd::before {
    width: 30px;
    height: 30px;
  }
}

/*===============================================
 *	会社情報
===============================================*/
#company .ttl_section_top {
  margin: -10px 0 40px;
}

#company .ttl_section_top .before_icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

#company .ttl_section_top .before_icon::before {
  content: '';
  background: url(../img/top/icon_company.png) no-repeat;
  background-size: contain;
  width: 55px;
  height: 55px;
  display: inline-block;
  margin-right: 20px;
}

#company iframe {
  width: 100%;
  height: 300px;
  border: 5px solid #fff;
}

#company table {
  width: 100%;
  margin-top: 12px;
}

#company table th {
  font-weight: bold;
  color: #fff;
  background: var(--site-primary);
  border-bottom: 1px solid #e6f0ff;
  width: 250px;
  padding: 16px 30px 14px;
}

#company table th.last {
  border-bottom: none;
}

#company table td {
  background: #fff;
  border: 1px solid #ccc;
  padding: 16px 30px 16px;
}

#company table td .postal {
  margin-right: 10px;
}

#company table td li {
  margin-bottom: 5px;
}
#company table td li a {
  border-bottom: 1px solid #aaa;
}
#company .greet_box {
  margin-top: 80px;
}
#company .greet_box .ttl_section_top {
  margin-bottom: 28px;
  
}
#company .greet_box .ttl_section_top .before_icon {
  justify-content: center;
}
#company .greet_box .ttl_section_top .before_icon::before {
  content: '';
  background: url(../img/top/icon_greeting.png) no-repeat;
  background-size: contain;
  width: 55px;
  height: 55px;
  display: inline-block;
  margin-right: 8px;
  position: relative;
  top: -3px;
}
#company .greet_box .ttl {
  font-size: 32px;
  text-align: center;
  margin-bottom: 24px;
  position: relative;
}
#company .greet_box .ttl::before, #company .greet_box .ttl::after{
  content: '';
  background: rgba(0, 127, 177, 0.4);
  display: block;
  height: 2px;
  width: 9%;
  position: absolute;
}
#company .greet_box .ttl::before {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#company .greet_box .ttl::after {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
#company .half_box .txt_box {
  width: 53%;
  max-width: initial;
}
#company .half_box .txt_box p {
  /* padding-right: 20px; */
}
#company .half_box img {
  width: 44.4%;
  max-width: 486px;
  margin-top: 20px;
}
@media only screen and (max-width: 1024px) {
  #company .greet_box .ttl {
    font-size: 27px;
  }
}
@media only screen and (max-width: 960px) {
  #company .ttl_section_top {
    margin: -6px 0 24px;
  }
  #company .ttl_section_top .before_icon::before {
    width: 48px;
    height: 48px;
  }
  #company .greet_box {
    margin-top: 50px;
  }
  #company .greet_box .ttl_section_top .before_icon::before {
    width: 48px;
    height: 48px;
    top: 0;
  }
  #company .greet_box .ttl::before, #company .greet_box .ttl::after{
    width: 4%;
  }
  #company .greet_box .ttl {
    font-size: 23px;
  }
  #company .greet_box .ttl span {
    padding: 0 15px;
  }
}

@media only screen and (max-width: 568px) {
  
  #company .ttl_section_top {
    margin: 0 0 18px;
  }
  #company .ttl_section_top .before_icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.45;
  }
  #company .ttl_section_top .before_icon::before {
    width: 45px;
    height: 45px;
    margin: 0 0 8px;
  }
  #company iframe {
    height: 170px;
  }
  #company table {
    margin-top: 5px;
  }
  #company table th {
    font-size: 17px;
    display: block;
    width: 100%;
    text-align: center;
    border: none;
    padding: 9px 20px 11px;
  }
  #company table td {
    display: block;
    line-height: 1.75;
    padding: 10px 20px 12px;
  }
  #company .greet_box {
    margin-top: 42px;
  }
  #company .greet_box .ttl_section_top {
    margin-bottom: 15px;
  }
  #company .greet_box .ttl_section_top .before_icon {
    flex-direction: row;
    
  }
  #company .greet_box .ttl_section_top .before_icon::before {
    width: 45px;
    height: 45px;
    margin: 0 5px 0 0;
  }
  #company .half_box {
    flex-direction: column-reverse;
  }
  #company .greet_box .ttl {
    font-size: 21px;
    margin: 0 0 10px;
  }
  #company .greet_box .ttl::before, #company .greet_box .ttl::after{
    width: 24%;
  }
  #company .half_box .txt_box {
    width: 100%;
  }
  #company .half_box .txt_box p {
    padding-right: 0;
  }
  #company .half_box img {
    width: 86.6%;
    display: block;
    margin: 0 auto 10px;
  }
}

/*===============================================
 *	サービス対応エリア
===============================================*/
#service_area {
  background: url(../img/top/bg_service-area.jpg) no-repeat center;
  background-size: cover;
}

#service_area .ttl_section_top {
  font-size: 27px;
  line-height: 1.5;
  margin: -10px 0 36px;
}

#service_area .ttl_section_top .before_icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.75em;
}

#service_area .ttl_section_top .before_icon::before {
  content: '';
  background: url(../img/top/icon_map.png) no-repeat;
  background-size: contain;
  width: 40px;
  height: 50px;
  display: inline-block;
  margin-right: 20px;
  position: relative;
  top: 3px;
}

#service_area .intro_box {
  position: relative;
}

#service_area .intro_box img {
  width: 34%;
  max-width: 380px;
  position: absolute;
  top: -118px;
  right: 0;
}

#service_area .txt_box {
  padding: 34px 40px 34px;
  width: 62.5%;
}

#service_area .txt_box .ttl {
  font-size: 27px;
  margin-bottom: 12px;
}

#service_area .bnr_box img {
  width: 48.3%;
  max-width: 540px;
}

.area_box {
  margin: 50px 0 60px;
}

.area_box ul {
  border: 4px solid #a1d3e3;
  border-top: none;
  border-radius: 0 0 20px 20px;
  padding: 35px 60px 28px;
  gap: calc((100% - (16% * 5)) / 5);
}

.area_box ul li {
  width: 16.8%;
  position: relative;
  padding-left: 12px;
  margin-bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.area_box ul li a {
  font-weight: bold;
}

.area_box ul li a:hover {
  color: var(--site-primary);
}

.area_box ul li::before {
  content: '';
  background: url(../img/common/icon_arrow_right_blue.svg) no-repeat;
  width: 7px;
  height: 10px;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media only screen and (max-width: 1024px) {
  #service_area .ttl_section_top .before_icon {
    font-size: 1.5em;
  }
  #service_area .txt_box {
    padding: 34px 30px 34px;
  }
  #service_area .txt_box .ttl {
    font-size: 25px;
  }
  .area_box ul {
    padding: 35px 35px 28px;
  }
}

@media only screen and (max-width: 960px) {
  #service_area .ttl_section_top {
    font-size: 23px;
    margin: -6px 0 24px;
  }
  #service_area .ttl_section_top .before_icon::before {
    width: 32px;
    height: 40px;
    margin-right: 10px;
    top: 1px;
  }
  #service_area .intro_box img {
    width: 35%;
    top: -60px;
  }
  #service_area .txt_box {
    padding: 2.5vw 3vw;
  }
  #service_area .txt_box .ttl {
    font-size: 21px;
    margin-bottom: 5px;
  }
  .area_box {
    margin: 35px 0 40px;
  }
  .area_box ul {
    padding: 3vw 3vw 2vw;
  }
}

@media only screen and (max-width: 568px) {
  #service_area {
    background: url(../img/top/bg_service-area_sp.jpg) no-repeat;
    background-size: cover;
  }
  #service_area .ttl_section_top {
    font-size: 19px;
    margin: -6px 0 20px;
  }
  #service_area .ttl_section_top .before_icon::before {
    width: 28px;
    height: 35px;
    margin-right: 8px;
  }
  #service_area .intro_box img {
    position: relative;
    top: initial;
    right: initial;
    width: 88.3%;
    display: block;
    margin: 20px auto -15px auto;
  }
  #service_area .txt_box {
    width: 100%;
    padding: 16px 20px 22px;
  }
  #service_area .txt_box .ttl {
    font-size: 19px;
    margin-bottom: 8px;
  }
  #service_area .bnr_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px 0;
  }
  #service_area .bnr_box img {
    width: 100%;
  }
  .area_box {
    margin-bottom: 30px;
  }
  .area_box .ttl_stripe {
    border-radius: 10px 10px 0 0;
    font-size: 21px;
  }
  .area_box ul {
    padding: 0;
    gap: 0;
  }
  .area_box ul li {
    width: 50%;
    border-right: 1px solid #e2e2e2;
    border-bottom: 1px solid #e2e2e2;
    margin: 0;
    padding: 0;
    display: block;
  }
  .area_box ul li:nth-child(even) {
    border-right: none;
  }
  /* .area_box ul li:nth-last-child(1), .area_box ul li:nth-last-child(2) {
    border-bottom: none;
  } */
  .area_box ul li:nth-last-child(1) {
    border-bottom: none;
  }
  .area_box ul li::before {
    content: none;
  }
  .area_box ul li a {
    display: block;
    padding: 9px 0 9px 30px;
    font-size: 14px;
    position: relative;
  }
  .area_box ul li a::before {
    content: '';
    background: url(../img/common/icon_arrow_right_blue.svg) no-repeat;
    width: 8px;
    height: 12px;
    position: absolute;
    left: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
/*===============================================
 *	他社比較表
===============================================*/
.compare_box {
  margin-top: 60px;
}
.compare_box .ttl_stripe::before {
  content: '';
  background: url(../img/top/icon_compare.png) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 50px;
  height: 50px;
  margin-right: 20px;
}
.compare_content {
  padding: 40px 54px 54px;
  border: 4px solid #a1d3e3;
  border-top: none;
  border-radius: 0 0 20px 20px;
}
.compare_table {
  width: 100%;
  table-layout: fixed;
}
.compare_table .none {
  background: rgba(255, 255, 255, 0);
  width: 240px;
}
.compare_table .color {
  color: var(--site-primary);
  font-weight: bold;
}
.compare_table .on {
  border: 4px solid var(--site-primary);
}
.compare_table th, .compare_table td {
  text-align: center;
  background: #fff;
}
.compare_table thead {
  font-size: 20px;
  color: #fff;
}
.compare_table thead th.color {
  font-size: 25px;
  background: var(--site-primary);
  color: #ffd800;
  padding: 16px 0 20px;
}
.compare_table thead th.color span {
  position: relative;
}
.compare_table thead th.color span::before, .compare_table thead th.color span::after {
  content: '';
  width: 23px;
  height: 26px;
  position: absolute;
  bottom: 5px;
}
.compare_table thead th.color span::before {
  background: url(../img/common/line_left_yellow.png) no-repeat;
  background-size: contain;
  left: -29px;
}
.compare_table thead th.color span::after {
  background: url(../img/common/line_right_yellow.png) no-repeat;
  background-size: contain;
  right: -30px;
}
.compare_table thead th.gray {
  vertical-align: bottom;
  background: rgba(255, 255, 255, 0);
}
.compare_table thead th.gray div {
  background: #78aac3;
  padding: 17px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #ccc;
}
.compare_table tbody th {
  font-size: 20px;
  background: #e6f6ff;
  font-weight: bold;
  border: 1px solid #ccc;
}
.compare_table tbody td {
  font-size: 17px;
  padding: 18px 0 20px;
  border: 1px solid #ccc;
  line-height: 1.45;
}
.compare_table tbody td.color {
  font-size: 20px;
}
@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_box {
    margin-top: 5vw;
  }
  .compare_box .ttl_stripe::before {
    width: 40px;
    height: 40px;
    margin-right: 12px;
  }
  .compare_content {
    padding: 3vw 4vw 4vw;
  }
  .compare_table .none {
    width: 150px;
  }
  .compare_table thead th.color {
    font-size: 20px;
  }
  .compare_table tbody td.color {
    font-size: 18px;
  }
  .compare_table thead th.color span::before, .compare_table thead th.color span::after {
    width: 15px;
    height: 17px;
  }
  .compare_table thead th.color span::before {
    left: -20px;
  }
  .compare_table thead th.color span::after {
    right: -20px;
  }
  .compare_table tbody th {
    font-size: 18px;
  }
}
@media only screen and (max-width: 568px) {
  .compare_box {
    margin-top: 30px;
  }
  .compare_box .ttl_stripe {
    text-align: left;
  }
  .compare_box .ttl_stripe {
    justify-content: flex-start;
  }
  .compare_box .ttl_stripe::before {
    width: 50px;
    height: 50px;
  }
  .compare_table .on {
    border-width: 2px;
  }
  .compare_content {
    border: none;
    border-bottom: 4px solid #a1d3e3;
    border-radius: 0;
    padding: 20px 5.3vw 25px;
  }
  .compare_table .none {
    width: 24.7%;
  }
  
  .compare_table thead th.color {
    font-size: 17px;
    line-height: 1.35;
    padding: 6px 0 10px;
  }
  .compare_table thead th.color span::before, .compare_table thead th.color span::after {
    content: none;
  }
  .compare_table thead th.gray {
    font-size: 16px;
  }
  .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;
  }
}
/*===============================================
 *	その他の作業事例（TOP・作業事例一覧ページ）
===============================================*/
.case_list_box {margin: 80px 0 20px;}
.case_list_box .case_list::after {content: none;}
.ttl_left_border{font-weight: bold;}
.case_list {gap: 40px 2.3%;}
/*.case_list::after{content:"";display: block;width:31.8%;}*/
.case_list li {width: 31.8%;}
.case_list li .ttl {font-size: 19px;background: #44a8c7;padding: 18px 30px;line-height: 1.45;}
.case_list li .photo {margin-bottom: 20px;position: relative;}
.case_list li img {aspect-ratio: 1.618 / 1;-o-object-fit: cover; object-fit: cover;}
.case_list li .txt_box {padding: 20px 30px 40px;}
.case_list li .btn_border {width: 260px;margin-top: 20px;}
.case_list li .txt-info{font-size: 20px;margin-bottom: 10px;text-align: center;line-height: 1.6;position: relative;display: flex;justify-content: center;align-items: flex-start;}

.case_list li .txt-info::before{content: '';background-size: contain;display: inline-block;position: relative;margin-right: 8px;width: 30px;height: 30px;}
.building-house::before{background: url(../img/case/icon-house.png) top left no-repeat;}
.building-mansion::before{background: url(../img/case/icon-mansion.png) top left no-repeat;}
.building-office::before{background: url(../img/case/icon-office.png) top left no-repeat;}
.building-heights::before{background: url(../img/case/icon-heights.png) top left no-repeat;}
.building-other::before{background: url(../img/case/icon-other.png) top left no-repeat;}
.case_list li dl {font-size: 16px;margin-bottom: 10px;}
.case_list li dt {background: #44a8c7;color: #fff;padding: 5px 0 5px;text-align: center;width: 28%;}
.case_list li dd {background: #fff;border: #44a8c7 2px solid;padding: 2px 0;text-align: center;font-weight: bold;width: 28%;}
.case_list li dt:nth-of-type(1) {width: 21%;}
.case_list li dd:nth-of-type(1) {width: 23%;}
.case_list li .total-price {color: #cf1126;margin-bottom: 30px;font-weight: bold;}
.case_list li .total-price .txt-on_price_total {background: #cf1126;color: #fff;font-size: 18px;padding: 7px 13px;position: relative;margin: 0 15px 0 0;letter-spacing: 1px;}
.case_list li .total-price .num {font-size: 30px;line-height: 1;}
.case_list li .total-price .yen,.case_list li .total-price .tax {font-size: 18px;}
@media screen and (max-width: 1024px) {
.case_list li .txt_box {padding: 20px 20px 30px;}
.case_list li .btn_border {width: 100%;}
.case_list li .txt-info{font-size: 18px;}
.case_list li dl {font-size: 14px;}
.case_list li .total-price .txt-on_price_total {font-size: 16px;padding: 7px 12px;margin: 0 10px 0 0;}
.case_list li .total-price .num {font-size: 26px;}
.case_list li .total-price .yen,.case_list li .total-price .tax {font-size: 14px;}
}
@media screen and (max-width: 960px) {
.case_list_box {margin: 5vw 0 2.5vw;}
.case_list {gap: 30px 2.3%;}
.case_list li .txt-info {font-size: 14px;}
.case_list li .ttl {font-size: 16px;padding: 10px 11%;}
.case_list li .btn_border {margin-top: 12px;}
}
@media screen and (max-width: 768px) {
.case_list li .total-price .txt-on_price_total {font-size: 12px;padding: 5px;}
.case_list li .total-price .num {font-size: 20px;}
.case_list li .total-price .yen,.case_list li .total-price .tax {font-size: 11px;}
.case_list li dl {font-size: 12px;}
.case_list li .txt-info::before {margin-right: 0;width: 25px;height: 25px;}
}
@media screen and (max-width: 568px) {
.case_list_box {margin: 40px 0 10px;}
.case_list_box .case_list li:nth-child(3) {display: none;}
.case_list {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;gap: 20px 0;}
.case_list li {width: 100%;}
.case_list li .ttl {font-size: 18px;line-height: 1.5;padding: 10px 20px 13px;}
.case_list li .txt_box {padding: 14px 20px 25px;}
.case_list li .btn_border {width: 72.9%;margin-top: 18px;}
.case_list li .txt-info {font-size: 16px;line-height: 1.4;}
.case_list li .txt-info::before {width: 40px;height: 40px;margin-right: 8px;}
.case_list li dl {font-size: 16px;}
.case_list li .total-price .txt-on_price_total {font-size: 17px;padding: 5px 20px;position: relative;top: -5px;}
.case_list li .total-price .num {font-size: 30px;}
.case_list li .total-price .yen {font-size: 24px;}
.case_list li .total-price .tax {font-size: 14px;}
}
/*===============================================
 *	作業事例 対応作業
===============================================*/
.case-contents .workname{border-radius: 6px;text-align: center;color: #fff;font-size: 19px;font-weight: bold;padding: 5px 0;margin-bottom: 20px;}
.customer-infobox{margin-bottom: 30px;width: 100%;display: grid;grid-template-columns: 176px 80%;grid-template-rows: auto auto auto;}
.work-infobox{width: 100%;}
.customer-infobox .workname{border-radius: 4px;text-align: center;color: #fff;font-size: 20px;font-weight: bold;padding: 56px 0 18px;position: relative;grid-column: 1;grid-row: 1/-2;}
.customer-infobox .workname::before{content: "";display: block;position: absolute;width: 40px;height: 40px;top: 15px;transform: translateX(-50%);background-size: contain;}
.work-huyou{background: #4c7acf;}
.work-huyou::before{background: url("../img/case/icon-cardboard.svg") top center no-repeat;left: 50%;}
.work-ihin{background: #9d73bb;}
.work-ihin::before{background: url("../img/case/icon-cardboard_box.svg") top center no-repeat;left: 50%;}
.work-gomi{background: #d1a76b;}
.work-gomi::before{background: url("../img/case/icon-garbage_bag.svg") top center no-repeat;left: 50%;}
.work-tokusyu{background: #5dc595;}
.work-tokusyu::before{background: url("../img/case/icon-spray.svg") top center no-repeat;left: 50%;}
.pack-badge{background: #007fb191;color: #fff;padding: 10px 20px 11px;font-size: 22px;font-weight: bold;text-align: center;}
.pack-other{background: #007fb191;color: #fff;padding: 10px 20px 11px;font-size: 22px;font-weight: bold;display: block;}

@media only screen and (max-width: 1024px) {
.customer-infobox {grid-template-columns: 156px 80%;}
.customer-infobox .workname {font-size: 18px;}
.case-contents .workname {font-size: 17px;}
.pack-badge,.pack-other {font-size: 16px;}
}
@media screen and (max-width: 960px) {
.customer-infobox {grid-template-columns: 156px 77%;}
}
@media only screen and (max-width: 768px) {
.customer-infobox {grid-template-columns: 32% 65%;}
.customer-infobox .workname {font-size: 16px;}
.case-contents .workname {font-size: 16px;}
}
@media only screen and (max-width: 568px) {
.pack-badge,.pack-other {font-size: 16px;padding: 10px;grid-column: none;grid-row: none;}
.customer-infobox {width: 100%;grid-template-columns: none;grid-template-rows: none;display: flex;margin-bottom: 10px;}
.customer-infobox .workname {font-size: 15px;display: flex;align-items: center;margin-bottom: 15px;padding: 10px;grid-column: none;grid-row: none;width: 50%;}
.customer-infobox .workname::before {width: 30px;height: 30px;display: inline-block;position: relative;margin-right: 12px;top: initial;transform: none;}
.case-contents .workname {font-size: 18px;}
.work-huyou::before{left: 5%;}
.work-ihin::before{left: 5%;}
.work-gomi::before{left: 5%;}
.work-tokusyu::before{left: 5%;}
.work-infobox {width: 100%;}
}
@media only screen and (max-width: 375px) {
.customer-infobox .workname {font-size: 13px;width: 46%;}
.customer-infobox .workname::before{width: 20px;height: 20px;}
}
/*===============================================
 *	相互リンクバナー
===============================================*/
.bnr_links {
  margin-top: 70px;
}
.bnr_links p,.recommended_links p {
  font-size: 20px;
}
.bnr_links ul {
  gap: 20px 2%;
  
}
.bnr_links li {
  width: 15%;
}
@media only screen and (max-width: 568px) {
  .bnr_links {
    margin: 0 auto 30px;
  }
  .bnr_links p,.recommended_links p {
    font-size: 18px;
  }
  .bnr_links ul {
    gap: 15px 3.5%;
  }
  .bnr_links li {
    width: 31%;
  }
}
/*===============================================
 *	お勧め相互リンクバナー
===============================================*/
.recommended_links {margin-top: 40px;}
.recommended_links ul {gap: 20px 2%;}
.recommended_links li {width: 23.5%;}
@media only screen and (max-width: 568px) {
.recommended_links {margin: 0 auto 30px;}
.recommended_links ul {gap: 15px 3.5%;}
.recommended_links li {width: 48%;}
}

/*===============================================
 *	[ハイフンなしで入力！]を非表示
===============================================*/
#autozip {
  display: none !important;
}

/*===============================================
 *	電子決済
===============================================*/
.payment {
  margin: 30px 0 0;
}
.payment .ttl_stripe {
  font-size: 30px;
  font-weight: bold;
  padding: 12px 0 15px;
}
.payment .payment-content {
  padding: 25px 40px 30px;
  border: 4px solid #a1d3e3;
  border-top: none;
  border-radius: 0 0 20px 20px;
}
.payment ul {
  width: 57%;
}
.payment ul li {
  width: 32%;
  display: flex;
  align-items: center;
  gap: 0 8px;
  border: 4px solid var(--site-primary);
  border-radius: 10px;
  padding: 15px 5px 15px 10px;
  font-size: 20px;
  font-weight: bold;
  color: var(--site-primary);
}
.payment ul li img {
  width: 45px;
}
.payment .card-img {
  width: 42%;
}
@media only screen and (max-width: 1024px) {
  .payment .payment-content {
    padding: 3% 3% 3.5%;
  }
  .payment ul li {
    font-size: 18px;
  }
}
@media only screen and (max-width: 960px) {
  .payment .ttl_stripe {
    font-size: 24px;
  }
  .payment .payment-content {
    flex-direction: column;
  }
  .payment ul {
    width: 85%;
  }
  .payment ul li {
    font-size: 17px;
    padding: 10px 5px 10px 10px;
  }
  .payment .card-img {
    width: 55%;
    margin-top: 15px;
  }
}
@media only screen and (max-width: 568px) {
  .payment {
    margin-top: 20px;
  }
  .payment .ttl_stripe {
    font-size: 20px;
    padding: 8px 0 10px;
    border-radius: 10px 10px 0 0;
  }
  .payment .payment-content {
    padding: 16px 16px 16px;
    border-radius: 0 0 10px 10px;
  }
  .payment ul {
  /*  width: 100%;
   */ display: none;
  }
  .payment ul li {
    width: 31.5%;
    font-size: 14px;
    padding: 10px 5px 10px;
    flex-direction: column;
    text-align: center;
    line-height: 1.4;
    border-width: 3px;
  }
  .payment ul li img {
    width: 40px;
    margin-bottom: 5px;
  }
  .payment .card-img {
    width: 100%;
  }
}

/*===============================================
 *	事例 slider
===============================================*/
.slider{
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.slider-img{
  height: auto;
  opacity: .3;
  transform: scale(.92);
  transition: opacity .5s, transform .5s;
  width: 100%;
}
/* 中央のスライド */
.slider .slick-center{
  opacity: 1;
  transform: scale(1);
  max-width: 1120px;
}
.slide-arrow{
  width: 60px;
  height: 60px;
}

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


.slider button.arrow-next{
  background: url(../img/common/slider-next.svg)no-repeat!important;
  background-size: contain!important;
  position: absolute;
  top: 50%;
  right: 19%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 10; 
}

.slider button.arrow-prev{
  background: url(../img/common/slider-prev.svg)no-repeat!important;
  background-size: contain!important;
  position: absolute;
  top: 50%;
  left: 19%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 10; 
}
.slider button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

.slider button:focus {
  outline: none;
}
.case_list_box {
  margin: 0px 0 20px!important;
}
.case_box .calc_cost p.purchase_item{
  right:0px;
  font-size: 12px;
  }
.case_box.case02 .calc_cost p.purchase_item{
  right:0px;
  font-size: 12px;
  }
  .case_box .calc_cost::after{
  width:35px;
  }
  .case_box .calc_cost dd{
  padding: 5px 0;
  text-align:center;
  font-size: clamp(20px, 1.0vw, 22px);
  }
  .case_box .calc_cost .purchase_price dd{
  text-align:center;
  /* line-height: 1.2; */
  }

@media only screen and (max-width: 960px) {
  .slider button.arrow-next{
    right: 2%;
  }
  
  .slider button.arrow-prev{
    left: 2%; 
  }

}
@media only screen and (max-width: 568px) {
  .slider-img{
    opacity: .5;
    transform: scale(.95);
  }
  .slider button.arrow-common{
    width: 30px;
  }
  .slider button.arrow-next{
    right: 2%;
    top:33.5%;
  } 
  .slider button.arrow-prev{
    left: 2%;
    top:33.5%;
  }
  .case_box .calc_cost::after{
    width: 40px;
    height: 29px;
    bottom: -58px;
  }
  .case_box .total {
    margin-top: 60px;
}
.case_list_box {
  margin: 20px 0 20px!important;
}

/*20240626スライダーSP上書き分*/
.case_box .case_ttl {
  font-size:16px;
  padding: 0.6em 3vw 0.6em;
}
.case_box .md_inner_space02{
  padding: 20px 5.3vw;
}
.case_box .case_price .ttl_price{
  font-size: 12px;
  letter-spacing: 0;
}
.case_box .case_price .ttl_price span{
  
  margin-right: 10px;
}
.case_box .calc_cost dd{
  font-size: 20px;
  padding: 5px 0;
  line-height: 1.2;
}
.case_box .calc_cost img{
  top:0;
  width: 20px;
}
.case_box .calc_cost p.purchase_item {
  right: 0!important;
  letter-spacing: 0;
  font-size: 10px;
}
.case_box .total{
  display: flex;
}
.case_box .total dt{
  width: 20%;
  line-height: 2;
}
.case_box .total dd{
  font-size: 26px;
  border-top:2px solid #e2707d;
  width: 80%;
}
.case_box .total dd .tax{
  font-size: 18px;
}
.case_box .calc_cost::after{
  width: 25px;
  bottom: -35px;
}
.case_box .total {
  margin-top: 30px;
}
.case_box .photo{
  margin-top: 15px;
}
.slider button.arrow-next{
  top:23%;
}
.slider button.arrow-prev{
  top:23%;
}
.case_box .customer_msg{
  margin-top: 15px;
  padding: 15px;
}

}
/*===============================================
 *	Youtubeバナー
===============================================*/
.bnr-youtube{display: block;}
.bnr-youtube a{display:block;}
.bnr-youtube a:hover{opacity: .8;}
.bnr-youtube img{border-radius: 20px;}
@media only screen and (max-width: 568px) {
  .bnr-youtube img{border-radius: 10px;}
}
/*===============================================
 *	メディア実績
===============================================*/
.media-wrap{background: url("https://www.huyouhinkaisyuu-chiba.com/wp-content/themes/huyouhin-chiba_medal/img/top/media_bg_txt.png") 95% bottom no-repeat #95a9c9;background-size: 330px 60px;margin: 30px 0;padding: 30px 40px;border-radius: 20px;display: flex;justify-content: space-between;flex-direction: row-reverse;align-items: center;}
.photo{max-width: 500px;}
.media-detail{max-width: 500px;width: 100%;}
.media-detail dt{color: #fff;font-size: 42px;font-weight: bold;position: relative;padding: 0 0 10px 90px;border-bottom: rgba(255,255,255,.3) 2px solid;margin: 0 0 20px;}
.media-detail dt::before{content:"";display: block;background: url("../img/top/media_icon.png") left no-repeat;background-size: contain;width:79px;height:76px;position: absolute;left: 0;top: 50%;transform: translateY(-50%);}
.media-detail dd > p{color: #fff;margin: 0 0 20px;}
.media-detail dd > ul{background: url("../img/top/media_bg_notebook.png") repeat;padding: 20px 30px;border-radius: 10px;}
.media-detail dd > ul li{background: url("../img/top/media_chk.png") left center no-repeat;padding-left: 1.75em;margin: 0 0 10px;font-size: 20px;font-weight: bold;}
.media-detail dd > ul li:last-child{margin: 0;}
.media-detail dd p.media_txt_caution{color: #fff;font-size: 14px;margin: 5px 0 0;}

@media only screen and (max-width: 960px) {
  .media-wrap {padding: 25px;}
  .media-detail, .photo {max-width: 340px;}
  .media-detail dt {font-size: 32px;padding-left: 70px;margin: 0 0 15px;}
  .media-detail dt::before {width: 62px;height: 60px;}
  .media-detail dd > ul {background-size: 20px;padding: 20px 15px;}
  .media-detail dd > ul li {background-size: 20px;font-size: 17px;}
  .media-detail dd > p {margin: 0 0 15px;}
}
@media only screen and (max-width: 568px) {
  .media-wrap {background: url("https://www.huyouhinkaisyuu-chiba.com/wp-content/themes/huyouhin-chiba_medal/img/top/media_bg_txt.png") 75% bottom no-repeat #95a9c9;background-size: 250px 60px;margin: 25px 0;padding: 25px;flex-direction: row;flex-wrap: wrap;border-radius: 10px;}
  .media-detail, .photo {max-width: initial;}
  .photo {margin: 20px 0 0;}
  .media-detail dt {font-size: 25px;padding-left: 60px;}
  .media-detail dt::before {width: 52px;height: 50px;}
  .media-detail dd > p{text-align: center;}
  .media-detail dd > ul {padding: 15px;}
  .media-detail dd > ul li {font-size: 15px;}
  .media-wrap p.media_txt_caution{color: #fff;font-size: 12px;margin: 5px 0 0;}
}
/*===============================================
 *	POPUP LINE 2025/04/01 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: #23913b;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%);}
.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 20px;}
.popup-banner li {font-size: 13px;padding: 0 0 0 2.25em;}
.popup-banner li::before {width: 23px;height: 23px;}
.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;}
}