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

@font-face {
  font-family: 'Noto Sans JP';
  font-style: bold;
  font-weight: 700;
  src: url("../fonts/NotoSansJP-Bold.woff2") 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") format("woff2"), url("../fonts/NotoSansJP-Medium.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: 'GenEiMGothic';
  font-style: bold;
  font-weight: 900;
  src: url("../fonts/GenEiMGothic2-Heavy.woff") format("woff");
  font-display: swap;
}

body {
  font-size: 100%;
  font-family: '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: #222;
  outline: none;
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6, p, li, dt, dd, th, td {
  color: #222;
}

:root {
  --site-primary: #41bbe5;
  /* --site-secondary: #ff9222; */
  --site-secondary: #3dbac0;
  --site-keycolor: #41bbe5;
}

/*====================== 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: 16px;
  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: #ffecaa;
}

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

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

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

.bg_lightorange {
  /* background:#ffb469; */
  background:#ed8e4b;
}

.bg_green {
  background: var(--site-keycolor);
}

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

.bg_white {
  background-color: #fff;
}

.bg_gray {
  background: #f5f5f5;
}

.bg_yellow {
  background: #f5ec92;
}

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

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

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

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

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

.bg_green_line {
  background: #d2f8ff url(../img/common/bg_green_line.png) no-repeat center top;
}

.bg_dot_square {
  background: url(../img/common/bg_dot_square.png) no-repeat center top;
  position: relative;
  z-index: 1;
}

.shadow {
  -webkit-box-shadow: 0 10px 65px rgba(59, 39, 32, 0.08);
          box-shadow: 0 10px 65px rgba(59, 39, 32, 0.08);
}

.lg_inner_space {
  padding: 80px 0;
}

.lg_bottom_space {
  padding: 0 0 82px;
}

.md_inner_space {
  padding: 50px 60px;
}

.md_inner_space02 {
  padding: 40px 60px 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 {
  font-size: 14px;
  padding-left: 1em;
  text-indent: -1em;
}

@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 {
    padding: 60px 0;
  }
}

@media only screen and (max-width: 960px) {
  html body {
    font-size: 14px;
    margin-top: 72px;
  }
  .lg_inner_space {
    padding: 7vw 0;
  }
  .lg_bottom_space {
    padding: 0 0 8vw;
  }
  .md_inner_space {
    padding: 4vw 4vw;
  }
  .md_inner_space02 {
    padding: 3.5vw 4vw 4vw;
  }
  .annotation_txt {
    font-size: 14px;
  }
}

@media only screen and (max-width: 568px) {
  html {
    scroll-padding-top: 60px;
  }
  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;
  }
  .bg_stripe_orange {
    background-size: auto 25%;
  }
  .bg_stripe_orange02 {
    background-size: auto 25%;
  }
  .bg_dot_square {
    background: url(../img/common/bg_dot_square02_sp.png) repeat-y;
    background-size: 100% auto;
  }
  .breadcrumbs + .lg_inner_space {
    padding-top: 25px;
  }
  .lg_inner_space {
    padding: 40px 0 40px;
  }
  .lg_bottom_space {
    padding: 0 0 35px;
  }
  .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 {
    font-size: 12px;
  }
  .underline_yellow {
    border-width: 5px;
  }
}

/*===============================================
 *	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?n1r1w2");
  src: url("../fonts/icon.eot?n1r1w2#iefix") format("embedded-opentype"), url("../fonts/icon.ttf?n1r1w2") format("truetype"), url("../fonts/icon.woff?n1r1w2") format("woff"), url("../fonts/icon.svg?n1r1w2#icon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

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

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

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

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

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

.breadcrumbs .home {
  padding-left: 24px;
  position: relative;
}

.breadcrumbs .home::before {
  content: '';
  background: url(../img/common/icon_home.svg) no-repeat;
  background-size: contain;
  width: 18px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 2px;
}

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

/*===============================================
 *	汎用パーツ
===============================================*/
.ttl_on_border {
  margin-top: -107px;
  margin-bottom: 23px;
  text-align: center;
}

.ttl_on_border span {
  font-size: 30px;
  display: inline-block;
  padding: 18px 100px 20px;
  border-radius: 50px;
}

.box_green {
  border: 3px solid var(--site-keycolor);
  -webkit-box-shadow: 3px 5px 0 #41bbe5;
          box-shadow: 3px 5px 0 #41bbe5;
  padding: 62px 40px 40px;
  border-radius: 20px;
}

.box_lightorange {
  border: 3px solid #ff9222;
  -webkit-box-shadow: 3px 5px 0 #ff9222;
          box-shadow: 3px 5px 0 #ff9222;
  padding: 62px 50px 40px;
  border-radius: 20px;
}

.box_orange {
  border: 3px solid var(--site-primary);
  -webkit-box-shadow: 3px 5px 0 #41bbe5;
          box-shadow: 3px 5px 0 #41bbe5;
  padding: 62px 50px 40px;
  border-radius: 20px;
}

.ttl_plain {
  font-size: 40px;
  font-weight: 900;
}

.sec_ttl_box {
  padding: 80px 0;
  text-align: center;
}

.sec_ttl_box .ttl {
  font-size: 32px;
  font-weight: 900;
  background: #fff;
  border: 6px solid var(--site-primary);
  display: inline-block;
  min-width: 700px;
  padding: 15px 2.0em 17px;
}

.sec_ttl_box.long_box {
  padding-bottom: 130px;
}

.ttl_border_box {
  text-align: center;
  margin-bottom: 40px;
}

.ttl_border_box span {
  font-size: 32px;
  font-weight: 900;
  background: #fff;
  color: var(--site-primary);
  border: 6px solid var(--site-primary);
  display: inline-block;
  min-width: 700px;
  padding: 15px 2.0em 17px;
}

.sec_intro_box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: -80px;
}

.sec_intro_box img {
  border: 4px solid #fff;
  max-width: 640px;
  position: absolute;
  left: 0;
  top: 0;
}

.sec_intro_box .txt_box {
  width: 52%;
  margin: 140px 0 0 auto;
  padding: 40px 46px 46px;
  position: relative;
  z-index: 1;
}

.sec_intro_box .txt_box::after {
  content: '';
  background: url(../img/common/dot_sankaku_green.svg) no-repeat;
  background-size: contain;
  width: 58px;
  height: 60px;
  position: absolute;
  right: 30px;
  top: 30px;
  z-index: -1;
}

.sec_intro_box .txt_box .ttl {
  font-size: 28px;
  line-height: 1.45;
  position: relative;
  padding: 0 0 20px;
  margin-bottom: 18px;
}

