@charset "UTF-8";
/*===============================================
 *	ブラウザリセット
===============================================*/
@font-face {
  font-family: "MPLUS1p";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/MPLUS1p-Medium.woff2") format("woff2"), url("../fonts/MPLUS1p-Medium.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "MPLUS1p";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/MPLUS1p-Bold.woff2") format("woff2"), url("../fonts/MPLUS1p-Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "MPLUS1p";
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/MPLUS1p-ExtraBold.woff2") format("woff2"), url("../fonts/MPLUS1p-ExtraBold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Roboto-Bold.woff2") format("woff2"), url("../fonts/Roboto-Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/Roboto-Black.woff2") format("woff2"), url("../fonts/Roboto-Black.woff") format("woff");
  font-display: swap;
}
body {
  font-size: 100%;
  font-family: "MPlus1p", "ヒラギノ角ゴ 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: 900;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

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

li {
  list-style-type: none;
}

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

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

dt {
  font-weight: normal;
}

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

a:hover {
  text-decoration: none;
}

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

iframe {
  border: none;
}

figure {
  margin: 0;
}

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

p {
  line-height: 1.75;
}

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

* {
  box-sizing: border-box;
}

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

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

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

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

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

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

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

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

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

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

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

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

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

/*===============================================
 *	br
===============================================*/
@media screen and (min-width: 1025px) {
  .br-pc {
    display: block;
  }
  .br-tb {
    display: none;
  }
  .br-sp {
    display: none;
  }
}
@media screen and (min-width: 481px) and (max-width: 1024px) {
  .br-pc {
    display: none;
  }
  .br-tb {
    display: block;
  }
  .br-sp {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .br-pc {
    display: none;
  }
  .br-tb {
    display: none;
  }
  .br-sp {
    display: block;
  }
}
/*===============================================
 *	common
===============================================*/
:root {
  --site-primary: #004791;
  --site-secondary: #0181cc;
  --site-keycolor: #d81900;
  --site-palecolor: #f0f4f9;
}

html body {
  color: #333;
  position: relative;
  font-size: 17px;
  font-weight: 500;
}

a {
  color: var(--site-primary);
  outline: none;
  text-decoration: none;
  word-break: break-all;
}

em {
  font-weight: bold;
}

.sp {
  display: none;
}

.inner {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

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

.txt_keycolor {
  color: var(--site-keycolor);
}
.txt_secondary {
  color: var(--site-secondary);
}
.txt_white {
  color: #fff;
}

.txt_yellow {
  color: #fcee21;
}

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

.bg_white {
  background: #fff;
}

.bg_gray {
  background: #f4f6f6;
}

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

.lg_inner_space {
  padding: clamp(40px, 4.8vw, 60px) 0 clamp(40px, 4.8vw, 60px);
}

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

.sm_radius {
  border-radius: 5px;
}

.md_radius {
  border-radius: 10px;
}

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

.ttl_copy_set {
  font-size: clamp(22px, 4vw, 52px);
  margin-bottom: 0.45em;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ttl_copy_set .sub_txt {
    font-size: clamp(18px, 2.8vw, 32px);
    line-height: 1;
    padding: 0.52em 3.5em;
    margin-bottom: 0.2em;
    border-radius: 50px;
    background: #fdee21;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #004791;
}

.ttl_copy_set .sub_txt::before,
.ttl_copy_set .sub_txt::after {
    width: 3px;
    height: 40px;
    background-color: #004791;
    content: '';
    flex-shrink: 0;
}

.ttl_copy_set .sub_txt::before {
    transform: rotate(-35deg);
    margin-right: 30px;
}

.ttl_copy_set .sub_txt::after {
    transform: rotate(35deg);
    margin-left: 30px;
}
/*
.ttl_copy_set .sub_txt {
  font-size: clamp(18px, 2.8vw, 32px);
  line-height: 1;
  display: inline-block;
  background: #fdee21;
  border-radius: 50px;
  position: relative;
  padding: 0.52em 3.5em;
  margin-bottom: 0.2em;
}
.ttl_copy_set .sub_txt::before, .ttl_copy_set .sub_txt::after {
  content: "";
  width: 10%;
  max-width: 15px;
  height: 30px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.ttl_copy_set .sub_txt::before {
  background: url(../img/common/line_blue_left.svg) no-repeat top left;
  background-size: contain;
  left: 12%;
}
.ttl_copy_set .sub_txt::after {
  background: url(../img/common/line_blue_right.svg) no-repeat top left;
  background-size: contain;
  right: 12%;
}
  */
.ttl_copy_set .main_txt {
  display: inline-block;
  position: relative;
}

.ttl_left_border {
  font-size: clamp(21px, 2.6vw, 32px);
  position: relative;
  border-bottom: 2px solid #dde5e7;
  padding: 0.25em 0 0.25em 0.85em;
  margin-bottom: 0.65em;
}
.ttl_left_border::after {
  content: "";
  background: linear-gradient(180deg, var(--site-secondary) 0%, var(--site-secondary) 50%, var(--site-primary) 50%, var(--site-primary) 100%);
  height: 60%;
  width: 6px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.ttl_left_border02 {
  font-size: clamp(21px, 2.6vw, 32px);
  position: relative;
  border-bottom: 2px solid #e1cbc8;
  padding: 0.25em 0 0.25em 0.85em;
  margin-bottom: 0.65em;
}
.ttl_left_border02::after {
  content: "";
  background: linear-gradient(180deg, #ff8777 0%, #ff8777 50%, var(--site-keycolor) 50%, var(--site-keycolor) 100%);
  height: 60%;
  width: 6px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.overlap_block {
  position: relative;
  z-index: 1;
}
.overlap_block .photo {
  width: 50%;
  border-radius: 10px;
}
.overlap_block .txt_box {
  width: 55.3%;
  background: #eff6fe;
  border: 4px solid #9fd0f1;
  padding: 3% 4% 3% 9%;
  margin: 5% 0 0 -10%;
  border-radius: 10px;
  position: relative;
  z-index: -1;
}
.overlap_block .txt_box:has(> :nth-child(2)) p:first-child {
  margin-bottom: 2em;
}
.overlap_block .txt_box .txt_primarycolor {
  font-weight: 900;
}

.btn_wrapper {
  margin-top: clamp(35px, 4.5vw, 50px);
}

.btn_normal {
  font-size: clamp(20px, 2vw, 22px);
  font-weight: 900;
  line-height: 1;
  padding: 1.3em 0;
  max-width: 500px;
  color: #fff;
  text-align: center;
  background: url(../img/common/btn_bg.png) no-repeat center;
  background-size: cover;
  display: block;
  margin: 0 auto;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
}
.btn_normal::after {
  content: "";
  background: url(../img/common/icon_circle-arrow_white.svg) no-repeat;
  background-size: contain;
  width: 22px;
  height: 22px;
  position: absolute;
  right: 6%;
  top: 50%;
  transform: translateY(-50%);
}
.btn_normal:hover {
  background: url(../img/common/btn_bg_hover.png) no-repeat center;
  background-size: cover;
}

.btn_border {
  font-size: clamp(16px, 1.8vw, 20px);
  font-weight: 900;
  line-height: 1;
  color: var(--site-primary);
  padding: 0.75em 0 0.85em;
  border: 3px solid var(--site-primary);
  border-radius: 5px;
  max-width: 400px;
  background: #fff;
  display: block;
  text-align: center;
  position: relative;
}
.btn_border::after {
  content: "";
  background: url(../img/common/icon_arrow_bottom_blue.svg) no-repeat;
  background-size: contain;
  width: 15px;
  height: 11px;
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
}

.basic_table {
  width: 100%;
  border-collapse: separate;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.basic_table thead th {
  background: var(--site-secondary);
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 900;
  text-align: center;
  padding: 0.85em 0 0.95em;
  border-right: 1px solid #fff;
}
.basic_table thead th:last-of-type {
  border: none;
}
.basic_table tbody th {
  font-size: clamp(14px, 1.6vw, 19px);
  font-weight: 900;
  background: #fffcce;
  width: 25%;
  text-align: center;
  border-bottom: 1px solid #c0cfe6;
  border-left: 1px solid #c0cfe6;
}
.basic_table tbody td {
  font-size: clamp(14px, 1.5vw, 17px);
  border: 1px solid #c0cfe6;
  border-top: none;
  padding: 1.25em 2.25em;
}
.basic_table tbody td:last-of-type {
  border-left: none;
}
.basic_table tbody tr:last-of-type th {
  border-radius: 0 0 0 10px;
}
.basic_table tbody tr:last-of-type td:last-of-type {
  border-radius: 0 0 10px 0;
}

.icon_box {
  background: #fff;
  border: 4px solid var(--site-secondary);
  padding: 2.75% 3.6%;
  margin-top: 3.5%;
}
.icon_box img {
  width: 70px;
  margin-right: 3%;
}
.icon_box .txt_keycolor {
  font-size: 1.17em;
}

@media screen and (min-width: 1025px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media only screen and (max-width: 1024px) {
  .inner {
    width: 92%;
  }
}
@media only screen and (max-width: 960px) {
  html body {
    font-size: 15px;
  }
}
@media only screen and (max-width: 568px) {
  html body {
    margin-top: 79px;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .inner {
    width: 89.4vw;
  }
  .lg_inner_space {
    padding: 35px 0 35px;
  }
  .md_radius {
    border-radius: 5px;
  }
  .annotation_txt {
    font-size: 12px;
  }
  .ttl_copy_set {
    margin-bottom: 0.6em;
  }
  .ttl_copy_set .sub_txt {
    padding: 0.52em 2em;
  }
  .ttl_copy_set .sub_txt::before,
  .ttl_copy_set .sub_txt::after {
    width: 2px;
    height: 25px;
  }
  .ttl_copy_set .sub_txt::before {
    margin-right: 10px;
  }
  .ttl_copy_set .sub_txt::after {
    margin-left: 10px;
  }
  /*
  .ttl_copy_set .sub_txt {
    font-size: 4.3vw;
    margin-bottom: 0.45em;
  }
  .ttl_copy_set .sub_txt::before, .ttl_copy_set .sub_txt::after {
    width: 5%;
    height: 65%;
  }
  .ttl_copy_set .sub_txt::before {
    left: 11%;
  }
  .ttl_copy_set .sub_txt::after {
    right: 11%;
  }
    */
  .ttl_copy_set .main_txt {
    font-size: 7.7vw;
    line-height: 1.4;
  }
  .ttl_left_border {
    padding-left: 0.7em;
    margin-bottom: 0.65em;
  }
  .ttl_left_border::after {
    width: 5px;
    height: 80%;
  }
  .overlap_block {
    flex-direction: column;
  }
  .overlap_block .photo {
    width: 89.3vw;
    margin-left: -5.3vw;
    border-radius: 0 10px 10px 0;
  }
  .overlap_block .txt_box {
    width: 94.8%;
    border-width: 2px;
    margin: -11% -5.3vw 0 0;
    padding: 15% 5% 5% 7%;
    border-right: none;
    border-radius: 10px 0 0 10px;
    align-self: flex-end;
  }
  .overlap_block .txt_box:has(> :nth-child(2)) p:first-child {
    margin-bottom: 0;
  }
  .btn_wrapper {
    margin-top: 25px;
  }
  .btn_normal {
    font-size: 17px;
    padding: 0.85em 0 1.15em;
    background: url(../img/common/btn_bg_sp.png) no-repeat center;
    background-size: cover;
  }
  .btn_normal::after {
    width: 16px;
    height: 16px;
  }
  .btn_normal:hover {
    background: url(../img/common/btn_bg_sp.png) no-repeat center;
    background-size: cover;
  }
  .btn_border {
    padding: 0.9em 1em;
    text-align: left;
  }
  .btn_border::after {
    width: 14px;
    height: 9px;
    right: 4%;
  }
  .basic_table {
    border-radius: 0;
  }
  .basic_table thead th {
    font-size: 17px;
    padding: 0.75em 0 0.85em;
  }
  .icon_box {
    border-width: 2px;
    display: block;
    padding: 4.2% 6.5% 3.5%;
    margin-top: 7.5%;
  }
  .icon_box img {
    float: left;
    width: 50px;
    margin: 5px 6% 3% 0;
  }
  .icon_box .txt_keycolor {
    font-size: 1.13em;
  }
}
/*===============================================
 *	header・スマホメニュー
===============================================*/
.header .hd_top {
  margin: 5px 0;
}
.header .hd_top_txt {
  font-size: 14px;
  font-weight: 500;
  color: #4d617c;
}
.header .inner {
  max-width: 1300px;
}
.header .hd_logo {
  width: 29%;
  max-width: 376px;
  margin-right: auto;
}
.header .mail {
  width: 13%;
  max-width: 168px;
  margin-left: 1.5%;
}
.header .line {
  width: 13%;
  max-width: 168px;
  margin-left: 1.2%;
}
.header .tel_box {
  width: 28%;
  min-width: 325px;
  justify-content: flex-end;
}

.tel_box {
  gap: 0 10px;
}
.tel_box .label {
  width: 20%;
  max-width: 73px;
}
.tel_box .tel_number {
  font-family: "Roboto";
  font-size: clamp(18px, 2.4vw, 33px);
  font-weight: 900;
  line-height: 1;
  color: var(--site-primary);
  display: flex;
  align-items: center;
}
.tel_box .tel_number::before {
  content: "";
  background: url(../img/common/free_dial.svg) no-repeat left center;
  width: 15%;
  max-width: 45px;
  height: 30px;
  display: inline-block;
  margin-right: 6px;
}
.tel_box .under {
  border-top: 1px solid #bfd0e4;
  font-weight: bold;
  margin-top: 3px;
  padding-top: 3px;
}
.tel_box .under .txt_01 {
  font-size: clamp(13px, 1.4vw, 20px);
  position: relative;
}
.tel_box .under .txt_01::before {
  content: "";
  background: url(../img/common/icon_check01.svg) no-repeat;
  background-size: contain;
  width: 22px;
  height: 22px;
  display: inline-block;
  margin-right: 5px;
  position: relative;
  top: 5px;
}
.tel_box .under .txt_02 {
  font-size: clamp(12px, 1.2vw, 16px);
  border: 2px solid var(--site-keycolor);
  background: #fff;
  margin-left: 10px;
  padding: 0 5px;
  position: relative;
  top: -1px;
}

.global_nav {
  background: var(--site-palecolor);
  margin-top: 16px;
}
.global_nav .nav_item {
  font-size: clamp(12px, 1.5vw, 17px);
  padding: 1.1em 0;
}
.global_nav .nav_item a:hover {
  color: var(--site-secondary);
}

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

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

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

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

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

.sp_menu {
  display: none;
}

@media only screen and (max-width: 1300px) {
  .header .inner {
    padding: 0 2%;
  }
}
@media only screen and (max-width: 1024px) {
  .header .inner {
    padding: 0;
    width: 96%;
  }
}
@media only screen and (max-width: 568px) {
  .header {
    position: fixed;
    z-index: 200;
    top: 0;
    left: 0;
    background: #fff;
  }
  .header .inner {
    width: 100%;
  }
  .header .inner > .row {
    align-items: center;
  }
  .header .hd_top {
    background: var(--site-palecolor);
    margin: 0;
    padding: 2px 0 2px 13px;
  }
  .header .hd_top_txt {
    font-size: 10px;
  }
  .header .hd_logo {
    width: 58%;
    margin-left: 3.8%;
  }
  .sp_menu {
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    z-index: 200;
    transition: 0.3s;
    top: 79px;
    overflow: scroll;
    background: #fff;
    padding-bottom: 60px;
    visibility: hidden;
    opacity: 0;
  }
  .sp_menu .menu_list {
    border-top: 1px solid rgba(0, 66, 186, 0.3);
  }
  .sp_menu .menu_list li a {
    font-size: 16px;
    color: #333;
    display: block;
    padding: 12px 5.3vw;
    border-bottom: 1px solid #e2e2e2;
    position: relative;
  }
  .sp_menu .menu_list li a::after {
    content: "";
    background: url(../img/common/icon_arrow_right_blue.svg) no-repeat center;
    background-size: contain;
    width: 13px;
    height: 13px;
    position: absolute;
    right: 5.3vw;
    top: 50%;
    transform: translateY(-50%);
  }
  .sp_menu .sp_accordion_list {
    display: none;
  }
  .sp_menu .sp_accordion_list li {
    padding: 0;
  }
  .sp_menu .sp_accordion_list li a {
    color: var(--site-secondary);
    border-color: #fff;
    background: rgba(var(--site-palecolor-rgb), 0.4);
    padding: 11px 5.3vw;
  }
  .sp_menu .sp_accordion_list li a::after {
    background: url(../img/common/arrow_right_blue.svg) no-repeat;
    background-size: contain;
    width: 7px;
    height: 10px;
    right: 15px;
  }
  .sp_menu .footer_cv {
    position: relative;
    display: block;
    bottom: initial;
    left: initial;
  }
  .sp_menu.open {
    visibility: visible;
    opacity: 1;
  }
}
/*===============================================
 *	メインビジュアル
===============================================*/
.main_visual {
  background: url(../img/top/mv_bg_pc.jpg) no-repeat center;
  background-size: cover;
}
.main_visual .inner {
  max-width: 1300px;
  align-items: flex-end;
  position: relative;
}
.main_visual .txt_block {
  width: 48.5%;
  padding: 0 0 3%;
}
.main_visual .main_copy {
  width: 112%;
  max-width: 705px;
}
.main_visual .pest {
  margin: 2% 0 1%;
}
.main_visual .top_sub_txt {
  font-size: clamp(20px, 2.5vw, 30px);
  font-weight: bold;
  line-height: 1;
  padding: 0.5em 0.5em 0.5em 1em;
  display: inline-block;
  transform: skewX(-10deg);
  position: relative;
}
.main_visual .top_sub_txt::before {
  content: "";
  background: var(--site-primary);
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  transform: skewX(10deg);
}
.main_visual .top_sub_txt::after {
  content: "";
  background: var(--site-primary);
  display: block;
  width: 25px;
  height: 100%;
  position: absolute;
  right: -10px;
  top: 0;
  z-index: -1;
  transform: skew(-10deg);
}
.main_visual .appeal_txt {
  font-size: clamp(20px, 2.65vw, 34px);
  font-weight: bold;
  text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
  position: relative;
}
.main_visual .appeal_txt .bg_primarycolor {
  font-size: 0.9em;
  display: inline-block;
  padding: 0.05em 0.5em;
  border-radius: 3px;
  text-shadow: none;
  margin: 0 0.35em;
}
.main_visual .appeal_txt::before, .main_visual .appeal_txt::after {
  content: "";
  width: 6%;
  height: 83px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.main_visual .appeal_txt::before {
  background: url(../img/common/leaf_yellow_left.svg) no-repeat center;
  background-size: contain;
  left: 2%;
}
.main_visual .appeal_txt::after {
  background: url(../img/common/leaf_yellow_right.svg) no-repeat center;
  background-size: contain;
  right: 2%;
}
.main_visual .appeal_box {
  color: var(--site-primary);
  position: relative;
  z-index: 10;
}
.main_visual .appeal_box .top_txt {
  font-size: clamp(15px, 1.5vw, 23px);
  font-weight: bold;
  background: #eb6168;
  border-radius: 50px;
  width: 65%;
  margin: 3% auto 0;
  padding-left: 1.5em;
  position: relative;
  z-index: 20;
}
.main_visual .appeal_box .top_txt span {
  position: relative;
}
.main_visual .appeal_box .top_txt span::before {
  content: "";
  background: url(../img/common/icon_check02.svg) no-repeat;
  background-size: contain;
  width: 22px;
  height: 22px;
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
}
.main_visual .appeal_box .inner_box {
  border-radius: 10px;
  overflow: hidden;
  margin-top: -15px;
}
.main_visual .appeal_box .inner_box p {
  width: 69%;
  font-size: clamp(13px, 1.4vw, 20px);
  font-weight: bold;
  line-height: 0.9;
  padding: 4.5% 0 0 7%;
}
.main_visual .appeal_box .inner_box img {
  width: 31%;
}
.main_visual .appeal_box .inner_box .size_01 {
  font-size: 1.6em;
  font-weight: 900;
  display: inline-block;
  transform: skewX(-10deg);
}
.main_visual .appeal_box .inner_box .num {
  font-size: 2.2em;
  position: relative;
  top: 0.05em;
}
.main_visual .appeal_box .inner_box .size_02 {
  font-size: 1.55em;
}
.main_visual .mv_staff {
  width: 34%;
  max-width: 437px;
}
.main_visual .medal {
  width: 46%;
  max-width: 589px;
  position: absolute;
  right: -5%;
  bottom: 6%;
}

@media only screen and (max-width: 568px) {
  .main_visual {
    background: url(../img/top/mv_bg_sp.jpg) no-repeat top center;
    background-size: cover;
  }
  .main_visual .inner {
    width: 94%;
    flex-wrap: wrap;
  }
  .main_visual .txt_block {
    width: 100%;
    padding: 5% 0 1%;
  }
  .main_visual .main_copy {
    width: 100%;
    position: relative;
    z-index: 10;
  }
  .main_visual .top_sub_txt {
    font-size: 4.3vw;
    margin-left: -3%;
  }
  .main_visual .pest {
    width: 58%;
    margin: 5px 0 0 -1%;
  }
  .main_visual .appeal_txt {
    font-size: 5.3vw;
    position: relative;
    z-index: 10;
    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;
  }
  .main_visual .appeal_txt .bg_primarycolor {
    padding: 0 0.5em;
  }
  .main_visual .appeal_txt::before {
    left: -1%;
  }
  .main_visual .appeal_txt::after {
    right: -2%;
  }
  .main_visual .appeal_box .top_txt {
    width: 85%;
    padding: 0.15em 0 0.15em 1.5em;
  }
  .main_visual .appeal_box .inner_box {
    border-radius: 5px;
    margin-top: -10px;
  }
  .main_visual .appeal_box .inner_box p {
    font-size: 14px;
    padding: 5% 0 3% 6%;
  }
  .main_visual .appeal_box .inner_box .size_01 {
    font-size: 1.25em;
  }
  .main_visual .mv_staff {
    width: 49%;
    position: absolute;
    right: -3%;
    bottom: 17%;
  }
  .main_visual .medal {
    position: relative;
    right: initial;
    bottom: initial;
    width: 108%;
    background: url(../img/common/bg_stripe_01.png);
    margin: 4% -3.2% 0;
    padding-bottom: 4%;
  }
  .main_visual .medal img {
    width: 90%;
    display: block;
    margin: -3% auto 0;
  }
}
/*===============================================
 *	CTA
===============================================*/
.cta {
  background: url(../img/common/cta_bg.jpg) no-repeat top center;
  background-size: cover;
  padding-bottom: clamp(30px, 4.8vw, 60px);
}
.cta .cta_ttl {
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-end;
  gap: 0 5%;
}
.cta .cta_ttl picture {
  width: 18.75%;
}
.cta .cta_ttl_txt {
  font-size: clamp(32px, 3.8vw, 52px);
  font-weight: 900;
  transform: skewX(-10deg);
  padding: 3.5% 0 2%;
  text-indent: -0.15em;
  text-shadow: rgb(0, 32, 120) 5px 0px 0px, rgb(0, 32, 120) 4.90033px 0.993347px 0px, rgb(0, 32, 120) 4.60531px 1.94709px 0px, rgb(0, 32, 120) 4.12668px 2.82321px 0px, rgb(0, 32, 120) 3.48353px 3.58678px 0px, rgb(0, 32, 120) 2.70151px 4.20736px 0px, rgb(0, 32, 120) 1.81179px 4.6602px 0px, rgb(0, 32, 120) 0.849836px 4.92725px 0px, rgb(0, 32, 120) -0.145998px 4.99787px 0px, rgb(0, 32, 120) -1.13601px 4.86924px 0px, rgb(0, 32, 120) -2.08073px 4.54649px 0px, rgb(0, 32, 120) -2.94251px 4.04248px 0px, rgb(0, 32, 120) -3.68697px 3.37732px 0px, rgb(0, 32, 120) -4.28444px 2.57751px 0px, rgb(0, 32, 120) -4.71111px 1.67494px 0px, rgb(0, 32, 120) -4.94996px 0.7056px 0px, rgb(0, 32, 120) -4.99147px -0.291871px 0px, rgb(0, 32, 120) -4.83399px -1.27771px 0px, rgb(0, 32, 120) -4.48379px -2.2126px 0px, rgb(0, 32, 120) -3.95484px -3.05929px 0px, rgb(0, 32, 120) -3.26822px -3.78401px 0px, rgb(0, 32, 120) -2.4513px -4.35788px 0px, rgb(0, 32, 120) -1.53666px -4.75801px 0px, rgb(0, 32, 120) -0.560763px -4.96845px 0px, rgb(0, 32, 120) 0.437495px -4.98082px 0px, rgb(0, 32, 120) 1.41831px -4.79462px 0px, rgb(0, 32, 120) 2.34258px -4.41727px 0px, rgb(0, 32, 120) 3.17346px -3.86382px 0px, rgb(0, 32, 120) 3.87783px -3.15633px 0px, rgb(0, 32, 120) 4.4276px -2.32301px 0px, rgb(0, 32, 120) 4.80085px -1.39708px 0px, rgb(0, 32, 120) 4.98271px -0.415447px 0px;
}
.cta .cta_ttl_txt .txt_yellow {
  font-size: 1.15em;
}
.cta .cta_content {
  padding: clamp(28px, 3.2vw, 40px);
}
.cta .txt_top {
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: 900;
  background: var(--site-secondary);
  padding: 0.25em 0 0.3em;
}
.cta .appeal_block {
  position: relative;
  gap: 0 1%;
  padding: 2% 0;
}
.cta .appeal_block img {
  width: 13.5%;
}
.cta .appeal_block p {
  font-size: clamp(28px, 2.8vw, 38px);
  font-weight: 900;
  line-height: 1.35;
}
.cta .appeal_block p .size {
  font-size: 1.2em;
}
.cta .appeal_block::before, .cta .appeal_block::after {
  content: "";
  width: 8%;
  max-width: 80px;
  height: 100px;
  position: absolute;
  top: 19%;
}
.cta .appeal_block::before {
  background: url(../img/common/cta_sideline_left.svg) no-repeat;
  background-size: contain;
  left: 15%;
}
.cta .appeal_block::after {
  background: url(../img/common/cta_sideline_right.svg) no-repeat;
  background-size: contain;
  right: 15%;
}
.cta .btn_block {
  position: relative;
  padding-top: 3%;
}
.cta .btn_block::before {
  content: "";
  background: url(../img/common/line_dot.png) repeat-x;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
}
.cta .tel_box {
  width: 67.8%;
  background: var(--site-palecolor);
  border-radius: 5px;
  gap: 0 2%;
  padding: 2% 4%;
}
.cta .tel_box .label {
  width: 17%;
  max-width: 115px;
}
.cta .tel_box > div {
  width: 81%;
}
.cta .tel_box .tel_number {
  font-size: clamp(32px, 5vw, 64px);
  color: #001d41;
}
.cta .tel_box .tel_number::before {
  width: 13%;
  max-width: 76px;
  height: 51px;
}
.cta .tel_box .under {
  border: none;
  text-align: center;
}
.cta .tel_box .under .txt_01 {
  font-size: clamp(20px, 2.4vw, 32px);
}
.cta .tel_box .under .txt_01::before {
  width: 30px;
  height: 30px;
}
.cta .tel_box .under .txt_02 {
  font-size: clamp(18px, 2.2vw, 26px);
  background: #fff;
}
.cta .btn_small {
  width: 29.3%;
}
.cta .btn_small a {
  display: block;
}
.cta .btn_small a:hover img {
  opacity: 0.85;
}
.cta .btn_line {
  margin-top: 3%;
}

@media only screen and (max-width: 568px) {
  .cta {
    background: url(../img/common/cta_bg_sp.jpg) no-repeat top center;
    background-size: cover;
  }
  .cta .cta_ttl {
    gap: 0;
    position: relative;
    justify-content: flex-end;
  }
  .cta .cta_ttl picture {
    width: 33%;
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .cta .cta_ttl_txt {
    font-size: 4.8vw;
    line-height: 1.65;
    padding: 5.5% 0 7%;
    text-shadow: rgb(0, 32, 120) 3px 0px 0px, rgb(0, 32, 120) 2.83487px 0.981584px 0px, rgb(0, 32, 120) 2.35766px 1.85511px 0px, rgb(0, 32, 120) 1.62091px 2.52441px 0px, rgb(0, 32, 120) 0.705713px 2.91581px 0px, rgb(0, 32, 120) -0.287171px 2.98622px 0px, rgb(0, 32, 120) -1.24844px 2.72789px 0px, rgb(0, 32, 120) -2.07227px 2.16926px 0px, rgb(0, 32, 120) -2.66798px 1.37182px 0px, rgb(0, 32, 120) -2.96998px 0.42336px 0px, rgb(0, 32, 120) -2.94502px -0.571704px 0px, rgb(0, 32, 120) -2.59586px -1.50383px 0px, rgb(0, 32, 120) -1.96093px -2.27041px 0px, rgb(0, 32, 120) -1.11013px -2.78704px 0px, rgb(0, 32, 120) -0.137119px -2.99686px 0px, rgb(0, 32, 120) 0.850987px -2.87677px 0px, rgb(0, 32, 120) 1.74541px -2.43999px 0px, rgb(0, 32, 120) 2.44769px -1.73459px 0px, rgb(0, 32, 120) 2.88051px -0.838247px 0px;
  }
  .cta .cta_content {
    padding: 15px 15px 17px;
  }
  .cta .txt_top {
    font-size: 15px;
  }
  .cta .appeal_block {
    padding: 3% 0 0;
    gap: 0 1.5%;
  }
  .cta .appeal_block p {
    font-size: 4.8vw;
  }
  .cta .appeal_block img {
    width: 22%;
  }
  .cta .appeal_block::before {
    width: 10%;
    left: -2%;
    top: 30%;
  }
  .cta .appeal_block::after {
    width: 10%;
    right: -2%;
    top: 30%;
  }
  .cta .btn_block {
    flex-direction: column;
    padding-top: 0;
    margin-top: -1%;
  }
  .cta .btn_block::before {
    content: none;
  }
  .cta .tel_box_sp .fukidashi {
    text-align: center;
    position: relative;
    top: 12px;
  }
  .cta .tel_box_sp .fukidashi span {
    font-size: 14px;
    font-weight: bold;
    color: #fc594c;
    background: #fff;
    border-radius: 50px;
    border: 2px solid #fc594c;
    display: inline-block;
    margin: 0 auto;
    padding: 0.1em 1em;
  }
  .cta .tel_box_sp .fukidashi::after {
    content: "";
    background: #fff;
    border-right: 2px solid #fc594c;
    border-bottom: 2px solid #fc594c;
    width: 8px;
    height: 8px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 49%) rotate(45deg);
    transform-origin: center center;
  }
  .cta .tel_btn {
    color: #fff;
    background: url(../img/common/tel_btn_bg.png) no-repeat;
    background-size: 100% auto;
    text-align: center;
    padding: 4% 0 4.5%;
  }
  .cta .tel_btn .tel_number {
    font-family: "Roboto";
    font-size: 8vw;
    font-weight: bold;
    position: relative;
    padding-left: 5.5vw;
  }
  .cta .tel_btn .tel_number::before {
    content: "";
    background: url(../img/common/cta_icon_tel.png) no-repeat;
    background-size: contain;
    width: 30px;
    height: 34px;
    position: absolute;
    left: -5.5vw;
    top: 0;
  }
  .cta .tel_btn .under {
    margin-top: 3px;
    font-weight: bold;
  }
  .cta .tel_btn .txt_01 {
    font-size: 3.3vw;
    color: #fc594c;
    background: #fff;
    display: inline-block;
    padding: 0.1em 0.5em;
    margin-right: 5px;
  }
  .cta .tel_btn .txt_02 {
    font-size: 4vw;
  }
  .cta .btn_small {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
  }
  .cta .btn_small > a {
    width: 48%;
    margin: 0;
  }
}
/*===============================================
 *	キャンペーンバナー
===============================================*/
.web_camp img {
  margin-bottom: 10px;
}

/*===============================================
 *	各種クレジット
===============================================*/
.credit_box {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}
.credit_box .ttl {
  background: var(--site-secondary);
  font-size: clamp(21px, 2.4vw, 32px);
  padding: 0.45em 0 0.5em;
}
.credit_box .ttl .txt_yellow {
  font-size: 1.125em;
}
.credit_box > div {
  padding: 3% 0;
}
.credit_box img {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
.credit_box.has_border > div {
  border: 4px solid var(--site-secondary);
  border-top: none;
  border-radius: 0 0 10px 10px;
}

.web_camp + .credit_box {
  margin-top: 4%;
}

@media only screen and (max-width: 568px) {
  .credit_box .ttl {
    font-size: 16px;
    padding: 0.6em 0 0.65em;
  }
  .credit_box .ttl .txt_yellow {
    font-size: 1.0625em;
  }
  .credit_box > div {
    padding: 2.5% 5.5% 3%;
  }
  .credit_box.has_border > div {
    border-width: 2px;
  }
  .web_camp + .credit_box {
    margin-top: 6%;
  }
}
/*===============================================
 *	お悩み
===============================================*/
.problem .problem_ttl_box {
  background: var(--site-secondary);
}
.problem .problem_ttl_box .ttl {
  font-size: clamp(21px, 3.2vw, 42px);
  padding: 0.8em 0 0.9em;
}
.problem .problem_ttl_box .txt_yellow {
  border-bottom: 2px solid #fcee21;
  font-size: 1.24em;
}
.problem .problem_ttl_box img {
  width: 15%;
  max-width: 212px;
  margin-top: -2%;
  margin-left: 1%;
}
.problem .problem_content {
  background: url(../img/common/bg_stripe_02.png);
  position: relative;
}
.problem .problem_content .ttl {
  font-size: clamp(20px, 3vw, 40px);
  margin-top: -2%;
}
.problem .problem_content .ttl > span {
  position: relative;
}
.problem .problem_content .ttl > span::before, .problem .problem_content .ttl > span::after {
  content: "";
  width: 5%;
  max-width: 34px;
  height: 62px;
  position: absolute;
  bottom: 0;
}
.problem .problem_content .ttl > span::before {
  background: url(../img/common/line_blue_left.svg) no-repeat center bottom;
  background-size: contain;
  left: -9%;
}
.problem .problem_content .ttl > span::after {
  background: url(../img/common/line_blue_right.svg) no-repeat center bottom;
  background-size: contain;
  right: -9%;
}
.problem .problem_content .ttl .txt_keycolor {
  font-size: 1.15em;
}
.problem .problem_content .desc {
  font-size: clamp(16px, 1.8vw, 19px);
  margin: 2% 0 3%;
}
.problem .problem_content::after {
  content: "";
  display: block;
  height: 35px;
  width: 90px;
  background: url(../img/top/sankaku_stripe.png) no-repeat top center;
  background-size: contain;
  position: absolute;
  bottom: -34px;
  left: 50%;
  transform: translateX(-50%);
}
.problem .box_ttl{
  border-radius: 10px 10px 0 0;
  color: #fff;
  text-align: center;
  font-size: clamp(26px, 2.6vw, 36px);
  padding: 10px 0;
}
.problem .secondary_color{
  background: var(--site-secondary);
}
.problem .primary_color{
  background: var(--site-primary);
  margin-top: 40px;
}
.problem .problem_item {
  border: 4px solid var(--site-secondary);
  padding: clamp(20px, 3.4vw, 40px);
}
.problem .problem_item.primary_item{
  border: 4px solid var(--site-primary);

}
.problem .problem_item li {
  width: 50%;
  gap: 10px 4%;
}
.problem .problem_item li:nth-child(1) {
  border-bottom: 2px solid #c0cfe6;
  border-right: 2px solid #c0cfe6;
  padding: 0 0 2%;
}
.problem .problem_item li:nth-child(2) {
  border-bottom: 2px solid #c0cfe6;
  padding: 0 0 2% 3%;
}
.problem .problem_item li:nth-child(3) {
  border-right: 2px solid #c0cfe6;
  padding: 2% 0 0;
}
.problem .problem_item li:nth-child(4) {
  padding: 2% 0 0 3%;
}
.problem .problem_item li img {
  width: 25%;
}
.problem .problem_item li .problem_txt {
  background: url(../img/common/icon_check03.svg) no-repeat center left;
  background-size: 11% auto;
  padding-left: 9%;
  font-size: clamp(17px, 2.2vw, 24px);
  line-height: 1.5;
  font-weight: 900;
}
.problem .problem_item li .answer_txt {
  width: 100%;
  font-size: clamp(19px, 2.4vw, 28px);
  line-height: 1.5;
  font-weight: 900;
  background: url(../img/top/arrow_yellow.svg) no-repeat center left;
  background-size: 20% auto;
  padding-left: 23%;
}

@media only screen and (max-width: 1024px) {
  .problem .problem_item li img {
    width: 22%;
  }
}
@media only screen and (max-width: 568px) {
  .problem .problem_ttl_box {
    padding: 0 5.3vw;
    justify-content: space-between;
  }
  .problem .problem_ttl_box .ttl {
    font-size: 6.3vw;
    line-height: 1.65;
    padding: 0.2em 0 0.3em;
  }
  .problem .problem_ttl_box img {
    width: 33%;
    margin: -8% 0 0;
  }
  .problem .problem_content .ttl {
    font-size: 18px;
    margin-top: -4%;
  }
  .problem .problem_content .ttl > span::before {
    width: 6%;
  }
  .problem .problem_content .ttl > span::after {
    width: 6%;
  }
  .problem .problem_content .desc {
    font-size: 15px;
    text-align: left;
    margin: 3% 0 4%;
  }
  .problem .problem_content::after {
    width: 17.5%;
  }
  .problem .problem_item {
    border-width: 2px;
    padding: 1.5% 5%;
  }
  .problem .problem_item li {
    width: 100%;
    padding: 4% 0 !important;
    border: none !important;
    border-bottom: 1px solid #c0cfe6 !important;
    gap: 6px 4%;
  }
  .problem .problem_item li:nth-child(4) {
    border-bottom: none !important;
  }
  .problem .problem_item li img {
    width: 22.5%;
  }
  .problem .problem_item li .problem_txt {
    font-size: 4.3vw;
    background-size: 1.25em auto;
  }
  .problem .problem_item li .answer_txt {
    font-size: 4.8vw;
    background-size: 16% auto;
    padding-left: 19%;
  }
}
/*===============================================
 *	お任せください
===============================================*/
.solve_top {
  background: url(../img/top/solve_bg.png) no-repeat center;
  background-size: cover;
}
.solve_top .ttl_copy_set {
  font-size: clamp(20px, 3.6vw, 42px);
  margin-top: 3%;
  margin-bottom: 0;
}
.solve_top .ttl_copy_set .txt_yellow {
  font-size: 1.23em;
  border-bottom: 2px solid #fdee21;
}

.solve_content {
  background: url(../img/common/bg_wall.jpg) no-repeat;
  background-size: cover;
}
.solve_content .desc {
  font-size: clamp(16px, 1.8vw, 19px);
  margin: -1% 0 5%;
}
.solve_content .desc span {
  font-size: 1.2em;
  font-weight: bold;
}
.solve_content .solve_step li {
  width: 31.4%;
  background: #fff;
  position: relative;
  border-radius: 10px;
}
.solve_content .solve_step li .label {
  width: 22.7%;
  position: absolute;
  top: -8%;
  left: 50%;
  transform: translateX(-50%);
}
.solve_content .solve_step li .ttl {
  font-size: clamp(18px, 2.2vw, 27px);
  background: var(--site-secondary);
  padding: 11% 0 5%;
  border-radius: 10px 10px 0 0;
}
.solve_content .solve_step li p {
  padding: 8% 11.5% 10%;
}
.solve_content .solve_step li::after {
  content: "";
  background: url(../img/common/arrow_blue_down.svg) no-repeat;
  background-size: contain;
  width: 30px;
  height: 16px;
  position: absolute;
  right: -9%;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
}
.solve_content .solve_step li:last-child::after {
  content: none;
}

@media only screen and (max-width: 568px) {
  .solve_top {
    background: url(../img/top/solve_bg_sp.png) no-repeat top center;
    background-size: cover;
    padding-bottom: 7.5%;
  }
  .solve_top .ttl_copy_set {
    margin-top: 5.5%;
  }
  .solve_top .ttl_copy_set .main_txt {
    font-size: 6.7vw;
  }
  .solve_top .ttl_copy_set .txt_yellow {
    font-size: 1.16em;
  }
  .solve_top .top_img {
    margin: 0 -5.3vw;
  }
  .solve_content .desc {
    margin: -4.5% 0 12%;
  }
  .solve_content .solve_step {
    flex-direction: column;
    gap: 75px 0;
  }
  .solve_content .solve_step li {
    width: 100%;
  }
  .solve_content .solve_step li .label {
    width: 65px;
    top: -33px;
  }
  .solve_content .solve_step li .ttl {
    font-size: 21px;
    padding: 1.65em 0 0.65em;
  }
  .solve_content .solve_step li p {
    padding: 5% 7.5% 6.5%;
  }
  .solve_content .solve_step li::after {
    width: 48px;
    height: 25px;
    right: initial;
    left: 50%;
    top: initial;
    bottom: -34px;
    transform: translateX(-50%);
  }
}
/*===============================================
 *	選ばれる理由
===============================================*/
.reasons {
  background: url(../img/common/bg_stripe_03.png);
}
.reasons .reason_ttl {
  position: relative;
  z-index: 10;
  padding-bottom: 0.8%;
}
.reasons .reason_ttl::before {
  content: "";
  background: url(../img/top/reason_top_staff01.png) no-repeat center bottom;
  background-size: contain;
  width: 18.75%;
  max-width: 210px;
  height: 224px;
  position: absolute;
  left: 3%;
  bottom: 0;
  z-index: -1;
}
.reasons .reason_ttl::after {
  content: "";
  background: url(../img/top/reason_top_staff02.png) no-repeat center bottom;
  background-size: contain;
  width: 18.4%;
  max-width: 206px;
  height: 224px;
  position: absolute;
  right: 3%;
  bottom: 0;
  z-index: -1;
}
.reasons .ttl_copy_set {
  font-size: clamp(20px, 3.5vw, 40px);
  margin-bottom: 0;
}
.reasons .ttl_copy_set .main_txt {
  transform: skewX(-10deg);
  margin-top: -2%;
  text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
}
.reasons .ttl_copy_set .main_txt .txt_primarycolor {
  font-size: 1.5em;
  font-weight: 900;
}
.reasons .ttl_copy_set .main_txt .txt_keycolor {
  font-family: "Roboto";
  font-size: 1.6em;
  position: relative;
  top: 0.05em;
}
.reasons .reason_content {
  padding: 0 3.5%;
  border-radius: 10px;
}
.reasons .reason_content li {
  padding: 3.8% 0 3.8%;
  position: relative;
  align-items: flex-start;
}
.reasons .reason_content li img {
  width: 48.5%;
  border-radius: 5px;
}
.reasons .reason_content li .txt_box {
  width: 48.5%;
}
.reasons .reason_content li .num {
  font-family: "Roboto";
  font-size: clamp(34px, 4.5vw, 50px);
  transform: skewX(-10deg);
  display: inline-block;
  position: relative;
  padding: 0.12em 0.35em;
}
.reasons .reason_content li .num::before {
  content: "";
  background: var(--site-primary);
  width: 110%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  transform: skewX(10deg);
  clip-path: polygon(0% 0%, 85% 0, 100% 50%, 85% 100%, 0% 100%);
}
.reasons .reason_content li .ttl {
  font-size: clamp(18px, 2.2vw, 28px);
  margin: -0.25em 0 0.7em 1em;
}
.reasons .reason_content li:nth-child(even) {
  flex-direction: row-reverse;
}
.reasons .reason_content li::after {
  content: "";
  background: url(../img/common/line_dot.png) repeat-x;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.reasons .reason_content li:last-child::after {
  content: none;
}

@media only screen and (max-width: 568px) {
  .reasons .reason_ttl {
    padding-bottom: 3%;
  }
  .reasons .reason_ttl::before {
    content: none;
  }
  .reasons .reason_ttl::after {
    content: none;
  }
  .reasons .ttl_copy_set .main_txt {
    font-size: 6.4vw;
    line-height: 1.15;
    margin-top: 2.2%;
  }
  .reasons .ttl_copy_set .main_txt .txt_keycolor {
    font-size: 1.68em;
  }
  .reasons .reason_content {
    padding: 0 5.8%;
  }
  .reasons .reason_content li {
    flex-direction: column !important;
    padding: 6.6% 0 6%;
  }
  .reasons .reason_content li img {
    width: 100%;
  }
  .reasons .reason_content li .txt_box {
    width: 100%;
  }
  .reasons .reason_content li .txt_box > div {
    flex-direction: column;
    align-items: center;
  }
  .reasons .reason_content li .num {
    font-size: 30px;
    display: block;
    width: 100%;
    text-align: center;
    padding: 0;
    margin: 17px 0 10px;
  }
  .reasons .reason_content li .num::before {
    clip-path: none;
    width: 100%;
  }
  .reasons .reason_content li .ttl {
    font-size: 21px;
    text-align: center;
    margin: 0 0 5px;
  }
}
/*===============================================
 *	お客様の声・作業事例
===============================================*/
.case {
  background: url(../img/top/bg_room.jpg) no-repeat top center;
  background-size: cover;
}
.case .ttl_copy_set .main_txt {
  padding-left: 1.55em;
  background: url(../img/top/icon_chat.png) no-repeat left center;
  background-size: 1.15em auto;
}
.case .case_box {
  margin-bottom: 4.5%;
  background: #fff;
  border-radius: 10px;
}
.case .case_ttl,
.case_white .case_ttl {
  background: var(--site-primary);
  text-align: center;
  position: relative;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.case .case_ttl .label,
.case_white .case_ttl .label {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 14%;
  padding: 2% 0;
  z-index: 10;
}
.case .case_ttl .label::before,
.case_white .case_ttl .label::before {
  content: "";
  background: #005fc2;
  width: 112%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  clip-path: polygon(0 0, 100% 0, 86% 100%, 0% 100%);
}
.case .case_ttl .label img,
.case_white .case_ttl .label img {
  width: -moz-fit-content;
  width: fit-content;
  display: inline;
}
.case .case_ttl .ttl,
.case_white .case_ttl .ttl {
  font-size: clamp(24px, 3.6vw, 42px);
  line-height: 1;
  display: inline-block;
  padding: 0.5em 0 0.5em 1.8em;
}
.case .case_ttl .ttl .size,
.case_white .case_ttl .ttl .size {
  font-size: 0.88em;
}
.case .case_01 .ttl {
  background: url(../img/top/icon_case_shiroari.png) no-repeat center left;
  background-size: 1.42em;
}
.case .case_02 .ttl {
  background: url(../img/top/icon_case_hachi.png) no-repeat center left;
  background-size: 1.42em;
}
.case .case_03 .ttl {
  background: url(../img/top/icon_case_gokiburi.png) no-repeat center left;
  background-size: 1.42em;
}
.case .case_04 .ttl {
  background: url(../img/top/icon_case_nezumi.png) no-repeat center left;
  background-size: 1.42em;
}
.case .case_05 .ttl {
  background: url(../img/top/icon_case_koumori.png) no-repeat center left;
  background-size: 1.42em;
}
.case .case_content,
.case_white .case_content {
  border: 4px solid var(--site-primary);
  border-top: none;
  padding: clamp(20px, 3.4vw, 40px);
  border-radius: 0 0 10px 10px;
}
.case .case_content .txt_caution,
.case_white .case_content .txt_caution {
  margin-top: 1em;
  font-size: 15px;
}
.case .case_content .price_txt,
.case_white .case_content .price_txt{
  font-size: 17px;
}
.case .case_photo,
.case_white .case_photo {
  width: 48.2%;
  border-radius: 5px;
}
.case .case_info,
.case_white .case_info {
  width: 48.2%;
}
.case .case_info .desc,
.case_white .case_info .desc {
  font-size: clamp(16px, 1.8vw, 19px);
  margin-top: -1.5%;
}
.case .case_info .total_price,
.case_white .case_info .total_price {
  font-size: clamp(23px, 2.6vw, 32px);
  font-weight: 900;
  margin: 2% 0 1.5%;
}
.case .case_info .total_price .price_ttl,
.case_white .case_info .total_price .price_ttl {
  font-size: 0.625em;
  background: var(--site-keycolor);
  padding: 0.35em 1.1em 0.4em;
  margin-right: 0.85em;
  position: relative;
  top: -0.15em;
}
.case .case_info .total_price .price_ttl .size,
.case_white .case_info .total_price .price_ttl .size {
  font-size: 0.8em;
}
.case .case_info .total_price .yen,
.case_white .case_info .total_price .yen {
  font-size: 0.75em;
}
.case .detail_table,
.case_white .detail_table {
  width: 100%;
  border-collapse: separate;
  border-radius: 5px;
  overflow: hidden;
}
.case .detail_table th,
.case_white .detail_table th {
  background: var(--site-secondary);
  color: #fff;
  border-bottom: 1px solid #fff;
  text-align: center;
  font-weight: 900;
  width: 25%;
  padding: 0.35em 0 0.4em;
}
.case .detail_table td,
.case_white .detail_table td  {
  border: 1px solid #c0cfe6;
  border-bottom: none;
  padding: 0.35em 1em 0.4em;
}
.case .detail_table td .size,
.case_white .detail_table td .size {
  font-size: 0.88em;
}
.case .detail_table tr:first-of-type td,
.case_white .detail_table tr:first-of-type td {
  border-radius: 0 5px 0 0;
}
.case .detail_table tr:last-of-type th,
.case_white .detail_table tr:last-of-type th {
  border-bottom: none;
}
.case .detail_table tr:last-of-type td,
.case_white .detail_table tr:last-of-type td {
  border-radius: 0 0 5px 0;
  border-bottom: 1px solid #c0cfe6;
}
.case .voice_box,
.case_white .voice_box {
  background: var(--site-palecolor);
  border-radius: 5px;
  display: grid;
  grid-template-columns: 13.4% auto;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 3%;
       column-gap: 3%;
  padding: 2.75% 3%;
  margin-top: 3%;
}
.case .voice_box img,
.case_white .voice_box img {
  grid-column: 1;
  grid-row: 1/-1;
}
.case .voice_box .voice_ttl,
.case_white .voice_box .voice_ttl {
  grid-column: 2;
  grid-row: 1;
  border-bottom: 2px solid #c0cfe6;
  font-size: clamp(20px, 2vw, 28px);
  padding-bottom: 0.25em;
  margin-bottom: 0.45em;
  position: relative;
}
.case .voice_box .voice_ttl span,
.case_white .voice_box .voice_ttl span {
  color: #333;
  font-size: 0.72em;
  padding-left: 0.5em;
}
.case .voice_box .voice_ttl::before,
.case_white .voice_box .voice_ttl::before {
  content: "■";
  color: var(--site-secondary);
  display: inline-block;
  font-size: 0.5em;
  position: relative;
  top: -0.35em;
  margin-right: 0.5em;
}
.case .voice_box p,
.case_white .voice_box p {
  grid-column: 2;
  grid-row: 2;
}

@media only screen and (max-width: 960px) {
  .case .case_ttl .label,
  .case_white .case_ttl .label {
    width: 17%;
  }
  .case .case_ttl .label img,
  .case_white .case_ttl .label img {
    width: 80%;
  }
}
@media only screen and (max-width: 568px) {
  .case {
    background: url(../img/top/bg_room_sp.jpg) no-repeat top center;
    background-size: cover;
  }
  .case .inner {
    width: 100%;
  }
  .case .ttl_copy_set .main_txt {
    background-size: 1.55em auto;
    padding-left: 1.85em;
  }
  .case .case_box {
    margin-bottom: 0;
    margin: 0 5.3vw 0;
  }
  .case .case_ttl .label,
  .case_white .case_ttl .label {
    position: relative;
    display: block;
    width: 100%;
    padding: 3.5% 0;
  }
  .case .case_ttl .label::before,
  .case_white .case_ttl .label::before {
    clip-path: none;
    width: 100%;
  }
  .case .case_ttl .label::after,
  .case_white .case_ttl .label::after {
    content: "";
    background: #005fc2;
    display: block;
    width: 14px;
    height: 10px;
    position: absolute;
    left: 50%;
    bottom: -9px;
    transform: translateX(-50%);
    clip-path: polygon(0 0, 50% 100%, 98% 0);
    z-index: 10;
  }
  .case .case_ttl .label img,
  .case_white .case_ttl .label img {
    width: 24%;
    margin: 0 auto;
  }
  .case .case_ttl .ttl,
  .case_white .case_ttl .ttl {
    padding: 0.65em 0 0.65em 2.1em;
    background-size: 1.66em;
  }
  .case .case_content,
  .case_white .case_content {
    border-width: 2px;
  }
  .case .case_content > .row-rev,
  .case_white .case_content > .row-rev {
    flex-direction: column;
  }
  .case .case_photo,
  .case_white .case_photo {
    width: 100%;
    margin-bottom: 15px;
  }
  .case .case_info,
  .case_white .case_info {
    width: 100%;
  }
  .case .case_info .desc,
  .case_white .case_info .desc {
    font-size: 15px;
  }
  .case .case_info .total_price,
  .case_white .case_info .total_price {
    font-size: 21px;
    margin: 4% 0 3.5%;
  }
  .case .case_info .total_price .price_ttl,
  .case_white .case_info .total_price .price_ttl {
    font-size: 0.9em;
    padding: 0.1em 0.2em 0.15em 0.5em;
    margin-right: 0.65em;
  }
  .case .case_info .total_price .price_ttl .size,
  .case_white .case_info .total_price .price_ttl .size {
    font-size: 0.75em;
  }
  .case .detail_table th,
  .case_white .detail_table th {
    width: 28%;
    padding: 0.65em 0 0.6em;
  }
  .case .detail_table td,
  .case_white .detail_table td {
    padding: 0.65em 0.75em 0.6em;
    line-height: 1.35;
  }
  .case .voice_box,
  .case_white .voice_box {
    grid-template-columns: 65px auto;
    padding: 5% 6%;
    margin-top: 5.5%;
  }
  .case .voice_box img,
  .case_white .voice_box img {
    grid-row: 1;
  }
  .case .voice_box .voice_ttl,
  .case_white .voice_box .voice_ttl {
    font-size: 21px;
    line-height: 1.25;
    padding-bottom: 0.5em;
    margin-bottom: 0.85em;
  }
  .case .voice_box .voice_ttl::before,
  .case_white .voice_box .voice_ttl::before {
    font-size: 0.65em;
    top: -0.15em;
  }
  .case .voice_box .voice_ttl span,
  .case_white .voice_box .voice_ttl span {
    font-size: 0.82em;
    padding-left: 1.4em;
  }
  .case .voice_box p,
  .case_white .voice_box p {
    grid-column: 1/-1;
  }
  .case .btn_wrapper,
  .case_white .btn_wrapper {
    width: 89.4vw;
    margin: 25px auto 0;
  }
  .case .btn_normal,
  .case_white .btn_normal {
    background: url(../img/common/btn_bg_sp02.png) no-repeat center;
    background-size: cover;
    line-height: 1.4;
    padding: 0.75em 0 0.95em;
  }
}
.slider_wrapper button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

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

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

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

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

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

@media only screen and (max-width: 1024px) {
  .slider_wrapper button.arrow-next {
    right: 6%;
  }
  .slider_wrapper button.arrow-prev {
    left: 6%;
  }
}
@media only screen and (max-width: 960px) {
  .slider_wrapper button.arrow-next {
    right: 3%;
  }
  .slider_wrapper button.arrow-prev {
    left: 3%;
  }
}
@media only screen and (max-width: 568px) {
  .slider_wrapper button.arrow-common {
    width: 25px;
    height: 25px;
    top: 21.5%;
    transform: none;
  }
  .slider_wrapper button.arrow-next {
    right: 2.5%;
  }
  .slider_wrapper button.arrow-prev {
    left: 2.5%;
  }
  .slider02 .slider-img {
    opacity: 1;
    transform: none;
  }
}
/*===============================================
 *	料金の目安
===============================================*/
.price {
  background: url(../img/common/bg_stripe_02.png);
}
.price .ttl_copy_set .main_txt {
  padding-left: 1.25em;
  background: url(../img/top/icon_calc.png) no-repeat left center;
  background-size: 0.84em auto;
}
.price .credit_box {
  margin-top: 4%;
}

.price_table_wrapper {
  margin-bottom: 3.5%;
}

.basic_table.price_table {
  margin-bottom: 1.5%;
}
.basic_table.price_table tbody th .name {
  font-size: clamp(15px, 1.6vw, 20px);
  font-weight: 900;
  transform: skewX(-10deg);
  line-height: 1.3;
  padding: 0.25em 0 0.35em;
  position: relative;
  z-index: 10;
}
.basic_table.price_table tbody th .name::before {
  content: "";
  background: rgba(253, 238, 33, 0.3);
  display: block;
  width: 100%;
  height: 100%;
  transform: skewX(10deg);
  z-index: -1;
  position: absolute;
  left: 0;
  top: 0;
}
.basic_table.price_table tbody th .name span {
  font-size: 0.75em;
  color: #7a7a7a;
  padding-left: 0.35em;
}
.basic_table.price_table tbody th img {
  width: 38%;
  margin: 5% 0 6%;
}
.basic_table.price_table tbody th .yen {
  font-size: 0.86em;
}
.basic_table.price_table tbody td .txt_keycolor {
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 900;
}
.basic_table.price_table tbody td .txt_keycolor .yen {
  font-size: 0.75em;
}
.basic_table.price_table tbody td:first-of-type {
  width: 25%;
}
.basic_table.price_table tbody td:last-of-type {
  width: 50%;
  padding: 0 3%;
}

@media only screen and (max-width: 568px) {
  .price .credit_box {
    margin-top: 6%;
  }
  .price_table_wrapper {
    margin: 0 -5.3vw 6.5%;
  }
  .price_table_wrapper .annotation_txt {
    margin-left: 5.3vw;
  }
  .basic_table.price_table tbody th {
    border-radius: 0 !important;
  }
  .basic_table.price_table tbody th > div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
  }
  .basic_table.price_table tbody th img {
    width: 60%;
  }
  .basic_table.price_table tbody th .name {
    font-size: 14px;
    width: 100%;
    margin-top: auto;
  }
  .basic_table.price_table tbody td {
    font-size: 13px;
    border-radius: 0 !important;
    padding: 0;
  }
  .basic_table.price_table tbody td .txt_keycolor {
    font-size: 16px;
  }
}
/*===============================================
 *	害虫をそのままにしておくリスク
===============================================*/
.risk {
  background: url(../img/common/bg_wall.jpg);
  background-size: cover;
}
.risk .ttl_copy_set .main_txt {
  background: url(../img/top/icon_warning.png) no-repeat left center;
  background-size: 1.27em;
  padding-left: 1.6em;
}
.risk .desc {
  font-size: clamp(15px, 1.8vw, 19px);
  margin: -1% 0 6.5%;
}
.risk .desc .txt_keycolor {
  font-size: 1.2em;
}
.risk .risk_list li {
  width: 31.4%;
  background: #fff;
  position: relative;
  border-radius: 10px;
}
.risk .risk_list li .label {
  width: 22.7%;
  position: absolute;
  top: -8%;
  left: 50%;
  transform: translateX(-50%);
}
.risk .risk_list li .ttl {
  font-size: clamp(18px, 2.2vw, 27px);
  background: var(--site-primary);
  padding: 11% 0 5%;
  border-radius: 10px 10px 0 0;
}
.risk .risk_list li p {
  padding: 8% 11.5% 10%;
}

@media only screen and (max-width: 568px) {
  .risk .ttl_copy_set .sub_txt {
    padding: 0.52em 2.5em;
  }
  .risk .ttl_copy_set .sub_txt::before {
    left: 5%;
  }
  .risk .ttl_copy_set .sub_txt::after {
    right: 5%;
  }
  .risk .ttl_copy_set .main_txt {
    background-size: 1.62em;
    padding-left: 1.7em;
  }
  .risk .desc .txt_keycolor {
    font-size: 1.13em;
    margin: -1% 0 15%;
  }
  .risk .risk_list {
    flex-direction: column;
    gap: 42px 0;
    margin-top: 15%;
  }
  .risk .risk_list li {
    width: 100%;
  }
  .risk .risk_list li .label {
    width: 65px;
    top: -33px;
  }
  .risk .risk_list li .ttl {
    font-size: 21px;
    padding: 1.65em 0 0.65em;
  }
  .risk .risk_list li p {
    padding: 5% 7.5% 6.5%;
  }
  .risk .risk_list li::after {
    width: 48px;
    height: 25px;
    right: initial;
    left: 50%;
    top: initial;
    bottom: -34px;
    transform: translateX(-50%);
  }
}
/*===============================================
 *	よくあるご質問
===============================================*/
.faq .ttl_copy_set .main_txt {
  background: url(../img/top/icon_faq.png) no-repeat left center;
  background-size: 1.46em;
  padding-left: 1.75em;
}

.faq_acc {
  background: var(--site-palecolor);
  border-radius: 15px;
  margin-bottom: 1.75%;
}
.faq_acc summary {
  color: var(--site-secondary);
  padding: 3.2% 5% 2.2%;
}
.faq_acc summary .question {
  color: var(--site-secondary);
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 900;
}
.faq_acc .icon {
  font-family: "Roboto";
  font-size: clamp(25px, 2.6vw, 32px);
  margin-right: 0.25em;
  position: relative;
  top: -0.3em;
}
.faq_acc .answer {
  padding: 0 5% 3%;
  margin-top: -2%;
}
.faq_acc .answer .icon {
  color: #eb6168;
  top: -0.4em;
}
.faq_acc .answer a {
  color: var(--site-secondary);
  font-weight: bold;
}
.faq_acc .acc_plus {
  display: inline-block;
  vertical-align: middle;
  color: var(--site-secondary);
  line-height: 1;
  min-width: 28px;
  height: 4px;
  background-color: var(--site-secondary);
  margin-left: auto;
  position: relative;
  border-radius: 10px;
  align-self: center;
}
.faq_acc .acc_plus::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
  transition: 0.3s;
}
.faq_acc[open] .acc_plus::before {
  transform: rotate(0);
}

@media only screen and (max-width: 568px) {
  .faq .ttl_copy_set .main_txt {
    background-size: 1.77em;
    padding-left: 2.1em;
  }
  .faq_acc {
    border-radius: 10px;
    margin-bottom: 4.5%;
  }
  .faq_acc summary {
    padding: 5% 5% 5%;
  }
  .faq_acc summary p {
    font-size: 17px;
    line-height: 1.5;
  }
  .faq_acc .acc_plus {
    min-width: 22px;
    height: 3px;
    margin-left: 5px;
  }
  .faq_acc .answer {
    padding: 0 16.5% 5% 5%;
  }
}
/*===============================================
 *	ご依頼の流れ
===============================================*/
.flow {
  background: url(../img/top/bg_city.jpg) no-repeat top center;
  background-size: cover;
}
.flow .ttl_copy_set .main_txt {
  background: url(../img/top/icon_spray.png) no-repeat left center;
  background-size: 1.03em;
  padding-left: 1.35em;
}

.flow_list li {
  width: 22.8%;
  background: #fff;
  border-radius: 10px;
  padding: 2.8% 3% 3%;
  position: relative;
  z-index: 1;
}
.flow_list li img {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
.flow_list li .ttl {
  font-size: clamp(21px, 2.4vw, 27px);
  transform: skewX(-10deg);
  line-height: 1.4;
  margin: 12% -10% 3.5%;
}
.flow_list li .ttl .size {
  font-size: 0.63em;
  display: block;
  margin-top: 0.3em;
}
.flow_list li .ttl:has(.size) {
  margin-bottom: 8.5%;
}
.flow_list li::after {
  content: "";
  background: url(../img/common/arrow_blue_down.svg) no-repeat;
  background-size: contain;
  width: 30px;
  height: 16px;
  position: absolute;
  right: -13%;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
}
.flow_list li:last-child::after {
  content: none;
}
.flow_list li .num {
  font-family: "Roboto";
  font-size: clamp(65px, 7.2vw, 80px);
  color: rgba(0, 71, 145, 0.2);
  position: absolute;
  right: 8%;
  bottom: 2.2%;
  z-index: -1;
  transform: skew(-10deg);
}

@media only screen and (max-width: 568px) {
  .flow {
    background: url(../img/top/bg_city_sp.jpg) no-repeat;
    background-size: cover;
  }
  .flow .ttl_copy_set .main_txt {
    background-size: 1.29em;
    padding-left: 1.5em;
  }
  .flow_list {
    flex-direction: column;
    gap: 26px 0;
  }
  .flow_list li {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px 0;
    padding: 6% 6% 5.5%;
  }
  .flow_list li img {
    width: 95px;
  }
  .flow_list li .ttl {
    width: calc(100% - 95px);
    padding-left: 4%;
    margin: 0 !important;
    line-height: 1.5;
  }
  .flow_list li .ttl .size {
    font-size: 0.71em;
  }
  .flow_list li p {
    width: 100%;
  }
  .flow_list li .num {
    right: 5%;
    bottom: 3.2%;
  }
  .flow_list li::after {
    width: 30px;
    height: 16px;
    right: initial;
    left: 50%;
    top: initial;
    bottom: -21px;
    transform: translateX(-50%);
  }
}
/*===============================================
 *	対応エリア
===============================================*/
.area {
  background: url(../img/common/bg_map.png) no-repeat top center, url(../img/common/bg_stripe_03.png);
  background-size: auto, auto;
}
.area .ttl_copy_set {
  margin-bottom: 0;
}
.area .ttl_copy_set .main_txt {
  background: url(../img/top/icon_pin.png) no-repeat left center;
  background-size: 0.96em;
  padding-left: 1.4em;
}
.area .area_ttl {
  position: relative;
  z-index: 10;
  padding-bottom: 2.5%;
}
.area .area_ttl::before {
  content: "";
  background: url(../img/top/area_staff_01.png) no-repeat center bottom;
  background-size: contain;
  width: 18.75%;
  max-width: 210px;
  height: 176px;
  position: absolute;
  left: 3%;
  bottom: 0;
  z-index: -1;
}
.area .area_ttl::after {
  content: "";
  background: url(../img/top/area_staff_02.png) no-repeat center bottom;
  background-size: contain;
  width: 18.4%;
  max-width: 204px;
  height: 174px;
  position: absolute;
  right: 3%;
  bottom: 0;
  z-index: -1;
}
.area .area_content {
  border-radius: 10px;
  padding: 4% 3.6%;
}
.area .area_content .txt_box {
  width: 69.2%;
}
.area .area_content .txt_box .ttl {
  font-size: clamp(21px, 2.8vw, 35px);
  margin: -1% 0 2%;
}
.area .area_content .map_illust {
  width: 27.2%;
}
.area .area_content .notice_txt {
  font-size: clamp(17px, 1.8vw, 20px);
  color: #21b2b7;
  margin: 1.5% 0 1.5%;
}
.area .area_content .notice_txt span {
  position: relative;
}
.area .area_content .notice_txt span::before, .area .area_content .notice_txt span::after {
  content: "";
  width: 0.64em;
  height: 40px;
  position: absolute;
  top: 0.2em;
}
.area .area_content .notice_txt span::before {
  background: url(../img/common/line_green_left.svg) no-repeat;
  background-size: contain;
  left: -1.5em;
}
.area .area_content .notice_txt span::after {
  background: url(../img/common/line_green_right.svg) no-repeat;
  background-size: contain;
  right: -1.5em;
}
.area .area_content .area_list_wrap {
  background: url(../img/common/bg_dot.png);
  padding: 2% 2.8%;
}
.area .area_content .list_top {
  font-size: clamp(17px, 2.5vw, 30px);
  font-weight: 900;
  background: #21b2b7;
  padding: 0.25em 0;
  position: relative;
  cursor: pointer;
}
.area .area_content .list_top::before, .area .area_content .list_top::after {
  content: "";
  background: #fff;
  border-radius: 10px;
  display: block;
  position: absolute;
}
.area .area_content .list_top::before {
  width: 28px;
  height: 4px;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}
.area .area_content .list_top::after {
  width: 4px;
  height: 28px;
  right: 42px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.area .area_content .list_top:not(.close)::after {
  transform: translateY(-50%) rotate(-90deg);
}
.area .area_content .area_list {
  background: #e8f7f8;
  padding: 3% 6%;
  border: 4px solid #21b2b7;
  border-top: none;
  display: none;
}
.area .area_content .area_list li {
  font-size: clamp(14px, 1.5vw, 17px);
  width: 22%;
  padding-left: 2%;
  position: relative;
  float: left;
  margin: 0 4% 16px 0;
}
.area .area_content .area_list li:nth-child(4n) {
  margin-right: 0;
}
.area .area_content .area_list li a {
  color: #333;
}
.area .area_content .area_list li a::before {
  content: "";
  background: url(../img/common/icon_sankaku_right_green.svg) no-repeat;
  background-size: contain;
  width: 8px;
  height: 11px;
  position: absolute;
  left: 0;
  top: 8px;
}
.area .area_content .area_list li a:hover {
  color: #21b2b7;
}

@media only screen and (max-width: 568px) {
  .area {
    background: url(../img/common/bg_map_sp.png) no-repeat top center, url(../img/common/bg_stripe_03.png);
    background-size: auto, 4%;
  }
  .area .area_ttl {
    padding-bottom: 4%;
  }
  .area .area_ttl::before {
    background: url(../img/top/area_staff_01_sp.png) no-repeat center bottom;
    background-size: contain;
    width: 26%;
    left: -5%;
    bottom: -34%;
  }
  .area .area_ttl::after {
    background: url(../img/top/area_staff_02_sp.png) no-repeat center bottom;
    background-size: contain;
    width: 25.3%;
    right: -5%;
    bottom: -31%;
  }
  .area .ttl_copy_set .main_txt {
    background-size: 1.01em;
    padding-left: 1.35em;
  }
  .area .area_content {
    padding: 6% 6% 0;
    overflow: hidden;
    position: relative;
    z-index: 10;
  }
  .area .area_content .intro_area {
    flex-direction: column;
    align-items: center;
  }
  .area .area_content .txt_box {
    width: 100%;
  }
  .area .area_content .txt_box .ttl {
    text-align: center;
    margin-bottom: 3%;
  }
  .area .area_content .map_illust {
    width: 75%;
    margin-top: 4%;
  }
  .area .area_content .notice_txt {
    line-height: 1.5;
    margin: 5.5% 0 3.5%;
  }
  .area .area_content .notice_txt span {
    display: inline-block;
  }
  .area .area_content .notice_txt span::before, .area .area_content .notice_txt span::after {
    width: 1.4em;
    height: 40px;
  }
  .area .area_content .notice_txt span::before {
    left: -1.95em;
  }
  .area .area_content .notice_txt span::after {
    right: -1.95em;
  }
  .area .area_content .area_list_wrap {
    margin: 0 -6.9%;
    padding: 5%;
  }
  .area .area_content .list_top {
    text-align: left;
    padding: 0.65em 0 0.65em 1em;
  }
  .area .area_content .list_top::before {
    width: 19px;
    height: 3px;
    right: 20px;
  }
  .area .area_content .list_top::after {
    width: 3px;
    height: 18px;
    right: 28px;
  }
  .area .area_content .area_list {
    border-width: 2px;
    padding: 4% 5% 2%;
  }
  .area .area_content .area_list li {
    width: 48%;
    margin: 0 2% 10px 0 !important;
    padding-left: 5%;
  }
  .area .area_content .area_list li:nth-child(even) {
    margin-right: 0;
  }
  .area .area_content .area_list li a::before {
    width: 7px;
    height: 10px;
    top: 5px;
  }
}
/*===============================================
 *	会社概要
===============================================*/
.company .ttl_copy_set .main_txt {
  background: url(../img/top/icon_building.png) no-repeat left center;
  background-size: 1.17em;
  padding-left: 1.55em;
}
.company .desc {
  font-size: clamp(17px, 1.8vw, 19px);
  margin-bottom: 3%;
}
.company .desc .txt_keycolor {
  font-size: 1.2em;
  font-weight: 900;
}
.company .company_info {
  background: url(../img/common/bg_stripe_02.png);
}

.company_table {
  width: 100%;
  border-collapse: separate;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.company_table th {
  width: 26.8%;
  background: var(--site-primary);
  color: #fff;
  font-weight: bold;
  vertical-align: top;
  padding: 1.35em 2em;
  border-bottom: 2px solid #e5eefe;
}
.company_table td {
  padding: 1.35em 2em;
  border-bottom: 2px solid #e5eefe;
}
.company_table .map {
  margin-top: 10px;
}
.company_table iframe {
  width: 100%;
  height: 220px;
}

@media only screen and (max-width: 568px) {
  .company .ttl_copy_set .main_txt {
    background-size: 1.31em;
    padding-left: 1.65em;
  }
  .company .desc {
    margin-bottom: 5%;
  }
  .company .desc .txt_keycolor {
    font-size: 1.12em;
    margin-bottom: 5.5%;
  }
  .company_table th {
    font-size: 17px;
    display: block;
    width: 100%;
    border: none;
    padding: 0.6em 1.2em;
  }
  .company_table td {
    font-size: 14px;
    line-height: 1.75;
    display: block;
    border: none;
    padding: 0.85em 1.4em;
  }
  .company_table .map iframe {
    height: 110px;
  }
}
/*===============================================
 *	フッター
===============================================*/
.footer {
  background: var(--site-palecolor);
  padding-bottom: clamp(50px, 8.5vw, 100px);
}

.footer .footer_menu_area .inner {
  display: grid;
  grid-template-columns: 33.1% auto;
  grid-template-rows: auto auto 1fr;
  -moz-column-gap: 7%;
       column-gap: 7%;
}

.footer .footer_menu_area .logo {
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 40px;
}

.footer .footer_menu_area .logo img {
  max-width: 480px;
}

.footer .footer_menu_area .company_box {
  grid-column: 1;
  grid-row: 2;
  background: #fff;
  padding: 6.5% 10% 5%;
  align-self: flex-start;
  border-radius: 5px;
  font-size: 16px;
}

.footer .footer_menu_area .company_box .name {
  font-size: clamp(16px, 1.8vw, 20px);
  font-weight: 900;
  margin-bottom: 0.5em;
}

.footer .footer_menu_area .company_box ul {
  margin-top: 3%;
}

.footer .footer_menu_area .company_box ul li {
  margin-bottom: 6px;
  line-height: 1.65;
}

.footer .footer_menu_area .company_box ul li a {
  color: #333;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.footer .footer_menu_area .company_box ul li a:hover {
  color: var(--site-secondary);
}

.footer .footer_menu_area .company_box ul li::before {
  content: "";
  display: inline-block;
  background: var(--site-secondary);
  width: 6px;
  height: 6px;
  position: relative;
  top: -2px;
  margin-right: 7px;
}

.footer .footer_menu_area .ft_menu {
  grid-column: 2;
  grid-row: 2/3;
  margin-top: -1%;
}

.footer .footer_menu_area .ft_menu .menu_top {
  font-size: clamp(14px, 1.6vw, 18px);
  font-weight: bold;
  margin-bottom: 10px;
}

.footer .footer_menu_area .ft_menu .menu_top::before {
  content: "";
  background: var(--site-secondary);
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 10px;
  margin-right: 10px;
}

.footer .footer_menu_area .ft_menu li {
  font-size: 15px;
  margin: 0 0 10px 25px;
  text-indent: -1em;
  padding-left: 1em;
}

.footer .footer_menu_area .ft_menu li a {
  padding-left: 16px;
  position: relative;
  color: #333;
}

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

.footer .footer_menu_area .ft_menu li a:hover {
  color: var(--site-secondary);
}

.footer .footer_menu_area .home_link {
  font-size: 18px;
  font-weight: bold;
  background: url(../img/common/icon_home.png) no-repeat center left;
  background-size: 19px 19px;
  padding-left: 28px;
  margin-bottom: 15px;
}
.footer .footer_menu_area .home_link a {
  color: var(--site-secondary);
}

.footer .link_area {
  grid-column: 1/-1;
  grid-row: 3;
  margin-top: 3%;
}
.footer .link_area .ttl {
  font-size: 18px;
  font-weight: bold;
  background: #d3e6f4;
  padding: 0.25em 0;
  margin-bottom: 1.4em;
}
.footer .link_area ul {
  gap: 20px 2%;
}
.footer .link_area ul li {
  width: 23.5%;
}
.footer .copyright {
  background: var(--site-secondary);
  font-size: 15px;
  padding: 1.5em 0;
}
.footer .copyright a {
  color: #fff;
}

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

.footer .pagetop a {
  display: block;
  background: #222;
  text-align: center;
  width: 60px;
  height: 60px;
  border-radius: 30px;
}

.footer .pagetop a:hover {
  background: #444;
}

.footer .pagetop img {
  width: 17px;
  position: relative;
  top: 9px;
}

@media only screen and (max-width: 960px) {
  .footer .footer_menu_area .ft_menu .menu_wrapper {
    flex-direction: column;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 568px) {
  .footer {
    padding-bottom: 99px;
  }
  .footer .footer_menu_area .inner {
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto auto;
  }
  .footer .footer_menu_area .logo {
    width: 80%;
    margin: 0 auto 25px;
  }
  .footer .footer_menu_area .company_box {
    grid-row: 4;
    padding: 4% 5.7% 3%;
    font-size: 14px;
    margin-top: 25px;
  }
  .footer .footer_menu_area .company_box .name {
    font-size: 19px;
    margin-bottom: 0.1em;
  }
  .footer .footer_menu_area .company_box ul {
    margin-top: 1.5%;
  }
  .footer .footer_menu_area .ft_menu {
    grid-column: 1;
    grid-row: 2;
    margin: 0 -5.3vw;
  }
  .footer .footer_menu_area .ft_menu .menu_top {
    font-size: 20px;
    color: #fff;
    background: var(--site-secondary);
    text-align: center;
    padding: 0.4em 0;
    margin: 0;
  }
  .footer .footer_menu_area .ft_menu .menu_top::before {
    content: none;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul {
    margin: 0;
    border-top: 1px solid #c0cfe6;
    border-bottom: 1px solid #c0cfe6;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li {
    width: 50%;
    margin: 0;
    border-bottom: 1px solid #c0cfe6;
    text-indent: 0;
    padding-left: 0;
    font-size: 14px;
    line-height: 1.3;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li:nth-child(odd) {
    border-right: 1px solid #c0cfe6;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li:nth-last-of-type(1), .footer .footer_menu_area .ft_menu .menu_wrapper ul li:nth-child(odd):nth-last-of-type(2) {
    border-bottom: none;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li a {
    width: 100%;
    min-height: 50px;
    height: 100%;
    display: flex;
    align-items: center;
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul li a::before {
    width: 9px;
    height: 13px;
    left: initial;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
  .footer .footer_menu_area .ft_menu .menu_wrapper ul .txt_length a {
    padding: 0.75em 0 0.75em 16px;
  }
  .footer .footer_menu_area .company_info {
    margin-top: 35px;
    padding: 15px 20px 20px;
  }
  .footer .footer_menu_area .company_info .name {
    font-size: 18px;
  }
  .footer .footer_menu_area .company_info ul li {
    margin-bottom: 10px;
  }
  .footer .footer_menu_area .company_info ul li span::before {
    width: 8px;
    height: 8px;
  }
  .footer .link_area {
    margin: 0;
  }
  .footer .link_area .ttl {
    font-size: 20px;
    padding: 0.35em 0;
    margin: 0 -5.3vw 1em;
  }
  .footer .link_area ul {
    gap: 15px 3.5%;
  }
  .footer .link_area ul li {
    width: 48%;
  }
  .footer .copyright {
    padding: 1.4em 0;
    font-size: 11px;
  }
  .footer .pagetop {
    position: static;
  }
  .footer .pagetop a {
    width: 100%;
    height: auto;
    padding: 12px 0;
    border-radius: 0;
  }
  .footer .pagetop img {
    top: -5px;
  }
}
/*===============================================
 *	固定フッター
===============================================*/
.footer_cv {
  background: var(--site-primary);
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  padding: 0.95% 0;
  display: none;
}
.footer_cv .inner {
  max-width: 1300px;
}
.footer_cv .logo {
  width: 28%;
}
.footer_cv .tel_box {
  margin-left: auto;
  justify-content: flex-end;
}
.footer_cv .tel_box .tel_number {
  color: #fff;
}
.footer_cv .tel_box .under {
  color: #fff;
}
.footer_cv .tel_box .under .txt_01 .txt_keycolor {
  color: #fff !important;
}
.footer_cv .mail {
  width: 11.8%;
  margin-left: 2.3%;
}
.footer_cv .line {
  width: 11.8%;
  margin-left: 0.85%;
}

@media only screen and (max-width: 568px) {
  .footer_cv {
    padding: 5px 0 10px;
  }
  .footer_cv .inner {
    flex-wrap: wrap;
    width: 94.6%;
    justify-content: space-between;
  }
  .footer_cv .camp_txt {
    font-size: 15px;
    font-weight: 900;
    width: 100%;
    margin-bottom: 3px;
  }
  .footer_cv .camp_txt > span {
    position: relative;
  }
  .footer_cv .camp_txt > span::before, .footer_cv .camp_txt > span::after {
    content: "";
    width: 16px;
    height: 19px;
    position: absolute;
    bottom: 0;
  }
  .footer_cv .camp_txt > span::before {
    background: url(../img/common/camp_txt_deco_left.png) no-repeat;
    background-size: contain;
    left: -22px;
  }
  .footer_cv .camp_txt > span::after {
    background: url(../img/common/camp_txt_deco_right.png) no-repeat;
    background-size: contain;
    right: -20px;
  }
  .footer_cv .tel_box_sp {
    width: 47.8vw;
  }
  .footer_cv .tel_btn {
    color: #fff;
    background: url(../img/common/tel_btn_bg.png) no-repeat;
    background-size: 100% auto;
    text-align: center;
    padding: 1% 0 3.5%;
  }
  .footer_cv .tel_btn .tel_number {
    font-family: "Roboto";
    font-size: 5.5vw;
    font-weight: bold;
    position: relative;
    padding-left: 3.5vw;
  }
  .footer_cv .tel_btn .tel_number::before {
    content: "";
    background: url(../img/common/cta_icon_tel.png) no-repeat;
    background-size: contain;
    width: 18px;
    height: 20px;
    position: absolute;
    left: -2.2vw;
    top: 3px;
  }
  .footer_cv .tel_btn .under {
    margin-top: -4px;
    font-weight: bold;
  }
  .footer_cv .tel_btn .under .txt_01 {
    font-size: 2.2vw;
    color: #fc594c;
    background: #fff;
    display: inline-block;
    padding: 0.1em 0.5em;
    margin-right: 5px;
  }
  .footer_cv .tel_btn .under .txt_02 {
    font-size: 2.6vw;
  }
  .footer_cv .mail {
    margin: 0;
    width: 23.3%;
  }
  .footer_cv .line {
    margin: 0;
    width: 23.3%;
  }
}
/*===============================================
 *	地域ページ イントロセクション
===============================================*/
.area_intro {
  background: url(../img/top/bg_city02.jpg) no-repeat top center;
  background-size: cover;
}
.area_intro .area_intro_content {
  border: 4px solid #9fd0f1;
  border-radius: 10px;
  padding: 2.6% 3.6% 3.6%;
}
.area_intro .ttl_left_border {
  width: 100%;
  border-color: rgba(0, 71, 145, 0.3);
  margin-bottom: 1em;
}
.area_intro img {
  width: 43.2%;
}
.area_intro .txt_box {
  width: 53.5%;
}

@media only screen and (max-width: 568px) {
  .area_intro {
    background: url(../img/top/bg_city_sp02.jpg) no-repeat top center;
    background-size: cover;
  }
  .area_intro .area_intro_content {
    flex-direction: column;
    border-width: 2px;
    padding: 4% 6% 4.5%;
  }
  .area_intro .ttl_left_border {
    margin-bottom: 0.75em;
  }
  .area_intro img {
    width: 100%;
    margin-bottom: 4%;
  }
  .area_intro .txt_box {
    width: 100%;
  }
}
/*===============================================
 *	下層ヘッダー・見出し
===============================================*/
.page_ttl_area {
  background: url(../img/common/bg_page_header.jpg) no-repeat center;
  background-size: cover;
  padding: min(7.5vw, 120px) 0 min(5.5vw, 80px);
  text-align: center;
}

.page_ttl_area .page_ttl {
  font-size: min(3.5vw, 48px);
  display: inline;
  line-height: 1.75;
}

.page_ttl_area .page_ttl span.poppins {
  font-size: 0.7em;
  color: #ffff00;
  display: block;
}

.page_ttl_area .page_ttl .bg_blue {
  background: var(--site-primary);
  padding: 0.15em 0.75em;
  margin-top: 10px;
  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.page_ttl_area .page_ttl .en {
  font-size: 0.7em;
  font-family: "Roboto";
  color: #ffff00;
  display: block;
}

@media only screen and (max-width: 568px) {
  .page_ttl_area {
    background: url(../img/common/bg_page_header_sp.jpg) no-repeat center;
    background-size: cover;
    padding: 35px 0 25px;
  }
  .page_ttl_area .page_ttl {
    font-size: 24px;
    line-height: 1.9;
  }
  .page_ttl_area .page_ttl .en {
    font-size: 0.75em;
  }
  .page_ttl_area .page_ttl span.poppins {
    font-size: 18px;
  }
}
/*===============================================
 *	下層ページ イントロセクション
===============================================*/
.intro_content {
  padding-bottom: clamp(40px, 4.8vw, 60px);
}

.ttl_top_bar {
  font-size: clamp(22px, 3.5vw, 42px);
  position: relative;
  padding-top: 30px;
  margin-bottom: 0.75em;
}
.ttl_top_bar span {
  color: var(--site-secondary);
}

.ttl_top_bar::after {
  content: "";
  background: linear-gradient(90deg, #0081cc 0% 50%, #004791 50%);
  background-size: contain;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 90px;
  height: 8px;
}

@media only screen and (max-width: 568px) {
  .ttl_top_bar {
    padding-top: 20px;
  }
  .ttl_top_bar::after {
    width: 60px;
    height: 5px;
  }
}
/*===============================================
 *	パンくず
===============================================*/
@font-face {
  font-family: "icon";
  src: url("../fonts/icon.eot?n1r1w2");
  src: url("../fonts/icon.eot?n1r1w2#iefix") format("embedded-opentype"), url("../fonts/icon.ttf?n1r1w2") format("truetype"), url("../fonts/icon.woff?n1r1w2") format("woff"), url("../fonts/icon.svg?n1r1w2#icon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.breadcrumbs_box {
  margin: 10px 0 30px;
}

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

.breadcrumbs_box a {
  font-weight: 500;
  color: var(--site-secondary);
}

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

.iconarrow_right::before {
  content: "\e900";
  color: var(--site-secondary);
  font-weight: 900;
}

.top_intro_before .breadcrumbs_box {
  max-width: 1300px;
  margin: 25px auto 0;
  width: 95%;
}


@media only screen and (max-width: 568px) {
  .breadcrumbs_box {
    display: none;
  }
}/*# sourceMappingURL=common.css.map */