.sec_intro_box .txt_box .ttl::after {
  content: '';
  background: var(--site-primary);
  height: 4px;
  width: 50px;
  border-radius: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.ttl_underbar {
  font-size: 28px;
  padding: 0 0 15px;
  position: relative;
}

.ttl_underbar::after {
  content: '';
  background: var(--site-secondary);
  height: 3px;
  width: 30px;
  border-radius: 2px;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.ttl_radius {
  text-align: center;
}

.ttl_radius span {
  font-size: 26px;
  padding: 20px 2.5em 22px;
  border-radius: 50px;
  display: inline-block;
}

.annotation_box {
  border: 4px solid #ffab54;
  padding: 32px 80px;
}

.annotation_box p {
  position: relative;
  padding-left: 70px;
}

.annotation_box p::before {
  content: '';
  background: url(../img/common/icon_annotation.svg) no-repeat;
  background-size: contain;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.annotation_box.single_row p {
  padding: 0;
  text-align: center;
}

.annotation_box.single_row p::before {
  content: none;
}

.annotation_box.single_row p span {
  position: relative;
  padding-left: 70px;
}

.annotation_box.single_row p span::before {
  content: '';
  background: url(../img/common/icon_annotation.svg) no-repeat;
  background-size: contain;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media only screen and (max-width: 1024px) {
  .ttl_on_border span {
    font-size: 26px;
    padding: 14px 100px 16px;
  }
  .ttl_plain {
    font-size: 35px;
  }
  .sec_ttl_box {
    padding: 60px 0;
  }
  .sec_ttl_box .ttl {
    font-size: 30px;
  }
  .ttl_border_box span {
    font-size: 28px;
  }
  .sec_intro_box img {
    width: 50%;
  }
  .sec_intro_box .txt_box {
    width: 56%;
    margin-top: 110px;
    padding: 40px 40px 46px;
  }
  .sec_intro_box .txt_box .ttl {
    font-size: 26px;
  }
  .annotation_box {
    padding: 32px 50px;
  }
}

@media only screen and (max-width: 960px) {
  .ttl_on_border {
    margin-top: -90px;
    margin-bottom: 20px;
  }
  .ttl_on_border span {
    font-size: 22px;
    padding: 14px 100px 16px;
  }
  .box_green {
    padding: 7vw 4vw 4vw;
  }
  .box_lightorange {
    padding: 7vw 4vw 4vw;
  }
  .box_orange {
    padding: 7vw 4vw 4vw;
  }
  .ttl_plain {
    font-size: 30px;
  }
  .sec_ttl_box {
    padding: 6vw 0;
  }
  .sec_ttl_box .ttl {
    font-size: 26px;
    min-width: 500px;
  }
  .ttl_border_box {
    margin-bottom: 30px;
  }
  .ttl_border_box span {
    font-size: 26px;
    min-width: 500px;
    border-width: 4px;
    padding: 10px 2.0em 13px;
  }
  .sec_intro_box {
    margin-top: -95px;
  }
  .sec_intro_box .txt_box {
    padding: 30px 32px 30px;
    margin-top: 50px;
  }
  .sec_intro_box .txt_box::after {
    right: 22px;
    top: 24px;
  }
  .sec_intro_box .txt_box .ttl {
    font-size: 22px;
    padding: 0px 0 16px;
    margin-bottom: 14px;
  }
  .ttl_underbar {
    font-size: 22px;
  }
  .ttl_radius span {
    font-size: 22px;
    padding: 15px 2.5em 17px;
  }
  .annotation_box {
    padding: 20px 36px;
  }
}

@media only screen and (max-width: 568px) {
  .ttl_on_border {
    margin-top: -70px;
    margin-bottom: 14px;
  }
  .ttl_on_border span {
    font-size: 18px;
    padding: 14px 25px 16px;
    min-width: 90%;
  }
  .ttl_on_border.two_rows {
    top: 30px;
  }
  .ttl_on_border.two_rows span {
    padding: 8px 0 10px;
    display: block;
  }
  .box_green {
    border-width: 2px;
    -webkit-box-shadow: 2px 3px 0 #41bbe5;
            box-shadow: 2px 3px 0 #41bbe5;
    padding: 35px 18px 20px;
    border-radius: 10px;
  }
  .box_lightorange {
    border-width: 2px;
    -webkit-box-shadow: 2px 3px 0 #ff9222;
            box-shadow: 2px 3px 0 #ff9222;
    padding: 35px 18px 20px;
    border-radius: 10px;
  }
  .box_orange {
    border-width: 2px;
    -webkit-box-shadow: 2px 3px 0 #41bbe5;
            box-shadow: 2px 3px 0 #41bbe5;
    padding: 35px 18px 20px;
    border-radius: 10px;
  }
  .ttl_plain {
    font-size: 23px;
  }
  .sec_ttl_box {
    padding: 6vw 0;
  }
  .sec_ttl_box .ttl {
    font-size: 20px;
    line-height: 1.4;
    border-width: 3px;
    width: 89.4vw;
    padding: 6px 0 6px;
    min-width: initial;
  }
  .sec_ttl_box.long_box {
    padding-bottom: 60px;
  }
  .ttl_border_box {
    margin-bottom: 18px;
  }
  .ttl_border_box span {
    font-size: 20px;
    line-height: 1.4;
    min-width: initial;
    border-width: 3px;
    padding: 6px 0 6px;
    width: 100%;
  }
  .sec_intro_box {
    margin-top: -40px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .sec_intro_box img {
    width: 100%;
    border-width: 3px;
    position: relative;
    top: initial;
    left: initial;
  }
  .sec_intro_box .txt_box {
    width: 90%;
    margin: -20px auto 0;
    padding: 20px 20px 22px;
  }
  .sec_intro_box .txt_box::after {
    width: 32px;
    height: 33px;
    right: 15px;
    top: 17px;
  }
  .sec_intro_box .txt_box .ttl {
    font-size: 18px;
    padding: 0px 0 14px;
    margin-bottom: 10px;
  }
  .sec_intro_box .txt_box .ttl::after {
    height: 3px;
    width: 38px;
  }
  .ttl_underbar {
    font-size: 18px;
    padding: 0 0 12px;
  }
  .ttl_radius span {
    font-size: 18px;
    display: block;
    padding: 18px 0 20px;
    height: 70px;
    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;
  }
  .annotation_box {
    padding: 18px 18px;
  }
  .annotation_box p {
    padding: 0;
    font-size: 14px;
  }
  .annotation_box p::before {
    float: left;
    position: relative;
    top: initial;
    left: initial;
    -webkit-transform: none;
            transform: none;
    width: 45px;
    height: 45px;
    margin: 5px 10px 6px 0;
  }
  .annotation_box.single_row p {
    text-align: left;
  }
  .annotation_box.single_row p span {
    padding: 0;
    font-size: 14px;
  }
  .annotation_box.single_row p span::before {
    float: left;
    position: relative;
    top: initial;
    left: initial;
    -webkit-transform: none;
            transform: none;
    width: 45px;
    height: 45px;
    margin: 15px 10px 15px 0;
  }
}

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

.btn {
  max-width: 480px;
  border-radius: 100px;
  margin: 0 auto 4px;
  /* background: var(--site-secondary); */
  /* -webkit-box-shadow: 0px 5px 1px rgba(255, 145, 36, 0.5);
          box-shadow: 0px 5px 1px rgba(255, 145, 36, 0.5); */
  background: #39b9a1;
  -webkit-box-shadow: 0px 5px 1px rgba(88, 183, 170, 0.5);
          box-shadow: 0px 5px 1px rgba(88, 183, 170, 0.5);
}

.btn a {
  font-size: 22px;
  display: block;
  padding: 22px;
  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: #ffac58;
  -webkit-box-shadow: 0px 5px 1px rgba(255, 175, 95, 0.589);
          box-shadow: 0px 5px 1px rgba(255, 175, 95, 0.589); */
  background: #2cad95;
  -webkit-box-shadow: 0px 5px 1px rgba(88, 183, 170, 0.5);
          box-shadow: 0px 5px 1px rgba(88, 183, 170, 0.5);
}

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

.btn.orange {
  background: var(--site-secondary);
  /* -webkit-box-shadow: 0px 5px 1px rgba(206, 116, 33, 0.5);
          box-shadow: 0px 5px 1px rgba(206, 116, 33, 0.5); */
  -webkit-box-shadow: 0px 5px 1px rgba(104, 186, 199, 0.45);
          box-shadow: 0px 5px 1px rgba(104, 186, 199, 0.45);
}

.btn.orange:hover {
  /* background: #fea244; */
  background: #58cacf;
  -webkit-box-shadow: 0px 5px 1px rgba(104, 186, 199, 0.45);
          box-shadow: 0px 5px 1px rgba(104, 186, 199, 0.45);
}

.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: 1024px) {
  .btn_wrapper {
    margin-top: 55px;
  }
}

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

@media only screen and (max-width: 568px) {
  .btn_wrapper {
    margin-top: 30px;
    margin-bottom: 6px;
  }
  .btn {
    width: 78vw;
  }
  .btn a {
    font-size: 17px;
    padding: 12px 5% 14px;
  }
  .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 {
  width: 94vw;
  max-width: 1300px;
  height: 80px;
  position: absolute;
  top: 25px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-box-shadow: 0 2px 6px rgba(163, 171, 173, 0.3);
          box-shadow: 0 2px 6px rgba(163, 171, 173, 0.3);
  border-radius: 100px;
  z-index: 100;
}

.header .hd_logo {
  margin: -13px 0 20px 65px;
  max-width: 300px;
  width: 21%;
  position: relative;
}

.header .hd_logo:hover {
  opacity: 0.85;
}

.header .hd_menu {
  margin: 33px 25px 0 auto;
}

.header li {
  font-size: min(15px, 1.2vw);
  margin-left: min(1.8vw, 28px);
}

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

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

.header .hd_mail {
  color: #fff;
  /* background: var(--site-secondary); */
  background: #ff8810;
  font-size: min(15px, 1.2vw);
  padding: 31px 2% 0px 2%;
  border-radius: 0 100px 100px 0;
}

.header .hd_mail span {
  background: url(../img/common/icon_mail.svg) no-repeat;
  padding-left: 32px;
}

.header .hd_mail:hover {
  background: #fea244;
}

@media only screen and (max-width: 1024px) {
  .header {
    height: 72px;
  }
  .header .hd_logo {
    margin: -5px 0 20px 45px;
  }
}

@media only screen and (max-width: 960px) {
  .header {
    width: 100%;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-radius: 0;
    position: fixed;
    top: 0;
  }
  .header .hd_logo {
    margin: 1.5vw 0 3vw 2.5vw;
    width: 20%;
  }
  .header .hd_menu {
    margin-right: 16px;
  }
  .header li {
    font-size: min(15px, 1.3vw);
  }
  .header .hd_mail {
    border-radius: 0;
  }
  .header .hd_mail span {
    padding-left: 26px;
  }
}

@media only screen and (max-width: 568px) {
  .header {
    height: 60px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 9999;
  }
  .header .hd_logo {
    width: 72%;
    margin: 0 0 0 4%;
    max-width: initial;
  }
  .header .hd_menu {
    display: none;
  }
  .header .hd_mail {
    display: none;
  }
}

/*===============================================
 *	SPメニュー
===============================================*/
.menu_box {
  width: 60px;
  height: 60px;
  background: var(--site-secondary);
  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:not(.txt) {
  width: 25px;
}

.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.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.open {
  top: 60px;
  z-index: 9999;
}

.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: 11px 0 11px 5.3vw;
  border-bottom: 1px solid #e2e2e2;
}

.menu_content li a::after {
  content: '';
  background: url(../img/common/icon_arrow_right_orange.svg) no-repeat;
  width: 8px;
  height: 14px;
  position: absolute;
  right: 5.3vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
/*
.menu_content .cv_box {
  background: #fff;
  padding: 4px 0 6px;
  border-top: 4px solid var(--site-primary);
}

.menu_content .cv_box p {
  font-size: 14px;
  font-weight: 900;
  color: #ff9222;
  width: 100%;
  margin-bottom: -2px;
}

.menu_content .cv_box p span {
  position: relative;
}

.menu_content .cv_box p span::before, .menu_content .cv_box p span::after {
  content: '';
  width: 10px;
  height: 17px;
  position: absolute;
  top: 2px;
}

.menu_content .cv_box p span::before {
  background: url(../img/common/line_dot_left.svg) no-repeat;
  background-size: contain;
  left: -15px;
}

.menu_content .cv_box p span::after {
  background: url(../img/common/line_dot_right.svg) no-repeat;
  background-size: contain;
  right: -15px;
}

.menu_content .cv_box .tel {
  width: 59.1%;
}

.menu_content .cv_box .mail {
  width: 17.9%;
}

.menu_content .cv_box .line {
  width: 17.9%;
}
*/
@media only screen and (max-width: 568px) {
  .menu_box {
    display: block;
  }
}

/*===============================================
 *	footer
===============================================*/
.footer .ft_menu {
  background: #cbfdff;
  padding: 80px 0;
}

.footer .ft_menu .row {
  gap: 0 16%;
}

.footer .ft_menu ul li {
  margin-bottom: 5px;
}

.footer .ft_menu ul li.menu_top {
  font-weight: bold;
}

.footer .ft_menu ul li.menu_top::before {
  content: '';
  display: inline-block;
  background: #ff7b22;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 7px;
}

.footer .ft_menu ul li:not(.menu_top) {
  font-size: 15px;
  position: relative;
  padding-left: 17px;
  margin-left: 2px;
}

.footer .ft_menu ul li:not(.menu_top)::before {
  content: '';
  background: url(../img/common/icon_arrow_right_orange.svg) no-repeat;
  background-size: contain;
  width: 7px;
  height: 11px;
  position: absolute;
  left: 0;
  top: 6px;
}

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

.footer .ft_logo img {
  width: 288px;
  margin-bottom: 30px;
}

.footer .home_link {
  font-weight: bold;
  margin-bottom: 8px;
}

.footer .home_link a::before {
  content: '';
  background: url(../img/common/icon_home.svg) no-repeat;
  background-size: contain;
  width: 18px;
  height: 16px;
  display: inline-block;
  position: relative;
  left: -4px;
}

.footer .company_info {
  background: #f2f2f2;
  padding: 60px 0;
}

.footer .company_info .inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 34% auto;
      grid-template-columns: 34% auto;
  -ms-grid-rows: auto auto;
      grid-template-rows: auto auto;
  -webkit-column-gap: 5%;
          column-gap: 5%;
}

.footer .company_info .company_box {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
}

.footer .company_info .company_box p {
  font-size: 15px;
}

.footer .company_info .company_box .name {
  font-size: 18px;
  margin-bottom: 4px;
}

.footer .company_info .ft_talent {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  margin: 25px 0 0;
  width: 270px;
}

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

.footer .company_info .permission_num {
  -ms-grid-column: 2;
  grid-column: 2;
  grid-row: 1 / -1;
}

.footer .company_info .permission_num li {
  font-size: 14px;
  float: left;
  width: 50%;
  margin-bottom: 15px;
  line-height: 1.8;
}

.footer .company_info .permission_num li span {
  font-size: 16px;
  font-weight: bold;
}

.footer .company_info .permission_num li span::before {
  content: '';
  display: inline-block;
  background: #ff7b22;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 7px;
}

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

.footer .copy {
  background: #41bbe5;
  color: #fff;
  font-size: 13px;
  padding: 30px 0 30px;
  margin-bottom: 88px;
}

.footer .copy a {
  color: #fff;
}

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

.footer .pagetop a {
  display: block;
  background-color: var(--site-secondary);
  text-align: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

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

@media only screen and (max-width: 1024px) {
  .footer .ft_menu {
    padding: 60px 0;
  }
  .footer .company_info {
    padding: 45px 0;
  }
}

@media only screen and (max-width: 960px) {
  .footer .ft_menu {
    padding: 6vw 0;
  }
  .footer .company_info {
    padding: 5vw 0;
  }
  .footer .company_info .company_box .ft_talent {
    width: 100%;
  }
  .footer .company_info .permission_num {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .footer .company_info .permission_num li {
    width: 46%;
    font-size: 13px;
  }
  .footer .company_info .permission_num li:nth-child(odd) {
    margin-right: 5%;
  }
  .footer .company_info .permission_num li span {
    font-size: 15px;
  }
  .footer .company_info .ft_talent {
    width: 100%;
  }
}

@media only screen and (max-width: 568px) {
  .footer .home_link {
    display: none;
  }
  .footer .ft_logo img {
    display: block;
    margin: 0 auto 22px;
  }
  .footer .ft_menu {
    padding: 28px 0 0;
  }
  .footer .ft_menu .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .footer .ft_menu ul {
    margin: 0 -5.3vw;
    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;
    color: #fff;
    text-align: center;
    width: 100%;
    background: var(--site-primary);
    padding: 8px 0 10px;
    margin: 0;
  }
  .footer .ft_menu ul li.menu_top::before {
    content: none;
  }
  .footer .ft_menu ul li:not(.menu_top) {
    font-size: 14px;
    line-height: 1.4;
    width: 50%;
    margin: 0;
    border-bottom: 1px solid #ff9222;
    padding-left: 27px;
  }
  .footer .ft_menu ul li:not(.menu_top):nth-child(even) {
    border-right: 1px solid #ff9222;
  }
  .footer .ft_menu ul li:not(.menu_top)::before {
    left: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .footer .ft_menu ul li:not(.menu_top) a {
    height: 50px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .footer .company_info {
    padding: 24px 0;
  }
  .footer .company_info .inner {
    -ms-grid-columns: auto;
        grid-template-columns: auto;
    -ms-grid-rows: (auto)[3];
        grid-template-rows: repeat(3, auto);
  }
  .footer .company_info .company_box {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    text-align: center;
    margin-bottom: 16px;
  }
  .footer .company_info .company_box .name {
    margin-bottom: 2px;
  }
  .footer .company_info .company_box .address, .footer .company_info .company_box .tel {
    font-size: 14px;
  }
  .footer .company_info .ft_talent {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
    width: 83.6%;
    margin: 20px auto 0;
  }
  .footer .company_info .permission_num {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: #e6e6e6;
    padding: 12px 20px;
    border-radius: 10px;
  }
  .footer .company_info .permission_num li {
    width: 100%;
    font-size: 12px;
    margin: 0 0 5px !important;
  }
  .footer .company_info .permission_num li span {
    font-size: 14px;
  }
  .footer .copy {
    font-size: 11px;
    padding: 17px 0;
    margin-bottom: 106px;
  }
  .footer .pagetop {
    display: block;
    position: static;
  }
  .footer .pagetop a {
    width: 100%;
    height: auto;
    padding: 10px 0;
    border-radius: 0;
  }
  .footer .pagetop a img {
    vertical-align: middle;
    width: 21px;
    top: -2px;
  }
}

/*===============================================
 *	固定フッター
===============================================*/
/*
.fixed_footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 100px;
  background: #fff;
  padding: 18px 0 20px;
  z-index: 100;
  display: none;
  border-top: 3px solid var(--site-primary);
}

.fixed_footer a:hover {
  opacity: 0.85;
}

.fixed_footer .logo {
  width: 23.2%;
}

.fixed_footer .tel {
  width: 27%;
  margin-left: auto;
}

.fixed_footer .mail {
  width: 14.3%;
  margin-left: 20px;
}

.fixed_footer .line {
  width: 14.3%;
  margin-left: 14px;
}

@media only screen and (max-width: 1024px) {
  .fixed_footer {
    height: 92px;
  }
}

@media only screen and (max-width: 960px) {
  .fixed_footer {
    height: 70px;
    padding: 15px 0;
  }
}

@media only screen and (max-width: 568px) {
  .fixed_footer {
    height: 26.5vw;
    padding: 4px 0 6px;
  }
  .fixed_footer .inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    width: 92vw;
  }
  .fixed_footer p {
    font-size: 14px;
    font-weight: 900;
    color: #ff9222;
    width: 100%;
    margin-bottom: -2px;
  }
  .fixed_footer p span {
    position: relative;
  }
  .fixed_footer p span::before, .fixed_footer p span::after {
    content: '';
    width: 10px;
    height: 17px;
    position: absolute;
    top: 2px;
  }
  .fixed_footer p span::before {
    background: url(../img/common/line_dot_left.svg) no-repeat;
    background-size: contain;
    left: -15px;
  }
  .fixed_footer p span::after {
    background: url(../img/common/line_dot_right.svg) no-repeat;
    background-size: contain;
    right: -15px;
  }
  .fixed_footer .tel {
    width: 59.1%;
    margin: 0;
  }
  .fixed_footer .mail {
    width: 17.9%;
    margin: 0;
  }
  .fixed_footer .line {
    width: 17.9%;
    margin: 0;
  }
}
*/
/*===============================================
 *	お知らせ
===============================================*/
.news_txt {
  background: var(--site-primary);
  padding: 5px 0;;
  width: 94vw;
  max-width: 1300px;
  position: absolute;
  top: 125px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 100px;
  z-index: 100;
}
.news_txt p{
  text-align: center;
  color: #fff;
  font-weight: bold;
}
@media only screen and (max-width: 960px) {
  .news_txt {
    width: 100%;
    border-radius: 0;
    position: relative;
    top: 0;
  }
}
@media only screen and (max-width: 560px) {
  .news_txt p{
    font-size: 14px;
    line-height: 1.4;
  }
}
/*===============================================
 *	メインビジュアル
===============================================*/
/*.main_visual {
  background-color: #f5ffd4;
  padding-top: 158px;
  overflow: hidden;
  position: relative;
}

.main_visual::before {
  content: '';
  background: url(../img/common/mv_bg_pc.png) no-repeat bottom center;
  width: 100%;
  height: 557px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.main_visual .inner::before {
  content: '';
  background: url(../img/common/mv_bubble01.png) no-repeat;
  width: 240px;
  height: 100%;
  position: absolute;
  left: -240px;
  bottom: 0;
}

.main_visual .inner::after {
  content: '';
  background: url(../img/common/mv_bubble02.png) no-repeat;
  width: 375px;
  height: 100%;
  position: absolute;
  right: -310px;
  bottom: 0;
}

.main_visual .mv_main {
  width: 67%;
  position: relative;
}

.main_visual .main_txt img {
  margin-bottom: 30px;
  max-width: 747px;
}

.main_visual .mv_points img {
  position: absolute;
  left: 50%;
  bottom: 64px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 622px;
  z-index: 2;
}

.main_visual .mv_talent {
  position: absolute;
  right: 15px;
  bottom: 0;
  width: 35.2%;
  max-width: 394px;
}

.ad_main {
  padding: 40px 0;
}

.ad_main .hd_ttl {
  font-size: 28px;
  font-weight: 900;
}

.ad_main .hd_ttl span {
  display: inline-block;
  text-align: center;
  flex-grow: 1;
}

.ad_main .hd_ttl .bg_lightorange {
  color: #fff;
  padding: 15px 30px;
}

.ad_main .hd_ttl .bg_white {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 15px 5px;
}

.ad_main .ad_points {
  
  margin-top: 30px;
}

.ad_main .ad_points li {
  font-size: 22px;
  font-weight: bold;
  background: #fff;
  width:15%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  flex-direction: column;
  border: 4px solid #e5e5e5;
  border-radius: 5px;
  padding: 10px 0;
  text-align: center;
}

.ad_main .ad_points li img {
  width: 55px;
  margin-bottom: 4px;
}

.main_visual.normal {
  padding-top: 130px;
}

.main_visual.normal .inner::before {
  content: '';
  background: url(../img/common/mv_normal_bubble01.png) no-repeat;
  background-size: contain;
  width: 462px;
  height: 100%;
  position: absolute;
  left: -285px;
  bottom: 0;
}

.main_visual.normal .inner::after {
  content: '';
  background: url(../img/common/mv_normal_bubble02.png) no-repeat;
  background-size: contain;
  width: 374px;
  height: 100%;
  position: absolute;
  right: -310px;
  bottom: 0;
}

.main_visual.normal .mv_main {
  width: 100%;
  text-align: center;
}

.main_visual.normal .mv_main::before, .main_visual.normal .mv_main::after {
  content: '';
  width: 300px;
  height: 290px;
  position: absolute;
  bottom: 0;
}

.main_visual.normal .mv_main::before {
  background: url(../img/common/mv_staff01.png) no-repeat;
  background-size: cover;
  left: -25px;
}

.main_visual.normal .mv_main::after {
  background: url(../img/common/mv_staff02.png) no-repeat;
  background-size: cover;
  right: 0;
}

.main_visual.normal .main_txt img {
  width: 67%;
  max-width: 730px;
  margin-bottom: 40px;
}

@media only screen and (max-width: 1024px) {
  .main_visual.normal .mv_main::before, .main_visual.normal .mv_main::after {
    width: calc(317px * 0.8);
    height: calc(350px * 0.8);
  }
  .main_visual .mv_points img {
    bottom: 42px;
  }
  .ad_main .hd_ttl {
    font-size: 24px;
  }
  .ad_main .ad_points li {
    font-size: 20px;
  }
}

@media only screen and (max-width: 960px) {
  .main_visual {
    padding-top: 3.5vw;
  }
  .main_visual::before {
    background-size: auto 67%;
  }
  .main_visual .inner::before {
    background-size: contain;
    width: 34%;
    left: -16%;
  }
  .main_visual .inner::after {
    background-size: contain;
    width: 34%;
    right: -21%;
  }
  .main_visual .mv_main {
    width: 60%;
    margin-left: 3%;
  }
  .main_visual .mv_points img {
    bottom: 6vw;
    width: 88%;
  }
  .main_visual .mv_talent {
    width: 32%;
    right: 7%;
  }
  .main_visual.normal {
    padding-top: 3.5vw;
  }
  .main_visual.normal .mv_main::before, .main_visual.normal .mv_main::after {
    width: calc(300px * 0.65);
    height: calc(350px * 0.65);
  }
  .main_visual.normal .main_txt img {
    margin-bottom: 20px;
  }
  .main_visual.normal .mv_points img {
    width: 54%;
  }
  .main_visual.normal .inner::before {
    width: 37%;
    left: -18%;
    bottom: 4%;
  }
  .main_visual.normal .inner::after {
    width: 35%;
    right: -27%;
    bottom: 13%;
  }
  .ad_main {
    padding: 3.5vw 0;
  }
  .ad_main .hd_ttl {
    font-size: 22px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .ad_main .hd_ttl .bg_lightorange {
    padding: 10px 0;
  }
  .ad_main .hd_ttl .bg_white {
    padding: 10px 0;
  }
  .ad_main .ad_points {
    margin-top: 25px;
    gap: 0 3%;
  }
  .ad_main .ad_points li {
    font-size: 18px;
    min-width: initial;
    width: 30%;
    padding: 8px 0;
  }
  .ad_main .ad_points li img {
    width: 45px;
  }
}

@media only screen and (max-width: 568px) {
  .main_visual {
    background: url(../img/common/mv_bg_sp.png) no-repeat bottom center;
    background-size: cover;
  }
  .main_visual::before {
    content: none;
  }
  .main_visual .inner::before, .main_visual .inner::after {
    content: none;
  }
  .main_visual .mv_main {
    width: 100%;
    margin: 0;
  }
  .main_visual .mv_main .main_txt img {
    margin-left: 1%;
    margin-bottom: 0;
  }
  .main_visual .mv_points img {
    position: relative;
    width: 65%;
    left: -8%;
    bottom: initial;
    -webkit-transform: none;
            transform: none;
    margin: 5px 0 65px 0px;
  }
  .main_visual .mv_talent {
    width: 105%;
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
  .main_visual.normal .inner::before, .main_visual.normal .inner::after {
    content: none;
  }
  .main_visual.normal .mv_main {
    text-align: left;
  }
  .main_visual.normal .mv_main::before, .main_visual.normal .mv_main::after {
    width: calc(340px * 0.55);
    height: calc(330px * 0.55);
  }
  .main_visual.normal .mv_main::before {
    left: initial;
    right: 38px;
    z-index: 10;
  }
  .main_visual.normal .mv_main::after {
    right: -46px;
  }
  .main_visual.normal .main_txt img {
    width: 100%;
  }
  .main_visual.normal .mv_points img {
    width: 60%;
    margin: 10px 0 15px 0px;
    z-index: 20;
  }
  .ad_main {
    padding: 22px 0;
  }
  .ad_main .hd_ttl {
    font-size: 18px;
  }
  .ad_main .hd_ttl .bg_lightorange {
    padding: 6px 0 8px;
  }
  .ad_main .hd_ttl .bg_white {
    padding: 6px 0 8px;
  }
  .ad_main .ad_points {
    margin-top: 16px;
    flex-wrap: wrap;
    gap: 12px 0;
  }
  .ad_main .ad_points li {
    font-size: 15px;
    width: 48%;
    padding: 8px 0px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-width: 3px;
    flex-direction: row;
  }
  .ad_main .ad_points li img {
    width: 34px;
    margin: 0 6px 0 6px;
  }
}*/

/*=============================================== *
	メインビジュアル
===============================================*/
.main_visual {background-color: #afe3ff;padding-top: 106px;overflow: hidden;position: relative;}
.main_visual::before {content: '';background: url(../img/common/mv_bg_pc.png) no-repeat bottom center;width: 100%;height: 557px;position: absolute;bottom: 0;left: 50%;-webkit-transform: translateX(-50%);transform: translateX(-50%);}
.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: 80px 0 0;width: 90vw;max-width: 1300px;margin: 0 auto;position: relative;}
.main_visual .wide_inner::before {content: '';background: url(../img/common/mv_bubble01.png) no-repeat;width: 240px;height: 100%;position: absolute;left: -240px;bottom: 0;}
.main_visual .wide_inner::after {content: '';background: url(../img/common/mv_bubble02.png) no-repeat;width: 375px;height: 100%;position: absolute;right: -310px;bottom: 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: 15px 0 10px 0;}
.main_visual .performance {-ms-grid-column: 1;grid-column: 1;-ms-grid-row: 2;grid-row: 2;width: 100%;max-width: 520px;margin: 0 auto;}
.main_visual .staff_photo_medal{position: relative;z-index: 5;}
.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 {padding-top: 20px;}
.main_visual .wide_inner {padding: 26px 0 0;}
}
@media only screen and (max-width: 568px) {
.main_visual {background: url("../img/common/mv_bg_sp.png") no-repeat bottom center;background-size: cover;padding-top: 2px;}
.main_visual::before {content: none;}
.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: 10px 0 8px;position: unset;}
.main_visual .wide_inner::before, .main_visual .wide_inner::after {content: none;}
.main_visual .main_txt {-ms-grid-column: 1;grid-column: 1;-ms-grid-row: 1;grid-row: 1;width: 96%;margin: 0 auto 14px;}
.main_visual .performance {-ms-grid-column: 1;grid-column: 1;-ms-grid-row: 2;grid-row: 2;margin-bottom: 5px;width: 100%;margin-top: 0;}
.main_visual .staff_photo {-ms-grid-column: 1;grid-column: 1;-ms-grid-row: 3;grid-row: 3;justify-self: center;margin: -20px -5.3vw -40px;}
.main_visual .staff_photo_medal {-ms-grid-column: 2/3;grid-column: 2/3;width: 55%;position: absolute;right: 0;bottom: 0;}
.main_visual .fv_performance{width: 100%;position: relative;z-index: 10;margin-top: -3px;}
.main_visual .fv_medal {width: 56%;position: relative;z-index: 10;}
}
/*=============================================== *
	メインビジュアルのH1
===============================================*/
.fv_main_ttl{font-size: 40px;font-family: "GenEiMGothic";font-weight: 900;font-style: italic;letter-spacing: 2px;line-height: 1.3;margin-bottom: 15px;text-align: center;-webkit-text-stroke-width: 1px;text-shadow: rgb(255, 255, 255) 7px 0px 0px, rgb(255, 255, 255) 6.92869px 0.996602px 0px, rgb(255, 255, 255) 6.71622px 1.9729px 0px, rgb(255, 255, 255) 6.36692px 2.909px 0px, rgb(255, 255, 255) 5.8879px 3.78584px 0px, rgb(255, 255, 255) 5.28893px 4.58555px 0px, rgb(255, 255, 255) 4.5822px 5.29183px 0px, rgb(255, 255, 255) 3.78212px 5.8903px 0px, rgb(255, 255, 255) 2.90498px 6.36876px 0px, rgb(255, 255, 255) 1.96865px 6.71747px 0px, rgb(255, 255, 255) 0.992221px 6.92932px 0px, rgb(255, 255, 255) -0.00442571px 7px 0px, rgb(255, 255, 255) -1.00098px 6.92806px 0px, rgb(255, 255, 255) -1.97715px 6.71498px 0px, rgb(255, 255, 255) -2.91303px 6.36508px 0px, rgb(255, 255, 255) -3.78956px 5.88551px 0px, rgb(255, 255, 255) -4.58889px 5.28603px 0px, rgb(255, 255, 255) -5.29472px 4.57885px 0px, rgb(255, 255, 255) -5.89269px 3.77839px 0px, rgb(255, 255, 255) -6.3706px 2.90095px 0px, rgb(255, 255, 255) -6.71871px 1.96441px 0px, rgb(255, 255, 255) -6.92995px 0.98784px 0px, rgb(255, 255, 255) -6.99999px -0.00885142px 0px, rgb(255, 255, 255) -6.92743px -1.00536px 0px, rgb(255, 255, 255) -6.71372px -1.98139px 0px, rgb(255, 255, 255) -6.36324px -2.91705px 0px, rgb(255, 255, 255) -5.88311px -3.79328px 0px, rgb(255, 255, 255) -5.28313px -4.59223px 0px, rgb(255, 255, 255) -4.57551px -5.29762px 0px, rgb(255, 255, 255) -3.77466px -5.89507px 0px, rgb(255, 255, 255) -2.89692px -6.37243px 0px, rgb(255, 255, 255) -1.96016px -6.71995px 0px, rgb(255, 255, 255) -0.983458px -6.93057px 0px, rgb(255, 255, 255) 0.0132771px -6.99999px 0px, rgb(255, 255, 255) 1.00974px -6.92679px 0px, rgb(255, 255, 255) 1.98564px -6.71247px 0px, rgb(255, 255, 255) 2.92107px -6.36139px 0px, rgb(255, 255, 255) 3.797px -5.88071px 0px, rgb(255, 255, 255) 4.59557px -5.28022px 0px, rgb(255, 255, 255) 5.30051px -4.57215px 0px, rgb(255, 255, 255) 5.89746px -3.77094px 0px, rgb(255, 255, 255) 6.37426px -2.89289px 0px, rgb(255, 255, 255) 6.72119px -1.95591px 0px, rgb(255, 255, 255) 6.93119px -0.979076px 0px;position: relative;z-index: 5;}
.fv_main_ttl::before,.fv_main_ttl::after{content: "";display: inline-block;}
.fv_main_ttl::before{background: url('../img/top/mv_medal/mv_image_left.png') no-repeat;background-size: cover;width: 90px;height: 90px;position: absolute;left: 60px;top: 40px;z-index: -1;}
.fv_main_ttl::after{background: url('../img/top/mv_medal/mv_image_right.png') no-repeat;background-size: cover;width: 105px;height: 105px;position: absolute;right: 30px;top: -10px;z-index: -1;}


.city_hdttl{line-height: 1.2;margin-bottom: 15px;}
.fv_main_ttl .pref_txt{display: inline-block;font-size: 47px;text-align: center;color: #333;letter-spacing: 4px;}
.dots {
  background-image: radial-gradient(circle at center, #fea330 20%, transparent 20%); /* 点の色とサイズ調整 */
  background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 1.05em 0.25em; /* 点の間隔とサイズ調整 */
  padding-top: .4em; /* 縦方向の位置調整 */
}

.fv_main_ttl .city_txt{font-size: 40px;color: #333;font-style:normal;border-radius: 7px;display: inline-block;margin: 0 0 0 10px;}

.fv_main_ttl .huyou_txt,.fv_main_ttl .sodaigomi_txt{color: #41bbe5;font-size: 80px;}
.fv_main_ttl .yagou_txt{font-size: 55px;text-align: center;display: block;line-height: 1.6;}
@media only screen and (max-width: 1024px) {
.fv_main_ttl {font-size: 42px;}
.fv_main_ttl .pref_txt {font-size: 45px;}
.fv_main_ttl .yagou_txt {font-size: 46px;}
.fv_main_ttl .huyou_txt, .fv_main_ttl .sodaigomi_txt {font-size: 58px;}
}
@media only screen and (max-width: 960px) {
.fv_main_ttl {font-size: 26px;margin: 0 0 20px 0;text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;}
.city_hdttl{margin-bottom: 15px;}
.fv_main_ttl .pref_txt {font-size: 18px;}
.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: 28px;}
}
@media only screen and (max-width: 568px) {
.fv_main_ttl {font-size: clamp(23px, 4.82vw, 28px);margin-bottom: 0;letter-spacing: 1px;text-shadow: rgb(255, 255, 255) 5px 0px 0px, rgb(255, 255, 255) 4.90033px 0.993347px 0px, rgb(255, 255, 255) 4.60531px 1.94709px 0px, rgb(255, 255, 255) 4.12668px 2.82321px 0px, rgb(255, 255, 255) 3.48353px 3.58678px 0px, rgb(255, 255, 255) 2.70151px 4.20736px 0px, rgb(255, 255, 255) 1.81179px 4.6602px 0px, rgb(255, 255, 255) 0.849836px 4.92725px 0px, rgb(255, 255, 255) -0.145998px 4.99787px 0px, rgb(255, 255, 255) -1.13601px 4.86924px 0px, rgb(255, 255, 255) -2.08073px 4.54649px 0px, rgb(255, 255, 255) -2.94251px 4.04248px 0px, rgb(255, 255, 255) -3.68697px 3.37732px 0px, rgb(255, 255, 255) -4.28444px 2.57751px 0px, rgb(255, 255, 255) -4.71111px 1.67494px 0px, rgb(255, 255, 255) -4.94996px 0.7056px 0px, rgb(255, 255, 255) -4.99147px -0.291871px 0px, rgb(255, 255, 255) -4.83399px -1.27771px 0px, rgb(255, 255, 255) -4.48379px -2.2126px 0px, rgb(255, 255, 255) -3.95484px -3.05929px 0px, rgb(255, 255, 255) -3.26822px -3.78401px 0px, rgb(255, 255, 255) -2.4513px -4.35788px 0px, rgb(255, 255, 255) -1.53666px -4.75801px 0px, rgb(255, 255, 255) -0.560763px -4.96845px 0px, rgb(255, 255, 255) 0.437495px -4.98082px 0px, rgb(255, 255, 255) 1.41831px -4.79462px 0px, rgb(255, 255, 255) 2.34258px -4.41727px 0px, rgb(255, 255, 255) 3.17346px -3.86382px 0px, rgb(255, 255, 255) 3.87783px -3.15633px 0px, rgb(255, 255, 255) 4.4276px -2.32301px 0px, rgb(255, 255, 255) 4.80085px -1.39708px 0px, rgb(255, 255, 255) 4.98271px -0.415447px 0px;background: url(../img/top/mv_medal/bg_fv_sp.png) bottom no-repeat;background-size: contain;}
.fv_main_ttl::before,.fv_main_ttl::after{content: none;}
.fv_main_ttl .pref_txt {font-size: 30px;}
.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;}
.fv_main_ttl::before {width: 70px;height: 51px;left: -5px;top: 60px;background-size: contain;}
.fv_main_ttl::after {width: 68px;height: 74px;right: -5px;top: 50px;background-size: contain;}
.fv_main_ttl .pref_txt.dots {background-size: 1.12em .20em;}
}
/*=============================================== *
	メインビジュアル直下 SP用
===============================================*/
.google_warap{background-color: #37c3e1;background-image: repeating-linear-gradient(-45deg, transparent, transparent 15px, #38bad3 15px, #38bad3 28px);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 #0e7085);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-image: radial-gradient(circle at center, #ffd800 20%, transparent 20%);background-position: top right;background-repeat: repeat-x;background-size: 1.05em 0.25em;padding-top: .2em;}

.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 {padding-top: .4em;background-size: 1.05em 0.5em;}
.google_evidence{font-size: 11px;width: 90vw;}
}

/*===============================================
 *	CVエリア
===============================================*/
.cv_area {
  background: url(../img/common/cv_ttl_bg.png) no-repeat center top, url(../img/common/cvarea_bg.png) no-repeat center;
  background-size: auto, cover;
  padding: 0 0 60px;
}

.cv_area .inner {
  position: relative;
}

.cv_area.normal .cv_ttl_box {
  padding: 30px 0 100px;
}

.cv_area .cv_ttl_box {
  padding: 30px 0 115px;
  position: relative;
}

.cv_area .cv_ttl_box .label {
  width: 184px;
  position: absolute;
  top: 35px;
  left: 20px;
}

.cv_area .talent_box {
  position: absolute;
  right: 35px;
  bottom: 0;
}

.cv_area .talent_box img {
  width: 220px;
  margin-right: 44px;
}

.cv_area .talent_box p {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  color: #42210b;
  margin: 0 10px 10px 0;
}

.cv_area .cv_ttl {
  font-size: 45px;
  font-weight: 900;
  line-height: 1.4;
}

.cv_area .cv_ttl .color {
  color: #fcee21;
}

.cv_area .camp_box {
  border-radius: 20px;
  background: #fff;
}

.cv_area .camp_box dt {
  font-size: 32px;
  font-weight: 900;
  border-radius: 20px 20px 0 0;
  padding: 13px 0 14px;
}

.cv_area .camp_box dt span {
  position: relative;
}

.cv_area .camp_box dt span::before {
  content: '';
  background: url(../img/common/circles_cv_left.png) no-repeat;
  background-size: contain;
  width: 171px;
  height: 41px;
  position: absolute;
  left: -200px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.cv_area .camp_box dt span::after {
  content: '';
  background: url(../img/common/circles_cv_right.png) no-repeat;
  background-size: contain;
  width: 175px;
  height: 40px;
  position: absolute;
  right: -210px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.cv_area .camp_box dd {
  font-size: 26px;
  font-weight: bold;
  padding: 25px 0 26px;
}

.cv_area .camp_box dd .txt_primarycolor {
  font-size: 1.35em;
  font-weight: 900;
}

.cv_area .cv_box {
  padding: 30px 60px 36px;
  margin-top: 30px;
}

.cv_area .cv_box p {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 40px;
  padding: 4px 0 6px;
}

.cv_area .cv_box ul {
  gap: 0 5%;
}

.cv_area .cv_box ul li:first-child {
  width: 100%;
  text-align: center;
  margin-bottom: 40px;
}

.cv_area .cv_box ul li:first-child img {
  max-width: 606px;
}

@media only screen and (max-width: 1024px) {
  .cv_area .cv_ttl {
    font-size: 40px;
    line-height: 1.5;
  }
}

@media only screen and (max-width: 960px) {
  .cv_area {
    background-position: top -30px center, center;
    padding: 0 0 7vw;
  }
  .cv_area.normal .cv_ttl_box {
    padding: 30px 0 80px;
  }
  .cv_area .cv_ttl_box .label {
    width: 140px;
    top: 32px;
    left: 10px;
  }
  .cv_area .cv_ttl {
    font-size: 32px;
  }
  .cv_area .talent_box img {
    width: 164px;
    margin-right: 0;
  }
  .cv_area .talent_box p {
    font-size: 12px;
    margin-bottom: 14px;
  }
  .cv_area .camp_box dt {
    font-size: 25px;
  }
  .cv_area .camp_box dt span::before {
    width: 125px;
    height: 30px;
    left: -135px;
  }
  .cv_area .camp_box dt span::after {
    width: 130px;
    height: 30px;
    right: -150px;
  }
  .cv_area .camp_box dd {
    font-size: 22px;
  }
  .cv_area .cv_box {
    padding: 28px 4vw 32px;
  }
  .cv_area .cv_box p {
    font-size: 24px;
    margin-bottom: 25px;
  }
  .cv_area .cv_box ul li {
    width: 47%;
  }
  .cv_area .cv_box ul li:first-child {
    margin-bottom: 28px;
  }
  .cv_area .cv_box ul li:first-child img {
    width: 80%;
  }
}

@media only screen and (max-width: 568px) {
  .cv_area {
    background: url(../img/common/cv_ttl_bg_sp.png) no-repeat center top, url(../img/common/cvarea_bg_sp.png) no-repeat center;
    background-size: 100% auto, cover;
    padding: 0 0 35px;
  }
  .cv_area.normal .label {
    display: none;
  }
  .cv_area.normal .cv_ttl_box {
    padding: 14px 0 60px;
  }
  .cv_area.normal .cv_ttl {
    padding-left: 0;
    line-height: 1.75;
    font-size: 5.3vw;
  }
  .cv_area.normal .talent_box {
    right: 4px;
    justify-content: flex-end;
  }
  .cv_area.normal .talent_box img {
    width: 53%;
  }
  .cv_area .cv_ttl_box {
    padding: 18px 0 156px;
  }
  .cv_area .cv_ttl_box .label {
    width: 72px;
    top: 8px;
    left: 0;
  }
  .cv_area .cv_ttl {
    font-size: 21px;
    text-align: left;
    padding-left: 84px;
  }
  .cv_area .talent_box {
    right: 12px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .cv_area .talent_box img {
    width: 123px;
  }
  .cv_area .talent_box p {
    text-align: left;
    font-size: 13px;
    line-height: 1.75;
    margin: 18px 0 0;
  }
  .cv_area .camp_box {
    border-radius: 10px;
  }
  .cv_area .camp_box dt {
    font-size: 18px;
    border-radius: 10px 10px 0 0;
    padding: 7px 0 8px;
  }
  .cv_area .camp_box dt span::before {
    background: url(../img/common/circles_left_sp.png) no-repeat;
    width: 40px;
    height: 31px;
    left: -50px;
  }
  .cv_area .camp_box dt span::after {
    background: url(../img/common/circles_right_sp.png) no-repeat;
    width: 28px;
    height: 29px;
    right: -40px;
  }
  .cv_area .camp_box dd {
    font-size: 16px;
    line-height: 1.75;
    padding: 8px 0 12px;
  }
  .cv_area .camp_box dd .txt_primarycolor {
    font-size: 1.25em;
  }
  .cv_area .cv_box {
    padding: 16px 16px;
    margin-top: 15px;
  }
  .cv_area .cv_box p {
    font-size: 16px;
    margin-bottom: 12px;
  }
  .cv_area .cv_box ul li {
    width: 100%;
    margin-bottom: 10px;
  }
  .cv_area .cv_box ul li:first-child {
    margin-bottom: 10px;
  }
  .cv_area .cv_box ul li:first-child img {
    width: 100%;
  }
  .cv_area .cv_box ul li:last-child {
    margin: 0;
  }
}

/*===============================================
 *	コロナ対策・拭き上げサービス・キャンペーン
===============================================*/
.colona_wrapper {
  margin-top: 100px;
}

.colona_wrapper .box_ttl {
  font-size: 20px;
  color: #009662;
  background: #f2f2f2;
  padding: 6px 0 8px;
  margin-bottom: 20px;
}

.colona_wrapper .label {
  font-size: 18px;
  font-weight: bold;
  border: 1px solid var(--site-keycolor);
  color: #009662;
  display: inline-block;
  border-radius: 5px;
  padding: 0 30px 2px;
  margin-bottom: 10px;
}

.colona_wrapper ul {
  margin-bottom: 40px;
}

.colona_wrapper ul li {
  margin-bottom: 4px;
  text-indent: -1.1em;
  padding-left: 1.1em;
}

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

.colona_wrapper img {
  width: 172px;
  margin-left: 25px;
}

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

.wipe_box {
  border: 5px solid #4ab6e3;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 23.8% auto 23.8%;
      grid-template-columns: 23.8% auto 23.8%;
  -ms-grid-rows: auto;
      grid-template-rows: auto;
  margin-top: 54px;
}

.wipe_box .wipe_content {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  background: #4ab6e3;
}

.wipe_box .wipe_image01 {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
}

.wipe_box .wipe_image02 {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 1;
  grid-row: 1;
}

.wipe_box .ttl {
  font-size: 36px;
  line-height: 2.0;
  margin: -6px 0 6px;
}

.wipe_box .ttl .sub_txt {
  font-size: 0.56em;
  color: #222;
  background: #fff;
  padding: 5px 30px 7px;
  border-radius: 50px;
}

.wipe_box .ttl .free {
  font-size: 0.7em;
  line-height: 78px;
  display: inline-block;
  margin-right: 15px;
  position: relative;
  top: -5px;
  background: #eec654;
  width: 80px;
  height: 80px;
  border-radius: 100px;
}

.wipe_box p {
  line-height: 1.6;
}
.bnr_box {
  margin: 50px 0;
}

.price_off {
  margin: 50px 0 80px;
}
.price_off img {
  border-radius: 20px;
}
.price_off p {
  margin-top: 10px;
  font-size: 13px;
  color: #666;
}

@media only screen and (max-width: 1024px) {
  .colona_wrapper {
    margin-top: 82px;
  }
  .wipe_box {
    margin-top: 45px;
  }
  .wipe_box .ttl {
    font-size: 32px;
    margin-bottom: 3px;
  }
  .wipe_box .ttl .free {
    line-height: 70px;
    width: 70px;
    height: 70px;
  }
  .bnr_box {
    margin: 45px 0;
  }
  .price_off {
    margin: 45px 0 65px;
  }
}

@media only screen and (max-width: 960px) {
  .colona_wrapper {
    margin-top: 9vw;
  }
  .colona_wrapper .box_ttl {
    font-size: 18px;
  }
  .colona_wrapper .label {
    font-size: 16px;
  }
  .colona_wrapper ul {
    margin-bottom: 30px;
  }
  .wipe_box {
    -ms-grid-columns: 21% auto 21%;
        grid-template-columns: 21% auto 21%;
    margin-top: 5vw;
  }
  .wipe_box .wipe_content {
    padding: 10px 0;
  }
  .wipe_box .wipe_image01 img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .wipe_box .wipe_image02 img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .wipe_box .ttl {
    font-size: 23px;
    margin: -10px 0 3px;
  }
  .wipe_box .ttl .free {
    line-height: 50px;
    width: 50px;
    height: 50px;
    margin-right: 10px;
    top: -2px;
  }
  .wipe_box p {
    padding: 0 10px;
  }
  .price_off,.bnr_box {
    margin: 5vw 0;
  }
}

@media only screen and (max-width: 568px) {
  .colona_wrapper {
    margin-top: 60px;
  }
  .colona_wrapper .box_ttl {
    font-size: 15px;
    text-align: left;
    padding: 8px 8px;
    margin-bottom: 15px;
  }
  .colona_wrapper .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .colona_wrapper .label {
    font-size: 15px;
  }
  .colona_wrapper ul {
    margin-bottom: 12px;
  }
  .colona_wrapper ul li {
    font-size: 14px;
  }
  .colona_wrapper img {
    width: 67%;
    margin: 0 0 16px;
  }
  .wipe_box {
    -ms-grid-columns: 50% 50%;
        grid-template-columns: 50% 50%;
    -ms-grid-rows: auto 1fr;
        grid-template-rows: auto 1fr;
    margin-top: 22px;
    border-width: 3px;
  }
  .wipe_box .wipe_content {
    padding: 18px 18px;
    grid-column: 1 / -1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .wipe_box .wipe_image01 {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .wipe_box .wipe_image01 img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .wipe_box .wipe_image02 {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .wipe_box .wipe_image02 img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .wipe_box .ttl {
    font-size: 22px;
    line-height: 1.4;
    text-align: left;
    margin: 0 auto 11px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .wipe_box .ttl .sub_txt {
    display: block;
    font-size: 0.7em;
    padding: 5px 0 7px;
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
  }
  .wipe_box .ttl .free {
    font-size: 0.8em;
    line-height: 60px;
    width: 60px;
    height: 60px;
    margin-right: 12px;
    top: 2px;
    text-align: center;
  }
  .wipe_box p {
    font-size: 14px;
    padding: 0;
    text-align: left;
  }
  .price_off {
    margin: 25px 0 25px;
  }
  .price_off img {
    border-radius: 10px;
  }
  .price_off p {
    font-size: 12px;
    line-height: 1.6;
    text-align: left;
    margin-top: 6px;
    padding: 0;
    text-indent: 0;
  }
}

/*===============================================
 *	メダルエリア
===============================================*/
.medal_area {
  background: url(../img/common/bg_effect_yellow.png) no-repeat center;
  background-size: cover;
  padding: 76px 0 60px;
}

.medal_area .row {
  gap: 0 5%;
}

.medal_area .medal {
  width: 42%;
}

.medal_area .photo {
  width: 46.5%;
  max-width: 520px;
}

.medal_area .ttl_box {
  position: relative;
  margin-top: 25px;
  width: 58.5%;
  margin-bottom: 60px;
}

.medal_area .ttl_box::before, .medal_area .ttl_box::after {
  content: '';
  width: 79px;
  height: 201px;
  position: absolute;
  top: -5px;
}

.medal_area .ttl_box::before {
  background: url(../img/common/leaf_left.svg) no-repeat;
  background-size: contain;
  left: 0;
}

.medal_area .ttl_box::after {
  background: url(../img/common/leaf_right.svg) no-repeat;
  background-size: contain;
  right: -1%;
}

.medal_area .ttl_box p {
  font-size: 23px;
  font-weight: bold;
  line-height: 1.0;
  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;
  margin-top: 6px;
}

.medal_area .ttl_box p .cate_name01::before, .medal_area .ttl_box p .cate_name02::before {
  color: var(--site-primary);
  background: #fff;
  font-size: 15px;
  line-height: 28px;
  width: 28px;
  height: 28px;
  display: inline-block;
  text-align: center;
  border-radius: 50px;
  margin-right: 10px;
  position: relative;
  top: -3px;
}

.medal_area .ttl_box p .cate_name01::before {
  content: '1';
}

.medal_area .ttl_box p .cate_name02 {
  margin-left: 15px;
  margin-right: 6px;
}

.medal_area .ttl_box p .cate_name02::before {
  content: '2';
}

.medal_area .ttl_box p .large_txt {
  font-size: 2.45em;
  font-weight: 900;
  -webkit-transform: skewX(-10deg);
          transform: skewX(-10deg);
  position: relative;
  left: 10px;
}

.medal_area .ttl {
  font-size: 21px;
  font-weight: 900;
  position: relative;
  line-height: 1.75;
}

.medal_area .ttl .sub {
  font-weight: 700;
  letter-spacing: 0.08em;
}

.medal_area .ttl .num {
  font-size: 1.57em;
  position: relative;
  top: 5px;
  margin-left: 15px;
}

.medal_area .ttl .underline_yellow {
  font-size: 2.7em;
  font-weight: 900;
  letter-spacing: 0.13em;
}

.medal_area .ttl::before {
  content: '';
  background: url(../img/common/icon_crown.svg) no-repeat;
  background-size: contain;
  width: 49px;
  height: 33px;
  position: absolute;
  top: -40px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.medal_area .under_txt {
  font-size: 13px;
  color: #666;
  background: #fff;
  margin-top: 50px;
  padding: 25px 25px;
}

@media only screen and (max-width: 1024px) {
  .medal_area {
    padding: 64px 0 50px;
  }
  .medal_area .ttl_box {
    width: 69%;
    margin-bottom: 45px;
  }
}

@media only screen and (max-width: 960px) {
  .medal_area {
    padding: 5vw 0;
  }
  .medal_area .medal {
    width: 40%;
  }
  .medal_area .ttl {
    font-size: 16px;
  }
  .medal_area .ttl_box {
    width: 72%;
    margin-bottom: 30px;
  }
  .medal_area .ttl_box p {
    font-size: 18px;
  }
  .medal_area .ttl_box::before, .medal_area .ttl_box::after {
    width: 56px;
    height: 144px;
    top: 0;
  }
  .medal_area .ttl_box::after {
    right: -2%;
  }
  .medal_area .under_txt {
    font-size: 12px;
    margin-top: 35px;
  }
}

@media only screen and (max-width: 568px) {
  .medal_area {
    padding: 30px 0;
  }
  .medal_area .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .medal_area .medal {
    width: 95%;
    margin: 0 0 25px 2%;
  }
  .medal_area .photo {
    width: 100%;
  }
  .medal_area .ttl {
    font-size: 14px;
  }
  .medal_area .ttl::before {
    width: 40px;
    height: 27px;
    top: -32px;
  }
  .medal_area .ttl_box {
    width: 100%;
    margin-bottom: 25px;
  }
  .medal_area .ttl_box p {
    font-size: 14px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto auto;
        grid-template-columns: auto auto;
    -ms-grid-rows: auto auto;
        grid-template-rows: auto auto;
    margin-top: 8px;
  }
  .medal_area .ttl_box p .cate_name01 {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .medal_area .ttl_box p .cate_name02 {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    margin: 0;
  }
  .medal_area .ttl_box p .cate_name01::before, .medal_area .ttl_box p .cate_name02::before {
    font-size: 12px;
    line-height: 18px;
    width: 18px;
    height: 18px;
    top: 0;
    margin-right: 5px;
  }
  .medal_area .ttl_box p .large_txt {
    -ms-grid-column: 2;
    grid-column: 2;
    grid-row: 1 / -1;
    font-size: 3.26em;
  }
  .medal_area .ttl_box::before, .medal_area .ttl_box::after {
    top: -5px;
  }
  .medal_area .ttl_box::before {
    left: -2%;
  }
  .medal_area .ttl_box::after {
    right: -3%;
  }
  .medal_area .under_txt {
    font-size: 11px;
    line-height: 1.5;
    margin-top: 25px;
    padding: 16px 20px;
  }
}

/*===============================================
 *	導入セクション
===============================================*/
.intro_sec.padding {
  padding-top: 20px;
}
.intro_sec {
  padding: 80px 0 0;
  background: url(../img/common/intro_under_bg.png) no-repeat center bottom;
  position: relative;
}

.intro_sec::before {
  content: '';
  background: url(../img/common/bg_dot_circle.png) no-repeat;
  background-size: contain;
  width: 454px;
  height: 454px;
  position: absolute;
  top: -200px;
  left: -160px;
  z-index: -1;
}

.intro_sec .fukidashi {
  color: #fff;
  font-size: 0.75em;
  font-weight: bold;
  display: inline-block;
  border-radius: 50px;
  letter-spacing: 0.13em;
  padding: 10px 2em 12px;
  position: relative;
  margin-bottom: 20px;
}

.intro_sec .fukidashi::after {
  content: '';
  display: block;
  height: 14px;
  width: 16px;
  background: var(--site-secondary);
  position: absolute;
  bottom: -13px;
  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);
}

.intro_sec .ttl_plain {
  margin-bottom: 50px;
}

.intro_sec .ttl_plain .txt_primarycolor {
  position: relative;
}

.intro_sec .ttl_plain .txt_primarycolor::after {
  content: '';
  background: url(../img/common/dot_line.png) no-repeat;
  width: 101%;
  height: 5px;
  position: absolute;
  bottom: -10px;
  left: 0;
}

.intro_sec .main_box .txt {
  width: 51%;
}

.intro_sec .main_box .txt p {
  padding-right: 20px;
}

.intro_sec .main_box .point_txt {
  gap: 0 10px;
  margin:0 -10px 16px;
}

.intro_sec .main_box .point_txt li {
  font-size: 22px;
  font-weight: bold;
  padding: 6px 20px 8px;
  border-radius: 50px;
  position: relative;
}

.intro_sec .main_box .point_txt li span:nth-child(1) {
  font-size: 15px;
}
.intro_sec .main_box .point_txt li span:nth-child(2) span {
  font-size: 10px;
}

.intro_sec .main_box .point_txt li::before {
  content: '';
  background: url(../img/common/icon_star.svg) no-repeat;
  width: 28px;
  height: 28px;
  position: absolute;
  top: -17px;
  left: 13px;
}

.intro_sec .main_box .ttl {
  font-size: 30px;
  margin-bottom: 22px;
}

.intro_sec .main_box img {
  width: 49%;
  max-width: 540px;
  /* margin-right: 3%; */
}

.intro_sec .points {
  gap: 0 6%;
  margin: 70px 0 0;
  padding-bottom: 50px;
}

.intro_sec .points li {
  width: 28.6%;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.intro_sec .points li img {
  max-width: 286px;
}

.intro_sec .points li .ttl {
  font-size: 22px;
  color: #fff;
  display: inline-block;
  padding: 10px 1.5em 12px;
  border-radius: 50px;
  margin: -50px 0 12px;
}

.intro_sec .points li:nth-child(2) {
  margin-top: -80px;
}

@media only screen and (max-width: 1024px) {
  .intro_sec {
    padding: 65px 0 0;
    background-position: center bottom -8%;
  }
  .intro_sec::before {
    width: calc(454px * 0.8);
    height: calc(454px * 0.8);
  }
  .intro_sec .main_box .point_txt li {
    font-size: 20px;
  }
  .intro_sec .main_box .ttl {
    font-size: 28px;
  }
  .intro_sec .main_box .txt {
    width: 56%;
  }
  .intro_sec .main_box img {
    margin: 0;
    width: 44%;
  }
  .intro_sec .points li {
    width: 27%;
  }
  .intro_sec .points li .ttl {
    font-size: 19px;
  }
}

@media only screen and (max-width: 960px) {
  .intro_sec {
    padding: 6vw 0 0;
    background-position: center bottom -15%;
  }
  .intro_sec::before {
    width: calc(454px * 0.7);
    height: calc(454px * 0.7);
    top: -166px;
    left: -144px;
  }
  .intro_sec .main_box .point_txt li {
    font-size: 16px;
    padding: 6px 16px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
  }
  .intro_sec .main_box .point_txt li::before {
    width: 22px;
    height: 22px;
    top: -9px;
    left: 5px;
  }
  .intro_sec .main_box .txt {
  }
  .intro_sec .main_box img {
    margin: 0;
  }
  .intro_sec .main_box .ttl {
    font-size: 23px;
    margin-bottom: 15px;
  }
  .intro_sec .points {
    gap: 0 4%;
    padding-bottom: 5vw;
  }
  .intro_sec .points li {
    width: 30%;
  }
  .intro_sec .points li .ttl {
    font-size: 16px;
    padding: 8px 1.5em 10px;
    margin: -42px 0 8px;
  }
}

@media only screen and (max-width: 568px) {
  .intro_sec {
    padding: 40px 0 0;
    background: none;
  }
  .intro_sec::before {
    width: calc(454px * 0.5);
    height: calc(454px * 0.5);
    top: -117px;
    left: -105px;
  }
  .intro_sec .fukidashi {
    font-size: 0.7em;
    padding: 6px 1.2em 8px;
    margin-bottom: 14px;
  }
  .intro_sec .fukidashi::after {
    bottom: -10px;
  }
  .intro_sec .ttl_plain {
    margin-bottom: 20px;
  }
  .intro_sec .ttl_plain .txt_primarycolor {
    display: inline-block;
    margin-bottom: 5px;
  }
  .intro_sec .ttl_plain .txt_primarycolor::after {
    background-size: auto 70%;
    bottom: -6px;
  }
  .intro_sec .main_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .intro_sec .main_box .point_txt {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0;
    margin: 0 -1% 12px;
  }
  .intro_sec .main_box .point_txt li {
    font-size: 14px;
    padding: 4px 0 4px;
    text-align: center;
    flex-grow: initial;
  }
  .intro_sec .main_box .point_txt li:first-child {
    width: 33%;
  }
  .intro_sec .main_box .point_txt li:last-child {
    width: 65%;
  }
  .intro_sec .main_box .point_txt li span:nth-child(1) {
    font-size: 13px;
  }
  .intro_sec .main_box .point_txt li span:nth-child(2) {
    font-size: 14px;
  }

  .intro_sec .main_box .txt {
    width: 100%;
  }
  .intro_sec .main_box .txt p {
    padding-right: 0;
  }
  .intro_sec .main_box .ttl {
    font-size: 21px;
    text-align: center;
    margin-bottom: 8px;
  }
  .intro_sec .main_box .ttl span {
    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;
  }
  .intro_sec .main_box img {
    width: 85%;
    margin: 0 0 20px;
  }
  .intro_sec .points {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: #ffe05c;
    border-top: 15px solid #ffe67c;
    border-bottom: 15px solid #ffe67c;
    padding: 20px 0 20px;
    margin: 25px -5.3vw 0;
  }
  .intro_sec .points li {
    width: 100%;
    margin: 0 0 20px !important;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 30% auto;
        grid-template-columns: 30% auto;
    -ms-grid-rows: auto auto;
        grid-template-rows: auto auto;
    -webkit-column-gap: 3%;
            column-gap: 3%;
    padding: 0 5.3vw;
  }
  .intro_sec .points li .ttl {
    grid-column: 1 / -1;
    -ms-grid-row: 1;
    grid-row: 1;
    margin: 0 0 12px;
    font-size: 18px;
    padding: 4px 0 6px;
  }
  .intro_sec .points li img {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .intro_sec .points li p {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .intro_sec .points li:last-child {
    margin-bottom: 0 !important;
  }
}

/*===============================================
 *	こんなお悩みありませんか？
===============================================*/
.problem {
  background: #41bbe5;
  padding: 80px 0 50px;
  overflow: hidden;
}

.problem .ttl_plain {
  font-size: 26px;
  position: relative;
  margin-bottom: 100px;
  letter-spacing: 0.07em;
}

.problem .ttl_plain .txt_large {
  font-size: 1.23em;
}

.problem .ttl_plain .txt_color {
  font-size: 1.56em;
  color: #f4e939;
}

.problem .ttl_plain::before, .problem .ttl_plain::after {
  content: '';
  width: 157px;
  height: 102px;
  position: absolute;
  bottom: -36px;
}

.problem .ttl_plain::before {
  background: url(../img/common/line_white_left.png) no-repeat;
  background-size: contain;
  left: 90px;
}

.problem .ttl_plain::after {
  background: url(../img/common/line_white_right.png) no-repeat;
  background-size: contain;
  right: 90px;
}

.problem ul {
  gap: 20px 4.9%;
  position: relative;
}

.problem ul::before {
  content: '';
  background: url(../img/common/items_left.png) no-repeat;
  background-size: contain;
  width: 217px;
  height: 510px;
  position: absolute;
  left: -24%;
  top: -64%;
}

.problem ul::after {
  content: '';
  background: url(../img/common/items_right.png) no-repeat;
  background-size: contain;
  width: 219px;
  height: 480px;
  position: absolute;
  right: -24%;
  top: -64%;
}

.problem ul li {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.75;
  text-align: center;
  width: 26%;
  padding: 25px 0 47px;
  background: url(../img/common/fukidashi_left.png) no-repeat center top;
  background-size: contain;
}

.problem ul li:nth-child(3), .problem ul li:nth-child(5) {
  background: url(../img/common/fukidashi_right.png) no-repeat center top;
  background-size: contain;
}

.problem ul li:nth-child(2) {
  margin-top: -50px;
}

.problem .problem_image {
  width: 208px;
  display: block;
  margin: 0 auto;
}

.problem .beginner_link {
  display: block;
  max-width: 800px;
  margin: -8px auto 0;
}

.problem .beginner_link:hover img {
  opacity: 0.95;
}

@media only screen and (max-width: 1024px) {
  .problem {
    padding: 65px 0 50px;
  }
  .problem .ttl_plain::before, .problem .ttl_plain::after {
    width: 124px;
    height: 80px;
    bottom: -22px;
  }
  .problem .ttl_plain::before {
    left: 3%;
  }
  .problem .ttl_plain::after {
    right: 3%;
  }
  .problem ul::before {
    width: calc(217px * 0.5);
    height: calc(510px * 0.5);
    left: 3%;
    top: 58%;
  }
  .problem ul::after {
    width: calc(219px * 0.5);
    height: calc(480px * 0.5);
    right: 3%;
    top: 58%;
  }
  .problem ul li {
    font-size: 18px;
    padding: 20px 0 41px;
  }
}

@media only screen and (max-width: 960px) {
  .problem {
    padding: 6vw 0 5vw;
  }
  .problem .ttl_plain {
    font-size: 18px;
    margin-bottom: 80px;
  }
  .problem .ttl_plain .txt_large {
    font-size: 1.1em;
  }
  .problem .ttl_plain .txt_color {
    font-size: 1.2em;
  }
  .problem .ttl_plain::before {
    left: 0;
  }
  .problem .ttl_plain::after {
    right: 0;
  }
  .problem ul {
    gap: 20px 3%;
  }
  .problem ul::before {
    left: 0;
  }
  .problem ul::after {
    right: 0;
  }
  .problem ul li {
    font-size: 16px;
    width: 30%;
    padding: 16px 0 36px;
  }
  .problem .problem_image {
    width: 195px;
  }
  .problem .beginner_link {
    max-width: 600px;
  }
}

@media only screen and (max-width: 568px) {
  .problem {
    padding: 40px 0 30px;
  }
  .problem .ttl_plain {
    font-size: 20px;
    margin-bottom: 60px;
  }
  .problem .ttl_plain::before {
    background: url(../img/common/line_white_left_sp.png) no-repeat;
    width: 46px;
    height: 30px;
    left: 0;
    bottom: -47px;
  }
  .problem .ttl_plain::after {
    background: url(../img/common/line_white_right_sp.png) no-repeat;
    width: 46px;
    height: 30px;
    right: 0;
    bottom: -47px;
  }
  .problem ul {
    gap: 15px 3%;
  }
  .problem ul::before {
    background: url(../img/common/items_left_sp.png) no-repeat;
    width: 77px;
    height: 130px;
    top: 75%;
  }
  .problem ul::after {
    background: url(../img/common/items_right_sp.png) no-repeat;
    width: 64px;
    height: 130px;
    top: 75%;
  }
  .problem ul li {
    font-size: 15px;
    line-height: 1.6;
    width: 48%;
    padding: 22px 0 44px;
    background: url(../img/common/fukidashi_left_sp.png) no-repeat center !important;
    background-size: contain !important;
  }
  .problem ul li:nth-child(even) {
    background: url(../img/common/fukidashi_right_sp.png) no-repeat center !important;
    background-size: contain !important;
  }
  .problem ul li:nth-child(5) {
    background: url(../img/common/fukidashi_center_sp.png) no-repeat center !important;
    background-size: contain !important;
  }
  .problem ul li:nth-child(2) {
    margin: 0;
  }
  .problem .problem_image {
    width: 165px;
  }
  .problem .beginner_link {
    max-width: 600px;
  }
}

/*===============================================
 *	お任せください！
===============================================*/
.resolution {
  padding: 120px 0 80px;
  position: relative;
}

.resolution::after {
  content: '';
  display: block;
  height: 55px;
  width: 130px;
  background: #41bbe5;
  position: absolute;
  top: -1px;
  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);
}

.resolution .ttl_plain {
  margin-bottom: 60px;
}

.resolution .ttl_plain .txt_primarycolor {
  position: relative;
}

.resolution .ttl_plain .txt_primarycolor::before {
  content: '';
  background: url(../img/common/point_star.png) no-repeat;
  background-size: contain;
  width: 58px;
  height: 43px;
  position: absolute;
  top: -25px;
  left: -58px;
}

.resolution .ttl_plain .txt_primarycolor::after {
  content: '';
  background: url(../img/common/dot_line.png) no-repeat;
  width: 100%;
  height: 5px;
  position: absolute;
  bottom: -10px;
  left: 0;
}

.resolution .main_box {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 42.8% auto;
      grid-template-columns: 42.8% auto;
  -ms-grid-rows: auto 1fr;
      grid-template-rows: auto 1fr;
  -webkit-column-gap: 5%;
          column-gap: 5%;
}

.resolution .main_box .top_img {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  margin-bottom: 15px;
}

.resolution .main_box .sub_imgs {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  gap: 0 15px;
}

.resolution .main_box ul {
  -ms-grid-column: 2;
  grid-column: 2;
  grid-row: 1 / -1;
  margin-top: 15px;
}

.resolution .main_box ul li {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 124px auto;
      grid-template-columns: 124px auto;
  -ms-grid-rows: auto 1fr;
      grid-template-rows: auto 1fr;
  -webkit-column-gap: 15px;
          column-gap: 15px;
  margin-bottom: 28px;
}

.resolution .main_box ul li img {
  width: 124px;
  -ms-grid-column: 1;
  grid-column: 1;
  grid-row: 1 / -1;
}

.resolution .main_box ul li .ttl {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  font-size: 22px;
  margin: 8px 0 10px;
}

.resolution .main_box ul li p {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
}

.resolution .sub_box {
  margin-top: 100px;
}

.resolution .sub_box .row {
  gap: 0 5%;
}

.resolution .sub_box img {
  width: 32%;
  margin-top: 10px;
}

.resolution .sub_box .txt_box {
  margin-top: 22px;
}

.resolution .sub_box .ttl {
  font-size: 22px;
  margin-bottom: 15px;
  position: relative;
}

.resolution .sub_box .ttl::before {
  content: '';
  background: url(../img/common/bg_circle_yellow.png) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  top: -12px;
  left: -20px;
  z-index: -1;
}

@media only screen and (max-width: 1024px) {
  .resolution {
    padding: 92px 0 70px;
  }
  .resolution .main_box {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .resolution .main_box .sub_imgs img {
    width: 48%;
  }
  .resolution .main_box ul {
    margin: 0;
  }
  .resolution .main_box ul li {
    margin-bottom: 10px;
  }
  .resolution .main_box ul li .ttl {
    margin: 0 0 5px;
  }
  .resolution .sub_box {
    margin-top: 85px;
  }
  .resolution .sub_box .txt_box {
    margin-top: 5px;
  }
}

@media only screen and (max-width: 960px) {
  .resolution {
    padding: 7.5vw 0 8vw;
  }
  .resolution::after {
    height: 38px;
    width: 96px;
  }
  .resolution .ttl_plain .txt_primarycolor::before {
    width: 46px;
    height: 33px;
    top: -15px;
    left: -43px;
  }
  .resolution .main_box {
    -webkit-column-gap: 3%;
            column-gap: 3%;
  }
  .resolution .main_box .sub_imgs img {
    width: 47%;
  }
  .resolution .main_box ul li {
    -ms-grid-columns: 22% auto;
        grid-template-columns: 22% auto;
    -webkit-column-gap: 10px;
            column-gap: 10px;
  }
  .resolution .main_box ul li img {
    width: 100%;
  }
  .resolution .main_box ul li .ttl {
    font-size: 18px;
    margin-bottom: 3px;
  }
  .resolution .sub_box {
    margin-top: 60px;
  }
  .resolution .sub_box .ttl {
    font-size: 19px;
  }
}

@media only screen and (max-width: 568px) {
  .resolution {
    padding: 42px 0 35px;
  }
  .resolution::after {
    height: 30px;
    width: 75px;
  }
  .resolution .ttl_plain {
    margin-bottom: 20px;
  }
  .resolution .ttl_plain .txt_primarycolor {
    font-size: 1.1em;
    display: inline-block;
    margin-bottom: 5px;
  }
  .resolution .ttl_plain .txt_primarycolor::before {
    width: 37px;
    height: 26px;
    top: -16px;
    left: -25px;
  }
  .resolution .ttl_plain .txt_primarycolor::after {
    background-size: auto 70%;
    bottom: -6px;
  }
  .resolution .main_box {
    -ms-grid-columns: auto;
        grid-template-columns: auto;
    grid-row: auto auto auto;
  }
  .resolution .main_box .top_img {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    margin-bottom: 22px;
  }
  .resolution .main_box .sub_imgs {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
  }
  .resolution .main_box .sub_imgs img {
    width: 48%;
  }
  .resolution .main_box ul {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .resolution .main_box ul li {
    -ms-grid-columns: 25% auto;
        grid-template-columns: 25% auto;
    -ms-grid-rows: auto 1fr;
        grid-template-rows: auto 1fr;
    margin-bottom: 16px;
  }
  .resolution .main_box ul li img {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .resolution .main_box ul li .ttl {
    grid-column: 1 / -1;
    -ms-grid-row: 1;
    grid-row: 1;
    text-align: center;
    background: #f2f2f2;
    border-radius: 50px;
    padding: 4px 0 5px;
    margin-bottom: 10px;
  }
  .resolution .main_box ul li p {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 2;
    grid-row: 2;
    line-height: 1.6;
  }
  .resolution .sub_box .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .resolution .sub_box img {
    width: 100%;
  }
  .resolution .sub_box .txt_box {
    margin-top: 20px;
  }
  .resolution .sub_box .txt_box .ttl {
    font-size: 17px;
    text-align: center;
    margin-bottom: 8px;
  }
  .resolution .sub_box .txt_box .ttl::before {
    width: 40px;
    height: 40px;
    top: -10px;
    left: 16px;
  }
}

/*===============================================
 *	選ばれる理由
===============================================*/
.reasons .inner {
  margin-top: 90px;
}

.reasons .sec_ttl_box .ttl {
  padding: 0px 2.0em 10px;
}

.reasons .sec_ttl_box .ttl .color {
  font-size: 1.06em;
  color: var(--site-secondary);
}

.reasons .sec_ttl_box .ttl .num {
  font-size: 1.47em;
}

.reasons .reason_item {
  gap: 0 5%;
  padding: 0 60px;
  margin-bottom: 80px;
}

.reasons .circle {
  width: 275px;
  height: 275px;
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
  border-radius: 300px;
  position: relative;
}

.reasons .circle img {
  margin-bottom: 13px;
}

.reasons .circle .ttl {
  font-size: 26px;
  line-height: 1.5;
}

.reasons .circle::before {
  content: '';
  width: 92px;
  height: 92px;
  position: absolute;
  top: -17px;
  left: -8px;
}

.reasons .txt_box {
  width: calc(100% - 275px - 5%);
  padding-top: 20px;
}

.reasons .txt_box .ttl_radius {
  font-size: 24px;
  display: inline-block;
  padding: 8px 1.5em 10px;
  border-radius: 50px;
  margin-bottom: 18px;
}

.reasons .txt_box p {
  margin-left: 10px;
}

.reasons .txt_box ul {
  padding: 14px 10px 16px 24px;
  margin: 30px 0 0 10px;
  display: inline-block;
  border-radius: 5px;
  position: relative;
  -webkit-box-shadow: 5px 5px 0 #41bbe5;
          box-shadow: 5px 5px 0 #41bbe5;
}

.reasons .txt_box ul li {
  display: inline;
  font-weight: bold;
  margin-right: 15px;
}

.reasons .txt_box ul li::before {
  content: '';
  background: url(../img/common/icon_check_green.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-right: 8px;
  position: relative;
  top: 4px;
}

.reasons .reason01 img {
  width: 88px;
}

.reasons .reason01 .circle::before {
  background: url(../img/common/icon_reason01.svg) no-repeat;
  background-size: contain;
}

.reasons .reason02 img {
  width: 135px;
}

.reasons .reason02 .circle::before {
  background: url(../img/common/icon_reason02.svg) no-repeat;
  background-size: contain;
}

.reasons .reason03 img {
  width: 123px;
}

.reasons .reason03 .circle::before {
  background: url(../img/common/icon_reason03.svg) no-repeat;
  background-size: contain;
}

.reasons .reason04 img {
  width: 78px;
}

.reasons .reason04 .circle::before {
  background: url(../img/common/icon_reason04.svg) no-repeat;
  background-size: contain;
}

.reasons .reason05 img {
  width: 107px;
}

.reasons .reason05 .circle::before {
  background: url(../img/common/icon_reason05.svg) no-repeat;
  background-size: contain;
}

.reasons .reason06 img {
  width: 82px;
}

.reasons .reason06 .circle::before {
  background: url(../img/common/icon_reason06.svg) no-repeat;
  background-size: contain;
}

.reasons .reason07 img {
  width: 103px;
  margin-top: -55px;
}

.reasons .reason07 .circle::before {
  background: url(../img/common/icon_reason07.svg) no-repeat;
  background-size: contain;
}

.reasons .reason07 .circle .ttl {
  margin-top: -10px;
}

.reasons .reason07 ul .link_btn {
  display: block;
  margin-top: 15px;
}

.reasons .reason07 ul .link_btn::before {
  content: none;
}

.reasons .reason07 ul .link_btn .btn {
  max-width: 242px;
}

.reasons .reason07 ul .link_btn .btn a {
  font-size: 16px;
  padding: 8px 15px;
}

.reasons .reason07 ul .link_btn .btn a::after {
  width: 8px;
  height: 13px;
}

@media only screen and (max-width: 1024px) {
  .reasons .reason_item {
    padding: 0 30px;
  }
  .reasons .txt_box {
    width: calc(100% - 275px - 4%);
  }
  .reasons .txt_box .ttl_radius {
    font-size: 22px;
  }
  .reasons .txt_box ul {
    padding: 14px 8px 16px 15px;
  }
  .reasons .txt_box ul li {
    margin-right: 20px;
  }
  .reasons .txt_box ul li::before {
    margin-right: 5px;
  }
  .reasons .circle .ttl {
    font-size: 22px;
  }
}

@media only screen and (max-width: 960px) {
  .reasons .inner {
    margin-top: 8vw;
  }
  .reasons .sec_ttl_box .ttl {
    padding: 0px 1.5em 5px;
  }
  .reasons .lg_inner_space {
    padding: 6vw 0 8vw;
  }
  .reasons .reason_item {
    padding: 0 14px;
    gap: 0 2%;
  }
  .reasons .circle {
    width: 220px;
    height: 220px;
  }
  .reasons .circle::before {
    width: 80px;
    height: 80px;
  }
  .reasons .circle .ttl {
    font-size: 21px;
  }
  .reasons .txt_box {
    width: calc(100% - 220px - 3%);
    padding: 0;
  }
  .reasons .txt_box .ttl_radius {
    font-size: 19px;
    margin-bottom: 12px;
  }
  .reasons .txt_box ul {
    margin: 18px 0 0 10px;
    padding: 10px 10px 12px 20px;
  }
  .reasons .txt_box ul li {
    display: block;
  }
  .reasons .reason01 img {
    width: 76px;
  }
  .reasons .reason02 img {
    width: 110px;
  }
  .reasons .reason03 img {
    width: 100px;
  }
  .reasons .reason04 img {
    width: 60px;
  }
  .reasons .reason05 img {
    width: 82px;
  }
  .reasons .reason06 img {
    width: 62px;
  }
  .reasons .reason07 {
    margin-bottom: 50px;
  }
  .reasons .reason07 img {
    width: 82px;
  }
  .reasons .reason07 ul .link_btn .btn {
    width: 250px;
    max-width: initial;
  }
  .reasons .reason07 ul .link_btn .btn a {
    font-size: 15px;
  }
}

@media only screen and (max-width: 568px) {
  .reasons .inner {
    margin-top: 45px;
  }
  .reasons .sec_ttl_box .ttl {
    line-height: 1.1;
    padding: 7px 1.5em 7px;
  }
  .reasons .lg_inner_space {
    padding: 42px 0 30px;
  }
  .reasons .reason_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
    margin-bottom: 60px;
  }
  .reasons .circle {
    width: 230px;
    height: 230px;
    margin: 0 auto;
  }
  .reasons .txt_box {
    width: 100%;
    position: relative;
    margin-top: -30px;
  }
  .reasons .txt_box .ttl_radius {
    font-size: 18px;
    display: block;
    text-align: center;
    margin-bottom: 10px;
  }
  .reasons .txt_box p {
    margin-left: 0;
  }
  .reasons .txt_box ul {
    margin: 14px 0 0;
    padding: 10px 10px 9px 16px;
    width: 97%;
  }
  .reasons .txt_box ul li {
    margin: 0 0 5px;
  }
  .reasons .reason07 {
    margin-bottom: 35px;
  }
  .reasons .reason07 ul .link_btn {
    margin: 10px 0 8px;
  }
}

/*===============================================
 *	お客様の声
===============================================*/
.voice.bg_green_line {
  background-position: top 305px center;
}

.voice_intro_box {
  border: 5px solid #fff;
  margin: -80px 0 0;
}

.voice_intro_box picture, .voice_intro_box > div {
  width: calc((100% - 40%) / 2);
}

.voice_intro_box .txt_box {
  width: 40%;
  background: #ffdc4a;
  padding: 0 34px;
}

.voice_intro_box .txt_box img {
  width: 62px;
  margin: 26px 0 20px;
}

.voice_intro_box .ttl {
  font-size: 26px;
  line-height: 1.5;
  width: 100%;
  padding: 10px 0 12px;
  border-radius: 100px;
  margin-bottom: 20px;
  position: relative;
}

.voice_intro_box .ttl::before, .voice_intro_box .ttl::after {
  content: '';
  width: 27px;
  height: 27px;
  position: absolute;
  top: -35px;
}

.voice_intro_box .ttl::before {
  background: url(../img/common/line_white_left02.png) no-repeat;
  background-size: contain;
  left: 0;
}

.voice_intro_box .ttl::after {
  background: url(../img/common/line_white_right02.png) no-repeat;
  background-size: contain;
  right: 0;
}

.voice_main_box {
  margin-top: 100px;
}

.voice_main_box .voice_item {
  padding: 0 0 40px;
  position: relative;
}

.voice_main_box .item_ttl {
  font-size: 20px;
  margin-bottom: 16px;
}

.voice_main_box .item_ttl .txt_primarycolor {
  font-size: 16px;
  display: inline-block;
  border: 1px solid var(--site-primary);
  border-radius: 3px;
  padding: 2px 30px 2px;
  margin-right: 15px;
  position: relative;
  top: -2px;
}

.voice_main_box ul {
  margin-top: 30px;
  gap: 0 62px;
  position: relative;
}

.voice_main_box ul li {
  position: relative;
}

.voice_main_box ul li span {
  position: absolute;
  bottom: -26px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 10px 0 12px;
  width: 235px;
  border-radius: 50px;
  text-align: center;
}

.voice_main_box ul li span img {
  width: 107px;
}

.voice_main_box ul .before {
  border: 5px solid var(--site-primary);
}

.voice_main_box ul .before span {
  background: var(--site-primary);
}

.voice_main_box ul .after {
  border: 5px solid var(--site-secondary);
}

.voice_main_box ul .after span {
  background: var(--site-secondary);
}

.voice_main_box ul::before {
  content: '';
  background: url(../img/common/icon_arrow_right_yellow.svg) no-repeat;
  background-size: contain;
  width: 35px;
  height: 43px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.voice_main_box .item01 {
  padding: 14px 0 60px;
  margin-bottom: 40px;
}

.voice_main_box .item01::after {
  content: '';
  background: url(../img/common/dot_line_gray.png) no-repeat;
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  bottom: 0;
}

@media only screen and (max-width: 1024px) {
  .voice_intro_box .ttl {
    font-size: 21px;
    margin-bottom: 10px;
    padding: 6px 0 6px;
  }
  .voice_intro_box .txt_box img {
    width: 50px;
    margin: 15px 0 15px;
  }
  .voice_main_box {
    margin-top: 90px;
  }
  .voice_main_box ul li {
    width: 38%;
  }
  .voice_main_box .item01 {
    margin-bottom: 32px;
  }
}

@media only screen and (max-width: 960px) {
  .voice_intro_box .txt_box {
    width: 50%;
    padding: 0 22px 20px;
  }
  .voice_intro_box .txt_box img {
    width: 40px;
    margin: 10px 0 10px;
  }
  .voice_intro_box picture, .voice_intro_box > div {
    width: calc((100% - 50%) / 2);
  }
  .voice_intro_box picture img, .voice_intro_box > div img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .voice_intro_box .ttl {
    font-size: 18px;
    line-height: 1.4;
  }
  .voice_main_box {
    margin-top: 60px;
  }
  .voice_main_box .voice_item {
    padding: 0 0 30px;
  }
  .voice_main_box .item_ttl {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .voice_main_box .item_ttl .txt_primarycolor {
    font-size: 15px;
    padding: 2px 24px 2px;
  }
  .voice_main_box ul {
    margin-top: 22px;
  }
  .voice_main_box ul li span {
    width: 85%;
    padding: 5px 0 7px;
    bottom: -20px;
  }
  .voice_main_box ul li span img {
    width: 85px;
  }
  .voice_main_box .item01 {
    margin-bottom: 28px;
    padding: 14px 0 50px;
  }
}

@media only screen and (max-width: 568px) {
  .voice .ttl_on_border span {
    padding: 14px 2.0em 16px;
  }
  .voice_intro_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: -40px;
    border-width: 3px;
  }
  .voice_intro_box picture {
    width: 100%;
  }
  .voice_intro_box .txt_box {
    width: 100%;
    padding: 0 20px 26px;
  }
  .voice_intro_box .txt_box img {
    width: 58px;
    margin: 20px 0 18px;
  }
  .voice_intro_box .ttl {
    font-size: 19px;
    padding: 10px 0;
  }
  .voice_main_box .voice_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 0 5px;
  }
  .voice_main_box .item01 {
    padding: 5px 0 25px;
    margin-bottom: 20px;
  }
  .voice_main_box .item_ttl {
    font-size: 17px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .voice_main_box .item_ttl .txt_primarycolor {
    width: 55px;
    font-size: 14px;
    text-align: center;
    padding: 14px 0;
    top: 0;
    margin-right: 12px;
  }
  .voice_main_box .item_ttl .txt_main {
    width: calc(100% - 62px - 12px);
  }
  .voice_main_box p {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .voice_main_box ul {
    gap: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 10px 0 30px;
  }
  .voice_main_box ul::before {
    width: 22px;
    height: 27px;
  }
  .voice_main_box ul li {
    border-width: 3px !important;
    width: 45%;
  }
  .voice_main_box ul li span {
    padding: 0 0 6px;
  }
  .voice_main_box ul li span img {
    width: 74px;
  }
}

/*===============================================
 *	サービス紹介
===============================================*/
.service {
  background-position: top 305px center;
}

.service .main_service {
  margin-top: 60px;
}

.service .main_service ul {
  gap: 50px 5.7%;
  margin-top: 40px;
}

.service .main_service ul li {
  width: 29.5%;
  position: relative;
}

.service .main_service ul li .ttl {
  font-size: 24px;
  font-weight: 900;
  padding: 22px 0 24px;
}

.service .main_service ul li img {
  margin-bottom: 16px;
}

.service .main_service ul li div {
  padding: 30px 38px;
}

.service .main_service ul li a {
  height: 100%;
}

.service .main_service ul li a::before {
  content: '';
  background: url(../img/common/icon_circle_arrow.svg) no-repeat;
  background-size: contain;
  width: 41px;
  height: 32px;
  position: absolute;
  right: 0;
  bottom: 0;
}

.service .other_service {
  margin-top: 100px;
}

.service .other_service ul {
  margin-top: 40px;
  gap: 50px 0;
}

.service .other_service ul::after {
  content: '';
  display: block;
  width: 32.1%;
}

.service .other_service ul li {
  width: 32.1%;
}

.service .other_service ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 18px 16px;
  margin-bottom: 10px;
}

.service .other_service ul li a::before {
  content: '';
  background: url(../img/common/icon_arrow_right_orange02.svg) no-repeat;
  background-size: contain;
  width: 10px;
  height: 16px;
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.service .other_service ul li img {
  width: 92px;
  margin-right: 20px;
}

.service .other_service ul li .ttl {
  font-size: 20px;
}

.service .other_service ul li p {
  line-height: 1.5;
}

@media only screen and (max-width: 1024px) {
  .service {
    background-size: auto 58%;
  }
  .service .main_service ul li .ttl {
    font-size: 22px;
  }
  .service .other_service {
    margin-top: 80px;
  }
  .service .other_service ul {
    gap: 40px 0;
  }
  .service .other_service ul li a {
    padding: 18px 34px 18px 16px;
  }
  .service .other_service ul li img {
    margin-right: 15px;
  }
}

@media only screen and (max-width: 960px) {
  .service .main_service {
    margin-top: 45px;
  }
  .service .main_service ul {
    margin-top: 28px;
    gap: 30px 3.3%;
  }
  .service .main_service ul li {
    width: 31%;
  }
  .service .main_service ul li .ttl {
    font-size: 19px;
    padding: 17px 0 18px;
  }
  .service .main_service ul li div {
    padding: 20px 22px;
  }
  .service .main_service ul li img {
    margin-bottom: 10px;
  }
  .service .other_service {
    margin-top: 60px;
  }
  .service .other_service ul {
    margin-top: 28px;
  }
  .service .other_service ul li a {
    padding: 14px 30px 14px 14px;
  }
  .service .other_service ul li .ttl {
    font-size: 18px;
  }
  .service .other_service ul li img {
    width: 60px;
    margin-right: 10px;
  }
  .service .other_service ul li:nth-child(2) .ttl {
    font-size: 15px;
  }
}

@media only screen and (max-width: 568px) {
  .service {
    background-size: auto;
    background-position: top 160px center;
  }
  .service .main_service {
    margin-top: 30px;
  }
  .service .main_service ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 22px;
    gap: 25px 0;
  }
  .service .main_service ul li {
    width: 100%;
  }
  .service .main_service ul li .ttl {
    padding: 13px 0 14px;
  }
  .service .other_service {
    margin-top: 30px;
  }
  .service .other_service ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 22px;
    gap: 16px 0;
  }
  .service .other_service ul li {
    width: 100%;
  }
  .service .other_service ul li a {
    margin-bottom: 8px;
  }
  .service .other_service ul li img {
    width: 80px;
    margin-right: 15px;
  }
  .service .other_service ul li:nth-child(2) .ttl {
    font-size: 18px;
  }
  .service .other_service ul li p {
    font-size: 14px;
  }
  .service .btn_wrapper {
    margin-top: 0;
  }
}

/*===============================================
 *	リサイクルについて
===============================================*/
.recycle {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.recycle .recycle01 {
  margin-top: 72px;
}

.recycle .recycle01 img {
  width: 40%;
  max-width: 446px;
}

.recycle .recycle02 {
  margin-top: 80px;
}

.recycle .recycle02 .row-rev {
  margin-top: -20px;
}

.recycle .recycle02 img {
  width: 44%;
  max-width: 484px;
}

.recycle .recycle02 .txt_box {
  margin-top: 120px;
}

.recycle .ttl_radius {
  margin-bottom: 50px;
}

.recycle .box .txt_box {
  width: 52%;
}

.recycle .box .txt_box dl {
  margin-top: 22px;
  padding: 20px 22px;
}

.recycle .box .txt_box dt {
  width: 125px;
  padding: 5px 0 6px;
  margin-bottom: 13px;
}

.recycle .box .txt_box dt:last-of-type {
  margin: 0;
}

.recycle .box .txt_box dd {
  width: calc(100% - 125px);
  padding: 5px 0 5px 15px;
}

.recycle .ttl_bg_circle {
  font-size: 24px;
  margin-bottom: 18px;
}

.recycle .ttl_bg_circle span {
  position: relative;
}

.recycle .ttl_bg_circle span::before {
  content: '';
  background: url(../img/common/bg_circle_green.png) no-repeat;
  background-size: contain;
  width: 57px;
  height: 57px;
  position: absolute;
  top: -16px;
  left: -24px;
  z-index: -1;
}

.recycle .recycle_icons {
  margin-top: 120px;
  padding-bottom: 45px;
}

.recycle .recycle_icons::before {
  content: '';
  background: url(../img/common/intro_under_bg.png) no-repeat;
  width: 1546px;
  height: 391px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.recycle .recycle_icons .ttl {
  font-size: 26px;
  margin-bottom: 35px;
}

.recycle .recycle_icons .ttl span {
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
}

.recycle .recycle_icons .ttl span::after {
  content: '';
  background: url(../img/common/dot_line_green.png) no-repeat;
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.recycle .recycle_icons ul {
  gap: 0 3%;
  position: relative;
}

.recycle .recycle_icons li {
  width: 14%;
}

.recycle .recycle_icons li img {
  max-width: 152px;
  margin-bottom: 10px;
}

.recycle .recycle_icons li p {
  text-align: center;
  font-weight: bold;
}

.recycle .full_wide_box {
  padding: 34px 0 36px;
  position: relative;
}

.recycle .full_wide_box .large_txt {
  font-size: 34px;
  font-weight: 900;
}

.recycle .full_wide_box::after {
  content: '';
  display: block;
  height: 55px;
  width: 130px;
  background: var(--site-secondary);
  position: absolute;
  bottom: -54px;
  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);
}

.recycle .under_box {
  margin-top: 88px;
  padding: 34px 80px 34px;
  position: relative;
  z-index: 1;
}

.recycle .under_box .txt_box {
  width: 52%;
}

.recycle .under_box .ttl {
  font-size: 24px;
  position: relative;
  margin-bottom: 18px;
}

.recycle .under_box .ttl::before {
  content: '';
  background: url(../img/common/bg_circle_green.png) no-repeat;
  width: 57px;
  height: 57px;
  position: absolute;
  top: -16px;
  left: -24px;
  z-index: -1;
}

.recycle .under_box img {
  width: 41%;
  max-width: 392px;
}

@media only screen and (max-width: 1024px) {
  .recycle .ttl_radius {
    margin-bottom: 35px;
  }
  .recycle .ttl_bg_circle {
    margin-bottom: 10px;
  }
  .recycle .full_wide_box .large_txt {
    font-size: 32px;
  }
  .recycle .under_box {
    padding: 34px 70px 34px;
  }
}

@media only screen and (max-width: 960px) {
  .recycle .ttl_bg_circle {
    font-size: 20px;
  }
  .recycle .recycle01 {
    margin-top: 45px;
  }
  .recycle .recycle02 {
    margin-top: 50px;
  }
  .recycle .recycle02 .txt_box {
    margin-top: 50px;
  }
  .recycle .box .txt_box dl {
    padding: 14px 16px;
  }
  .recycle .box .txt_box dt {
    width: 90px;
    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;
  }
  .recycle .box .txt_box dd {
    width: calc(100% - 90px);
  }
  .recycle .recycle_icons {
    margin-top: 70px;
  }
  .recycle .recycle_icons .ttl {
    font-size: 22px;
  }
  .recycle .recycle_icons::before {
    bottom: -68px;
  }
  .recycle .full_wide_box {
    padding: 22px 0 26px;
  }
  .recycle .full_wide_box .large_txt {
    font-size: 26px;
  }
  .recycle .full_wide_box::after {
    height: 38px;
    width: 96px;
    bottom: -37px;
  }
  .recycle .under_box {
    margin-top: 64px;
    padding: 42px 50px 34px;
  }
}

@media only screen and (max-width: 568px) {
  .recycle .ttl_radius {
    margin-bottom: 20px;
  }
  .recycle .ttl_bg_circle {
    font-size: 18px;
    text-align: center;
  }
  .recycle .ttl_bg_circle span::before {
    width: 40px;
    height: 40px;
    top: -10px;
    left: -18px;
  }
  .recycle .recycle01 {
    margin-top: 35px;
  }
  .recycle .recycle01 .row {
    -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;
  }
  .recycle .recycle01 img {
    width: 85%;
  }
  .recycle .recycle02 {
    margin-top: 35px;
  }
  .recycle .recycle02 .row-rev {
    -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;
    margin: 0;
  }
  .recycle .recycle02 img {
    width: 85%;
  }
  .recycle .box .txt_box {
    width: 100%;
    margin-top: 20px;
  }
  .recycle .box .txt_box dt {
    padding: 7px 0 10px;
  }
  .recycle .box .txt_box dd {
    font-size: 14px;
    padding: 0 0 0 10px;
    line-height: 1.4;
  }
  .recycle .recycle_icons {
    background: #ffe05c;
    border-top: 15px solid #ffe67c;
    border-bottom: 15px solid #ffe67c;
    padding: 20px 5.3vw 20px;
    margin: 25px -5.3vw 0;
  }
  .recycle .recycle_icons::before {
    content: none;
  }
  .recycle .recycle_icons .ttl {
    font-size: 19px;
    margin-bottom: 20px;
  }
  .recycle .recycle_icons ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px 3%;
  }
  .recycle .recycle_icons li {
    width: 30%;
  }
  .recycle .recycle_icons li p {
    font-size: 14px;
    line-height: 1.4;
  }
  .recycle .full_wide_box {
    padding: 19px 0 21px;
  }
  .recycle .full_wide_box .large_txt {
    font-size: 21px;
  }
  .recycle .full_wide_box::after {
    height: 30px;
    width: 75px;
    bottom: -29px;
  }
  .recycle .under_box {
    margin-top: 42px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding: 20px 20px 22px;
  }
  .recycle .under_box .txt_box {
    width: 100%;
    margin-top: 20px;
  }
  .recycle .under_box img {
    width: 80%;
  }
}

/*===============================================
 *	料金について
===============================================*/
.price .points {
  margin-top: 72px;
}

.price .points .ttl_sideline {
  font-size: 28px;
  margin-bottom: 40px;
}

.price .points .ttl_sideline span {
  position: relative;
}

.price .points .ttl_sideline span::before, .price .points .ttl_sideline span::after {
  content: '';
  width: 29px;
  height: 42px;
  position: absolute;
  top: -5px;
}

.price .points .ttl_sideline span::before {
  background: url(../img/common/line_left_orange.svg) no-repeat;
  background-size: contain;
  left: -52px;
}

.price .points .ttl_sideline span::after {
  background: url(../img/common/line_right_orange.svg) no-repeat;
  background-size: contain;
  right: -45px;
}

.price .points ul {
  gap: 50px 0;
}

.price .points li {
  width: 47.3%;
}

.price .points li .ttl {
  font-size: 24px;
  padding: 20px 0 22px;
}

.price .points li div {
  padding: 25px 30px;
}

.price .points li img {
  width: 200px;
}

.price .points li p {
  padding-left: 22px;
  line-height: 1.6;
}

.price .price_box {
  margin-top: 120px;
}

.price .price_cate {
  position: relative;
  padding-bottom: 40px;
  margin-bottom: 40px;
}

.price .price_cate::after {
  content: '';
  background: url(../img/common/dot_line_gray.png) no-repeat;
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.price .price_cate .ttl {
  font-size: 20px;
  display: inline-block;
  padding: 3px 1.5em 4px;
  border: 1px solid var(--site-primary);
  border-radius: 3px;
  margin-bottom: 20px;
}

.price .price_cate .cate_top {
  width: 306px;
}

.price .price_cate dl {
  padding-left: 30px;
  margin-top: -8px;
}

.price .price_cate dt {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 5px;
}

.price .price_cate dt::before {
  content: '';
  display: inline-block;
  background: var(--site-secondary);
  width: 13px;
  height: 13px;
  border-radius: 50%;
  margin-right: 10px;
}

.price .price_cate dt .txt_primarycolor {
  padding-left: 15px;
}

.price .price_cate dt .yen {
  font-size: 0.85em;
}

.price .price_cate dd {
  margin-bottom: 20px;
}

.price .price_cate dd:last-of-type {
  margin: 0;
}

.price .price_cate.cate01 {
  margin-top: 40px;
}

.price .price_cate.cate03 {
  margin-bottom: 15px;
}

.price .price_cate.cate03::after {
  content: none;
}

.price .price_cate.cate04 {
  margin: 40px 0 0;
}

.price .price_cate.cate04::after {
  content: none;
}

.price .price_cate.cate04 .ttl {
  border-color: #0690b2;
  color: #0690b2;
}

.price .other_cate dt {
  width: 306px;
}

.price .other_cate dt .ttl {
  font-size: 20px;
}

.price .other_cate dt img {
  width: 84px;
  margin-bottom: 10px;
}

.price .other_cate dd {
  padding: 32px 40px 20px;
  width: calc(100% - 306px);
}

.price .other_cate dd ul {
  gap: 0 3%;
}

.price .other_cate dd li {
  background: #fff;
  width: 135px;
  height: 135px;
  border-radius: 135px;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.price .other_cate dd li img {
  width: 90px;
}

.price .other_cate dd .txt {
  font-size: 15px;
  margin-top: 20px;
  line-height: 1.5;
}

.price .last_txt {
  font-weight: bold;
  margin: 30px 0 20px;
}

/** パック料金 **/
.pack_price {
  margin-top: 90px;
}

.pack_price .intro_txt {
  font-size: 18px;
  line-height: 2.2;
  margin-top: -18px;
}

.pack_price .intro_txt span {
  font-size: 1.2em;
  font-weight: bold;
}

.pack_price .annotation_box {
  margin-top: 60px;
}

.pack_list {
  gap: 50px 0;
  margin-top: 40px;
}

.pack_list li {
  width: 30%;
}

.pack_list li .ttl {
  font-size: 24px;
  font-weight: 900;
  padding: 22px 0 24px;
}

.pack_list li p {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}

.pack_list li div {
  padding: 15px 30px 18px;
}

.pack_list li img {
  margin: 12px 0 16px;
}

.pack_list li dl {
  margin-right: -10px;
}

.pack_list li dt {
  width: 75px;
  margin-bottom: 7px;
  padding: 3px 0 5px;
  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;
}

.pack_list li dd {
  width: calc(100% - 75px);
  padding: 3px 0 5px 12px;
}

.pack_list li dd.cost {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.0;
}

.pack_list li dd.cost .yen {
  font-size: 0.75em;
}

.price_advance {
  margin-top: 120px;
}

.price_advance img {
  width: 37%;
}

.price_advance .txt_box {
  width: 59%;
}

.price_advance .txt_box .ttl {
  font-size: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 2px solid #e6e6e6;
  padding: 0 0 15px;
  margin: 10px 0 20px;
}

.price_advance .txt_box .ttl span {
  padding-left: 15px;
}

.price_advance .txt_box .ttl::before {
  content: '';
  width: 47px;
  height: 47px;
}

.price_advance .ad01 {
  margin-top: 50px;
}

.price_advance .ad01 .ttl::before {
  background: url(../img/common/icon_num01_green.svg) no-repeat;
  background-size: contain;
}

.price_advance .ad02 {
  margin: 50px 0 20px;
}

.price_advance .ad02 .ttl::before {
  background: url(../img/common/icon_num02_green.svg) no-repeat;
  background-size: contain;
}

@media only screen and (max-width: 1024px) {
  .price .price_cate.cate04 {
    padding-bottom: 20px;
  }
  .price .points li .ttl {
    font-size: 22px;
  }
  .price .points li div {
    padding: 20px 25px;
  }
  .price .points li img {
    width: 40%;
  }
  .pack_list li .ttl {
    font-size: 22px;
  }
  .price_advance .txt_box .ttl {
    font-size: 22px;
  }
  .price_advance .ad01 {
    margin-top: 35px;
  }
  .price_advance .ad02 {
    margin: 40px 0 10px;
  }
}

@media only screen and (max-width: 960px) {
  .price .points {
    margin-top: 45px;
  }
  .price .points .ttl_sideline {
    font-size: 22px;
    margin-bottom: 30px;
  }
  .price .points ul {
    gap: 30px 0;
  }
  .price .points li .ttl {
    font-size: 18px;
    padding: 17px 0 18px;
  }
  .price .points li div {
    display: block;
  }
  .price .points li img {
    float: left;
    margin: 0 12px 0 0;
  }
  .price .points li p {
    padding: 0;
    margin-top: -5px;
  }
  .price .price_box {
    margin-top: 80px;
  }
  .price .price_cate {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
  .price .price_cate .ttl {
    font-size: 18px;
  }
  .price .price_cate .cate_top {
    width: 35%;
  }
  .price .price_cate dt {
    font-size: 18px;
  }
  .price .price_cate dd {
    margin-bottom: 12px;
  }
  .price .other_cate dt {
    width: 35%;
  }
  .price .other_cate dt .ttl {
    font-size: 17px;
  }
  .price .other_cate dd {
    width: calc(100% - 35%);
    padding: 25px 20px 20px;
  }
  .price .other_cate dd ul {
    gap: 0 2%;
  }
  .price .other_cate dd li {
    width: 90px;
    height: 90px;
  }
  .price .other_cate dd li img {
    width: 65%;
  }
  .price .other_cate dd .txt {
    font-size: 13px;
  }
  .pack_price {
    margin-top: 70px;
  }
  .pack_price .intro_txt {
    font-size: 16px;
  }
  .pack_price .annotation_box {
    margin-top: 35px;
  }
  .pack_list {
    gap: 30px 0;
  }
  .pack_list li {
    width: 31%;
  }
  .pack_list li .ttl {
    font-size: 19px;
    padding: 17px 0 18px;
  }
  .pack_list li div {
    padding: 15px 20px 18px;
  }
  .pack_list li p {
    font-size: 16px;
  }
  .pack_list li dt {
    width: 60px;
  }
  .pack_list li dd.cost {
    font-size: 22px;
  }
  .price_advance {
    margin-top: 80px;
  }
  .price_advance .txt_box .ttl {
    font-size: 18px;
    padding: 0 0 10px;
    margin: 0 0 10px;
  }
  .price_advance .txt_box .ttl::before {
    width: 35px;
    height: 35px;
  }
}

@media only screen and (max-width: 568px) {
  .price .points {
    margin-top: 35px;
  }
  .price .points .ttl_sideline {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .price .points .ttl_sideline span {
    display: inline-block;
  }
  .price .points .ttl_sideline span::before, .price .points .ttl_sideline span::after {
    top: 8px;
  }
  .price .points .ttl_sideline span::after {
    right: -48px;
  }
  .price .points ul {
    gap: 25px 0;
  }
  .price .points li {
    width: 100%;
  }
  .price .points li .ttl {
    padding: 13px 0 14px;
  }
  .price .points li div {
    padding: 18px 20px;
  }
  .price .points li img {
    width: 47%;
    margin: 0 12px 10px 0;
  }
  .price .points li p {
    line-height: 1.75;
  }
  .price .price_box {
    margin-top: 65px;
  }
  .price .price_cate.cate01 {
    margin-top: 20px;
  }
  .price .price_cate.cate03 {
    margin-bottom: 0;
  }
  .price .price_cate.cate04 {
    margin: 30px 0 0;
    padding-bottom: 10px;
  }
  .price .price_cate .ttl {
    display: block;
    text-align: center;
    font-size: 17px;
    margin-bottom: 17px;
  }
  .price .price_cate .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .price .price_cate .cate_top {
    width: 100%;
  }
  .price .price_cate dl {
    padding: 0;
    margin-top: 14px;
  }
  .price .price_cate dt {
    font-size: 17px;
  }
  .price .price_cate dt::before {
    margin-right: 7px;
  }
  .price .other_cate {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .price .other_cate dt {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 9px 0 11px;
  }
  .price .other_cate dt img {
    width: 40px;
    margin: 0 10px 0 -20px;
  }
  .price .other_cate dt .ttl {
    text-align: left;
    font-size: 16px;
  }
  .price .other_cate dd {
    width: 100%;
    padding: 16px 20px 20px;
  }
  .price .other_cate dd ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 12px 6%;
  }
  .price .other_cate dd li p {
    font-size: 14px;
  }
  .price .last_txt {
    font-size: 14px;
    margin: 20px 0 5px;
    text-align: left;
  }
  .pack_price {
    margin-top: 45px;
  }
  .pack_price .intro_txt {
    line-height: 2.0;
    margin-top: -5px;
  }
  .pack_price .annotation_box {
    margin-top: 30px;
  }
  .pack_list {
    margin-top: 25px;
    gap: 25px 0;
  }
  .pack_list li {
    width: 100%;
  }
  .pack_list li .ttl {
    padding: 13px 0 14px;
  }
  .pack_list li div {
    padding: 13px 20px 18px;
  }
  .pack_list li p {
    font-size: 17px;
  }
  .pack_list li img {
    margin: 14px 0 18px;
  }
  .pack_list li dt {
    width: 75px;
  }
  .pack_list li dd {
    font-size: 16px;
  }
  .price_advance {
    margin-top: 70px;
  }
  .price_advance .ad01 {
    margin-top: 22px;
  }
  .price_advance .ad02 {
    margin: 25px 0 10px;
  }
  .price_advance .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .price_advance .row-rev {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .price_advance img {
    width: 100%;
  }
  .price_advance .txt_box {
    width: 100%;
  }
  .price_advance .txt_box .ttl {
    margin: 12px 0 10px;
  }
  .price_advance .txt_box .ttl span {
    padding-left: 10px;
    width: calc(100% - 35px);
  }
}

/*===============================================
 *	不用品の買取について
===============================================*/
.purchase_point {
  margin-top: 72px;
  gap: 60px 0;
}

.purchase_point li {
  width: 30%;
}

.purchase_point li .ttl {
  font-size: 24px;
  padding: 22px 0 24px;
}

.purchase_point li div {
  padding: 30px 42px;
}

.purchase_point li img {
  margin-bottom: 16px;
}

.purchase_point li:last-child {
  width: 100%;
  overflow: visible;
}

.purchase_point li:last-child .ttl {
  border-radius: 10px 10px 0 0;
}

.purchase_point li:last-child .ttl span {
  position: relative;
}

.purchase_point li:last-child .ttl span::before {
  content: '';
  background: url(../img/common/label_check.svg) no-repeat;
  background-size: contain;
  width: 99px;
  height: 96px;
  position: absolute;
  top: -50px;
  left: -140px;
}

.purchase_point li:last-child picture {
  width: 41%;
  max-width: 413px;
  margin-right: 15px;
}

.purchase_point li:last-child > div {
  padding: 35px 50px;
}

.purchase_point li:last-child img {
  margin: 0;
}

.purchase_point li .check_ttl {
  font-size: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 14px;
}

.purchase_point li .check_ttl::before {
  content: '';
  background: url(../img/common/icon_check_green.svg) no-repeat;
  width: 33px;
  height: 33px;
  display: inline-block;
  margin-right: 10px;
}

.purchase_point li .txt_box {
  width: 54%;
  padding: 0;
  margin-top: 20px;
}

.purchase {
  background-position: top 305px center;
}

.purchase_item_list {
  margin-top: 90px;
  padding-top: 50px;
}

.purchase_item_list .ttl_underbar::after {
  background: var(--site-primary);
}

.purchase_item_list ul {
  gap: 30px 0;
  margin-top: 30px;
}

.purchase_item_list ul li {
  width: 177px;
}

.purchase_item_list ul li div {
  width: 177px;
  height: 177px;
  background: #ffecaa;
  border-radius: 100px;
  overflow: hidden;
  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;
}

.purchase_item_list ul li .ttl {
  font-size: 15px;
  line-height: 1.45;
  font-weight: bold;
  margin-top: auto;
  width: 100%;
  height: 55px;
  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;
}

.purchase_item_list ul li .ttl span {
  margin-top: -11px;
}

.purchase_item_list ul li img {
  width: 66%;
  margin-top: 22px;
}

.purchase_item_list ul li p {
  font-size: 15px;
  line-height: 1.6;
  margin-top: 10px;
}

.purchase_item_list ul li:nth-child(7) .ttl span {
  margin-top: -6px;
}

.example_box {
  margin-top: 90px;
  padding-top: 50px;
}

.example_box .ttl_underbar::after {
  background: var(--site-primary);
}

.example_box ul {
  margin: 30px 0 20px;
}

.example_box li {
  width: 30%;
}

.example_box li div {
  padding: 18px 25px 20px;
}

.example_box li .ttl {
  font-size: 18px;
  margin-bottom: 10px;
}

.example_box li dt {
  font-size: 15px;
  padding: 4px 7px 5px;
  margin-right: 15px;
}

.example_box li dd {
  font-size: 26px;
  font-weight: bold;
}

.example_box li dd .yen {
  font-size: 0.8em;
}

@media only screen and (max-width: 1024px) {
  .purchase_point li .ttl {
    font-size: 22px;
  }
  .purchase_point li .check_ttl {
    font-size: 20px;
  }
  .purchase_point li:last-child > div {
    padding: 30px 44px;
  }
  .purchase_point li:last-child picture {
    margin: 0;
  }
  .purchase_item_list ul {
    gap: 20px 0;
  }
  .purchase_item_list ul::before {
    content: '';
    width: 177px;
    display: block;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .purchase_item_list ul::after {
    content: '';
    width: 177px;
    display: block;
  }
}

@media only screen and (max-width: 960px) {
  .purchase_point {
    margin-top: 45px;
    gap: 50px 0;
  }
  .purchase_point li .ttl {
    font-size: 19px;
    padding: 17px 0 18px;
  }
  .purchase_point li .check_ttl {
    font-size: 18px;
    margin-bottom: 8px;
  }
  .purchase_point li .check_ttl::before {
    width: 25px;
    height: 25px;
    margin-right: 8px;
  }
  .purchase_point li div {
    padding: 20px 22px;
  }
  .purchase_point li img {
    margin-bottom: 10px;
  }
  .purchase_point li .txt_box {
    margin: 0;
  }
  .purchase_point li:last-child .ttl span::before {
    width: 75px;
    height: 75px;
    top: -40px;
    left: -95px;
  }
  .purchase_point li:last-child > div {
    padding: 24px 30px;
  }
  .purchase_item_list {
    margin-top: 70px;
    padding-top: 38px;
  }
  .purchase_item_list ul {
    margin-top: 25px;
  }
  .purchase_item_list ul li {
    width: 150px;
  }
  .purchase_item_list ul li div {
    width: 150px;
    height: 150px;
  }
  .purchase_item_list ul li .ttl {
    font-size: 14px;
  }
  .purchase_item_list ul li img {
    width: 60%;
  }
  .purchase_item_list ul li p {
    font-size: 14px;
  }
  .purchase_item_list ul::before, .purchase_item_list ul::after {
    width: 135px;
  }
  .example_box {
    margin-top: 70px;
    padding-top: 38px;
  }
  .example_box ul {
    margin: 25px 0 12px;
  }
  .example_box li {
    width: 31%;
  }
  .example_box li div {
    padding: 10px 20px 18px;
  }
  .example_box li .ttl {
    font-size: 15px;
  }
  .example_box li dt {
    font-size: 13px;
    margin-right: 8px;
  }
  .example_box li dd {
    font-size: 18px;
  }
}

@media only screen and (max-width: 568px) {
  .purchase_point {
    margin-top: 35px;
    gap: 25px 0;
  }
  .purchase_point li {
    width: 100%;
  }
  .purchase_point li .ttl {
    padding: 13px 0 14px;
  }
  .purchase_point li .check_ttl {
    margin-bottom: 8px;
  }
  .purchase_point li .check_ttl::before {
    width: 30px;
    height: 30px;
    margin: 6px 8px 0 0;
  }
  .purchase_point li div {
    padding: 18px 20px;
  }
  .purchase_point li img {
    float: left;
    width: 47.8%;
    margin: 0 12px 10px 0;
  }
  .purchase_point li p {
    margin-top: -5px;
  }
  .purchase_point li .txt_box {
    width: 100%;
  }
  .purchase_point li:last-child .ttl {
    text-align: left;
    padding: 10px 0 11px;
  }
  .purchase_point li:last-child .ttl span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .purchase_point li:last-child .ttl span::before {
    width: 60px;
    height: 60px;
    position: relative;
    top: 0;
    left: initial;
    display: inline-block;
    margin: 0 10px 0 20px;
  }
  .purchase_point li:last-child > div {
    -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;
    padding: 20px 22px;
  }
  .purchase_point li:last-child picture {
    width: 100%;
    margin-bottom: 10px;
  }
  .purchase_point li:last-child img {
    float: none;
    width: 100%;
    margin: 0;
  }
  .purchase_point li:last-child p {
    margin: 0;
  }
  .purchase {
    background-size: auto;
    background-position: top 160px center;
  }
  .purchase_item_list {
    margin-top: 45px;
    padding-top: 25px;
  }
  .purchase_item_list ul {
    margin: 18px 0 12px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 12px 7%;
  }
  .purchase_item_list ul li {
    width: 130px;
  }
  .purchase_item_list ul li div {
    width: 130px;
    height: 130px;
  }
  .purchase_item_list ul li img {
    margin-top: 12px;
  }
  .purchase_item_list ul li p {
    margin: 8px -2px 0;
  }
  .purchase_item_list ul::before, .purchase_item_list ul::after {
    content: none;
  }
  .example_box {
    margin-top: 45px;
    padding-top: 25px;
  }
  .example_box ul {
    margin: 18px 0 12px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px 0;
  }
  .example_box li {
    width: 100%;
  }
  .example_box li div {
    padding: 10px 20px 18px;
  }
  .example_box li .ttl {
    font-size: 17px;
  }
  .example_box li dt {
    font-size: 14px;
    margin-right: 10px;
  }
  .example_box li dd {
    font-size: 22px;
  }
}

/*===============================================
 *	作業事例
===============================================*/
.case_box {
  overflow: visible;
  margin-bottom: 70px;
}
.content_inner .date_time{
  font-size:13px;
  color:var(--site-primary);
  margin-bottom: 5px;
}
.content_inner .date_time time{
  padding-left: 22px;
  background: url(../img/common/icon-clock.png) no-repeat left center;
  background-size: 16px;
}
.case_box .ttl {
  font-size: 30px;
  padding: 22px 0 24px;
  border-radius: 20px 20px 0 0;
  position: relative;
}

.case_box .ttl::before {
  content: '';
  width: 100px;
  height: 100px;
  position: absolute;
  top: -40px;
  left: 60px;
}

.case_box.case01 {
  margin-top: 80px;
}

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

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

.case_box.case03 {
  margin-bottom: 15px;
}

.case_box.case03 .ttl::before {
  background: url(../img/common/label_case03.svg) no-repeat;
  background-size: contain;
}

.case_box .case_content {
  padding: 45px 60px 45px;
}

.case_box .main_box {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 45% 51%;
      grid-template-columns: 45% 51%;
  -ms-grid-rows: auto 1fr auto;
      grid-template-rows: auto 1fr auto;
  -webkit-column-gap: 4%;
          column-gap: 4%;
}

.case_box .main_box .content_ttl {
  font-size: 26px;
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  margin-bottom: 33px;
}

.case_box .main_box .content_ttl span {
  font-size: 0.7em;
  padding-left: 10px;
}

.case_box .main_box picture {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1 / 3;
}

.case_box .main_box dl {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 3;
  grid-row: 3;
  margin-top: 10px;
}

.case_box .main_box dt {
  width: 25%;
  padding: 4px 0;
}

.case_box .main_box dd {
  width: 25%;
  padding: 4px 0;
}

.case_box .main_box .case_cost {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
}

.case_box .main_box .case_cost li {
  margin-bottom: 15px;
}

.case_box .main_box .case_cost li:last-child {
  border-top: 2px solid #ccc;
  padding-top: 15px;
  margin-bottom: 0;
}

.case_box .main_box .cost_ttl {
  font-size: 20px;
  font-weight: bold;
  width: 45%;
  text-align: center;
  padding: 8px 15px 10px;
}

.case_box .main_box .cost_ttl .item {
  font-size: 0.75em;
  display: block;
  text-align: center;
  background: #fff;
  color: var(--site-primary);
  padding: 5px 0 6px;
  margin-top: 10px;
}

.case_box .main_box .cost_price {
  font-size: 30px;
  font-weight: bold;
  text-align: right;
  width: calc(100% - 45%);
}

.case_box .main_box .cost_price .yen {
  font-size: 0.75em;
}

.case_box .customer_box {
  background: #ffe67c;
  padding: 30px 40px 22px;
  margin-top: 25px;
}

.case_box .customer_box .customer_name {
  width: 90px;
  float: left;
  margin-right: 32px;
}

.case_box .customer_box .customer_name p {
  font-size: 14px;
  font-weight: bold;
  margin-top: 2px;
}

.case_box .comment_box {
  padding: 30px 40px 22px;
  margin-top: 25px;
  margin-bottom: 10px;
}

.case_box .comment_box img {
  width: 175px;
  float: right;
  margin: -10px 0 0 32px;
}

.case_box .comment_box .comment_ttl {
  font-size: 20px;
  margin-bottom: 15px;
}

.case_box .comment_box .comment_ttl::before {
  content: '';
  display: inline-block;
  background: var(--site-secondary);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin-right: 10px;
  position: relative;
  top: 0;
}

@media only screen and (max-width: 1024px) {
  .case_box .ttl {
    font-size: 26px;
  }
  .case_box .case_content {
    padding: 45px 50px;
  }
  .case_box .main_box .content_ttl {
    font-size: 24px;
    margin-bottom: 22px;
  }
  .case_box .main_box .case_cost li {
    margin-bottom: 13px;
  }
  .case_box .main_box .case_cost li:last-child {
    padding-top: 13px;
  }
  .case_box .main_box .cost_ttl {
    font-size: 18px;
    padding: 6px 15px 8px;
  }
  .case_box .main_box .cost_price {
    font-size: 28px;
  }
}

@media only screen and (max-width: 960px) {
  .case_box {
    margin-bottom: 50px;
  }
  .case_box.case01 {
    margin-top: 50px;
  }
  .case_box .ttl {
    font-size: 23px;
  }
  .case_box .ttl::before {
    width: 80px;
    height: 80px;
    top: -25px;
  }
  .case_box .case_content {
    padding: 30px 4.4vw;
  }
  .case_box .main_box .content_ttl {
    font-size: 20px;
    margin-bottom: 15px;
  }
  .case_box .main_box dt {
    font-size: 13px;
  }
  .case_box .main_box dd {
    font-size: 13px;
  }
  .case_box .main_box .case_cost li {
    margin-bottom: 8px;
  }
  .case_box .main_box .case_cost li:last-child {
    padding-top: 8px;
  }
  .case_box .main_box .cost_ttl {
    font-size: 16px;
    padding: 3px 10px 4px;
  }
  .case_box .main_box .cost_ttl .item {
    font-size: 0.65em;
    margin-top: 5px;
  }
  .case_box .main_box .cost_price {
    font-size: 22px;
  }
  .case_box .customer_box {
    padding: 20px 22px 16px;
  }
  .case_box .customer_box .customer_name {
    width: 80px;
    margin-right: 18px;
  }
  .case_box .comment_box {
    padding: 20px 22px 18px;
  }
  .case_box .comment_box .comment_ttl {
    font-size: 17px;
    margin-bottom: 8px;
  }
  .case_box .comment_box img {
    width: 140px;
    margin: 0 0 0 18px;
  }
}

@media only screen and (max-width: 568px) {
  .case_box {
    margin-bottom: 25px;
  }
  .case_box.case01 {
    margin-top: 25px;
  }
  .case_box .ttl {
    font-size: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 10px 10px 0 0;
    text-align: left;
    padding: 10px 15px 12px;
  }
  .case_box .ttl::before {
    width: 50px;
    height: 50px;
    position: relative;
    top: initial;
    left: initial;
    margin-right: 10px;
  }
  .case_box .ttl span {
    width: calc(100% - 50px - 10px);
  }
  .case_box .case_content {
    padding: 15px 20px 20px;
  }
  .case_box .main_box {
    -ms-grid-columns: auto;
        grid-template-columns: auto;
    -ms-grid-rows: auto auto auto auto;
        grid-template-rows: auto auto auto auto;
  }
  .case_box .main_box .content_ttl {
    font-size: 19px;
    margin-bottom: 10px;
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .case_box .main_box picture {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .case_box .main_box dl {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
    margin-top: 15px;
  }
  .case_box .main_box dt {
    font-size: 12px;
  }
  .case_box .main_box dd {
    font-size: 12px;
  }
  .case_box .main_box .case_cost {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 4;
    grid-row: 4;
    margin-top: 15px;
  }
  .case_box .main_box .case_cost li {
    margin-bottom: 8px;
  }
  .case_box .main_box .case_cost li:last-child {
    padding-top: 8px;
  }
  .case_box .main_box .cost_ttl {
    font-size: 14px;
    padding: 5px 8px 7px;
  }
  .case_box .main_box .cost_ttl .item {
    font-size: 0.65em;
    margin-top: 5px;
  }
  .case_box .main_box .cost_price {
    font-size: 18px;
  }
  .case_box .customer_box {
    padding: 16px 18px 16px;
    margin-top: 20px;
  }
  .case_box .customer_box .customer_name {
    width: 72px;
    margin: 0 15px 5px 0;
  }
  .case_box .comment_box {
    padding: 16px 18px 16px;
    margin-top: 20px;
  }
  .case_box .comment_box .comment_ttl {
    font-size: 15px;
    margin-bottom: 5px;
  }
  .case_box .comment_box .comment_ttl::before {
    width: 8px;
    height: 8px;
    top: -1px;
    margin-right: 5px;
  }
  .case_box .comment_box img {
    width: 90px;
    margin: 0 0 5px 15px;
  }
  .case_box.case03 .main_box .content_ttl {
    line-height: 1.4;
  }
  .case_box.case03 .main_box .content_ttl span {
    padding-left: 0;
  }
}

/*===============================================
 *	不用品回収の流れ
===============================================*/
.flow_box {
  margin-top: 72px;
}

.flow_box ul {
  gap: 74px calc((100% - (27.7% * 3)) / 2);
  margin-top: 40px;
}

.flow_box li {
  width: 27.7%;
  border-radius: 10px;
  padding: 40px 25px 25px;
  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;
  position: relative;
}

.flow_box li::after {
  content: '';
  background: url(../img/common/icon_double-arrow_right_orange.svg) no-repeat;
  background-size: contain;
  width: 48px;
  height: 58px;
  position: absolute;
  top: 50%;
  right: -23%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.flow_box li .image {
  max-width: 200px;
  position: relative;
}

.flow_box li .image::before {
  content: '';
  width: 80px;
  height: 80px;
  position: absolute;
  top: -10px;
  left: -24px;
}

.flow_box li .ttl {
  font-size: 23px;
  width: 100%;
  padding: 5px 0 7px;
  border-radius: 50px;
  margin: 25px 0 13px;
}

.flow_box li:nth-child(1) .image::before {
  background: url(../img/common/step_label01.svg) no-repeat;
  background-size: contain;
}

.flow_box li:nth-child(2) .image::before {
  background: url(../img/common/step_label02.svg) no-repeat;
  background-size: contain;
}

.flow_box li:nth-child(3)::after {
  content: none;
}

.flow_box li:nth-child(3) .image::before {
  background: url(../img/common/step_label03.svg) no-repeat;
  background-size: contain;
}

.flow_box li:nth-child(4) .image::before {
  background: url(../img/common/step_label04.svg) no-repeat;
  background-size: contain;
}

.flow_box li:nth-child(5)::after {
  content: none;
}

.flow_box li:nth-child(5) .image::before {
  background: url(../img/common/step_label05.svg) no-repeat;
  background-size: contain;
}

@media only screen and (max-width: 1024px) {
  .flow_box ul {
    gap: 60px calc((100% - (27.7% * 3)) / 2);
  }
  .flow_box li .ttl {
    font-size: 20px;
  }
}

@media only screen and (max-width: 960px) {
  .flow_box {
    margin-top: 45px;
  }
  .flow_box ul {
    gap: 40px calc((100% - (30% * 3)) / 2);
    margin-top: 28px;
  }
  .flow_box li {
    width: 30%;
    padding: 28px 20px 22px;
  }
  .flow_box li::after {
    width: 23px;
    height: 28px;
    right: -13%;
  }
  .flow_box li .image {
    max-width: 90%;
  }
  .flow_box li .image::before {
    width: 60px;
    height: 60px;
    top: -3px;
    left: -18px;
  }
  .flow_box li .ttl {
    font-size: 18px;
  }
}

@media only screen and (max-width: 568px) {
  .flow_box {
    margin-top: 35px;
  }
  .flow_box ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 75px 0;
    margin-top: 38px;
  }
  .flow_box li {
    width: 100%;
    padding: 20px 20px 22px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .flow_box li:last-child::after {
    content: none !important;
  }
  .flow_box li::after {
    content: '' !important;
    background: url(../img/common/icon_double-arrow_down_orange.svg) no-repeat;
    width: 42px;
    height: 34px;
    right: initial;
    left: 50%;
    top: initial;
    bottom: -45px;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  .flow_box li .image {
    width: 90px;
    margin-right: 10px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .flow_box li .image::before {
    width: 45px;
    height: 45px;
    top: -15px;
    left: -11px;
  }
  .flow_box li .ttl {
    font-size: 17px;
    margin: -38px 0 20px;
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .flow_box li p {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: calc(100% - 90px - 10px);
    line-height: 1.7;
  }
}

/*===============================================
 *	不用品回収事情
===============================================*/
.area_about {
  background-position: top 266px center;
}

.area_about .main_box {
  margin-top: 80px;
}

.area_about .ttl_top {
  font-size: 32px;
  padding: 22px 0 24px;
}

.area_about .content_box {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 58% 35.2%;
      grid-template-columns: 58% 35.2%;
  -ms-grid-rows: auto 1fr;
      grid-template-rows: auto 1fr;
  -webkit-column-gap: 6.8%;
          column-gap: 6.8%;
}

.area_about .content_box .ttl {
  font-size: 24px;
  margin-bottom: 15px;
  margin-top: -8px;
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
}

.area_about .content_box p {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
}

.area_about .content_box img {
  -ms-grid-column: 2;
  grid-column: 2;
  grid-row: 1 / -1;
}

.area_about .point {
  border: 3px solid var(--site-primary);
  padding: 30px 50px 20px;
  margin: 50px 0 50px;
  position: relative;
}

.area_about .point .ttl {
  font-size: 19px;
  display: inline-block;
  padding: 7px 40px 9px;
  border-radius: 50px;
  letter-spacing: 0.1em;
  position: absolute;
  top: -25px;
  left: -20px;
}

.area_about .point li {
  background: url(../img/common/icon_num01_orange.svg) no-repeat left center;
  background-size: 34px 34px;
  padding: 10px 0 12px 50px;
}

.area_about .point li:nth-child(2) {
  background: url(../img/common/icon_num02_orange.svg) no-repeat left center;
  background-size: 34px 34px;
}

.area_about .area_box_table {
  width: 100%;
  margin-bottom: 50px;
}

.area_about .area_box_table th {
  background: #f5ca92;
  font-weight: bold;
  border: 1px solid #bbb;
  width: 30%;
  padding: 16px 13px 16px;
}

.area_about .area_box_table td {
  border: 1px solid #bbb;
  padding: 16px 30px 16px;
}

.caution_box {
  border: 3px solid var(--site-primary);
}

.caution_box .ttl {
  font-size: 28px;
  background: url(../img/common/bg_stripe_04.png);
  padding: 22px 0 24px;
}

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

.caution_box .ttl span::before {
  content: '';
  background: url(../img/common/icon_caution.svg) no-repeat;
  background-size: contain;
  width: 60px;
  height: 54px;
  display: inline-block;
  margin-right: 15px;
}

.caution_box .row {
  padding: 20px 50px 20px;
  gap: 0 4%;
}

.caution_box .row img {
  width: 203px;
}

.caution_box .row p {
  line-height: 2.0;
}

.caution_box .under_box {
  padding: 20px 50px 20px;
  position: relative;
}

.caution_box .under_box p {
  font-size: 18px;
  font-weight: bold;
  line-height: 2.0;
}

.caution_box .under_box::after {
  content: '';
  background: url(../img/common/staff_img.png) no-repeat;
  background-size: contain;
  width: 150px;
  height: 153px;
  position: absolute;
  right: 50px;
  bottom: -3px;
}

.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: #41bbe5;
  margin: 50px 0;
}

.merit_demerit .name {
  font-size: 20px;
  text-align: center;
  color: #fff;
  border-left: 3px solid #fff;
  padding: 18px 0;
}

.merit_demerit .txt {
  padding: 20px 25px;
  background: #f2f2f2;
  border-left: 3px solid #fff;
}

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

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

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

.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: #ffecaa;
  border-bottom: 3px solid #fff;
}

.merit_demerit .merit_gyousei {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
  border-bottom: 3px solid #fff;
}

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

.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: #f5ec92;
}

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

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

.merit_demerit .img_maru::before {
  content: '';
  background: url(../img/common/icon_maru.svg) no-repeat;
  background-size: contain;
  width: 68px;
  height: 68px;
  display: block;
  margin: 5px auto 13px;
}

.merit_demerit .img_batsu::before {
  content: '';
  background: url(../img/common/icon_batsu.svg) no-repeat;
  background-size: contain;
  width: 60px;
  height: 60px;
  display: block;
  margin: 5px auto 13px;
}

@media only screen and (max-width: 1024px) {
  .area_about {
    background-position: top 223px center;
  }
  .area_about .main_box {
    margin-top: 60px;
  }
  .area_about .ttl_top {
    font-size: 29px;
  }
  .area_about .point {
    padding: 25px 27px 16px;
  }
  .area_about .point li {
    padding: 8px 0 10px 44px;
  }
  .caution_box .ttl {
    font-size: 26px;
    padding: 20px 0 22px;
  }
  .caution_box .under_box {
    padding: 20px 35px 20px;
  }
  .caution_box .under_box p {
    width: 82%;
    line-height: 1.6;
  }
  .caution_box .under_box::after {
    right: 27px;
  }
}

@media only screen and (max-width: 960px) {
  .area_about .main_box {
    margin-top: 46px;
  }
  .area_about .ttl_top {
    font-size: 24px;
  }
  .area_about .content_box .ttl {
    font-size: 20px;
    margin-bottom: 10px;
    margin-top: -5px;
  }
  .area_about .point {
    padding: 20px 22px 12px;
    margin: 44px 0 34px;
  }
  .area_about .point .ttl {
    font-size: 17px;
    padding: 4px 40px 5px;
  }
  .area_about .point li {
    padding: 8px 0 10px 44px;
  }
  .area_about .area_box_table {
    margin-bottom: 35px;
  }
  .area_about .area_box_table th {
    padding: 16px 20px 16px;
  }
  .area_about .area_box_table td {
    padding: 16px 20px 16px;
  }
  .caution_box .ttl {
    font-size: 22px;
    padding: 16px 0 18px;
  }
  .caution_box .ttl span::before {
    width: 51px;
    height: 45px;
  }
  .caution_box .row {
    padding: 20px 30px 20px;
  }
  .caution_box .row img {
    width: 175px;
  }
  .caution_box .row p {
    line-height: 1.8;
  }
  .caution_box .under_box {
    padding: 20px 35px 20px;
  }
  .caution_box .under_box p {
    font-size: 17px;
    line-height: 1.75;
  }
  .caution_box .under_box::after {
    right: 20px;
  }
  .merit_demerit {
    -ms-grid-columns: 120px auto auto;
        grid-template-columns: 120px auto auto;
    margin: 30px 0 35px;
  }
  .merit_demerit .merit_ttl, .merit_demerit .demerit_ttl {
    font-size: 18px;
  }
  .merit_demerit .name {
    font-size: 18px;
  }
  .merit_demerit li {
    font-size: 14px;
  }
  .merit_demerit .txt {
    padding: 2vw 2vw;
  }
  .merit_demerit .img_maru::before {
    width: 55px;
    height: 55px;
  }
  .merit_demerit .img_batsu::before {
    width: 50px;
    height: 50px;
  }
}

@media only screen and (max-width: 568px) {
  .area_about {
    background-position: top 97px center;
  }
  .area_about .main_box {
    margin-top: 25px;
  }
  .area_about .main_box .md_inner_space {
    padding-top: 13px;
  }
  .area_about .ttl_top {
    font-size: 19px;
    padding: 13px 0 14px;
  }
  .area_about .content_box {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto;
        grid-template-columns: auto;
    -ms-grid-rows: auto auto auto;
        grid-template-rows: auto auto auto;
  }
  .area_about .content_box .ttl {
    font-size: 19px;
    text-align: center;
    margin-bottom: 14px;
    margin-top: 0;
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .area_about .content_box img {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    margin-bottom: 13px;
  }
  .area_about .content_box p {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
  }
  .area_about .point {
    padding: 20px 12px 7px;
    margin: 35px 0 25px;
  }
  .area_about .point .ttl {
    padding: 4px 62px 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: -20px;
  }
  .area_about .point li {
    padding: 8px 0 10px 44px;
  }
  .area_about .area_box_table {
    margin-bottom: 20px;
  }
  .area_about .area_box_table th {
    display: block;
    width: 100%;
    font-size: 17px;
    text-align: center;
    padding: 9px 4px 11px;
  }
  .area_about .area_box_table td {
    display: block;
    line-height: 1.75;
    padding: 10px 20px 12px;
    border-top: none;
  }
  .caution_box {
    margin: 0 -5.3vw -20px;
  }
  .caution_box .ttl {
    font-size: 19px;
    padding: 9px 0 11px;
  }
  .caution_box .ttl span::before {
    width: 51px;
    height: 45px;
  }
  .caution_box .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 13px 18px 20px;
  }
  .caution_box .row img {
    width: 175px;
    margin-bottom: 14px;
  }
  .caution_box .row p {
    line-height: 1.8;
  }
  .caution_box .under_box {
    padding: 16px 16px 19px;
  }
  .caution_box .under_box p {
    font-size: 14px;
    line-height: 1.75;
    width: 100%;
  }
  .caution_box .under_box p:last-of-type {
    width: 75%;
  }
  .caution_box .under_box::after {
    width: 106px;
    height: 107px;
    right: 0;
    background-position: top 2vw center;
  }
  .merit_demerit {
    margin: 20px -5.3vw 25px;
    -ms-grid-columns: 50% 50%;
        grid-template-columns: 50% 50%;
    -ms-grid-rows: (auto)[6];
        grid-template-rows: repeat(6, auto);
    border-bottom: 1px solid #ddd;
  }
  .merit_demerit .name {
    border: none;
    padding: 7px 0 10px;
  }
  .merit_demerit .txt {
    border: none;
    background: #fff;
    border-top: 1px solid #fff;
    font-size: 14px;
    padding: 12px 13px;
  }
  .merit_demerit .gyousei {
    grid-column: 1 / -1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .merit_demerit .minkan {
    grid-column: 1 / -1;
    -ms-grid-row: 4;
    grid-row: 4;
  }
  .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 #fff;
  }
  .merit_demerit .merit_gyousei {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
    border: none;
    border-right: 1px solid #ddd;
    border-top: 1px solid #fff;
  }
  .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 #ddd;
  }
  .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;
  }
  .merit_demerit .demerit_gyousei {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 3;
    grid-row: 3;
  }
  .merit_demerit .demerit_minkan {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 6;
    grid-row: 6;
  }
  .merit_demerit .merit_ttl.sp {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 5;
    grid-row: 5;
  }
  .merit_demerit .demerit_ttl.sp {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 5;
    grid-row: 5;
  }
  .merit_demerit .img_maru::before {
    width: 48px;
    height: 48px;
  }
  .merit_demerit .img_batsu::before {
    width: 42px;
    height: 48px;
  }
}

/*===============================================
 *	よくあるご質問
===============================================*/
.faq {
  padding: 120px 0 82px;
}

.faq_box dt {
  font-size: 22px;
  font-weight: bold;
  position: relative;
  padding: 28px 0 28px 90px;
}

.faq_box dt::before {
  content: '';
  background: url(../img/common/icon_question.svg) no-repeat;
  background-size: contain;
  width: 66px;
  height: 66px;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.faq_box dt::after {
  content: '';
  background: url(../img/common/dot_line_gray.png) no-repeat;
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  bottom: -5px;
}

.faq_box dd {
  padding: 34px 0 34px 90px;
  position: relative;
  border-bottom: 2px solid var(--site-secondary);
  margin-bottom: 14px;
}

.faq_box dd:last-of-type {
  border: none;
  margin-bottom: 0;
}

.faq_box dd::before {
  content: '';
  background: url(../img/common/icon_answer.svg) no-repeat;
  background-size: contain;
  width: 66px;
  height: 66px;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media only screen and (max-width: 960px) {
  .faq {
    padding: 12vw 0 8vw;
  }
  .faq_box dt {
    padding: 24px 0 24px 76px;
    font-size: 20px;
  }
  .faq_box dt::before {
    width: 58px;
    height: 58px;
  }
  .faq_box dd {
    padding: 27px 0 27px 76px;
  }
  .faq_box dd::before {
    width: 58px;
    height: 58px;
  }
}

@media only screen and (max-width: 568px) {
  .faq {
    padding: 70px 0 35px;
  }
  .faq_box dt {
    padding: 18px 0 18px 58px;
    font-size: 18px;
  }
  .faq_box dt::before {
    width: 44px;
    height: 44px;
  }
  .faq_box dd {
    padding: 17px 0 15px 58px;
    margin-bottom: 6px;
  }
  .faq_box dd::before {
    width: 44px;
    height: 44px;
  }
}

/*===============================================
 *	会社情報・ご挨拶
===============================================*/
.company {
  padding-top: 10px;
}

.company .simple_border {
  width: 740px;
  margin: 0 auto;
}

.company .simple_border th {
  border-bottom: 2px solid #ddd;
  width: 26%;
  padding: 24px 43px;
}

.company .simple_border td {
  border-bottom: 2px solid #ddd;
  padding: 24px 43px;
}

.company .simple_border th span {
  position: relative;
}
.company .simple_border th span::before {
  content: '';
  display: inline-block;
  background: #ff7b22;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 7px;
}
.company .simple_border td li {
  margin-bottom: 5px;
}
.company .simple_border td a {
  border-bottom: 1px solid #aaa;
}

.company .map {
  text-align: center;
  margin-top: 60px;
}

.company .map iframe {
  width: 82.5%;
  height: 340px;
}

.company .greeting {
  margin-top: 90px;
}

.company .greeting .large_txt {
  font-size: 26px;
  font-weight: 900;
  margin-bottom: 15px;
}

.company .greeting .large_txt .br-tb {
  display: none;
}

.company .greeting .txt {
  width: 55%;
  margin-top: 30px;
}

.company .greeting img {
  width: 40.6%;
  max-width: 454px;
}

.company.company_frontpage {
  padding-top: 80px;
}

@media only screen and (max-width: 1024px) {
  .company .greeting .large_txt .br-tb {
    display: block;
  }
  .company.company_frontpage {
    padding-top: 60px;
  }
}

@media only screen and (max-width: 960px) {
  .company .simple_border {
    width: 90%;
  }
  .company .simple_border th, .company .simple_border td {
    padding: 20px 36px;
  }
  .company .map {
    width: 90%;
    margin: 45px auto 0;
  }
  .company .map iframe {
    width: 100%;
    height: 300px;
  }
  .company .greeting {
    margin-top: 8vw;
  }
  .company .greeting .large_txt {
    font-size: 22px;
    margin-bottom: 8px;
  }
  .company .greeting .txt {
    margin-top: 15px;
  }
  .company.company_frontpage {
    padding-top: 7vw;
  }
}

@media only screen and (max-width: 568px) {
  .company {
    padding-top: 25px;
  }
  .company .simple_border {
    width: 100%;
  }
  .company .simple_border th {
    display: block;
    width: 100%;
    border-bottom: none;
    padding: 8px 0 3px;
  }
  .company .simple_border td {
    display: block;
    width: 100%;
    padding: 0 0 10px;
  }
  .company .map {
    width: 100%;
    margin-top: 30px;
  }
  .company .map iframe {
    height: 225px;
  }
  .company .greeting {
    margin-top: 45px;
  }
  .company .greeting .large_txt {
    font-size: 18px;
    line-height: 1.65;
    margin-bottom: 10px;
  }
  .company .greeting .large_txt .br-tb {
    display: none;
  }
  .company .greeting .row {
    -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;
  }
  .company .greeting img {
    width: 85%;
  }
  .company .greeting .txt {
    width: 100%;
  }
  .company.company_frontpage {
    padding-top: 40px;
  }
}

/*===============================================
 *	対応エリア・フッターバナー
===============================================*/
.footer_area .ttl_on_border span {
  padding-left: 5em;
  padding-right: 5em;
}

.footer_area .area_intro {
  margin-top: 50px;
}

.footer_area .txt_box {
  width: 59%;
}

.footer_area .ttl {
  font-size: 26px;
  margin-bottom: 20px;
}

.footer_area .ttl .pin {
  font-size: 0.88em;
  display: block;
  background: url(../img/common/icon_pin.svg) no-repeat center left;
  background-size: contain;
  padding: 6px 0 6px 52px;
  margin-bottom: 10px;
}

.footer_area .ttl .bg_green {
  padding: 10px 35px 12px;
  border-radius: 50px;
  display: inline-block;
}

.footer_area .area_img {
  width: 34.5%;
}

.area_list_box {
  margin-top: 110px;
}

.area_list_box .line_side {
  font-size: 22px;
  font-weight: bold;
  margin: 30px 0 35px;
}

.area_list_box .line_side span {
  position: relative;
}

.area_list_box .line_side span::before, .area_list_box .line_side span::after {
  content: '';
  width: 29px;
  height: 42px;
  position: absolute;
  top: -5px;
}

.area_list_box .line_side span::before {
  background: url(../img/common/line_left_orange02.svg) no-repeat;
  background-size: contain;
  left: -45px;
}

.area_list_box .line_side span::after {
  background: url(../img/common/line_right_orange02.svg) no-repeat;
  background-size: contain;
  right: -40px;
}

.area_list_box ul {
  gap: 13px 0;
}

.area_list_box li {
  width: 16.6%;
}

.area_list_box li a {
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.area_list_box li a::before {
  content: '';
  background: url(../img/common/icon_arrow-right-circle_orange.svg) no-repeat;
  background-size: contain;
  width: 14px;
  height: 14px;
  display: inline-block;
  margin: 0 7px 0 0;
}

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

.bnr_area ul {
  gap: 0 20px;
}

.bnr_area .bnr_box {
  max-width: 1120px;
  margin: 30px auto auto auto;
}

@media only screen and (max-width: 960px) {
  .footer_area .area_intro {
    margin-top: 36px;
  }
  .footer_area .ttl {
    font-size: 20px;
    margin-bottom: 15px;
  }
  .footer_area .ttl .pin {
    padding: 4px 0 4px 40px;
  }
  .footer_area .ttl .bg_green {
    padding: 8px 28px 10px;
  }
  .area_list_box {
    margin-top: 75px;
  }
  .area_list_box .line_side {
    font-size: 19px;
    margin: 25px 0 30px;
  }
  .area_list_box .line_side span::before, .area_list_box .line_side span::after {
    width: 24px;
    height: 34px;
  }
  .area_list_box li {
    width: 25%;
  }
}

@media only screen and (max-width: 568px) {
  .bnr_area .bnr_box {
    margin: 20px auto auto auto;
    width: 89.4vw;
  }
  .footer_area .ttl_on_border span {
    padding-left: 3em;
    padding-right: 3em;
  }
  .footer_area .area_intro {
    -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: 0;
  }
  .footer_area .area_img {
    width: 76%;
  }
  .footer_area .txt_box {
    width: 100%;
  }
  .footer_area .txt_box .ttl {
    text-align: center;
    margin: 20px 0 8px;
  }
  .footer_area .txt_box .ttl .pin {
    display: inline-block;
    padding: 2px 0 2px 32px;
    margin-bottom: 6px;
  }
  .area_list_box {
    margin-top: 60px;
  }
  .area_list_box .line_side {
    font-size: 17px;
    line-height: 1.6;
    margin: 12px 0 16px;
  }
  .area_list_box .line_side span {
    display: inline-block;
  }
  .area_list_box .line_side span::before, .area_list_box .line_side span::after {
    width: 27px;
    height: 38px;
    top: 10px;
  }
  .area_list_box .line_side span::before {
    left: -41px;
  }
  .area_list_box .line_side span::after {
    right: -36px;
  }
  .area_list_box li {
    width: 50%;
  }
  .area_list_box li a {
    font-size: 14px;
  }
  .area_list_box li a::before {
    margin-right: 5px;
  }
  .bnr_area ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-top: -20px;
  }
}
/*===============================================
 *	他社比較表
===============================================*/
.compare_box {
  margin-top: 60px;
}
.compare_box .ttl {
  font-size: 32px;
  padding: 17px 0 20px;
}
.compare_box .ttl span {
  display: inline-block;
  position: relative;
}
.compare_box .ttl span::before, .compare_box .ttl span::after {
  content: '';
  width: 29px;
  height: 42px;
  position: absolute;
  top: 5px;
}
.compare_box .ttl span::before {
  background: url(../img/common/line_left_white.svg) no-repeat;
  background-size: contain;
  left: -52px;
}
.compare_box .ttl span::after {
  background: url(../img/common/line_right_white.svg) no-repeat;
  background-size: contain;
  right: -52px;
}
.compare_content {
  padding: 45px 60px 50px;
  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: #ffff29;
  padding: 16px 0 20px;
}
.compare_table thead th.color span {
  position: relative;
}
.compare_table thead th.gray {
  vertical-align: bottom;
  background: rgba(255, 255, 255, 0);
}
.compare_table thead th.gray div {
  background: #b4dde7;
  padding: 17px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 2px solid #E6E6E6;
}
.compare_table tbody th {
  font-size: 20px;
  background: #ffd2a4;
  font-weight: bold;
  border: 2px solid #fff;
}
.compare_table tbody td {
  font-size: 17px;
  padding: 18px 0 20px;
  border: 2px solid #E6E6E6;
  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 {
    font-size: 23px;
    padding: 15px 0 18px;
  }
  .compare_box .ttl span::before, .compare_box .ttl span::after {
    width: 20px;
    height: 29px;
  }
  .compare_box .ttl span::before {
    left: -35px;
  }
  .compare_box .ttl span::after {
    right: -35px;
  }
  .compare_content {
    padding: 4vw 4vw 5vw;
  }
  .compare_table .none {
    width: 150px;
  }
  .compare_table thead th.color {
    font-size: 20px;
  }
  .compare_table tbody td.color {
    font-size: 18px;
  }
  .compare_table tbody th {
    font-size: 18px;
  }
}
@media only screen and (max-width: 568px) {
  .compare_box {
    margin-top: 30px;
  }
  .compare_box .ttl {
    font-size: 19px;
    padding: 10px 0 12px;
  }
  .compare_box .ttl span::before, .compare_box .ttl span::after {
    width: 25px;
    height: 36px;
    top: initial;
    bottom: 5px;
  }
  .compare_box .ttl span::before {
    left: -40px;
  }
  .compare_box .ttl span::after {
    right: -40px;
  }
  .compare_table .on {
    border-width: 3px; 
  }
  .compare_content {
    padding: 20px 4.0vw 20px;
  }
  .compare_table .none {
    width: 24.7%;
  }
  
  .compare_table thead th.color {
    font-size: 15px;
    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: 14px;
  }
  .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;
  }
}
/*===============================================
 *	相互リンクバナー
===============================================*/
.bnr_links {
  padding: 60px 0 70px;
}
.bnr_links p,.recommended_links p {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: bold;
}
.bnr_links ul {
  gap: 20px 2%;
  
}
.bnr_links li {
  width: 15%;
}
@media only screen and (max-width: 568px) {
  .bnr_links {
    padding: 30px 0 40px;
  }
  .bnr_links p,.recommended_links p {
    font-size: 18px;
    text-align: center;
  }
  .bnr_links ul {
    gap: 15px 3.5%;
  }
  .bnr_links li {
    width: 31%;
  }
}

/*===============================================
 *	SDGsへの取り組み
===============================================*/
.sdgs_content {
  margin-top: 70px;
}
.sdgs_content .ttl_sideline {
  font-size: 28px;
  margin-bottom: 70px;
}
.sdgs_content .ttl_sideline span {
  position: relative;
  display: inline-block;
}
.sdgs_content .ttl_sideline span::before, .sdgs_content .ttl_sideline span::after {
  content: '';
  width: 45px;
  height: 65px;
  position: absolute;
  bottom: 0;
}
.sdgs_content .ttl_sideline span::before {
  background: url(../img/common/longline_left_orange.svg) no-repeat;
  background-size: contain;
  left: -68px;
}
.sdgs_content .ttl_sideline span::after {
  background: url(../img/common/longline_right_orange.svg) no-repeat;
  background-size: contain;
  right: -62px;
}
.sdgs_content .main_image {
  margin-bottom: 30px;
}
.sdgs_content .site_links_ttl{
  font-size: 20px;
  display: inline-block;
  padding: 3px 1.5em 4px;
  border: 1px solid var(--site-primary);
  border-radius: 3px;
  margin-bottom: 15px;
}
.sdgs_content .site_links li {
  font-size: 18px;
  margin-bottom: 10px;
  font-weight: bold;
}
.sdgs_content .site_links li a {
  word-wrap:break-word;
  
}
.sdgs_content .site_links li::before {
  content: '';
  display: inline-block;
  background: var(--site-secondary);
  width: 13px;
  height: 13px;
  border-radius: 50%;
  margin-right: 5px;
}
.sdgs_content .site_links li img {
  width: 15px;
  position: relative;
  top: -6px;
}
.sdgs_content .site_links li .link_url {
  font-size: 14px;
  display: block;
  font-weight: normal;
}
.sdgs_content .sub_ttl {
  font-size: 22px;
  padding: 10px 20px 12px;
  margin: 40px 0 30px;
}
.sdgs_content .links_wrapper {

}
.sdgs_content .links_wrapper .photo {
  width: 47.8%;
  background: #f2f2f2;
  padding: 30px 0 50px;
  text-align: center;
}
.sdgs_content .links_wrapper .photo p {
  font-size: 20px;
  margin-bottom: 15px;
}
.sdgs_content .links_wrapper .photo img {
  width: 70%;
}
.sdgs_content .links_wrapper .site_links_box {
  width: 47.8%;
}
@media only screen and (max-width: 960px) {
  .sdgs_content {
    margin-top: 55px;
  }
  .sdgs_content .ttl_sideline {
    font-size: 22px;
    margin-bottom: 55px;
  }
  .sdgs_content .site_links li {
    font-size: 16px;
  }
  .sdgs_content .site_links_ttl {
    font-size: 18px;
  }
  .sdgs_content .site_links li .link_url {
    font-size: 12px;
  }
  .sdgs_content .sub_ttl {
    font-size: 19px;
    padding: 10px 15px 12px;
  }
  .sdgs_content .links_wrapper .photo p {
    font-size: 17px;
  }
}
@media only screen and (max-width: 568px) {
  .sdgs_content {
    margin-top: 30px;
  }
  .sdgs_content .ttl_sideline {
    font-size: 18px;
    margin-bottom: 55px;
  }
  .sdgs_content .ttl_sideline span::before, .sdgs_content .ttl_sideline span::after {
    content: '';
    width: 38px;
    height: 54px;
  }
  .sdgs_content .ttl_sideline span::before {
    left: -52px;
  }
  .sdgs_content .ttl_sideline span::after {
    right: -52px;
  }
  .sdgs_content .site_links li {
    font-size: 15px;
  }
  .sdgs_content .site_links_ttl {
    display: block;
    text-align: center;
    font-size: 17px;
  }
  .sdgs_content .site_links li img {
    top: -4px;
  }
  .sdgs_content .site_links li .link_url {
    display: none;
  }
  .sdgs_content .sub_ttl {
    font-size: 17px;
    padding: 6px 10px 7px;
    margin: 25px 0 20px;
  }
  .sdgs_content .links_wrapper {
    flex-direction: column;
  }
  .sdgs_content .links_wrapper .photo {
    width: 100%;
    padding: 20px 0 30px;
  }
  .sdgs_content .links_wrapper .photo p {
    font-size: 17px;
  }
  .sdgs_content .links_wrapper .site_links_box {
    width: 100%;
    margin-top: 20px;
  }

}

/*===============================================
 *	作業事例 (TOP/市町村 その他の作業事例一覧) 
===============================================*/
.case_list_box {
  margin: 70px 0 20px;
}

.case_list_box .case_list{
  margin-top: 40px;
}

.case_list {
  gap: 50px 3%;
  margin-top: 90px;
}

.case_list li {
  width: 31%;
}

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

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

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

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

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

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

.case_list li dl dd {
  font-size: 15px;
  width: 25%;
  padding: 2px 0 3px;
}

.case_list li .total_price {
  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;
  font-weight: bold;
  margin-top: 10px;
}

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

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

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

.case_list li a {
  height: 100%;
}

.case_list li a::before {
  content: '';
  background: url(../img/voice/icon_circle_arrow.svg) no-repeat;
  background-size: contain;
  width: 41px;
  height: 32px;
  position: absolute;
  right: 0;
  bottom: 0;
}

.work_name {
  font-size: 18px;
  font-weight: bold;
  padding: 2px 0 4px;
  margin: 20px 0 12px;
}

.work_name.work_huyou {
  background: #06b7a8;
}

.work_name.work_gomi {
  background: #d15959;
}

.work_name.work_tokusyu {
  background: #34a6d1;
}

.work_name.work_ihin {
  background: #956dae;
}

@media only screen and (max-width: 1024px) {
  .case_list_box {
    margin: 60px 0 20px;
  }
  .case_list {
    margin-top: 50px;
    gap: 40px 3%;
  }
  .case_list li .ttl {
    padding: 15px 20px 15px;
  }
  .case_list li dl dt {
    font-size: 12px;
  }
  .case_list li dl dd {
    font-size: 13px;
  }
  .case_list li .total_price .price {
    font-size: 24px;
  }
}

@media only screen and (max-width: 960px) {
  .case_list_box {
    margin-top: 6vw;
  }
  .case_list_box .case_list {
    justify-content: center;
    margin-top: 4vw;
  }
  .case_list_box .case_list li:nth-child(3) {
    display: none;
  }
  .case_list {
    gap: 30px 4%;
  }
  .case_list li {
    width: 48%;
  }
}

@media only screen and (max-width: 568px) {
  .case_list_box {
    margin: 35px 0 15px;
  }
  .case_list_box .case_list {
    margin-top: 25px
  }
  .case_list {
    gap: 25px 0;
    margin-top: 35px;
  }
  .case_list li {
    width: 100%;
  }
  .case_list li .content_inner {
    padding: 15px 20px 25px;
  }
  .case_list li dl dt {
    font-size: 14px;
    padding: 3px 0 4px;
  }
  .case_list li dl dd {
    font-size: 15px;
  }
  .case_list li .total_price .price {
    font-size: 28px;
  }
  .work_name {
    margin: 15px 0 10px;
  }
}
/*===============================================
 *	お勧め相互リンクバナー
===============================================*/
.recommended_links {padding: 0 0 60px;}
.recommended_links ul {gap: 20px 2%;}
.recommended_links li {width: 23.5%;}
@media only screen and (max-width: 568px) {
.recommended_links {padding: 0 0 30px;}
.recommended_links ul {gap: 15px 3.5%;}
.recommended_links li {width: 48%;}
}

/*===============================================
 *	[ハイフンなしで入力！]を非表示
===============================================*/
#autozip {
  display: none !important;
}
/*===============================================
 *	電子決済
===============================================*/
.credit_box {
  margin: -30px 0 60px;
}
.credit_box .ttl {
  font-size: 30px;
  font-weight: bold;
  padding: 12px 0 15px;
}
.credit_box .box_inner {
  padding: 35px 45px 40px;
}
.credit_box ul {
  width: 57%;
}
.credit_box ul li {
  width: 32%;
  display: flex;
  align-items: center;
  gap: 0 8px;
  background: #cef3f8;
  border-radius: 10px;
  padding: 15px 5px 15px 10px;
  font-size: 20px;
  font-weight: bold;
}
.credit_box ul li img {
  width: 50px;
}
.credit_box .card-image {
  width: 42%;
}
@media only screen and (max-width: 1024px) {
  .credit_box .box_inner {
    padding: 3% 3% 3.5%;
  }
  .credit_box ul li {
    font-size: 18px;
  }
}
@media only screen and (max-width: 960px) {
  .credit_box {
    margin: -5px 0 30px;
  }
  .credit_box .ttl {
    font-size: 24px;
  }
  .credit_box .box_inner {
    flex-direction: column;
  }
  .credit_box ul {
    width: 80%;
  }
  .credit_box ul li {
    font-size: 18px;
    padding: 10px 5px 10px 10px;
  }
  .credit_box .card-image {
    width: 55%;
    margin-top: 20px;
  }
}
@media only screen and (max-width: 568px) {
  .credit_box {
    margin: -5px 0 15px;
  }
  .credit_box .ttl {
    font-size: 20px;
    padding: 8px 0 10px;
    line-height: 1.4;
  }
  .credit_box .box_inner {
    padding: 16px 16px 20px;
  }
  .credit_box ul {
    width: 100%;
  }
  .credit_box ul li {
    width: 31.5%;
    font-size: 14px;
    padding: 10px 5px 10px;
    flex-direction: column;
    text-align: center;
    line-height: 1.4;
  }
  .credit_box ul li img {
    width: 40px;
    margin-bottom: 5px;
  }
  .credit_box .card-image {
    width: 100%;
    margin-top: 15px;
  }
}

/*===============================================
 *	事例 slider
===============================================*/
.case_box .main_box .cost_price{
  font-size: clamp(18px, 1.5vw, 30px);
  }
  .case_box .main_box dt,
  .case_box .main_box dd{
    font-size: clamp(13px, 1.8vw, 16px);
    letter-spacing: 0px;
  }
  .case_box .main_box dt{
    width: 27%;
  }
  .case_box .main_box dd{
    width: 23%;
  }
  
  .case_box .main_box .content_ttl{
    font-size: clamp(18px, 1.5vw, 26px);
  }
  .case_box .main_box .content_ttl span{
    font-size: clamp(15px, 1vw, 18px);
  }
  .case_box .main_box .cost_ttl .item{
    font-size: clamp(10px, .75vw, 15px);
  }

.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;
  width: 100%;
}
.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 {
  margin-top: 80px;
}
@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;
}
.case_box {
  margin-top: 25px;
}

/*20240701追記*/
.case_box .ttl{
  font-size: 16px;
}
.case_box .main_box .cost_price{
  font-size: 17px;
}
.slider button.arrow-next{
  top: 23.5%;
}
.slider button.arrow-prev{
  top: 23.5%;
}
}
/*===============================================
 *	CTA temp.A
===============================================*/
.txt-shortest{display: none;}
@media only screen and (max-width: 568px) {
  .txt-shortest{
    display: inline;
    font-size: 0.7em;
    border: 2px solid #fff;
    padding: 5px 10px;
    position: relative;
    top: -2px;
    margin-right: 10px;}
}
/*===============================================
 *	追従フッター temp.A
===============================================*/
.fixed_footer {
  background: #fff;
  width: 100%;
  height: auto;
  position: fixed;
  bottom: 0;
  padding: 12px 0;
  display: none;
  z-index: 100;
  border-top: 3px solid var(--site-primary);
}

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

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

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

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

.fixed_footer .line {
  margin-left: 10px;
  width: 16%;
  max-width: 160px;
}
@media only screen and (max-width: 568px) {
  .fixed_footer,.menu_content .cv_box {
    background: #BDE3E4;
    border: none;
    padding: 10px 0 0;
  }
  .fixed_footer .camp, .cv_box .camp {
    background: var(--site-primary);
    margin: 0 2.65vw 8px;
  }
  .fixed_footer .camp p, .cv_box .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, .cv_box .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;
  }
}
/*===============================================
 *	POPUP LINE 2025/05/13 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: #ff9222;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;}
}
/*===============================================
 *	CVエリア 20%OFF改修
===============================================*/
.cv_area.camp_in .cv_box {margin-top: 0;}
.cv_area.camp_in .cv_box p {margin-bottom: 28px;}
.cv_area.camp_in .cv_box ul li {width: 40%;}
.cv_area.camp_in .cv_box ul li:first-child {width: 100%;}
.cv_area.camp_in .camp_box dt {border-radius: 0;background: url(../img/common/bg_stripe_05.png);}
.cv_area.camp_in .camp_box dt span::before, .cv_area .camp_box dt span::after {content: none;}
.cv_area.camp_in .camp_box dd .txt_primarycolor {font-size: 1.35em;font-weight: 900;color: #e54141;}
.cv_area.camp_in .camp_box dd {font-size: 30px; position: relative;padding: 35px 0;}
.cv_area.camp_in .camp_box dd::after {content: '';background: url(../img/common/icon_calc_cv.png) no-repeat;background-size: contain;width: 91px;height: 80px;position: absolute;top: 14px;right: 5%;}
.cv_area.camp_in .camp_box dd .deco_circle {position: relative;}
.cv_area.camp_in .camp_box dd .deco_circle::before {content: '';background: url(../img/common/circles_cv_left.png) no-repeat;background-size: contain;width: 171px;height: 41px;position: absolute;left: -180px;top: 50%;-webkit-transform: translateY(-50%);transform: translateY(-50%);}
.cv_area.camp_in .camp_box dd .deco_circle::after {content: '';background: url(../img/common/circles_cv_right.png) no-repeat;background-size: contain;width: 175px;height: 40px;position: absolute;right: -185px;top: 50%;-webkit-transform: translateY(-50%);transform: translateY(-50%);}
.cv_area.camp_in .cv_box ul {background: #f2f2f2; padding: 4% 0;}
@media only screen and (max-width: 960px) {
  .cv_area.camp_in .camp_box dd {font-size: 25px;}
  .cv_area.camp_in .camp_box dd::after {top: -55px;}
}
@media only screen and (max-width: 568px) {
  .cv_area.camp_in .camp_box dt {font-size: 17px;}
  .cv_area.camp_in .camp_box dd {font-size: 18px;padding: 10px 0;}
  .cv_area.camp_in .camp_box dd::after {width: 50px;height: 44px;right: 3%;top: -6px;}
  .cv_area.camp_in .camp_box dd .deco_circle {display: block;}
  .cv_area.camp_in .camp_box dd .deco_circle::before {background: url(../img/common/circles_left_sp.png) no-repeat;width: 40px;height: 31px;top: 29%;left: 0;}
  .cv_area.camp_in .camp_box dd .deco_circle::after {background: url(../img/common/circles_right_sp.png) no-repeat;width: 28px;height: 29px;top: 30%;right: 0;}
  .cv_area.camp_in .cv_box ul {background: none;padding: 0;}
  .cv_area.camp_in .cv_box ul.no-tel-btn {padding: 0;}
  .cv_area.camp_in .cv_box ul li {width: 100%;}
}
/*===============================================
 *	CV 口コミ星
===============================================*/
.google_pr {overflow: hidden;width: 16%;margin: 0 auto;position: absolute;z-index: 10;top: 54%;right: 0;}
.google_pr .cv_goole_txt {font-size: 18px;font-weight: bold;font-family: "GenEiMGothic";line-height: 1.4;}
.google_pr .cv_goole_txt .star_num{font-size: 22px;color: #DF2934;}
.google_pr .cv_goole_txt .star_acquire{font-size: 20px;}

.fr_thick {border: #B7AA00 2px solid;background: #fff;background-image: linear-gradient(-45deg, rgba(183,170,0, 0.5) 25%, transparent 25%, transparent 50%, rgba(183,170,0, 0.5) 50%, rgba(183,170,0, 0.5) 75%, transparent 75%, transparent 100%), linear-gradient(45deg, rgba(183,170,0, 0.5) 25%, transparent 25%, transparent 50%, rgba(183,170,0, 0.5) 50%, rgba(183,170,0, 0.5) 75%, transparent 75%, transparent 100%);background-size: 40px 40px;transform: rotate(0deg);padding: 5px;
}
.google_pr .circle{text-align: center;background-color: rgba(255, 255, 255, 0.8);padding: 8px 10px 10px;}
.star_rating{line-height: 1;}
.star5_rating{position: relative;z-index: 0;display: inline-block;white-space: nowrap;color: #666;}
.star5_rating:before, .star5_rating:after{content: '★★★★★';}
.star5_rating:after{position: absolute;z-index: 1;top: 0;left: 0;overflow: hidden;white-space: nowrap;color: #DF2934;}
.star5_rating[data-rate="5"]:after{ width: 100%; } /* 星5 */
.star5_rating[data-rate="4.9"]:after{ width: 94%; } /* 星4.9 */
.star5_rating[data-rate="4.8"]:after{ width: 94%; } /* 星4.8 */
.star5_rating[data-rate="4.6"]:after{ width: 92%; } /* 星4.6 */
.star5_rating[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
.star5_rating[data-rate="4"]:after{ width: 80%; } /* 星4 */
.star5_rating[data-rate="3.5"]:after{ width: 70%; } /* 星3.5 */
.star5_rating[data-rate="3"]:after{ width: 60%; } /* 星3 */
.star5_rating[data-rate="2.5"]:after{ width: 50%; } /* 星2.5 */
.star5_rating[data-rate="2"]:after{ width: 40%; } /* 星2 */
.star5_rating[data-rate="1.5"]:after{ width: 30%; } /* 星1.5 */
.star5_rating[data-rate="1"]:after{ width: 20%; } /* 星1 */
.star5_rating[data-rate="0.5"]:after{ width: 10%; } /* 星0.5 */
.star5_rating[data-rate="0"]:after{ width: 0%; } /* 星0 */
@media only screen and (max-width: 1024px) {
  .google_pr {width: 18%;}
}
@media only screen and (max-width: 960px) {
.google_pr {width: 23%;top: 62%;}
.google_pr .cv_goole_txt {font-size: 16px;}
.google_pr .cv_goole_txt .star_num {font-size: 20px;}
.google_pr .cv_goole_txt .star_acquire {font-size: 18px;}
}
@media only screen and (max-width: 568px) {
.google_pr {width: 184px;left: 0; right: initial;}
.fr_thick {padding: 0px;}
.google_pr .circle {padding: 2px 0 8px;}
.google_pr .cv_goole_txt {font-size: 12px;letter-spacing: 0;}
.google_pr .cv_goole_txt .star_num {font-size: 17px;}
.google_pr .cv_goole_txt .star_acquire {font-size: 13px;}
.star_rating {font-size: 10px;}
}